Algorytm perturbacyjny dla problemu minimalizacji maksymalnego żalu minimalnego drzewa rozpinającego

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

Download "Algorytm perturbacyjny dla problemu minimalizacji maksymalnego żalu minimalnego drzewa rozpinającego"

Transkrypt

1 Algorytm perturbacyjny dla problemu minimalizacji maksymalnego żalu minimalnego drzewa rozpinającego Mariusz MAKUCHOWSKI Politechnika Wrocławska, Instytut Informatyki Automatyki i Robotyki Wrocław, Wybrzeże Wyspiańskiego 27, mariusz.makuchowski@pwr.wroc.pl Streszczenie: W pracy analizuje się problem znajdowania odpornego drzewa rozpinającego. Problem ten polega na wyznaczeniu minimalnego drzewa rozpinającego graf przy niepewnych kosztach krawędzi. Należy wyznaczyć takie drzewo, aby zminimalizować różnicę kosztów pomiędzy wybranym drzewem a drzewem optymalnym. Należy przy tym uwzględnić wszystkie możliwe realizacje kosztów krawędzi. Zagadnienie to należy do klasy problemów NP-trudnych. W pracy proponuje się algorytm, oparty na metodzie perturbacji kosztów dedykowany rozpatrywanemu problemowi. Praca zawiera także wyniki eksperymentów numerycznych testujących efektywność proponowanego algorytmu oraz porównuje go z literaturowymi algorytmami. Badania dokonane są na bardzo dużej liczbie różnorodnych przykładów testowych zaczerpniętych z literatury. Słowa kluczowe: problem odpornego drzewa rozpinającego, drzewo rozpinające, metoda perturbacji kosztów, optymalizacja odporna. 1. Wprowadzenie W realnym świecie często zdarza się, iż musimy podejmować decyzję przy nieznanych parametrach np. decyzję o zakupie letniego stroju kąpielowego bez gwarancji, ciepłego lata. Jakość podjętej decyzji możemy ocenić dopiero z perspektywy czasu, co więcej także dopiero z tej perspektywy widzimy jakie byłoby optymalne działanie z naszej strony. Ponieważ w chwili podejmowania decyzji nie jesteśmy w stanie ocenić jej faktycznej wartości, często stosuje się oceny pośrednie, takie jak analizę najgorszego przypadku, czy analizę wartości oczekiwanej. W niniejszej pracy kryterium oceniającym daną decyzję jest analiza największego żalu. W naszym rozumieniu żalem nazywa się różnicę pomiędzy wartością uzyskaną z podjętej decyzji a hipotetyczną wartością uzyskaną dla decyzji, która z perspektywy czasu uważana byłaby za optymalną. Ponieważ nie jesteśmy w stanie przewidzieć przyszłości, staramy się aby największy żal jaki może nas spotkać był możliwie jak najmniejszy. Niektóre z łatwych problemów (należących do klasy P) posiadających precyzyjne dane, przy zmianie parametrów na nieprecyzyjne i transformowaniu kryterium oceny do żalu, stają się problemami trudnymi (należącymi do klasy NP-trudnych). Tak jest także w przypadku rozpatrywanego w niniejszej pracy NPtrudnego problemu minimalizacji maksymalnego żalu minimalnego drzewa rozpinającego, (ang. minmax regret minimum spanning tree problem), który wywodzi się z klasycznego łatwego problemu minimalnego drzewa rozpinającego (ang. minimum spanning tree problem). 2. Problem odpornego drzewa Jednym z podstawowych problemów badań operacyjnych jest wyznaczenie minimalno kosztowego drzewa rozpinającego (ang. minimum spinning tree). Drzewem rozpinającym spójny nieskierowany graf nazywamy dowolny acykliczny spójny podgraf tego grafu. Zbiór wszystkich drzew rozpinających dany graf będziemy oznaczać przez. Liczba drzew rozpinających graf, zależy, zarówno od jego struktury jak i od rozmiaru. Dla grafów pełnych zależy ona wykładniczo od ilości wierzchołków w grafie i wynosi. (1)

