Построить график функции Точки разрыва функции Построение графика методом дифференциального исчисления Упростить выражение
Примеры решений Метод Гомори Симплекс-метод Метод Фогеля
Транспортная задача Задача о назначениях Распределительный метод
Метод потенциалов Задача коммивояжера Открытые и закрытые задачи

Двойственная транспортная задача

Математическая модель транспортной задачи:
F = ∑∑cijxij,    (1)
при условиях:
∑xij = ai,  i = 1,2,…, m,   (2)
∑xij = bj,  j = 1,2,…, n,   (3)
С целью составления двойственной задачи переменные xij в условии (2) заменим на u1, u2, ui,.., um, а переменные xij в условия (3) на v1, v2, vj,.., vn.
Поскольку каждая переменная xij входит в условия (2,3) и целевую функцию (1) по одному разу, то двойственную задачу по отношению к прямой транспортной задаче можно сформулировать следующим образом.
Требуется найти не отрицательные числа ui (при i  = 1,2,…,m) и vj (при j = 1,2,..,n), обращающие в максимум целевую функцию
G = ∑aiui + ∑bjvj
при условии
ui + vj ≤ cij, i = 1,2,..,m; j = 1,2,..,n    (4)
В систему условий (4) будет mxn неравенств. По теории двойственности для оптимальных планов прямой и двойственной задачи для всех i,j должно быть:
ui + vj ≤ cij, если xij = 0,
ui + vj = cij, если xij ≥ 0,
Эти условия являются необходимыми и достаточными признаками оптимальности плана транспортной задачи.
Числа ui , vj называются потенциалами. Причем число ui называется потенциалом поставщика, а число vj – потенциалом потребителя.
По первой теореме двойственности в оптимальном решении значения целевых функций прямой и двойственных задач совпадают: F = G.
Стоимость доставки единицы груза из каждого пункта отправления в соответствующие пункты назначения задана матрицей тарифов
  1 2 3 4 Запасы
1 5 2 4 9 2720
2 2 3 5 7 3180
3 8 1 3 6 3000
Потребности 1070 2930 2360 2640  

Проверим необходимое и достаточное условие разрешимости задачи.
∑a = 2720 + 3180 + 3000 = 8900
∑b = 1070 + 2930 + 2360 + 2640 = 9000
Как видно, суммарная потребность груза в пунктах назначения меньше запасов груза на базах. Следовательно, модель исходной транспортной задачи является открытой. Чтобы получить закрытую модель, введем дополнительную (фиктивную) потребность, равным 100 (9000—8900). Тарифы перевозки единицы груза из базы во все магазины полагаем равны нулю.
Занесем исходные данные в распределительную таблицу.
  1 2 3 4 Запасы
1 5 2 4 9 2720
2 2 3 5 7 3180
3 8 1 3 6 3000
4 0 0 0 0 100
Потребности 1070 2930 2360 2640  

Этап I. Поиск первого опорного плана.
1. Используя метод северо-западного угла, построим первый опорный план транспортной задачи.
План начинается заполняться с верхнего левого угла.
Искомый элемент равен 5
Для этого элемента запасы равны 2720, потребности 1070. Поскольку минимальным является 1070, то вычитаем его.
x11 = min(2720,1070) = 1070.
5 2 4 9 2720 - 1070 = 1650
x 3 5 7 3180
x 1 3 6 3000
x 0 0 0 100
1070 - 1070 = 0 2930 2360 2640 0

Искомый элемент равен 2
Для этого элемента запасы равны 1650, потребности 2930. Поскольку минимальным является 1650, то вычитаем его.
x12 = min(1650,2930) = 1650.
5 2 x x 1650 - 1650 = 0
x 3 5 7 3180
x 1 3 6 3000
x 0 0 0 100
0 2930 - 1650 = 1280 2360 2640 0

Искомый элемент равен 3
Для этого элемента запасы равны 3180, потребности 1280. Поскольку минимальным является 1280, то вычитаем его.
x22 = min(3180,1280) = 1280.
5 2 x x 0
x 3 5 7 3180 - 1280 = 1900
x x 3 6 3000
x x 0 0 100
0 1280 - 1280 = 0 2360 2640 0

Искомый элемент равен 5
Для этого элемента запасы равны 1900, потребности 2360. Поскольку минимальным является 1900, то вычитаем его.
x23= min(1900,2360) = 1900.
5 2 x x 0
x 3 5 x 1900 - 1900 = 0
x x 3 6 3000
x x 0 0 100
0 0 2360 - 1900 = 460 2640 0

Посмотреть все итерации
В результате получен первый опорный план, который является допустимым, так как все грузы из баз вывезены, потребность магазинов удовлетворена, а план соответствует системе ограничений транспортной задачи.
2. Подсчитаем число занятых клеток таблицы, их 7, а должно быть m + n - 1 = 7. Следовательно, опорный план является невырожденным.
Значение целевой функции для этого опорного плана равно: F(x) = 5*1070 + 2*1650 + 3*1280 + 5*1900 + 3*460 + 6*2540 + 0*100  = 38610

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

