Optymalizacja. Przeszukiwanie tabu

Podobne dokumenty
Optymalizacja. Przeszukiwanie tabu

Optymalizacja. Przeszukiwanie lokalne

Optymalizacja. Symulowane wyżarzanie

Metody Optymalizacji: Przeszukiwanie z listą tabu

Optymalizacja. Wybrane algorytmy

Algorytmy metaheurystyczne podsumowanie

Tabu Search (Poszukiwanie z zakazami)

Techniki optymalizacji

Optymalizacja. Algorytmy dokładne

Sortowanie topologiczne skierowanych grafów acyklicznych

Optymalizacja. Algorytmy dokładne

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

Algorytmy zrandomizowane

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Rozdział 9 PROGRAMOWANIE DYNAMICZNE

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel

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

Techniki optymalizacji

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

ALHE Z11 Jarosław Arabas wykład 11

Planowanie drogi robota, algorytm A*

ALHE. prof. Jarosław Arabas semestr 15Z

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

Uczenie sieci typu MLP

Znajdowanie największego i najmniejszego elementu w zbiorze n liczb całkowitych

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Techniki optymalizacji

Metody ilościowe w badaniach ekonomicznych

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Heurystyki w podejmowaniu decyzji

ZASTOSOWANIE ALGORYTMÓW POSZUKIWANIA Z TABU DO OPTYMALIZACJI UKŁADANIA PLANU ZAJĘĆ

RÓWNANIA NIELINIOWE Maciej Patan

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.

Optymalizacja systemów

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Algorytmy i struktury danych

Mrówka Pachycondyla apicalis

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Przeszukiwanie lokalne

Wybrane podstawowe rodzaje algorytmów

P(F=1) F P(C1 = 1 F = 1) P(C1 = 1 F = 0) P(C2 = 1 F = 1) P(C2 = 1 F = 0) P(R = 1 C2 = 1) P(R = 1 C2 = 0)

Wstęp do programowania

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Rozwiązywanie problemów metodą przeszukiwania

PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI

dr inż. Jarosław Forenc

Obliczenia ewolucyjne - plan wykładu

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

Instrukcje cykliczne (pętle) WHILE...END WHILE

Metody systemowe i decyzyjne w informatyce

Wstęp do programowania

Sortowanie danych. Jolanta Bachan. Podstawy programowania

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Heurystyczne metody przeszukiwania

B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ;

Metody przeszukiwania lokalnego

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.

Strategie ewolucyjne (ang. evolu4on strategies)

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

SZTUCZNA INTELIGENCJA

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

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

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

Pole wielokąta. Wejście. Wyjście. Przykład

Hyper-resolution. Śmieciarki w Manncheim

Wstęp do programowania

dr inż. Jarosław Forenc

dr inŝ. Jarosław Forenc

Schemat programowania dynamicznego (ang. dynamic programming)

Zaawansowane programowanie

Matematyczne Podstawy Informatyki

SZTUCZNA INTELIGENCJA

Sztuczna Inteligencja Projekt

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

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

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Programowanie RAD Delphi

Eksploracja danych. KLASYFIKACJA I REGRESJA cz. 2. Wojciech Waloszek. Teresa Zawadzka.

Instrukcje iteracyjne (pętle)

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.

Losowość w rozproszonym modelu

Integracja systemów transakcyjnych

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Modelowanie procesów współbieżnych

Ilość cyfr liczby naturalnej

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

Szeregowanie zadań w Linux Kernel 2.6. Daniel Górski Przemysław Jakubowski

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Metody Programowania

Wstęp do Programowania potok funkcyjny

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Luty 2001 Algorytmy (4) 2000/2001

Transkrypt:

dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke

Naturalny sposób powstania algorytmu Algorytm optymalizacji lokalnej Niezdolność wyjścia z lokalnych optimów! Akceptacja ruchów niepolepszających Cykle! Lista tabu Za dużo zakazanych ruchów! Poziom aspiracji akceptacja atrakcyjnych ruchów zakazanych Algorytm przeszukiwania tabu Czasochłonne sprawdzanie całego sąsiedztwa w każdym kroku? Kandydaci podzbiór sąsiedztwa V N

Przeszukiwanie tabu Główna idea wykorzystanie pamięci Zapamiętywanie rozwiązań lub ruchów (zmian)

Przykład zapamiętywania ruchów tabu (0) Struktura listy tabu: Wewnątrz numer kadencji (ilość iteracji tabu do końca). Iteracja 0 (punkt startowy, kryterium maksymalizacji) Rozwiązanie bieżące wartość=10

