Optymalizacja. Przeszukiwanie lokalne

Podobne dokumenty
Techniki optymalizacji

Przeszukiwanie lokalne

Metody Optymalizacji: Przeszukiwanie z listą tabu

Optymalizacja. Symulowane wyżarzanie

Optymalizacja. Wybrane algorytmy

Algorytmy metaheurystyczne podsumowanie

Optymalizacja. Przeszukiwanie tabu

Optymalizacja. Przeszukiwanie tabu

Techniki optymalizacji

Techniki optymalizacji

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Techniki optymalizacji algorytmy metaheurystyczne

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

Wstęp do Sztucznej Inteligencji

Techniki optymalizacji

Tabu Search (Poszukiwanie z zakazami)

Optymalizacja ciągła

Metody Programowania

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

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

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

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Zaawansowane programowanie

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Metody numeryczne I Równania nieliniowe

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Zadania laboratoryjne i projektowe - wersja β

//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Programowanie liniowe

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Macierze. Rozdział Działania na macierzach

Sortowanie topologiczne skierowanych grafów acyklicznych

RÓWNANIA NIELINIOWE Maciej Patan

Schemat programowania dynamicznego (ang. dynamic programming)

Algorytmy i struktury danych

Analiza matematyczna i algebra liniowa Macierze

Optymalizacja. Algorytmy dokładne

Wybrane podstawowe rodzaje algorytmów

Algorytm simplex i dualność

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Obliczenia iteracyjne

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Programowanie liniowe metoda sympleks

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

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

Szablony funkcji i szablony klas

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a

Sortowanie danych. Jolanta Bachan. Podstawy programowania

Optymalizacja. Algorytmy dokładne

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Wyznaczniki. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 6. Wykład z algebry liniowej Warszawa, listopad 2013

Analiza wielokryterialna

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Metody numeryczne w przykładach

Techniki Optymalizacji: Optymalizacja wypukła

Aproksymacja funkcji a regresja symboliczna

Metody Rozmyte i Algorytmy Ewolucyjne

Wykład 5. Metoda eliminacji Gaussa

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

Luty 2001 Algorytmy (7) 2000/2001

Prawdopodobieństwo i statystyka

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Programowanie w VB Proste algorytmy sortowania

jest ciągiem elementów z przestrzeni B(R, R)

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Metody przeszukiwania lokalnego

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

Programowanie dynamiczne

SZTUCZNA INTELIGENCJA

Algorytmy i struktury danych

1 Wprowadzenie do algorytmiki

Rozwiązanie Powyższe zadanie możemy przedstawić jako następujące zagadnienie programowania liniowego:

Wielokryteriowa optymalizacja liniowa

Technologie informacyjne Wykład VII-IX

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Metody systemowe i decyzyjne w informatyce

Algorytmy stochastyczne laboratorium 03


Tablice z haszowaniem

Mrówka Pachycondyla apicalis

Układy równań i nierówności liniowych

Iteracyjne rozwiązywanie równań

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

Wstęp do programowania

Planowanie drogi robota, algorytm A*

Programowanie liniowe

Programowanie liniowe metoda sympleks

Heurystyki. Strategie poszukiwań

Wykład 13. Informatyka Stosowana. 14 stycznia 2019 Magdalena Alama-Bućko. Informatyka Stosowana Wykład , M.A-B 1 / 34

Programowanie w Turbo Pascal

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

Metody systemowe i decyzyjne w informatyce

Transkrypt:

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 funkcja odległości dist : S S R sąsiedztwo N(x) = {y S : dist(x, y) ε} każde rozwiązanie y N(x) jest nazywane rozwiązaniem sąsiednim lub po prostu sąsiadem x zakładamy, że y N(x) x N(y)

Cechy sąsiedztwa ograniczenie na rozmiar dla każdego x jego N(x) zawiera co najmniej jedno rozwiązanie y różne od x nie może obejmować całej przestrzeni rozwiązań dopuszczalnych (nie może być dokładne) podobieństwo sąsiadów y N(x) niewiele różni się od x, tak by przejście (elementarny ruch) od x do y nie wymagało za każdym razem konstruowania nowego rozwiązania od podstaw równouprawnienie niezależnie od wyboru rozwiązania początkowego, każde rozwiązanie należące do S powinno być osiągalne

Przykłady sąsiedztw dla permutacji n elementów k-zamiana (ang. k-swap, k-opt) N(x) zbiór rozwiązań powstałych przez usunięcie k elementów i wstawienie ich w innej kolejności 2-zamiana z zachowaniem pozycji 1 2 3 4 5 6 7 8 9 1 2 8 4 5 6 7 3 9 N 2P (x) = n(n 1) 2 3-zamiana z zachowaniem pozycji. N 3P (x) =......

