Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискр_матем_МУ.doc
Скачиваний:
11
Добавлен:
22.07.2019
Размер:
1.63 Mб
Скачать

Нахождение кратчайшего пути на графе с ребрами произвольной длины

Задача приписывания вершинам графа числовых индексов усложняется, если ребра графа имеют произвольную длину . Усложнение вызвано тем, что в сложном графе путь, проходящий через наименьшее число вершин, нередко имеет большую длину, чем некоторые обходные пути.

Отметим два свойства , которыми будут обладать приписанные вершинам индексы :

1.Пусть - произвольное ребро. Для него обязательно выполняется условие .

2.Пусть - произвольная вершина. При рассмотренном процессе приписывания индексов , индекс монотонно уменьшается.

Пусть - последняя вершина , послужившая для его уменьшения. Тогда . Следовательно, для произвольной вершины с индексом

найдется вершина , соединенная с вершиной такая, что .

Процесс приписывания индексов для такого вида графа выполняется следующим образом :

1. Каждая вершина помечается индексом .Первоначально конечной вершине приписывается индекс Для остальных вершин, предварительно полагая, .

2. Последовательно анализируя вершины и ребра графа в направлении от конечной вершины к начальной, ищем такую дугу ,длина которой обеспечивает истинность неравенства

3. Если такая дуга имеется , то индекс заменяется индексом

.

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

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

Пусть - начальная вершина с индексом . Ищем вершину такую, что . Далее ищем вершину такую, что и так до тех пор, пока не дойдем до конечной вершины .

Путь , длина которого равна , является кратчайшим.

Пример.

8 6

16 5

5 9

4

а 13 2 в

  1. 1

3 4

1

10 4 6

Задачи, решаемые методами теории потоков

В соответствии с инженерной концепцией вначале дадим формулировки основных задач, которые решаются с помощью алгоритма нахождения максимального потока.

Транспортная задача. Имеется m пунктов отправления и n пунктов назначения груза. Заданы стоимости перевозок между каждым пунктом отправления и назначения, число наличных транспортных средств в каждом пункте отправления, а также потребное количество товара в каждом пункте назначения. Требуется составить план перевозок товара, обеспечивающий минимальные издержки. Решение должно быть целочисленным.

Задача о спросе и предложении. Оптовый торговец в каждый из N последовательных интервалов может покупать, продавать и хранить (чтобы продать позже) некоторый товар. Причем в каждый i период задаются: верхняя граница ai количества товара, больше которого торговец купить не может; верхняя граница ci количества товара, которое он может хранить, и нижняя граница bi количества товара, которое он может продать. Заданы стоимости покупки, продажи и хранения в каждый i период. Требуется определить оптимальную стратегию торговца, при которой он получит максимальную прибыль за N периодов.

Задача об оптимальном использовании дорог. Из различных городов xi, в пункт назначения у отправляются машины (при заданном начальном количестве ai машин в пункте xi). Заданы продолжительности tij движения автомобилей по дорогам между пунктами xi и xj; максимальное количество машин cij, которое может пропустить эта дорога; максимальное количество машин cii, которое может находиться в пункте xi . Требуется составить оптимальный план движения автомобилей таким образом, чтобы в течение времени Т в пункт назначения у прибыло максимальное число автомашин.

Задача о кратчайшем пути. Пусть задана транспортная сеть, в которой имеются исток и сток. Для каждой дуги указаны стоимости проезда (может быть указан километраж или время проезда).

Требуется найти путь, соединяющий начальную и конечную точки, суммарная стоимость проезда по которому была бы минимальна.

Задача об оптимальном назначении. Требуется распределить n рабочих по m машинам при известной производительности труда и каждого рабочего на каждой машине таким образом, чтобы общая производительность труда была максимальной.

Задача о складе. Пусть задана емкость склада: количество товара, помещенное вначале; цены на товары, покупаемые и продаваемые в каждый i период времени, и расходы в этот период, связанные с хранением единицы товара. Требуется определить оптимальное количество товара, который должен быть куплен и продан в разные периоды времени r1, r2, … ,rN таким образом, чтобы суммарная прибыль за N периодов была максимальна. Причем считается, что количество товара на складе в начале и в конце процесса купли-продажи равно.

Задача о поставщике. Поставщик салфеток точно знает, сколько ему потребуется свежих салфеток на каждый из последующих дней. Он может выбрать одну из двух или обе следующие стратегии: покупать новые салфетки или пользоваться салфетками, выстиранными в прачечной. В прачечной бывает срочное обслуживание и обычное, причем последнее при большей деятельности стирки стоит меньше, чем первое. Зная цену новых салфеток и стоимость стирки, требуется определить оптимальную стратегию, при которой поставщик будет обеспечивать потребителей необходимым числом салфеток при минимальных издержках в течение N дней.

Задача об оптимальном по стоимости сетевом графике. Задан сетевой график работы с общей продолжительностью tn. Считаем, что для каждой работы, которая представляется дугой, зависимость ее стоимости от продолжительности линейна. Требуется минимизировать полную стоимость проекта при заданной общей продолжительности работ.