2 Dla grafów z obciążonymi krawędziami można wyznaczyć koszt dowolnego drzewa rozpinającego jako sumę obciążeń krawędzi wchodzących w jego skład. Problem minimalno kosztowego drzewa rozpinającego polega na wybraniu z wszystkich możliwych drzew rozpinających dany graf, drzewa o najmniejszym koszcie. Problem ten jest rozwiązywany w wielomianowym czasie przez algorytm Prima[14] czy Kruskala[11]. W analizowanym problemie wagi obciążeń krawędzi nie są znane. Dla każdej krawędzi podany jest zakres możliwych jej realizacji. Konkretną realizację wszystkich wag krawędzi nazywamy scenariuszem i oznaczamy przez. Zbiór wszystkich możliwych scenariuszy oznaczamy przez. Koszt wagi krawędzi w scenariuszu oznaczmy przez ;. Dla danego drzewa jego koszt zależy od scenariusza i wynosi on. (2) Dla scenariusza wynoszącym można wyznaczyć minimalno kosztowe drzewo rozpinające o całkowitym koszcie. (3) Dla każdego drzewa i scenariusza możemy wyznaczyć żal, będący różnicą pomiędzy kosztem danego drzewa a kosztem minimalnego drzewa dla zadanego scenariusza. (4) Maksymalnym żalem drzewa nazywamy:. (5) Analizowany w pracy problem polega na wyznaczeniu drzewa o minimalnej wartości maksymalnego żalu;. (6) 3. Przegląd literatury W literaturze analizowany jest również szczególny przypadek analizowanego problemu, w którym wszystkie koszty krawędzi mogą przyjmować wartości z przedziału [0,1]. Tak zredukowany problem nosi nazwę problemu centralnego drzewa rozpinającego (ang. Central spinning tree). W pracy [4] pokazano, iż nawet tak zredukowana wersja problemu jest już silnie-np-trudna. Pierwszą metodę dokładnego rozwiązania rozpatrywanego problemu zaproponowano w pracy [16]. Opierała się ona na programowaniu całkowito liczbowym (MIP) i autorzy rozwiązywali nią instancje mające do 25 wierzchołków w grafie. W pracach [1][12] zaproponowano algorytmy oparte na metodzie podziału i ograniczeń które były wstanie dostarczyć rozwiązań dla grafów zawierających do 40 wierzchołków. W pracy [10] zaproponowano wielomianowy 2-aproksymacyjny algorytm konstrukcyjny, natomiast w [13] przedstawiony został przybliżony algorytm popraw bazujący na metodzie symulowanego wyżarzania. Najwydajniejszy pod względem jakości rozwiązań dla dużych instancji (nie dających się rozwiązać algorytmami dokładnymi [1][12]) jest algorytm zaproponowany w pracy [9] bazujący na metodzie poszukiwań z zabronieniami. 4. Algorytm perturbacyjny Algorytmy perturbacyjne są modyfikacją istniejących algorytmów, najczęściej konstrukcyjnych. Idea algorytmu perturbacyjnego polega na wielokrotnym zaburzeniu danych wejściowych a następnie rozwiązanie otrzymanego problemu pewnym algorytmem zwanym dalej bazowym. Tak uzyskane rozwiązanie zaburzonego problemu testowane jest na oryginalnych, niezmienionych danych wejściowych. Po wykonaniu ustalonej liczby iteracji algorytm kończy działanie zwracając najlepsze napotkane rozwiązanie (najlepsze w sensie wartości funkcji celu dla oryginalnych danych). Pseudo kod algorytmu perturbacyjnego przedstawiony jest na rysunku 1.

3 Krok 1: wczytaj dane problemu D Krok 1a: podstaw za x* rozwiązanie uzyskane Bazowym Algorytmem dla oryginalnych danych D Krok 2: powtórz N razy Krok 2a: zaburz losowo oryginalne dane D tworząc dane D Krok 2b: uruchom Bazowy Algorytm na zaburzonych danych D uzyskując rozwiązanie x Krok 2c: jeżeli x na oryginalnych dalnych D jest lepszym rozwiązaniem niż najlepsze znalezione x* to podstaw x*=x Krok 3: zwróć najlepsze znalezione rozwiązanie x* Rys1. Pseudo kod algorytmu perturbacyjnego Niewątpliwie podstawowym elementem jest posiadanie szybkiego algorytmu dostarczającego rozwiązania wysokiej jakości. W przypadku analizowanego problemu będą to dwa algorytmy AM i AU opisane w pracy[8]. Dla problemów optymalizacji dyskretnej, w których także danymi wejściowymi jest graf z obciążonymi krawędziami stosuje się różne warianty zaburzania kosztów. W pracy [15] proponuje się algorytmy zaburzające wszystkie obciążenia krawędzi. Ponadto poprzez odpowiednie zaburzanie można uzyskuje się efekt intensyfikacji lub dywersyfikacji obliczeń. Intensyfikację obliczeń uzyskuje się poprzez takie zaburzenie kosztów by promowały krawędzie wybierane w wcześniejszych iteracjach algorytmu. Natomiast dywersyfikację uzyskujemy poprzez zaburzanie kosztów w przeciwny sposób. Prezentowany algorytm zaburza górne granice przedziałów wag wartości nową wartość górnej granicy z zakresu w taki sposób, że losuje gdzie jest numerem bieżącej iteracji a jest numerem ostatniej iteracji algorytmu. W badaniach sprawdzane były, także sposoby zaburzania opisane w pracy [15], lecz nie dawały one znacząco lepszych rezultatów niż prezentowana wersja. Jako algorytm bazowy zostały użyte równocześnie dwa algorytmy konstrukcyjne AM i AU. Algorytm AM dostarcza minimalne drzewo rozpinające dla grafu w którym wartości obciążeń krawędzi wynoszą dokładnie, natomiast algorytm AU dostarcza minimalne drzewo rozpinające dla grafu obciążeniami krawędzi równymi. Podczas pracy algorytmu perturbacyjnego każde z rozwiązań otrzymanych algorytmem AM i AU jest testowane na oryginalnych danych i może stać się najlepszym znalezionym rozwiązaniem. (7) 5. Badania numeryczne Wszystkie prezentowane wyniki badań w szczególności czasy pracy algorytmów uzyskane były na komputerze klasy PC wyposażonym w procesor Core2Duo E6750 2,66GHz, 4GB pamięci RAM, pracującym w systemie Windows 7. Algorytmy zaprogramowane zostały jako jednowątkowe w środowisku DEV C Prezentowany algorytm został porównany na przykładach wygenerowanych według koncepcji badaczy zajmujących się analizowanym problemem. Pierwsze 2 klasy przykładów Yaman1, Yaman4 zaproponowano w pracy [16]. Praca ta opisuje konstrukcję sześć klas przykładów z których na potrzeby przeprowadzanych w niniejszej pracy badań wybrano klasę 1 i 4. Kolejne dwie klasy przykładów Hente1, Hente2 opisane zostały w pracy [1]. Kolejne dwie klasy Monte1, Monte3 wygenerowano według przepisu zawartego w pracy[12], przy czym z 3 klas instancji proponowanych, wybrano klasę 1 i 3. Przykłady Kaspe1 opisane zostały w pracy [7] natomiast przykłady X2C w pracy[9]. Każda z klas składa się z 10 grup a w każdej grupie jest 10 instancji. W ramach danej grupy grafy posiadają jednakową liczbę wierzchołków, która zmienia się od 10 do 100. W badaniach użyto łącznie 800 przykładów testowych z których pierwszych 600 to przykłady ogólnego problemu drzewa odpornego a pozostałe 200 to przykłady jego szczególnego przypadku jakim są instancje problemu drzewa centralnego

