На максимум северо-запад. метод.

Возвращаемся к плану №7
Для получения невырожденного плана принудительно добавляем нуль [0] в клетку (1;3);

 
11[10] 16[6] 20[0]
8[3] 2[20]
4[11] 10[10]


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

  v1=11 v2=16 v3=22 v4=10
u1=0 11[10] 16[6] 20[0]
u2=-8 8[3] 2[20]
u3=-12 4[11] 10[10]
u4=-


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

  Запасы
11[10] 16[6] 20[0]
8[3][+] 2[20][-]
4[11][-] 10[10] 8[+]
Потребности  


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

  Запасы
11[10] 16[6] 20[0]
8[14] 2[9]
10[10] 8[11]
Потребности  


Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v1 = 11; 0 + v1 = 11; v1 = 11
u1 + v2 = 16; 0 + v2 = 16; v2 = 16
u2 + v2 = 8; 16 + u2 = 8; u2 = -8
u2 + v4 = 2; -8 + v4 = 2; v4 = 10
u3 + v4 = 8; 10 + u3 = 8; u3 = -2
u3 + v3 = 10; -2 + v3 = 10; v3 = 12

  v1=11 v2=16 v3=12 v4=10
u1=0 11[10] 16[6] 20[0]
u2=-8 8[14] 2[9]
u3=-2 10[10] 8[11]
u4=-


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

  Запасы
11[10][-] 16[6][+] 20[0]
12[+] 8[14][-] 2[9]
10[10] 8[11]
Потребности  


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

  Запасы
16[16] 20[0]
12[10] 8[4] 2[9]
10[10] 8[11]
Потребности  


Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v2 = 16; 0 + v2 = 16; v2 = 16
u2 + v2 = 8; 16 + u2 = 8; u2 = -8
u2 + v1 = 12; -8 + v1 = 12; v1 = 20
u2 + v4 = 2; -8 + v4 = 2; v4 = 10
u3 + v4 = 8; 10 + u3 = 8; u3 = -2
u3 + v3 = 10; -2 + v3 = 10; v3 = 12

  v1=20 v2=16 v3=12 v4=10
u1=0 16[16] 20[0]
u2=-8 12[10] 8[4] 2[9]
u3=-2 10[10] 8[11]
u4=-


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

  Запасы
16[16][-] 20[0][+]
12[10] 8[4][+] 2[9][-]
10[10][-] 8[11][+]
Потребности  


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

  Запасы
16[7] 20[9]
12[10] 8[13]
10[1] 8[20]
Потребности  


Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v2 = 16; 0 + v2 = 16; v2 = 16
u2 + v2 = 8; 16 + u2 = 8; u2 = -8
u2 + v1 = 12; -8 + v1 = 12; v1 = 20
u1 + v3 = 20; 0 + v3 = 20; v3 = 20
u3 + v3 = 10; 20 + u3 = 10; u3 = -10
u3 + v4 = 8; -10 + v4 = 8; v4 = 18

  v1=20 v2=16 v3=20 v4=18
u1=0 16[7] 20[9]
u2=-8 12[10] 8[13]
u3=-10 10[1] 8[20]
u4=-


Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vj ≤ cij.
Максимальная прибыль составит: F(x) = 16*7 + 20*9 + 12*10 + 8*13 + 10*1 + 8*20 = 686

3. Решение транспортной задачи

Транспортная задача.

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

1 2 3 4 Запасы

1 11 16 20 7 16

2 12 8 6 2 23

3 5 4 10 8 21

4 0 0 0 0 0

Потребности 10 20 10 20

Проверим необходимое и достаточное условие разрешимости задачи.

∑a = 16 + 23 + 21 + 0 = 60

∑b = 10 + 20 + 10 + 20 = 60

Условие баланса соблюдается. Запасы равны потребностям. Следовательно, модель транспортной задачи является закрытой.

Занесем исходные данные в распределительную таблицу.

1 2 3 4 Запасы

1 11 16 20 7 16

2 12 8 6 2 23

3 5 4 10 8 21

4 0 0 0 0 0

Потребности 10 20 10 20

Этап I. Поиск первого опорного плана.

1. Используя метод Фогеля, построим первый опорный план транспортной задачи. Для каждой строки и столбца таблицы условий найдем разности между двумя минимальными тарифами, записанными в данной строе или столбце, и поместим их в соответствующем дополнительном столбце или строке.

Данный метод состоит в следующем:

