Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
36
Добавлен:
15.04.2015
Размер:
508.93 Кб
Скачать

3.3. Решение задачи о максимальном потоке в графе

на основе линейного программирования

Рассмотрим сеть (рис. 3.3) с одним истоком (вершина 1) и одним стоком (вершина 4), на которой заданы пропускные способности дугc1=11,с2=7, с3=5, с4=8. Обозначим величину потока из вершины 1 в вершину 2 черезх1, из 2 в 4 – черезх2, из 1 в 3 – черезх3, из 3 в 4 – черезх4. Произвольно задаватьхi (i=1..4)нельзя. Эти числа должны удовлетворять ряду ограничений.

2 7

11 х1 х2 4

1 х3 х4

5 3 8

Рис. 3.3

1. Поток дуги не может быть больше её пропускной способности:

0£ х1£11, 0£ х2£7, 0£ х3£5, 0£ х4£8.

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

х1–х2=0, х3–х4=0.

3. Вводится понятие суммарного потока Ф на конечных дугах сети, отличное от понятия потока на дуге xi, i=1..4. Сумма потоков, исходящих из начальной вершины, равен сумме потоков, входящих в конечную вершину:

х13=Ф, х24=Ф.

Возникает задача: определить величину максимального потока в графе при заданных пропускных способностях, т.е. найти хi, i=1..4, удовлетворяющие условиям 1 – 3, максимизирующие целевую функциюFmax=Ф.

Существуют различные методы решения задач линейного программирования. Одним из наиболее распространённых методов решения задачи ЛП является симплексный метод. Он позволяет за конечное число шагов определить область допустимых базисных решений и найти оптимальное решение задачи.

Сначала необходимо представить задачу в удобном для программирования виде. Для этого заменим в уравненияхФнах5, а часть равенств представим в виде неравенств (для решения задачи стандартным симплекс-методом). Получаем задачу ЛП:

Fmax=x5.

В соответствии с этим можно записать начальную симплекс -таблицу.

Таблица 3.1

– x1

– x2

– x3

– x4

– x5

B

0

1

0

1

0

–1

0

0

0

1

0

1

–1

0

Y3

–1

1

0

0

0

0

Y4

1

–1

0

0

0

0

Y5

0

0

–1

1

0

0

Y6

0

0

1

–1

0

0

Y7

1

0

0

0

0

11

Y8

0

1

0

0

0

7

Y9

0

0

1

0

0

5

Y10

0

0

0

1

0

8

Fmax

0

0

0

0

–1

0

Решая задачу, получим конечную симплекс-таблицу с решением прямой задачи:

Таблица 3.2

0

0

– y9

– y4

– y8

B

X1

0

0

0

1

1

7

X2

0

0

0

0

1

7

Y3

0

0

0

1

0

0

X4

–1

1

1

1

0

5

Y5

1

–1

0

–1

0

0

Y6

–1

1

0

1

0

0

Y7

0

0

0

–1

–1

4

X5

–1

0

1

1

1

12

X3

0

0

1

0

0

5

Y10

1

–1

–1

–1

0

3

Fmax

–1

0

1

1

1

12

Решение задачи для исходных переменных:

x1=7; x2=7; x3=5; x4=5; x5=12;

при этом Fmax=12.

Соседние файлы в папке ДМ