Sąsiedztwo w TSP (zamiana miast) N 2P, indeksy (3, 8): 1 2 3 4 5 6 7 8 9 1 2 8 4 5 6 7 3 9

Sąsiedztwo w TSP (odwrócenie łuku) N 2R, indeksy (3, 8): 1 2 3 4 5 6 7 8 9 1 2 8 7 6 5 4 3 9

Które sąsiedztwo bardziej ułatwi optymalizację TSP? Krajobraz funkcji celu ma być łagodny... FDC ma być wysoka... zamiana miast odwrócenie łuku STSP ATSP

Sąsiedztwo w QAP zamiana lokalizacji 1-2-3 1-3-2

Które sąsiedztwo bardziej ułatwi optymalizację QAP? Krajobraz funkcji celu ma być łagodny... FDC ma być wysoka... zamiana miast odwrócenie łuku STSP ATSP QAP

Sąsiedztwo w GPP Sąsiedztwo wszystkie takie podziały (V 1, V 2 ), że V 1 = V 1 {x} i V 2 = V 2\{x} lub V 1 = V 1\{y} i V 2 = V 2 {y} x V 2, y V 1 Podejście alternatywne: generowanie rozwiązań niedopuszczalnych, tzn. V 1 V 2. F (V 1, V 2 ) = i V 1,j V 2 E ij + γ( V 1 V 2 ) 2 γ dodatnia stała (waga kary za niedopuszczalny podział).

Sąsiedztwo wektora liczb [4, 5.017, 3.422, 12.430, 107.819,...] http://www.framsticks.com/foraminifera http://sailor.mooncoder.com/

Eksploracja sąsiedztwa rozwiązania x 1 Wybierz rozwiązanie w S, oceń je, zdefiniuj jako rozwiązanie bieżące 2 Wygeneruj nowe rozwiązania z rozwiązania bieżącego i oceń je 3 Jeśli nowe rozwiązanie jest lepsze, uznaj je jako rozwiązanie bieżące, w przeciwnym wypadku odrzuć 4 Powtarzaj kroki 2 i 3 dopóki można uzyskać poprawę

Procedura przeszukiwania lokalnego (local search) procedure PRZESZUKIWANIE LOKALNE; begin INICJALIZUJ(x start ); x current :=x start ; repeat GENERUJ(y z N(x current )); implementacja? if f(y) f(x current ) then x current :=y; until f(y) f(x current ) dla wszystkich y N(x); end;

Lokalne optimum x min jest lokalnym minimum jeśli y N(xmin ) f (x min ) f (y) x max jest lokalnym maksimum jeśli y N(xmax ) f (x max ) f (y) ostra vs. nieostra nierówność!

Dwie wersje Local Search Greedy Steepest Czy umiał(a)byś już zaimplementować LS?

Przykład (maksymalizacja na siatce 2D) x2 x1 1 2 3 4 5 A 1 2 1 7 4 B 0 2 1 2 4 C 1 3 3 4 8 D 3 4 5 3 3 E 6 5 3 2 1 Zacznij od B2 Zasymuluj Greedy i Steepest Rozważ dwa sąsiedztwa: Moore a (8) i Neumanna (4) Pomyśl o wpływie warunku < vs. Sformułuj wnioski

Efektywne obliczanie kosztu nowego rozwiązania TSP: czas liniowy (naiwnie) lub stały (łatwo) QAP: czas kwadratowy (naiwnie) lub liniowy (łatwo) lub prawie-stały (tablica delt)

Wady i zalety Wady Zalety kończą działanie (zbyt szybko?) w optimum lokalnym jakość uzyskiwanych rozwiązań może zależeć od wyboru rozwiązania startowego dla większości problemów nie ma żadnych wskazań co do tego, jak najlepiej wybrać rozwiązanie startowe są elastyczne można stosować dla każdego problemu optymalizacji kombinatorycznej bardzo szybkie i proste

Unikanie wad algorytmów lokalnego przeszukiwania wykonanie algorytmu lokalnego przeszukiwania dla dużej liczby różnych rozwiązań startowych odmiana multi-random start odmiana guided local search: funkcja celu jest modyfikowana przy kolejnych uruchomieniach tak, że fragmenty rozwiązań ze znalezionych wcześniej optimów lokalnych są karane wprowadzenie bardziej złożonej definicji sąsiedztwa w celu przeszukania większej części przestrzeni rozwiązań dopuszczalnych ograniczone akceptowanie pogorszeń funkcji celu...