Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ММПР для БА 4 (ОЗО).docx
Скачиваний:
164
Добавлен:
11.02.2015
Размер:
665.54 Кб
Скачать

Вопрос 4. Задача о потоке минимальной стоимости. Алгоритм Басакера-Гоуэна нахождения оптимального потока.

Пусть задана сеть G(V, E), в которой каждой ее дуге приписаны 2 значения: пропускная способность и– стоимость доставки единицы потока по дуге. Требуется найти поток заданной величиныB из источника в сток минимальной стоимости. Под стоимостью потока будем понимать стоимость доставки того или иного количества вещества из источника в сток.

Математическая модель задачи имеет вид:

Путь минимальной стоимости – это путь, у которого сумма стоимостей, приписанных дугам, является минимальной. Можно последовательно находить различные пути минимальной стоимости и пропускать потоки по ним до тех пор, пока суммарная величина потока по всем путям не будет равна заданной величине B. На этой идее основан алгоритм Басакера-Гоуэна:

  1. Полагаем все дуговые потоки и величину потока на сети равной 0.

  2. Находим путь минимальной стоимости , используя стоимости, приписанные дугам на предыдущей итерации.

  3. Определяем пропускную способность найденного пути

Определяем величину потока

, где k – текущая итерация.

Если получим, что величина =, то переходим к заключительному этапу, иначе – продолжаем алгоритм.

  1. Находим величину потока по каждой дуге, принадлежащей найденному пути :

.

Пропускные способности дуг, симметричных дугам пути полагаем равными величинам соответствующим дуговых потоков.

  1. Определяем модифицированные дуговые стоимости по формуле

Если для какой-то дуги , то модифицированная стоимость симметричной ей дуги равна величине, взятой с обратным знаком. Возвращаемся к 1-му этапу.

Заключительный этап:

вычисляем величину стоимости потока по формуле .

Пример 5: Найти поток из вершины в вершину величины B=3 на сети, представленной на рисунке 8, обладающий минимальной стоимостью. Первое число, приписанное каждому ребру, означает пропускную способность, второе – стоимость доставки единицы потока по ребру из одной вершины в другую. Доставка по любому ребру может осуществляться в любом направлении.

Рисунок 8

Считаем, что все xij=0,

Итерация 1

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

  1. Определяем пропускные способности найденных путей и величину потока

Выберем для рассмотрения путь .

  1. Определяем величины потоков по дугам сети и пропускные способности дуг, симметричных дугам пути:

  1. Определяем модифицированные стоимости дуг пути по формуле

,

Итерация 2

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

  1. Определяем пропускные способности найденных путей и величину потока

В этом случае поток пропускаем сразу по 2 путям, так как пропускные способности общих дуг равны 2 единицам. Сумма

Следовательно, переходим к заключительному этапу.

Находим стоимость потока

При этом потоки по дугам взаимно погашаются.