Транспортная задача. Филькин Г.В. - 8 стр.

UptoLike

Составители: 

Рубрика: 

7
Система потенциалов содержит
m + n – 1 уравнений с m+ n неизвест-
ными. Уравнений на одно меньше, чем неизвестных, поэтому система яв-
ляется неопределённой и одному неизвестному (обычно
u
1
) придают нуле-
вое значение
u
1
= 0. Решаем систему:
u
1
= 0 v
1
= 3
u
2
= 1 v
2
= 1
u
3
= 4 v
3
= 1
v
4
= 2.
2. Проверка выполнения условия оптимальности для незанятых клеток.
Просматриваем строки и для каждой незанятой клетки проверяем выпол-
нение условия
u
i
+ v
j
с
i j
. Если это условие выполнено для всех клеток, то
план оптимален. Если для некоторых клеток
u
i
+ v
j
> с
i j
, то план неоптима-
лен. Для каждой клетки, в которой
u
i
+ v
j
> с
i j
, находим
(
)
ijjiij
cvu
+=
δ
.
В нашем примере:
u
1
+ v
1
= 0 + 3 < 5
u
1
+ v
2
= 0 + 1 < 4
u
2
+ v
3
= 1 + 1 < 6
u
3
+ v
2
= 4 + 1 > 3 235
32
==
δ
u
3
+ v
3
= 4 + 1 = 5
u
3
+ v
4
= 4 + 2 > 4 246
34
==
δ
В двух клетках нарушено условие оптимальности.
3. Выбор клетки, в которую необходимо послать перевозку.
Загрузке подлежит в первую очередь клетка, которой соответствует
max
ij
δ
= max (u
i
+ v
j
- с
i j
).
В нашем примере
3432
δ
δ
=
, поэтому можем взять любую из этих кле-
ток. Например, возьмём клетку (3, 2). Нужно определить, сколько единиц
груза должно быть перераспределено в неё.
4. Построение цикла и определение величины перераспределения груза.
Для определения количества единиц груза, подлежащих перераспределе-
нию, отмечаем знаком «+» незанятую клетку, которую надо загрузить. Это
означает, что клетка присоединяется к занятым
. В таблице занятых клеток
станет
m+n, поэтому появится цикл, все вершины которого, за исключени-
ем клетки, отмеченной знаком «+», находятся в занятых клетках, причём
этот цикл единственный. Отыскиваем цикл и, начиная движение от клетки,
отмеченной знаком «+», поочерёдно проставляем знаки «-» и «+». Затем
находим
ij
xmin
0
=
θ
, где
ij
x - перевозки, стоящие в вершинах цикла, отме-
ченных знаком «-». Величина
0
θ
определяет, сколько единиц груза можно
перераспределить по циклу. Значение
0
θ
записываем в незанятую клетку,
отмеченную знаком «+», двигаясь по циклу, вычитаем
0
θ
из
ij
x , которые
                                        7




   Система потенциалов содержит m + n – 1 уравнений с m+ n неизвест-
ными. Уравнений на одно меньше, чем неизвестных, поэтому система яв-
ляется неопределённой и одному неизвестному (обычно u1) придают нуле-
вое значение u1= 0. Решаем систему:
                                 u1 = 0        v1= 3
                                 u2 = 1        v2= 1
                                 u3 = 4        v3= 1
                                        v4= 2.
   2. Проверка выполнения условия оптимальности для незанятых клеток.
Просматриваем строки и для каждой незанятой клетки проверяем выпол-
нение условия ui + vj ≤ сi j. Если это условие выполнено для всех клеток, то
план оптимален. Если для некоторых клеток ui + vj > сi j, то план неоптима-
                                                                (       )
лен. Для каждой клетки, в которой ui + vj > сi j, находим δ ij = ui + v j − cij .
   В нашем примере:
                                   u1 + v1 = 0 + 3 < 5
                                   u1 + v2 = 0 + 1 < 4
                                  u2 + v3 = 1 + 1 < 6
                                  u3 + v2 = 4 + 1 > 3 δ 32 = 5 − 3 = 2
                                   u3 + v3 = 4 + 1 = 5
                                  u3 + v4 = 4 + 2 > 4  δ 34 = 6 − 4 = 2
   В двух клетках нарушено условие оптимальности.
   3. Выбор клетки, в которую необходимо послать перевозку.
   Загрузке подлежит в первую очередь клетка, которой соответствует
max δ ij = max (ui + vj - сi j).
   В нашем примере δ 32 = δ 34 , поэтому можем взять любую из этих кле-
ток. Например, возьмём клетку (3, 2). Нужно определить, сколько единиц
груза должно быть перераспределено в неё.
   4. Построение цикла и определение величины перераспределения груза.
Для определения количества единиц груза, подлежащих перераспределе-
нию, отмечаем знаком «+» незанятую клетку, которую надо загрузить. Это
означает, что клетка присоединяется к занятым. В таблице занятых клеток
станет m+n, поэтому появится цикл, все вершины которого, за исключени-
ем клетки, отмеченной знаком «+», находятся в занятых клетках, причём
этот цикл единственный. Отыскиваем цикл и, начиная движение от клетки,
отмеченной знаком «+», поочерёдно проставляем знаки «-» и «+». Затем
находим θ 0 = min xij , где xij - перевозки, стоящие в вершинах цикла, отме-
ченных знаком «-». Величина θ 0 определяет, сколько единиц груза можно
перераспределить по циклу. Значение θ 0 записываем в незанятую клетку,
отмеченную знаком «+», двигаясь по циклу, вычитаем θ 0 из xij , которые