- •Системный анализ и исследование операций
- •В 2 частях
- •Часть II Гомель 2005
- •Содержание
- •Введение
- •Практическая работа n1 транспортные задачи
- •Решение транспортной задачи
- •Метод северо-западного угла
- •Метод наименьшей стоимости
- •Метод Фогеля
- •Оптимизация плана транспортной задачи
- •Распределительный метод
- •Метод потенциалов
- •Практическая работа n2 транспортная задача на min времени
- •Метод запрещённых клеток.
- •Практическая работа №3 задача о назначениях
- •Решение через нуль-базис
- •Практическая работа №4 определение кратчайшего маршрута
- •Определение кратчайшего пути на сети без циклов
- •Определение кратчайшего пути на сети с циклами
- •Практическая работа № 5 пропускная способность сети
- •Алгоритм нахождения максимального потока
- •Тестовый пример
- •Практическая работа №6 календарное планирование
- •Сетевое представление программы (сетевая модель)
- •Правила построения сетевой модели
- •Расчет сетевой модели
- •Определение критического пути
- •Определение резервов времени
- •Практическая работа №7 антагонистические игры
- •Чистые и смешанные стратегии
- •Упрощение игры
- •Игровые модели. Графоаналитический метод решения
- •Практическая работа №8 игровые модели. Решение методом итераций
- •Практическая работа №9 решение задач линейного программирования с помощью игровых моделей
- •Литература
- •Приложение
- •Давыдов владимир семёнович системный анализ и исследование операций Практическое пособие
- •Часть II в авторской редакции
- •246019, Г. Гомель, ул. Советская, 104
- •246019, Г. Гомель, ул. Советская, 104
Практическая работа № 5 пропускная способность сети
Цель работы: Изучение теоретических и практических приёмов определения пропускной способности сети.
Пропускная способность сети определяется суммой максимальных потоков в двух направлениях. Таким образом, задача сводится к определению максимального потока от истока s к стоку t.
Алгоритм нахождения максимального потока
Рассмотрим задачу определения максимального потока между двумя выделенными узлами связной сети. Каждая дуга сети обладает пропускными способностями в обоих направлениях, которые определяют максимальное количество потока, проходящего по данной дуге. Ориентированная (односторонняя) дуга соответствует нулевой пропускной способности в запрещенном направлении.
Пропускные способности сij сети можно представить в матричной форме. Для определения максимального потока из истока s в сток t используются следующие шаги.
Шаг 1. Найти цепь, соединяющую s с t, по которой поток принимает положительное значение в направлении s→t. Если такой цепи не существует, перейти к шагу 3. В противном случае перейти к шагу 2.
Шаг 2. Пусть c-ij — пропускные способности дуг цепи (s, t) в направлении s→t(t→s) и =min{c-ij}>0
Матрицу пропускных способностей Cij можно изменить следующим образом:
(а) вычесть из всех c-ij;
(б) прибавить ко всем c+ij. При этом общая пропускная способность сети не изменится. Перейти к шагу 1.
Операция (а) дает возможность использовать остатки пропускных способностей дуг выбранной цепи в направлении s→t. Операция (б) восстанавливает исходные пропускные способности сети, поскольку уменьшение пропускной способности дуги в одном направлении можно рассматривать как увеличение ее пропускной способности в противоположном направлении.
Шаг 3. Найти максимальный поток в сети. Пусть С=||сij|| — исходная матрица пропускных способностей, и пусть С*=||с*ij|| — последняя матрица, получившаяся в результате модификации исходной матрицы (шаги 1 и 2).
Оптимальный поток X=||xij|| в дугах задается как
.
Максимальный поток из s в t равен
.
Тестовый пример
Рассмотрим сеть с указанными на рис.5.1 пропускными способностями.
Рис.5.1. Граф сети
Соответствующая матрица пропускных способностей С приведена в табл. 5.1. В качестве исходной цепи можно выбрать s→1→4→t.
Таким образом, ячейки (s, 1), (1, 4) и (4, t) помечаются знаком (-), а ячейки (1, s), (4, 1) и (t, 4) - знаком (+). Для данной цепи максимальный поток определяется как =min{cs1, c14, c4t=min{10, 5,13=5.
Матрица С в табл. 5.1 корректируется путем вычитания =5 из всех элементов, помеченных знаком (-), и сложения со всеми элементами, имеющими знак (+). Результаты приведены в табл. 5.2.
Табл. 5.1 .Цепь (s→1→4→t),=5 Табл. 5.2. Цепь s→3→2→t), =10
|
s |
1 |
2 |
3 |
4 |
t |
s |
|
10 |
3 |
14 |
4 |
|
1 |
5 |
|
5 |
9 |
5 |
|
2 |
5 |
6 |
|
15 |
|
10 |
3 |
12 |
7 |
10 |
|
7 |
2 |
4 |
3 |
9 |
|
8 |
|
13 |
t |
|
|
3 |
4 |
5 |
|
-
s
1
2
3
4
t
s
5
3
14
4
1
10
5
9
0
2
5
6
15
10
3
12
7
10
7
2
4
3
14
8
8
t
3
4
10
Результаты последующих итераций приведены в табл. 5.3-5.6.
Табл. 5.3. =5 Табл. 5.4. =3 Цепь (s→1→3→4→t) Цепь (s→1→3→4→t)
|
s |
1 |
2 |
3 |
4 |
t |
s |
|
5 |
3 |
4 |
4 |
|
1 |
10 |
|
5 |
9 |
0 |
|
2 |
5 |
6 |
|
25 |
|
0 |
3 |
22 |
7 |
0 |
|
7 |
2 |
4 |
3 |
14 |
|
8 |
|
8 |
t |
|
|
13 |
4 |
10 |
|
-
s
1
2
3
4
t
s
0
3
4
4
1
15
5
4
0
2
5
6
25
0
3
22
12
0
2
2
4
3
14
13
3
t
13
4
15
Табл.5.5. Цепь (s→3→t), =2 Табл. 5.6. Нет стока
|
|
s |
1 |
2 |
3 |
4 |
t |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
s |
|
0 |
3 |
2 |
1 |
|
||||||||||||||
|
1 |
15 |
|
5 |
4 |
0 |
|
||||||||||||||
|
2 |
5 |
6 |
|
25 |
|
0 |
||||||||||||||
|
3 |
24 |
12 |
0 |
|
2 |
0 |
||||||||||||||
|
4 |
6 |
14 |
|
13 |
|
0 |
||||||||||||||
|
t |
|
|
13 |
4 |
20 |
|
||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
s |
1 |
2 |
3 |
4 |
t |
s |
|
0 |
3 |
4 |
1 |
|
1 |
15 |
|
5 |
4 |
0 |
|
2 |
5 |
6 |
|
25 |
|
0 |
3 |
22 |
12 |
0 |
|
2 |
2 |
4 |
6 |
14 |
|
13 |
|
0 |
t |
|
|
13 |
4 |
18 |
|
В табл. 5.7 дана матрица X, а табл. 5.8 приведена рядом для удобства сравнений исходной матрицы и матрицы потоков.
Таблица 5.7. Таблица 5.8.
Матрица оптимального потока Исходная матрица
|
s |
1 |
2 |
3 |
4 |
t |
s |
|
10 |
|
12 |
3 |
|
1 |
|
|
|
5 |
5 |
|
2 |
|
|
|
|
|
10 |
3 |
|
|
10 |
|
5 |
2 |
4 |
|
|
|
|
|
13 |
t |
|
|
|
|
|
|
|
s |
1 |
2 |
3 |
4 |
t |
s |
|
10 |
3 |
14 |
4 |
|
1 |
5 |
|
5 |
9 |
5 |
|
2 |
5 |
6 |
|
15 |
|
10 |
3 |
12 |
7 |
10 |
|
7 |
2 |
4 |
3 |
9 |
|
8 |
|
13 |
t |
|
|
3 |
4 |
5 |
|
.
Из табл. 5.8 видно, что z=10+12+3=10+2+13=25. Сумма всех (=5+10+5+3+2=25) также дает максимальный поток. В табл.5.8 показана исходная матрица с отметкой узлов, через которые происходит сток.