Pustovoitov_TIS_IDZ
.pdf
|
|
0 |
|
|
|
|
|
4 |
5 |
20 |
0 |
|
10 |
|
|
||
|
|
|
0 |
5 |
|
1 |
30 |
|
|
||
|
|
|
0 |
||
|
20 |
|
|
|
|
|
30 |
0 |
10 |
|
|
|
|
|
|||
|
|
|
|
20 |
|
|
0 |
2 |
0 |
3 |
|
|
|
40 |
|
|
Рис. 4.2. Сеть для примера 4.2
Итерация 1. Положим остаточные пропускные способности cij,cji всех
ребер равными первоначальным пропускным способностям (Cij,Cji).
Шаг 1. |
Назначаем |
a1 и помечаем узел 1 меткой |
, . Полагаем |
|||
i 1. |
|
|
|
|
|
|
Шаг 2. S1 2,3,4 . |
|
|
||||
Шаг 3. |
k 3, поскольку |
|
|
|||
|
|
|
c13 max c12,c13,c14 max 20,30,10 30. |
|
||
Назначаем |
a3 c13 30 и помечаем узел 3 меткой |
30,1 . Полагаем |
||||
i 3 и возвращаемся ко второму шагу алгоритма. |
|
|
||||
Шаг 2. S2 4,5 . |
a5 c35 max10,20 20. Помечаем узел |
|
||||
Шаг 3. |
k 5 |
и |
5 меткой |
|||
20, 3 . Получен сквозной путь. Переходим к пятому шагу алгоритма. |
||||||
Шаг 5. Сквозной путь определяем по меткам, начиная с узла 5 и |
||||||
заканчивая |
узлом |
1: |
5 20, 3 3 30,1 1 . |
Таким |
образом, |
|
N1 1,3,5 |
и |
f1 min a1,a3,a5 ,30,20 20 . Вычисляем остаточные |
||||
пропускные способности вдоль пути N1: |
|
|
||||
|
|
|
|
c13,c31 30 20, 0 20 10,20 , |
|
|
|
|
|
|
c35,c53 20 20, 0 20 0,20 . |
|
|
Итерация 2 . |
|
|
, . Полагаем |
|||
Шаг 1. |
Назначаем |
a1 и помечаем узел 1 меткой |
||||
i 1.
21
Шаг 2. S1 2, 3, 4 .
Шаг 3. k 2 , назначаем a2 c12 max 20, 10, 10 20 и помечаем узел
2 меткой 20, 1 . Полагаем i 2 и возвращаемся ко второму шагу алгоритма.
Шаг 2. S2 3, |
5 . |
|
|
|
|
|
|
|
|
|
|
|
меткой 40, |
2 . Полагаем |
||||||||||||||||
Шаг 3. |
k 3 |
и a3 c23 40 . Помечаем узел 3 |
|
|||||||||||||||||||||||||||
i 3 и возвращаемся к шагу 2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
Шаг 2. |
S3 4 (отметим, что c35 |
0, поэтому узел 5 не включается в |
||||||||||||||||||||||||||||
S3 ). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
меткой 10, |
3 . |
|||||
Шаг 3. |
k 4 , назначаем a4 c34 |
10 и помечаем узел 4 |
||||||||||||||||||||||||||||
Полагаем i 4 и возвращаемся к шагу 2. |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[10, 3] |
|
|
|
|
|
|
|
|
|
|
|
|
0 |
4 |
|
|
|
|
|
|
|
|
|
|
|
0 |
4 |
20 |
|
|
|
||||||
[ , |
|
|
|
|
|
|
|
20 |
0 [20, 3] |
|
[ , |
|
|
|
|
|
|
|
|
|
|
0 [20, 4] |
|
|||||||
n] 10 |
|
|
|
5 |
|
|
|
n] 10 |
|
|
|
|
5 |
|
|
|
|
|||||||||||||
1 |
30 |
|
|
|
|
0 |
5 |
|
|
1 |
10 |
|
|
|
|
|
|
|
0 |
5 |
|
|||||||||
20 |
|
|
|
|
|
0 |
|
|
20 |
|
|
|
|
|
|
|
|
20 |
|
|||||||||||
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
0 |
|
10 |
20 |
|
|
0 |
30 |
|
10 |
|
0 |
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
2 |
|
|
|
0 |
|
3 |
|
|
2 |
|
|
|
|
20 |
|
|
3 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
[30, 1] |
|
|
[20, 1] |
|
|
|
|
|
[40, 2] |
|
|||||||||||
|
|
|
|
|
|
|
40 |
0 |
|
|
40 |
0 |
|
|
||||||||||||||||
|
|
|
|
|
|
а) f1 20 |
|
|
|
|
|
|
|
|
|
|
б) f2 10 |
|
|
|
||||||||||
|
|
|
|
|
|
0 |
4 |
|
|
|
|
|
|
|
|
|
|
|
0 |
4 |
10 |
|
|
|||||||
[ , |
|
|
|
|
|
|
|
|
10 |
|
10 [30, 2] |
|
[ , |
|
|
|
|
|
|
|
|
10 [20, 2] |
|
|||||||
n] 10 |
|
|
|
15 |
|
|
|
n] 10 |
|
|
|
|
15 |
|
|
|
|
|||||||||||||
1 |
10 |
|
|
|
|
0 |
5 |
|
|
1 |
10 |
|
|
|
|
|
|
10 |
5 |
|
||||||||||
10 |
|
|
|
|
|
20 |
|
|
0 |
|
|
|
|
|
|
|
20 |
|
||||||||||||
|
30 |
|
|
|
|
|
|
|
20 |
|
|
|
|
|
|
|||||||||||||||
10 |
|
|
0 |
|
0 |
|
|
20 |
|
|
0 |
|
0 |
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
2 |
|
|
|
20 |
|
3 |
|
|
2 |
|
|
|
|
20 |
|
|
3 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
[30, 2] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[10, 1] |
|
|||||
[10, 1] |
30 |
10 |
|
[10, 3] |
|
|
|
30 |
10 |
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
в) f3 10 |
|
|
|
|
|
|
|
|
|
|
г) f4 10 |
|
|
|
||||||||||
22
[10, 1]
|
|
|
0 |
4 |
10 |
|
|
|
10 |
4 |
0 |
|
|
|
||||
[ , |
|
|
|
|
|
10 [10, 4] |
|
|
|
|
|
|
|
|||||
n] 10 |
|
15 |
|
|
0 |
|
|
15 |
|
20 |
|
|||||||
1 |
0 |
|
|
|
|
20 |
5 |
|
1 |
0 |
|
|
|
20 |
5 |
|||
0 |
|
|
|
|
|
|
20 |
|
0 |
|
|
|
|
|
20 |
|||
10 |
|
|
|
|
|
10 |
|
|
|
|
||||||||
20 |
|
0 |
|
0 |
|
20 |
|
0 |
|
0 |
||||||||
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
30 |
|
|
|
|
|
30 |
|
||||||||
|
|
|
2 |
|
|
|
3 |
|
|
2 |
|
3 |
|
|
||||
|
|
|
|
|
|
|
[15, 4] |
|
|
|
|
|
||||||
|
|
|
|
40 |
0 |
40 |
0 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
д) f5 10 |
|
|
|
е) Сквозных путей нет |
|||||||||||
|
|
Рис. 4.3. Последовательное выполнение алгоритма нахождения |
||||||||||||||||
|
|
|
|
|
|
|
|
максимального потока |
|
|
|
|
|
|
|
|||
Шаг 2. |
S4 5 |
(поскольку узлы |
1 и 3 |
уже |
помечены, |
они не |
||||||||||||
включаются в S4 ). |
|
|
|
|
|
|
меткой 20, 4 |
|
||||||||||
Шаг 3. |
k 5 |
и a5 c45 |
20. Помечаем узе 5 |
сквозной |
||||||||||||||
путь. Переходим к шагу 5. |
|
|
|
|
|
|
|
|
|
|
|
|||||||
Шаг 5. |
N2 1, 2, 3, 4, 5 и f2 min , 20, 40,10, |
20 10. Вычисляем |
||||||||||||||||
остаточные пропускные способности вдоль пути N2 : |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
c12,c21 20 10, |
0 10 10, |
10 , |
|
|
|
|
||||||
|
|
|
|
|
|
c23,c32 40 10, |
0 10 30, 10 , |
|
|
|
|
|||||||
|
|
|
|
|
|
c34,c43 10 10, 5 10 0,15 , |
|
|
|
|
||||||||
|
|
|
|
|
|
c45,c54 20 10, |
0 10 10,10 . |
|
|
|
|
|||||||
Итерация 3. |
|
|
|
|
|
|
|
|
|
|
, . Полагаем |
|||||||
Шаг 1. |
Назначаем a1 и помечаем узел 1 |
меткой |
||||||||||||||||
i 1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Шаг 2. S1 2, 3, |
4 . |
|
|
|
|
|
|
|
|
|
|
|
||||||
Шаг 3. |
k 2 , назначаем a2 c12 max10,10,10 10 |
и помечаем узел |
||||||||||||||||
2 меткой 10,1 . Полагаем i 2 и возвращаемся к шагу 2. |
|
|
|
|
||||||||||||||
Шаг 2. S2 3, 5 . |
|
|
|
|
меткой 30, 2 . Полагаем |
|||||||||||||
Шаг 3. |
k 3и a3 c23 30. Помечаем узел 3 |
|||||||||||||||||
i 3 и возвращаемся к шагу 2. |
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
23 |
|
|
|
|
|
|
|
|
|
Шаг 2. S3 (поскольку c34 c35 0 ). Переходим к шагу 4.
Шаг 4. Метка 30, 2 узла 3 показывает номер предшествующего узла
r 2 . На этой итерации узел 3 в дальнейшем во внимание не принимается,
его метку вычеркиваем. Полагаем i r 2 |
и возвращаемся к шагу 2. |
||||
Шаг 2. |
S4 5 |
(поскольку узел 3 |
удален из |
возможного |
сквозного |
пути). |
|
|
|
меткой 30, |
2 сквозной |
Шаг 3. |
k 5 и |
a5 c25 30. Помечаем узе 5 |
|||
путь. Переходим к шагу 5. |
|
|
|
||
Шаг 5. |
N3 1,2,5 и f3 min ,10, 30 10. Вычисляем остаточные |
||||
пропускные способности вдоль пути N3 : |
|
|
|
||
c12,c21 10 10, 10 10 0, 20 ,c25,c52 30 10, 0 10 20,10 .
Итерация 4. На этой итерации получен путь N4 1, 3, 2, 5 с f4 10 .
Итерация 5. На этой итерации получен путь N5 1, 4, 5 с f5 10 .
Итерация 6. Новые сквозные пути невозможны, поскольку все ребра, исходящие из узла 1, имеют нулевые остаточные пропускные способности. Переходим к шагу 6 для определения решения.
Шаг 6. Максимальный объем потока в сети равен
F f1 f2 f5 20 10 10 10 10 60 единиц.
Значения потоков по различным ребрам вычисляются путем вычитания последних значений остаточных пропускных способностей (т.е. cij,cji 6 ) из
первоначальных значений пропускных способностей (Cij,Cji ). Результаты вычислений приведены в следующей таблице.
Ребро |
(C |
ij, Cji) (cij,cji )6 |
|
Величина потока |
Направления |
||||
|
|
|
|
|
|||||
(1, 2) |
(20, 0) – (0, 20) = (20, -20) |
|
20 |
1 2 |
|||||
(1, 3) |
(30, 0) – (0, 30) = (30, -30) |
|
30 |
1 3 |
|||||
|
|
|
|
|
|||||
(1, 4) |
(10, 0) – (0, 10) = (10, -10) |
|
10 |
1 4 |
|||||
(2, 3) |
|
(40, 0) – (40, 0) = (0, 0) |
|
0 |
– |
||||
(2, 5) |
(30, 0) – (10, 20) |
= (20, -20) |
|
20 |
2 5 |
||||
|
|
|
|
|
|
||||
(3, 4) |
(10, 5) – (0, 15) |
= (10, -10) |
|
10 |
3 4 |
||||
(3, 5) |
(20, 0) – (0, 20) |
= (20, -20) |
|
20 |
3 5 |
||||
(4, 5) |
(20, 0) – (0, 20) |
= (20, -20) |
|
20 |
4 5 |
||||
|
|
|
|
|
|
|
24 |
|
|
4.3 Варианты заданий
Определить максимальный поток от вершины 1 к вершине 6. (c1,c2) 5
(a1,a2) |
2 |
(d1,d2) |
(h1,h2) |
|||
|
|
|
|
|
||
|
|
(e1,e2) |
|
|
6 |
|
1 |
|
|
|
|
||
|
|
( f1, f2) |
|
|||
|
|
|
|
|||
|
|
|
|
|
(i1,i2) |
|
(b1,b2) |
|
(g1,g2) |
4 |
|||
|
|
3 |
|
|
|
|
|
|
|
б) |
|
|
|
|
|
|
(d1,d2) |
5 |
||
|
|
|
|
|
|
|
(a1,a2) |
2 |
(e1,e2) |
(h1,h2) |
|||
1 |
(c1,c2) |
( f1, f2) |
4 |
|||
|
|
|
|
|
|
(i1,i2) |
(b ,b ) |
|
(g ,g |
2 |
) 6 |
|
|
1 |
2 |
|
1 |
|
|
|
|
|
|
3 |
|
|
|
а)
Рисунок 4.3 – Варианты графов для задания 4
25
Таблица 4.1 – Варианты пропускных способностей дуг для графов на рисунке 4.3
|
|
|
|
|
|
|
|
Варианты |
|
|
|
|
|
|
|
|||
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
a1 |
3 |
8 |
20 |
16 |
15 |
3 |
9 |
18 |
16 |
8 |
5 |
12 |
14 |
13 |
20 |
18 |
20 |
6 |
a2 |
1 |
3 |
4 |
19 |
18 |
17 |
20 |
15 |
3 |
2 |
2 |
11 |
14 |
5 |
17 |
13 |
14 |
3 |
b1 |
14 |
11 |
15 |
18 |
6 |
1 |
15 |
15 |
10 |
4 |
4 |
9 |
20 |
17 |
2 |
9 |
19 |
14 |
b2 |
6 |
11 |
5 |
16 |
7 |
6 |
6 |
19 |
16 |
10 |
12 |
8 |
12 |
6 |
1 |
1 |
18 |
5 |
c1 |
12 |
10 |
9 |
19 |
17 |
5 |
2 |
16 |
16 |
16 |
14 |
11 |
18 |
11 |
13 |
4 |
12 |
7 |
c2 |
9 |
8 |
2 |
15 |
4 |
10 |
12 |
17 |
17 |
20 |
3 |
19 |
6 |
14 |
17 |
8 |
5 |
18 |
d1 |
9 |
16 |
19 |
1 |
10 |
5 |
9 |
3 |
6 |
16 |
6 |
4 |
8 |
10 |
17 |
19 |
9 |
5 |
d2 |
11 |
10 |
20 |
18 |
4 |
2 |
20 |
8 |
7 |
16 |
9 |
9 |
14 |
2 |
3 |
14 |
19 |
18 |
e1 |
12 |
14 |
3 |
19 |
4 |
18 |
10 |
14 |
14 |
9 |
6 |
17 |
13 |
1 |
8 |
16 |
3 |
3 |
e2 |
10 |
19 |
16 |
5 |
10 |
4 |
20 |
13 |
16 |
20 |
18 |
8 |
3 |
7 |
14 |
6 |
18 |
1 |
f1 |
2 |
19 |
7 |
2 |
3 |
3 |
13 |
3 |
13 |
3 |
17 |
19 |
14 |
9 |
7 |
12 |
1 |
20 |
f2 |
3 |
19 |
15 |
4 |
9 |
12 |
13 |
18 |
20 |
18 |
3 |
15 |
16 |
2 |
2 |
14 |
8 |
9 |
g1 |
7 |
1 |
7 |
15 |
5 |
20 |
13 |
3 |
14 |
18 |
3 |
18 |
16 |
17 |
15 |
9 |
20 |
17 |
g2 |
4 |
14 |
4 |
15 |
15 |
12 |
15 |
18 |
7 |
12 |
1 |
3 |
16 |
19 |
12 |
5 |
3 |
15 |
h1 |
15 |
2 |
13 |
2 |
18 |
10 |
11 |
14 |
18 |
12 |
6 |
13 |
13 |
19 |
1 |
13 |
7 |
3 |
h2 |
1 |
9 |
17 |
16 |
1 |
6 |
5 |
20 |
5 |
5 |
20 |
13 |
7 |
16 |
5 |
9 |
20 |
16 |
i1 |
9 |
12 |
7 |
9 |
9 |
4 |
2 |
3 |
20 |
14 |
18 |
14 |
6 |
10 |
11 |
1 |
10 |
9 |
i2 |
14 |
16 |
1 |
17 |
2 |
4 |
3 |
5 |
12 |
19 |
15 |
10 |
14 |
20 |
18 |
1 |
14 |
11 |
26
