Здавалка
Главная | Обратная связь

Расстояние от полей до ферм, км



Поля Фермы
1-я 2-я 3-я 4-я
1-е 2-е 3-е 4-е 5-е

 

Составить такой план перевозок, чтобы общие транспортные затраты были минимальными.

Требуется задачу решить вручную методом потенциалов.
Стоимость доставки единицы груза из каждого пункта отправления в соответствующие пункты назначения задана матрицей тарифов

 

  Запасы
Потребности  


Проверим необходимое и достаточное условие разрешимости задачи.
∑a = 600 + 800 + 1000 + 1200 + 400 = 4000
∑b = 800 + 1600 + 1000 + 600 = 4000
Условие баланса соблюдается. Запасы равны потребностям. Следовательно, модель транспортной задачи является закрытой.
Занесем исходные данные в распределительную таблицу.

 

  Запасы
Потребности  


Этап I. Поиск первого опорного плана.
1. Используя метод наименьшей стоимости, построим первый опорный план транспортной задачи.
Суть метода заключается в том, что из всей таблицы стоимостей выбирают наименьшую, и в клетку, которая ей соответствует, помещают меньшее из чисел ai, или bj.
Затем, из рассмотрения исключают либо строку, соответствующую поставщику, запасы которого полностью израсходованы, либо столбец, соответствующий потребителю, потребности которого полностью удовлетворены, либо и строку и столбец, если израсходованы запасы поставщика и удовлетворены потребности потребителя.
Из оставшейся части таблицы стоимостей снова выбирают наименьшую стоимость, и процесс распределения запасов продолжают, пока все запасы не будут распределены, а потребности удовлетворены.
Искомый элемент равен 1
Для этого элемента запасы равны 1000, потребности 1600. Поскольку минимальным является 1000, то вычитаем его.
x32 = min(1000,1600) = 1000.

 

x x x 1000 - 1000 = 0
1600 - 1000 = 600

 

Искомый элемент равен 2
Для этого элемента запасы равны 600, потребности 1000. Поскольку минимальным является 600, то вычитаем его.
x13 = min(600,1000) = 600.

 

x x x 600 - 600 = 0
x x x
1000 - 600 = 400

 

Искомый элемент равен 2
Для этого элемента запасы равны 1200, потребности 600. Поскольку минимальным является 600, то вычитаем его.
x42 = min(1200,600) = 600.

 

x x x
x
x x x
1200 - 600 = 600
600 - 600 = 0

 

Искомый элемент равен 2
Для этого элемента запасы равны 600, потребности 400. Поскольку минимальным является 400, то вычитаем его.
x43 = min(600,400) = 400.

x x x
x x
x x x
600 - 400 = 200
400 - 400 = 0

Искомый элемент равен 4
Для этого элемента запасы равны 200, потребности 600. Поскольку минимальным является 200, то вычитаем его.
x44 = min(200,600) = 200.

 

x x x
x x
x x x
x 200 - 200 = 0
600 - 200 = 400


Искомый элемент равен 4
Для этого элемента запасы равны 400, потребности 400. Поскольку минимальным является 400, то вычитаем его.
x54 = min(400,400) = 400.

 

x x x
x x x
x x x
x
x 400 - 400 = 0
400 - 400 = 0


Искомый элемент равен 9
Для этого элемента запасы равны 800, потребности 800. Поскольку минимальным является 800, то вычитаем его.
x21 = min(800,800) = 800.

x x x
x x x 800 - 800 = 0
x x x
x
x
800 - 800 = 0

 

  Запасы
2[600]
9[800]
1[1000]
2[600] 2[400] 4[200]
4[400]
Потребности  


2. Подсчитаем число занятых клеток таблицы, их 7, а должно быть m + n - 1 = 8. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
F(x) = 2*600 + 9*800 + 1*1000 + 2*600 + 2*400 + 4*200 + 4*400 = 13800
Искомый элемент равен 2
Для этого элемента запасы равны 600, потребности 1000. Поскольку минимальным является 600, то вычитаем его.
x13 = min(600,1000) = 600.

 

x x x 600 - 600 = 0
1000 - 600 = 400

 

Искомый элемент равен 1
Для этого элемента запасы равны 1000, потребности 1600. Поскольку минимальным является 1000, то вычитаем его.
x32 = min(1000,1600) = 1000.

 

