Занятие № 12. “Определение оптимальных маршрутов в сетях связи”
1. Алгоритмы маршрутизации с коммутацией каналов (на примере матричного алгоритма)
Наиболее распространенными алгоритмами маршрутизации в автоматизированных сетях телефонной связи являются различные модификации матричного алгоритма. Матричный метод относится к детерминированным методам динамического управления потоками и может быть как централизованным, так и децентрализованным.
Матричный алгоритм эффективен в случаях, когда при поиске оптимальных путей вводятся ограничения на максимальное число транзитных вершин в пути, что и определяет его практическое применение в сетях с коммутацией каналов.
Данный алгоритм получил свое название потому, что его можно описать, используя вместо тернарной операции операцию возведения матриц в степень. В матричном алгоритме при заданных i иj , когда k принимает все возможные значения, выполнение операции последовательного возведения в степень r приводит к определению веса оптимального пути между крайними вершинами графа при условии, что этот путь содержит не более одной, двух, . . . , (r –1) транзитной вершины.
Алгоритм осуществляет поиск оптимальных путей (по критерию минимальной длины) при ограничениях на максимальное число транзитных центров коммутации в пути. В его основе лежит матричный метод определения длин кратчайших путей между всеми узлами сети, основанный на применении операций над матрицами расстояний.
Структуру сети с указанием длин ветвей можно описать в
виде матрицы расстоянийL, в которой элемент – длина ветви между КЦi и КЦ j,
причем
=
при
отсутствии ветви, а
=
0. Длина ветви
определяется
расстоянием между узлами сети или другим параметром (например, стоимостью),
пропорциональным длине. Матричный алгоритм позволяет сформировать ПРН,
оптимальный по критерию минимума длины ветвей в устанавливаемом соединении.
Рассмотрим алгоритм для сети, структура которой показана на рис. 1.
|
|
Рис. 1. Структура сети и матрица расстояний L
Если всем элементам матрицы L
присвоить значение единицы (),
то можно построить план, оптимальный по минимуму числа транзитных ЦК в пути.
Для определения длин кратчайших путей между всеми
узлами сети матрица расстояний L возводится в степень r N – 1 , где N – число
узлов сети. Вычисление более высокой степени прекращается, если в процессе
вычисления будет иметь равенство
.
Это равенство означает, что кратчайшие пути между каждой парой узлов находятся среди одно, двух, . . . , (r – 1) – транзитных путей, а любой путь с числом транзитов, больше чем r, не является кратчайшим.
Матрица называется дистанционной.
Ее элементы равны длинам кратчайших путей между соответствующими узлами сети.
При возведении матрицы L в степень r используются следующие правила:
1. Операция умножения элементов матрицы и
соответствует их алгебраической сумме:
.
2. Основные правила сложения элементов матрицы:
0 + 0 = 0; +
=
;
+
0 =
;
;
+
=
.
3. Значение элемента новой матрицы принимается по критерию минимума длины ветвей.
Используя данные правила, возведем матрицу L
в квадрат (L = L
L
),
при этом получим элементы
матрицы
L
,которые равны длине кратчайшего пути от ЦКi
к ЦКj среди всех путей с одним транзитным узлом:
.
Это означает, что для получения 1-го элемента 1-й
строки матрицы L складываются почленно элементы 1-й строки с
элементами 1-го столбца матрицы L.
Для получения 2-го элемента 1-й строки матрицы L складываются почленно элементы 1-й строки с элементами
2-го столбца матрицы L.
Для получения 3-го элемента 1-й строки матрицы L складываются почленно элементы 1-й строки с
элементами 3-го столбца матрицы L и т.д.
Так, например, при возведении матрицы L, для сети показанной на рис. 1, в квадрат, получим элементы 1-й строки:
;
;
;
.
Аналогичным образом находятся элементы 2-й, 3-й и 4-й
строк. Матрица L имеет вид:
.
При возведении матрицы L в степень r
= 3 получим матрицу ,
элементы которой равны длине кратчайшего пути между
и
среди
всех путей с одним и двумя транзитными ЦК:
. Так, при возведении матрицы L,
показанной на рис. 1, в степень r =3, получим следующие элементы 1-й строки:
и
т.д.
В результате матрица L имеет
вид:
.
Элементами этой матрицы являются длины кратчайших
путей между любыми центрами коммутации, в состав которых входят одна, две или
три ветви (один или два транзитных ЦК). Матрица является дистанционной: D = L
= L
. Элементы дистанционной матрицы
определяются по матрице L
.
Однако в дистанционной матрице D не заложено дополнительных
сведений о составе путей. Поэтому при матричном методе дополнительно
используются следующие операции:
1. Формирование матриц очередности выбора исходящих ветвей (статических детерминированных таблиц маршрутов) для каждого центра коммутации.
2. Проверка и исключение наличия петель в путях первого, второго, третьего выбора.
2. Алгоритмы маршрутизации в сетях с коммутацией пакетов (на примере алгоритма Дейкстры)
Исходными данными для реализации алгоритма являются
матрица весов ,
начальная вершина
,
критерий оптимальности opt и операция над весами двух смежных ребер
. Конечной целью является нахождение веса оптимального
пути из начальной вершины
в
конечную вершину
графа.
Алгоритм включает в себя четыре шага, выполняемых последовательно.
Шаг 1.Формирование начальных условий.
Все множество вершин разбивается на два подмножества.
Первое из них содержит только начальную вершину ,
а второе (Т) – все остальные вершины:
.
Шаг 2.Определение очередной вершины, исключаемой из множества Т.
Определяется такая вершина , для которой выполняется равенство
.
Если найдется несколько вершин, удовлетворяющих этому условию, то выбирается любая из них.
Шаг 3.Корректировка матрицы весов W и вектора путей DH.
Исключить из множества Т вершину и для всех вершин
выполнить тернарную операцию вида
.
Если изменит
свое значение, то есть если
,
то d (j) = i.
В противном случае соответствующий элемент вектора DH
не изменяется.
Шаг 4.Определение конца процесса.
Если мощность множества Т равна единице, то все оптимальные пути найдены. В противном случае осуществляется переход к выполнению шага 2.
Рассмотрим пример определения оптимальных путей от
вершины ко
всем остальным вершинам графа (рис. 1).
Исходные данные:
· матрица расстояний L;
·
начальная вершина графа ;
· критерий оптимальности – {min}.
На шаге 1
осуществляется формирование начальных условий: вектор путей , множество вершин
, так как вершина 1 – начальная (
).
Первая итерация.
На шаге 2 первой итерации определяется вершина, исключаемая из множества Т.
При этом , то есть выбирается ребро
. Следовательно,
.
Вершина
,
соответствующая пути оптимального веса, исключается из множества Т (
) и присоединяется к множеству,
содержащему начальную вершину
.
Множество
.
На шаге 3 первой итерации для множества вершин 3,4 выполняются тернарные операции с целью корректировки матрицы весов W и вектора DH. При этом:
, то есть вес
изменил
своё значение, при этом
имеет значение
;
. В данном случае вес
так же изменил
своё значение, поэтому
;
Таким образом, первая строка матрицы весов W
приобретает вид , а вектор путей
.
На шаге четвёртом первой итерации определяется мощность множества T, которая равна 2, следовательно, осуществляется переход к шагу 2 второй итерации.
Вторая итерация.
На шаге 2 второй итерации определяется очередная вершина, исключаемая из множества
Т. При этом . Следовательно,
,
исключается вершина 3 (
) и остается множество вершин
.
На шаге 3 второй итерации корректируются W и DH. При этом:
.
Таким образом,
,
.
Тогда первая строка матрицы весов W остается в
прежнем виде , так же как и вектор путей
.
Поскольку мощность множества T на шаге 4 второй итерации определяется как 1, поэтому процесс определения оптимальных путей завершается. Пути содержатся в модифицированном векторе D1, а их веса – в первой строке модифицированной матрицы W.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.