1. на каждой итерации находят разности между двумя наименьшими тарифами во всех строках и столбцах, записывая их в дополнительные столбец и строку таблицы;

2. находят максимальную разность и заполняют клетку с минимальной стоимостью в строке (столбце), которой соответствует данная разность.

Находим разности по строкам.

Для строки N=1 первый минимальный элемент min11 = 7, второй минимальный элемент min21 = 11. Их разность равна d = min21 - min11 = 4.

Для строки N=2 первый минимальный элемент min12 = 2, второй минимальный элемент min22 = 6. Их разность равна d = min22 - min12 = 4.

Для строки N=3 первый минимальный элемент min13 = 4, второй минимальный элемент min23 = 5. Их разность равна d = min23 - min13 = 1.

Для строки N=4 первый минимальный элемент min14 = 0, второй минимальный элемент min24 = 0. Их разность равна d = min24 - min14 = 0.

Находим разности по столбцам.

Для столбца N=1 первый минимальный элемент min11 = 0. второй минимальный элемент min21 5. Их разность d = min21 - min11 = 5.

Для столбца N=2 первый минимальный элемент min12 = 0. второй минимальный элемент min22 4. Их разность d = min22 - min12 = 4.

Для столбца N=3 первый минимальный элемент min13 = 0. второй минимальный элемент min23 6. Их разность d = min23 - min13 = 6.

Для столбца N=4 первый минимальный элемент min14 = 0. второй минимальный элемент min24 2. Их разность d = min24 - min14 = 2.

Вычислив все разности, видим, что наибольшая из них соответствует столбцу (3). В этом столбце минимальный тариф записан в клетке, находящейся на пересечении строки (2) и столбца (3).

1 2 3 4 Запасы Разности по строкам

1 11 16 20 7 16 4

2 12 8 6 2 23 4

3 5 4 10 8 21 1

4 0 0 0 0 0 0

Потребности 10 20 10 20

Разности по столбцам 5 4 6 2

Искомый элемент равен 6

Для этого элемента запасы равны 23, потребности 10. Поскольку минимальным является 10, то вычитаем его.

x23 = min(23,10) = 10.

11 16 x 7 16

12 8 6 2 23 - 10 = 13

5 4 x 8 21

0 0 x 0 0

10 20 10 - 10 = 0 20

Находим разности по строкам.

Для строки N=1 первый минимальный элемент min11 = 7, второй минимальный элемент min21 = 11. Их разность равна d = min21 - min11 = 4.

Для строки N=2 первый минимальный элемент min12 = 2, второй минимальный элемент min22 = 8. Их разность равна d = min22 - min12 = 6.

Для строки N=3 первый минимальный элемент min13 = 4, второй минимальный элемент min23 = 5. Их разность равна d = min23 - min13 = 1.

Для строки N=4 первый минимальный элемент min14 = 0, второй минимальный элемент min24 = 0. Их разность равна d = min24 - min14 = 0.

Находим разности по столбцам.

Для столбца N=1 первый минимальный элемент min11 = 0. второй минимальный элемент min21 5. Их разность d = min21 - min11 = 5.

Для столбца N=2 первый минимальный элемент min12 = 0. второй минимальный элемент min22 4. Их разность d = min22 - min12 = 4.

Для столбца N=4 первый минимальный элемент min14 = 0. второй минимальный элемент min24 2. Их разность d = min24 - min14 = 2.

Вычислив все разности, видим, что наибольшая из них соответствует строке (2). В этой строке минимальный тариф записан в клетке, находящейся на пересечении строки (2) и столбца (4).

1 2 3 4 Запасы Разности по строкам

1 11 16 20 7 16 4

2 12 8 6 2 13 6

3 5 4 10 8 21 1

4 0 0 0 0 0 0

Потребности 10 20 [-] 20

Разности по столбцам 5 4 - 2

Искомый элемент равен 2

Для этого элемента запасы равны 13, потребности 20. Поскольку минимальным является 13, то вычитаем его.

x24 = min(13,20) = 13.

11 16 x 7 16

x x 6 2 13 - 13 = 0

5 4 x 8 21

0 0 x 0 0

10 20 [-] 20 - 13 = 7

Находим разности по строкам.

Для строки N=1 первый минимальный элемент min11 = 7, второй минимальный элемент min21 = 11. Их разность равна d = min21 - min11 = 4.

