«Красной» ячейке цикла присваиваем знак (+), следующей по циклу (начать двигаться можно в любом направлении) — знак (–), следующей ячейке цикла — опять (+) и так далее. Находим минимальную поставку по отмеченным знаком (–) вершинам цикла и обозначаем ее θ. Эта вершина цикла Х34 =10 кг помечена желтым цветом. Значение θ вычитаем из вершин цикла, которые помечены знаком (–) и прибавляем его к вершинам цикла, которые помечены знаком (+).
B1, 20 кг
B2, 30 кг
B3, 30 кг
B4, 10 кг
A1, 30 кг
X11=20 кг
Х12=10 кг
A2, 40 кг
Х22=20 кг
(–) Х23=20 кг
(+)
A3, 20 кг
(+) Х33=10 кг
(–) Х34=10 кг
Поскольку алгоритм является циклическим (итерационным), переходим к пункту 1.
Примечание: есть опасность, что алгоритм впадет в бесконечный цикл из-за вырожденности или каких-либо ошибок реализации, поэтому полезно предусмотреть проверку на максимальное число шагов или максимальное время, которое будет исполняться программа. Впрочем, по мнению Данцига, те меры, которые можно предпринять для исключения вырожденности приводят к успеху в 100 % случаев. Для подстраховки можно применить метод Фогеля, который не склонен «впадать» в бесконечные циклы, и выдает более или менее приближенное к оптимальному решение за ограниченное число шагов.
1.6 Пример решения задачи
Решение: Проверим необходимое и достаточное условие разрешимости задачи. ∑ a = 4 + 6 + 10 + 10 = 30 ∑ b = 7 + 7 + 7 + 7 + 2 = 30 Условие баланса соблюдается. Запасы равны потребностям. Следовательно, модель транспортной задачи является закрытой. Занесем исходные данные в распределительную таблицу.
1
2
3
4
5
Запасы
1
26
30
17
10
16
4
2
30
37
26
9
23
6
3
13
4
32
3
1
10
4
3
1
5
14
24
10
Потребности
7
7
7
7
2
1. Используя метод наименьшей стоимости, построим первый опорный план транспортной задачи. Искомый элемент равен 1. Для этого элемента запасы равны 10, потребности 2. Поскольку минимальным является 2, то вычитаем его.
26
30
17
10
x
4
30
37
26
9
x
6
13
4
32
3
1
8
3
1
5
14
x
10
7
7
7
7
0
0
Искомый элемент равен 1. Для этого элемента запасы равны 10, потребности 7. Поскольку минимальным является 7, то вычитаем его.
26
x
17
10
x
4
30
x
26
9
x
6
13
x
32
3
1
8
3
1
5
14
x
3
7
0
7
7
0
0
Искомый элемент равен 3. Для этого элемента запасы равны 8, потребности 7. Поскольку минимальным является 7, то вычитаем его.
26
x
17
x
x
4
30
x
26
x
x
6
13
x
32
3
1
1
3
1
5
x
x
3
7
0
7
0
0
0
Искомый элемент равен 3. Для этого элемента запасы равны 3, потребности 7. Поскольку минимальным является 3, то вычитаем его.
26
x
17
x
x
4
30
x
26
x
x
6
13
x
32
3
1
1
3
1
x
x
x
0
4
0
7
0
0
0
Искомый элемент равен 13. Для этого элемента запасы равны 1, потребности 4. Поскольку минимальным является 1, то вычитаем его.
26
x
17
x
x
4
30
x
26
x
x
6
13
x
x
3
1
0
3
1
x
x
x
0
3
0
7
0
0
0
Искомый элемент равен 17. Для этого элемента запасы равны 4, потребности 7. Поскольку минимальным является 4, то вычитаем его.
x
x
17
x
x
0
30
x
26
x
x
6
13
x
x
3
1
0
3
1
x
x
x
0
3
0
3
0
0
0
Искомый элемент равен 26. Для этого элемента запасы равны 6, потребности 3. Поскольку минимальным является 3, то вычитаем его.
x
x
17
x
x
0
30
x
26
x
x
3
13
x
x
3
1
0
3
1
x
x
x
0
3
0
0
0
0
0
Искомый элемент равен 30. Для этого элемента запасы равны 3, потребности 3. Поскольку минимальным является 3, то вычитаем его.
x
x
17
x
x
0
30
x
26
x
x
0
13
x
x
3
1
0
3
1
x
x
x
0
0
0
0
0
0
0
1
2
3
4
5
Запасы
1
26
30
17[4]
10
16
4
2
30[3]
37
26[3]
9
23
6
3
13[1]
4
32
3[7]
1[2]
10
4
3[3]
1[7]
5
14
24
10
Потребности
7
7
7
7
2
В результате получен первый опорный план, который является допустимым, так как все грузы из баз вывезены, потребность магазинов удовлетворена, а план соответствует системе ограничений транспортной задачи. 2. Подсчитаем число занятых клеток таблицы, их 8, а должно быть m + n -8 Следовательно, опорный план является невырожденным. 3. Проверим оптимальность опорного плана. Найдем потенциалы ui и viпо занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0. u1 + v3 = 17; 0 + v3 = 17; v3 = 17 u2 + v3 = 26; 17 + u2 = 26; u2 = 9 u2 + v1 = 30; 9 + v1 = 30; v1 = 21 u3 + v1 = 13; 21 + u3 = 13; u3 = -8 u3 + v4 = 3; -8 + v4 = 3; v4 = 11 u3 + v5 = 1; -8 + v5 = 1; v5 = 9 u4 + v1 = 3; 21 + u4 = 3; u4 = -18 u4 + v2 = 1; -18 + v2 = 1; v2 = 19
v1=21
v2=19
v3=17
v4=11
v5=9
u1=0
26
30
17[4]
10
16
u2=9
30[3]
37
26[3]
9
23
u3=-8
13[1]
4
32
3[7]
1[2]
u4=-18
3[3]
1[7]
5
14
24
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых lang=EN-US>i > cij (1;4): 0 + 11 > 10; ∆14 = 0 + 11 - 10 = 1 (2;4): 9 + 11 > 9; ∆24 = 9 + 11 - 9 = 11 (3;2): -8 + 19 > 4; ∆32 = -8 + 19 - 4 = 7 max(1,11,7) = 11
Выбираем максимальную оценку свободной клетки (2;4): 9. Для этого в перспективную клетку (2;4) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-». Цикл приведен в таблице.
1
2
3
4
5
Запасы
1
26
30
17[4]
10
16
4
2
30[3][-]
37
26[3]
9[+]
23
6
3
13[1][+]
4
32
3[7][-]
1[2]
10
4
3[3]
1[7]
5
14
24
10
Потребности
7
7
7
7
2
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (2, 1) = 3. Прибавляем 3 к объемам грузов, стоящих в плюсовых клетках и вычитаем 3 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых lang=EN-US>i > cij (3;2): 3 + 8 > 4; ∆32 = 3 + 8 - 4 = 7 (4;3): -7 + 17 > 5; ∆43 = -7 + 17 - 5 = 5 max(7,5) = 7 Выбираем максимальную оценку свободной клетки (3;2): 4. Для этого в перспективную клетку (3;2) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-». Цикл приведен в таблице.
1
2
3
4
5
Запасы
1
26
30
17[4]
10
16
4
2
30
37
26[3]
9[3]
23
6
3
13[4][-]
4[+]
32
3[4]
1[2]
10
4
3[3][+]
1[7][-]
5
14
24
10
Потребности
7
7
7
7
2
Из грузов х ij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (3, 1) = 4. Прибавляем 4 к объемам грузов, стоящих в плюсовых клетках и вычитаем 4 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых lang=EN-US>i > cij (4;3): 0 + 17 > 5; ∆43 = 0 + 17 - 5 = 12 Выбираем максимальную оценку свободной клетки (4;3): 5 Для этого в перспективную клетку (4;3) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-». Цикл приведен в таблице.
1
2
3
4
5
Запасы
1
26
30
17[4]
10
16
4
2
30
37
26[3][-]
9[3][+]
23
6
3
13
4[4][+]
32
3[4][-]
1[2]
10
4
3[7]
1[3][-]
5[+]
14
24
10
Потребности
7
7
7
7
2
Из грузов х ij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (4, 2) = 3. Прибавляем 3 к объемам грузов, стоящих в плюсовых клетках и вычитаем 3 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых lang=EN-US>i > cij (3;1): 3 + 15 > 13; ∆31 = 3 + 15 - 13 = 5. Выбираем максимальную оценку свободной клетки (3;1): 13 Для этого в перспективную клетку (3;1) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-». Цикл приведен в таблице.
1
2
3
4
5
Запасы
1
26
30
17[4]
10
16
4
2
30
37
26[0][-]
9[6][+]
23
6
3
13[+]
4[7]
32
3[1][-]
1[2]
10
4
3[7][-]
1
5[3][+]
14
24
10
Потребности
7
7
7
7
2
Из грузов х ij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (2, 3) = 0. Прибавляем 0 к объемам грузов, стоящих в плюсовых клетках и вычитаем 0 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2025) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление