Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример решения задачи




Зацикливание решения

Перераспределение поставок по циклу

«Красной» ячейке цикла присваиваем знак (+), следующей по циклу (начать двигаться можно в любом направлении) — знак (–), следующей ячейке цикла — опять (+) и так далее. Находим минимальную поставку по отмеченным знаком (–) вершинам цикла и обозначаем ее θ. Эта вершина цикла Х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 % случаев. Для подстраховки можно применить метод Фогеля, который не склонен «впадать» в бесконечные циклы, и выдает более или менее приближенное к оптимальному решение за ограниченное число шагов.

 

Решение:
Проверим необходимое и достаточное условие разрешимости задачи.
∑ 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 - 1 = 8. Следовательно, опорный план является невырожденным.
4. Проверим оптимальность опорного плана. Найдем потенциалы 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, стоящих в минусовых клетках. В результате получим новый опорный план.

 

  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  

5. Проверим оптимальность опорного плана. Найдем потенциалы ui и viпо занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
u1 + v3 = 17; 0 + v3 = 17; v3 = 17
u2 + v3 = 26; 17 + u2 = 26; u2 = 9
u2 + v4 = 9; 9 + v4 = 9; v4 = 0
u3 + v4 = 3; 0 + u3 = 3; u3 = 3
u3 + v1 = 13; 3 + v1 = 13; v1 = 10
u4 + v1 = 3; 10 + u4 = 3; u4 = -7
u4 + v2 = 1; -7 + v2 = 1; v2 = 8
u3 + v5 = 1; 3 + v5 = 1; v5 = -2

 

 

6.

  v1=10 v2=8 v3=17 v4=0 v5=-2
u1=0 26 30 17[4] 10 16
u2=9 30 37 26[3] 9[3] 23
u3=3 13[4] 4 32 3[4] 1[2]
u4=-7 3[3] 1[7] 5 14 24


Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых 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, стоящих в минусовых клетках. В результате получим новый опорный план.

  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  

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

  v1=3 v2=1 v3=17 v4=0 v5=-2
u1=0 26 30 17[4] 10 16
u2=9 30 37 26[3] 9[3] 23
u3=3 13 4[4] 32 3[4] 1[2]
u4=0 3[7] 1[3] 5 14 24

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых 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, стоящих в минусовых клетках. В результате получим новый опорный план.

  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  

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

  v1=15 v2=1 v3=17 v4=0 v5=-2
u1=0 26 30 17[4] 10 16
u2=9 30 37 26[0] 9[6] 23
u3=3 13 4[7] 32 3[1] 1[2]
u4=-12 3[7] 1 5[3] 14 24

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых 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, стоящих в минусовых клетках. В результате получим новый опорный план.

  1 2 3 4 5 Запасы
1 26 30 17[4] 10 16 4
2 30 37 26 9[6] 23 6
3 13[0] 4[7] 32 3[1] 1[2] 10
4 3[7] 1 5[3] 14 24 10
Потребности 7 7 7 7 2  

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

  v1=15 v2=6 v3=17 v4=5 v5=3
u1=0 26 30 17[4] 10 16
u2=4 30 37 26 9[6] 23
u3=-2 13[0] 4[7] 32 3[1] 1[2]
u4=-12 3[7] 1 5[3] 14 24

Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию lang=EN-US>i <= cij.
Минимальные затраты составят:
F(x) = 17*4 + 9*6 + 4*7 + 3*1 + 1*2 + 3*7 + 5*3 = 191

 

 




Поделиться с друзьями:


Дата добавления: 2015-03-29; Просмотров: 346; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.