{х 21 + х 22+⋯+ х 2 n= a2
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
х m 1 + х m 2 +⋯+ х mn= am
(2.1)
Так как суммарное количество груза, доставляемое каждому клиенту,
должно быть равно заявке, поданной данным потребителем, то
х11 + х21 +⋯+ х m 1= b1
{ х 12 + х 22+⋯+ х m 2 =b2
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
х 1 n + х 2n +⋯+ х mn=b n
(2.2)
хij≥0, i=1,m ; j=1,n
Суммарная стоимость перевозок
w = c11x11 + c12x12 + . . . + cmnxmn min.
Краткая запись математической модели ТЗ:
m n
∑ ∑ c ij x ij →min
w= i=1 j =1 (2.3)
n
∑ x ij=аi , i=1, m
j=1 ;
m
∑ x i j=b j , j=1 , n
i=1 ;
x ij 0 i=1,m ; j=1,n
Получилась задача линейного программирования в каноническом виде,
она может быть решена симплекс - методом. Но в силу того, что
коэффициенты в ограничениях равны 1, существует менее громоздкий метод
решения.
В линейном программировании доказывается, что закрытая ТЗ имеет
оптимальный план. При этом, если исходные величины поставок А i и Вj
являются целыми числами, то и все переменные в оптимальном плане будут
целыми величинами. Свойство целочисленности оказывается важным,
например, при перевозках неделимых грузов.
Система ограничений ТЗ содержит mn неизвестных и m + n
ограничений. Если первую группу ограничений просуммировать по i, а
вторую - по j, то в левых частях полученных двух уравнений будет
находиться одна и та же величина xij.
Следовательно, должны быть равны и правые части, а именно:
∑ а i= ∑ b j
i j .
Таким образом, система уравнений в ограничениях ТЗ является
совместной лишь в том случае, когда общий запас груза у поставщиков равен
суммарной потребности потребителей. Отсюда вытекает, что из m + n
уравнений в системе ограничений ТЗ одно (любое) уравнение можно
отбросить, так как оно вытекает из остальных m+n-1 уравнений. Поскольку
модель ТЗ содержит m+n-1 независимых уравнений, любой ее
невырожденный опорный план включает m+n-1 переменных с
положительным значением. Поэтому из возможных перевозок (маршрутов) в
оптимальном плане ТЗ загружается не более m+n-1 маршрутов.
Если план задачи включает меньше, чем m+n-1 положительных
переменных, то он называется вырожденным планом. План ТЗ является
опорным тогда и только тогда, когда в транспортной таблице:
1) ровно m+n-1 занятых клеток:
2) не существует цикл, все вершины которого лежат в занятых клетках.
Рассмотрим методы нахождения первоначального опорного плана.
Метод северо-западного угла: в транспортной таблице заполняют
левую верхнюю клетку (северо-западную) максимльно возможным объемом
груза (перевозки) и исключают либо поставщика, если весь его запас
исчерпан, либо потребителя, если его заявка полностью удовлетворена, либо
того и другого вместе. Затем снова выбирают левую верхнюю клетку в
оставшейся таблице и процедуру заполнения клеток повторяют до тех пор,
пока все заявки клиентов не будут удовлетворены. Недостаток метода в том,
что он не зависит от стоимости доставки единицы груза.
Метод минимального элемента: в транспортной таблице выбирают
клетку с наименьшим элементом, например, с наименьшей стоимостью
доставки единицы груза, и заполняют ее максимально возможной
перевозкой, исключая поставщика, если его запас исчерпан, или клиента,
если его потребность полностью удовлетворена, или того и другого вместе.
В оставшейся таблице снова выбирают клетку с минимальной стоимостью и
процедуру повторяют. Недостаток метода в том, что при большой
размерности транспортной таблицы трудно находить наименьший элемент.
Метод двойного предпочтения: в каждой строке транспортной
таблицы отмечают наименьший элемент символом V , аналогично отмечают
и в каждом столбце. В начале заполняют клетки с двойным символом, затем
с одним и, если таблица большая, то процедуру повторяют.
Метод Фогеля (метод штрафов). Штрафом называется разность
между двумя наименьшими элементами строки или столбца транспортной
таблицы. Метод состоит в том, что определяют штрафы каждой строки и
каждого столбца транспортной таблицы. Затем выбирают строку или столбец
с наибольшим штрафом и заполняют максимально возможной перевозкой
клетку с наименьшей стоимостью доставки единицы груза, т.е. по методу
минимального элемента. В оставшейся таблице снова определяют штрафы по
всем строкам и столбцам и аналогично заполняют клетку в ряду с
наибольшим штрафом и т.д. Процедуру повторяют до тех пор, пока все
запасы будут исчерпаны и заявки клиентов будут удовлетворены.
Решение:
Получим первоначальный опорный план методом минимальной
стоимости, по которому в первую очередь по возможности максимально
заполняем клетки с наименьшей стоимостью перевозок.
На практике принято вычеркивать строку с полностью вывезенным
запасом, столбец - с полностью удовлетворенной потребностью.
⋯ ⋯ ⋯ 150 ⋯
U1+V2=-11+4=-711; U1+V5=-11+12=14;
U2+V2=-2+7=58; U2+V5=-2+12=1012;
U2+V4=-2+12=10>7; U3+V1=-9+4=-59;
U3+V2=-9+7=-26; U3+V3=-9+13=44;
U4+V1=0+4=4>3; U4+V4=0+12=12>10.
( 100
⋯
100
⋯
⋯
200
100
⋯
⋯
50
⋯
⋯
⋯
200
⋯
)
Проверяем на оптимальность полученный опорный план, подправляя
систему потенциалов. Уменьшим потенциал V5 на 1, причем V5=11, что
вызовет изменение только потенциала U3 остальные останутся без изменения
(см. табл. 2.6)
Для занятых клеток условие оптимальности выполняется:
U4 + V1 = 0 +3 = 3 ; U4 +V2 = 0 +7 = 7 ;
U2 + V1 = 3 -1 = 2 ; V3 +U2 = 12 - 1 = 11 ;
V4 + U2 = 8 - 1 = 7 ; V 4 + U1 = 8 - 7 = 1 ;
V5 + U3 = 11 - 8 = 3; V5 + U1 = 11 - 7 = 4.
Таблица 2.6
Оптимальный план поставок
Потребители Запа-
Постав
сы
-щики
Ui Bi B2 B3 B4 B5
A1 U1=-7 11 8 5 1 4 150
100 50
A2 U2=-1 2 8 11 7 12 250
100 100 50
A3 U3=-8 9 6 4 3 3 200
200
A4 U4=0 3 7 13 10 12 300
100 200
Vj V1=3 V2=7 V3=12 V4=8 V5=11
Потребности 200 200 100 150 250 900
24 -50
29 14
10
10 1 26
24 17 22 -8
18
5
18
0
11 4 3
3 -26
7 19 6
13
1
-19
-36 52
12
-11 8
1 12
17 22
24 7 -8
18 5
18
5
0 10 3
11 3
-26
4 7 19 6
13 1
13
2 8 -19
-36 12 52
11 8
-11
1 12
17 22
24 7 -8
3 18 18
5 6
18
5 50
0 10 3
11 3
-26
4 7 19 6
11 13
13 13
1 13
2 8 -19
-36 12 52
11 8
33
-11
f1 = 11*3 + 12*33 + 10*21 + 24*50 + 3*13 + 19*18 + 7*37 +4*50 + 1*11 + 6*13
+ 10*14 + 3*6 = 2926.
Проверяем найденный опорный план на оптимальность с помощью
потенциалов.
3. Вычисление потенциалов.
Берется произвольная вершина i, потенциалу которой присваивается
произвольное значение, например U i =0. Затем, двигаясь по базисным
коммуникациям (занятым ребрам) ,вычисляются потенциалы остальных
вершин с учетом направления перевозок. Так, если ребро (i, j) входит в базис
и перевозка направлена от i-той к j-той вершине, тогда потенциал j-той
вершины вычисляется по формуле
U j = U i + C i, j (2.8)
Если же перевозка направлена от j-той к i-той вершине, то
U j = U i - C i,j (2.9)
Процесс вычисления и порядок записи потенциалов смотреть на рис. 2.4.
5
50 6 14
24
3 -50 9
29 14 10
21 10 1 26
3
10 34
1
1 12
17 22 3
24 7 -8
3 18 18
5 6
18
5 50
0 10 3
11 3
-26
4 7 19 6
11 13
13 13
1 13
0 2 37 8
52
-19
13
-20
-36 12
11 8
33
-11
6 10
3
-1
16
11
11
34 21 10
3
29
1
-50
26
9
14 10
10 0 1 17
37
22
12
-8
24
3 18 18
5 6
18
11 28 3
5
0
50
19
10
-26
6
3
4 7 11 13
13 13
1 13
-19
13
2 37 8
3 -15
-36 12 52
0 -20
11 8
33
33
-11
6
-15 10
-2
-3
16
11 -1
11
Ц:
( 7, 6) ( 6, 3) ( 3, 1) ( 1,2) ( 2,8) ( 8,7)
50 21 3 33 18
+ α - α - α + α - α - α
-----------------------------------------------------------------------
18 32 3 21 15
Δ fк= α (k)
* Δ (k)
i,j , (2.11)
f2 = 10*3 + 24*32 + 26*18 + 12*15 + 11*21 + 3*13 + 7*37 + 4*50 + 10*14 + 3*6
+ 1*11 + 6*13 =2422.
Из оценок всех небазисных ребер: (5,3), (1,4), (8,7), (7,1), (11,13), (9,10),
(10,12) наибольшая положительная оценка принадлежит ребру (5,3).
Δ 5,3 = 3. Направляем разрешающую стрелку от 5-й вершины (с меньшим
потенциалом) к 3-й вершине (с большим потенциалом). Образовался цикл,
замыкающийся на разрешающей стрелке:
Ц:
( 5,3) ( 3, 1) ( 1,2) ( 2,8) ( 8,5)
3 21 15 37
+ α - α + α - α + α
-----------------------------------------------------------------------
3 24 12 40
Объем поставки определяется среди перевозок х3,1 и х2,8, имеющих
противоположное направление с разрешающей стрелкой и равен их
минимальной величине:
α = min { х 3,1 ; х 2,8 } = min { 3; 15 } = 3.
Ребро (5,3) включаем в базис с объемом перевозки х5,3 = 3, а ребро (3,1)
исключаем из базиса. Общее количество базисных ребер сохраняется и
перевозки, не входящие в цикл, остаются неизменными. (При решении
транспортной задачи на сети иногда приходится вводить в базис ребро,
которое только что было исключено из базиса).
В результате получаем:
(2)
Δ f2 = α ( 2) ∗ Δ 5,3 = 3∗3= 9 ,
f3 = f2 - Δ f2 = 2422 – 9 = 2413.
Контроль:
U5 = 3, U3 = 4, U6 =28, U7 = 2, U8 = -4, U2 = 8,
U1 = -3, U10 = 7, U13 = 13, U11 = 8, U12 = 10, U9 = 0.
Х 3 = Х 3 (24,12,40,13,3,32,50,18,14,6,13,11).
Рис.8
¿
Х3 = Х (24,12,40,13,3,32,50,18,14,6,13,11).