Przykład zapamiętywania ruchów tabu (1, 2) Iteracja 1 Rozwiązanie bieżące wartość=16 Iteracja 2 Rozwiązanie bieżące wartość=18

Przykład zapamiętywania ruchów tabu (3, 4) Iteracja 3 Rozwiązanie bieżące wartość=14 Super! Iteracja 4 Rozwiązanie bieżące wartość=20

Recency-based memory vs. frequency-based memory Częstość wystąpień poszczególnych ruchów może być dodatkowo wykorzystana do większego rozproszenia przeszukiwania w przestrzeni rozwiązań dopuszczalnych (dywersyfikacja). Na przykład: ruchy otrzymują proporcjonalną do ich częstości karę w przypadku, gdy nie polepszają wartości rozwiązania. Dywersyfikacja jest przydatna tylko w określonych warunkach (np. gdy nie ma żadnych polepszeń). Iteracja 26. p = v kara za częstość

Przeszukiwanie tabu procedure PRZESZUKIWANIE TABU begin INICJALIZUJ(xstart, xbest, T ) x := xstart repeat GENERUJ(V N(x)) WYBIERZ(x ) //najlepsze f w V + aspiracja UAKTUALNIJ LISTĘ TABU(T ) if f (x ) f (xbest) then xbest := x x := x until WARUNEK STOPU end

Determinizm Algorytm jest deterministyczny Autor TS: zły wybór strategiczny jest lepszy, niż dobry wybór losowy (bo jest pod kontrolą, więc można wyciągać jakieś wnioski)

Nowość: lista kandydatów zbiór V po co: żeby w każdej iteracji nie przeglądać i nie oceniać całego sąsiedztwa dobry ruch, jeśli nie jest wykonany w bieżącej iteracji, będzie wciąż dobry w kilku następnych (?) jaki podzbiór V N zbioru sąsiadów N ma być kandydatami? kandydaci = dobrzy sąsiedzi należy wybrać takie ruchy, które są korzystne... dla obecnego rozwiązania i dla przyszłych.

Konstrukcja listy kandydatów. Strategia 1: Aspiracja plus przeszukiwanie sąsiedztwa aż do znalezienia sąsiada lepszego o pewną wartość progową ( aspiracja plus ) liczba kandydatów rośnie aż do osiągnięcia wartości progowej Min liczba sprawdzonych sąsiadów Max poziom aspiracji może być zmienny w trakcie przeszukiwania (może zależeć od historii przeszukiwania) strategia zwraca 1 lub więcej najlepszych znalezionych sąsiadów aż 3 parametry...

Konstrukcja listy kandydatów. Strategia 2: Elitarna lista kandydatów (master list) tworzenie master list sprawdzenie wszystkich lub większości ruchów, wybór k najlepszych (k jest parametrem) w następnych iteracjach aktualnie najlepszy ruch ze zbioru k ruchów jest wybierany do wykonania, aż jakość ruchu spadnie poniżej danego progu, lub zostanie osiągnięta pewna liczba iteracji

Kryteria aspiracji Cel: określić kiedy restrykcje tabu mogą zostać pominięte Pierwsze kryterium aspiracji: usunąć ograniczenie tabu wtedy, gdy ruch da rozwiązanie lepsze od najlepszego znalezionego do tej pory Aspiracja domniemana Jeżeli wszystkie ruchy są tabu i nie są dozwolone przez inne kryteria, to wybierany jest ruch najmniej tabu Aspiracja wg kryterium Forma globalna ruch tabu jest akceptowany jeżeli c(x ) < best cost Forma regionalna (przestrzeń dzieli się na podregiony R) ruch tabu jest akceptowany jeżeli c(x ) < best cost(r)

Unifikacja algorytmów optymalizacji: intensyfikacja i dywersyfikacja (exploitation and exploration) Intensyfikacja W dobrych rejonach Powrót do najlepszego rozwiązania znalezionego do tej pory Skrócenie listy Tabu (short term memory) Pamięć długotrwała (long term memory) Każde rozwiązanie lub ruch to zbiór komponentów Zapamiętywanie komponentów dobrych ruchów lub rozwiązań w czasie obliczeń W czasie intensyfikacji ruchy i rozwiązania włączają dobre komponenty Pamięć długotrwała daje możliwość uczenia się Dywersyfikacja Dla rzadko odwiedzanych rejonów Karanie często wykonywanych ruchów ucieczka z rejonu Można postrzegać te mechanizmy jako pewien sposób modyfikacji funkcji celu: f = f + Int + Div