x x x
x x x 1000 - 1000 = 0
1600 - 1000 = 600

 

Искомый элемент равен 2
Для этого элемента запасы равны 1200, потребности 600. Поскольку минимальным является 600, то вычитаем его.
x42 = min(1200,600) = 600.

 

 

x x x
x
x x x
1200 - 600 = 600
600 - 600 = 0

 

Искомый элемент равен 2
Для этого элемента запасы равны 600, потребности 400. Поскольку минимальным является 400, то вычитаем его.
x43 = min(600,400) = 400.

 

x x x
x x
x x x
600 - 400 = 200
400 - 400 = 0

Искомый элемент равен 4
Для этого элемента запасы равны 200, потребности 600. Поскольку минимальным является 200, то вычитаем его.
x44 = min(200,600) = 200.

 

x x x
x x
x x x
x 200 - 200 = 0
600 - 200 = 400

Искомый элемент равен 4
Для этого элемента запасы равны 400, потребности 400. Поскольку минимальным является 400, то вычитаем его.
x54 = min(400,400) = 400.

 

x x x
x x x
x x x
x
x 400 - 400 = 0
400 - 400 = 0

Искомый элемент равен 9
Для этого элемента запасы равны 800, потребности 800. Поскольку минимальным является 800, то вычитаем его.
x21 = min(800,800) = 800.

 

x x x
x x x 800 - 800 = 0
x x x
x
x
800 - 800 = 0

 

  Запасы
2[600]
9[800]
1[1000]
2[600] 2[400] 4[200]
4[400]
Потребности  

2. Подсчитаем число занятых клеток таблицы, их 7, а должно быть m + n - 1 = 8. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
F(x) = 2*600 + 9*800 + 1*1000 + 2*600 + 2*400 + 4*200 + 4*400 = 13800
Искомый элемент равен 2
Для этого элемента запасы равны 600, потребности 600. Поскольку минимальным является 600, то вычитаем его.
x14 = min(600,600) = 600.

x x x 600 - 600 = 0
x
x
x
600 - 600 = 0

Искомый элемент равен 1
Для этого элемента запасы равны 1000, потребности 1600. Поскольку минимальным является 1000, то вычитаем его.
x32 = min(1000,1600) = 1000.

x x x
x
x x x 1000 - 1000 = 0
x
1600 - 1000 = 600

Искомый элемент равен 2
Для этого элемента запасы равны 1200, потребности 600. Поскольку минимальным является 600, то вычитаем его.
x42 = min(1200,600) = 600.

x x x
x x
x x x
x 1200 - 600 = 600
600 - 600 = 0

Искомый элемент равен 2
Для этого элемента запасы равны 600, потребности 1000. Поскольку минимальным является 600, то вычитаем его.
x43 = min(600,1000) = 600.

 

x x x
x x
x x x
x x 600 - 600 = 0
1000 - 600 = 400


Искомый элемент равен 3
Для этого элемента запасы равны 400, потребности 400. Поскольку минимальным является 400, то вычитаем его.
x53 = min(400,400) = 400.

 

x x x
x x x
x x x
x x
x 400 - 400 = 0
400 - 400 = 0

Искомый элемент равен 9
Для этого элемента запасы равны 800, потребности 800. Поскольку минимальным является 800, то вычитаем его.
x21 = min(800,800) = 800.

 

x x x
x x x 800 - 800 = 0
x x x
x x
x
800 - 800 = 0

 

  Запасы
2[600]
9[800]
1[1000]
2[600] 2[600]
3[400]
Потребности  


2. Подсчитаем число занятых клеток таблицы, их 6, а должно быть m + n - 1 = 8. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
F(x) = 2*600 + 9*800 + 1*1000 + 2*600 + 2*600 + 3*400 = 13000
Искомый элемент равен 2
Для этого элемента запасы равны 1200, потребности 1600. Поскольку минимальным является 1200, то вычитаем его.
x42 = min(1200,1600) = 1200.

 

x x x 1200 - 1200 = 0
1600 - 1200 = 400

 

Искомый элемент равен 1
Для этого элемента запасы равны 1000, потребности 400. Поскольку минимальным является 400, то вычитаем его.
x32 = min(1000,400) = 400.

 

x
x
1000 - 400 = 600
x x x
400 - 400 = 0

 

