#2
Сообщение
Мирный Атом » 18 сен 2012, 15:18
Транспортная задача.
Copyright © Semestr.RU
Математическая модель транспортной задачи:
F = ∑∑cijxij, (1)
при условиях:
∑xij = ai, i = 1,2,…, m, (2)
∑xij = bj, j = 1,2,…, n, (3)
Стоимость доставки единицы груза из каждого пункта отправления в соответствующие пункты назначения задана матрицей тарифов
1 2 Запасы
1 12 40 30
2 32 30 70
3 14 30 100
Потребности 1 0
Проверим необходимое и достаточное условие разрешимости задачи.
∑a = 30 + 70 + 100 = 200
∑b = 1 + 0 = 1
Занесем исходные данные в распределительную таблицу.
1 2 3 Запасы
1 12 40 0 30
2 32 30 0 70
3 14 30 0 100
Потребности 1 0 199
Этап I. Поиск первого опорного плана.
1. Используя метод наименьшей стоимости, построим первый опорный план транспортной задачи.
1 2 3 Запасы
1 12[1] 40 0[29] 30
2 32 30 0[70] 70
3 14 30 0[100] 100
Потребности 1 0 199
2. Подсчитаем число занятых клеток таблицы, их 4, а должно быть m + n - 1 = 5. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
1 2 3 Запасы
1 12 40 0[30] 30
2 32 30 0[70] 70
3 14[1] 30 0[99] 100
Потребности 1 0 199
2. Подсчитаем число занятых клеток таблицы, их 4, а должно быть m + n - 1 = 5. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
1 2 3 Запасы
1 12 40 0[30] 30
2 32 30 0[70] 70
3 14[1] 30 0[99] 100
Потребности 1 0 199
2. Подсчитаем число занятых клеток таблицы, их 4, а должно быть m + n - 1 = 5. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
1 2 3 Запасы
1 12 40 0[30] 30
2 32[1] 30 0[69] 70
3 14 30 0[100] 100
Потребности 1 0 199
2. Подсчитаем число занятых клеток таблицы, их 4, а должно быть m + n - 1 = 5. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
1 2 3 Запасы
1 12[1] 40 0[29] 30
2 32 30 0[70] 70
3 14 30 0[100] 100
Потребности 1 0 199
2. Подсчитаем число занятых клеток таблицы, их 4, а должно быть m + n - 1 = 5. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
1 2 3 Запасы
1 12[1] 40 0[29] 30
2 32 30 0[70] 70
3 14 30 0[100] 100
Потребности 1 0 199
2. Подсчитаем число занятых клеток таблицы, их 4, а должно быть m + n - 1 = 5. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
1 2 3 Запасы
1 12[1] 40 0[29] 30
2 32 30 0[70] 70
3 14 30 0[100] 100
Потребности 1 0 199
2. Подсчитаем число занятых клеток таблицы, их 4, а должно быть m + n - 1 = 5. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
1 2 3 Запасы
1 12[1] 40 0[29] 30
2 32 30 0[70] 70
3 14 30 0[100] 100
Потребности 1 0 199
2. Подсчитаем число занятых клеток таблицы, их 4, а должно быть m + n - 1 = 5. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
1 2 3 Запасы
1 12[1] 40 0[29] 30
2 32 30 0[70] 70
3 14 30 0[100] 100
Потребности 1 0 199
Подсчитаем число занятых клеток таблицы, их 4, а должно быть m + n - 1 = 5. Следовательно, опорный план является вырожденным.
Значение целевой функции для этого опорного плана равно::
На протяжении многих итераций так и не удалось получить невырожденный план.
Для получения невырожденного плана принудительно добавляем нуль [0] в клетку (1;2);
Этап II. Улучшение опорного плана.
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
v1=12 v2=40 v3=0
u1=0 12[1] 40[0] 0[29]
u2=0 32 30 0[70]
u3=0 14 30 0[100]
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij
Выбираем максимальную оценку свободной клетки (2;2): 30
Для этого в перспективную клетку (2;2) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
1 2 3 Запасы
1 12[1] 40[0][-] 0[29][+] 30
2 32 30[+] 0[70][-] 70
3 14 30 0[100] 100
Потребности 1 0 199
Цикл приведен в таблице (2,2; 2,3; 1,3; 1,2; ).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 2) = 0. Прибавляем 0 к объемам грузов, стоящих в плюсовых клетках и вычитаем 0 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
1 2 3 Запасы
1 12[1] 40 0[29] 30
2 32 30[0] 0[70] 70
3 14 30 0[100] 100
Потребности 1 0 199
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
v1=12 v2=30 v3=0
u1=0 12[1] 40 0[29]
u2=0 32 30[0] 0[70]
u3=0 14 30 0[100]
Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vi <= cij.
Минимальные затраты составят:
F(x) = 12*1 + 0*29 + 0*70 + 0*100 = 12
Все вычисления и комментарии к полученным результатам доступны в расширенном режиме. Также приведено решение двойственной транспортной задачи и анализ оптимального плана.