Wrocław

Wielkość: px
Rozpocząć pokaz od strony:

Download "50-370 Wrocław wojciech.kmiecik@pwr.wroc.pl"

Transkrypt

1 Piotr Delebis Politechnika Wrocławska Wyb. Wyspiańskiego Wrocław Wojciech Kmiecik Politechnika Wrocławska Wyb. Wyspiańskiego Wrocław Krzysztof Walkowiak Jacek Rak Politechnika Wrocławska Wyb. Wyspiańskiego Wrocław Politechnika Gdańska ul.narutowicza 11/ Gdańsk Optymalizacja przepływów anycast oraz unicast w przeżywalnych sieciach komputerowych z wykorzystaniem przeszukiwania tabu Streszczenie: Optymalne wykorzystanie dostępnych zasobów sieciowych, przepustowości łączy, a także zapewnienie przeżywalności nabiera coraz większego znaczenia ze względu na fakt, iż wszystkie istotne gałęzie gospodarki i codziennego życia, takie jak m.in. bankowość, służby ratunkowe, edukacja, w szerokim stopniu uzależnione są od różnego rodzaju usług sieciowych. Przeżywalność zapewniana poprzez generowanie dwóch rozłącznych ścieżek jest techniką kosztowną w kontekście konieczności rezerwowania dużej przepustowości na ścieżki alternatywne. Z tego powodu zdecydowano o zastosowaniu koncepcji współdzielenia przepustowości dla ścieżek zapasowych SBPP (ang. Shared Backup Path Protection), która to prowadzić ma do redukcji wspomnianego kosztu. Problematyka optymalizacji przepływów anycast i unicast z uwzględnieniem przeżywalności sieci nie jest trywialna, a w efekcie wymaga ogromnych zasobów mocy obliczeniowej i czasu. Zdecydowano o zastosowaniu algorytmu heurystycznego na bazie przeszukiwania tabu w celu otrzymania rezultatów bliskich optimum w krótkim czasie i przy ograniczonej mocy obliczeniowej. Wyniki badań dają podstawy do stwierdzenia, że przeszukiwanie tabu jest algorytmem efektywnym czasowo, który otrzymuje rezultaty bliskie optimum. Ponadto, zastosowanie koncepcji współdzielenia przepustowości przez ścieżki zapasowe znacząco redukuje średni koszt alokacji przepływów w sieci o ustalonej topologii. Porównanie wyników dla kilku scenariuszy rozmieszczenia i liczby serwerów replikujących dane dla żądań anycast, prowadzi do wniosku, że dodanie kolejnych serwerów redukuje koszt alokacji przepływów. 1. WSTĘP W pracy podjęto temat optymalizacji przepływów anycast oraz unicast w przeżywalnych sieciach komputerowych. Tematyka ta jest szczególnie istotna z uwagi na coraz większą zależność kluczowych aspektów życia (np. bankowość, służba medyczna, praca zdalna) od usług sieciowych. Zapewnienie stałej i niezawodniej transmisji, zwłaszcza jeżeli rozpatrywane są sieci szkieletowe, gdzie wolumen danych jest znaczny, jest konieczne w kontekście ewentualnie poniesionych w skutek awarii kosztów biznesowych, czy też nakładów na bezpieczeństwo. Poddano analizie sieci zorientowane połączeniowo, gdyż zaobserwowano znaczący wzrost ich znaczenia, np. stosowanie technik MultiProtocol Label Switching (MPLS) i Dense Wavelength Division Multiplexing (DWDM), spowodowane łatwiejszą możliwością zarządzania ruchem (QoS) [1]. Postulowaną niezawodność uzyskano poprzez wyznaczenie dla każdego z żądań dwóch rozłącznych ścieżek: podstawowej i zapasowej. Długości ścieżek zapasowych są zazwyczaj znacznie większe od długości analizowanych ścieżek podstawowych. Skutkuje to koniecznością zarezerwowania w celu zapewnienia niezawodności znacznej przepustowości względem przepustowości już zaalokowanej do standardowej realizacji żądań. W tej perspektywie cenne staje się rozważenie koncepcji prowadzącej do redukcji tego zjawiska, a przez to do znaczącego zmniejszenia kosztów całego rozwiązania. Stąd też zdecydowano się rozważyć koncepcję współdzielenia przepustowości dla ścieżek zapasowych (SBPP), która okazuje się być efektywnym rozwiązaniem, gdy tylko zawęzimy rozpatrywane scenariusze awarii elementów sieci do tych najbardziej prawdopodobnych. Jej podstawową wadą jest jednak złożoność obliczeniowa, która ograniczała uzyskanie rezultatów do sieci o małym rozmiarze [2]. Z tego powodu, celowym stało się zaprojektowanie algorytmu, który pozwalałby na uzyskanie aproksymacji wyników odpowiednio blisko odległych od rezultatów optymalnych w zadanym czasie. Dotychczasowe rozważania koncepcji SBPP w literaturze opierały się głównie na żądaniach unicast, w pracy poszerzono tą dyskusję o uwzględnienie transmisji jeden-do-jednego-z-wielu (anycast). Obecnie coraz więcej usług sieciowych korzysta z anycastingu, np. Content Delivery Network (CDN), Web Service, Domain Name Service (DNS), systemy peer-to-peer (P2P), video streaking, sieci czujników, czy sieci nakładkowe [3],[4]. Anycast może być stosowany również w celu zmniejszenia natężenia ruchu w sieci oraz zredukowania opóźnienia w dostawie danych. Jako że w sieci znajduje się wiele serwerów replikujących te same informacje, zatem koszt dostępu do nich maleje. Wyboru można dokonywać według wielu kryteriów (np. lokalizacji serwera repliki), obejmujących wiele aspektów (np. jakość usług). Tego typu przepływy podnoszą niezawodność sieci komputerowych, gdyż z racji dostępu do kopii zapasowych danych, istnieją ścieżki prowadzące do różnych serwerów replik i awaria któregoś z nich nie czyni danych nieosiągalnymi. Głównym celem pracy było opracowanie oraz implementacja algorytmu heurystycznego rozwiązującego problem optymalizacji przepływów unicast i anycast w przeżywalnych sieciach komputerowych, oraz jego analiza w kontekście porównania otrzymywanych wyników względem rezultatów optymalnych, uzyskanych przez metody dokładne (modele całkowitoliczbowe). PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/

