4.2. Описание алгоритма синтеза структуры сети

                Общий алгоритм синтеза структуры РВС задачи (4.1)-(4.3) включает такие этапы [22,29].

1. Синтез кратчайшего связывающего дерева (КСД) Д0 с корнем в узле Х0.

2. Синтез начальной многосвязной структуры Е0 и её  оптимизация по критерию минимума СS при ограничении (4.2) на вероятность своевременной доставки.

3. Оптимизация структуры РВС по критерию минимума СS  при ограничениях на показатель живучести сети.

Рассмотрим детальнее алгоритмы каждого из этапов.

Этап 1.  Синтез КСД.                                       

Находим корень сети узел Хi, такой что Hi=  

         Дальше синтезируем сеть древовидной структуры (КСД) с корнем в узле Хi  при ограничении на Тср. Для этого используем модифицированный алгоритм Исау-Вильямса, описанный в [79]. В результате получим начальную структуру Д0.

Этап 2. Синтез многосвязной структуры Е и её оптимизация при вероятностно-временных ограничениях. Алгоритм синтеза структуры сети при ограничениях на вероятность своевременной доставки (А2) включает начальный этап, и множество однотипных итераций (основной этап).

Перед началом (k+1)-й итерации создаём подмножество каналов, которые могут быть удалены без нарушения условий связности Pуд0(k), а также подмножество каналов {(i,j)}; которые надо рассматривать как претенденты на введение в сеть структуры  E Pвв(k). Обозначим подмножества ещё не рассмотренных каналов из множеств Pуд(k) и Pвв(k) через  Pудост(k) и  Pввост(k). Приравниваем  Pудост(0)= Pуд(k) ; Pввост(0)=Pвв(k).

Начальный этап. На этом этапе преобразуем исходную структуру Д0 в начальную многосвязную структуру, удовлетворяющую заданному условию связности.

Ш1. Находим конечные вершины дерева Д0 и проводим через них цикл минимальной длины (стоимости), для этого используем соответствующий алгоритм решения задачи коммивояжера [16]. Полученная структура будет удовлетворять заданному ограничению на связность   kсв>=2. Обозначим её через Е0.