v1=5 v2=2 v3=4 v4=7
u1=0 5[1070] 2[1650] 4 9
u2=1 2 3[1280] 5[1900] 7
u3=-1 8 1 3[460] 6[2540]
u4=-7 0 0 0 0[100]

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui+ vj> cij
(2;1): 1 + 5 > 2; ∆21= 1 + 5 - 2 = 4
(2;4): 1 + 7 > 7; ∆24= 1 + 7 - 7 = 1
max(4,1) = 4
Выбираем максимальную оценку свободной клетки (2;1): 2
Для этого в перспективную клетку (2;1) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
1 2 3 4 Запасы
1 5[1070][-] 2[1650][+] 4 9 2720
2 2[+] 3[1280][-] 5[1900] 7 3180
3 8 1 3[460] 6[2540] 3000
4 0 0 0 0[100] 100
Потребности 1070 2930 2360 2640

Цикл приведен в таблице (2,1; 2,2; 1,2; 1,1; ).
Из грузов хijстоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 1) = 1070. Прибавляем 1070 к объемам грузов, стоящих в плюсовых клетках и вычитаем 1070 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
1 2 3 4 Запасы
1 5 2[2720] 4 9 2720
2 2[1070] 3[210] 5[1900] 7 3180
3 8 1 3[460] 6[2540] 3000
4 0 0 0 0[100] 100
Потребности 1070 2930 2360 2640

Проверим оптимальность опорного плана. Найдем предварительные потенциалыui, vj. по занятым клеткам таблицы, в которых ui+ vj= cij, полагая, что u1= 0.
u1+ v2= 2; 0 + v2= 2; v2= 2
u2+ v2= 3; 2 + u2= 3; u2= 1
u2+ v1= 2; 1 + v1= 2; v1= 1
u2+ v3= 5; 1 + v3= 5; v3= 4
u3+ v3= 3; 4 + u3= 3; u3= -1
u3+ v4= 6; -1 + v4= 6; v4= 7
u4+ v4= 0; 7 + u4= 0; u4= -7
v1=1 v2=2 v3=4 v4=7
u1=0 5 2[2720] 4 9
u2=1 2[1070] 3[210] 5[1900] 7
u3=-1 8 1 3[460] 6[2540]
u4=-7 0 0 0 0[100]

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui+ vj> cij
(2;4): 1 + 7 > 7; ∆24= 1 + 7 - 7 = 1
Выбираем максимальную оценку свободной клетки (2;4): 7
Для этого в перспективную клетку (2;4) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
1 2 3 4 Запасы
1 5 2[2720] 4 9 2720
2 2[1070] 3[210] 5[1900][-] 7[+] 3180
3 8 1 3[460][+] 6[2540][-] 3000
4 0 0 0 0[100] 100
Потребности 1070 2930 2360 2640

Цикл приведен в таблице (2,4; 2,3; 3,3; 3,4; ).
Из грузов хijстоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (2, 3) = 1900. Прибавляем 1900 к объемам грузов, стоящих в плюсовых клетках и вычитаем 1900 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
1 2 3 4 Запасы
1 5 2[2720] 4 9 2720
2 2[1070] 3[210] 5 7[1900] 3180
3 8 1 3[2360] 6[640] 3000
4 0 0 0 0[100] 100
Потребности 1070 2930 2360 2640

Посмотреть все итерации
Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui+ vj<= cij.
Минимальные затраты составят: F(x) = 2*2720 + 2*1070 + 7*2110 + 1*210 + 3*2360 + 6*430 + 0*100  = 32220
Проверим оптимальность найденного плана по первой теореме двойственности (в оптимальном решении значения целевых функций прямой и двойственных задач совпадают: F = G).
G = 0•2720 + 0•3180 + (-1)•3000 + (-7)•100 + 2•1070 + 2•2930 + 4•2360 + 7•2640  = 32220

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

12345Запасы
12 58 43 185
256259225
33 24 36 215
Потребности10590140160120
Решение. Проверим необходимое и достаточное условие разрешимости задачи.
∑a = 185 + 225 + 215 = 625
∑b = 105 + 90 + 140 + 160 + 120 = 615
Как видно, суммарная потребность груза в пунктах назначения превышает запасы груза на базах. Следовательно, модель исходной транспортной задачи является открытой. Чтобы получить закрытую модель, введем дополнительную (фиктивную) базу с запасом груза, равным 10 (625—615). Тарифы перевозки единицы груза из базы во все магазины полагаем равны нулю.
Занесем исходные данные в распределительную таблицу.
123456Запасы
1 25 84 30 185
2562590225
3 32 43 60 215
Потребности1059014016012010
Этап I. Поиск первого опорного плана.
1. Используя метод наименьшей стоимости, построим первый опорный план транспортной задачи.
Суть метода заключается в том, что из всей таблицы стоимостей выбирают наименьшую, и в клетку, которая ей соответствует, помещают меньшее из чисел ai, или bj.
Затем, из рассмотрения исключают либо строку, соответствующую поставщику, запасы которого полностью израсходованы, либо столбец, соответствующий потребителю, потребности которого полностью удовлетворены, либо и строку и столбец, если израсходованы запасы поставщика и удовлетворены потребности потребителя.
Из оставшейся части таблицы стоимостей снова выбирают наименьшую стоимость, и процесс распределения запасов продолжают, пока все запасы не будут распределены, а потребности удовлетворены.
Искомый элемент равен 2.
Для этого элемента запасы равны 185, потребности 105. Поскольку минимальным является 105, то вычитаем его.
x11= min(185,105) = 105.
258430185 - 105 = 80
x6 25 90 225
x24360215
105 - 105 = 090 140160 12010 0