2 Zdecydowano, że przedstawiona zostanie koncepcja algorytmu nawiązująca do metody przeszukiwania tabu. Rozdział 2 zawiera przegląd literaturowy związany z tematyką optymalizacji przepływów unicast, anycast, a także przeżywalnymi sieciami komputerowymi. Przyjęta przez nas notacja oraz model problemu zaprezentowane zostały w rozdziale 3. W rozdziale 4 przedstawiono metody rozwiązania zadanego problemu optymalizacyjnego. Rozdział 5 zawiera plan badań eksperymentalnych oraz ich wyniki. Podsumowanie i wnioski zebrane są w rozdziale PRZEGLĄD LITERATUROWY Problem optymalizacji przepływów w przeżywalnych sieciach komputerowych jest tematem kliku prac i artykułów. W [2] autorzy przedstawiają koncepcję współdzielenia przepustowości w przypadku alokacji przepływów typu unicast i anycast w przeżywalnych sieciach komputerowych. Do tego modelu bezpośrednio odnosi się przedstawiony w niniejszej pracy algorytm. Co więcej, autorzy posłużyli się notacją Węzeł-Łuk (ang. Node-Link) i za jej pomocą zdefiniowali problem, a następnie przestawili jego rozwiązanie dla ustalonej topologii o niewielkiej liczbie węzłów, krawędzi i żądań, uzyskane za pomącą całkowitoliczbowego programowania liniowego. Sama koncepcja współdzielenia ścieżek zapasowych została również poruszona w pracy [5]. Można tam odnaleźć dyskusje na temat dwóch różnych podejść w wyznaczaniu ścieżek zapasowych: równoległą do poszukiwania ścieżki podstawowej, oraz dwuetapową, gdzie przystąpienie do analizy zapewnienia niezawodności następuje już po zapewnieniu realizacji wszystkich żądań podstawowych. W omawianym artykule wprowadzono dwa typy algorytmów heurystycznych: Iterative Two-Step-Approach (ITSA) and Maximum Likelihood Relaxation (MLR), których celem jest znalezienie wyników zbliżonych do optymalnych względem funkcji kryterialnej w ograniczonym z góry czasie obliczeń. Zauważono, że ITSA jest w stanie znacząco zbliżyć się do zakładanej tolerancji. Dzieje się to jednak kosztem zwiększenia okna czasowego. Z kolei MLR daje szybkie rezultaty, lecz leżą one dalej względem rozwiązań referencyjnych w przyjętych metrykach. Przedstawione wyniki opierają się na założeniu występowania jedynie przepływów unicast. Autorzy pracy [6] prezentują dyskusję na temat problemu alokacji ścieżek w światłowodach w kontekście żądań anycast minimalizujących liczbę użytych długości fal. Proponują zastosowanie algorytmu Short Leap Shared Protection (SLSP), polegającego na podziale ścieżek podstawowych na kilka nakładających się domen ochron. W każdej domenie wyznaczane są ścieżki zapasowe. Metoda ta gwarantuje zmniejszenie opóźnień podczas wyznaczania ścieżek zapasowych, gdyż analizowane są tylko podsieci stanowiące poszczególne domeny. Co więcej, w przypadku zaistnienia awarii w danej domenie nie jest konieczne rozszerzenie obliczeń do całej ścieżki (wystarczające jest przeprowadzenie obliczeń dla jej fragmentu). Powyższe zalety znalazły potwierdzenie w szeregu symulacji komputerowych wykonanych przez autorów pracy. Rozwiązanie to niesie za sobą także i wady np. wzrost złożoności sygnalizacji, jak i zmniejszenie odporności na błędy protokołów. Z powodów powyższych, idea ta nie została ujęta podczas projektowania autorskiego algorytmu. Przeniesienie idei podziału sieci na domeny i zastosowania algorytmu Segment Shared Protection (ang. SSP) dla sieci mesh prezentuje artykuł [7]. Odwołuje się on do innego sposobu zapewnienia niezawodności: dynamicznego routingu z użyciem specjalnego typu protekcji zwanej dzieleniem segmentów. Autorzy formułują problem zarówno w kontekście całkowitoliczbowego programowania liniowego, jak i prezentują autorską koncepcję algorytmu heurystycznego nazwaną Cascaded Diverse Routing (CDR). Propozycja algorytmu opartego na metodzie przeszukiwania z listą tabu została przedstawiona w pracy [1]. Autorzy zaproponowali sąsiednie rozwiązanie, które różni się od rozpatrywanego o parę ścieżek podstawowej i zapasowej. Zrealizowano koncepcję krótkiej pamięci, która decyduje o tym, w ilu kolejnych iteracjach rozpatrywany ruch staje się zabronionym. Poddano szczegółowej analizie dobór parametrów takich jak długość listy tabu, liczba iteracji w algorytmie, czy liczba iteracji w których nie uzyskano znaczącej poprawy wyników funkcji kryterialnej względem aktualnego rozwiązania. Eksperymenty obliczeniowe zrealizowano w oparciu kilka topologii sieci. Dokonano alokacji przepływów zarówno dla żądań unicast jak i anycast. W pracy autorzy posłużyli się notacją Łuk-Ścieżka (ang. Link-Path). Częścią tak stawianego zadania jest podanie jako dane wejściowe zadanego zbioru ścieżek kandydujących, co może wiązać się ze znacznym ograniczeniem przestrzeni możliwych rozwiązań. Takie podejście odpowiada sytuacji, kiedy operatorzy sieci telekomunikacyjnych proponują różne łącza i konstruują cenniki uwzględniające zmniejszenie kosztów jednostkowych wraz ze wzrostem przepustowości. Z drugiej strony, w omawianej pracy nie uwzględniono koncepcji współdzielenia przepustowości dla ścieżek zapasowych, która to może przyczynić się do redukcji kosztów. Przy alokacji przepływów dla żądań typu anycast należy rozważyć wybór odpowiedniego serwera replikującego dane. Na rozważeniu różnych strategii i ograniczeń w realizacji tej składowej w problemie optymalizacji jednoczesnej alokacji żądań unicast oraz anycast skupiają się autorzy artykułu [8]. Postulowany sposób zapewnienia niezawodności jest zbieżny do zaprezentowanego w niniejszej pracy. Do przeprowadzenia symulacji komputerowych użyto środowiska CPLEX Zbadano wpływ liczby serwerów replikujących dane na wydajność alokacji w terminach kilku metryk. Skupiono uwagę na zależności tego zjawiska także od proporcji ruchu anycast, oraz topologii poszczególnych sieci komputerowych. Ważnymi rezultatami są stwierdzenia, że zarówno ustalenie jako obowiązujących serwerów najbliżej zlokalizowanych względem węzła klienckiego, jak i chęć wymuszenia przypisania różnych serwerów dla elementów pary ścieżki podstawowej i zapasowej zwiększa znacząco koszt i użycie zasobów sieciowych. Sugerując się rezultatami uzyskanymi przez autorów pracy [8], w niniejszym artykule rozpatrzono jedynie dwie strategie przyporządkowania serwerów replikujących, rezygnując z rozważania najbardziej kosztownych roz- PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/

