Wrocław
|
|
- Justyna Marek
- 9 lat temu
- Przeglądów:
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 Grzegorz Rzym AGH, Department of Telecommunications 20-21.10.2016, Poznań www.agh.edu.pl Agenda Motywacja PCE SDN Środowisko
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
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
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
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
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
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ą
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,
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
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
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
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
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
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ą
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
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
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
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
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/
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
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
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
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
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
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
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
Heurystyki. Strategie poszukiwań
Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja
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
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
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
Ć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ł:
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
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
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
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
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
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
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 -
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
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
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
Ć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
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
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
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
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
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
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
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
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
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
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
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
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ń
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
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
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,
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
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
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/
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?
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
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
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:
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
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
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
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
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
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
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
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
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
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
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.
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
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
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.
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
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
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
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,
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
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
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
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
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
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
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.
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,
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
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
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
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
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.
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
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
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
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
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ć