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

3.7. Нахождение максимального потока в транспортной сети алгоритмом Форда-Фалкерсона

Рассмотрим задачу поиска максимального потока в транспортной сети с 10 вершинами (вершина 1 - исток, вершина 10 -сток), матрица пропускных способностей дуг Q имеет вид:

i\j

1

2

3

4

5

6

7

8

9

10

1

4

1

3

2

2

2

3

2

4

3

3

5

3

3

6

3

2

7

4

8

3

9

2

Строим последовательность вершин из истока:

1, 2,4,3, 2,5,7,4,6,3,5,10.

Схема построения последовательности:

из истока 1 по ненасыщенным дугам есть пути в вершины 2,4,3.

Первая не рассмотренная вершина 2 связана с вершинами 6 и 7 (по ненасыщенным дугам). Следующая не рассмотренная вершина 4 связана с вершиной 6. Следующая не рассмотренная вершина 3 не порождает ни одной новой вершины.

Вершина 5 не соединена ни с одной новой вершины. Из вершины 5 существует ненасыщенная дуга, ведущая в сток (вершина 10).

Получили существование маршрута по ненасыщенным ребрам из истока в сток:

1 - 2 -5 - 10, максимальная величина груза, который можно перевезти по этому маршруту равно 2.

Уменьшаем пропускные способности дуг, составляющих найденный маршрут:

Из вершины 1 в вершину 2 пропускная способность станет равна 4-2=2, в обратном направлении из вершины 2 в вершину 1 пропускная способность увеличится 0+2=2 .

Из вершины 2 в вершину 5 пропускная способность станет равна 2-2=0, в обратном направлении из вершины 5 в вершину 2 пропускная способность увеличится 0+2=2 .

Из вершины 5 в вершину 10 пропускная способность станет равна 3-2=1, в обратном направлении из вершины 10 в вершину 5 пропускная способность увеличится 0+2=2 .

Строим новую последовательность вершин из истока:

1, 2,4,3, 2,7,4,6,3,7,10.

Получили существование маршрута по ненасыщенным ребрам из истока в сток:

1 - 2 -7 - 10, максимальная величина груза, который можно перевезти по этому маршруту равно 2.

Уменьшаем пропускные способности дуг, составляющих найденный маршрут:

Из вершины 1 в вершину 2 пропускная способность станет равна 2-2=0, в обратном направлении из вершины 2 в вершину 1 пропускная способность увеличится 2+2=4 .

Из вершины 2 в вершину 7 пропускная способность станет равна 2-2=0, в обратном направлении из вершины 7 в вершину 2 пропускная способность увеличится 0+2=2 .

Из вершины 7 в вершину 10 пропускная способность станет равна 4-2=2, в обратном направлении из вершины 10 в вершину пропускная способность увеличится 0+2=2 .

Строим новую последовательность вершин из истока:

1, 4,3, 4,6,7,3,6,9,7,10.

Получили существование маршрута по ненасыщенным ребрам из истока в сток:

1 - 4 -7 - 10, максимальная величина груза, который можно перевезти по этому маршруту равно 2.

Уменьшаем пропускные способности дуг, составляющих найденный маршрут:

Из вершины 1 в вершину 4 пропускная способность станет равна 3-2=1, в обратном направлении из вершины 4 в вершину 1 пропускная способность увеличится 0+2=2 .

Из вершины 4 в вершину 7 пропускная способность станет равна 3-2=1, в обратном направлении из вершины 7 в вершину пропускная способность увеличится 0+2=2 .

Из вершины 7 в вершину 10 пропускная способность станет равна 2-2=0 в обратном направлении из вершины 10 в вершину пропускная способность увеличится 2+2=4 .

Строим новую последовательность вершин из истока:

1, 4,3, 4,7,6,3,7,6,9,9,10.

Получили существование маршрута по ненасыщенным ребрам из истока в сток:

1 - 4 - 6 - 9 - 10, максимальная величина груза, который можно перевезти по этому маршруту равна 1.

Уменьшаем пропускные способности дуг, составляющих найденный маршрут:

Из вершины 1 в вершину 4 пропускная способность станет равна 1-1=0, в обратном направлении из вершины 4 в вершину 1 пропускная способность увеличится 2+1=3 .

Из вершины 4 в вершину 6 пропускная способность станет равна 3-1=2, в обратном направлении из вершины 6 в вершину 4 пропускная способность увеличится 0+1=1 .