3 wiązań. Rozszerzono zaprezentowaną w artykule dyskusję o zbadanie wpływu użycia koncepcji współdzielenia ścieżek zapasowych na uzyskane charakterystyki. Problem jednoczesnego przypisania lokalizacji serwerów replikujących, wyznaczenia przepustowości łączy oraz alokacji przepływów w rozległych sieciach komputerowych został omówiony w pracy [9]. Autorzy skupiają się na minimalizacji średniego opóźnienia pakietu z uwzględnieniem dodatkowych ograniczeń związanych z kosztem sieci. Zaprezentowane symulacje są wynikiem zastosowania zarówno metod dokładnych, jak i algorytmu aproksymującego rozwiązanie. Prowadzą one do sformułowania kilku własności analizowanego problemu. Praca [10] odwołuje się do routingu pakietów w dynamicznie zmieniającej się sieci komputerowej, z uwzględnieniem ruchu anycast. Autorzy wskazują, że niewątpliwe zalety zastosowania tego typu ruchu, takie jak redundancja i przezroczystość (ze względu na stosowaną adresację), idealnie wpisują się w filozofię działania tego typu sieci. Przedstawiają teoretyczne podstawy stosowania omawianych rozwiązań, skupiając się na sformułowaniu problemu routingu anycast i kontroli dostępu dla dowolnego ruchu w sieciach dynamicznych. Wskazują, że proste lokalne równoważenie obciążenia pozwala na osiągniecie niemal optymalnej wydajności, o ile tylko mamy dostępną wystarczającą ilość miejsca w przestrzeni buforowej. 3. MODEL PROBLEMU I PRZYJĘTA NOTACJA W celu zachowania zgodności z opisem analizowanego modelu względem pracy [2], przyjęto jako obowiązującą notację Węzeł-Łuk. Dzięki takiej formalnej definicji problemu możliwe jest uniknięcie konieczności predefinicji zbioru rozważanych ścieżek kandydujących, a przez to ograniczania a priori przestrzeni analizowanych rozwiązań. W celu zamodelowania topologii sieci posłużono się grafem skierowanym Γ(N, A), o zadanym zbiorze wierzchołków (N) oraz skierowanych krawędzi (A), definiowanych przez parę wierzchołków stanowiących węzły źródłowy i docelowy. W definiowanym problemie niezawodność jest realizowana poprzez zapewnienie ścieżek alternatywnych, rozłącznych względem ścieżek podstawowych, tak aby możliwe było przełączenie na nie ruchu w razie zaistnienia awarii pojedynczego łącza. Inne scenariusze awarii nie są rozpatrywane z uwagi na nikłe prawdopodobieństwo ich wystąpienia. Konsekwencją stosowania takiego rozwiązania jest konieczność zarezerwowania dodatkowej przepustowości na łączach. W celu minimalizacji kosztów rozwiązania, zdecydowano się zastosować algorytm współdzielenia przepustowości na łączach przez ścieżki zapasowe. Indeksy i zbiory N zbiór wierzchołków (stacji klienckich i serwerów) A zbiór krawędzi reprezentujących łącza w sieci Γ(N, A) graf skierowany reprezentujący topologię sieci komputerowej n indeks wierzchołków h indeks krawędzi R A n r f r τ(r) s r t r D UN D DS D US D AN D zbiór wierzchołków, w których zlokalizowano serwery replikujące zbór krawędzi wchodzących i wychodzących względem wierzchołka n indeks żądań przepustowość wymagana do realizacji żądania r (wartość całkowita) indeks żądania anycast upstream odpowiadającego żądaniu anycast downstream r węzeł źródłowy dla żądania r (w przypadku żądań anycast downstream nieokreślony) węzeł docelowy dla żądania r (w przypadku żądań anycast upstream nieokreślony) zbiór żądań unicast zbiór żądań anycast z serwera replikującego dane do wierzchołka klienta (downstream) zbiór żądań anycast ze stacji klienckiej do serwera replikującego (upstream) zbiór żądań anycast D AN = D DS D US zbiór wszystkich żądań D = D UN D AN zmienne x r,h wynosi 1 jeżeli ścieżka podstawowa dla r-tego żądania używa łączą a h, 0 w przeciwnym razie y r,h wynosi 1 jeżeli ścieżka zapasowa dla r-tego żądania używa łączą a h, 0 w przeciwnym razie z r,n wynosi 1 jeżeli w ścieżce podstawowej, dla r-tego żądania anycast, serwer replikujący znajduje się w wierzchołku n, 0 w przeciwnym razie v r,n wynosi 1 jeżeli w ścieżce podstawowej, dla r-tego żądania anycast, serwer replikujący znajduje się w wierzchołku n, 0 w przeciwnym razie c r,h,g wynosi 1, jeżeli w celu zabezpieczenia względem awarii łącza g, przy r-tym żądaniu używana jest krawędź (łącze) h, 0 w przeciwnym razie c h,g przepustowość wymagana do zarezerwowania na łączu h w celu zapewnienia niezawodności w przypadku awarii łączą g (liczba całkowita) c h maksymalna przepustowość konieczna do zaalokowania na łączu h w celu zapewnienia ochrony przed awariami pojedynczych łączy. cel: Zadaniem stawianym przed programem jest wyznaczenie przepływów poprzez podanie zbioru ścieżek podstawowych i zapasowych gwarantujących zabezpieczenie przed awariami pojedynczych łączy, minimalizujących koszt określony funkcją liniową: =, + (1) gdzie to koszt jednostki przepływu (w rozważanych scenariuszach tożsamy z długością łączy) zadany dla każdego łącza (krawędzi h. ograniczenia: a) związane z zapewnieniem przepływów (wyznaczenie ścieżek podstawowych i zapasowych) dla żądań typu unicast. Dla każdego, oraz :, {:! $,#;, 1 + =, = ) 1 + =-. 4 (2) PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/

4 5, {:! $,#; 5, 1 + =, = ) 1 + =-. 4 (3) b) związane z zapewnieniem przepływów (wyznaczenie ścieżek podstawowych i zapasowych) dla żądań typu anycast downstream. Dla każdego, oraz 6 :, 5, {:! $,#;, {:! $,#; 5, 1,# + 8 = =- 4. (4) 1,# + 8 = =- 4. (5) c) związane z zapewnieniem przepływów (wyznaczenie ścieżek podstawowych i zapasowych) dla żądań typu anycast upstream. Dla każdego, oraz 6 :, 5, {:! $,#;, {:! $,#; 5, 1 + =, = 7 1,# + 84(6) 1 + =, = 7 1,# + 84(7) d) Dla każdego ustalonego żądania anycast downstream, serwery replikujące używane w ścieżkach podstawowych (zapasowych) są tożsame ze serwerami replikującymi używanymi dla w ścieżkach podstawowych (zapasowych) w odpowiadających im żądaniach upstream. Dla każdych 8, 6 : 1,# =1 9,# (8) :,# =: 9,# (9) e) Dla każdego żądania anycast wyznaczono po jednym serwerze replikującym (ścieżka podstawowa i zapasowa). Dla każdego 6 # ; 1,# =1 (10) # ; :,# =1 (11) f) Ograniczenie przepustowości łączy Dla każdego h :, + Ʌ (12) g) Ścieżka podstawowa i zapasowa dla ustalonego żądania są rozłączne na poziomie krawędzi. Dla każdych h, :,= +5,= 1 (13) h) Ograniczenie przepustowości mające na calu zapewnienie wspólnej protekcji: Dla każdych,h,>,> h 2,,=,= +5, 1+,,= (14) i) Przepustowość wymagana do alokacji na łączu h w rozważanym scenariuszu awarii pojedynczych łączy. Dla każdych h,>,> h,= = ;,,= (15) j) Maksymalna ilość przepustowości wymaganej dla zapewnienia rozważanego poziomu niezawodności. Dla każdych h,>,> h,= (16) k) Maksymalna ilość przepustowości wymaganej dla zapewnienia rozważanego poziomu niezawodności. Dla każdych h,>,> h = =,= (17) W pracy rozważano kilka problemów różniących się między sobą częścią stosowanych założeń i ograniczeń. Pierwsze rozróżnienie dokonano ze względu na zastosowanie koncepcji współdzielenia przepustowości łączy przez ścieżki zapasowe. Ograniczenia definiujące ten algorytm skupiają równania i nierówności (2)-(16). Gdy chcemy zaniechać stosowania tej procedury, należy ograniczenie (16) zastąpić przez (17). Kolejny podział problemów uzyskujemy, gdy rozważymy strategię doboru serwerów replikujących. Jednym z rozwiązań jest definicja funkcji przyporządkowującej żądaniom anycast najbliższy (w sensie określonej metryki) serwer replikujący. Zastosowanie tej metody oznaczane będzie dalej przez skrót CR (ang. Closest Replica). Po wyznaczeniu wartości tak zadanej funkcji, problem staje się tożsamy z problemem, w którym żądania anycast potraktujemy już jako żądania unicast, a zbiór A staje się żądaniem pustym. Dlatego zaniechano definicji kolejnych ograniczeń. Problem, w którym brak jest definicji zadanego z góry przyporządkowania serwerów replikujących oznaczono skrótem AR (ang. Any Replica). 4. METODY ROZWIĄZANIA PROBLEMU OPTYMALIZACYJNEGO 4.1. Metoda pseudolosowa Zaprojektowana metoda pseudolosowa opiera się na budowie drzewa opinającego na podstawie przeszukiwania w głąb, z zastrzeżeniem dodawania węzłów sąsiadujących w kolejności wynikającej z komputerowej symulacji rozkładu jednostajnego dyskretnego. Algorytm ten opiera się o na zastosowaniu stosu, dzięki któremu uzyskuje się efekt przetwarzania najpierw ostatnio odwiedzonych węzłów kolejka typu LIFO (ang. last in, first out). Tak powstała struktura stanowi punkt wyjścia do wyznaczenia ścieżki pomiędzy wierzchołkami źródłowym i docelowym. Po ustaleniu ścieżki podstawowej, krawędzie wchodzące w jej skład zostają usuwane z grafu reprezentującego topologię sieci i następuje wyznaczenie ścieżki zapasowej dla danego żądania. Idea ta zakłada wstępną relaksację ograniczeń dot. przepustowości na łączach w sieci. W przypadku stwierdzenia naruszenia wymogu związanego z przepustowością, losowane jest żądanie realizowane na tym łączu i wyznaczenie ścieżki odbywa się ponownie. Wyznaczenie serwera replikującego dane dla żądania anycast odbywa się także w sposób pseudo- PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/

5 losowy, zgodnie z przybliżeniem rozkładu jednostajnego dyskretnego. Ogólny zarys algorytmu jest następujący: 1. Dla każdej pary żądań (anycast upstream, anycast downstream) wylosuj serwer replikujący. W przypadku z góry ustalonych serwerów replikujących (problem CR) pomiń ten krok. 2. Dla każdego żądania wyznacz ścieżkę podstawową zgodnie z opisem: a. Przeglądanie grafu rozpocząć należy z wierzchołka źródłowego dla analizowanego żądania, którego to numer umieszczamy na stosie S. b. W pętli wykonuj następujące operacje: i. Pobierz ze stosu S numer jednego z wcześniej analizowanych i zamieszczonych tam wierzchołków grafu, oznacz go jako v i jeśli jest on docelowym dla analizowanego żądania to zakończ działanie pętli ii. Jeśli wierzchołek v był odwiedzony to przejdź do następnej iteracji pętli iii. Oznacz v jako odwiedzony. (przypisz mu wierzchołek, z którego nastąpiła wizyta) iv. Dodaj do stosu S wszystkie wierzchołki nieodwiedzone w losowej kolejności. 3. Po usunięciu z grafu reprezentującego topologię sieci krawędzi odpowiedzialnych za realizację żądania podstawowego, wyznacz ścieżkę zapasową według algorytmu z punktu Spośród żądań realizowanych na łukach z naruszeniem warunku 12 wybierz losowo jedno i dokonaj ponownego wyznaczania ścieżek (z pominięciem łuku o nadmiernym przepływie). Wykonuj operacje aż do zapewnienia zgodności z postulatem 12 (alternatywnie przerwij działanie po określonej liczbie iteracji i zwróć nieskończoność jako koszt rozwiązania). Proponowana metoda pseudolosowej alokacji przepływów ma na celu umożliwienie przedstawienia wyników referencyjnych do rezultatów uzyskanych za pomocą algorytmu opartego na listach tabu. Algorytm pseudolosowy nie gwarantuje uzyskania rozwiązania akceptowalnego w skończonym czasie na skutek częściowej relaksacji założeń Metody dokładne Problem, którego definicje przedstawiono w rozdziale 3 jest całkowitoliczbowy i NP-zupełny [2]. Nie jest możliwe zatem wyznaczenie rozwiązania optymalnego w czasie wielomianowym. Nie oznacza to jednak konieczności wygenerowania wszystkich dopuszczalnych instancji problemu, a następnie wyznaczania wartości funkcji kryterialnej dla każdej z nich. Aby uzyskać rozwiązanie o zadanym poziomie dokładności ε, (w szczególności, gdy ε = 0 uzyskujemy rozwiązanie dokładne) można posłużyć się algorytmem podziału i ograniczeń, np. z wykorzystaniem oprogramowania CPLEX Algorytm heurystyczny Mechanizm algorytmu heurystycznego opartego o listę tabu został dokładnie opisany w licznych publikacjach. Poprzez zastosowanie pamięci wymuszamy zmianę analizowanej przestrzeni rozwiązań, unikając tym samym nieustannego poruszania się w otoczeniu lokalnego minimum. Implementacja listy tabu może być realizowana na kilka sposobów, m.in. poprzez zakazanie kilku ostatnich kroków w przetwarzaniu rozwiązań, zastosowanie pamięci długotrwałej polegającej na analizie częstotliwości danych ruchów i na jej podstawie dokonania decyzji. Stosowane są również metody uelastycznienia przeszukiwania poprzez przełamanie zasad, gdy spełnione jest tzw. kryterium aspiracji (przykład stanowi przyjęcie ruchu zabronionego, gdy prowadzi on do wartości funkcji kryterialnej lepszej od oceny dotychczas najlepszego rozwiązania). Algorytmy oparte na przeszukiwaniu tabu są z reguły deterministyczne, choć możliwe są również probabilistyczne modyfikacje (np. losowa zmiana analizowanej przestrzeni rozwiązań, losowy wybór rozwiązania początkowego) [11]. Pierwszą decyzją podczas projektowania algorytmu wykorzystującego omawianą ideę jest wybór rozwiązania inicjującego. Możliwe jest ustalenie punktu startowego w sposób losowy. Rozsądniej jest jednak zacząć dalsze przeszukiwania przestrzeni od punktu, dla którego funkcja kryterialna przyjmuje małą wartość. Aby uzyskać takie rozwiązanie, zaproponowano rozbicie podstawowego problemu na problemy mniejsze, a następnie scalenie uzyskanych rezultatów zgodnie z ideą algorytmu "dziel i rządź". Przypisanie ścieżek dla poszczególnych żądań odbywa się zatem pojedynczo, w oparciu o działanie algorytmu Dijkstry. Cały proces przetwarzania podzielony jest na dwie części: najpierw wyznaczane są ścieżki podstawowe, wraz z ustaleniem serwerów replikujących dla par żądań typu anycast. Następnie alokowane są ścieżki zapasowe, przy czym każdorazowo modyfikowana jest struktura grafu reprezentującego topologię sieci, tak aby zapewnić rozłączność na poziomie łączy pomiędzy ścieżką podstawową, a ścieżką zapasową. Modyfikacje struktury obejmują również usunięcie tych krawędzi grafu reprezentujących łącza, dla których nie możliwe jest zaalokowanie kolejnego przepływu z uwagi na ograniczenie (12). Przejście do właściwej implementacji algorytmu wiąże się z koniecznością zdefiniowania otoczenia analizowanego rozwiązania, rozpatrywanego podczas pojedynczej iteracji. Na schemacie (rysunek 1) sąsiedztwo oznaczane zostało skrótem NS. W projektowanym algorytmie przyjęto za rozwiązania sąsiednie te, które różnią się o parę tworzoną przez ścieżkę podstawową i alternatywną dla pojedynczego żądania. Spośród nich, ponownie na bazie algorytmu Dijkstry, wybierany jest jeden punkt z przestrzeni dopuszczalnych rozwiązań. Z uwagi na postać funkcji kryterialnej (1), wagi krawędzi używane podczas obliczeń odpowiadają długościom łączy. Każda iteracja algorytmu wiąże się z wybraniem nowego aktualnego punktu, przy czym akceptowane mogą być wyniki gorsze (w sensie oceny) niż poprzednie. Ma to na celu uchronienie przed zatrzymaniem algorytmu w minimum lokalnym. Decyzja, dla którego żądania należy zmienić parę ścieżek opiera się na uwzględnieniu wykluczeń spowodowanych obecnością listy tabu. W prezentowanej koncepcji algorytmu istnieją dwie takie listy. Pierwsza z nich przechowuje informacje dotyczące częstości występowania zmian danych żądań w zadanym jako parametr horyzoncie czasowym. Ruchy, które odbywały się ostatnio oraz te, które występowały dość często nie powinny być powie- PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/

6 lane, tak aby analizowana przestrzeń możnych rozwiązań była jak największa. Druga lista eliminuje przyporządkowanie łuków w ścieżkach, które mają największy udział w sumarycznym jej koszcie po to, aby w następnych ruchach rozważyć trasy omijające te łącza. Długość obu list jest parametrem algorytmu. Najlepsze rozwiązanie spośród analizowanych jest zapamiętywane jako ostateczne. Podsumowanie powyższej dyskusji stanowi ogólny schemat działania przedstawiony w postaci graficznej na rys. 1. Dokładniejszy opis słowny ujęty został w następujących krokach: 1. Wczytaj informacje o topologii sieci, utwórz graf skierowany, za wagi krawędzi przyjmij długości łączy. Pobierz informacje o zadanych zbiorach żądań i serwerów replikujących. W przypadku stosowania strategii doboru serwerów CR, określ dla żądań anycast upstream węzeł docelowy, dla anycast downstream węzeł źródłowy. Zainicjuj tablice odzwierciedlające dostępną na poszczególnych łukach przepustowość. Ustaw listy tabu jako puste. 2. Znalezienie rozwiązania początkowego (IS): cyklicznie dla każdego żądania wykonuj w oparciu o lokalną kopię grafu następujące operacje: a. Zaktualizuj graf topologii sieci poprzez zmianę wag krawędzi, na których wyczerpana jest dostępną przepustowość (ustalenie faktu w oparciu o macierze przepustowości). b. Wyznacz na podstawie algorytmu Dijkstry najkrótszą ścieżkę realizującą rozpatrywane żądanie w grafie i przyjmij ją jako podstawową. c. Uwzględnij w macierzy przepustowości koszt alokacji tej ścieżki. d. Wykonaj analogicznie kroki a - c wyznaczając ścieżkę zapasową (wcześniej usuwając z grafu łuki ze ścieżki podstawowej). 3. Obliczenie kosztów przypisania zmiennych: CS (aktualne rozwiązanie) = IS; BS (rozwiązanie najlepsze) = IS; r (liczba iteracji algorytmu) = 1; Oblicz i zapamiętaj φ(bs). 4. Wyznaczenie sąsiedztwa: r = r+1. Dla każdego z żądań, w oparciu o lokalną kopię grafu: a. Tymczasowo usuń z CS wybór ścieżek. b. Dokonaj ponownego przypisania ścieżek, na podstawie zmienionego grafu zawierającego informację o już zaalokowanych innych żądaniach, z pominięciem łuków z drugiej listy tabu. c. Oblicz koszt. Jeżeli nie było możliwe wyznaczenia ścieżki, przypisz rozwiązaniu maksymalny koszt. d. Na liście tabu zawierającej łuki zapisz informację o najbardziej kosztownym. Z listy tabu zawierającej żądania wybierz te, których zamiana jest dopuszczalna, lub te których koszt jest mniejszy niż φ(bs) (kryterium aspiracji). 5. Wybór nowego CS - Wybierz z sąsiedztwa to rozwiązanie, które realizuje minimum kosztu i przyjmij je jako CS. Uaktualnij macierze przepustowości 6. Wybór BS - Jeżeli φ(cs)<φ(bs) to przyjmij BS = CS, k = 0 (licznik iteracji bez uzyskania poprawy), w przeciwnym razie przypisz k = k+1; 7. Zakończenie działania algorytmu: jeżeli liczniki r lub k osiągną wartości maksymalne R lub K. Rys. 1. Ogólny schemat działania zaimplementowanego algorytmu przeszukiwania tabu 5. BADANIA Udostępnione optymalne wyniki referencyjne [2] zostały uzyskane przy zastosowaniu narzędzia CPLEX 11.0 i dotyczą sieci NSF o topologii zaprezentowanej na rysunku 2. Modelujący tą instancję problemu graf składa się z 14 wierzchołków i 42 skierowanych krawędzi, a przepustowość każdej z nich określono na 40 Gbps. Badane były również dwa warianty problemu. W jednym z nich, przed przystąpieniem do alokacji żądań, na podstawie algorytmu Dijkstry ustalone zostały najbliższe serwery replikujące dla każdego węzła i to do nich kierowane były żądania anycast. W drugim wariancie żądania te mogą być kierowane do dowolnego wierzchołka z serwerem replikującym (AR). Rys. 2. Topologia sieci NSF (krawędzie dwukierunkowe). Liczba żądań typu unicast jest losowo generowaną wartością ze zbioru {7,,44}, podobnie liczba żądań anycast także jest realizacją zmiennej losowej (o rozkładzie jednostajnym dyskretnym na zbiorze {8,10,..,28}. Zgodnie z koncepcją przedstawioną w [2], wprowadzono PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/

7 wielkość nazwaną parametrem proporcji ruchu anycast (oznaczaną dalej skrótem AP), zdefiniowaną jako iloraz sumy przepustowości wszystkich żądań anycast do sumy przepustowości wymaganej przez wszystkie żądania. Przeanalizowano osiem scenariuszy dotyczących tej wielkości: od 10% do 80%. Dobór przepustowości dla sieci NSF został dokonany z zakresu od 1 do 9 Gbps tak, aby zachować rozważaną wartość współczynnika AP. Podsumowując, dla każdego zbioru żądań, wygenerowanych zgodnie z opisem powyżej, zostały przeprowadzone symulacje obliczeniowe dla 8 problemów (z uwzględnieniem SBPP oraz bez jego uwzględnienia, dla 2 i 3 serwerów replikujących, dla modelu CR i AR). Co istotne, przy ustalaniu jakości proponowanego algorytmu heurystycznego, analiza nastąpiła dla tych samych losowych instancji problemu. Wszystkie testy zostały dokonane dla ustalonych wartości parametrów wejściowych dla metody poszukiwania z listą tabu, a więc: ogólnej liczby iteracji, liczby iteracji bez wpływu na poprawę rozwiązania optymalnego, czy też długości list tabu. Wyznaczenie funkcji ich doboru jest jednym z aspektów tej pracy i zostało szczegółowo przedyskutowane w jednym z jej podrozdziałów. Badano problemy zakładające użycie tak jak i niezastosowanie algorytmu SBPP. Podsumowując, dla każdej z sieci przeprowadzono 1800 symulacji testowych. Pomiaru czasu wykonania algorytmów dokonano na komputerze o procesorze Intel Core i5 o częstotliwości taktowania 2.53 GHz, oraz pamięci operacyjnej 3.0 GB. Wyznaczenie czasu dla heurystyki, jako że językiem implementacji jest Java, odbyła się w oparciu o działanie metody currenttimemillis(). W celu wyeliminowania zakłóceń wynikających z przetwarzania współbieżnego w systemie operacyjnym Windows 7, liczba uruchomionych procesów została ograniczona, a same pomiary przeprowadzono wielokrotnie, a ich wyniki uśrednione. Eksperymenty przeprowadzono według następującego planu: badanie wpływu liczby iteracji i pozostałych parametrów na działanie algorytmu heurystycznego, badanie jakości rozwiązania osiąganego przez algorytm heurystyczny dla różnego rodzaju scenariusza (z uwzględnieniem koncepcji SBPP albo bez jej stosowania, z dowolnością wyboru serwera replikującego AR, czy też z wyborem najbliższego z nich CR, z dwoma lub trzema węzłami będącymi serwerami replikującymi dane dla żądań anycast), porównanie wyników uzyskiwanych przez proponowany algorytm oparty na liście tabu względem algorytmu bazującego na pseudolosowym wyznaczaniu ścieżek w sieci, badanie wpływu liczby serwerów replikujących na koszt sieci, badanie wpływu koncepcji SBPP na koszt alokacji przepływów w sieci. W pierwszym z eksperymentów dokonano procesu dostrajania algorytmu heurystycznego w celu otrzymywania jak najlepszych rozwiązań. Rysunek 3 przedstawia zależność między jakością otrzymanego rozwiązania a liczbą iteracji. W celu uniezależnienia uzyskanych wyników od badanej topologii sieci wyznaczono liczbę iteracji poprzez krotność liczby węzłów. Maksymalna analizowana wartość tego parametru wyniosła 6.5. Otrzymane rezultaty pokazują, że wraz ze wzrostem czasu działania uzyskiwane rezultaty są bliższe optimum. Z drugiej strony stopień poprawy nie jest liniowy. Konieczny jest zatem taki dobór punktu, który będzie stanowił kompromis pomiędzy dokładnością, a czasem wykonania programu. Rysunek 3. Średnia odległość rozwiązania względem rezultatu optymalnego jako funkcja liczby iteracji. Kolejnym z badanych parametrów była długość listy Tabu. Jest to bardzo istotny parametr, ponieważ zakazanie zbyt dużej liczby ruchów prowadzących do rozwiązań sąsiednich może doprowadzić do sytuacji, iż nie będzie dostępna żadna ścieżka w przyjętej definicji otoczenia. Zbyt krótka lista może natomiast skutkować okresowym przyjmowaniem rozwiązań będących w otoczeniu lokalnego minimum funkcji kryterialnej i pominięte zostaną inne, często lepsze rezultaty. Rysunek 4 przedstawia efekty tego badania. Na podstawie wyników symulacji komputerowych przyjęto, że długość listy tabu zawierającej krawędzie należy zróżnicować w zależności od rodzaju ścieżki dla poszczególnych żądań. Dla ścieżki podstawowej, długość listy tabu ustalono na 2, a dla ścieżek zapasowych na 7. Zwiększenie tych wartości skutkowało brakiem możliwości alokacji ścieżek z sąsiedztwa (ograniczenie przepustowości łączy). Rysunek 4. Średnia odległość rozwiązania przyjętego przez przeszukiwanie tabu od optymalnego jako funkcja długości listy tabu. Drugi z eksperymentów miał na celu zbadanie jakości rozwiązania otrzymanego przez algorytm heury- PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/

8 styczny względem rozwiązania optymalnego. Uzyskane rezultaty zostały przedstawione na rysunkach 5 i 6, z uwzględnieniem rozbicia na poszczególne problemy (z i bez SBPP, AR lub CR, z dwoma lub trzema węzłami będącymi serwerami replikującymi dane dla żądań anycast). Rysunek 5. Porównanie wyników uzyskanych przy pomocą algorytmu heurystycznego z optymalnymi (problem z SBPP) W przypadku uwzględnienia koncepcji SBPP, uśredniona odległość uzyskanych rozwiązań względem wyników optymalnych wyniosła 5.6%. Dla przypadków, w których z góry zdefiniowano serwer replikujący, w kilku instancjach uzyskano rezultaty optymalne. Wraz ze wzrostem liczby serwerów replikujących, czy też umożliwieniem dowolnego jego wyboru, zwiększa się przestrzeń rozwiązań dopuszczalnych, co przełożyło się na spadek jakości uzyskiwanych rozwiązań (przy ustalonej liczbie iteracji). Warty podkreślenia jest także rozrzut uzyskiwanych wyników. Oprócz obserwacji widocznych na wykresach obliczono odchylenie standardowe analizowanych odległości. Wartość tej statystyki wyniosła Analogicznie, przeprowadzono porównanie dla problemu, w którym wykluczono możliwość zastosowania algorytmu SBPP. Wartość średnia odległości od rozwiązania optymalnego w tym przypadku równała się 6.5%, a odchylenie standardowe wyniosło Na podstawie powyższych rezultatów stwierdzić można, że w przypadku braku stosowania algorytmu SBPP zmniejsza się rozrzut otrzymywanych rezultatów, kosztem większej wartości średniego odległości. Spowodowane jest to bardziej rygorystycznymi ograniczeniami dopuszczalnej przestrzeni rozwiązań. W kolejnym z eksperymentów porównano wyniki uzyskiwane przez proponowany algorytm oparty na liście tabu z uzyskiwanymi przez algorytm bazujący na pseudolosowym wyznaczaniu ścieżek w sieci. Otrzymane rezultaty przedstawia rysunek 7. Na osi pionowej umieszczono krotność kosztu algorytmu losowego w stosunku do rezultatu uzyskanego heurystyką. Zaznaczono dwie serie danych, jedna odpowiada zastosowaniu koncepcji SBPP, drugą zaniechaniu jej stosowania. Wyniki wskazują, że zysk z zastosowania algorytmu heurystycznego jest tym większy, im większa jest przestrzeń dopuszczalnych rezultatów. Wyniki wskazują również, że algorytm pseudolosowy daje gorsze rezultaty, gdy nie jest stosowany algorytm SBPP (wskutek zwiększenia roli ograniczenia przepustowości łączy). Przewaga algorytmu heurystycznego nad pseudolosowym w kontekście otrzymywanych rozwiązań jest znaczna i wynosi od 2.9 do 4.4 razy w przypadku niestosowania SBPP oraz od 2.4 do 3 razy w przeciwnym razie. Rysunek 7. Porównanie algorytmów przeszukiwania tabui pseudolosowego. Rysunek 6. Porównanie wyników uzyskanych przy pomocą algorytmu heurystycznego z optymalnymi (problem bez stosowania SBPP) Czwarty z eksperymentów ma na celu sprawdzenie wpływu zwiększenia liczby serwerów replikujących na koszt sieci. W tym celu zastosowano topologie sieci o znacznych rozmiarach: COST 239, Italian Network i US Long-Distance Network [8]. Przepustowość dla każdego łącza we wszystkich omawianych topologiach ustalono na 160 Gbps. Do opisu rezultatów zaproponowano metrykę 4SW (wskaźnik procentowy zysku z zastosowania kolejnych serwerów względem instancji z dwoma serwerami) wyrażoną wzorem: BCDEFEGHBIDEFEG BCDEFEG (19) Rezultaty przedstawione zostały na rysunkach 8 i 9 i wskazują, że bez względu na analizowaną instancję problemu, dodając nowe serwery replikujące, a co za tym idzie zwiększając przestrzeń dopuszczalnych rozwiązań, możemy uzyskać lepsze rozwiązanie. PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/

9 (AP = 10%, 20%, 30%) w rozbiciu na problemy związawyboru serwera replikującego. Otrzymane ne z zasadą rezultaty wskazują, że dla wszystkich badanych parametrów i topologii sieciowych uzyskano znaczne obniżenie kosztu (ponad 50%). Rysunek 8. Porównanie zysków wynikających z dodania dwóch serwerów replikujących przy dowolnym doborze serwera replikującego dla żądań anycast. Rysunek 10. Wpływ koncepcji SBPP w podziale na al- gorytm doboru serwera replikującego dane i wartości proporcji ruchu anycast topologia COST 239. Rysunek 11. Wpływ koncepcji SBPP w podziale na al- gorytm doboru serwera replikującego dane i wartości proporcji ruchu anycast topologia Italian Network. Wyniki symulacji wskazują, ą że niezależnie od ana- lizowanej sieci, zysk wynikający z dodania kolejnych serwerów jest tym większy, im większy jest udział żądań anycast. Wynika to ze zmniejszenia się długości ścieżki dla przepływów anycast, co jest tym bardziej znaczące, im więcej jest żądań tego typu.. Zysk z zastosowania dodatkowego serwera replikującego jest większy, gdy uwzględnia się algorytm SBPP.. Analogiczne wnioski można wysnuć, gdy rozważana ana jest selekcja serwera replikującego na zasadzie wyboru najbliższego węzła względem węzła klienckiego. Ciekawym wydaje się wniosek, że e zysk ten jest mniejszy niż osiągany przy strategii AR, co wynikać może z mniejszej możliwości wykorzystania potencjału z rozszerzenia przestrzeni dopuszczalnych ścieżek ek (wymuszenie wyboru określo- nego serwera). Rysunek 9. Porównanie zysków wynikających z doda- nia dwóch serwerów replikujących, dla doboru najbliż- szego serwera replikującego dla żądań anycast. Celem ostatniego z eksperymentów było zbadanie wpływu mechanizmu SBPP na funkcję kosztu (1). Za miarę jakości rozwiązania przyjęto stosunek kosztu roz- wiązania opartego na SBPP do kosztu bez SBPP, co zostało opisane przez równanie 20. B6JKK B#L6JKK (20) Rysunki prezentują ą wyniki badań dla róż- nych topologii sieci, przy różnej proporcji ruchu anycast Rysunek 12.. Wpływ koncepcji SBPP w podziale na al- gorytm doboru serwera replikującego dane i wartości proporcji ruchu anycast topologia US-Long-Distance Network. PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/

10 6. PODSUMOWANIE W pracy podjęto dyskusję na temat optymalizacji przepływów anycast oraz unicast w przeżywalnych sieciach komputerowych. Przeżywalności sieci wiązała się z wymaganiem zapewnienia ochrony przed uszkodzeniami pojedynczych łączy poprzez zastosowanie redundancji wyznaczonych ścieżek. Ze względu na NP-trudność zadanego problemu optymalizacyjnego zadecydowano o implementacji algorytmu heurystycznego na bazie przeszukiwania tabu. Otrzymane rezultaty potwierdzają słuszność takiego wyboru. Pokazują bowiem, że zaimplementowany algorytm znajduje rozwiązania bliskie optimum, a ponadto jest efektywny czasowo. Algorytm ten ponadto okazał się znacznie bardziej efektywny od algorytmu pseudolosowego. Badania analizujące wpływ zwiększania liczby serwerów replikujących na koszt sieci pokazały, iż zwiększanie to ma korzystny wpływ na obniżanie kosztu sieci dla wszystkich badanych przypadków. Przedstawiono również, że koncepcja SBPP pozwala na znaczące (ponad 50%) obniżenie kosztu, w przypadku sieci w których wymagane jest zabezpieczenie przed pojedynczą awarią. [8] J. Rak, K. Walkowiak, Simultaneous optimization of unicast and anycast flows and replica location in survivable optical networks, Telecommunication Systems, vol. 52, no. 2, pp , [9] S. Boyd, J. Mattingley, Branch and Bound Methods, bb_notes.pdf, dostęp: [10] B. Awerbuch, A. Brinkmann and C. Scheideler, Anycasting in adversarial systems: routing and admission control, Lecture Notes in Computer Science, Vol. 2719, 2003, Springer-Verlag, Berlin, pp [11] Z. Michalewicz, D.B. Fogel, Jak to rozwiązać czyli nowoczesna heurystyka, WNT PODZIĘKOWANIA Praca jest finansowana ze środków statutowych Katedry Systemów i Sieci Komputerowych, Wydział Elektroniki, Politechnika Wrocławska. SPIS LITERATURY [1] J. Gładysz, K. Walkowiak, Tabu Search Algorithm for Survivable Network Design Problem with Simultaneous Unicast and Anycast Flows, International Journal of Electronics and Telecommunications. Volume 56, Issue 1, Pages 41 48, ISSN (Print) , July [2] J. Rak, K. Walkowiak, Shared Backup Path Protection for Anycast and Unicast Flows Using the Node-Link Notation, Communications (ICC), 2011 IEEE International Conference on, pp.1-6, 5-9 June [3] M. Pióro, D. Medhi, Routing, Flow, and Capacity Design in Communication and Computer Networks, Morgan Kaufman Publishers [4] M. Hofmann and L. Beaumont, Content networking: architecture, protocols, and practice, Morgan Kaufmann, San Francisco, [5] P.-H. Ho, J. Tapolcai, and H.T. Mouftah, Diverse routing for shared protection in survivable optical networks, in Proc. IEEE GLOBECOM, vol. 5, pp , [6] D. Din, Anycast Routing and Wavelength Assignment Problem on WDM Network IEICE Transactions on Communications, vol. E88-B, no. 4, pp , [7] C.P. Low and C.L. Tan, On anycast routing with bandwidth constraint, Computer Communications, vol. 26, no. 14, pp , 1 September PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/

Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network

Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network Grzegorz Rzym AGH, Department of Telecommunications 20-21.10.2016, Poznań www.agh.edu.pl Agenda Motywacja PCE SDN Środowisko

Bardziej szczegółowo

Metody Programowania

Metody Programowania POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie

Bardziej szczegółowo

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000

Bardziej szczegółowo

1. Cel, zakres i charakter rozprawy. Wrocław, 16 listopada 2015

1. Cel, zakres i charakter rozprawy. Wrocław, 16 listopada 2015 Wrocław, 16 listopada 2015 Dr hab. inż. Krzysztof WALKOWIAK, prof. nadzw. PWr Wydział Elektroniki Politechnika Wrocławska RECENZJA rozprawy doktorskiej mgra inż. Piotra BORYŁO Provisioning of Energy-Aware

Bardziej szczegółowo

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytmy wyznaczania centralności w sieci Szymon Szylko Algorytmy wyznaczania centralności w sieci Szymon Szylko Zakład systemów Informacyjnych Wrocław 10.01.2008 Agenda prezentacji Cechy sieci Algorytmy grafowe Badanie centralności Algorytmy wyznaczania centralności

Bardziej szczegółowo

a) 7 b) 19 c) 21 d) 34