Для строки N=3 первый минимальный элемент min13 = 4, второй минимальный элемент min23 = 5. Их разность равна d = min23 - min13 = 1.

Для строки N=4 первый минимальный элемент min14 = 0, второй минимальный элемент min24 = 0. Их разность равна d = min24 - min14 = 0.

Находим разности по столбцам.

Для столбца N=1 первый минимальный элемент min11 = 0. второй минимальный элемент min21 5. Их разность d = min21 - min11 = 5.

Для столбца N=2 первый минимальный элемент min12 = 0. второй минимальный элемент min22 4. Их разность d = min22 - min12 = 4.

Для столбца N=4 первый минимальный элемент min14 = 0. второй минимальный элемент min24 7. Их разность d = min24 - min14 = 7.

Вычислив все разности, видим, что наибольшая из них соответствует столбцу (4). В этом столбце минимальный тариф записан в клетке, находящейся на пересечении строки (1) и столбца (4).

1 2 3 4 Запасы Разности по строкам

1 11 16 20 7 16 4

2 12 8 6 2 [-] -

3 5 4 10 8 21 1

4 0 0 0 0 0 0

Потребности 10 20 [-] 7

Разности по столбцам 5 4 - 7

Искомый элемент равен 7

Для этого элемента запасы равны 16, потребности 7. Поскольку минимальным является 7, то вычитаем его.

x14 = min(16,7) = 7.

11 16 x 7 16 - 7 = 9

x x 6 2 [-]

5 4 x x 21

0 0 x x 0

10 20 [-] 7 - 7 = 0

Находим разности по строкам.

Для строки N=1 первый минимальный элемент min11 = 11, второй минимальный элемент min21 = 16. Их разность равна d = min21 - min11 = 5.

Для строки N=3 первый минимальный элемент min13 = 4, второй минимальный элемент min23 = 5. Их разность равна d = min23 - min13 = 1.

Для строки N=4 первый минимальный элемент min14 = 0, второй минимальный элемент min24 = 0. Их разность равна d = min24 - min14 = 0.

Находим разности по столбцам.

Для столбца N=1 первый минимальный элемент min11 = 0. второй минимальный элемент min21 5. Их разность d = min21 - min11 = 5.

Для столбца N=2 первый минимальный элемент min12 = 0. второй минимальный элемент min22 4. Их разность d = min22 - min12 = 4.

Вычислив все разности, видим, что наибольшая из них соответствует строке (1). В этой строке минимальный тариф записан в клетке, находящейся на пересечении строки (1) и столбца (1).

1 2 3 4 Запасы Разности по строкам

1 11 16 20 7 9 5

2 12 8 6 2 [-] -

3 5 4 10 8 21 1

4 0 0 0 0 0 0

Потребности 10 20 [-] [-]

Разности по столбцам 5 4 - -

Искомый элемент равен 11

Для этого элемента запасы равны 9, потребности 10. Поскольку минимальным является 9, то вычитаем его.

x11 = min(9,10) = 9.

11 x x 7 9 - 9 = 0

x x 6 2 [-]

5 4 x x 21

0 0 x x 0

10 - 9 = 1 20 [-] [-]

Находим разности по строкам.

Для строки N=3 первый минимальный элемент min13 = 4, второй минимальный элемент min23 = 5. Их разность равна d = min23 - min13 = 1.

Для строки N=4 первый минимальный элемент min14 = 0, второй минимальный элемент min24 = 0. Их разность равна d = min24 - min14 = 0.

Находим разности по столбцам.

Для столбца N=1 первый минимальный элемент min11 = 0. второй минимальный элемент min21 5. Их разность d = min21 - min11 = 5.

Для столбца N=2 первый минимальный элемент min12 = 0. второй минимальный элемент min22 4. Их разность d = min22 - min12 = 4.

Вычислив все разности, видим, что наибольшая из них соответствует столбцу (1). В этом столбце минимальный тариф записан в клетке, находящейся на пересечении строки (3) и столбца (1).

1 2 3 4 Запасы Разности по строкам

1 11 16 20 7 [-] -

2 12 8 6 2 [-] -

3 5 4 10 8 21 1

4 0 0 0 0 0 0

Потребности 1 20 [-] [-]

Разности по столбцам 5 4 - -

Искомый элемент равен 5

Для этого элемента запасы равны 21, потребности 1. Поскольку минимальным является 1, то вычитаем его.

x31 = min(21,1) = 1.

