- •2. Метод потенциалов решения транспортной задачи
- •2.1 Постановка задачи.
- •2.2 Построение модели транспортной задачи. Условные разрешимости транспортной задачи.
- •2.3 Методы нахождения начального решения. Метод минимальной стоимости
- •Метод потенциалов. Обоснование метода потенциалов.
- •Алгоритм решения задачи
2.3 Методы нахождения начального решения. Метод минимальной стоимости
bj
ai |
b1 |
b2 |
b3 |
b4 |
|||||||||
50 /20/0 |
80 /40 |
20 /0 |
40 /30/3 |
||||||||||
A1 |
90 /70/10/0 |
20 |
2 |
40 |
3 |
|
4 |
30 |
3 |
||||
A2 |
30 /10/0 |
|
5 |
|
3 |
20 |
1 |
|
2 |
||||
A3 |
40 /0 |
|
2 |
40 |
1 |
|
4 |
|
2 |
||||
a4 |
30 /0 |
30 |
0 |
|
0 |
|
0 |
30 |
0 |
||||
X0= |
|
20 |
40 |
0 |
30 |
|
|
0 |
0 |
20 |
10 |
|
|
|
0 |
40 |
0 |
0 |
|
|
|
30 |
0 |
0 |
0 |
|
fo(xo) = 2·20 + 3·40 + 3·30 + 20·1 + 2·10 + 1·40 + 0·30 = 330
Начальные решения не вырождены, так как количество ненулевых элементов в них равно m + n – 1 = 4 + 4 – 1 = 7
В противном случае, т.е. если количество ненулевых элементов < 7, то решение называется вырожденным.
Если метод минимальной стоимости дает вырожденное решение, то можно найти решение методом северо-западного угла.
Если в обоих методах решение вырожденно, то вводится значимый ноль (Õ)
Метод потенциалов. Обоснование метода потенциалов.
Метод потенциалов основан на второй теореме двойственности для задачи линейного программирования для двойственной задачи.
Если переменная Xij≠0, то соответствующее решение двойственной задачи:
Xij≠0 Ui + Vj = Cij =› Ui 0
xlk = 0 Ul + Vk < Clk Clk - Ul - Vk > 0
lk > 0, если нет, то строим новое начальное решение и т.д.
Если lk = 0, то имеет место альтернативный оптимум и выполняется еще одна операция и этот элемент выбирается за разрешающий.
Vj
Ui |
V1 |
V2 |
V3 |
V4 |
|||||||||||
2 |
3 |
2 |
3 |
||||||||||||
U1 |
0 |
|
20 |
2 |
|
40 |
3 |
2 |
|
4 |
|
30 |
3 |
||
U2 |
-1 |
4 |
|
5 |
1 |
|
3 |
|
20 |
1 |
|
10 |
2 |
||
U3 |
-2 |
2 |
|
2 |
|
40 |
1 |
4 |
|
4 |
1 |
|
2 |
||
U4 |
-2 |
|
30 |
0 |
-1 |
|
0 |
0 |
|
0 |
-1 |
30 |
0 |
||
U1
+ V1 =
2 U1
= 0
U1 + V2 = 3 V1 = 2
U1 + V3 = 1 V4 = 3
U1 + V4 = 3 V2 = 3
U2 + V3 = 1 U2 = -1
U2 + V4 = 2 V3 = 2
U3 + V2 = 1 U3 = -2
U4 + V1 = 0 U4 = -2
Ui + Vj = Cij
Ui = Cij - Vj
Vj = Cij – Ui, U1 0
Ui + Vj < Cij
Vxij* = 0
Ui + Vj < Cij
lk = Clk - Ui - Vi > 0
lk = 0
Решение не оптимальное, находим следующее решение.
(r, s) = {l; k │ min lk < 0} = (4,2)
min lk = -1
X0= |
|
|
40- |
0 |
30 |
|
|
0 |
0 |
20 |
10 |
|
|
|
0 |
40 |
0 |
0 |
|
|
|
-30 |
0*+ |
0 |
0 |
|
Строим цикл, начиная с разрешающего элемента 0*, таким образом, чтобы в вершинах его были ненулевые элементы.
Помечаем вершины, начиная с разрешающего нуля, чередованием знаков + -.
Θ1 = min {xlk-}= min {40,30} = 30
X1= |
|
50 |
|
0 |
30- |
|
|
0 |
0 |
20 |
10 |
|
|
|
0 |
40 |
0 |
0 |
|
|
|
0 |
-30 |
0 |
0*+ |
|
fo(x1) = 2·50 + 3·10 + 3·30 + 1·20 + 2·10 + 1·40 + 0·30 = 300
fo(x1) = fo(x0) + Θ1 (∑Cpq+ - ∑Cef-) = 330 + 30 · (2 + 0 – 3 + 0) = 300
Vj
Ui |
V1 |
V2 |
V3 |
V4 |
|||||||||||||
2 |
3 |
2 |
3 |
||||||||||||||
U1 |
0 |
|
50 |
2 |
|
10 |
3 |
2 |
|
4 |
|
30 |
3 |
||||
U2 |
-1 |
4 |
|
5 |
1 |
|
3 |
|
20 |
1 |
|
10 |
2 |
||||
U3 |
-2 |
2 |
|
2 |
|
40 |
1 |
4 |
|
4 |
4 |
|
2 |
||||
U4 |
-3 |
-1 |
|
0 |
|
30 |
0 |
1 |
|
0 |
-1 |
|
0 |
||||
На каждом этапе необходимо делать проверку:
Cij = Ui + Vj – проверка.
lk = Clk – Ul - Vk
44 = 0, то имеет место альтернативный оптимум.
Q2 = min [30-; 30-] = 0
X2*= |
|
50 |
|
0 |
0 |
|
|
0 |
0 |
20 |
10 |
|
|
|
0 |
40 |
0 |
0 |
|
|
|
0 |
0- |
0 |
30 |
|
fo(x2*) = 2·50 + 3·40 + 1·20 + 2·10 + 1·40 + 0·30 = 300
fo(x2*) = fo(x1*) + 30*(3 + 0 – 3 – 0)
Vj
Ui |
V1 |
V2 |
V3 |
V4 |
|||||||||||||
2 |
3 |
2 |
3 |
||||||||||||||
U1 |
0 |
|
50 |
2 |
|
40 |
3 |
2 |
|
4 |
|
30 |
3 |
||||
U2 |
-1 |
4 |
|
5 |
1 |
|
3 |
|
20 |
1 |
|
10 |
2 |
||||
U3 |
-2 |
2 |
|
2 |
|
40 |
1 |
4 |
|
4 |
1 |
|
2 |
||||
U4 |
-3 |
1 |
|
0 |
|
30 |
0 |
1 |
|
0 |
|
|
0 |
||||
Ответ: fo(x*) = 300
X2*= |
|
50 |
10 |
0 |
30 |
|
|
0 |
0 |
20 |
10 |
|
|
|
0 |
40 |
0 |
0 |
|
|
|
0 |
30 |
0 |
0 |
|
Для нахождения значимого нуля выбирается минимальное из оставшихся Cij, если при этом нельзя найти потенциалы, то значимый ноль выбирается таким образом, чтобы можно было найти потенциалы.

+20
+10
40