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

3.5.2. Определение длин кратчайших путей между

всеми вершинами графа одновременно

Пусть матрица указывает длину дуг графа с числом вершин N. Элементы главной диагонали матрицы всегда равны нулю. Если между парой вершин отсутствует ветвь, то соответствующий элемент принимается равным бесконечности. Очевидно, матрица расстоянийc1(1,1) неориентированного графа всегда симметрична относительно своей главной диагонали; для ориентированного графа она может быть несимметричной. Возведем матрицуc1(1,1)в квадратс2(1,1) = c1(1,1) c1(1,1),где элемент

с2ij =

Интерпретируя умножение как последовательное, а сложение как параллельное соединение дуг, легко понять, что произведение соответствует двухтранзитному пути (т.е. пути, проходящему через две транзитные дуги графа) от вершиныiк вершинеjчерез узелk. При этом произведение (),() фактически соответствует однотранзитным путям (включающим только одну ветвь), так как длины путейciiиcjjравны нулю. Для подсчета длины каждого из таких транзитных путей необходимо операцию умножения заменить операцией сложения, т.е. вместобудем иметь. Если же имеется несколько параллельных путей, то для определения длины кратчайшего пути между вершинами необходимо операцию сложения в формуле для определенияc2ijзаменить операцией выбора из всех длин одно- и двухтранзитных путей наименьшей длины, т.е.

Таким образом, элементc2ijматрицыс2(1,1)равен длине кратчайшего пути от вершиныiк вершинеjсреди всех одно- и двухтранзитных путей.

При возведениис1(1,1)вr-ю степень при использовании указанных выше операций получим матрицуcr(1,1) = cr-1(1,1)c1(1,1), элемент которой, будет равен длине кратчайшего пути от вершиныiк вершинеjсреди всех однотранзитных путей и т.д. доr-транзитных путей.

При наличии в графеNвершин число транзитных дуг в пути без петель не может быть большеN-1. Для конкретной сети может оказаться, что приr<N– 1 выполняется условие

cr(1,1) = cr-1(1,1)c1(1,1).

Тогда вычисление матрицы более высокой степени прекращается, так как при этом всегда выполняются равенствасr+1(1,1) = cr(1,1);cN-1(1,1) = cr-1(1,1). МатрицаcN-1(1,1)называется матрицей кратчайших путей. Рассмотренный способ позволяет определять длину кратчайшего пути, но не указывает дуги, которые входят в этот путь, однако в ряде задач такой информации бывает достаточно для принятия оптимального решения.

3.5.3. Решение задачи о кратчайшем пути в графе

на основе линейного программирования [1,4]

Модель линейного программирования для задачи о кратчайшем пути строится следующим образом.Пусть Xij ,dijпредставляют соответственно величину и стоимость потока по дуге (i,j). Тогда задача о кратчайшем пути в сети сNузлами формулируется как :

минимизировать Z=

при ограничениях

=1 (исходный пункт),

=(для всех к#1 илиN)

=1 (пункт назначения)

Целевая функция требует, чтобы общее ”расстояние”, пройденное единицей потока, было минимальным. Здесь принято, что =1,если дуга(i,j)принадлежит кратчайшему пути и =0, если дуга(i,j)не принадлежит кратчайшему пути .

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