4 Yaman1-10 2,27 0,00 0,30 Yaman4-10 0,50 0,00 0,10 Yaman1-20 2,22 0,00 0,29 Yaman4-20 0,43 0,00 0,07 Yaman1-30 0,78 0,00 0,00 Yaman4-30 0,33 0,00 0,02 Yaman1-40 0,93 0,00 0,18 Yaman4-40 0,39 0,00 0,02 Yaman1-50 0,51 0,00 0,14 Yaman4-50 0,21 0,00 0,08 Yaman1-60 0,57 0,00 0,21 Yaman4-60 0,15 0,00 0,08 Yaman1-70 0,23 0,00 0,08 Yaman4-70 0,09 0,00 0,06 Yaman1-80 0,30 0,00 0,22 Yaman4-80 0,09 0,00 0,09 Yaman1-90 0,16 0,00 0,12 Yaman4-90 0,06 0,00 0,06 Yaman ,10 0,00 0,09 Yaman ,04 0,00 0,04 0,81 0,00 0,16 0,23 0,00 0,06 Hente1-10 4,59 0,00 1,25 Hente2-10 4,59 0,00 1,25 Hente1-20 4,64 0,00 3,42 Hente2-20 3,91 0,00 0,99 Hente1-30 2,65 0,00 2,62 Hente2-30 2,14 0,06 0,84 Hente1-40 3,02 0,00 2,96 Hente2-40 2,79 0,04 2,21 Hente1-50 3,19 0,00 3,19 Hente2-50 2,93 0,03 2,90 Hente1-60 3,66 0,00 3,66 Hente2-60 2,89 0,09 2,89 Hente1-70 2,78 0,00 2,78 Hente2-70 3,56 0,25 3,41 Hente1-80 1,93 0,02 1,93 Hente2-80 2,86 0,07 2,83 Hente1-90 2,75 0,09 2,75 Hente2-90 3,27 0,10 3,27 Hente ,72 0,03 2,72 Hente ,43 0,07 3,43 3,19 0,01 2,73 3,24 0,07 2,40 Monte1-10 0,00 0,00 0,00 Monte3-10 0,14 0,00 0,00 Monte1-20 1,93 0,00 0,14 Monte3-20 2,56 0,00 0,06 Monte1-30 0,91 0,00 0,00 Monte3-30 1,56 0,00 0,22 Monte1-40 0,25 0,00 0,00 Monte3-40 2,41 0,00 0,19 Monte1-50 0,71 0,00 0,00 Monte3-50 1,38 0,01 0,31 Monte1-60 0,25 0,00 0,03 Monte3-60 1,78 0,01 0,41 Monte1-70 0,38 0,00 0,18 Monte3-70 2,38 0,02 0,52 Monte1-80 1,07 0,00 0,40 Monte3-80 1,67 0,01 0,57 Monte1-90 1,17 0,00 0,94 Monte3-90 2,01 0,00 0,74 Monte ,57 0,00 0,52 Monte ,71 0,01 0,75 0,72 0,00 0,22 1,76 0,01 0,38 Kaspe ,00 4,00 36,00 X2C-10 44,05 10,00 18,33 Kaspe ,00 28,00 61,00 X2C-20 29,38 18,48 21,86 Kaspe ,33 34,67 70,67 X2C-30 27,96 20,00 23,54 Kaspe ,50 45,00 74,50 X2C-40 23,89 18,80 20,71 Kaspe ,40 47,60 76,00 X2C-50 22,23 16,74 19,74 Kaspe ,33 54,67 78,00 X2C-60 23,78 20,42 21,89 Kaspe ,57 60,29 79,71 X2C-70 22,18 20,06 20,59 Kaspe ,50 62,50 80,50 X2C-80 23,09 20,59 21,53 Kaspe ,00 67,78 81,11 X2C-90 21,13 19,37 20,31 Kaspe ,80 66,80 81,60 X2C ,45 16,29 17,37 84,84 47,13 71,91 25,61 18,08 20,59 Tab 1. Średni błąd rozwiązań algorytmu PMU względem rozwiązań algorytmu TS (TS 10 iteracji, PMU 160 perturbacji)

