logo
Методичка по исследованию операций

2.7. Общий алгоритм решения задачи маршрутизации на матрице орграфа

0. Задана матрица орграфа с весами на дугах, матрица стоимостей перехода отаi к аj.

1. Определяем начальную или конечную вершину. Тем самым определяется корень opt дерева.

2. Строим порядковую функцию от корня, преобразуя матрицу т.е. упорядочиваем вершины по уровнямЕi.

3. Строим opt дерево в соответствии с порядковой функцией, определяя оптимальные индексы для каждой вершины. На этом заканчивается I этап – условная оптимизация. При этом opt Fц = I(an) при прямом ходе или opt Fц = I(a0) при обратном.

4. II этап – безусловная оптимизация. Решение находится противоположным ходом на opt дереве (по направлению к корню дерева). В результате получаем оптимальный путь в виде последовательности вершин с оптимальной суммой весов дуг:

– при прямом ходе = (аn, аn–1,…, а1, а0),

– при обратном ходе = (а0, а1,…, аn–1, аn).

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

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4