a) 7 b) 19 c) 21 d) 34 Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,

Bardziej szczegółowo

Sterowanie ruchem w sieciach szkieletowych

Sterowanie ruchem w sieciach szkieletowych Sterowanie ruchem w sieciach szkieletowych Transmisja wielościeżkowa Dr inż. Robert Wójcik Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji Kraków, dn. 6 kwietnia 2016 r. Plan

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa

Bardziej szczegółowo

Programowanie sieciowe. Tadeusz Trzaskalik

Programowanie sieciowe. Tadeusz Trzaskalik Programowanie Tadeusz Trzaskalik 8.1. Wprowadzenie Słowa kluczowe Drzewo rozpinające Minimalne drzewo rozpinające Najkrótsza droga w sieci Wierzchołek początkowy Maksymalny przepływ w sieci Źródło Ujście

Bardziej szczegółowo

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5

Bardziej szczegółowo

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation) Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation) Jest to technika probabilistyczna rozwiązywania problemów obliczeniowych, które mogą zostać sprowadzone do problemu znalezienie

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Optymalizacja. Przeszukiwanie lokalne

Optymalizacja. Przeszukiwanie lokalne dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Idea sąsiedztwa Definicja sąsiedztwa x S zbiór N(x) S rozwiązań, które leżą blisko rozwiązania x

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery losowe generowanie realizacji procesu losowego Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z