5 Yaman1-10 2,27 0,00 0,24 Yaman4-10 0,50 0,00 0,00 Yaman1-20 2,22 0,00 0,04 Yaman4-20 0,43 0,00 0,00 Yaman1-30 0,78 0,00 0,00 Yaman4-30 0,33 0,00 0,00 Yaman1-40 0,93 0,00 0,03 Yaman4-40 0,39 0,00 0,00 Yaman1-50 0,51 0,00 0,03 Yaman4-50 0,21 0,00 0,00 Yaman1-60 0,57 0,00 0,06 Yaman4-60 0,15 0,00 0,02 Yaman1-70 0,23 0,00 0,02 Yaman4-70 0,09 0,00 0,03 Yaman1-80 0,30 0,00 0,09 Yaman4-80 0,09 0,00 0,03 Yaman1-90 0,16 0,00 0,04 Yaman4-90 0,06 0,00 0,02 Yaman ,10 0,00 0,06 Yaman ,04 0,00 0,04 0,81 0,00 0,06 0,23 0,00 0,01 Hente1-10 4,59 0,00 0,78 Hente2-10 4,59 0,00 0,78 Hente1-20 4,64 0,00 1,51 Hente2-20 3,91 0,00 0,00 Hente1-30 2,65 0,00 1,85 Hente2-30 2,14 0,00 0,09 Hente1-40 3,02 0,00 2,96 Hente2-40 2,79 0,00 1,44 Hente1-50 3,19 0,00 3,10 Hente2-50 2,93 0,00 1,98 Hente1-60 3,66 0,00 3,54 Hente2-60 2,89 0,00 2,23 Hente1-70 2,78 0,00 2,78 Hente2-70 3,56 0,00 3,41 Hente1-80 1,93 0,00 1,93 Hente2-80 2,86 0,00 2,83 Hente1-90 2,75 0,00 2,75 Hente2-90 3,27 0,00 3,23 Hente ,72 0,00 2,72 Hente ,43 0,00 3,43 3,19 0,00 2,39 3,24 0,00 1,94 Monte1-10 0,00 0,00 0,00 Monte3-10 0,14 0,00 0,00 Monte1-20 1,93 0,00 0,00 Monte3-20 2,56 0,00 0,00 Monte1-30 0,91 0,00 0,00 Monte3-30 1,56 0,00 0,00 Monte1-40 0,25 0,00 0,00 Monte3-40 2,41 0,00 0,01 Monte1-50 0,71 0,00 0,00 Monte3-50 1,38 0,00 0,05 Monte1-60 0,25 0,00 0,00 Monte3-60 1,78 0,00 0,08 Monte1-70 0,38 0,00 0,00 Monte3-70 2,38 0,00 0,12 Monte1-80 1,07 0,00 0,00 Monte3-80 1,67 0,00 0,14 Monte1-90 1,17 0,00 0,13 Monte3-90 2,01 0,00 0,21 Monte ,57 0,00 0,01 Monte ,71 0,00 0,26 0,72 0,00 0,01 1,76 0,00 0,09 Kaspe ,00 0,00 20,00 X2C-10 44,05 0,00 1,67 Kaspe ,00 0,00 44,00 X2C-20 29,38 0,67 15,76 Kaspe ,33 0,00 59,33 X2C-30 27,96 1,39 19,13 Kaspe ,50 0,00 66,50 X2C-40 23,89 0,96 17,54 Kaspe ,40 0,00 70,40 X2C-50 22,23 0,26 18,25 Kaspe ,33 0,00 73,00 X2C-60 23,78 1,69 20,64 Kaspe ,57 0,00 74,29 X2C-70 22,18 0,72 19,88 Kaspe ,50 0,50 75,00 X2C-80 23,09 2,97 21,23 Kaspe ,00 1,33 76,44 X2C-90 21,13 2,05 19,63 Kaspe ,80 0,80 77,20 X2C ,45 1,92 16,89 84,84 0,26 63,62 25,61 1,26 17,06 Tab 2. Średni błąd rozwiązań algorytmu PMU względem rozwiązań algorytmu TS (TS 1000 iteracji, PMU perturbacji)