Из вершины 6 в вершину 9 пропускная способность станет равна 2-1=1 в обратном направлении из вершины 9 в вершину 6 пропускная способность увеличится 0+1=1 .

Из вершины 6 в вершину 9 пропускная способность станет равна 2-1=1 в обратном направлении из вершины 9 в вершину 6 пропускная способность увеличится 0+1=1 .

Из вершины 9 в вершину 10 пропускная способность станет равна 2-1=1 в обратном направлении из вершины 10 в вершину 9 пропускная способность увеличится 0+1=1.

Строим новую последовательность вершин из истока:

1, 3, 3,6,6,4,7,9,4,7,2,9,10.

Получили существование маршрута по ненасыщенным ребрам из истока в сток:

1 - 3 - 6 - 9 - 10, максимальная величина груза, который можно перевезти по этому маршруту равна 1.

Уменьшаем пропускные способности дуг, составляющих найденный маршрут:

Из вершины 1 в вершину 3 пропускная способность станет равна 1-1=0, в обратном направлении из вершины 3 в вершину 1 пропускная способность увеличится 0+1=1 .

Из вершины 3 в вершину 6 пропускная способность станет равна 2-1=1, в обратном направлении из вершины 6 в вершину 3 пропускная способность увеличится 0+1=1 .

Из вершины 6 в вершину 9 пропускная способность станет равна 2-1=1 в обратном направлении из вершины 9 в вершину 6 пропускная способность увеличится 0+1=1 .

Из вершины 9 в вершину 10 пропускная способность станет равна 2-1=1 в обратном направлении из вершины 10 в вершину 9 пропускная способность увеличится 0+1=1 .

Из вершины 9 в вершину 10 пропускная способность станет равна 2-1=1 в обратном направлении из вершины 10 в вершину 9 пропускная способность увеличится 0+1=1.

Строим новую последовательность вершин:

1.

Из вершины 1 нет маршрута по ненасыщенным ребрам в сток, т.е. по теореме Форда-Фалкерсона найденный поток максимален.

Решение задачи определяется матрицей X:

1

2

3

4

5

6

7

8

9

10

1

4

1

3

2

-4

2

2

3

-1

1

4

-3

1

2

5

-2

2

6

-1

-1

2

7

-2

-2

4

8

9

-2

2

10

-2

-4

-2

Величина максимального потока равна

F(X’)=8.

Найти максимальный поток в транспортной сети.

Задача 7.1.

i\j

1

2

3

4

5

6

7

8

9

10

1

3

1

3

2

1

4

3

2

4

3

3

5

3

3

6

3

2

7

2

8

3

9

2

Задача 7.2.

i\j

1

2

3

4

5

6

7

8

9

10

1

4

2

4

2

1

2

3

2

4

3

1

5

3

3

6

3

2

7

2

8

3

9

2

Задача 7.3.

i\j

1

2

3

4

5

6

7

8

9

10

1

2

3

3

2

2

2

3

2

4

3

3

5

3

3

6

3

2

7

1

8

3

9

2

Задача 7.4.

i\j

1

2

3

4

5

6

7

8

9

10

1

5

6

3

2

4

2

3

2

4

5

3

5

3

3

6

3

5

7

4

8

3

9

3

Задача 7.5.

i\j

1

2

3

4

5

6

7

8

9

10

1

3

5

3

2

2

2

3

2

4

3

3

5

3

3

6

3

2

7

3

8

3

9

3

Задача 7.6.

i\j

1

2

3

4

5

6

7

8

9

10

1

4

3

3

2

4

2

3

1

4

3

2

5

3

3

6

2

2

7

5

8

3

9

2

Задача 7.7.

i\j

1

2

3

4

5

6

7

8

9

10

1

4

2

3

2

4

2

3

2

4

3

3

5

3

3

6

3

2

7

4

8

3

9

2

Задача 7.8.

i\j

1

2

3

4

5

6

7

8

9

10

1

4

3

2

2

4

2

3

2

4

3

3

5

3

3

6

2

2

7

4

8

4

9

2

Задача 7.9.

i\j

1

2

3

4

5

6

7

8

9

10

1

2

5

3

2

3

2

3

5

4

3

3

5

3

3

6

3

2

7

4

8

4

9

2

Задача 7.10.

i\j

1

2

3

4

5

6

7

8

9

10

1

1

5

3

2

2

2

3

2

4

3

3

5

3

3

6

3

2

7

4

8

3

9

3