11 x x 7 [-]

x x 6 2 [-]

5 4 x x 21 - 1 = 20

x 0 x x 0

1 - 1 = 0 20 [-] [-]

Находим разности по строкам.

Для строки N=3 первый минимальный элемент min13 = 4, второй минимальный элемент min23 = 4. Их разность равна d = min23 - min13 = 0.

Для строки N=4 первый минимальный элемент min14 = 0, второй минимальный элемент min24 = 0. Их разность равна d = min24 - min14 = 0.

Находим разности по столбцам.

Для столбца N=2 первый минимальный элемент min12 = 0. второй минимальный элемент min22 4. Их разность d = min22 - min12 = 4.

Вычислив все разности, видим, что наибольшая из них соответствует столбцу (2). В этом столбце минимальный тариф записан в клетке, находящейся на пересечении строки (3) и столбца (2).

1 2 3 4 Запасы Разности по строкам

1 11 16 20 7 [-] -

2 12 8 6 2 [-] -

3 5 4 10 8 20 0

4 0 0 0 0 0 0

Потребности [-] 20 [-] [-]

Разности по столбцам - 4 - -

Искомый элемент равен 4

Для этого элемента запасы равны 20, потребности 20. Поскольку минимальным является 20, то вычитаем его.

x32 = min(20,20) = 20.

11 x x 7 [-]

x x 6 2 [-]

5 4 x x 20 - 20 = 0

x 0 x x 0

[-] 20 - 20 = 0 [-] [-]

1 2 3 4 Запасы

1 11[9] 16 20 7[7] 16

2 12 8 6[10] 2[13] 23

3 5[1] 4[20] 10 8 21

4 0 0 0 0 0

Потребности 10 20 10 20

2. Подсчитаем число занятых клеток таблицы, их 6, а должно быть m + n - 1 = 7. Следовательно, опорный план является вырожденным.

Значение целевой функции для этого опорного плана равно:

F(x) = 11*9 + 7*7 + 6*10 + 2*13 + 5*1 + 4*20 = 319

1 2 3 4 Запасы

1 11[9] 16 20 7[7] 16

2 12 8 6[10] 2[13] 23

3 5[1] 4[20] 10 8 21

4 0 0 0 0 0

Потребности 10 20 10 20

Сведем все вычисления в одну таблицу.

1 2 3 4 Запасы d1 d2 d3 d4

1 11[9] 16 20 7[7] 16 4 4 4 5

2 12 8 6[10] 2[13] 23 4 6 - -

3 5[1] 4[20] 10 8 21 1 1 1 1

4 0 0 0 0 0 0 0 0 0

Потребности 10 20 10 20

d1 5 4 6 2

d2 5 4 - 2

d3 5 4 - 7

d4 5 4 - -

Подсчитаем число занятых клеток таблицы, их 6, а должно быть m + n - 1 = 7. Следовательно, опорный план является вырожденным.

Значение целевой функции для этого опорного плана равно:

F(x) = 11*9 + 7*7 + 6*10 + 2*13 + 5*1 + 4*20 = 319

Для получения невырожденного плана принудительно добавляем нуль [0] в клетку (1;2);

1 2 3 4

1 11[9] 16[0] 20 7[7]

2 12 8 6[10] 2[13]

3 5[1] 4[20] 10 8

4 0 0 0 0

Этап II. Улучшение опорного плана.

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.

u1 + v1 = 11; 0 + v1 = 11; v1 = 11

u3 + v1 = 5; 11 + u3 = 5; u3 = -6

u3 + v2 = 4; -6 + v2 = 4; v2 = 10

u1 + v4 = 7; 0 + v4 = 7; v4 = 7

u2 + v4 = 2; 7 + u2 = 2; u2 = -5

u2 + v3 = 6; -5 + v3 = 6; v3 = 11

v1=11 v2=10 v3=11 v4=7

u1=0 11[9] 16[0] 20 7[7]

u2=-5 12 8 6[10] 2[13]

u3=-6 5[1] 4[20] 10 8

u4=- 0 0 0 0

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij

(1;2): 0 + 10 < 16; ∆12 = 0 + 10 - 16 = -6

(1;3): 0 + 11 < 20; ∆13 = 0 + 11 - 20 = -9

(2;1): -5 + 11 < 12; ∆21 = -5 + 11 - 12 = -6

(2;2): -5 + 10 < 8; ∆22 = -5 + 10 - 8 = -3

