Задачи ЛП и методы их решения
.pdf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отход –0 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f * = 31 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
|
|
4 |
|
0 |
|
0 |
|
0 |
|
2 |
|
|
0 |
10 |
||||||
|
|
|
|
|
|
|
|
|
|||||||||||
|
0 |
|
5 |
|
0 |
|
|
0 |
|
|
0 |
|
|
0 |
60 |
|
|
|
|
2 |
+12 |
+10 |
+5 |
+1 |
+1 |
|
|
Отход –11 |
|||||||||||
|
|
|
|
|
|
|
|
= |
|
|
|
f * = 31 |
|||||||
|
0 |
|
0 |
|
6 |
|
|
0 |
|
|
2 |
|
|
3 |
65 |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
0 |
|
0 |
|
1 |
|
10 |
|
2 |
|
|
0 |
62 |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отход –00 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f * = 30 |
60 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
Объединенное решение при наличие ограниченного числа бракованных съемов ( K = 40)
Сорок безотходных |
|
|
|
|
|
|
|
|
|
||||
бракованных съемов |
|
|
|
|
|
|
|
|
|
||||
|
|
|
0 |
0 |
|
||||||||
2 |
0 |
|
|
||||||||||
|
0 |
|
|
1 |
|
|
|
2 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
0 |
|
|
0 |
|
|
|
0 |
|
|
0 |
|
Брак |
30 |
0 |
|
+ |
0 |
|
+10 |
0 |
|
+ |
0 |
|
30 40 =120 (6L) |
|
|
|
|
|
|
|
|
|
|
|
||||
|
0 |
|
|
0 |
|
|
|
1 |
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(L1) |
(L2 ) |
|
(L1) |
(L2 ) |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
Вектор требований |
1 |
||
|
|
|
увеличивается на |
|
|
|
|
61 |
|
1 |
|
|
65 |
|
0 |
||
30 (или 31) обычных |
|
||||
|
|
|
|
|
|
раскладок |
63 |
|
1 |
|
|
|
|
|
|
|
|
|
0 |
|
2 |
|
0 |
10 |
|
|||
|
4 |
|
0 |
|
0 |
|
|
|
|
||||||||
|
0 |
|
5 |
|
0 |
|
|
0 |
|
|
0 |
|
0 |
60 |
|
||
2 |
+12 |
+10 |
+5 |
+1 |
+1 |
Отход –11 |
|||||||||||
|
|
|
|
|
|
|
|
= |
|
f * = 31 |
|||||||
|
0 |
|
0 |
|
6 |
|
|
0 |
|
|
2 |
|
3 |
65 |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
0 |
|
0 |
|
1 |
|
10 |
|
2 |
|
0 |
62 |
|
10 |
Вектор требований |
0 |
|
|
|
уменьшается на |
|
60 |
|
0 |
|
62 |
|
3 |
|
|
|
|
|
62 |
|
0 |
190
Вывод: Полученное решение (с учетом брака шириной 6L ) "не хуже" оптимального решения без брака (т.к. 65+ 6 = 71, т.е. в отходы ушел только брак).
Раскрой при наличие случайного брака на тамбуре
Исходные данные: L |
– ширина тамбура |
|M| |
- число форматов |
|N| |
- число раскладок |
l[M] – вектор ширин форматов |
b0[M] – вектор требований на форматы
Исходная ситуация: Решена целочисленная задача форматного раскроя при заданном векторе требований b[M]. В результате получен набор оптимальных
|
раскладок A[M,N0] и целочисленный вектор интенсивностей их |
|||||
|
использования x[N0]. При разрезании очередного съёма на ПРС |
|||||
|
несколько рулонов оказываются бракованными. Необходимо |
|||||
|
поставить новую задачу целочисленного форматного раскроя, |
|||||
|
изменив вектор требований с учетом уже нарезанных рулонов и |
|||||
|
полученного брака. |
|
|
|
||
Пусть |
bˆ[M ] - вектор количества нарезанных рулонов (по форматам), а |
|
|
|
||
b[M ]- вектор |
||||||
|
Тогда bɶ[M ] = bˆ[M ]− |
|
[M ] - выполненная часть вектора |
|
||
брака. |
b |
требований, а |
||||
b [M ] = b [M ]− bɶ[M ] - текущий остаток вектора требований |
|
|
|
|||
1 |
0 |
|
|
|
|
|
(новый вектор требований).
Формулируем новую целочисленную задачу форматного раскроя при тех же исходных данных и новом векторе требований b1[M ]. Решаем её, и продолжаем разрезание по новому графику (вообще говоря, новый оптимальный набор раскладок и новый вектор
интенсивностей их использования). |
|
|
|
||
Алгоритм решения: |
|
|
|
||
(0) |
k:=0 |
|
|
|
A[M, N0 ] x[N0 ] = bk [M ] |
|
f (x) = 1[N] x[N] → min |
|
МСМ+ПЕРЕБОР |
||
(1) |
|
|
|
|
x[N \ N0 ] = 0[N \ N0 ] |
|
A[M, N] x[N] = bk [M ] |
|
|
||
|
|
x[N] ≥ 0, целочисл. |
|
|
N0 = { j1, j2 ,..., js} |
|
|
|
|
|
(2) Отрезаем очередной съём A[M, jp ]. ( p 1: s). |
|
|
||
Если |
|
[M ] = 0[M ] (на съёме нет брака), то bɶ[M ] = A[M, j |
|
], и |
b |
p |
|||
|
|
|
|
s
∑ A[M, jk ] X[ jk ]+ A[M, jp ] (X[ jp ]−1) = bk [M ]− A[M, jp ], иначе на шаг (4)
k=1
k≠ jp
(3)В этом случае график резания не меняем.
bk [M ]:= bk [M ]− A[M, jp ], X[N0 ]:= X[N0 ]− (0,...,0,1,0,...,0).
j p
Переходим на шаг (2).
(4) Если b[M ] ≠ 0[M ], то bk+1[M ]:= bk [M ]− A[M, jp ]+ b[M ], j0 := jp (Запоминаем раскладку, по которой вырезали последний съём) k := k +1. Переходим к шагу (1)
Выше описан алгоритм решения при наличии заказа в посъёмном режиме. Можно предложить модификацию этого алгоритма, заключающегося в другой последовательности решения целочисленных задач форматного раскроя. Сначала нарезаем вектор b0[M], а вектор брака b[M ] только учитываем суммированием
192
3. В 7-м съёме (19 от начала) брак 3го формата (одного рулона)
|
0 |
0 |
0 |
|
|
|
|
|
|
|
|||
b = |
9 |
− |
8 |
+ 0 |
- это способ раскроя с остатком 6. |
||||||||
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
25 |
1 |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Всего вырезано 20 съёмов. (остаток 7). |
|
||||||||||||
|
1 |
|
0 |
|
0 |
|
|
0 |
11 |
10 |
1 |
||
11 |
1 |
+ 7 |
1 |
+1 |
2 |
+1 |
1 |
= 21 |
= 20 |
+ 1 |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
4 |
|
1 |
|
|
1 |
41 |
40 |
1 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(1) |
(6) |
|
|
|
|
Модификация даёт такой же результат.
Рассмотренные выше особенности постановки и решения задач линейного целочисленного раскроя применительно к форматному раскрою бумажного полотна показывают тесные и многообразные взаимосвязи задач линейного и целочисленного программирования с самыми различными задачами исследования производственных операций.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
4) Способы задания графов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
с |
|
a |
|
|
|
|
|
|
|
f |
|
b |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
2 |
|
|
|
3 |
|
|
|
4 |
5 |
6 |
|||||||
а) графический (изображаются вершины и |
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
d |
|
|
|
|
|
g |
|
|
|||||||||||||||||||
все инцидентные им дуги) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
б) алгоритмический (задаются правила |
|
|
|
|
|
|
M =1: m, |
|
N =1: 2m−3 |
|
|
|
|
||||||||||||||||||||||||||||||
формирования дуг и граничных вершин |
|
|
Tu = |
( |
u,u +1 , для u 1: m−1 |
|
|
||||||||||||||||||||||||||||||||||||
данной дуги) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
) |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tu = |
|
|
u−m+ |
3,u−m+1 , |
для u |
m : 2m−3 |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(m=6) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
в) матричный |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
в1) матрица инциденций графа |
|
M, N,T |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
a[M, N ]: a i(u),u =−1, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
b |
|
c |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
-1 |
|
|
1 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
a j(u),u |
=1, остальные элементы |
|
|
|
|
|
|
|
2 |
1 |
|
|
|
0 |
|
-1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
3 |
0 |
|
|
|
-1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
столбца и равны нулю |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
M, N,T |
|
|
|
4 |
0 |
|
|
|
0 |
|
0 |
|
|
|
|
|
|
|
|
a |
|
2 |
|
|||||||||||||||||||
в2) матрица смежностей графа |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
a[M,M ]: a[i, j]=числовая |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
2 |
|
3 |
|
4 |
|
|
|
|
1 |
|
|
|
c |
4 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
характеристика дуг из i в j (например, |
|
|
|
1 |
0 |
|
|
1 |
|
0 |
|
0 |
|
|
|
|
|
|
b |
|
3 |
|
|
|||||||||||||||||||
|
|
|
|
2 |
0 |
|
|
0 |
|
1 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
число дуг, идущих из i в j − |
|
N |
− |
∩N |
+ |
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
i |
|
|
j |
|
|
|
|
|
3 |
1 |
|
|
0 |
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
0 |
|
|
0 |
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
||||
г) Списковый |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
г1) Список дуг состоит из записей, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
состоящих из названия дуги, названия |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
ее начала и названия ее конца |
|
|
|
|
|
|
|
|
|
( |
|
|
|
)( |
|
|
)( |
|
|
|
)( |
|
|
|
)( |
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d,2,4 |
|
) |
||||||||||||||
г2) Список вершин (вариант сжатого |
|
|
|
|
|
|
|
a,1,3 |
|
|
b,4,5 |
|
c,2,1 |
|
|
e,1,3 |
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
задания матрицы смежностей). |
|
|
|
|
|
|
|
|
( |
f ,4,3 |
g,5,1 |
|
|
h,1,4 |
)( |
i,3,1 |
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
)( |
|
)( |
|
|
|
|
) |
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дуги нумеруются числами от 1 до n = |
N |
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
а вершины числами от 1 до m = |
M |
|
таким |
Вершины: 1, 2, 3, 4, 5, 6 |
|
|
|
|
|
||||||||||||||||||||||||||||||||||
образом, чтобы дуги, выходящие |
|
из |
i-ой |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
Дуги: a, e, h, c, d, i, f, b, g, |
|
|
|
|
||||||||||||||||||||||||||||||||||||||
вершины, |
предшествовали |
|
|
в |
|
этой |
|
|
|
|
|
1, 2, 3, 4, 5, 6, 7, 8, 9 |
|
|
|
|
|||||||||||||||||||||||||||
нумерации дугам, |
выходящим |
из |
j-ой |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
j 1: 9 |
] |
=3,3,4,1,4,1,3,5,1 |
|
|
|
|
|||||||||||||||||||||||||||||||||||||
вершины при i<j. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[ |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Далее |
вводится |
целочисленный |
|
массив |
lst[0: 6]=0,3,5,6,8,9,9 |
|
|
|
|
|
|||||||||||||||||||||||||||||||||
[ |
|
|
] |
концов дуг, который размечается с |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
j 1: n |
|
(Заметим, что т. к. |
N |
− = , |
|
|
|
||||||||||||||||||||||||||||||||||||
помощью целочисленного массива lst[0: m] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
||||||||||||||||||
то lst[6]=lst[5]) |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
[ |
i |
] |
|
указывает место в массиве |
[ |
|
|
|
|
] |
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
(lst |
|
|
|
j 1: n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где заканчивается информация о Ni− )
5) Связность ( |
M, N,T = M, N ) |
|
1 a |
|
e |
|
|
|
|
а) Путь в |
графе |
M, N |
- пара |
2 |
5 |
|
|
||
b |
|
d |
1,2,3,4,2,5 |
|
|||||
|
|
|
|
|
|
|
путь |
||
последовательностей |
|
|
|
|
|
|
|
||
|
|
3 |
|
4 |
a,b,c,d,e |
|
|
||
|
|
|
|
c |
|
|
|
197
корень
иерархическое дерево
|
|
|
|
|
|
|
|
|
бинарное дерево |
|
|
|
|
|
|
|
|
|
|||
7.14.2. Постановка сетевой |
K |
C[1,1] |
L |
∑ |
C i, j |
x i, j |
→m |
||||||||||||||
транспортной задачи |
|
|
|||||||||||||||||||
|
|
1 |
1 |
[ |
|
] |
[ |
|
] |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
i K,j L |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
x i, j |
=αi |
,i K |
||||||
а) Матричная транспортная задача (ТЗ) |
|
|
|
|
|||||||||||||||||
|
|
|
∑ |
[ |
] |
|
[ ] |
|
|
|
|||||||||||
К – множество пунктов производства |
2 |
|
2 |
j L |
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||
( i K, |
α[i]>0 - объем производства) |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
∑x[i, j]=β[j], j L |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
i K |
|
|
|
|
|
|
|
|||
L – множество пунктов потребления |
|
|
|
|
|
|
≥0 K,L |
|
|||||||||||||
m |
|
|
x K,L |
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
[ |
] |
|
|
[ |
|
] |
|
||
( j L, |
β[j]>0 |
- объем потребления) |
|
C[m,n] |
n |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||
C[i, j] - матрица цен перевозок |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
Рассмотрим граф |
M, N : |
|
|
|
C[N ] x[N ]→ min |
|
|
|
|
|
|
|
|
|
|||||||
1. M = K L, (K ∩L = ) |
|
|
|
|
|
|
|
− |
= ) |
|
|||||||||||
|
|
|
|
|
|
|
|
|
(*) |
∑u Ni+ x[u]=b[i], i L. (Ni |
|
||||||||||
2. |
N = K×L, ( u N i(u) K, j(u) L) (**) −∑u Ni− x[u]=b[i], i K. (Ni+ = ) |
||||||||||||||||||||
|
(такой граф называется двудольным) |
|
x[N ]≥0[N ] |
|
|
|
|
|
|
|
|
|
|||||||||
Теперь вместо матриц C и X можно |
|
|
|
|
|
|
|
|
|
|
|||||||||||
рассмотреть векторы |
|
C[N ] |
и X [N] и для |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
удобства, считать, что |
|
|
|
|
Условия (*) и (**) теперь можно переписать |
||||||||||||||||
|
|
|
|
в виде |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
[ |
] |
>0, |
i |
L |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
b[i] |
|
β i |
|
(+) |
∑u Ni+ x[u]−∑u Ni− x[u]=b[i], i M |
||||||||||||||
|
|
= |
|
|
|
|
|
||||||||||||||
|
|
|
−α[i]<0, i K. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Условие (+) можно трактовать, как баланс |
|
C[N ] x[N ]→ min |
|
|
|
|
|
|
|
|
|
||||||||||
потока груза: для каждой вершины разность |
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
втекающего и вытекающего потоков равна |
(*) |
∑u Ni+ x[u]=b[i], |
i L. (Ni− = ) |
|
|||||||||||||||||
потреблению. Теперь нам надо искать такой |
(**) −∑u Ni− x[u]=b[i], |
i K. (Ni+ = ) |
|||||||||||||||||||
сбалансированный для всех вершин поток с |
|||||||||||||||||||||
максимальной стоимостью. |
|
|
x[N ]≥0[N ] |
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Сетевая транспортная задача (СТЗ) |
В такой постановке устранены особенности |
||||||||||||||||||||
конкретного графа и ТЗ может быть |
|||||||||||||||||||||
Задан |
граф |
M, N,T , |
представляющий |
||||||||||||||||||
собой транспортную сеть, узлами которой |
поставлена для |
произвольного |
связного |
||||||||||||||||||
ориентированного графа |
M, N,T . |
|
|
|
|
||||||||||||||||
являются вершины M , в которых задано |
Рассмотрим основной пример. |
|
|
|
|
|
|
|
|||||||||||||
потребление. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
Пусть |
задана |
транспортная |
|
|
сеть |
|
с |
||||||||
|
>0−потребитель |
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
исходными данными (числа у вершины – |
||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||
b[i]= |
|
0−производитель |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
< |
|
объемы потребления, у каждой дуги – цены |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
0−промежуточный пункт |
перевозок). |
|
|
|
|
|
|
|
|
|
|
||||||||
|
= |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|