Главная > Разное > Теоретические основы проектирования компьютерных сетей
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

7.3 Алгоритмы решения задачи выбора оптимальных потоков в сети

7.3.1 Альтернативная маршрутизация

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

Наиболее известным методом решения данной задачи является метод отклонения (девиации) потока, предложенный в работе [190]. Данный алгоритм является частным случаем так называемого метода Франка-Вольфе [189] для решения более общих задач нелинейного программирования с выпуклым множеством ограничений.

Доказано [190], что метод отклонения потока в пределе уменьшает значение целевой функции до минимума, хотя по мере приближения к оптимуму скорость сходимости существенно замедляется.

Алгоритм отклонения потока опирается на следующие два свойства оптимального решения задачи [190,209].

Свойство 1. Множество многопродуктовых потоков в линиях связи является выпуклым многогранником, крайними точками которого являются так называемые «экстремальные» потоки, определяемые в соответствии с принципом кратчайших маршрутов. Данный принцип состоит в том, что в качестве оптимальных маршрутов для каждой пары узлов «источник - адресат рассматриваются кратчайшие маршруты, вычисляемые при произвольном назначении «весов» линий связи. Каждое такое назначение соответствует некоторому «экстремальному» потоку и наоборот. В работе [190] показано, что любой многопродуктовый поток в линиях связи может быть представлен, как выпуклая комбинация «экстремальных» потоков.

Свойство 2. Для заданного множества многопродуктовых потоков в линиях связи определим «вес» линии связи как частот производную средней задержки по переменной то есть

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

Справедливость выбора «весов» и сходимость алгоритма доказываются нижеследующими рассуждениями.

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

Если выпуклая комбинация , где - поток по кратчайшим маршрутам, определенным в соответствии с некоторыми «весами» , то

Рассмотрим разность: . Для имеем:

Тогда, из неравенства (7.18) следует: мм

Или:

причем в точке оптимума неравенство (7.21) переходит в равенство. Таким образом, для того чтобы в результате итераций поток приближался к оптимальному решению, необходимо минимизировать величину , где поток по кратчайшим маршрутам, определенным в соответствии с «весами»

Ниже предлагается модифицированная версия алгоритма отклонения потока.

Описание алгоритма

Шаг 1. Определить «веса» линий связи инициализировать потоки в линии связи

Шаг 2. Используя «веса» линий связи определить кратчайшие пути между всеми парами узлов «источник - адресат». Для нахождения кратчайших путей в данном случае наиболее подходящим является алгоритм Флойда [182].

Шаг 3. Распределить потоки по кратчайшим путям:

Шаг 4. Вычислить:

Шаг 5. Положить: .

Шаг 6. Положить: где: .

Шаг 7. Пересчитать потоки в линиях связи:

Шаг 8. Определить «веса» линий связи и инициализировать потоки по кратчайшим путям

Шаг 9. Используя «веса» линий связи определить кратчайшие пути между всеми парами узлов «источник - адресат».

Шаг 10. Распределить потоки по кратчайшим путям:

Шаг 11. Найти величину минимизирующую функцию:

при условии выполнения ограничения (7.13).

Поиск величины можно осуществить любым из известных методов одномерного поиска, например, методом Фибоначчи. Ограничение (7.13) легко добавить в реализацию метода одномерного поиска: если для некоторого значения , то достаточно положить .

Шаг 12. Выполнить отклонение (девиацию) потока на величину

Шаг 13. Вычислить:

если , то допустимых решений нет;

если , то получено оптимальное решение с заданной точностью .

Иначе:

1) положить: Том ;

2) если то перейти к шагу 6; иначе перейти к шагу 8.

По сравнению с исходным описанием [190,209], алгоритм объединяет в себе шаги построения начального допустимого потока (шаги 1 - 14) и собственно задачи минимизации средней задержки (шаги 8 -14).

Для определения множества оптимальных маршрутов и долей потоков от входного потока можно использовать модификацию алгоритма, предложенную в работе [116].

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

<< Предыдущий параграф Следующий параграф >>
Оглавление