- •Элементы линейнОй и нелинейнОй
- •Оптимизации
- •Москва, 2005
- •Введение
- •1. Производственная задача или задача планирования
- •2. Типы задач линейного программирования и их преобразование
- •3. Геометрическая трактовка основной задачи
- •4. Методы решения задач линейного программирования
- •4.1. Графический метод
- •4.2. Табличный симплекс-метод решения задачи линейного
- •4.2.1. Метод единичных векторов
- •4.2.2. Расширенная задача и метод искусственного базиса
- •5. Двойственные задачи линейного программирования
- •5.1.Прямая и двойственная задача
- •5.2. Геометрическая интерпретация двойственной задачи. Леммы и теоремы двойственности
- •5.3. Нахождение решений двойственных задач
- •5.4. Параметрическая устойчивость задачи линейного программирования и физическая трактовка двойственной задачи
- •6. Транспортная задача линейного программирования
- •6.1. Математическая постановка задачи
- •6.2. Нахождение опорного плана транспортной задачи
- •6.3. Оценка опорного плана транспортной задачи на оптимальность
- •7. Элементы теории игр
- •7.1. Предмет теории игр
- •7.2. Терминология и классификация игр
- •7.4. Смешанные стратегии
- •7.5. Геометрический метод решения игр
- •II. Нелинейное программирование
- •1. Задачи нелинейного программирования
- •2. Геометрическая интерпретация задач
- •3. Некоторые проблемы решения задач нелинейного
- •4. Решение задач условной оптимизации методом Лагранжа
- •5. Градиентные методы решения задач динамического
- •5.1. Метод наискорейшего спуска
- •5.2. Метод штрафных функций
- •5.3. Симплекс-метод поиска глобального экстремума
- •Контрольные вопросы к курсу «Методы оптимизации»
6.2. Нахождение опорного плана транспортной задачи
Как и при решении ЗЛП по планированию симплексным методом, определение оптимального плана транспортной задачи начинают с нахождения какого-нибудь ее опорного плана. Рассмотрим несколько методов нахождения такого плана.
Метод северо-западного угла. На примере конкретной задачи продемонстрируем этот метод нахождения опорного плана.
З а д а ч а 12. На три базы А1, А2, А3 поступил однородный груз в количествах, соответственно равных 140, 180, 160 ед. Этот груз требуется перевезти в пять пунктов назначения В1, В2, В3, В4, В5 соответственно в количествах 60, 70, 120, 130, 100 ед. Тарифы перевозок единичного количества груза с каждого из складов в соответствующие пункты назначения указаны в табл.16. Найти план перевозок данной транспортной задачи методом северо-западного угла.
Таблица 16
Структурная запись задачи
Поставщик |
Пункт назначения |
Запасы | ||||
В1 |
В2 |
В3 |
В4 |
В5 | ||
А1 |
2 |
3 |
4 |
2 |
4 |
140 |
А2 |
8 |
4 |
1 |
4 |
1 |
180 |
А3 |
9 |
7 |
3 |
7 |
2 |
160 |
Потребность |
60 |
70 |
120 |
130 |
100 |
480 |
Р е ш е н и е. Введем понятие маршрута – наименование клетки АiBj, где i – порядковый номер поставщика, j – порядковый номер потребителя.
Задача является закрытой, так как количество имеющегося у поставщиков грузов равно объему грузов, запрашиваемых потребителями. Здесь число пунктов отправления m=3, а число пунктов назначения n=5. Следовательно, невырожденный опорный план задачи будет определяться числом заполненных маршрутов (ненулевых переменных) в количестве 5+3-1=7.
По рассматриваемому методу заполнение маршрутов начнем с клетки, стоящей в левом верхнем углу. Потребность в грузе пункта В1 составляет 60 ед и от поставщика А1 можно эту потребность полностью удовлетворить. Иначе, по маршруту А1В1 будет запланирована поставка в размере 60 ед. Следующий потребитель В2 нуждается в поставке 70 ед груза, что также можно выполнить, доставив требуемый объем груза от поставщика А1 , у которого после первой поставки осталось 140-60=80 ед. Таким образом, по маршруту А1В2 можно запланировать доставку груза в полном объеме. Оставшийся у поставщика А1 объем груза в 10 ед запланируем доставить потребителю В3,
т.е. по маршруту А1В3. Так как ресурсы поставщика А1 полностью израсходованы, потребителю В2 оставшиеся 110 ед груза запланируем доставить по маршруту А2В3 , т.е. от поставщика А2. Пользуясь подобным алгоритмом, по маршруту А2В4 запланируем доставку 70 ед, по маршруту А3В4 доставку 60 ед и по маршруту А3В5 оставшиеся 100 ед груза (табл.17).
Таблица 17
Результирующая таблица опорного плана задачи 12
Поставщик |
Пункт назначения |
Запасы | ||||
В1 |
В2 |
В3 |
В4 |
В5 | ||
А1 |
2 60 |
3 70 |
4 10 |
2 |
4 |
140 |
А2 |
8 |
4 |
1 110 |
4 70 |
1 |
180 |
А3 |
9 |
7 |
3 |
7 60 |
2 100 |
160 |
Потребность |
60 |
70 |
120 |
130 |
100 |
480 |
Теперь рассчитаем суммарные затраты на доставку всего объема грузов:
Остается только оценить полученный план. Он выглядит в матричной форме следующим образом:
.
План имеет 7 заполненных маршрутов. Следовательно, полученный опорный план невырожденный, может быть проанализирован на оптимальность и при необходимости улучшен (см. ниже).
Метод минимального элемента. В методе северо-западного угла алгоритм заполнения маршрутов был построчный с учетом остатков груза у очередного поставщика, при этом полностью игнорировались размеры тарифных ставок на перевозки. Очевидно, что минимальная стоимость перевозок будет обеспечена в большей мере, если при заполнении соответствующих маршрутов (клеток) отдавать предпочтение маршрутам с минимальной тарифной ставкой на перевозку. В этом и заключается идея метода минимального элемента.
З а д а ч а 13. Повторим процедуру нахождения первичного опорного плана для сформулированной выше задачи, реализуя этот метод.
В общем наборе тарифов есть два маршрута со ставкой «1» и три маршрута со ставкой «2», два маршрута со ставкой «3», четыре маршрута со ставкой «4», два маршрута со ставкой «7», по одному маршруту со ставками «8» и «9». В такой же последовательности будем перераспределять груз. При равенстве тарифов маршрут выбирают произвольно.
Начнем с маршрута А2В5. Назначим объем перевозок по нему 100 ед, а по маршруту А2В3 оставшиеся у поставщика А2 80 ед груза. Естественно, маршруты А1В5 и А3В5 , а также А2В1, А2В2, А2В4 должны быть выключены из списка свободных (знак Х). Теперь заполним маршрут А1В1 , назначив по нему перевозку груза в объеме 60 ед (таков запрос потребителя В1) и выведем из состава свободных маршрут А3В1. Следующим заполняем маршрут А1В4 количеством груза в объеме 80 ед (оставшиеся у поставщика А1 после заполнения маршрута А1В1). Соответственно исключаем маршруты А1В2, А1В3. Оставшиеся маршруты закрываем безвариантно (табл.18).
Таблица 18
Заполнение таблицы при методе минимального элемента
Поставщик |
Пункт назначения |
Запасы | ||||
В1 |
В2 |
В3 |
В4 |
В5 | ||
А1 |
2 60 |
3 Х |
4 Х |
2 80 |
4 Х |
140 |
А2 |
8 Х |
4 Х |
1 80 |
4 Х |
1 100 |
180 |
А3 |
9 Х |
7 70 |
3 40 |
7 50 |
2 Х |
160 |
Потребность |
60 |
70 |
120 |
130 |
100 |
480 |
В результате получаем следующий опорный план:
,
для которого функция цели принимает значение
.
Полученный план имеет 7 заполненных маршрутов, поэтому план невырожденный и может быть в дальнейшем улучшен (если при первом шаге начать составление плана с маршрута А2В3, то получим план со значением функции цели F=1480).
Видим, что для данной задачи метод северо-западного угла дает более перспективный план.
Метод аппроксимации по Фогелю. В принципе этот метод является развитием идеи метода минимального элемента, т.е. заполнение маршрутов с учетом тарифных ставок.
З а д а ч а 14. Рассмотрим его на примере той же задачи. Правее столбцов и ниже строк записывают текущую разность между тарифными ставками незакрытых маршрутов как по строкам (справа), так и по столбцам (внизу). Разность определяется между двумя минимальными ставками. Из полученных разностей выбирается наибольшая по абсолютному значению и далее первым заполняется тот маршрут в данном столбце или строке, который имеет минимальную тарифную ставку. Если по какому-либо потребителю или поставщику полностью используются запасы или закрываются поставки, все остальные маршруты по данному направлению закрываются и прекращаются процедуры нахождения разностей по тарифам. В табл.19 представлены результаты поиска опорного плана по вышеописанной схеме.
Таблица 19
Нахождение опорного плана по Фогелю
Склад |
Потребитель |
Запас |
Разность по строкам | ||||||||||
В1 |
В2 |
В3 |
В4 |
В5 | |||||||||
А1 |
2 60 |
3 Х |
4 Х |
2 80 |
4 Х |
140 |
1 |
1 |
1 |
1 |
- | ||
А2 |
8 Х |
4 60 |
1 120 |
4 Х |
1 Х |
180 |
3 |
3 |
3 |
0 |
0 | ||
А3 |
9 Х |
7 10 |
3 Х |
7 50 |
2 100 |
160 |
1 |
1 |
5 |
0 |
0 | ||
Потреб- ность |
60 |
70 |
120 |
130 |
100 |
480 |
| ||||||
Разность по столбцам |
6 |
1 |
2 |
2 |
1 |
| |||||||
- |
1 |
2 |
2 |
1 |
| ||||||||
- |
1 |
- |
2 |
1 |
| ||||||||
- |
1 |
- |
2 |
- |
| ||||||||
- |
3 |
- |
3 |
- |
|
В таблице соблюдался следующий порядок заполнения маршрутов: А1В1, А2В3, А3В5, А1В4, А2В2, А3В2, А3В4. Максимальные разности по столбцам и строкам выделены жирным шрифтом.
В результате получен следующий опорный план:
,
т.е. опорный план имеет 7 заполненных маршрутов, а, следовательно, он невырожденный. Функция цели принимает значение:
.
Очевидно, наилучший опорный план получен по методу Фогеля, но и он может быть в дальнейшем улучшен (см. ниже).