Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Виклад алгоритму Форда-Фалкерсона



Алгоритм складається з послідовних iтерацiй, які проводяться до тих пір, поки не буде виконуватись ознака оптимальності.

На кожній iтерацiї можна виділити два етапи.

Етап 1 (етап виставлення позначок).

1. В кожний момент часу кожна вершина може знаходитись в одному з трьох положень:

а) непозначена;

б) позначена, але не проглянута;

в) позначена i проглянута.

Загальний вигляд позначки j -ї вершини: [ i+,j ], або [ i,j ], де i – номер деякої позначеної вершини, при прогляданнi якої була позначена вершина j. Вершина 1 завжди позначена та має позначку [1 +,1 ], де 1 рівне + (нескінченності).

2. Проглядання довільної позначеної вершини j полягає у такому:

a) довільна непозначена вершина k, для якої існує дуга (j,k) i має місце нерівність xjk < rjk, отримує позначку вигляду [ j+,k ], де

k = min { j, rjkxjk };

б) довільна непозначена вершина k, для якої існує дуга (k,j) i має місце умова xkj >0, отримує позначку вигляду [ j,k ], де

k = min { j, xkj }.

3. Виставлення позначок закінчується в одному з двох випадків:

а) вершина з номером n позначена;

б) умова а) не виконується, але жодної вершини більше позначити не можна.

В першому випадку переходимо до етапу зміни потоку. У другому – до визначення мінімального розрізу мережі i максимального потоку.

Етап 2 (етап зміни потоку).

Потiк в мережі змінюється на величину n відповідно до правила. Якщо вершина n має позначку [ k+,n ], де k – номер деякої вершини, то xkn = xkn + n. Якщо позначка має вигляд [ k,n ], то xnk = xnkn. Переходимо до вершини з номером k. Якщо позначка вершини k має вигляд [ j+,k ], то xjk = xjk + n; якщо вона дорівнює [ j,k ], то xkj = xkjn. Подібні дії продовжуємо доти, поки не буде досягнута початкова вершина. В цьому випадку всі старі позначки витираємо i повертаємось до першого етапу.

В результаті роботи за алгоритмом визначаються мінімальний розріз мережі i, як наслідок, максимальний потік. Мiнiмальний розріз визначається сукупністю дуг, що виходять з множини позначених вершин i заходять у множину непозначених.

Величина максимального потоку дорівнює сумарній пропускній здатності мінімального розрізу.

Задача про найкоротший шлях в мережi. Метод Мiнтi





Дата публикования: 2015-09-18; Прочитано: 306 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...