ТРАНСПОРТНАЯ ЗАДАЧА

advertisement
ТРАНСПОРТНАЯ ЗАДАЧА
Лекции 10,11
Транспортная задача является
частным случаем задачи линейного
программирования и может быть
решена симплекс-методом.
Однако, в силу особенностей этой
задачи, она решается с помощью
так называемого
распределительного метода и его
модификаций
Общая постановка транспортной задачи
состоит в определении оптимального плана
перевозок некоторого однородного груза из m
пунктов отправления А1, А2,…, Аm в
n пунктов назначения B1, B2,…,Bn.
При этом в качестве критерия
оптимальности берется либо минимальная
стоимость перевозок всего груза, либо
минимальное время его доставки.
Рассмотрим транспортную задачу, в которой в
качестве критерия оптимальности берется
минимальная стоимость перевозок всего
груза. Обозначим через cij тарифы или
стоимости перевозки единицы груза из i-го
пункта отправления в j-й пункт назначения,
через ai – запасы груза в i-м пункте
отправления, через b j – потребности в грузе
j-ым пунктом назначения, через xij –
количество единиц груза, перевозимого из i-го
пункта отправления в j-й пункт назначения
(перевозки).
Математическая модель транспортной
задачи
m
n
Найти F   cij xij  min
i 1 j 1
при ограничениях
m

 xij  b j , j  1, n
 i 1
n

 xij  ai , i  1, m
 j 1
x  0
 ij

Первое ограничение

 xij  b j , j  1, n
 i 1
m
означает, что все потребности должны быть
удовлетворены , а второе -
n
 xij  ai , i  1, m ,
 j 1
что все запасы должны быть перевезены.
Определение. Всякое неотрицательное
решение системы ограничений транспортной
задачи, определяемое матрицей размера
m×n
 x11 x12 ...x1n 


x
x
...
x
21
22
2n 

X
 ................. 


 xm1 xm 2 ...xmn 
,
называют допустимым решением (или
планом) транспортной задачи.
Определение.
План


ij mn
X  (x )
,
при котором целевая функция
принимает минимальное значение,
называется оптимальным.
Тарифы или стоимости перевозок единицы
груза cij также задаются матрицей, которая
называется матрицей транспортных издержек
или матрицей стоимостей
 c11c12 ...c1n 


c
c
...
c
21
22
2n 

C
 ................. 


 cm1cm 2 ...cmn 
Транспортная таблица
Необходимое и достаточное
условие разрешимости
транспортной задачи
Для разрешимости транспортной задачи
необходимо и достаточно, чтобы запасы
груза в пунктах отправления были равны
потребностям в грузе в пунктах назначения,
то есть, чтобы выполнялось равенство
m
a
i 1
i

n
b
j 1
j
--балансовые условия.
При выполнении этого условия модель
транспортной задачи называется
закрытой. Если балансовое условие не
выполняется, то есть
m
n
,
 ai   bj
i 1
j 1
то модель транспортной задачи
называется открытой.
В случае открытой транспортной задачи
выполнение балансового условия
достигается введением фиктивного
поставщика или фиктивного
потребителя с соответствующими
тарифами, равными нулю.
Любое решение транспортной задачи
представляет собой распределение
перевозок xij в транспортной таблице.
Оптимальному решению транспортной
задачи соответствует оптимальное
распределение перевозок.
Перераспределение перевозок в
транспортной таблице осуществляется
до тех пор, пока не будет найдено
оптимальное распределение перевозок.
Пример
Все грузы должны быть перевезены, поэтому
4
x
j 1
ij
 ai , i  1,3
Это три первых уравнения.
Все потребности должны быть удовлетворены
и, значит,
3
x
i 1
ij
 b j , j  1, 4.
Это четыре последних уравнения.
Здесь закрытая модель: сумма запасов равна
сумме потребностей.
А целевую функцию составили по
матрице С - матрице тарифов
перевозок.
Пример. Задача организации
оптимального снабжения .
Три фермерских хозяйства A1 , A2 , A3
ежедневно могут доставлять в город
соответственно 60, 60 и 50 ц молока
для обеспечения пяти торговых точек :
B1 , B2 , B3 , B4 , B5
Стоимость перевозки 1ц молока и
потребности торговых точек в молоке
указаны в таблице
Таблица
Экономико-математическая модель задачи.
Переменные : xij (i  1,3, j  1,5)
- количество молока , поставляемое i-м
фермерским хозяйством в j-ю торговую точку.
Целевая функция –суммарные транспортные
издержки, которые необходимо
минимизировать
F  7 x11  6 x12  8 x13  10 x14  12 x15 
9 x21  5 x22  7 x23  4 x24  6 x25 
6 x31  8 x32  4 x33  9 x34  7 x35  min
Эта задача является задачей открытого
типа, так как запасы молока у
фермерских хозяйств (поставщиков)
больше потребностей в молоке у
торговых точек. В этом случае
изменяется вид системы ограничений.
Функциональные ограничения:
По поставщикам (их 3)
по потребителям (их
5)
 x11  x12  x13  x14  x15  60 

 x21  x22  x23  x24  x25  60
 x  x  x  x  x  50
 31 32 33 34 35
 x11  x21  x31  30,

 x12  x22  x32  20,

 x13  x23  x33  55,

 x14  x24  x34  20,
 x15  x25  x35  25.
xij  0.
Этапы решения транспортной
задачи
• Составляют математическую модель
задачи.
• Находят исходное опорное решение.
• Проверяют это решение на
оптимальность.
• Переходят от одного опорного решения
к другому.
Будем называть переменные , стоящие
в занятых клетках распределительной
или транспортной таблицы, базисными,
а переменные находящиеся в пустых
клетках, свободными.
Определение исходного допустимого
решения
1. Метод «северо-западного угла»
Метод заключается в том, что
заполнение клеток таблицы начинают с
левой верхней клетки (северо-западная
часть таблицы) для перевозки x11 и
продолжают вниз и вправо, заканчивая
клеткой для перевозки xmn .
При этом способе распределения на
тарифы cij
не обращают внимания.
2. Метод «наименьшей стоимости»
Метод заключается в том, что
заполнение клеток таблицы начинают с
клетки, имеющей наименьшую
стоимость перевозки. Если таких клеток
несколько, то следует выбрать любую
из них.
Найти опорный план транспортной задачи
методом наименьшей стоимости
Минимальный тариф, равный 1 ,
находится в клетке x13 .
Положим x13  160 . Запишем это
значение в соответствующую клетку и
временно исключим из рассмотрения
строку A1 .
Потребности пункта назначения B3
считаем временно равными 30 ед.
В оставшейся части таблицы с двумя
строками A2 и A3 и c четырьмя
столбцами клетка с наименьшим
тарифом находится на пересечении
строки A3 и столбца B2 , где c32  2.
Положим x32  50. Внесем это значение
в соответствующую клетку таблицы.
Временно исключим из рассмотрения
столбец B2 и будем считать запасы
пункта A3 равными 120 ед. После
этого рассмотрим оставшуюся часть
таблицы с двумя строками A2 и A3 и
тремя столбцами B1 , B3 и B4 . В ней
минимальный тариф находится в клетке
на пересечении строки A3 и
столбца B3 и равен 3.
Заполним описанным выше способом
эту клетку и аналогично заполним ( в
определенном порядке) клетки,
находящиеся на пересечении строки A2
и столбца B4 .
В результате получим опорный план
0 160 0 
 0


X  120 0
0 20 
 0 50 30 90 


При данном плане перевозок общая
стоимость перевозок составляет .
F  1160  4 120  8  20  2  50  3  30  6  90  1530
Условие невырожденности плана
Если число заполненных клеток равно
m + n – 1, то план является невырожденным.
Если число заполненных клеток меньше этого
значения, то план (решение) называется
вырожденным. В случае вырожденности
плана условно считают одну (или несколько)
из пустых клеток занятой, записывая в нее
нулевую перевозку так, чтобы число занятых
клеток стало равным
m + n – 1.
В нашей задаче число заполненных
клеток равно m + n – 1=3 + 4 – 1 = 6,
а пустых клеток – m × n – (m + n – 1), где
m – количество пунктов отправления,
n – количество пунктов назначения, что
в нашем случае 3 × 4 – 6 = 6.
Значит, найденный план является
невырожденным.
Метод потенциалов проверки решения на
оптимальность
Предположим, что каждый пункт
отправления Ai вносит за перевозку
единицы груза какую-то сумму  i , а
каждый пункт назначения вносит
сумму  j . Эти платежи передаются
некоторому третьему лицу, например,
перевозчику. Величины  i и  jсвяжем
 i  , где
равенствами
j  cij –
тарифы
cij для базисных клеток.
Совокупность уравнений  i   j  cij ,
составленных для всех базисных
переменных, представляет совместную
систему линейных уравнений, причем
одну из переменных можно задавать
произвольно и тогда остальные
переменные из системы уравнений
находятся однозначно.
Обозначим через  i   j  cij , где c ij
назовем псевдостоимостями или косвенными
стоимостями (тарифами). Псевдостоимости
находятся для всех свободных клеток.
Платежи  i и  j не обязательно должны
быть положительны, поскольку не исключено,
что «перевозчик» сам платит тому или иному
пункту какую-то премию за перевозку.
Теорема «о платежах».
Для заданной совокупности платежей  i
и  j суммарная косвенная стоимость
перевозок при любом допустимом
плане сохраняет одно и тоже значение
m
n
F   cij xij c  const.
i 1 j 1
В этой формуле с зависит только от
совокупности платежей и не зависит от
того, каким именно допустимым планом
пользуемся.
Теорема оптимальности.
Если для всех базисных клеток
i   j  cij  cij
а для всех свободных клеток
i   j  cij  cij
,
то допустимый план является оптимальным и
никаким способом улучшен быть не может.
Пример
Найти опорное решение методом
минимальной стоимости
и проверить оптимальность решения
методом потенциалов.
Находим потенциалы базисных клеток
1  1  c11  2,
1   2  c12  3,
1  3  c13  1,
 2    c22  2.
