Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дима.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.53 Mб
Скачать

3.3. Задача о максимальном потоке (алгоритм Форда-Фалкерсона)

При анализе транспортных сетей часто возникает задача определения максимального потока, может пропустить данная сеть, а также задача распределения этого потока по дугам сети.

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

Алгоритм для нахождения максимального потока был предложен Фордом и Фалкерсоном и заключается в постепенном увеличении потока, пропускаемого по сети до тех пор, пока он не станет наибольшим. Алгоритм основан на теореме Форда-Фалкерсона: в любой транспортной сети максимальный поток из источника в сток , равна минимальной пропускной способности разреза, отделяет от .

  1. Решение задач моделирования транспортной сети

4.1. Задача поиска кратчайшего пути (наименьшей длины)

На рис. 4.1 показана транспортная сеть, состоящая из девяти городов (расстояние между городами (в километрах) приведена у дуг сети). Необходимо найти кратчайшее расстояние от города Львов (узел 8) до всех городов.

Рис. 4.1. Транспортная сеть

Шаг 0. Назначаем узловые 8 постоянную метку [0, -].

Шаг 1. Из узла 8 можно достичь узлов 10, 26, 21, 9 и 25. Вычисляем метки для этих узлов, в результате получаем следующую таблицу меток:

Узел

Метка

Статус метки

8

Постоянная

10

<-Временная

26

Временная

21

Временная

9

Временная

25

Временная

Среди узлов 10, 26, 21, 9 и 25, узел 10 имеет наименьшее значение расстояния ( ). Поэтому статус метки этого узла изменяется на «постоянная».

Шаг 2. Из узла 10 (последнего узла с постоянной меткой) можно попасть в узел 26. Получаем следующий список узлов:

Узел

Метка

Статус метки

8

Постоянная

10

Постоянная

26

<-Временная

26

Временная

21

Временная

9

Временная

25

Временная

Временный статус метки узла 26 заменяется на постоянный ( ).

Шаг 3. Из узла 26 можно достичь узов 21 и 32. После вычисления меток получим следующий их список:

Узел

Метка

Статус метки

8

Постоянная

10

Постоянная

26

Постоянная

21

<- Временная

21

Временная

9

Временная

25

Временная

32

Временная

Временный статус метки узла 21 заменяется на постоянный ( )

Шаг 4. Из узла 21 можно достичь узлов 32 и 9. После вычисления меток получим следующий их список:

Узел

Метка

Статус метки

8

Постоянная

10

Постоянная

26

Постоянная

21

Постоянная

9

<-Временная

9

Временная

25

Временная

32

Временная

32

Временная

Временный статус метки узла 9 заменяется на постоянный ( ).

Шаг 5. Из узла 9 можно достичь узлов 32, 35 и 25. После вычисления меток получим следующий их список:

Узел

Метка

Статус метки

8

Постоянная

10

Постоянная

26

Постоянная

21

Постоянная

9

Постоянная

25

<-Временная

25

Временная

32

Временная

32

Временная

35

Временная

Временный статус метки узла 25 заменяется на постоянный ( ).

Шаг 6. Из узла 25 можно достичь узлов 35 и 3. После вычисления меток получим следующий их список:

Узел

Метка

Статус метки

8

Постоянная

10

Постоянная

26

Постоянная

21

Постоянная

9

Постоянная

25

Постоянная

32

<-Временная

3

Временная

35

Временная

35

Временная

Временный статус метки узла 32 заменяется на постоянный ( ).

Шаг 7. Из узла 32 можно достичь узлов 35 и 3. После вычисления меток получим следующий их список:

Узел

Метка

Статус метки

8

Постоянная

10

Постоянная

26

Постоянная

21

Постоянная

9

Постоянная

Узел

Метка

Статус метки

25

Постоянная

32

Постоянная

3

Временная

3

Временная

35

<-Временная

35

Временная

Временный статус метки узла 35 заменяется на постоянный ( ).

Шаг 8. Из узла 35 можно достичь узел 3. После вычисления меток получим следующий их список:

Узел

Метка

Статус метки

8

Постоянная

10

Постоянная

26

Постоянная

21

Постоянная

9

Постоянная

25

Постоянная

32

Постоянная

35

Постоянная

3

Временная

3

<-Временная

На последнем шаге найдено самое короткое расстояние до узла 3 - . Таким образом статус метки 3 узла меняется на постоянный.

Конечный результат меток имеет следующий вид:

Узел

Метка

Статус метки

8

Постоянная

10

Постоянная

26

Постоянная

21

Постоянная

9

Постоянная

25

Постоянная

32

Постоянная

35

Постоянная

3

Постоянная

Кратчайший путь между узлом 8 и любым другим узлом определяется начиная с узла назначения путем прохождения их в обратном направлении с помощью информации, представленной в постоянных меткам. Кратчайший маршрут между узлами 8 и 3 имеет такую последовательность узлов:

Таким образом, получаем путь общей протяженностью 1429 км.