Искомый элемент равен 2
Для этого элемента запасы равны 600, потребности 1000. Поскольку минимальным является 600, то вычитаем его.
x13 = min(600,1000) = 600.

 

x x x 600 - 600 = 0
x
x x x
1000 - 600 = 400

 


Искомый элемент равен 3
Для этого элемента запасы равны 400, потребности 400. Поскольку минимальным является 400, то вычитаем его.
x53 = min(400,400) = 400.

 

x x x
x x
x
x x x
x x 400 - 400 = 0
400 - 400 = 0


Искомый элемент равен 5
Для этого элемента запасы равны 600, потребности 600. Поскольку минимальным является 600, то вычитаем его.
x34 = min(600,600) = 600.

 

x x x
x x x
x x 600 - 600 = 0
x x x
x x
600 - 600 = 0

Искомый элемент равен 9
Для этого элемента запасы равны 800, потребности 800. Поскольку минимальным является 800, то вычитаем его.
x21 = min(800,800) = 800.

 

x x x
x x x 800 - 800 = 0
x x
x x x
x x
800 - 800 = 0

 

  Запасы
2[600]
9[800]
1[400] 5[600]
2[1200]
3[400]
Потребности  


2. Подсчитаем число занятых клеток таблицы, их 6, а должно быть m + n - 1 = 8. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
F(x) = 2*600 + 9*800 + 1*400 + 5*600 + 2*1200 + 3*400 = 15400
Искомый элемент равен 2
Для этого элемента запасы равны 1200, потребности 1000. Поскольку минимальным является 1000, то вычитаем его.
x43 = min(1200,1000) = 1000.

 

x
x
x
1200 - 1000 = 200
1000 - 1000 = 0

 

Искомый элемент равен 1
Для этого элемента запасы равны 1000, потребности 1600. Поскольку минимальным является 1000, то вычитаем его.
x32 = min(1000,1600) = 1000.

 

x
x
x x x 1000 - 1000 = 0
1600 - 1000 = 600

 

Искомый элемент равен 2
Для этого элемента запасы равны 600, потребности 600. Поскольку минимальным является 600, то вычитаем его.
x14 = min(600,600) = 600.

 

x x x 600 - 600 = 0
x x
x x x
x
600 - 600 = 0

 


Искомый элемент равен 2
Для этого элемента запасы равны 200, потребности 600. Поскольку минимальным является 200, то вычитаем его.
x42 = min(200,600) = 200.

 

x x x
x x
x x x
x x 200 - 200 = 0
600 - 200 = 400


Искомый элемент равен 4
Для этого элемента запасы равны 400, потребности 400. Поскольку минимальным является 400, то вычитаем его.
x52 = min(400,400) = 400.

 

x x x
x x x
x x x
x x
x 400 - 400 = 0
400 - 400 = 0

Искомый элемент равен 9
Для этого элемента запасы равны 800, потребности 800. Поскольку минимальным является 800, то вычитаем его.
x21 = min(800,800) = 800.

 

x x x
x x x 800 - 800 = 0
x x x
x x
x
800 - 800 = 0

 

  Запасы
2[600]
9[800]
1[1000]
2[200] 2[1000]
4[400]
Потребности  


2. Подсчитаем число занятых клеток таблицы, их 6, а должно быть m + n - 1 = 8. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
F(x) = 2*600 + 9*800 + 1*1000 + 2*200 + 2*1000 + 4*400 = 13400
Искомый элемент равен 3
Для этого элемента запасы равны 400, потребности 1000. Поскольку минимальным является 400, то вычитаем его.
x53 = min(400,1000) = 400.

 

x x x 400 - 400 = 0
1000 - 400 = 600

 

Искомый элемент равен 1
Для этого элемента запасы равны 1000, потребности 1600. Поскольку минимальным является 1000, то вычитаем его.
x32 = min(1000,1600) = 1000.

 

x x x 1000 - 1000 = 0
x x x
1600 - 1000 = 600

 

Искомый элемент равен 2
Для этого элемента запасы равны 600, потребности 600. Поскольку минимальным является 600, то вычитаем его.
x13 = min(600,600) = 600.

 

x x x 600 - 600 = 0
x
x x x
x
x x x
600 - 600 = 0

 


Искомый элемент равен 2
Для этого элемента запасы равны 1200, потребности 600. Поскольку минимальным является 600, то вычитаем его.
x42 = min(1200,600) = 600.

 