2
Положим 1  0 и решим систему.
Получим 1  2,  2  3,  2  1, 3  1.
Найдем псевдостоимости пустых клеток
c21   2  1  1  2  1,
c23   2  3  1  1  0.
c21  1  c21  4, c23  0  c23  5.
План перевозок оптимален
X min  (30,10, 20, 0,30, 0),
F min  2  30  3 10  1 20  2  30  150.
Пример 2.
На складах имеются запасы продукции
90, 400 и 110 тонн соответственно.
Потребители должны получить эту
продукцию в количествах 140, 300 и 160
тонн соответственно. Найти такой план
закрепления поставщиков к
потребителям, при котором суммы
затрат на перевозки минимальны.
Расходы на перевозки 1 т продукции
заданы матрицей (у.е.)
 2 5 2


C   4 1 5
3 6 8


Сумма потребностей и сумма запасов
равны 140+300+160=90+400+110=600.
Модель закрытая.
План
0 
 90 0


X   0 300 100 
 50 0

60


Fmin  2  90  1 300  5 100  3  50  8  60  1600 y.e.
2)Проверим план на оптимальность
методом потенциалов.
В таблице занято клеток
m  n 1  3  3 1  5
Для них найдем потенциалы.
1  1  2,
 2   2  1,
 2   3  5,
 3  1  3,
 3   3  8.
Положим 1  0.
Решим систему:
1  2, 3  1, 3  7,  2  2, 2  3.
Внесем в таблицу потенциалы занятых клеток
Найдем оценки свободных клеток.
c12  1   2  3,
 12  c12  c12  5  3  2  0,
c13  1  3  7,
 13  c13  c13  2  7  5  0,
c21   2  1  2  2  0,
c32   3   2  1  3  4.
 21  c21  c21  4  0  4  0,
 32  c32  c32  6  4  2  0.
Решение не оптимально, т.к. имеется
отрицательная оценка.
3)Переход к другому решению.
Перераспределим грузы, перемещая их из
занятых клеток в свободные. Свободная
клетка становится занятой, а занятаясвободной.
Для свободной клетки с отрицательной
оценкой строится цикл(цепь, многоугольник),
все вершины которого, кроме одной
находятся в занятых клетках. Углы прямые,
число вершин четное
Около свободной клетки цикла ставится (+), а
затем поочередно(-) , (+).У вершин со знаком
(-) выбирают минимальный груз, его
прибавляют к грузам, стоящим у вершин со
знаком (+) и отнимают от грузов у вершин со
знаком (-). В результате перемещения
получают новый опорный план. Это решение
проверяют на оптимальность и т. д. до тех
пор ,пока не получится оптимальное
решение.
Получили новое решение
0
60 
 30


X   0 300 100  .
110 0

0


Проверим его на оптимальность,
вычислив потенциалы базисных клеток.
Потенциалы заполненных клеток
1  1  2,
 2   2  1,
 3  1  3,
1  3  2,
 2  3  5.
1  0.
1  2,  3  1, 3  2,  2  3,  2  2.
Оценки свободных клеток
c12  1   2  0  2  2,
 12  c12  c12  5  (2)  7  0,
c21   2  1  3  2  5,
 21  c21  c21  4  5  1  0,
c32   3   2  1  2  1,
c33   3  3  1  2  3.
 32  c32  c32  6  (1)  7  0,
 33  c33  c33  8  3  5  0.
План не оптимален, т.к. оценка клетки
(21) отрицательна.
Новый план
0 90 
 0


X   30 300 70 
110 0

0


Снова проверяем его на оптимальность.
Для занятых клеток
    2,
Находим
1
3
 2  1  4,
 2   2  1,
 2   3  5,
 3  1  3.
1  0.
3  2,  2  3,  2  2,  3  2, 1  1.
Для свободных клеток псевдостоимости
равны
c11  1  1  0  1  1,
c12  1   2  0  2  2,
c32   3   2  2  2  0,
c33   3  3  2  2  4.
Оценки свободных клеток
 11  c11  c11  2  1  1  0,
 12  c12  c12  5  (2)  7  0,
 32  c32  c32  6  0  6  0,
 33  c33  c33  8  4  4  0.
Все оценки положительны, поэтому план
оптимален.
0
0 90 

Ответ:


X   30 300 70 
.
При этом
110

0
0 
Font  90  2  30  4  300 1  70  5  110  3  1280.
По сравнению с первоначальным планом
расходы уменьшились на величину
1610-1280=330у.е.
Download