6 Testowany algorytm perturbacyjny PMU porównany został z algorytmem AMU, (będącego połączeniem algorytmu AM i AU, oraz algorytmem TS opartym na metodzie poszukiwania z zabronieniami. Ponieważ w obydwóch porównywanych algorytmach można dowolnie wydłużać czas ich pracy uzyskując statystycznie lepsze rozwiązania badania zostały przeprowadzone dla dwóch wariantów badań tzn. szybkich mniej dokładnych oraz długotrwałych precyzyjniejszych obliczeń. W pierwszym badaniu dla każdego przykładu został uruchomiony algorytm TS działający przez 10 iteracji, a następnie uruchomiony został algorytm PMU działający 160 iteracji. Całkowity czas działania obu algorytmów był jednakowy i wnosił 120s. Następnie dla każdego z przykładów policzono względny błąd rozwiązania, według wzoru: gdzie oznaczają kolejno uzyskane drzewa rozpinające algorytmem TS, PMU i rozwiązanie referencyjne, (najlepsze znalezione przez długotrwałe poszukiwania). Należy zwrócić uwagę, że obydwa porównywane algorytmy TS i PMU zaczyna swoje poszukiwania od rozwiązania uzyskanego algorytmem AMU, a w kolejnych krokach swego działania poprawiają te rozwiązanie. Tabela 1 zawiera średnie wartości błędów liczone dla dziesięciu instancji w każdej grupie. Druga seria badań została przeprowadzona analogicznie do badań z pierwszej serii, z tą różnicą, że oba algorytmy wykonywały po 100 razy więcej iteracji. Algorytm TS wykonywał 1000 iteracji dla każdej instancji w czasie 6585s, a algorytm PMU wykonywał perturbacji w czasie 7426s. Wyniki drugiej części badań zostały przedstawione w tabeli 2. W pierwszym teście średni błąd wszystkich 800 przykładów dla algorytmu TS wyniósł 8,16% podczas gdy algorytm PMU dostarczył rozwiązania z średnim błędem 13,31%. Stukrotne zwiększenie iteracji algorytmów skutkowało tym, że rozwiązania algorytmem TS polepszyły się do bardzo poziomu 0,19%, a w algorytmie PMU do 10,65%. (8) 6. Podsumowanie Dla analizowanego problemu minimalizacji maksymalnego żalu drzewa rozpinającego, algorytmy oparte na metodzie perturbacyjnej nie są w stanie dorównać w jakości osiąganych rozwiązań algorytmom opartym na metodach poszukiwania z zabronieniami. Badania pokazały iż algorytm TS przerwany po niesamowicie krótkim czasie działania tzn. 10 iteracjach (co jest w brew idei tego typu algorytmów) dostarcza i tak lepszych rozwiązań niż algorytm perturbacyjny działający ponad 60 razy dłużej. Algorytmy perturbacyjne bez dodatkowych technik nie nadają się do rozwiązywania analizowanego problemu. Warto zwrócić jednak uwagę, iż iteracje takiego algorytmu dostarczają bardzo szybko różnych rozwiązań, które można wykorzystać jako rozwiązania początkowe dla wielokrotnie uruchamianych algorytmów popraw. Literatura [1] Aron I., van Hentenryck P., A constaint satisfaction approach to the robust spanning tree with interval data. Proceesings of the 18th Conference on Uncertainty in Artifcial Intelligece. Edmond, Canada, [2] Aron I., Hentenryck P., On the complexity of the robust spanning tree problem with interval data. Operations Research Letters 32, 2004, [3] Bang-Jensen J., Nikulin Y., Heuristics for the central tree problem. Journal of Heuristics 16, 2010, [4] Bezrukov S., Kaderali F., Poguntke W., On central spanning trees of a graph. Lecture Notes Computer Science. 1120, 1996, [5] Deo N., A central tree. IEEE Transactions on Circuit Theory, vol. ct-13, 1966, [6] Harary F., Graph theory. Addison-Wesley Publ. Company, 1969.

7 [7] Kasperski A., Discrete optimalization with interval data: Minmax regret and fuzzy approach. Studies in Fuzziness and Soft Computing, vol 228. Springer-Verlag, Berlin Heidelberg [8] Kasperski A, Kobylański P, Kulej M, Zieli nski P., Minimizing maximal regret in discrete optimization problems with interval data. In: Issues in Soft Computing Decisions and Operations Research, O. Hryniewicz, J. Kacprzyk, D. Kuchta (eds.), Akademicka Oficyna Wydawnicza EXIT, Warsaw, , [9] Kasperski A., Makuchowski M, Zieliński P., A tabu search algorithm for the minmax regret minimum spanning tree problem with interval data, ( w recenzji ) [10] Kasperski A., Zieliński P., An approximation algorrithm for interwal data minmax regret combinatorial optimalization problems. Information Processing Letters, 97(5), 2006, [11] Kruskal JB., On the shortest spanning subtree of graph and the trveling salesman problem. KProc. Amer. Math. Soc. 7, 1956, [12] Montemanni R, Gambardella LM, A branch and bound algorithm for robust spanning tree problem with interval data. Operations Research Letters 161, , [13] Nikulin Y, Simulated annealing algorithm for the robust spanning tree problem. Journal of Heuristics 14: [14] Prim RC., Shortest connection networks and some generalizations. Bell System Technical Journal 36, 1957, [15] C. Ribeiro, E. Uchoa, R. Werneck, A hybrid GRASP with perturbations for the Steiner problem in graphs, Technical Report, Computer Science Department, Catholic University of Rio de Janeiro, 2001 [16] Yaman H, Karasan OE, Pinar MC, The robust spanning tree with interval data. Operations Research Letters 29, 31-40, 2001.

ALGORYTM POSZUKIWANIA Z ZABRONIENIAMI DLA PROBLEMU CENTRALNEGO DRZEWA ROZPINAJĄCEGO

ALGORYTM POSZUKIWANIA Z ZABRONIENIAMI DLA PROBLEMU CENTRALNEGO DRZEWA ROZPINAJĄCEGO ALGORYM POSZUKIWANIA Z ZABRONIENIAMI DLA PROBLEMU CENRALNEGO DRZEWA ROZPINAJĄCEGO Mariusz MAKUCHOWSKI Politechnika Wrocławska, Instytut Informatyki Automatyki i Robotyki Streszczenie: W pracy analizuje

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

Minimalne drzewa rozpinające

Minimalne drzewa rozpinające KNM UŚ 26-28 listopada 2010 Ostrzeżenie Wprowadzenie Motywacja Definicje Niektóre pojęcia pojawiające się podczas tego referatu są naszymi autorskimi tłumaczeniami z języka angielskiego. Nie udało nam

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

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice) WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO Stanisław Kowalik (Poland, Gliwice) 1. Wprowadzenie Wstrząsy podziemne i tąpania występujące w kopalniach

Bardziej szczegółowo

Algorytmy heurystyczne w UCB dla DVRP

Algorytmy heurystyczne w UCB dla DVRP Algorytmy heurystyczne w UCB dla DVRP Seminarium IO na MiNI 24.03.2015 Michał Okulewicz based on the decision DEC-2012/07/B/ST6/01527 Plan prezentacji Definicja problemu DVRP UCB na potrzeby DVRP Algorytmy

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

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

Rozdział 8 PROGRAMOWANIE SIECIOWE

Rozdział 8 PROGRAMOWANIE SIECIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 8 PROGRAMOWANIE SIECIOWE 8.2. Ćwiczenia komputerowe Ćwiczenie 8.1 Wykorzystując

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

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO Mariusz MAKUCHOWSKI Streszczenie: Proponowany w tej pracy algorytm perturbacyjny PNEH (dedykowany permutacyjnemu problemowi przepływowemu) pozwala na dostarczanie

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

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

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych inż. Marek Duczkowski Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych słowa kluczowe: algorytm gradientowy, optymalizacja, określanie wodnicy W artykule

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

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Wykład 8. Drzewo rozpinające (minimum spanning tree) Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,

Bardziej szczegółowo

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO Mariusz MAKUCHOWSKI Streszczenie: Proponowany w tej pracy algorytm perturbacyjny PNEH (dedykowany permutacyjnemu problemowi przepływowemu) pozwala na dostarczanie

Bardziej szczegółowo

System wspomagania harmonogramowania przedsięwzięć budowlanych

System wspomagania harmonogramowania przedsięwzięć budowlanych System wspomagania harmonogramowania przedsięwzięć budowlanych Wojciech Bożejko 1 Zdzisław Hejducki 2 Mariusz Uchroński 1 Mieczysław Wodecki 3 1 Instytut Informatyki, Automatyki i Robotyki Politechnika

Bardziej szczegółowo

SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH

SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH Wojciech BOŻEJKO, Zdzisław HEJDUCKI, Mariusz UCHROŃSKI, Mieczysław WODECKI Streszczenie: W pracy przedstawiamy system wspomagający harmonogramowanie

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

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

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

