Автор работы: Пользователь скрыл имя, 24 Сентября 2013 в 12:10, курсовая работа
Одна из наиболее распространенных задач математического программирования — транспортная задача. Транспортная задача (задача Монжа —Канторовича) —математическая задача линейного программирования специального вида о поиске оптимального распределения однородных объектов из аккумулятора к приемникам с минимизацией затрат на перемещение. Для простоты понимания рассматривается как задача об оптимальном плане перевозок грузов из пунктов отправления в пункты потребления, с минимальными затратами на перевозки. Транспортная задача является по теории сложности вычислений NP-сложной и входит в класс сложности NP. Когда суммарный объём предложений (грузов, имеющихся в пунктах отправления) не равен общему объёму спроса на товары (грузы), запрашиваемые пунктами потребления, транспортная задача называется несбалансированной (открытой).
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
v1=20 |
v2=21 |
v3=24 |
v4=33 |
v5=8 | |
u1=0 |
20[50] |
21[20] |
22 |
23 |
24 |
u2=7 |
22 |
28[45] |
31[20] |
40 |
15 |
u3=10 |
23 |
27 |
34[45] |
43[15] |
18[30] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij
Выбираем максимальную оценку свободной клетки (1;4): 23
Для этого в перспективную клетку (1;4) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
50 |
65 |
65 |
15 |
30 | |
70 |
20[50] |
21[20] [-] |
22 |
23 [+] |
24 |
65 |
22 |
28[45] [+] |
31[20] [-] |
40 |
15 |
90 |
23 |
27 |
34[45] [+] |
43[15] [-] |
18[30] |
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (3, 4) = 15. Прибавляем 15 к объемам грузов, стоящих в плюсовых клетках и вычитаем 15 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
50 |
65 |
65 |
15 |
30 | |
70 |
20[50] |
21[5] |
22 |
23[15] |
24 |
65 |
22 |
28[60] |
31[5] |
40 |
15 |
90 |
23 |
27 |
34[60] |
43 |
18[30] |
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
v1=20 |
v2=21 |
v3=24 |
v4=23 |
v5=8 | |
u1=0 |
20[50] |
21[5] |
22 |
23[15] |
24 |
u2=7 |
22 |
28[60] |
31[5] |
40 |
15 |
u3=10 |
23 |
27 |
34[60] |
43 |
18[30] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij
Выбираем максимальную оценку свободной клетки (3;1): 23
Для этого в перспективную клетку (3;1) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
50 |
65 |
65 |
15 |
30 | |
70 |
20[50] [-] |
21[5] [+] |
22 |
23[15] |
24 |
65 |
22 |
28[60] [-] |
31[5] [+] |
40 |
15 |
90 |
23 [+] |
27 |
34[60] [-] |
43 |
18[30] |
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 1) = 50. Прибавляем 50 к объемам грузов, стоящих в плюсовых клетках и вычитаем 50 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
50 |
65 |
65 |
15 |
30 | |
70 |
20 |
21[55] |
22 |
23[15] |
24 |
65 |
22 |
28[10] |
31[55] |
40 |
15 |
90 |
23[50] |
27 |
34[10] |
43 |
18[30] |
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
v1=13 |
v2=21 |
v3=24 |
v4=23 |
v5=8 | |
u1=0 |
20 |
21[55] |
22 |
23[15] |
24 |
u2=7 |
22 |
28[10] |
31[55] |
40 |
15 |
u3=10 |
23[50] |
27 |
34[10] |
43 |
18[30] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij
Аналогично проверяем оптимальность опорного плана, до тех пор, пока не получим оптимальный план:
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 2) = 25. Прибавляем 25 к объемам грузов, стоящих в плюсовых клетках и вычитаем 25 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
50 |
65 |
65 |
15 |
30 | |
70 |
20 |
21 |
22[55] |
23[15] |
24 |
65 |
22[25] |
28 |
31[10] |
40 |
15[30] |
90 |
23[25] |
27[65] |
34 |
43 |
18 |
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
v1=13 |
v2=17 |
v3=22 |
v4=23 |
v5=6 | |
u1=0 |
20 |
21 |
22[55] |
23[15] |
24 |
u2=9 |
22[25] |
28 |
31[10] |
40 |
15[30] |
u3=10 |
23[25] |
27[65] |
34 |
43 |
18 |
Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vi <= cij.
Минимальные затраты составят:
F(x) = 22*55 + 23*15 + 22*25 + 31*10 + 15*30 + 23*25 + 27*65 = 5195
МЕТОД МИНИМАЛЬНОЙ СТОИМОСТИ
Стоимость доставки единицы груза из каждого пункта отправления в соответствующие пункты назначения задана матрицей тарифов
50 |
65 |
65 |
15 |
30 | |
70 |
20 |
21 |
22 |
23 |
24 |
65 |
22 |
28 |
31 |
40 |
15 |
90 |
23 |
27 |
34 |
43 |
18 |
Проверим необходимое
и достаточное условие
∑ a = 70 + 65 + 90 = 225
∑ b = 50 + 65 + 65 + 15 + 30 = 225
Первая итерация заключается
в определении исходного
50 |
65 |
65 |
15 |
30 | |
70 |
20[50] |
21[20] |
22 |
23 |
24 |
65 |
22 |
28 |
31[35] |
40 |
15[30] |
90 |
23 |
27[45] |
34[30] |
43[15] |
18 |
В результате получен первый
опорный план, который является допустимым,
так как все грузы из баз
вывезены, потребность магазинов
удовлетворена, а план соответствует
системе ограничений
Подсчитаем число занятых клеток таблицы, их 7, а должно быть m + n - 1 = 7. Следовательно, опорный план является невырожденным.
2) Определяем оценку для каждой свободной клетки.
В свободную клетку (1;3) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
50 |
65 |
65 |
15 |
30 | |
70 |
20[50] |
21[20] [-] |
22 [+] |
23 |
24 |
65 |
22 |
28 |
31[35] |
40 |
15[30] |
90 |
23 |
27[45] [+] |
34[30] [-] |
43[15] |
18 |
Оценка свободной клетки равна Δ13 = -6.
Аналогично выполняем оценку для каждой свободной клетки:
Оценка свободной клетки равна Δ14 = -14.
Оценка свободной клетки равна Δ15 = 12.
Оценка свободной клетки равна Δ21 = -1.
Оценка свободной клетки равна Δ22 = 4.
Оценка свободной клетки равна Δ24 = 0.
Оценка свободной клетки равна Δ31 = -3.
В свободную клетку (3;5) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
50 |
65 |
65 |
15 |
30 | |
70 |
20[50] |
21[20] |
22 |
23 |
24 |
65 |
22 |
28 |
31[35] [+] |
40 |
15[30] [-] |
90 |
23 |
27[45] |
34[30] [-] |
43[15] |
18 [+] |
Оценка свободной клетки равна Δ35 = 0.