x x x
x x
x x x
x 1200 - 600 = 600
x x x
600 - 600 = 0


Искомый элемент равен 4
Для этого элемента запасы равны 600, потребности 600. Поскольку минимальным является 600, то вычитаем его.
x44 = min(600,600) = 600.

 

x x x
x x x
x x x
x x 600 - 600 = 0
x x x
600 - 600 = 0

Искомый элемент равен 9
Для этого элемента запасы равны 800, потребности 800. Поскольку минимальным является 800, то вычитаем его.
x21 = min(800,800) = 800.

 

x x x
x x x 800 - 800 = 0
x x x
x x
x x x
800 - 800 = 0

 

  Запасы
2[600]
9[800]
1[1000]
2[600] 4[600]
3[400]
Потребности  


2. Подсчитаем число занятых клеток таблицы, их 6, а должно быть m + n - 1 = 8. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
F(x) = 2*600 + 9*800 + 1*1000 + 2*600 + 4*600 + 3*400 = 14200
Искомый элемент равен 4
Для этого элемента запасы равны 800, потребности 1000. Поскольку минимальным является 800, то вычитаем его.
x23 = min(800,1000) = 800.

 

x x x 800 - 800 = 0
1000 - 800 = 200

 

Искомый элемент равен 1
Для этого элемента запасы равны 1000, потребности 1600. Поскольку минимальным является 1000, то вычитаем его.
x32 = min(1000,1600) = 1000.

 

x x x
x x x 1000 - 1000 = 0
1600 - 1000 = 600

 

Искомый элемент равен 2
Для этого элемента запасы равны 600, потребности 200. Поскольку минимальным является 200, то вычитаем его.
x13 = min(600,200) = 200.

 

600 - 200 = 400
x x x
x x x
x
200 - 200 = 0

 


Искомый элемент равен 2
Для этого элемента запасы равны 400, потребности 600. Поскольку минимальным является 400, то вычитаем его.
x14 = min(400,600) = 400.

 

x x 400 - 400 = 0
x x x
x x x
x
600 - 400 = 200


Искомый элемент равен 2
Для этого элемента запасы равны 1200, потребности 600. Поскольку минимальным является 600, то вычитаем его.
x42 = min(1200,600) = 600.

 

x x
x x x
x x x
x 1200 - 600 = 600
600 - 600 = 0

Искомый элемент равен 4
Для этого элемента запасы равны 600, потребности 200. Поскольку минимальным является 200, то вычитаем его.
x44 = min(600,200) = 200.

x x
x x x
x x x
x 600 - 200 = 400
200 - 200 = 0

Искомый элемент равен 5
Для этого элемента запасы равны 400, потребности 800. Поскольку минимальным является 400, то вычитаем его.
x41 = min(400,800) = 400.

 

x x
x x x
x x x
x 400 - 400 = 0
800 - 400 = 400

Искомый элемент равен 6
Для этого элемента запасы равны 400, потребности 400. Поскольку минимальным является 400, то вычитаем его.
x51 = min(400,400) = 400.

 

x x
x x x
x x x
x
400 - 400 = 0
400 - 400 = 0

 

  Запасы
2[200] 2[400]
4[800]
1[1000]
5[400] 2[600] 4[200]
6[400]
Потребности  

В результате получен первый опорный план, который является допустимым, так как все грузы из баз вывезены, потребность магазинов удовлетворена, а план соответствует системе ограничений транспортной задачи.
2. Подсчитаем число занятых клеток таблицы, их 8, а должно быть m + n - 1 = 8. Следовательно, опорный план является невырожденным.
Значение целевой функции для этого опорного плана равно:
F(x) = 2*200 + 2*400 + 4*800 + 1*1000 + 5*400 + 2*600 + 4*200 + 6*400 = 11800
Этап II. Улучшение опорного плана.
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v3 = 2; 0 + v3 = 2; v3 = 2
u2 + v3 = 4; 2 + u2 = 4; u2 = 2
u1 + v4 = 2; 0 + v4 = 2; v4 = 2
u4 + v4 = 4; 2 + u4 = 4; u4 = 2
u4 + v1 = 5; 2 + v1 = 5; v1 = 3
u5 + v1 = 6; 3 + u5 = 6; u5 = 3
u4 + v2 = 2; 2 + v2 = 2; v2 = 0
u3 + v2 = 1; 0 + u3 = 1; u3 = 1

 

  v1=3 v2=0 v3=2 v4=2