Teoria obliczeń i złożoność obliczeniowa

Teoria obliczeń i złożoność obliczeniowa Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy

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

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

WIELOKRYTERIALNE PORZĄDKOWANIE METODĄ PROMETHEE ODPORNE NA ZMIANY WAG KRYTERIÓW

WIELOKRYTERIALNE PORZĄDKOWANIE METODĄ PROMETHEE ODPORNE NA ZMIANY WAG KRYTERIÓW Uniwersytet Ekonomiczny we Wrocławiu WIELOKRYTERIALNE PORZĄDKOWANIE METODĄ PROMETHEE ODPORNE NA ZMIANY WAG KRYTERIÓW Wprowadzenie Wrażliwość wyników analizy wielokryterialnej na zmiany wag kryteriów, przy

Bardziej szczegółowo

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew Drzewa Las - graf, który nie zawiera cykli Drzewo - las spójny Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew Niech T graf o n wierzchołkach będący

Bardziej szczegółowo

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

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy

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

Problemy z ograniczeniami

Problemy z ograniczeniami Problemy z ograniczeniami 1 2 Dlaczego zadania z ograniczeniami Wiele praktycznych problemów to problemy z ograniczeniami. Problemy trudne obliczeniowo (np-trudne) to prawie zawsze problemy z ograniczeniami.

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

HARMONOGRAMOWANIE ROBÓT BUDOWLANYCH Z MINIMALIZACJĄ ŚREDNIEGO POZIOMU ZATRUDNIENIA

HARMONOGRAMOWANIE ROBÓT BUDOWLANYCH Z MINIMALIZACJĄ ŚREDNIEGO POZIOMU ZATRUDNIENIA HARMONOGRAMOWANIE ROBÓT BUDOWLANYCH Z MINIMALIZACJĄ ŚREDNIEGO POZIOMU ZATRUDNIENIA Wojciech BOśEJKO, Zdzisław HEJDUCKI, Michał PODOLSKI, Mariusz UCHROŃSKI Streszczenie: w pracy proponujemy zastosowanie

Bardziej szczegółowo

Metody numeryczne w przykładach

Metody numeryczne w przykładach Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach

Bardziej szczegółowo

Algorytmiczna teoria grafów

Algorytmiczna teoria grafów Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)

Bardziej szczegółowo

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016 AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016 Adam PRUS, Krzysztof PIEŃKOSZ Politechnika Warszawska SZEREGOWANIE ZADAŃ CZĘŚCIOWO PODZIELNYCH NA PROCESORACH RÓWNOLEGŁYCH Streszczenie. W pracy jest rozpatrywany

Bardziej szczegółowo

Zadania laboratoryjne i projektowe - wersja β

Zadania laboratoryjne i projektowe - wersja β Zadania laboratoryjne i projektowe - wersja β 1 Laboratorium Dwa problemy do wyboru (jeden do realizacji). 1. Water Jug Problem, 2. Wieże Hanoi. Water Jug Problem Ograniczenia dla każdej z wersji: pojemniki

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

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2008 Seria: AUTOMATYKA z. 199 Nr kol. 1999

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2008 Seria: AUTOMATYKA z. 199 Nr kol. 1999 ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2008 Seria: AUTOMATYKA z. 199 Nr kol. 1999 Mariusz Makuchowski Politechnika Wrocławska, Instytut Informatyki Automatyki i Robotyki PROBLEM GNIAZDOWY Z OGRANICZENIEM

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

ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI

ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S.WĄSIK ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI ZAD. 1. Narysowad graf nieskierowany. Zmodyfikowad go w taki sposób, aby stał

Bardziej szczegółowo

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Kompresja danych Streszczenie Studia Dzienne Wykład 10, 1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny

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

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

Bardziej szczegółowo

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Używane struktury danych: V - zbiór wierzchołków grafu, V = {1,2,3...,n} E - zbiór krawędzi grafu, E = {(i,j),...}, gdzie i, j Î V i istnieje

Bardziej szczegółowo

Znajdowanie skojarzeń na maszynie równoległej

Znajdowanie skojarzeń na maszynie równoległej 11 grudnia 2008 Spis treści 1 Skojarzenia w różnych klasach grafów Drzewa Grafy gęste Grafy regularne dwudzielne Claw-free graphs 2 Drzewa Skojarzenia w drzewach Fakt Wybierajac krawędź do skojarzenia

Bardziej szczegółowo

IMPLEMENTACJA I PORÓWNANIE WYDAJNOŚCI WYBRANYCH ALGORYTMÓW GRAFOWYCH W WARUNKACH OBLICZEŃ RÓWNOLEGŁYCH

IMPLEMENTACJA I PORÓWNANIE WYDAJNOŚCI WYBRANYCH ALGORYTMÓW GRAFOWYCH W WARUNKACH OBLICZEŃ RÓWNOLEGŁYCH IMPLEMENTACJA I PORÓWNANIE WYDAJNOŚCI WYBRANYCH ALGORYTMÓW GRAFOWYCH W WARUNKACH OBLICZEŃ RÓWNOLEGŁYCH Michał Podstawski Praca dyplomowa napisana pod kierunkiem Prof. WSTI dr hab. inż. Jarosława Śmiei

Bardziej szczegółowo

Algorytmy kombinatoryczne w bioinformatyce

Algorytmy kombinatoryczne w bioinformatyce Algorytmy kombinatoryczne w bioinformatyce wykład 2: sekwencjonowanie cz. 1 prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Poznawanie sekwencji genomowej Poznawanie sekwencji

Bardziej szczegółowo

NIETYPOWE WŁASNOŚCI PERMUTACYJNEGO PROBLEMU PRZEPŁYWOWEGO Z OGRANICZENIEM BEZ PRZESTOJÓW