Ш2. Применим к структуре Е0 задачу ВПС и найдем такие ПС всех КС {drs0} (E0 и распределение потоков в каналах {frs0}, при которых

СS ({drs0}) =min                                                                                                  (4.6)

при условии PСД({frs},{drs})>=Pзад                                                     (4.7)

где drs ÎD; и  frs<drs,    (r,s) ÎE .

Приравниваем СS ({drs0})=СS (0)  и переходим к первой итерации основного этапа.

Основной этап.

На каждой итерации данного этапа проводится оптимизация данной структуры Ек путём удаления неэкономичных каналов связи и введения новых (вариант метода замены каналов).

(k+1)-я итерация:

Пусть проведено k итераций в ходе которых построена сеть структуры Ек, найдены ПС всех КС (r,s) {drs(k)}, и распределение потоков{frs(k)0}. Обозначим соответствующее значение критерия через СS(k)=CS({drs(k)}).

Опишем (k+1)-ю итерацию.

Ш1. Выбираем наименее экономичный канал (r,s), который можно вывести при сохранении условия связности  kсв>=kзад. В качестве критерия выбора КС для удаления используется следующий показатель неэффективности:

                  grs(0)=Crs(lrs)(drs-frs)/drs                        (4.8)

где Crs(lrs)-стоимость КС (r,s);

(drs-frs)/drs=1-rrs-коэффициент простоя КС (r,s).

Ш2. Определяем такой КС (r1,s1), для которого gr1s1(0) =max grs(0) и

                                                                                               (r,s)

выводим его из структуры Ек. При этом проверяется, сохраняется ли условие kсв>=kзад.

Ш3.Определяем показатель экономичности для введения новых каналов связи в сеть   Gij(1).

          Gij(1)=(hij+hji)DEij=(hij+hji)[C(pij(k))-Cij(lij)]          (4.9)

где C(pij(k))= S Crs(drs(k))hij/frs-стоимость передачи требования hij по

                     (r,s)Îpij

используемому пути пij  в сети Ек.

Находим тот канал(i*,j*)ÎEk, для которого  Gi*j*(1)=maxGij(1)|Gij(1)>0.                                                                                                                                                                                                                    (i,j)          

                                                                                    

Ш4. Вводим в структуру Ек\(r1,s1) канал (i*,j*). Обозначим полученную структуру Ек(1)= Ек\(r1,s1)È(i*,j*). Решаем для структуры  Ек(1) задачу ВПС РП и находим   такое   новое   распределение  ПС  {drs(н)}  и  потоков  {frs(н)}, что                 CS (drs(н)(k))=min. .

Ш5. Сравниваем CS(н) (drs(н)(k))<CS (k),если да, то приравниваем Еk+1 =Ек; drs(k+1)= drs(н)(k); frs(k+1)= frs(н)(k), для всех (r,s), и конец (k+1)-й итерации. Приравниваем k=k+1 и переходим к следующей итерации; иначе на Ш6.

Ш6. Обозначим через Pудост(k) и  Pввост(k) -множество ещё не рассмотренных каналов на данном шаге итерации k.

Ш6.1.Приравниваем Pввост(1)=Pввост(0)\(i*,j*).

Ш6.2. Проверка условия, все ли возможные для введения каналы просмотрены: Pввост(1)= ? Если да, то на Ш6.3. Иначе на Ш3.

Ш6.3. Приравниваем Pудост(k)=Pуд(k)\ (r1,s1). Проверяем условие, все ли возможные для выведения каналы просмотрены: Pудост(k)=0. Если да, то конец. Иначе, на Ш1, и анализ оставшихся каналов Pудост(k).

Таким образом, в результате выполнения этапа 2 мы получим оптимальную структуру Ек, которая обеспечивает решение задачи (4.6),(4.7).

Этап 3.  Оптимизация структуры сети при ограничениях на показатели живучести.

Постановка задачи.

Итак, пусть имеем структуру Ek={(r,s)} РВС, в которой найдены ПС всех КС {drs(o)}   и распределение потоков в каналах [frs(o)], при которых СS({drs0})=min,

при условиях Tср <= tзад и/или PСД=P{Tср <= tзад} >= Pзад. Обозначим HS0=  hij - суммарный поток, передаваемый через сеть при условии, что все узлы сети и КС безотказны. Вероятность этого состояния обозначим через Po   .

Необходимо найти такие резервные КС (i,j) ((i,j)ÎЕк), их ПС {dij0} при которых

                  СS ({dij})=SСji ({dij})=min                 (4.10)

                                  (i,j)ÎЕк

при ограничениях на показатели живучести сети вида:

                    

                                                               P{HSФ =HS0}>=P0                    (4.11.1)

                           P{HS Ф =90%HS0}>=P1зад             (4.11.2)

                           P{HS>=80%HS0}>=P2зад           (4.11.3)

                           P{HS>=70%HS0}>=P3зад           (4.11.4)

                           P{HS>=60%HS0}>=P4зад           (4.11.5)

                           P{HS>=50%HS0}>=P5зад           (4.11.6)

и при этом обеспечивается ограничение на Тср. Tср <= tзад

Алгоритм решения этапа 3 (А3) [29].

1.Рассмотрим единичные отказы всех КС (r,s)ÎЕк .Обозначим zi-состояние, когда отказал КС (ri,si).Определим вероятность этого состояния                                                                                                        P(zi)=(1-kri,si) П kгrs

                                      (r,s)ОЕкИ(r,s)©(ri,si)

2.Вычисляем максимальный передаваемый поток в сети в состоянии zi-HS(zi) ; для этого используем  описанный в главе 2 алгоритм.

3. Проранжируем величины HS(zi)  в порядке уменьшения. Перенумеруем zi так, что H(z1)>=H(z2)>=...>=H(zi)>=H(zi+1)>=...>= H(zn)

4.Считая отказы каналов (КС) статистически независимыми, с учётом того, что состояния {zi} несовместимы и образуют полную группу событий, построим график изменения(уменьшения) максимального потока через сеть при отказах каналов как функцию распределения (ФР) величины  HS.

 (4.12)      

                      

В результате получим начальный показатель живучести сети как величину ОПС при отказах.

 P(HSФ>=AkHSзад)=Pk(0) где k=1,2,3,4,5;   A0=100%;A1=90%;A2=80%;A3=70%;A4=60%;A5=50%;

Необходимо заметить, что в силу выражения (4.12) увеличение надёжности любого из КС автоматически увеличивает показатели живучести для всех k=1..5.

Очевидно, необходимо найти такие КС, увеличение надёжности которых наиболее эффективно.

Разобьем множество отказовых состояний сети Z={zi} на подмножества Zk k=1..5, такие,что  zjÎZk, если H(zi)< AkHS0=Hзад(k), где k=1..5.

При этом  Z1 > Z2 > Z3 > Z4 > Z5.

Очевидно, уменьшение вероятностей состояний P(zj) zjÎZk, т.е. повышение надёжности соответствующих КС, повысит также живучесть сети в целом.

Пусть, как и выше, zj состояние, когда отказал КС (ri,si).

С учётом выражения (4.12) будем рассматривать отказовые состояния из подмножества Z5 ; так как, если  zjÎZ5, то одновременно zjÎZk, k=1..4.

Увеличение надёжности КС (r,s)  будем обеспечивать путём введения резервных каналов.

В качестве показателя эффективности введенного резервного канала для ЛС  (ri,si) используем величину arisi=-DP(zj)/DC(rj,sj)    (4.13)

где   DP(zj)=DP(rj,sj)-уменьшение (изменение)вероятности состояния zj при введении резервного КС в ЛС (rj,sj);

DC(rj,sj)=Crj,sj(drj,sj) стоимость введения такого резерва.

При этом:

                                                    nj+1                          nj

                   DP(zj)=(1-kгrj,sj)    П kгrs-(1-kгrj,sj)   П kгrs=

                                                     (r,s)¹(rj,sj)                 (r,s)

                                                   nj

                      =-kгrj,sj(1-kгrj,sj)    П kгrs=-kгrj,sjP(zj)             (4.14)

                                                 (r,s)¹(rj,sj)

Таким образом:

                     arisi=kгrj,sjP(zj)/Crj,sj(drj,sj)                           (4.15)

где  nj-число параллельных каналов в КС (rj,sj).

Дадим формальное описание алгоритма.

Ш1.Рассмотрим отказовые состояния из подмножества Z5 и вычислим показатель arisi=kгrj,sjP(zj)/Crj,sj(drj,sj,lrj,sj)     (rj,sj)ÎZ5

Ш2. Выбираем такой КС (r*,s*)ÎZ5, для которого ar*s*=maxarksk

                                                                                             (rk,sk)ÎZ5

Ш3. Вводим резервный канал в КС (r*,s*), пересчитываем потоки и показатели живучести. При этом увеличение значения показателя живучести DPk будет определяться уменьшением вероятности состояния z*:

DP(z*)=-kгr*,s*P(z*)

Поэтому Pk(1)=Pk(0)+|DP(z*)|,       k=1,..,5.

Ш4. Проверяем условие: Pk(1)>=Pkзад   k=1,..,5.

Если да,  то конец, иначе переходим к следующей итерации. Все следующие итерации проводятся аналогично, при этом в первую очередь просматриваются те отказовые состояния zjÎZk, которые не рассматривались (не использовались) на предыдущих итерациях.

Замечание: если на некоторой итерации r, для некоторых k' уже обеспечено условие Pk'(r)>=Pk'зад, k'ÎK1, а для других k оно не выполняется, т.е. Pk(r)<Pkзад, kÎK1, то для анализа выбираются состояния из подмножеств Zk (kÎK1).