Bardziej szczegółowo

Sprawozdanie do zadania numer 2

Sprawozdanie do zadania numer 2 Sprawozdanie do zadania numer 2 Michał Pawlik 29836 Temat: Badanie efektywności algorytmów grafowych w zależności od rozmiaru instancji oraz sposobu reprezentacji grafu w pamięci komputera 1 WSTĘP W ramach

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

RÓŻA GOŚCIEŃ Politechnika Wrocławska, Katedra Systemów i Sieci Komputerowych, Wydział Elektroniki, Wybrzeże Wyspiańskiego 27, 50-370 Wrocław, Polska Www: ResearchGate: Google scholar: www.kssk.pwr.edu.pl/goscien/

Bardziej szczegółowo

Wielokryteriowa optymalizacja liniowa cz.2

Wielokryteriowa optymalizacja liniowa cz.2 Wielokryteriowa optymalizacja liniowa cz.2 Metody poszukiwania końcowych rozwiązań sprawnych: 1. Metoda satysfakcjonujących poziomów kryteriów dokonuje się wyboru jednego z kryteriów zadania wielokryterialnego

Bardziej szczegółowo

9.9 Algorytmy przeglądu

9.9 Algorytmy przeglądu 14 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE 9.9 Algorytmy przeglądu Metody przeglądu dla problemu 1 r j,q j C max były analizowane między innymi w pracach 25, 51, 129, 238. Jak dotychczas najbardziej elegancka

