OPTYMALIZACJA PRZEPUSTOWOŚCI SIECI KOMPUTEROWYCH ZA POMOCĄ ALGORYTMÓW GENETYCZNYCH Andrzej SZYMONIK, Krzysztof PYTEL Streszczenie: W złożonych sieciach omputerowych istnieje problem doboru przepustowości łączy pomiędzy poszczególnymi węzłami sieci. Optymalny dobór przepustowości łączy pozwala na minimalizację opóźnienia paietów przy jednoczesnym ograniczeniu osztów utrzymania łączy. Zadnie to jest złożone obliczeniowo zwłaszcza dla sieci o dużej licznie węzłów. W artyule zaproponowano wyorzystanie algorytmów genetycznych do minimalizacji średniego opóźnienia paietu w sieci omputerowej. Dla zapewnienia więszej zbieżności metody zastosowano zmodyfiowany algorytm genetyczny, w tórym sterowni rozmyty ocenia poszczególnych osobniów w populacji. Na podstawie oceny poszczególnych osobniów, sterowni wpływa na przebieg algorytmu poprawiając jego suteczność. Słowa luczowe: optymalizacja, algorytmy genetyczne, sieci omputerowe. 1. Wstęp Optymalizacja przepustowości łączy w sieciach omputerowych posiada duże znaczenie pratyczne. Dane w sieci powinny być przesyłane możliwie szybo. Wraz ze wzrostem przepustowości łączy, rośnie również oszt ich esploatacji. Podstawowym celem optymalizacji sieci jest zapewnienie jej sprawnego funcjonowania przy jednoczesnym ograniczeniu osztów esploatacji. Dla zapewnienia więszej zbieżności algorytmów zostały one zmodyfiowane poprzez zastosowanie sterownia rozmytego. Zadaniem sterownia rozmytego jest wyznaczanie ierunu, w tórym powinna przebiegać ewolucja, dzięi czemu algorytm może uninąć błądzenia w przestrzeni rozwiązań. Ponadto sterowni pozwala na wyorzystanie informacji o przebiegu optymalizacji zgromadzonych przez algorytm we wcześniejszych pooleniach. Do testów wyorzystano zadanie minimalizacji średniego opóźnienia paietu. Zadanie to opisane zostało w pracy [2]. W dalszych rozważaniach przyjmiemy, że dana jest sieć, reprezentowana przez graf właściwy i zorientowany G(N w, L, C l ), gdzie: N w jest zbiorem węzłów reprezentujących routery w sieci, L jest zbiorem łuów reprezentujących łącza. Wagi wetora łuów C l mogą reprezentować odległości, opóźnienia, przepustowości lub inną wybraną miarę. Oznaczmy: ( x, L - łu o początu w węźle x i ońcu w węźle y, gdzie x, y N w, c( x, C l - przepustowość łuu (, - przepływ w łuu ( x,. x, 538
2. Zadanie minimalizacji średniego opóźnienia paietu Oznaczmy przez R ] = [ r ij mxn macierz z zewnątrz wprowadzanych natężeń oraz r ij średnie natężenie strumienia danych ierowanych z węzła i do węzła j. Poszczególne sładnii r ij możemy ponumerować od 1 do. Z -tym sładniiem związana będzie para węzłów s i sładnia tzn. u jao źródło i ujście. Przez r = rij gdzie i = s, j = u r oznaczmy średnie natężenie -tego. Przepływem wielosładniowym w sieci S realizującym macierz z zewnątrz wprowadzanych natężeń R nazywamy zespół funcji f : L R {0} = 1,..., tórych wartości f x, 1,..., ( x, L spełniają następujący uład warunów: +, (1) ( = przypisane poszczególnym łuom r x = s f ( y, x) = r dla x = u A( x) y B ( x) 0 w pozostaych przypadach y dla (2) dla ażdego x N, =1,...,. Zbiór A( x) = { y : y N i ( x, L} jest zbiorem węzłów sieci, do tórych prowadzą łui wychodzące z węzła x, zbiór B( x) = { y : y N i ( x, L} jest zbiorem węzłów sieci, do tórych prowadzą łui sierowane do węzła x. Problem minimalizacji średniego opóźnienia paietu polega na minimalizacji funcji T = 1 γ ( x, L c( x,, (3) gdzie: r i i= 1 γ = - jest natężeniem sumarycznego strumienia paietów wprowadzanych do sieci, przy spełnieniu warunów: r x = s f ( y, x) = r dla x = u A( x) y B ( x) 0 w pozostaych przypadach y dla (4) 539
dla ażdego x N, =1,...,, f ( x, 0 dla ażdego ( x, L, = 1,..., c( x, dla ażdego ( x, L., Rozwiązanie zadania polega na wyszuaniu optymalnych ścieże, po tórych przesyłane będą poszczególne sładnii przepływu. Wybór odpowiednich ścieże powinien uwzględniać wielości sładniów przepływu, przepustowości poszczególnych łączy oraz założenie, że w danym momencie z ażdego łącza może orzystać co najwyżej jeden sładni przepływu. Poszczególne sładnii przepływu mogą wzajemnie oddziaływać na siebie. Zmiana trasy jednego z nich, może powodować onieczność zmiany również innych sładniów. Rozwiązanie zadania za pomocą lasycznych metod algorytmicznych jest trudne również ze względu na dużą przestrzeń rozwiązań. Ponadto optymalizowana funcja jest nieciągła ze względu na soowe zmiany wartości przepustowości łączy. 3. Algorytm genetyczny wyorzystany do optymalizacji średniego opóźnienia paietu Algorytmy genetyczne umożliwiają wyszuiwanie przybliżonych rozwiązań złożonych problemów optymalizacyjnych. Swoje istnienie zawdzięczają obserwacji i próbie naśladowania naturalnych procesów zachodzących w świecie organizmów żywych - ewolucji i związanej z nią naturalnej selecji występującej w populacjach żywych osobniów. Algorytmy genetyczne operują na populacjach rozwiązań nazywanych osobniami. Osobni reprezentuje ompletne rozwiązanie danego problemu optymalizacyjnego. Jaość osobniów oceniana jest za pomocą nieujemnej funcji przystosowania. Osobnii o wysoim przystosowaniu spełniają waruni zadania w wyższym stopniu niż osobnii o nisim przystosowaniu. Osobnii odowane są w strutury zwane ciągami odowymi. Algorytm genetyczny poszuuje coraz lepszych rozwiązań, generując olejne poolenia osobniów, poprzez przeprowadzanie operacji na ciągach odowych. Pierwsze poolenie tworzy się losowo lub wybiera w inny sposób. Dla ażdego olejnego poolenia wybiera się pewną liczbę osobniów (proces selecji). Osobnii o wysoiej wartości funcji przystosowania mają więszą szansę na wybór. Osobnii te są ojarzone w pary (losowo), po czym następuje wymiana (wymieszanie się) materiału genetycznego rodziców, w wyniu czego otrzymujemy dwa nowe ciągi odowe (odpowiadające genotypowi dzieci). Więcej informacji na temat algorytmów genetycznych można znaleźć w literaturze [1], [3]. Algorytmy genetyczne nie gwarantują znalezienia rozwiązania optymalnego, lecz zwyle pozwalają na znalezienie rozwiązania blisiego optymalnemu. Czas działania algorytmu, zwłaszcza w przypadu onieczności przeszuiwania dużych przestrzeni rozwiązań może być długi. W esperymencie rozwiązywano zadanie testowe przy pomocy algorytmu genetycznego wyorzystującego sterowni rozmyty do modyfiowania prawdopodobieństwa selecji. Schemat bloowy zmodyfiowanego algorytmu genetycznego poazany został na rys.1. Sterowni rozmyty (na schemacie bloowym opisany ursywą na ciemnym tle) ocenia ażdego osobnia w populacji i wyznacza dla niego współczynni adaptacji prawdopodobieństwa selecji (wps ). 540
Rys.1. Schemat bloowy zmodyfiowanego algorytmu genetycznego Źródło: opracowanie własne Sterowni modyfiuje prawdopodobieństwo selecji w oparciu o zasady: zwięsz prawdopodobieństwo selecji dla osobniów o wartości funcji przystosowania powyżej średniej w pooleniach, w tórych średnia wartość funcji przystosowania rośnie w stosunu do poolenia poprzedniego, pozostaw bez zmian prawdopodobieństwo selecji dla osobniów o wartości funcji przystosowania równej średniej w pooleniach, w tórych średnia wartość funcji przystosowania nie zmienia się stosunu do poolenia poprzedniego, zmniejsz prawdopodobieństwo selecji dla osobniów o wartości funcji przystosowania poniżej średniej w pooleniach, w tórych średnia wartość funcji przystosowania zmniejsza się w stosunu do poolenia poprzedniego. Zmodyfiowane prawdopodobieństwo selecji osobnia obliczane jest na podstawie wzoru: ps' = ps * wps dla = 1 N (5),..., gdzie: ps' - zmodyfiowane prawdopodobieństwo selecji osobnia, ps - prawdopodobieństwo selecji osobnia, wps - współczynni prawdopodobieństwa selecji osobnia wyznaczony przez sterowni rozmyty. Więcej informacji o algorytmach genetycznych, w tórych zastosowano sterowni rozmyty do modyfiacji prawdopodobieństwa selecji osobniów można znaleźć w pracy [4], [5]. 541
4. Esperyment Esperyment polegał na optymalizacji przepływu wielosładniowego bez rozgałęzień. Jao ryterium optymalizacji przyjęto średnie opóźnienie paietu. W zadaniu testowym optymalizowano sieć sładającą się z 58 węzłów. Łui pomiędzy węzłami posiadają różną przepustowość przy czym nie wszystie węzły połączone są bezpośrednio. Z zewnątrz wprowadzono do sieci obciążenie z 9 sładniów o różnym natężeniu. Dla ażdego ze sładniów zdefiniowano po 8 dopuszczalnych tras. Zadanie testowe zostało rozwiązane za pomocą algorytmu przeszuującego wszystie możliwe ombinacje rozwiązań (metoda brute force ). Wynii uzysane przez ten algorytm posłużyły jao punt odniesienia i umożliwiły porównanie z wyniami uzysanymi przez zaproponowany, zmodyfiowany algorytm genetyczny. Zadanie rozwiązano również przy pomocy lasycznego algorytmu genetycznego, nie orzystającego ze sterownia rozmytego. Pozwoliło to na ocenę suteczności modyfiacji algorytmu. W esperymencie przyjęto następujące parametry algorytmów genetycznych: - geny reprezentowane są przez ciągi 9 liczb z przedziału <0, 7>, - funcja przystosowania dla osobnia obliczana na podstawie zależności (3), - prawdopodobieństwo rzyżowania 0,8, - prawdopodobieństwo mutacji 0,15, - liczebności populacji 25. Wyres na rys. 2. poazuje wartość funcji przystosowania osobnia (średniego opóźnienia paietu) oraz średnią wartość przystosowania w populacji dla pierwszych 200 pooleń algorytmu. Śerdnie opóźnienie paietu 1000 950 900 850 800 750 700 0 50 100 150 200 Najlepszy dotychczasowy osobni Średnia w populacji Linia trendu dla średniej w polulacji Liczba pooleń Rys. 2. Wartość funcji przystosowania osobniów (średniego opóźnienia paietu) w olejnych pooleniach algorytmu Źródło: opracowanie własne 5. Wniosi Algorytm genetyczny znalazł rozwiązanie testowego problemu. Pomimo, iż zwyle algorytmy genetyczne pozwalają tylo na znalezienia rozwiązania blisiego optymalnemu, zaproponowane zadanie testowe oazało się na tyle łatwe, że algorytm genetyczny znalazł rozwiązanie optymalne (taie samo ja algorytm brute force ). Średnia wartość średniego opóźnienia paietu (funcji optymalizowanej) w pierwszym pooleniu (wybranym losowo) wynosiła 963, a wartość optymalna 732. Oznacza, że 542
algorytm genetyczny na drodze ewolucji znalazł rozwiązanie o ooło 24% lepsze od rozwiązania początowego (wartość odniesiona do wartości początowej). Algorytmy genetyczne mogą być zastosowane do zadań optymalizacji sieci o więszej liczbie węzłów i sładniów, lecz wymaga to dłuższego czasu działania. Możliwe jest również orzystanie z innych ryteriów optymalizacji, np. przepustowości sieci, osztu budowy, osztu orzystania z usług omuniacyjnych itp. Problem optymalizacji przepływu wielosładniowego jest zadaniem trudnym do rozwiązania metodami tradycyjnymi ze względu na bardzo dużą przestrzeń rozwiązań. Dla przyjętych w esperymencie warunów czas potrzebny na obliczenie wszystich możliwych rozwiązań (metodą brute force ) wynosił ooło 3,5 godziny. Zastosowanie zmodyfiowanego algorytmu pozwoliło na srócenie tego czasu do ilunastu seund. Oba algorytmy uruchomione były na tym samym omputerze. Przepustowości łączy oferowanych przez firmy teleomuniacyjne są wielościami zmieniającymi się soowo, ponadto poszczególne sładnii przepływu mogą wyorzystywać te same łącza, co powoduje, że funcja optymalizowana nie jest funcją ciągłą. Dlatego w esperymencie zastosowano model mutacji, w tórym mutowany gen przyjmuje dowolną spośród dopuszczalnych wartości genu z jednaowym prawdopodobieństwem. Zastosowanie sterownia rozmytego modyfiującego prawdopodobieństwo selecji pozwoliło na zmniejszenie o ooło 15% liczby pooleń potrzebnych do uzysania rozwiązania, co w onsewencji spowodowało srócenie czasu działania algorytmu o ooło 6,5% w stosunu do lasycznego algorytmu genetycznego (nie orzystającego ze sterownia rozmytego). Zaproponowana metoda może być zastosowana do innych zadań związanych z optymalizacją przepływów, np. towarów, wyrobów itp. Literatura 1. Goldberg D.E.: Algorytmy genetyczne i ich zastosowania. Wydawnictwa Nauowo Techniczne, Warszawa 1998. 2. Kasprza A.: Rozległe sieci omputerowe z omutacją paietów. Oficyna Wydawnicza Politechnii Wrocławsiej, Wrocław 1999. 3. Michalewicz Z.: Algorytmy genetyczne + strutury danych = programy ewolucyjne, Wydawnictwa Nauowo Techniczne, Warszawa 1999. 4. Pytel K., Klua G.: Wyorzystanie logii rozmytej do wspomagania ewolucji osobniów w algorytmach genetycznych. w Studia z Automatyi i Informatyi tom 27, Poznańsie Towarzystwo Przyjaciół Nau, Poznań 2002. 5. Pytel K., Klua G., Kisilewicz J.: Zastosowanie algorytmów genetycznych do optymalizacji osztów esploatacji sieci omputerowych. Proceedings of 1 st Polish and International PhD Forum-Conference on Computer Science, Łódź 2005. Dr hab. inż. Andrzej SZYMONIK prof. PŁ Katedra Zarządzania Producją Wydział Organizacji i Zarządzania Politechnia Łódza ul. Wólczańsa 215, 90-924 Łódź Dr inż. Krzysztof PYTEL Aademia Humanistyczno-Eonomiczna w Łodzi 543