u1=0 2[200] 2[400]
u2=2 4[800]
u3=1 1[1000]
u4=2 5[400] 2[600] 4[200]
u5=3 6[400]

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij
(4;3): 2 + 2 > 2; ∆43 = 2 + 2 - 2 = 2
(5;3): 3 + 2 > 3; ∆53 = 3 + 2 - 3 = 2
(5;4): 3 + 2 > 4; ∆54 = 3 + 2 - 4 = 1
max(2,2,1) = 2
Выбираем максимальную оценку свободной клетки (4;3): 2
Для этого в перспективную клетку (4;3) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

 

  Запасы
2[200][-] 2[400][+]
4[800]
1[1000]
5[400] 2[600] 2[+] 4[200][-]
6[400]
Потребности  

Цикл приведен в таблице (4,3 → 4,4 → 1,4 → 1,3).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 3) = 200. Прибавляем 200 к объемам грузов, стоящих в плюсовых клетках и вычитаем 200 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.

  Запасы
2[600]
4[800]
1[1000]
5[400] 2[600] 2[200] 4[0]
6[400]
Потребности  

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v4 = 2; 0 + v4 = 2; v4 = 2
u4 + v4 = 4; 2 + u4 = 4; u4 = 2
u4 + v1 = 5; 2 + v1 = 5; v1 = 3
u5 + v1 = 6; 3 + u5 = 6; u5 = 3
u4 + v2 = 2; 2 + v2 = 2; v2 = 0
u3 + v2 = 1; 0 + u3 = 1; u3 = 1
u4 + v3 = 2; 2 + v3 = 2; v3 = 0
u2 + v3 = 4; 0 + u2 = 4; u2 = 4

 

  v1=3 v2=0 v3=0 v4=2
u1=0 2[600]
u2=4 4[800]
u3=1 1[1000]
u4=2 5[400] 2[600] 2[200] 4[0]
u5=3 6[400]

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij
(5;4): 3 + 2 > 4; ∆54 = 3 + 2 - 4 = 1
Выбираем максимальную оценку свободной клетки (5;4): 4
Для этого в перспективную клетку (5;4) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

 

  Запасы
2[600]
4[800]
1[1000]
5[400][+] 2[600] 2[200] 4[0][-]
6[400][-] 4[+]
Потребности  

Цикл приведен в таблице (5,4 → 5,1 → 4,1 → 4,4).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (4, 4) = 0. Прибавляем 0 к объемам грузов, стоящих в плюсовых клетках и вычитаем 0 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.

 

  Запасы
2[600]
4[800]
1[1000]
5[400] 2[600] 2[200]
6[400] 4[0]
Потребности  


Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v4 = 2; 0 + v4 = 2; v4 = 2
u5 + v4 = 4; 2 + u5 = 4; u5 = 2
u5 + v1 = 6; 2 + v1 = 6; v1 = 4
u4 + v1 = 5; 4 + u4 = 5; u4 = 1
u4 + v2 = 2; 1 + v2 = 2; v2 = 1
u3 + v2 = 1; 1 + u3 = 1; u3 = 0
u4 + v3 = 2; 1 + v3 = 2; v3 = 1
u2 + v3 = 4; 1 + u2 = 4; u2 = 3

 

  v1=4 v2=1 v3=1 v4=2
u1=0 2[600]
u2=3 4[800]
u3=0 1[1000]
u4=1 5[400] 2[600] 2[200]
u5=2 6[400] 4[0]


Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vj <= cij.
Минимальные затраты составят:
F(x) = 2*600 + 4*800 + 1*1000 + 5*400 + 2*600 + 2*200 + 6*400 = 11400
Анализ оптимального плана.
Из 1-го склада необходимо весь груз направить в 4-й магазин
Из 2-го склада необходимо весь груз направить в 3-й магазин
Из 3-го склада необходимо весь груз направить в 2-й магазин
Из 4-го склада необходимо груз направить в 1-й магазин (400), в 2-й магазин (600), в 3-й магазин (200)
Из 5-го склада необходимо весь груз направить в 1-й магазин
Задача имеет множество оптимальных планов, поскольку оценка для (5;4) равна 0.

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.