NIETYPOWE WŁASNOŚCI PERMUTACYJNEGO PROBLEMU PRZEPŁYWOWEGO Z OGRANICZENIEM BEZ PRZESTOJÓW NIETYPOWE WŁASNOŚCI PERMUTACYJNEGO PROBLEMU PRZEPŁYWOWEGO Z OGRANICZENIEM BEZ PRZESTOJÓW Mariusz MAKUCHOWSKI Streszczenie: W pracy rozważa się permutacyjny problem przepływowy z kryterium będącym momentem

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 03/0 Przeszukiwanie w głąb i wszerz I Przeszukiwanie metodą

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

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/

Bardziej szczegółowo

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2 Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2 opracował:

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

Projektowanie i analiza algorytmów

Projektowanie i analiza algorytmów POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Projektowanie i analiza algorytmów www.pk.edu.pl/~zk/piaa_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład

Bardziej szczegółowo

Sposoby wyznaczania odpornych tras komiwojażera w przedsiębiorstwie

Sposoby wyznaczania odpornych tras komiwojażera w przedsiębiorstwie Bogusz Przybysławski * Sposoby wyznaczania odpornych tras komiwojażera w przedsiębiorstwie Wstęp W dobie kryzysu, w każdym przedsiębiorstwie kluczową sprawą jest minimalizowanie kosztów jego funkcjonowania.

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

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

Luty 2001 Algorytmy (4) 2000/2001

Luty 2001 Algorytmy (4) 2000/2001 Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest

Bardziej szczegółowo

Kombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań

Kombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań Kombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań dopuszczalnych. NP-optymalizacyjny problem Π składa się: zbioru instancji D Π rozpoznawalnego

Bardziej szczegółowo

Programowanie dynamiczne i algorytmy zachłanne

Programowanie dynamiczne i algorytmy zachłanne Programowanie dynamiczne i algorytmy zachłanne 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

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

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 9: Programowanie

Bardziej szczegółowo

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 (12p.)Niech n 3k > 0. Zbadać jaka jest najmniejsza możliwa liczba krawędzi w grafie, który ma dokładnie n wierzchołków oraz dokładnie k składowych, z których

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Metody optymalizacji Metody bezgradientowe optymalizacji bez ograniczeń Materiały pomocnicze do ćwiczeń

Bardziej szczegółowo

POISSONOWSKA APROKSYMACJA W SYSTEMACH NIEZAWODNOŚCIOWYCH

POISSONOWSKA APROKSYMACJA W SYSTEMACH NIEZAWODNOŚCIOWYCH POISSONOWSKA APROKSYMACJA W SYSTEMACH NIEZAWODNOŚCIOWYCH Barbara Popowska bpopowsk@math.put.poznan.pl Politechnika Poznańska http://www.put.poznan.pl/ PROGRAM REFERATU 1. WPROWADZENIE 2. GRAF JAKO MODEL

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

Optymalizacja. Symulowane wyżarzanie

Optymalizacja. Symulowane wyżarzanie dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Wyżarzanie wzrost temperatury gorącej kąpieli do takiej wartości, w której ciało stałe topnieje powolne

Bardziej szczegółowo

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących

Bardziej szczegółowo

Ogólne wiadomości o grafach

Ogólne wiadomości o grafach Ogólne wiadomości o grafach Algorytmy i struktury danych Wykład 5. Rok akademicki: / Pojęcie grafu Graf zbiór wierzchołków połączonych za pomocą krawędzi. Podstawowe rodzaje grafów: grafy nieskierowane,

Bardziej szczegółowo

Wykład 9: Markov Chain Monte Carlo

Wykład 9: Markov Chain Monte Carlo RAP 412 17.12.2008 Wykład 9: Markov Chain Monte Carlo Wykładowca: Andrzej Ruciński Pisarz: Ewelina Rychlińska i Wojciech Wawrzyniak Wstęp W tej części wykładu zajmiemy się zastosowaniami łańcuchów Markowa

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

MATEMATYKA DYSKRETNA - KOLOKWIUM 2

MATEMATYKA DYSKRETNA - KOLOKWIUM 2 1 MATEMATYKA DYSKRETNA - KOLOKWIUM 2 GRUPA A RACHUNKI+KRÓTKIE WYJAŚNIENIA! NA TEJ KARTCE! KAŻDA DODATKOWA KARTKA TO MINUS 1 PUNKT! Imię i nazwisko...... Nr indeksu... 1. (3p.) Znajdź drzewo o kodzie Prufera

Bardziej szczegółowo

Podstawy Informatyki. Sprawność algorytmów

Podstawy Informatyki. Sprawność algorytmów Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych

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

Tworzenie gier na urządzenia mobilne

Tworzenie gier na urządzenia mobilne Katedra Inżynierii Wiedzy Wykład 11 O czym dzisiaj? labirynty, dużo labiryntów; automaty komórkowe; algorytmy do budowy labiryntów; algorytmy do szukania wyjścia z labiryntów; Blueprints i drzewa zachowań

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06

Bardziej szczegółowo

Systemy uczące się Lab 4

Systemy uczące się Lab 4 Systemy uczące się Lab 4 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 26 X 2018 Projekt zaliczeniowy Podstawą zaliczenia ćwiczeń jest indywidualne wykonanie projektu uwzględniającego

Bardziej szczegółowo

HEURYSTYCZNY ALGORYTM SZEREGOWANIA ZADAŃ W SYSTEMIE MASZYN RÓWNOLEGŁYCH Z KRYTERIUM MINIMALNO-CZASOWYM

HEURYSTYCZNY ALGORYTM SZEREGOWANIA ZADAŃ W SYSTEMIE MASZYN RÓWNOLEGŁYCH Z KRYTERIUM MINIMALNO-CZASOWYM EURYSTYCZNY ALGORYTM SZEREGOWANIA ZADAŃ W SYSTEMIE MASZYN RÓWNOLEGŁYC Z KRYTERIUM MINIMALNO-CZASOWYM Zbigniew BUCALSKI Streszczenie: Artykuł dotyczy zagadnienia czasowo-optymalnego przydziału zasobu podzielnego