(3;3): -6 + 11 < 10; ∆33 = -6 + 11 - 10 = -5

(3;4): -6 + 7 < 8; ∆34 = -6 + 7 - 8 = -7

max(6,9,6,3,5,7) = -9

Выбираем максимальную оценку свободной клетки (1;3): 20

Для этого в перспективную клетку (1;3) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

1 2 3 4 Запасы

1 11[9] 16[0] 20[+] 7[7][-] 16

2 12 8 6[10][-] 2[13][+] 23

3 5[1] 4[20] 10 8 21

4 0 0 0 0 0

Потребности 10 20 10 20

Цикл приведен в таблице (1,3 → 1,4 → 2,4 → 2,3).

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

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.

u1 + v1 = 11; 0 + v1 = 11; v1 = 11

u3 + v1 = 5; 11 + u3 = 5; u3 = -6

u3 + v2 = 4; -6 + v2 = 4; v2 = 10

u1 + v3 = 20; 0 + v3 = 20; v3 = 20

u2 + v3 = 6; 20 + u2 = 6; u2 = -14

u2 + v4 = 2; -14 + v4 = 2; v4 = 16

v1=11 v2=10 v3=20 v4=16

u1=0 11[9] 16[0] 20[7] 7

u2=-14 12 8 6[3] 2[20]

u3=-6 5[1] 4[20] 10 8

u4=- 0 0 0 0

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij

(1;2): 0 + 10 < 16; ∆12 = 0 + 10 - 16 = -6

(2;1): -14 + 11 < 12; ∆21 = -14 + 11 - 12 = -15

(2;2): -14 + 10 < 8; ∆22 = -14 + 10 - 8 = -12

max(6,15,12) = -15

Выбираем максимальную оценку свободной клетки (2;1): 12

Для этого в перспективную клетку (2;1) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

1 2 3 4 Запасы

1 11[9][-] 16[0] 20[7][+] 7 16

2 12[+] 8 6[3][-] 2[20] 23

3 5[1] 4[20] 10 8 21

4 0 0 0 0 0

Потребности 10 20 10 20

Цикл приведен в таблице (2,1 → 2,3 → 1,3 → 1,1).

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

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.

u1 + v1 = 11; 0 + v1 = 11; v1 = 11

u2 + v1 = 12; 11 + u2 = 12; u2 = 1

u2 + v4 = 2; 1 + v4 = 2; v4 = 1

u3 + v1 = 5; 11 + u3 = 5; u3 = -6

u3 + v2 = 4; -6 + v2 = 4; v2 = 10

u1 + v3 = 20; 0 + v3 = 20; v3 = 20

v1=11 v2=10 v3=20 v4=1

u1=0 11[6] 16[0] 20[10] 7

u2=1 12[3] 8 6 2[20]

u3=-6 5[1] 4[20] 10 8

u4=- 0 0 0 0

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij

(1;2): 0 + 10 < 16; ∆12 = 0 + 10 - 16 = -6

(1;4): 0 + 1 < 7; ∆14 = 0 + 1 - 7 = -6

(3;4): -6 + 1 < 8; ∆34 = -6 + 1 - 8 = -13

max(6,6,13) = -13

Выбираем максимальную оценку свободной клетки (3;4): 8

Для этого в перспективную клетку (3;4) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

1 2 3 4 Запасы

1 11[6] 16[0] 20[10] 7 16

2 12[3][+] 8 6 2[20][-] 23

3 5[1][-] 4[20] 10 8[+] 21

4 0 0 0 0 0

Потребности 10 20 10 20

Цикл приведен в таблице (3,4 → 3,1 → 2,1 → 2,4).

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

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.

u1 + v1 = 11; 0 + v1 = 11; v1 = 11

u2 + v1 = 12; 11 + u2 = 12; u2 = 1

u2 + v4 = 2; 1 + v4 = 2; v4 = 1

u3 + v4 = 8; 1 + u3 = 8; u3 = 7

u3 + v2 = 4; 7 + v2 = 4; v2 = -3

u1 + v3 = 20; 0 + v3 = 20; v3 = 20

v1=11 v2=-3 v3=20 v4=1

u1=0 11[6] 16[0] 20[10] 7

u2=1 12[4] 8 6 2[19]

u3=7 5 4[20] 10 8[1]

u4=- 0 0 0 0

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij

(1;2): 0 -3 < 16; ∆12 = 0 -3 - 16 = -19