Bardziej szczegółowo

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ). Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem

Bardziej szczegółowo

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w

Bardziej szczegółowo

Hierarchiczna analiza skupień

Hierarchiczna analiza skupień Hierarchiczna analiza skupień Cel analizy Analiza skupień ma na celu wykrycie w zbiorze obserwacji klastrów, czyli rozłącznych podzbiorów obserwacji, wewnątrz których obserwacje są sobie w jakimś określonym

Bardziej szczegółowo

Heurystyki. Strategie poszukiwań

Heurystyki. Strategie poszukiwań Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja

Bardziej szczegółowo

Metody Optymalizacji: Przeszukiwanie z listą tabu

Metody Optymalizacji: Przeszukiwanie z listą tabu Metody Optymalizacji: Przeszukiwanie z listą tabu Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje: wtorek

Bardziej szczegółowo

Schemat programowania dynamicznego (ang. dynamic programming)

Schemat programowania dynamicznego (ang. dynamic programming) Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten

Bardziej szczegółowo

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych Systemy wbudowane Wykład 11: Metody kosyntezy systemów wbudowanych Uproszczone metody kosyntezy Założenia: Jeden procesor o znanych parametrach Znane parametry akceleratora sprzętowego Vulcan Początkowo

Bardziej szczegółowo

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe opracował:

