- •Транспортная задача Постановка задачи и её решение
- •Пример № 1
- •Решение
- •Описание транспортной задачи как задачи линейного программирования
- •Формирование опорного решения (опорного плана перевозок) методом северо-западного угла
- •Циклы пересчета в таблице перевозок
- •4. Критерий оптимальности решения транспортной задачи
- •5. Метод потенциалов
- •6. Исследование очередного решения на оптимальность
- •При этом значения алгебраической суммы тарифов для свободных клеток таблицы 3 оказываются равными
- •Решение
- •Решение
- •Улучшенный план перевозок представлен в таблице 7.
Формирование опорного решения (опорного плана перевозок) методом северо-западного угла
При формировании опорного плана методом северо-западного угла, заполняется левая верхняя клетка (северо-западный угол) исходной таблицы или её оставшейся части. После заполнения северо-западного угла с учетом предельных возможностей базы, лежащей с заполняемой клеткой в одной строке, из таблицы исключается или очередной столбец слева, или очередная строка сверху. Так в данной таблице потребность заказчика В1 может быть полностью удовлетворена базой А1 (а1 = 300; в1 = 170; а1 > в1). Полагая х11=170, вписываем это значение в клетку (1;1) и исключаем из рассмотрения первый столбец.
На
базе А1
остается 130 т. груза (
).
В новой таблице с тремя строками А1,
А2,
А3
и тремя столбцами В2,
В3,
В4
северо-западным углом оказывается
клетка (1;2). Первая база с оставшимися
130 т. груза может полностью удовлетворить
потребность второго заказчика В2
(
> в2).
Полагая х12
= 110, вписываем это значение в клет-ку
(1; 2) и исключаем из рассмотрения второй
столбец. На базе А1
остается 20 т. груза (
).
В новой таблице с тремя строками А1, А2, А3 и двумя столбцами В3, В4 северо-западный угол соответствует клетке (1;3). Теперь третий заказчик
В3
может принять весь запас с базы А1
(
<
в3
).
Полагая
х13
= 20, вписываем это значение в клетку
(1;3) и исключаем из рассмотрения первую
строку. Но потребность заказчика В3
оказалась не удовлетворенной (
).
Эту потребность может удовлетворить
база А2.
После чего в ней останется
(т. груза). Записывая в клетку (2;3) х23
= 80 мы полностью удовлетворяем потребность
заказчика В3
и вычеркиваем третий столбец. Теперь
на северо-западе находится клетка (2;4)
и потребность заказчика В4
будет частично удовлетворяться
остатками груза с базы А2.
Таким образом,
х24
= 70, что приводит к исключению второй
строки в таблице 1. А не вполне
удовлетворенная потребность заказчика
В4
(
)
удовлетворяется запасами груза с базы
А3.
При этом х34
= 50.
Опорный план составлен. Ошибки в его составлении можно обнаружить, если найти суммы указанных значений хіj по строкам и сравнивать их на равно с запасами груза на базах. Суммы хіj по столбцам сравниваются на равно с потребностями заказчиков.
Циклы пересчета в таблице перевозок
При решении транспортной задачи для перехода от одного решения к другому, уменьшающему стоимость перевозок, используются циклы пересчета.
Циклом пересчета в таблице перевозок называется последовательность переменных хіj, удовлетворяющих следующим условиям:
1) в каждый цикл может входить только одно свободное переменное (пустая клетка – клетка с прочерком). Все остальные переменные должны быть базисными (заполненные клетки);
2) каждые две последовательные переменные, входящие в цикл, могут находиться только на одной строке или только в одном столбце;
3) каждая строка или столбец данного цикла может содержать только две переменные;
4) каждый цикл замкнут. То есть, при последовательном обходе выбранных переменных цикл начинается и заканчивается одной и той же клеткой.
Если для свободной клетки исходной таблицы, заполненной методом северо-западного угла, можно построить цикл пересчета, то такой цикл является единственным. Число вершин в этом цикле чётно. Если же для какой-либо свободной клетки исходной таблицы цикл пересчета построить нельзя, то для реализации этой возможности некоторые из свободных переменных обращаются в базисные переменные с нулевыми значениями (в пустых клетках записываются нули. См. пример № 2). Решение, содержащее нулевые значения базисных переменных, называется вырожденным.
Укажем циклы пересчета для всех свободных клеток таблицы 1 и пере-распределение груза в них по следующим правилам:
а) снабдим свободную клетку знаком (+) и с каждым переходом к следую-щей клетке цикла будем изменять знак на противоположный;
б) в клетках, отмеченных знаком () выберем наименьшее из чисел. Это то количество груза, которое будет последовательно перевозиться из одной клетки в другую. Из клеток, отмеченных знаком (), зафиксированное количество груза вывозится; в клетках со знаком (+) – прибывает.
Циклы пересчета в примере №1:
1
)
F = 70·170 + 50·110 + 80·20 + 40·100 + 60·50 + 11·50 = 26 550 (т.км.);
2)
F = 70 · 90 + 50 · 110 + 15 · 100 + 80 · 80 + 60 · 70 + 11 · 50= 24 450 (т.км.);
3
)
F = 70 · 170 + 50 ·30 + 15 ·100 + 80 · 90 + 60 · 70 + 11 · 50 = 26 850 (т.км.);
4
)
F = 70 ·120 + 50 ·110 + 15 ·70 + 40 ·30 + 60 ·120 + 50 · 50 = 25 850 (т.км.);
5
)
F = 70 · 170 + 50 · 60 + 15 · 70 + 40 ·30 + 60 ·120 + 10 · 50 = 24 850 (т.км.);
6)
F = 70 ·170 + 50 ·110 + 15 · 20 + 40 · 30 + 60 ·120 + 90 ·50 = 30 600 (т.км.);
Следует сравнить стоимость перевозок в каждом цикле со стоимостью перевозок по опорному (первоначальному) плану
Fнач = 70·170 + 50·110 + 15·20 + 40·80 + 60·70 + 11·50 = 25650 (т.км.)
и выбрать наименьший из всех результатов – результат (2), который представ-лен в таблице 2.
Таблица 2
Базы |
Заказчики |
Запасы на базах |
|||
В1 |
В2 |
В3 |
В4 |
||
А1 |
70 90 |
50 110 |
15 100 |
80 ― |
300 т. |
А2 |
80 80 |
90 ― |
40 ― |
60 70 |
150 т. |
А3 |
50 ― |
10 ― |
90 ― |
11 50 |
50 т. |
Потребности заказчика |
170 т. |
110 т. |
100 т. |
120 т. |
500 т. 500 т. |
Примечание. Если минимальное значение среди базисных переменных содержится в цикле пересчета в нескольких отрицательных вершинах цикла, то свободной (с прочерком) оставляют только одну из них, а в других клетках с таким же минимальным значением записываются нули. Эти нули являются новыми значениями базисных переменных. Образуется вырожденное решение.