(1;4): 0 + 1 < 7; ∆14 = 0 + 1 - 7 = -6

(2;2): 1 -3 < 8; ∆22 = 1 -3 - 8 = -10

(4;2): - -3 < 0; ∆42 = - -3 - 0 = -3

max(19,6,10,3) = -19

Выбираем максимальную оценку свободной клетки (1;2): 16

Для этого в перспективную клетку (1;2) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

1 2 3 4 Запасы

1 11[6][-] 16[0][+] 20[10] 7 16

2 12[4][+] 8 6 2[19][-] 23

3 5 4[20][-] 10 8[1][+] 21

4 0 0 0 0 0

Потребности 10 20 10 20

Цикл приведен в таблице (1,2 → 1,1 → 2,1 → 2,4 → 3,4 → 3,2).

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

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.

u1 + v2 = 16; 0 + v2 = 16; v2 = 16

u3 + v2 = 4; 16 + u3 = 4; u3 = -12

u3 + v4 = 8; -12 + v4 = 8; v4 = 20

u2 + v4 = 2; 20 + u2 = 2; u2 = -18

u2 + v1 = 12; -18 + v1 = 12; v1 = 30

u1 + v3 = 20; 0 + v3 = 20; v3 = 20

v1=30 v2=16 v3=20 v4=20

u1=0 11 16[6] 20[10] 7

u2=-18 12[10] 8 6 2[13]

u3=-12 5 4[14] 10 8[7]

u4=- 0 0 0 0

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij

(2;2): -18 + 16 < 8; ∆22 = -18 + 16 - 8 = -10

(2;3): -18 + 20 < 6; ∆23 = -18 + 20 - 6 = -4

(3;3): -12 + 20 < 10; ∆33 = -12 + 20 - 10 = -2

max(10,4,2) = -10

Выбираем максимальную оценку свободной клетки (2;2): 8

Для этого в перспективную клетку (2;2) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

1 2 3 4 Запасы

1 11 16[6] 20[10] 7 16

2 12[10] 8[+] 6 2[13][-] 23

3 5 4[14][-] 10 8[7][+] 21

4 0 0 0 0 0

Потребности 10 20 10 20

Цикл приведен в таблице (2,2 → 2,4 → 3,4 → 3,2).

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

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.

u1 + v2 = 16; 0 + v2 = 16; v2 = 16

u2 + v2 = 8; 16 + u2 = 8; u2 = -8

u2 + v1 = 12; -8 + v1 = 12; v1 = 20

u3 + v2 = 4; 16 + u3 = 4; u3 = -12

u3 + v4 = 8; -12 + v4 = 8; v4 = 20

u1 + v3 = 20; 0 + v3 = 20; v3 = 20

v1=20 v2=16 v3=20 v4=20

u1=0 11 16[6] 20[10] 7

u2=-8 12[10] 8[13] 6 2

u3=-12 5 4[1] 10 8[20]

u4=- 0 0 0 0

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij

(3;3): -12 + 20 < 10; ∆33 = -12 + 20 - 10 = -2

Выбираем максимальную оценку свободной клетки (3;3): 10

Для этого в перспективную клетку (3;3) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

1 2 3 4 Запасы

1 11 16[6][+] 20[10][-] 7 16

2 12[10] 8[13] 6 2 23

3 5 4[1][-] 10[+] 8[20] 21

4 0 0 0 0 0

Потребности 10 20 10 20

Цикл приведен в таблице (3,3 → 3,2 → 1,2 → 1,3).

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

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.

u1 + v2 = 16; 0 + v2 = 16; v2 = 16

u2 + v2 = 8; 16 + u2 = 8; u2 = -8

u2 + v1 = 12; -8 + v1 = 12; v1 = 20

u1 + v3 = 20; 0 + v3 = 20; v3 = 20

u3 + v3 = 10; 20 + u3 = 10; u3 = -10

u3 + v4 = 8; -10 + v4 = 8; v4 = 18

v1=20 v2=16 v3=20 v4=18

u1=0 11 16[7] 20[9] 7

u2=-8 12[10] 8[13] 6 2

u3=-10 5 4 10[1] 8[20]

u4=- 0 0 0 0

Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vj ≤ cij.

Максимальная прибыль составит: F(x) = 16*7 + 20*9 + 12*10 + 8*13 + 10*1 + 8*20 = 686

Наши рекомендации