Poznańskie Warsztaty Telekomunikacyjne PWT2004

Transkrypt

Poznańskie Warsztaty Telekomunikacyjne PWT2004
www.pwt.et.put.poznan.pl
Maciej Piechowiak*, Piotr Zwierzykowski
Politechnika Poznańska
Instytut Elektroniki i Telekomunikacji
ul. Piotrowo 3A, 60-965 Poznań
{mpiech,pzwierz}@et.put.poznan.pl
2004
Poznańskie Warsztaty Telekomunikacyjne
Poznań 9 - 10 grudnia 2004
ALGORYTMY TYPU «MULTICAST» W SIECIACH PAKIETOWYCH
Streszczenie: W artykule dokonano przeglądu najważniejszych algorytmów wyznaczania minimalnych drzew «multicast» w sieciach pakietowych
przeznaczonych do transmisji danych w czasie rzeczywistym. Zaproponowano także własny podział
istniejących rozwiązań biorąc pod uwagę liczbę
kryteriów (metryk) oraz przedstawiono nowe techniki służące efektywnemu rozwiązaniu powyższego
problemu.
1. WPROWADZENIE
Technika multicast polega na równoległym przesyłaniu danych w sieci od węzła nadawczego do grupy węzłów odbiorczych (wcześniej zdefiniowanych) [1].
Na przestrzeni kilku ostatnich lat algorytmy multicast
zaczęły odgrywać coraz większą rolę ze względu na
specyfikę danych przesyłanych w sieciach transportowych. Wzrost przepustowości współczesnych sieci pozwolił na transmisję danych multimedialnych w czasie
rzeczywistym (transmisja radiowa i telewizyjna, video
na żądanie, telekonferencje, itp.) [19]. W celu zapewnienia niezawodnej transmisji aplikacje multimedialne stawiają wysokie wymagania parametrom jakościowym (quality-of-service). Wymagania jakościowe
dotyczące m.in. stałej gwarantowanej wartości opóźnień związanych z przejściem pakietu pomiędzy węzłem nadawczym i odbiorczym po określonej ścieżce
w sieci, ciągle są wyzwaniem dla projektantów aplikacji czasu rzeczywistego.
Najprostszym przykładem tego typu aplikacji
jest transmisja głosu. Z transmisją głosu w pakietach
wiążą się liczne opóźnienia m.in. opóźnienia kolejkowania, opóźnienia propagacji, opóźnienia wprowadzane przez kodeka, oraz opóźnienia serializacji. Opóźnienia kolejkowania zależą głównie od użytych algorytmów planowania, które mogą wyznaczać wartość
opóźnienia poprzez określenie maksymalnej wartości
(najgorszy przypadek) lub wartości średniej (w sensie
statystycznym). Literatura szeroko prezentuje rozwiązania gwarantujące pasmo i opóźnienie dla pojedynczych strumieni, bazujące na najgorszym przypadku
(strumienie takie traktowane są osobno) [19]. Grupowanie strumieni usługi, dla której mamy zagwarantowaną wartość opóźnienia, pozwala obniżyć wykorzystanie zasobów sieci, ponieważ czas propagacji może
być uważany za stały atrybut łącza, zależny jedynie
* autor jest pracownikiem Instytutu Mechaniki Środowiska
i Informatyki Stosowanej Akademii Bydgoskiej
PWT 2004, Poznań 9 - 10 grudnia 2004
od odległości między węzłem nadawczym i odbiorczym.
Zatory oraz opóźnienia propagacji w łączach
znacznie obniżają wydajność sieci Internet. A zatem
znając największą wartość opóźnienia kolejkowania
(obliczoną na podstawie liczby skoków między węzłami) oraz czas propagacji - można przypisać poszczególnym łączom w sieci pojedynczą metrykę opóźnienia (będącą sumą powyższych parametrów).
W ciągu ostatnich kilku lat zaproponowano algorytmy routingu multicast dla aplikacji czasu rzeczywistego [2, 13]. Jednakże nie dokonano porównania wydajności tych algorytmów w identycznych warunkach
sieciowych (z wykorzystaniem tych samych topologii
sieci). Takie badania są niezbędne w celu określenia
czy dane algorytmy są zdolne do konstruowania drzewa multicast z uwzględnieniem parametrów charakterystycznych dla aplikacji czasu rzeczywistego (małe
wartości opóźnień między węzłem nadawczym i odbiorczym).
W pracach [5, 9] udowodniono, że znalezienie
drzewa multicast jest problemem N P-zupełnym dla
jednego i większej liczby parametrów QoS. Z uwagi
na złożoność problemu prezentowane algorytmy stosują techniki przybliżające rozwiązanie dokładne tj.
algorytmy heurystyczne czy algorytmy genetyczne.
W rozdziale 2 przedstawiono algorytmy typu
multicast bazujące na jednej, bądź dwóch metrykach.
Omówiono algorytmy niewymuszone (unconstrained)
oraz wymuszone (constrained). Rozdział 3 prezentuje
zagadnienie optymalizacji wielokryterialnej. Artykuł
podsumowuje rozdział 4.
2. ALGORYTMY JEDNOKRYTERIALNE I
DWUKRYTERIALNE
A. Wprowadzenie
Załóżmy, że sieć komunikacyjna reprezentowana
jest jako skierowany, spójny graf N = (V, E), gdzie
V jest zbiorem węzłów, a E - zbiorem łączy między węzłami sieci. Istnienie łącza e = (u, v) między węzłem u i v pociąga za sobą istnienie łącza
e0 = (v, u) dla dowolnych u, v ∈ V (odpowiednik łączy dwukierunkowych w sieciach komunikacyjnych).
Z każdym łączem e ∈ E skojarzone są dwa parametry: koszt C(e) oraz opóźnienie D(e). Koszt połączenia reprezentuje wykorzystanie zasobów łącza C(e) jest zatem funkcją wielkości ruchu w danym
1
www.pwt.et.put.poznan.pl
łączu i pojemności bufora wymaganej dla tego ruchu. Opóźnienie w łączu z kolei jest sumą opóźnień
wprowadzanych przez propagację w łączu, kolejkowanie i przełączanie w węzłach sieci. Grupa multicast jest zbiorem węzłów będących odbiorcami ruchu grupowego (identyfikacja odbywa się na podstawie unikalnego adresu i), G = {g1 , ..., gn } ⊆ V , gdzie
n = |G| ≤ |V |. Węzeł s ∈ V jest źródłem dla grupy
multicast G. Drzewo multicast T (s, G) ⊆ E jest drzewem zakorzenionym w węźle źródłowym s i obejmującym wszystkich członków grupy G. Całkowity
koszt
P
drzewa T (s, G) można określić jako
t∈T (s,G) C(t).
Ścieżka P (s, G) ⊆ T (s, G) jest zbiorem łączy między
s a gP
∈ G. Koszt ścieżki P (s, G) można przedstawić
jako p∈P (s,G) C(p), natomiast opóźnienie mierzone
P
między początkiem i końcem ścieżki: p∈P (s,G) D(p).
Stąd też maksymalne opóźnienie
w drzewie można
P
wyznaczyć jako maxg∈G [ p∈P (s,G) D(p)].
Algorytmy takie można sklasyfikować w dwóch
kategoriach. Pierwsza z nich to algorytmy najkrótszej ścieżki, które minimalizują koszt każdej ścieżki
między węzłem źródłowym a węzłem będącym członkiem grupy odbiorców. Przedstawicielami tej klasy
algorytmów są algorytmy Bellmana-Forda [7] oraz
Dijkstry [4]. Inną kategorią są algorytmy znajdujące minimalne drzewo Steinera - ich głównym zadaniem jest minimalizacja całkowitego kosztu takiego
drzewa. Ze względu jednak na złożoność obliczeniową tego algorytmu (problem N P-zupełny) [9] stosuje
się algorytmy heurystyczne. Jeżeli zbiór węzłów minimalnego drzewa Steinera zawiera wszystkie węzły
danej sieci, wtedy problem sprowadza się do znalezienia minimalnego drzewa rozpinającego (rozwiązanie
to można uzyskać w czasie wielomianowym). W celu
zapewnienia wsparcia dla aplikacji czasu rzeczywistego, protokoły sieciowe powinny zapewniać parametry
QoS 1 .
B. Algorytmy niewymuszone
Algorytmy niewymuszone (unconstrained) próbują optymalizować daną funkcję kosztu nie biorąc
pod uwagę wymagań QoS aplikacji. Dostępne publikacje zawierają bardzo niewiele algorytmów realizujących powyższe założenie [2]. Problem znajdowania minimalnego drzewa Steinera w sieciach skierowanych rozwiązywany jest raczej z uwzględnieniem
specjalnych warunków (np. sieci acykliczne). W przypadku sieci nieskierowanych (łącza symetryczne) istnieją algorytmy heurystyczne pozwalające rozwiązać
problem w akceptowalnym czasie. Kou, Markovsky
i Bermann zaproponowali następujący algorytm heurystyczny (KMB) wyznaczający minimalne drzewo
multicast [5]:
• dla danego spójnego, nieskierowanego grafu N =
(V, E) zawierającego zbiór węzłów odbiorczych G
skonstruuj spójny, nieskierowany graf N1 = (V1 , E1 ),
1 Przykładowo górna gwarantowana granica opóźnienia między dwoma końcowymi punktami w sieci, ∆, musi być zapewniona w celu prawidłowej transmisji w aplikacjach multimedialnych. Z punktu widzenia tych aplikacji ważne jest zapewnienie
gwarantowanej wartości opóźnienia - nie ma potrzeby minimalizowania tej wielkości.
PWT 2004, Poznań 9 - 10 grudnia 2004
składający się tylko z węzła nadawczego s oraz zbioru
węzłów odbiorczych G (ścieżki między węzłami grafu
N1 stanowią ścieżki o najmniejszym koszcie w grafie
pierwotnym N ),
• wyznacz minimalne drzewo rozpinające T1 grafu G1
(jeśli rozwiązań jest więcej - wybierz jedno),
• skonstruuj podgraf GS grafu G poprzez zastąpienie
każdej krawędzi drzewa T1 odpowiadającej jej ścieżce
z grafu G,
• wyznacz minimalne drzewo rozpinające TS grafu
GS (jeśli minimalnych drzew jest więcej - wybierz jedno),
• skonstruuj drzewo Steinera TKM B z drzewa TS poprzez usunięcie liści, które nie zawierają węzłów odbiorczych.
2
1
8
1
10
7
2
7
2
6
5
8
8
2
4
8
4
8
2
2
8
1
2
8
4
3
(b)
3
4
8
(a)
2
1
8
1
8
1
7
4
2
2
2
2
2
6
5
7
4
2
8
4
3
(c)
(d)
2
1
4
3
8
2
1
8
1
7
2
2
2
6
4
2
5
(e)
2
2
6
4
4
4
3
2
2
5
4
4
3
(f)
Rys. 1. Działanie algorytmu KMB na przykładowej
sieci
Przykład przedstawiony na Rys. 1 pokazuje, że
całkowity koszt drzewa multicast wynosi 16 i jest zarazem minimalnym drzewem Steinera.
Doar i Leslie [14] wykazali, że całkowity koszt
drzew generowanych z wykorzystaniem heurystyki
KMB (Kou, Markowsky, Bermann) jest średnio tylko
o 5% gorszy w porównaniu z metoda dokładną (minimalne drzewo Steinera) - pozwala to jednak uzyskać
złożoność obliczeniową O(|G||V |2 ). Z kolei algorytm
Dijkstry (znajdowania najkrótszych ścieżek) używany w wielu protokołach komunikacyjnych multicast
(np. MOSPF) [1] pozwala uzyskać zadowalającą wydajność. Jest to algorytm najtańszego kosztu (LC)
minimalizujący koszt ścieżki między węzłem źródłowym, a każdym węzłem będącym członkiem grupy
odbiorczej z osobna.
C. Algorytmy z wymuszeniami
Działanie algorytmów z wymuszeniami (constrained) sprowadza się do rozwiązania problemu DCLC
2
www.pwt.et.put.poznan.pl
(Delay Constrained Least Cost), czyli znalezieniu minimalnego kosztu ścieżki (lub drzewa - przy wielu węzłach odbiorczych) w ten sposób, by nie przekroczyć
ustalonego opóźnienia dla całej ścieżki (drzewa). Dla
danego skierowanego grafu N = (V, E) posiadającego
krawędzie E o nieujemnym koszcie c(e) oraz opóźnieniu d(e), węzeł źródłowy s, grupę węzłów odbiorczych
G oraz ograniczenie opóźnienia ∆ całego drzewa należy wyznaczyć:
min
t∈T 0 (s,G)
X
2,1
1
c(e)
8
1,2
7
10,5
(1)
2,1
gdzie T (s, G) jest zbiorem drzew multicast spełniających warunek ograniczenia opóźnienia, tzn.:
7,6
2
2,2
5
8,10
2
4,2
8,4
DCLC jest problemem N P-trudnym [9]. Istnieje jednak wiele heurystyk rozwiązujących powyższy
problem. Jako jedna z pierwszych heurystyk wyznaczających drzewo Steinera z wymuszeniem (Constrained Steiner Tree) zaproponowana została metoda
KPP (Kompella, Pasquale, Polyzos) [6]. Autorzy metody wprowadzają dodatkowy parametr (opóźnienie)
dla każdej ścieżki w sieci definiując najkrótszą ścieżkę z wymuszeniem (constrained shortest path) jako
ścieżkę o minimalnym koszcie przy założeniu, że wartość opóźnienia wzdłuż ścieżki nie przekracza ustalonej wartości ∆. Metoda ta zakłada, że opóźnienia
w łączach oraz graniczna wartość opóźnienia ∆ są
wartościami całkowitymi. Podobnie jak KMB, proponowany algorytm uwzględnia maksymalną wartość
opóźnienia ∆ przy wyznaczaniu drzewa:
• dla danego spójnego, nieskierowanego grafu N =
(V, E) zawierającego zbiór węzłów odbiorczych G
skonstruuj spójny, nieskierowany graf N1 = (V1 , E1 ),
składający się tylko z węzła nadawczego s oraz zbioru
węzłów odbiorczych G (ścieżki między węzłami grafu
N1 stanowią ścieżki o najmniejszym koszcie w grafie
pierwotnym N ) - innymi słowy N1 to graf połączeń
każdy z każdym,
• wyznacz drzewo rozpinające T1 grafu G1 biorąc pod
uwagę każdą parę węzłów (u, v) i związane z daną
ścieżką metryki: koszt C(u, v) oraz opóźnienie D(u, v)
wg poniższej funkcji kosztów fc :
½
C(u, v) jeżeli Ds (u) + D(u, v) < ∆
fc =
(3)
∞
p.p.
zastąp krawędzie powstałego drzewa oryginalnymi
ścieżkami z grafu G (jeśli tak powstała struktura zawiera cykle - usuń je korzystając z algorytmu Dijkstry,
wykorzystując opóźnienie jako kryterium).
W przykładzie przedstawionym na Rys. 2 przyjęto maksymalną wartość opóźnienia między węzłem
źrodłowym, a poszczególnymi członkami grupy multicast ∆ = 10. W przeciwieństwie do metody KMB
ścieżka 2-6-5-3 nie spełnia warunku nałożonego na
opóźnienie (suma opóźnień łączy w ścieżce wynosi
11), w związku z czym powstaje inne drzewo multicast o koszcie całkowitym równym 21.
•
PWT 2004, Poznań 9 - 10 grudnia 2004
8,3
2,7
6
3
8,4
4,1
(b)
4
3
8,6
2,1
1
8
1,2
(2)
e∈T
4
8,6
(a)
d(e) ≤ ∆
8,5
1
2,3
e∈T
0
X
Wyznaczenie domknięcia grafu odbywa się w czasie O(∆|V |3 ). Zarówno KMB, jak i KPP wykorzystują algorytm [7] do wyznaczenia minimalnego drzewa rozpinającego domknięcia grafu. Jednak algorytm
ten jest zoptymalizowany dla sieci nieskierowanych
i zastosowanie go w sieciach skierowanych może mieć
wpływ na wydajność całego rozwiązania.
7
2,1
1
8,5
4
2
7,6
2,2
6
5
8,4
2
8,4
(c)
3
2,3
4,1
4
3
(d)
Rys. 2. Działanie algorytmu KPP na przykładowej
sieci
Widyono [2] zaproponował cztery algorytmy
niewymuszone oraz cztery heurystyki wyznaczające drzewo Steinera z wymuszeniem (Constrained
Steiner Tree). Te ostatnie wykorzystują algorytm
Bellmana-Forda z wymuszeniami - CBF (Constrained Bellman-Ford) [15]. Metoda ta przeszukuje graf
wszerz (breadth-first search) w celu znalezienia najtańszych ścieżek od źródła do pozostałych węzłów
w sieci z uwzględnieniem warunku na całkowite opóźnienie (między węzłem źródłowym a docelowym).
Proponowany w [2] algorytm CMIC (Constrained Minimum Incremental Cost) bazuje na wywołaniach algorytmu CBF dla każdego węzła odbiorczego
(w dowolnej kolejności). Po każdym wywołaniu koszt
otrzymanej ścieżki jest ustawiany na wartość zerową
dla pozostałych węzłów docelowych.
Algorytm CAO (Constrained Adaptive Ordering)
posiada najlepszą wydajność z proponowanych przez
Widyono. Wykorzystuje on algorytm Bellmana-Forda
z wymuszeniami w celu jednoczesnego podłączenia
grupy odbiorczej do węzła nadawczego. Podczas każdego przebiegu algorytmu Bellmana-Forda niepodłączony jeszcze członek grupy jest dołączany do istniejącego poddrzewa po ścieżce z minimalnym kosztem.
Inne podejście prezentuje algorytm BSMA (Bounded Shortest Multicast Algorithm) [18]. Pierwszy
etap algorytmu to wyznaczenie drzewa o najmniejszym opóźnieniu dla danego źródła s i grupy multicast G. W kolejnych iteracjach superkrawędzie (ścieżki między dwoma rozgałęzieniami, między dwoma węzłami będącymi członkami grupy multicast lub między węzłem multicast a rozgałęzieniem) w drzewie
T (s, G) zastępowane są superkrawędziami o mniejszym koszcie nienależącymi do drzewa bez przekraczania założonej granicy maksymalnego opóźnienia
(dopóki całkowitego kosztu drzewa nie będzie już
3
www.pwt.et.put.poznan.pl
można zminimalizować). Złożoność obliczeniowa algorytmu wynosi O(k|V |3 log|V |), k może być dużą liczbą
w przypadku sieci gęstych, co może stanowić trudność
w uzyskaniu akceptowalnego czasu działania algorytmu. BSMA zawsze znajduje drzewo multicast z ograniczeniami (jeśli takie istnieje), ponieważ na początku
generuje drzewo o najmniejszym opóźnieniu (LD).
Prosta metoda zaproponowana przez Lee [21]
nie wyznacza optymalnej ścieżki - wyznacza jednak
rozwiązanie heurystyczne dla problemu DCLC. Algorytm Fallback zakłada, że w sieci istnieją metryki uszeregowane (stopniowane). W pierwszym etapie
algorytm wyznacza najkrótszą ścieżkę dla pierwszej
z metryk (np. koszt), następnie sprawdza czy wartość ta pozwala spełnić pozostałe wymagania QoS.
Jeśli znaleziona ścieżka na to nie pozwala, algorytm
szuka następnej z wykorzystaniem kolejnej metryki.
W rezultacie znaleziona zostanie właściwa ścieżka lub
żadna z metryk nie pozwoli uzyskać rozwiązania. Powyższy algorytm jest bardzo prosty, szybki i zawsze
zwraca właściwe rozwiązanie (jeśli tylko ono istnieje). Nie daje jednak gwarancji znalezienia optymalnej
trasy oraz nie mówi nic o jakości znalezionej ścieżki.
ce krawędzie o najmniejszych wartościach opóźnienia
(użyj algorytmu Dijkstry [4]) - zatrzymaj algorytm,
gdy osiągnięte zostaną wszystkie węzły z grupy multicast pominięte w poprzednim drzewie (u najtańszych
krawędziach),
• scal drzewa uzyskane w obydwu etapach i usuń powstałe cykle (spośród gałęzi tworzących cykl usuń tę
o największym opóźnieniu).
Złożoność obliczeniowa algorytmu wynosi O(|V |2 ),
ponieważ używa on algorytmu Dijkstry do wyznaczenia obydwu drzew [4].
3. ALGORYTMY WIELOKRYTERIALNE
A. Wprowadzenie
Problem routingu rozsiewczego (multicast) w sieciach transportowych uwzględniający jedno lub wiele
kryteriów jak koszt i opóźnienie, jest zazwyczaj traktowany jako problem optymalizacji jednokryterialnej.
W zadaniu takim wyznaczany jest całkowity koszt
drzewa pod warunkiem zachowania z góry nałożonych
ograniczeń na opóźnienie między węzłem nadawczym,
a poszczególnymi węzłami odbiorczymi. Wielokryterialny problem optymalizacyjny MOP (ang. Multiobjective Optimization Problem) [23] składa się ze zbioru n zmiennych decyzyjnych, k funkcji kryterialnych
i m ograniczeń. Funkcje kryterialne i ograniczenia są
z kolei funkcjami zmiennych decyzyjnych:
y = f (x) = (f1 (x), f2 (x), . . . , fk (x))
e(x) = (e1 (x), e2 (x), . . . , em (x))
Rys. 3. Działanie algorytmu CSPT na przykładowej
sieci
Heurystyka CSPT (Constrained Shortest Path
Tree) wyznacza drzewo ograniczone o najmniejszym
koszcie [22]. Jeśli opóźnienie na ścieżce do dowolnego
węzła odbiorczego przekroczy ustaloną wartość graniczną, ścieżka ta zostaje zastąpiona ścieżką o najmniejszym koszcie. Tak więc, jeśli drzewo o najmniejszym koszcie przekracza graniczną wartość opóźnienia, wyznaczane jest drzewo o minimalnym opóźnieniu i obydwa drzewa są scalane. Algorytm przedstawia się następująco:
• wyznacz minimalne drzewo rozpinające o najtańszych krawędziach (z użyciem algorytmu Dijkstry [4]),
• usuń z drzewa gałęzie, które nie zawierają członków grupy multicast oraz gałęzie zawierające członków grupy multicast, dla których najtańsza ścieżka do
węzła źródłowego przekracza maksymalne opóźnienie
∆,
• wyznacz minimalne drzewo rozpinające zawierają-
PWT 2004, Poznań 9 - 10 grudnia 2004
gdzie x = (x1 , x2 , . . . , xn ) ⊆ X jest wektorem
decyzyjnym, a y = (y1 , y2 , . . . , yk ) ⊆ Y - wektorem kryterialnym. X określa przestrzeń decyzyjną,
natomiast Y - przestrzeń kryteriów. Zbiór ograniczeń
e(x) ≥ 0 wyznacza z kolei zbiór możliwych rozwiązań X f ⊆ X i odpowiadający mu zbiór wektorów
kryterialnych Y f ⊆ Y . Problem wielokryterialny polega zatem na znalezieniu takiego x, które optymalizuje funkcję f (x). Rozwiązanie takiego problemu to
w zasadzie zbiór wielu możliwych rozwiązań, z których żadne nie jest lepsze, gdyż każde optymalizuje
inne kryterium.
B. Algorytmy genetyczne
Najnowsze proponowane metody routingu [12,
23] opierają się na algorytmach genetycznych - technice odzwierciedlającej naturalną ewolucję. W pierwszym kroku algorytm generuje losową konfigurację
(zwaną populacją początkową). Każdy osobnik w populacji tworzy łańcuch symboli (genów). Taki łańcuch
symboli nazywa się chromosomem, który reprezentuje rozwiązanie problemu optymalizacyjnego. W każdej iteracji algorytmu osobniki w bieżącej populacji
wyznaczane (oceniane) są z użyciem funkcji dopasowania. Na podstawie tej funkcji wybierane są osobniki
najlepiej dopasowane (rodzice). Prawdopodobieństwo
selekcji osobników jest proporcjonalne do ich dopasowania. W kolejnym kroku stosuje się operacje genetyczne w celu wyprodukowania nowych osobników
4
www.pwt.et.put.poznan.pl
(potomstwo), które staną się częścią nowego pokolenia. W ten sposób proces ewolucyjny przegląda przestrzeń poszukiwań, znajdując coraz lepsze rozwiązania, aż do osiągnięcia warunku zatrzymania.
Dla analizowanej sieci opisanej za pomocą grafu
N = (V, E) istnieje |V ||V − 1| par węzeł nadawczy odbiorca. Dla każdej pary konstruowana jest tablica
routingu zawierająca R takich ścieżek (rozmiar tablicy routingu R jest parametrem algorytmu). Chromosom jest reprezentowany przez łańcuch liczb całkowitych o długości l (liczba węzłów odbiorczych). Pojedynczy gen jest kolejnym numerem ścieżki między
węzłem s a węzłem gi w tablicy routingu.
2
1
8
1
10
7
nich istnieje większe prawdopodobieństwo wybrania
do reprodukcji),
• dokonaj krzyżowania dwupunktowego dla każdej
pary osobników (ten operator reprezentuje mechanizm przeszukiwania lokalnego zwracając uwagę na
osobniki z wyższymi wartościami dopasowania badając dostępne informacje o rodzicach),
• dokonaj mutacji - zmień z prawdopodobieństwem
Pmut kilka genów w każdym chromosomie z nowej
generacji (pozwala to generować lepsze chromosomy
w celu uzyskania nowych przestrzeni poszukiwań).
• jeśli kryterium zatrzymania algorytmu nie zostanie
spełnione - przejdź do punktu 3 algorytmu.
Przedstawiony algorytm został użyty w celu
optymalizacji następujących funkcji kryterialnych:
• maksymalne opóźnienie:
2
2
2
2
2
6
4
8
f1 = ∆max = max[d(pT (s, gi ))];
5
g∈G
4
•
3
Tablica routingu dla wêz³a 2
4
8
Tablica routingu dla wêz³a 3
Tablica routingu dla wêz³a 4
nr
d
œcie¿ka
nr
d
œcie¿ka
nr
d
1
2
3
4
5
7
8
10
16
24
1-8-7-6-2
1-8-5-6-2
1-2
1-8-5-3-2
1-8-5-4-3-2
1
2
3
4
5
8
11
15
16
16
1-8-5-3
1-8-7-6-5-3
1-8-7-6-2-3
1-8-5-6-2-3
1-8-5-4-3
1
2
3
4
5
1-8-5-4
8
11 1-8-7-6-5-4
1-2-6-5-4
18
21 1-2-6-7-8-5-4
1-2-3-4
26
3
2
3
g1
g2
g3
całkowity koszt drzewa multicast:
X
c(u, v);
f2 = C =
Rys. 4. Wyznaczanie chromosomów, genów i tablic
routingu dla przykładowej sieci
W przedstawionym przykładzie (Rys. 3) tablica
routingu została stworzona z użyciem metryki opóźnienia (ta metoda kodowania została zaproponowana
przez Hwanga [12]).
Proponowany algorytm znajduje rozwiązanie
optymalne w sensie Pareto [17]. Oznacza to, że rozwiązanie jest paretooptymalne, jeżeli nie jest możliwe
znalezienie rozwiązania lepszego z uwagi na co najmniej jedno kryterium bez pogorszenia z uwagi na
pozostałe. Algorytm przedstawia się następująco:
• konstruuj tablicę routingu dla każdego węzła odbiorczego,
• inicjalizuj populację początkową P poprzez wygenerowanie |P | chromosomów; podobnie, zewnętrzny
niezdominowany zbiór Pareto oznacz jako Pnd (populacja niezdominowana),
• usuń ze zbioru P powtarzające się chromosomy (lub
zastąp je nowymi wygenerowanymi losowo),
• oceń P wyznaczając funkcje kryterialne dla każdego
osobnika w zbiorze P ,
• zastosuj algorytm SPEA (Strength Pareto Evolutionary Algorithm) [11] - a) zaznacz osobniki niezdominowane w zbiorze P ; b) zaktualizuj zbiór niezdominowany Pnd ; c) wyznacz intensywność Pnd oraz P ; d)
wyznacz dopasowanie w zbiorze P i Pnd ,
• przeprowadź operację selekcji w trakcie każdej generacji na zbiorze Pnd ∪ P (zaimplementuj procedurę
ruletki jako operator selekcji) - osobniki ze zbioru Pnd
są lepiej dopasowane niż osobniki ze zbioru P (dla
PWT 2004, Poznań 9 - 10 grudnia 2004
(5)
(u,v)∈T
œcie¿ka
chromosom (l=3)
(4)
• maksymalne wykorzystanie łącza (φ oznacza żądany ruch dla całej grupy multicast [b/s], natomiast
t(u, v) - bieżący zaalokowany ruch w łaczu (u, v)
[b/s]):
¸
·
φ + t(u, v)
;
(6)
f3 = α = max
c(u, v)
(u,v)∈T
•
średnie opóźnienie:
f2 = ∆AV =
1 X
[d(pT (s, gi ))].
|G|
(7)
g∈G
C. Relaksacja Lagrange’a
Relaksacja Lagrange’a jest popularną techniką
pozwalającą wyznaczyć dolne ograniczenia w celu
znalezienia rozwiązania problemu DCLC [13]. Technika ta została po raz pierwszy zastosowana przez
Helda i Karpa w celu rozwiązania problemu komiwojażera [10].
W pracy [13] zaproponowano algorytm heurystyczny LARAC (Lagrange Relaxation based Aggregated Cost) rozwiązujący problem DCLC. Prezentowana
technika polega na minimalizowaniu zmodyfikowanej
funkcji kosztu cλ = c + λd. Dla danej wartości λ można w prosty sposób wyznaczyć minimalną ścieżkę pλ .
Jeżeli λ = 0 i d(pλ ) ≥ ∆ znalezione zostaje rozwiązanie dla oryginalnego problemu (koszt niezmodyfikowany). Jeżeli d(pλ ) ≤ ∆ należy zwiększyć wartość λ,
aby zwiększyć dominancję opóźnienia w zmodyfikowanej funkcji kosztu. W kolejnych krokach algorytmu
następuje zwiększanie λ dopóki optymalne rozwiązanie cλ spełni wymagania dotyczące opóźnienia.
W nawiązaniu do powyższej metody Jiang (i pozostali) [20] zaproponował algorytm LBPSA (Lagrangian Branch-and-bound Path Selection Algorithm).
Znajduje on ścieżkę ograniczoną wieloma kryteriami QoS o najmniejszym koszcie z użyciem metody
branch-and-bound [3]. W celu wyznaczenia mnożnika
Lagrange’a zaproponowano nowa metodę iteracyjną.
5
www.pwt.et.put.poznan.pl
Dla pojedynczej ścieżki p między wezłem źródłowym s, a wezłem gi ∈ G składającej się z łączy e(u, v)
można przypisać k metryk QoS dla każdej z krawędzi:
w(e) = {w1 (e), . . . , wk (e)}. Metrykę
P ścieżki p opiszemy zatem zależnością: wi (p) =
wi (e), gdzie e ∈ p
oraz 1 < i < k. Każde łącze w badanej sieci opisywane jest także za pomocą
P kosztu c(e). Zatem całkowity
koszt ścieżki: c(p) =
c(e). Wprowadzić należy także wartości graniczne dla poszczególnych metryk QoS
- Mi . Jeżeli wi (p) < Mi - p jest dopuszczalną ścieżką
(spełniającą ograniczenia QoS).
Powyższy problem sprowadza się do znalezienia
ścieżki p0 , takiej że wi (p0 ) < Mi (dla 1 < i < k) oraz
c(p0 ) = min[c(p)|wi (p) < Mi ].
Relaksacja Lagrange’a dla problemu optymalizacji wielokryterialnej opisywana jest równaniem:
L(λ) = min[c(p) + λ1 (w1 (p) − M1 ) +
+ · · · + λk (wk (p) − Mk )]
SPIS LITERATURY
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
(8)
Maksimum funkcji L(λ) jest dolnym ograniczeniem,
które jest zbliżone do rozwiązania optymalnego L(λ):
[10]
[11]
[12]
L(λ) ≤ max L(λ) ≤ z ∗
λ
(9)
gdzie z ∗ jest najmniejszym kosztem dopuszczalnej
ścieżki, a L∗ = maxλ L(λ). L(λ) jest długością najkrótszej ścieżki wyznaczanej względem metryki zagregowanej.
W kolejnych iteracjach (zwiększanie λ), jeżeli
L(λ) osiągnie wartość maxλ L(λ) możliwe jest wyznaczenie prawidłowej ścieżki oraz ograniczeń: od góry
i z dołu. W proponowanej metodzie iteracji (metoda
maksymalnego kierunku) mnożnik λ zmienia się od
0, za każdym razem, gdy zmianie ulegnie λi (co odpowiada zależności wi (p) − Mi = max(wj (p) − Mj ),
gdzie 1 ≤ j ≤ k) - pozostałe mnożniki λj nie ulegają
zmianie. Innymi słowy współczynnik λ jest przesuwany w przestrzeni otoczonej płaszczyznami wyznaczonymi przez L(λ).
4. PODSUMOWANIE
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
M. Piechowiak, P. Zwierzykowski: Przegląd protokołów routingu multicast, VIII Poznańskie Warsztaty Telekomunikacyjne, pp. 147-152, 2003.
R. Widyono: The design and evaluation of routing algorithms for realtime channels, Technical Report TR-94-024,
University of California at Berkely, June 1994.
K. Ahuja, L. Magnanti: Network Flows: Theory, Algorithms and Applications, Prentice Hall, Upper Saddle River,
New Jersey 1993.
E. Dijkstra: A note on two problems in connection with
graphs, Numerische Mathematik, vol. 1, pp. 269-271, 1959.
L. Kou, G. Markowsky, L. Berman: A fast algorithm for
Steiner trees, Acta Informatica, no. 15, pp. 141-145, 1981.
V. P. Kompella, J. C. Pasquale, G. C. Polyzos: Multicasting for multimedia applications, IEEE/ACM Transactions on Networking, pp. 286-292, 1993.
R. Prim: Shortest connection networks and some generalizations, Bell Systems Tech J., vol. 36, pp. 1389-1401,
1957.
B. Waxmann: Routing of multipoint connections, IEEE
Journal on Selected Area in Communications, vol. 6, pp.
1617-1622, Dec 1988.
R. Karp: Reducibility among combinatorial problems,
Complexity of Computer Computations, pp. 85-104, 1972.
M. Held, R. Karp: The traveling salesman problem and
minimum spanning trees, Operation Research 18, pp.
1138-1162, 1970.
E. Zitzler, L. Thiele: Multiobjective Evolutionary Algorithms: A comparative Case Study and the Strength Pareto
Approach, IEEE Trans. Evolutionary Computation, vol.
3, no. 4, pp. 257-271, 1999.
R.H. Hwang, W.Y. Do, S.C. Yang: Multicast routing based
on genetic algorithms, Journal of Information Science and
Engineering, vol. 16, pp. 885-901, 2000.
A. Juttner, B. Szviatovszki, I. Mecs, Z. Rajko: Lagrange
Relaxation Based Method for the QoS Routing Problem,
IEEE INFOCOM’ 2001.
M. Doar, I. Leslie: How bad is naive multicast routing?,
IEEE INFOCOM’ 1993, pp. 82-89.
R. Bellman: On a routing problem, Quarterly of Applied
Mathematics, 16(1):87-90, 1958.
L. R. Ford, D. R. Fulkerson: Flows in networks, Princeton
University Press, 1962.
D. Rutkowska, M. Piliński, L. Rutkowski: Sieci neuronowe, algorytmy genetyczne i systemy rozmyte, Wydawnictwo Naukowe PWN, Warszawa-Łódź, 1997.
Q. Zhu, M. Parsa, J. J. Garcia-Luna-Aceves: A sourcebased algorithm for delay-constrained minimum-cost multicasting, IEEE INFOCOM’ 1995, pp. 377-385.
Z. Wang, J. Crowcroft: Quality-of-service routing for supporting multimedia applications, IEEE Journal on Selected Area in Communications, 1996, 14(7), pp. 1228-1234.
H. Jiang, P. Yan, J. Zhou, L. Chen, M. Wu: Multiconstrained Least Cost QoS Routing Algorithm, IEEE
ICT’ 2004, pp. 704-710.
W. C. Lee: Multi-criteria routing subject to resource and
performance constraints, ATM Forum 94-0280, 1994.
J. S. Crawford, A. G. Waters: Heuristics for ATM Multicast Routing, Computer Science, University of Kent at
Canterbury, 1998.
J. Crichigno, B. Baran: Multiobjective Multicast Routing
Algorithm, ICT 2004, LNCS 3124, pp. 1029–1034, 2004.
W artykule przedstawiono algorytmy typu multicast w sieciach pakietowych. Zaproponowano podział
tych algorytmów odzwierciedlający obecny stan badań nad prezentowaną tematyką.
Prezentowany przegląd literatury pozwala wskazać kierunki dalszych badań: użycie relaksacji Lagrange’a do wyznaczania drzew multicast uwzględniających wiele metryk QoS oraz zastosowanie optymalizacji wielokryterialnej w algorytmach genetycznych,
np. metoda ważonych kryteriów (wprowadzenie kryterium zastępczego - metryki zagregowanej), metoda
optymalizacji hierarchicznej (kolejno względem każdego kryterium osobno) lub metoda kryterium globalnego.
PWT 2004, Poznań 9 - 10 grudnia 2004
6

Podobne dokumenty