Задача о кратчайшем пути




 

Необходимо найти кратчайший путь между пунктами 0 и 8.

 
 

 
 

 


 

7 11

 

6 10 9

 

7 9

11 5 3

 

 

12 13

 

X0 = 0

X1 = +¥ = 3

X2 = +¥ = 6

X3 = +¥ = 12

X4 = +¥ = 13

6 + 7

3 + 11

X5 = +¥ = 15

3 + 12

X6 = +¥ = 16

7 + 12

6 + 10

X7 = +¥ = 18

13 + 5

X8 = +¥ = 21

12 + 11

16 + 9

13 + 9

13 + 5 + 3

15 + 13

 

Таким образом, кратчайшее расстояние между двумя пунктами 0 и 8 = 6 + 7 + 5 + 3 = 21

 

 

Задача о максимальном потоке в сети

 

 

Постановка задачи

 

Рассмотреть задачу о максимальном потоке в сети. Решить конкретную задачу на сети с 8-9 вершинами.

 

 

Исходные данные

 

Определить максимальный поток в сети, изображенной на Рисунке 6 из вершины x0 в вершину x8, где числа на дугах, снабженные стрелками, означают пропускные способности этих дуг в указанных направлениях.

 
 

Рисунок 6

 

 

Решение

 

Составим матрицу пропускных способностей дуг данной сети и представим сеть в матричной форме (см. Таблицу 1).

 

Таблица 1

x0xj xi x1 x2 x3 x4 x5 x6 x7  
x0     2-          
x1                
x2                
x3+             6-  
x4                
x5                
x6                
x7     +          

 

В качестве начального возьмем нулевой поток z0ij = 0. Найдем какой-нибудь путь, идущий из x0 в x7 по ненасыщенным дугам. Для этого в нулевой строке таблицы выберем какой-нибудь элемент cij, отличный от нуля, например c03. Из вершины x0 можно перейти в x3. Для наглядности дугу (x0, x3) проведем прямо в нулевой строке таблицы из нулевого столбца в 3-й. Теперь мы находимся в вершине x3. Чтобы зафиксировать это, сместимся по пятому столбцу до строки с тем же 3-м номером. В 3-й строке имеется 3 ненулевых элемента соответственно в 4-м, 5-м и 7-м столбцах. Это означает, что из x3 можно перейти или в x4, в x5 или в x7. Пойдем в сток x7. Этот переход изображен стрелкой в 3-й строке с началом в 3-м столбце и концом в 7-м. Таким образом, по таблице пропускных способностей дуг сети мы нашли путь, ведущий по ненасыщенным дугам из источника в сток:

 

m1 = [x0, x3, x7].

 

Теперь по таблице надо узнать пропускную способность q1 найденного пути и уменьшить пропускные способности всех дуг этого пути на q1, а симметричных им дуг – увеличить на q1. Для этого отмечаем знаком «-» числа в тех клетках, где находятся концы дуг, а числа в клетках, симметричных указанным относительно главной диагонали, отмечаем знаком «+». Пропускная способность найденного пути, очевидно, равна наименьшему среди чисел, отмеченных знаком «-» (Таблица 1).

 

q1 = 2

 

Из всех чисел, отмеченных знаком «-», вычитаем наименьшую пропускную способность q1. Получаем Таблицу 2. Это – сеть с измененными пропускными способностями дуг.

 

Таблица 2

x0xj xi x1 x2 x3 x4 x5 x6 x7  
x0   4-            
x1                
x2+       3-        
x32                
x4   2+         5-  
x5                
x6                
x7       5+        

 

Ищем новый путь, идущий из источника в сток по ненасыщенным дугам и процедуру повторяем. Получаем путь m2 и пропускную способность q2:

 

m2 = [x0, x2, x4, x7]

q2 = 3

 

Далее

 

Таблица 3

x0xj xi x1 x2 x3 x4 x5 x6 x7  
x0 2-              
x1+         5-      
x23                
x32                
x4                
x5 4+         3-    
x6         2+   8-  
x7           2+    

 

m3 = [x0, x1, x5, x6, x7]

q3 = 2

 

Таблица 4

x0xj xi x1 x2 x3 x4 x5 x6 x7  
x0                
x12                
x23                
x32                
x4                
x5                
x6                
x7                

 

Из Таблицы 4 видно, что не существует ни одного пути из источника в сток. (Из x0 можно перейти только в x2, а оттуда – обратно в x0). Следовательно, увеличить поток нельзя.

 

Для определения величины полученного максимального потока вычитаем из элементов Таблицы 1 соответствующие элементы Таблицы 4. Записывая только положительные из найденных разностей, получаем Таблицу 5, указывающую максимальный поток в заданной сети с величиной

 

w* = z37 + z47 + z67 = q1 + q2 + q3 = 7

 

Таблица 5

x0xj xi x1 x2 x3 x4 x5 x6 x7  
x0                
x1                
x2                
x3                
x4                
x5                
x6                
x7                

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-02-24 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: