1) задание начального значения потока. Удобно задавать нулевое начальное значение (V0=0);
2) построение увеличивающей цепи от входа к выходу сети. Если такой цепи нет, то максимальный поток построен, и его величина Vmax=
,в противном случае переходят к пункту 33) увеличение вдоль построенной цепи значения потока на максимально возможную величину
, при этом по каждой увеличивающей дуге поток увеличится на , а по каждой уменьшающей дуге уменьшается на .Определим максимальный поток для сети, показанной на рисунке 8. Начальный поток в сети задан, следовательно пункт 1 алгоритма выполнен.
Увеличим поток вдоль цепи (s,1,2,4,t). Вдоль дуги (s,1) поток можно увеличить на разницу между пропускной способностью этой дуги 9 и уже проходящим по ней потоком 6 (9 – 6 = 3).
Вдоль дуги (1,2) аналогичным образом поток можно увеличить на 3.
Дуга (2,4) является уменьшающей. Максимальная величина, на которую можно увеличить поток по ней равна 2, т.е. значению уже проходящего по ней потока. По дуге (4,t) поток можно увеличить на 3.
Таким образом, максимальная величина
, на которую можно увеличить поток, составляет наименьшую из величин = min(3,3,2,3) = 2, при этом на каждой увеличивающей дуге поток увеличивается на эту величину, а по каждой уменьшающей – уменьшается.Новое значение потока записано в скобках над дугой ( рисунок 10).
После такого перераспределения значение потока увеличилось на 2 и стало равным V = 11(8+3=6+5), а условие сохранения потока в вершинах сети по-прежнему выполняется. Заметим, что если увеличить поток не на 2, а на 3, то на дуге (4,2) получим отрицательное значение -1, что противоречит свойству неотрицательности потока. Рассмотрим теперь цепь (s,1,2,t). Эта цепь увеличивающая, т. к. все дуги – допустимые. Поток вдоль этой цепи можно увеличить на
= min (9 – 8;6 – 5; 10 – 5) = 1.Рисунок 10 – Построение максимального потока
Новое значение потока указано во вторых скобках на рисунке 10.
Заметим, что если допустить увеличение потока на 5, то поток по дугам (s,1) и (1,2) превзойдет пропускную способность этих дуг.
Затем рассмотрим цепь (s,3,4,t):
=min (8 – 3; 4 – 3; 7 – 6) = 1.Больше увеличивающих цепей нет, следовательно максимальный поток построен. Его величина Vmax = 11 + 1 + 1 = 9 + 4 = 6 + 7 = 13.
Минимальный разрез АА, соответствующий этому потоку, содержит дуги: {(1,2);(1,4);(3,4)}, а его пропускная способность 6 + 3 + 4 = 13 соответствует величине максимального потока.
Следовательно, что значение
, на которое увеличивается поток вдоль увеличивающей цепи, определяется следующим образом: или , в зависимости от типа дуги.Таким образом, мы получаем сетевую модель нефтепровода максимальной пропускной способности.
Использование сетевых методов дает возможность увязать во времени программу производства работ, планировать последовательность их выполнения, выявлять и устранять возникающие в процессе реализации нарушения. Анализ сетевых моделей позволяет: определить, от каких операций и в какой степени зависит срок выполнения всей программы; предвидеть появление "узких мест"; выделить второстепенные, с точки зрения времени реализации программы, работы, сокращение продолжительности которых не только не приведет к уменьшению времени выполнения всей совокупности операций, но и может привести к увеличению стоимости работ и простоев рабочих и оборудования. Кроме того, сетевые методы позволяют дать обоснованные, в том числе и с экономической точки зрения, ответы на вопросы организации выполнения работ программы.
1. Беллман Р. Динамическое программирование. – М., 2008.
2. Ромакин М.И. Оптимизация планирования производства: экономико-математические модели и методы. М., Финансы и статистика, 2007.
3. Майника Э. Алгоритмы оптимизации на сетях и графах. – М., Мир, 2009.
4. Лотов А.В. Введение в экономико-математическое моделирование. – М., Наука, 2006.
5. Справочник по математике для экономистов. Под ред. В.И. Ермакова. М., – Высшая школа, 2008.