Bardziej szczegółowo

Programowanie nieliniowe

Programowanie nieliniowe Rozdział 5 Programowanie nieliniowe Programowanie liniowe ma zastosowanie w wielu sytuacjach decyzyjnych, jednak często zdarza się, że zależności zachodzących między zmiennymi nie można wyrazić za pomocą

Bardziej szczegółowo

TEORIA GRAFÓW I SIECI

TEORIA GRAFÓW I SIECI TEORIA GRAFÓW I SIECI Temat nr 5: Sieci, drogi ekstremalne w sieciach, analiza złożonych przedsięwzięć (CPM i PERT) dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl

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

Podejście zachłanne, a programowanie dynamiczne

Podejście zachłanne, a programowanie dynamiczne Podejście zachłanne, a programowanie dynamiczne Algorytm zachłanny pobiera po kolei elementy danych, za każdym razem wybierając taki, który wydaje się najlepszy w zakresie spełniania pewnych kryteriów

Bardziej szczegółowo

Matematyka dyskretna - 7.Drzewa

Matematyka dyskretna - 7.Drzewa Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja

Bardziej szczegółowo

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE 2.2 Ćwiczenia komputerowe Ćwiczenie

Bardziej szczegółowo

NOWE WARIANTY OPERATORÓW GENETYCZNYCH DLA PROBLEMÓW Z KRYTERIUM SUMACYJNYM

NOWE WARIANTY OPERATORÓW GENETYCZNYCH DLA PROBLEMÓW Z KRYTERIUM SUMACYJNYM NOWE WARIANTY OPERATORÓW GENETYCZNYCH DLA PROBLEMÓW Z KRYTERIUM SUMACYJNYM Mariusz MAKUCHOWSKI Streszczenie: W pracy analizuje się własności sumacyjnego kryterium w permutacyjnym problemie przepływowym.

Bardziej szczegółowo

Seminarium IO. Zastosowanie algorytmu UCT w Dynamic Vehicle Routing Problem. Michał Okulewicz

Seminarium IO. Zastosowanie algorytmu UCT w Dynamic Vehicle Routing Problem. Michał Okulewicz Seminarium IO Zastosowanie algorytmu UCT w Dynamic Vehicle Routing Problem Michał Okulewicz 05.11.2013 Plan prezentacji Przypomnienie Problem DVRP Algorytm UCT Zastosowanie algorytmu UCT/PSO w DVRP Zastosowanie

Bardziej szczegółowo

Programowanie genetyczne - gra SNAKE

Programowanie genetyczne - gra SNAKE PRACOWNIA Z ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne - gra SNAKE II UWr Wrocław 2009 Spis treści 1. Wstęp 3 1.1. Ogólny opis.....................................

Bardziej szczegółowo

PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI

PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 5 PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI 5.2. Ćwiczenia komputerowe

Bardziej szczegółowo

Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych

Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych Mateusz Kobos, 07.04.2010 Seminarium Metody Inteligencji Obliczeniowej Spis treści Opis algorytmu i zbioru

Bardziej szczegółowo

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

8. Drzewa decyzyjne, bagging, boosting i lasy losowe Algorytmy rozpoznawania obrazów 8. Drzewa decyzyjne, bagging, boosting i lasy losowe dr inż. Urszula Libal Politechnika Wrocławska 2015 1 1. Drzewa decyzyjne Drzewa decyzyjne (ang. decision trees), zwane

Bardziej szczegółowo

Grafy i sieci w informatyce - opis przedmiotu

Grafy i sieci w informatyce - opis przedmiotu Grafy i sieci w informatyce - opis przedmiotu Informacje ogólne Nazwa przedmiotu Grafy i sieci w informatyce Kod przedmiotu 11.9-WI-INFD-GiSwI Wydział Kierunek Wydział Informatyki, Elektrotechniki i Automatyki

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

Wielokryteriowa optymalizacja liniowa

Wielokryteriowa optymalizacja liniowa Wielokryteriowa optymalizacja liniowa 1. Przy decyzjach złożonych kierujemy się zwykle więcej niż jednym kryterium. Postępowanie w takich sytuacjach nie jest jednoznaczne. Pojawiło się wiele sposobów dochodzenia

Bardziej szczegółowo

Złożoność obliczeniowa klasycznych problemów grafowych

Złożoność obliczeniowa klasycznych problemów grafowych Złożoność obliczeniowa klasycznych problemów grafowych Oznaczenia: G graf, V liczba wierzchołków, E liczba krawędzi 1. Spójność grafu Graf jest spójny jeżeli istnieje ścieżka łącząca każdą parę jego wierzchołków.

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

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 4a: Rozwiązywanie rekurencji http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Czas działania programu Dla konkretnych

Bardziej szczegółowo

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA MEL WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI NS 586 Dr inż. Franciszek Dul 5. ROZWIĄZYWANIE PROBLEMÓW Z OGRANICZENIAMI Problemy z ograniczeniami

Bardziej szczegółowo

Wykładnicze grafy przypadkowe: teoria i przykłady zastosowań do analizy rzeczywistych sieci złożonych

Wykładnicze grafy przypadkowe: teoria i przykłady zastosowań do analizy rzeczywistych sieci złożonych Gdańsk, Warsztaty pt. Układy Złożone (8 10 maja 2014) Agata Fronczak Zakład Fizyki Układów Złożonych Wydział Fizyki Politechniki Warszawskiej Wykładnicze grafy przypadkowe: teoria i przykłady zastosowań

Bardziej szczegółowo

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.

Bardziej szczegółowo