Искомый элемент равен 2.
Для этого элемента запасы равны 225, потребности 140. Поскольку минимальным является 140, то вычитаем его.
x23= min(225,140) = 140.
25x43080
x6 25 90 225 - 140 = 85
x2x360215
090 140 - 140 = 0160 12010 0

Искомый элемент равен 2.
Для этого элемента запасы равны 215, потребности 90. Поскольку минимальным является 90, то вычитаем его.
x32= min(215,90) = 90.
2xx43080
xx 25 90 85
x2x360215 - 90 = 125
090 - 90 = 0 0160 12010 0

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

2

x

x

x

3

x

80 - 80 = 0

x

x

2

5

9

0

85

x

2

x

3

6

0

125

0

0

0

160

120 - 80 = 40

10

0

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

2

x

x

x

3

x

0

x

x

2

5

9

0

85

x

2

x

3

x

x

125 - 125 = 0

0

0

0

160 - 125 = 35

40

10

0

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

2

x

x

x

3

x

0

x

x

2

5

9

0

85 - 35 = 50

x

2

x

3

x

x

0

0

0

0

35 - 35 = 0

40

10

0

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

2

x

x

x

3

x

0

x

x

2

5

9

0

50 - 40 = 10

x

2

x

3

x

x

0

0

0

0

0

40 - 40 = 0

10

0

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

2

x

x

x

3

x

0

x

x

2

5

9

0

10 - 10 = 0

x

2

x

3

x

x

0

0

0

0

0

0

10 - 10 = 0

0
123456Запасы
1 2[105]5 84 3[80]0 185
2562[140]5[35]9[40]0[10]225
3 32[90] 43[125] 60 215
Потребности1059014016012010

В результате получен первый опорный план, который является допустимым, так как все грузы из баз вывезены, потребность магазинов удовлетворена, а план соответствует системе ограничений транспортной задачи.
2. Подсчитаем число занятых клеток таблицы, их 8, а должно быть m + n - 1 = 8. Следовательно, опорный план является невырожденным.
Значение целевой функции для этого опорного плана равно: F(x) = 2*105 + 3*80 + 2*140 + 5*35 + 9*40 + 0*10 + 2*90 + 3*125  = 1820

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

v1=2v2=-2v3=-44=-1v5=3
v6=-6
u1=02[105] 58 43[80] 0
u2=6562[140]5[35]9[40]0[10]
u3=43 2[90]4 3[125]6 0

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


1

2

3

4

5

6

Запасы

1

2[105][-]

5

8

4

3[80][+]

0

185

2

5[+]

6

2[140]

5[35]

9[40][-]

0[10]

225

3

3

2[90]

4

3[125]

6

0

215

Потребности

105

90

140

160

120

10


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


1

2

3

4

5

6

Запасы

1

2[65]

5

8

4

3[120]

0

185

2

5[40]

6

2[140]

5[35]

9

0[10]

225

3

3

2[90]

4

3[125]

6

0

215

Потребности

105

90

140

160

120

10


Проверим оптимальность опорного плана. Найдем предварительные потенциалыui, vj. по занятым клеткам таблицы, в которых ui+ vj= cij, полагая, что u1= 0.
u1+ v1= 2; 0 + v1= 2; v1= 2
u2+ v1= 5; 2 + u2= 5; u2= 3
u2+ v3= 2; 3 + v3= 2; v3= -1
u2+ v4= 5; 3 + v4= 5; v4= 2
u3+ v4= 3; 2 + u3= 3; u3= 1
u3+ v2= 2; 1 + v2= 2; v2= 1
u2+ v6= 0; 3 + v6= 0; v6= -3
u1+ v5= 3; 0 + v5= 3; v5= 3
v1=2v2=1v3=-1v4=25=3v6=-3
u1=02[65] 58 43[120] 0
u2=35[40]62[140]5[35]90[10]
u3=13 2[90]4 3[125]6 0

Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vj <= cij.
Минимальные затраты составят:
F(x) = 2*65 + 3*120 + 5*40 + 2*140 + 5*35 + 0*10 + 2*90 + 3*125  = 1700

Проверим оптимальность найденного плана по первой теореме двойственности (в оптимальном решении значения целевых функций прямой и двойственных задач совпадают: F = G).
G = 0•185 + 3•225 + 1•215 + 2•105 + 1•90 + -1•140 + 2•160 + 3•120 + -3•10  = 1700