Bardziej szczegółowo

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP Łukasz Strąk lukasz.strak@gmail.com Uniwersytet Śląski, Instytut Informatyki, Będzińska 39, 41-205 Sosnowiec 9 grudnia

Bardziej szczegółowo

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Wykorzystanie algorytmów mrówkowych w dynamicznym problem Wykorzystanie algorytmów mrówkowych w dynamicznym problemie marszrutyzacji Promotor: dr inż. Aneta Poniszewska-Marańda Współpromotor: mgr inż. Łukasz Chomątek 18 stycznia 2013 Przedmiot i cele pracy dyplomowej

Bardziej szczegółowo

Metody przeszukiwania

Metody przeszukiwania Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania

Bardziej szczegółowo

AiSD zadanie trzecie

AiSD zadanie trzecie AiSD zadanie trzecie Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5 5 czerwca 2008 1 Wstęp Celem postawionym przez zadanie trzecie było tzw. sortowanie topologiczne. Jest to typ sortowania

Bardziej szczegółowo

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1 Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem

Bardziej szczegółowo

Przykład planowania sieci publicznego transportu zbiorowego

Przykład planowania sieci publicznego transportu zbiorowego TRANSPORT PUBLICZNY Przykład planowania sieci publicznego transportu zbiorowego Źródło: Bieńczak M., 2015 Politechnika Poznańska, Wydział Maszyn Roboczych i Transportu 1 METODYKA ZAŁOśENIA Dostarczanie

Bardziej szczegółowo

Wstęp do Sztucznej Inteligencji

Wstęp do Sztucznej Inteligencji Wstęp do Sztucznej Inteligencji Rozwiązywanie problemów-i Joanna Kołodziej Politechnika Krakowska Wydział Fizyki, Matematyki i Informatyki Rozwiązywanie problemów Podstawowe fazy: Sformułowanie celu -

Bardziej szczegółowo

Wybrane podstawowe rodzaje algorytmów

Wybrane podstawowe rodzaje algorytmów Wybrane podstawowe rodzaje algorytmów Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych

Bardziej szczegółowo

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First

Bardziej szczegółowo

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z

Bardziej szczegółowo

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Zadanie do wykonania 1) Utwórz na pulpicie katalog w formacie Imię nazwisko, w którym umieść wszystkie pliki związane z

Bardziej szczegółowo

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA? /9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów

Bardziej szczegółowo

Uproszczenie mechanizmów przekazywania pakietów w ruterach

Uproszczenie mechanizmów przekazywania pakietów w ruterach LISTA ŻYCZEŃ I ZARZUTÓW DO IP Uproszczenie mechanizmów przekazywania pakietów w ruterach Mechanizmy ułatwiające zapewnienie jakości obsługi Może być stosowany do równoważenia obciążenia sieci, sterowanie

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Informacje podstawowe 1. Konsultacje: pokój

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach Adam Stawowy Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach Summary: We present a meta-heuristic to combine Monte Carlo simulation with genetic algorithm for Capital

Bardziej szczegółowo

Algorytmy zrandomizowane

Algorytmy zrandomizowane Algorytmy zrandomizowane http://zajecia.jakubw.pl/nai ALGORYTMY ZRANDOMIZOWANE Algorytmy, których działanie uzależnione jest od czynników losowych. Algorytmy typu Monte Carlo: dają (po pewnym czasie) wynik

Bardziej szczegółowo

Rola stacji gazowych w ograniczaniu strat gazu w sieciach dystrybucyjnych

Rola stacji gazowych w ograniczaniu strat gazu w sieciach dystrybucyjnych Rola stacji gazowych w ograniczaniu strat gazu w sieciach dystrybucyjnych Politechnika Warszawska Zakład Systemów Ciepłowniczych i Gazowniczych Prof. dr hab. inż. Andrzej J. Osiadacz Dr hab. inż. Maciej

Bardziej szczegółowo

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem MODELE SIECIOWE 1. Drzewo rozpinające (spanning tree) w grafie liczącym n wierzchołków to zbiór n-1 jego krawędzi takich, że dowolne dwa wierzchołki grafu można połączyć za pomocą krawędzi należących do

Bardziej szczegółowo

Rozwiązywanie problemów metodą przeszukiwania

Rozwiązywanie problemów metodą przeszukiwania Rozwiązywanie problemów metodą przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Reprezentacja problemu w przestrzeni stanów Jedną z ważniejszych metod sztucznej

Bardziej szczegółowo

Nowe metody analizy i optymalizacji architektury złożonych sieci telekomunikacyjnych następnej generacji

Nowe metody analizy i optymalizacji architektury złożonych sieci telekomunikacyjnych następnej generacji Nowe metody analizy i optymalizacji architektury złożonych sieci telekomunikacyjnych następnej generacji Raport końcowy z realizacji projektu 1. Zakres przeprowadzonych badań. Celem projektu było opracowanie

Bardziej szczegółowo

Algorytmy sztucznej inteligencji

Algorytmy sztucznej inteligencji www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego

Bardziej szczegółowo

Metody uporządkowania

Metody uporządkowania Metody uporządkowania W trakcie faktoryzacji macierzy rzadkiej ilość zapełnień istotnie zależy od sposobu numeracji równań. Powstaje problem odnalezienia takiej numeracji, przy której: o ilość zapełnień

Bardziej szczegółowo

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności

Bardziej szczegółowo

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy

Bardziej szczegółowo

ZAGADNIENIE TRANSPORTOWE

ZAGADNIENIE TRANSPORTOWE ZAGADNIENIE TRANSPORTOWE ZT jest specyficznym problemem z zakresu zastosowań programowania liniowego. ZT wykorzystuje się najczęściej do: optymalnego planowania transportu towarów, przy minimalizacji kosztów,

Bardziej szczegółowo

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych

Bardziej szczegółowo

Optymalizacja. Wybrane algorytmy

Optymalizacja. Wybrane algorytmy dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem

Bardziej szczegółowo

Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/

Bardziej szczegółowo

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski Dane w sieciach (i inne historie) Marcin Bieńkowski Jak przechowywać dane w sieciach (strony WWW, bazy danych, ) tak, żeby dowolne ciągi odwołań do (części) tych obiektów mogły być obsłużone małym kosztem?

Bardziej szczegółowo

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn

Bardziej szczegółowo

Problem 1 [Sieć telekomunikacyjna routing]

