Теория графов
Автор работы: Пользователь скрыл имя, 09 Декабря 2010 в 21:08, контрольная работа
Описание работы
Цель исследования, осуществляемого в данной работе, - совершенствование процесса оптимизации сложных задач экономического и сетевого планирования путем разработки технологий и программных средств, использующих графовое моделирование.
Файлы: 1 файл
курс.doc
— 217.50 Кб (Скачать файл)Транспортная задача может быть решена методами линейного программирования. Однако благодаря особенностям переменных задачи разработаны специальные методы ее решения. Наиболее применяемый из них метод потенциалов.
Согласно методу потенциалов, каждому i-му пункту отправления устанавливается потенциал Ui, который можно интерпретировать как цену продукта в пункте отправления, а каждому j-му пункту назначения устанавливается потенциал Vj, который можно условно принять как цену продукта в пункте назначения равна его цене в пункте отправления плюс транспортные расходы на его доставку, т.е. Vj= Ui+cij.
Алгоритм решения транспортной задачи методом потенциалов включает следующие этапы:
- определение начального плана перевозок с помощью метода северо-западного угла, наименьших стоимостей или аппроксимации Фогеля;
- построение системы потенциалов на основе равенства Vj= Ui+cij;
- проверка начального плана на оптимальность, и в случае его на оптимальности реализация циклов перераспределения плана перевозок.
Третий этап повторяется до тех пор, пока план перевозок не станет оптимальным.
Пример. Пусть имеется 3 поставщика и 4 потребителя. Запасы продукта у поставщиков, спрос потребителей и транспортные расходы на доставку единицы продукта от i-го поставщика к j-му потребителю заданы в таблице:
| Поставщик | Потребитель | Запас | |||
| 1 | 2 | 3 | 4 | ||
| 1 | 3 | 5 | 6 | 2 | 170 |
| 2 | 6 | 4 | 7 | 5 | 250 |
| 3 | 5 | 4 | 6 | 5 | 180 |
| Спрос | 180 | 230 | 160 | 60 | 600 |
Требуется составить такой план перевозки, чтобы обеспечить минимум общей суммы транспортных расходов.
Решение. Обозначим xij – количество продукта, доставляемого от i-го поставщика к j-му потребителю. Тогда модель:
min L =
3x11+5x12+6x13+2x14+6x21+4x22+
Определим
начальный план перевозок с помощью
метода северо-западного угла, по которому
транспортная матрица заполняется
слева на право и сверху вниз.
Потребность первого
таблица 2
| Поставщики | Потребитель | Запас | ||||
| 1 | 2 | 3 | 4 | |||
| V1=3 | V2=5 | V3=8 | V4=7 | |||
| 1 | U1=0 | 3
|
5
20 |
6
|
2
2 |
170 |
| 2 | U2=1 |
6
7 |
4
210 |
4
70 |
5
6 |
250 |
| 3 | U3=2 | 5
7 |
4
6 |
6
120 |
5
60 |
180 |
| Спрос | 150 | 230 | 160 | 60 | 600 | |
Мы должны заполнить m+n-1 клеток. Если число заполненных клеток меньше m+n-1 (случай вырождения), то недостающие клетки выбираются произвольно и заполняются нулями. Это так называемые условные поставки.
Первоначальный план содержит шесть перевозок: от первого поставщика – 150 ед. к первому потребителю и 20 ед. ко второму; от второго поставщика – 210 ед. ко второму и 40 ед. к третьему; от третьего поставщика – 120 ед. к третьему потребителю и 60 ед. к четвертому.
Построим систему потенциалов на основе равенства:
Vj= Ui+cij.
Присвоим первому поставщику потенциал U1 =0. От первого поставщика продукт направляют первому и второму потребителям, следовательно, V1=U1+c11=0+3=3; V2=0+5=5. Зная потенциал второго потребителя, найдем потенциал второго поставщика U2=V2.-c22=5-4=1. потенциал третьего потребителя V3=1+7=8. потенциал третьего поставщика U3= 8-6=2. Потенциал четвертого потребителя V4= 2+5=7. Вычислить потенциалы, помещаем в ( табл.3).
Проверим первоначальный план на оптимальность. План считывается оптимальным, если для всех свободных ячеек выполняется условие:
Осуществляем проверку:
U1+с13=0+6=6<8 – не выполняется, т.е. если бы продукт отправлялся от первого поставщика к третьему потребителю, то его цена у первого поставщика была бы ниже, чем в первоначальном плане.
Рассчитанные
значения заносятся в свободные
ячейки (табл.3).
таблицы 3
Итерация 1. целевая функция=2590.
| Поставщики | Потребитель | Запас | ||||
| 1 | 2 | 3 | 4 | |||
| V1=3 | V2=0 | V3=3 | V4=2 | |||
| 1 | U1=0 | 3
|
5
5 |
6
6 |
2
|
170 |
| 2 | U2=-4 |
6
2 |
4
230 |
4
20 |
5
1 |
250 |
| 3 | U3=-3 | 5
2 |
4
1 |
6
|
5
40 |
180 |
| Спрос | 150 | 230 | 160 | 60 | 600 | |
Для улучшения плана (целевая функция = 2690) необходимо переместить перевозку в ячейку, где условие оптимальности нарушено больше всего, т.е. разность Vj-(Ui+cij) максимальна (ячейка 1.4).
Перемещение производится та, чтобы по отношению к выбранной ячейки образоваться связку. Для этого необходимо провести замкнутую ломанную линию, состоящею из горизонтальных и вертикальных линий, в которой одной из вершин полученного многоугольника является свободная ячейка, а остальные вершины должны находиться в занятых ячейках.
Далее каждое ячейке в связке поочередно присваивается знаки плюс и минус, начиная со свободной. Из ячеек со знаком минус перемещаем перевозки в ячейки со знаком плюс. Чтобы не получить отрицательных перевозок, перемещаем наименьшее количество продукта, которое находится в ячейках связки со знаком минус.
Последовательное
улучшение плана в таблицах 3-5.
таблицы 4
Итерация 2. целевая функция=2570.
| Поставщики | Потребитель | Запас | ||||
| 1 | 2 | 3 | 4 | |||
| V1=3 | V2=1 | V3=3 | V4=2 | |||
| 1 | U1=0 | 3
|
5
5 |
6
6 |
2
|
170 |
| 2 | U2=-3 | 6
20 |
4
230 |
7
4 |
5
2 |
250 |
| 3 | U3=-3 |
5
2 |
4
1 |
6
160 |
5
20 |
180 |
| Спрос | 150 | 230 | 160 | 60 | 600 | |
таблицы 5
Итерация 3. целевая функция=2550.
| Поставщики | Потребитель | Запас | ||||
| 1 | 2 | 3 | 4 | |||
| V1=3 | V2=1 | V3=4 | V4=2 | |||
| 1 | U1=0 | 3
110 |
5
5 |
6
6 |
2
60 |
170 |
| 2 | U2=-3 | 6
20 |
4
230 |
7
4 |
5
2 |
250 |
| 3 | U3=-2 | 5
2 |
4
2 |
6
160 |
5
3 |
180 |
| Спрос | 150 | 230 | 160 | 60 | 600 | |