Problem 1 [Sieć telekomunikacyjna routing] Problem 1 [Sieć telekomunikacyjna routing] Sieć z komutacją pakietów (packet switched newtork) z dwoma różnymi klasami danych: A packet switched network is a digital communications network that groups

Bardziej szczegółowo

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:

Bardziej szczegółowo

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie Opracował: dr hab. inż. Jan Magott KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 Temat: Automaty Moore'a i Mealy 1. Cel ćwiczenia Celem ćwiczenia jest

Bardziej szczegółowo

Tabu Search (Poszukiwanie z zakazami)

Tabu Search (Poszukiwanie z zakazami) Tabu Search (Poszukiwanie z zakazami) Heurystyka - technika znajdująca dobre rozwiązanie problemu (np. optymalizacji kombinatorycznej) przy rozsądnych (akceptowalnych z punktu widzenia celu) nakładach

Bardziej szczegółowo

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski Podejście memetyczne do problemu DCVRP - wstępne wyniki Adam Żychowski Na podstawie prac X. S. Chen, L. Feng, Y. S. Ong A Self-Adaptive Memeplexes Robust Search Scheme for solving Stochastic Demands Vehicle

Bardziej szczegółowo

Zasady analizy algorytmów

Zasady analizy algorytmów Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania

Bardziej szczegółowo

Sortowanie - wybrane algorytmy

Sortowanie - wybrane algorytmy Sortowanie - wybrane algorytmy Aleksandra Wilkowska Wydział Matematyki - Katedra Matematyki Stosowanej Politechika Wrocławska 2 maja 2018 1 / 39 Plan prezentacji Złożoność obliczeniowa Sortowanie bąbelkowe

Bardziej szczegółowo

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, w głąb. Spis treści: 1. Wprowadzenie 3. str. 1.1 Krótki Wstęp

Bardziej szczegółowo

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik Zadanie transportowe i problem komiwojażera Tadeusz Trzaskalik 3.. Wprowadzenie Słowa kluczowe Zbilansowane zadanie transportowe Rozwiązanie początkowe Metoda minimalnego elementu macierzy kosztów Metoda

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego

Bardziej szczegółowo

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany. Przedstawiamy algorytmy porządkowania dowolnej liczby elementów, którymi mogą być liczby, jak również elementy o bardziej złożonej postaci (takie jak słowa i daty). Porządkowanie, nazywane również często

Bardziej szczegółowo

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH Robert Wójcik Instytut Cybernetyki Technicznej Politechniki Wrocławskiej 1. Impasy w systemach procesów współbieżnych 2. Klasyczne algorytmy unikania

Bardziej szczegółowo

Zaawansowane programowanie

Zaawansowane programowanie Zaawansowane programowanie wykład 3: inne heurystyki prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Heurystyką nazywamy algorytm (metodę) zwracający rozwiązanie przybliżone.

Bardziej szczegółowo

Metody optymalizacji dyskretnej

Metody optymalizacji dyskretnej Metody optymalizacji dyskretnej Spis treści Spis treści Metody optymalizacji dyskretnej...1 1 Wstęp...5 2 Metody optymalizacji dyskretnej...6 2.1 Metody dokładne...6 2.2 Metody przybliżone...6 2.2.1 Poszukiwanie

Bardziej szczegółowo

5c. Sieci i przepływy

5c. Sieci i przepływy 5c. Sieci i przepływy Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 5c. Sieci i przepływy zima 2016/2017 1 / 40 1 Definicje

Bardziej szczegółowo

Algorytmika Problemów Trudnych

Algorytmika Problemów Trudnych Algorytmika Problemów Trudnych Wykład 9 Tomasz Krawczyk krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2016/17 plan wykładu Algorytmy aproksymacyjne: Pojęcie algorytmu aproksymacyjnego i współczynnika aproksymowalności.

Bardziej szczegółowo

Znajdowanie wyjścia z labiryntu

Znajdowanie wyjścia z labiryntu Znajdowanie wyjścia z labiryntu Zadanie to wraz z problemem pakowania najcenniejszego plecaka należy do problemów optymalizacji, które dotyczą znajdowania najlepszego rozwiązania wśród wielu możliwych

Bardziej szczegółowo

Maciej Piotr Jankowski

Maciej Piotr Jankowski Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji

Bardziej szczegółowo

System bonus-malus z mechanizmem korekty składki

System bonus-malus z mechanizmem korekty składki System bonus-malus z mechanizmem korekty składki mgr Kamil Gala Ubezpieczeniowy Fundusz Gwarancyjny dr hab. Wojciech Bijak, prof. SGH Ubezpieczeniowy Fundusz Gwarancyjny, Szkoła Główna Handlowa Zagadnienia

Bardziej szczegółowo

ZASTOSOWANIE METOD OPTYMALIZACJI W DOBORZE CECH GEOMETRYCZNYCH KARBU ODCIĄŻAJĄCEGO

ZASTOSOWANIE METOD OPTYMALIZACJI W DOBORZE CECH GEOMETRYCZNYCH KARBU ODCIĄŻAJĄCEGO MODELOWANIE INŻYNIERSKIE ISSN 1896-771X 40, s. 43-48, Gliwice 2010 ZASTOSOWANIE METOD OPTYMALIZACJI W DOBORZE CECH GEOMETRYCZNYCH KARBU ODCIĄŻAJĄCEGO TOMASZ CZAPLA, MARIUSZ PAWLAK Katedra Mechaniki Stosowanej,

Bardziej szczegółowo

Summary in Polish. Fatimah Mohammed Furaiji. Application of Multi-Agent Based Simulation in Consumer Behaviour Modeling

Summary in Polish. Fatimah Mohammed Furaiji. Application of Multi-Agent Based Simulation in Consumer Behaviour Modeling Summary in Polish Fatimah Mohammed Furaiji Application of Multi-Agent Based Simulation in Consumer Behaviour Modeling Zastosowanie symulacji wieloagentowej w modelowaniu zachowania konsumentów Streszczenie

Bardziej szczegółowo

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. 1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. Algorytmy przeszukiwania w głąb i wszerz są najczęściej stosowanymi algorytmami przeszukiwania. Wykorzystuje się je do zbadania istnienia połączenie

Bardziej szczegółowo

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

dr inŝ. Jarosław Forenc

dr inŝ. Jarosław Forenc Rok akademicki 2009/2010, Wykład nr 8 2/19 Plan wykładu nr 8 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010

Bardziej szczegółowo

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane

Bardziej szczegółowo

Przykładowe sprawozdanie. Jan Pustelnik

Przykładowe sprawozdanie. Jan Pustelnik Przykładowe sprawozdanie Jan Pustelnik 30 marca 2007 Rozdział 1 Sformułowanie problemu Tematem pracy jest porównanie wydajności trzech tradycyjnych metod sortowania: InsertionSort, SelectionSort i BubbleSort.

Bardziej szczegółowo

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski METODA SYMPLEKS Maciej Patan Uniwersytet Zielonogórski WSTĘP Algorytm Sympleks najpotężniejsza metoda rozwiązywania programów liniowych Metoda generuje ciąg dopuszczalnych rozwiązań x k w taki sposób,

Bardziej szczegółowo

Serwis rozdzielnic niskich napięć MService Klucz do optymalnej wydajności instalacji

Serwis rozdzielnic niskich napięć MService Klucz do optymalnej wydajności instalacji Serwis rozdzielnic niskich napięć MService Klucz do optymalnej wydajności instalacji Tajemnica sukcesu firmy leży w zapewnieniu prawidłowego stanu technicznego instalacji podlegającej nadzorowi. Z danych

Bardziej szczegółowo

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny? Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA Dlaczego DNS jest tak ważny? DNS - System Nazw Domenowych to globalnie rozmieszczona usługa Internetowa. Zapewnia tłumaczenie nazw domen

Bardziej szczegółowo

Integracja systemów transakcyjnych

Integracja systemów transakcyjnych Integracja systemów transakcyjnych Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Alokacja danych Alokacja danych umieszczanie

Bardziej szczegółowo

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania

Bardziej szczegółowo

Heurystyczne metody przeszukiwania

Heurystyczne metody przeszukiwania Heurystyczne metody przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Pojęcie heurystyki Metody heurystyczne są jednym z ważniejszych narzędzi sztucznej inteligencji.

Bardziej szczegółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Dokładne algorytmy optymalizacji Maciej Hapke maciej.hapke at put.poznan.pl Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem minimalizacji

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca

Bardziej szczegółowo

Programowanie i techniki algorytmiczne

Programowanie i techniki algorytmiczne Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej

Bardziej szczegółowo

Inwestycja w robotyzację

Inwestycja w robotyzację ASTOR WHITEPAPER Inwestycja w robotyzację Analiza Przygotowanie inwestycji Realizacja inwestycji Wykorzystanie inwestycji krok po kroku 2 ASTOR WHITEPAPER INWESTYCJA W ROBOTYZACJĘ Jak efektywnie zainwestować

Bardziej szczegółowo