Metody Optymalizacji: Przeszukiwanie z listą tabu

Podobne dokumenty
Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Optymalizacja. Przeszukiwanie lokalne

Przeszukiwanie lokalne

Optymalizacja. Wybrane algorytmy

Techniki optymalizacji

Techniki Optymalizacji: Optymalizacja wypukła

Optymalizacja ciągła

SZTUCZNA INTELIGENCJA

Algorytmy metaheurystyczne podsumowanie

Optymalizacja. Przeszukiwanie tabu

Optymalizacja. Przeszukiwanie tabu

Optymalizacja ciągła

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

Optymalizacja ciągła

Wybrane podstawowe rodzaje algorytmów

Metody Programowania

Analiza matematyczna i algebra liniowa Elementy równań różniczkowych

Techniki optymalizacji algorytmy metaheurystyczne

Optymalizacja ciągła

Heurystyki. Strategie poszukiwań

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19

Tabu Search (Poszukiwanie z zakazami)

Tomasz M. Gwizdałła 2012/13

Analiza matematyczna i algebra liniowa Macierze

Analiza matematyczna i algebra liniowa Pochodna funkcji

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

Elementy inteligencji obliczeniowej

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

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

Zadania laboratoryjne i projektowe - wersja β

Ekonometria - ćwiczenia 10

Optymalizacja systemów

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Zaawansowane programowanie

Analiza matematyczna i algebra liniowa Wprowadzenie Ciągi liczbowe

Uczenie sieci typu MLP

Techniki Optymalizacji: Metody regresji

Politechnika Gdańska Wydział Oceanotechniki i Okrętownictwa. Marzec Podstawy teorii optymalizacji Oceanotechnika, II stop., sem.

Elementy wspo łczesnej teorii inwersji

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Metody Rozmyte i Algorytmy Ewolucyjne

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

Układy równań liniowych. Krzysztof Patan

Metody numeryczne II

Definicja problemu programowania matematycznego

Podstawy Sztucznej Inteligencji (PSZT)

Optymalizacja ciągła

Metody przeszukiwania

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

Analiza matematyczna i algebra liniowa Macierze

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCHY KOMPETENCJI EFEKTY KSZTAŁCENIA

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

Programowanie liniowe metoda sympleks

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2012/13

Techniki optymalizacji

Algorytmy ewolucyjne 1

Metody numeryczne w przykładach

Z-ZIP2-303z Zagadnienia optymalizacji Problems of optimization

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

WYKŁAD 9 METODY ZMIENNEJ METRYKI

PRZEWODNIK PO PRZEDMIOCIE

Optymalizacja. Symulowane wyżarzanie

Programowanie liniowe metoda sympleks

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Metody numeryczne Wykład 4

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

PRZEWODNIK PO PRZEDMIOCIE

Zagadnienia optymalizacji Problems of optimization

Heurystyki w podejmowaniu decyzji

EKONOMETRIA I SYLABUS

Znajdowanie wyjścia z labiryntu

Wstęp do Sztucznej Inteligencji

Planowanie drogi robota, algorytm A*

Heurystyczne metody przeszukiwania

Metody systemowe i decyzyjne w informatyce

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

Iteracyjne rozwiązywanie równań

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

Techniki optymalizacji

Programowanie liniowe metoda sympleks

Metody numeryczne. materiały do wykładu dla studentów

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

KADD Minimalizacja funkcji

ZAGADNIENIE TRANSPORTOWE

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

PRZEWODNIK PO PRZEDMIOCIE

Techniki optymalizacji

Problemy Decyzyjne Markowa

Programowanie liniowe. Tadeusz Trzaskalik

Techniki optymalizacji

Egzamin / zaliczenie na ocenę*

Algorytm genetyczny (genetic algorithm)-

Algorytmy sortujące. Sortowanie bąbelkowe

PRZEWODNIK PO PRZEDMIOCIE. stacjonarne. II stopnia. ogólnoakademicki. podstawowy WYKŁAD ĆWICZENIA LABORATORIUM PROJEKT SEMINARIUM

Metody numeryczne. materiały do wykładu dla studentów

Poziom przedmiotu: II stopnia. Liczba godzin/tydzień: 2W, 2L, 1C PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

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 15:00-16:30 Slajdy dostępne pod adresem: http://www.cs.put.poznan.pl/wkotlowski/ Przy opracowaniu korzystałem ze slajdów prof. A. Jaszkiewicza. 25.01.2013 1 / 25

Spis treści 1 Lokalne przeszukiwanie przypomnienie 2 Przeszukiwanie z listą tabu 3 Zagadnienia na egzamin 2 / 25

Spis treści 1 Lokalne przeszukiwanie przypomnienie 2 Przeszukiwanie z listą tabu 3 Zagadnienia na egzamin 3 / 25

Przypomnienie klasyfikacja algorytmów Algorytmy dokładne znajdują rozwiązanie optymalne. dedykowane dla specyficznych problemów programowanie dynamiczne podziału i ograniczeń (B&B) przeszukiwanie wyczerpujące Algorytmy aproksymacyjne znajdują rozwiązanie przybliżone, dają gwarancję, jak blisko optimum jesteśmy. dedykowane dla specyficznych problemów NP-trudnych z tego powodu rzadko używane w praktyce Algorytmy heurystyczne znajdują optimum lokalne, bez gwarancji jego jakości. lokalne przeszukiwanie ulepszone lokalne przeszukiwanie (symulowane wyżarzanie, przeszukiwanie tabu) algorytmy populacyjne (genetyczne, mrówkowe, itp.) hybrydy 4 / 25

Przypomnienie klasyfikacja algorytmów Algorytmy dokładne znajdują rozwiązanie optymalne. dedykowane dla specyficznych problemów programowanie dynamiczne podziału i ograniczeń (B&B) przeszukiwanie wyczerpujące Algorytmy aproksymacyjne znajdują rozwiązanie przybliżone, dają gwarancję, jak blisko optimum jesteśmy. dedykowane dla specyficznych problemów NP-trudnych z tego powodu rzadko używane w praktyce Algorytmy heurystyczne znajdują optimum lokalne, bez gwarancji jego jakości. lokalne przeszukiwanie ulepszone lokalne przeszukiwanie (symulowane wyżarzanie, przeszukiwanie tabu) algorytmy populacyjne (genetyczne, mrówkowe, itp.) hybrydy 4 / 25

Przypomnienie algorytm przeszukiwania lokalnego Wybierz rozwiązanie startowe x 0 w X (skonstruuj lub losowo). Powtarzaj k = 1, 2,...: 1 Dokonaj generacji nowego rozwiązania w sąsiedztwie y = N(x k 1 ). 2 Jeśli y jest lepsze od x k 1, tzn. f(y) < f(x k 1 ), wybierz y jako rozwiązanie bieżące, x k = y, w przeciwnym wypadku odrzuć y i przyjmij x k = x k 1. dopóki nie można poprawić rozwiązania bieżącego x k 1 (minimum lokalne) 5 / 25

Modyfikacje przeszukiwania lokalnego Wprowadzenie bardziej złożonej definicji sąsiedztwa w celu przeszukania większej części przestrzeni rozwiązań dopuszczalnych. kosztowne obliczeniowo! Dobre rozwiązanie startowe. zwykle bardzo trudno je skonstruować! Wykonanie algorytmu lokalnego przeszukiwania wielokrotnie. Wykonanie algorytmu lokalnego przeszukiwania wielokrotnie. Ograniczone akceptowanie pogorszeń funkcji celu (SA). Zapamiętywanie i unikanie rozwiązań już odwiedzonych (TS). 6 / 25

Modyfikacje przeszukiwania lokalnego Wprowadzenie bardziej złożonej definicji sąsiedztwa w celu przeszukania większej części przestrzeni rozwiązań dopuszczalnych. kosztowne obliczeniowo! Dobre rozwiązanie startowe. zwykle bardzo trudno je skonstruować! Wykonanie algorytmu lokalnego przeszukiwania wielokrotnie. Wykonanie algorytmu lokalnego przeszukiwania wielokrotnie. Ograniczone akceptowanie pogorszeń funkcji celu (SA). Zapamiętywanie i unikanie rozwiązań już odwiedzonych (TS). 6 / 25

Spis treści 1 Lokalne przeszukiwanie przypomnienie 2 Przeszukiwanie z listą tabu 3 Zagadnienia na egzamin 7 / 25

Motywacje Algorytm przeszukiwania lokalnego wykonuje ruch tylko, gdy prowadzi to do obniżenia funkcji celu. = zbiega do najbliższego minimum lokalnego. Lokalne optima nie muszą być dobrymi rozwiązaniami. Lokalne optima mogą się grupować, leżeć blisko siebie. 8 / 25

Pomysł Lokalne przeszukiwanie wersja stroma (steepest) Wybierz rozwiązanie startowe x 0. Powtarzaj k = 1, 2,...: 1 Wybierz y jako najlepsze rozwiązanie w N(x k 1 ), tj. wybierz takie y, że f(y) f(x) dla wszystkich x N(x k 1 ). 2 Jeśli f(y) < f(x k 1 ) to przyjmij x k = y. dopóki nie można poprawić rozwiązania bieżącego x k 1. 9 / 25

Pomysł Wersja stroma (steepest) Wybierz rozwiązanie startowe x 0. Powtarzaj k = 1, 2,...: 1 Wybierz y jako najlepsze rozwiązanie w N(x k 1 ), tj. wybierz takie y, że f(y) f(x) dla wszystkich x N(x k 1 ). 2 Jeśli f(y) < f(x k 1 ) to przyjmij x k = y. dopóki nie można poprawić rozwiązania bieżącego x k 1. A jeśli zrezygnować z konieczności obniżenia funkcji celu w nowym rozwiązaniu? 10 / 25

Pomysł Wersja stroma (steepest) Wybierz rozwiązanie startowe x 0. Powtarzaj k = 1, 2,...: 1 Wybierz y jako najlepsze rozwiązanie w N(x k 1 ), tj. wybierz takie y, że f(y) f(x) dla wszystkich x N(x k 1 ). 2 Jeśli f(y) < f(x k 1 ) to przyjmij x k = y. dopóki nie można poprawić rozwiązania bieżącego x k 1. A jeśli zrezygnować z konieczności obniżenia funkcji celu w nowym rozwiązaniu? Ryzyko wpadnięcia w cykle jak tego uniknąć? 10 / 25

Przeszukiwanie z listą tabu (tabu search) Główna idea Umożliwiaj ruchy pogarszające funkcję celu (jeśli nie ma innej możliwości), ale zapamiętuj wykonane już ruchy, aby nie wpaść w cykl! 11 / 25

Przeszukiwanie z listą tabu (tabu search) Główna idea Umożliwiaj ruchy pogarszające funkcję celu (jeśli nie ma innej możliwości), ale zapamiętuj wykonane już ruchy, aby nie wpaść w cykl! Zapamiętuj wykonane ruchy ruchy takie stają się zakazane (tabu) W celu poprawy efektywności zwykle lista ma maksymalną długość K (ostatnio wykonanych ruchów) Szybkie przeszukiwanie listy: zwykle haszowanie 11 / 25

Tabu search Rozpocznij od pustej listy tabu T =. Wybierz rozwiązanie startowe x 0. Inicjuj najlepszy napotkany ruch jako x := x 0. Powtarzaj k = 1, 2,...: 1 Wybierz y jako najlepsze rozwiązanie w N(x k 1 ), tj. wybierz takie y że f(y) f(x) dla wszystkich x N(x k 1 ). 2 Przyjmij x k := y, niezależnie od tego, czy y poprawia czy pogarsza funkcję celu. 3 Dodaj ruch x k y do listy tabu T, wyrzuć najstarszy ruch, jeśli T > K. 4 Jeśli f(x k ) < f(x ) to x := x k. Zwróć x. 12 / 25

Szczegóły Co przechowywać na liście ruchów? 13 / 25

Szczegóły Co przechowywać na liście ruchów? ruchy składowe ruchów 13 / 25

Szczegóły Co przechowywać na liście ruchów? ruchy składowe ruchów Jak blokować ruchy? 13 / 25

Szczegóły Co przechowywać na liście ruchów? ruchy składowe ruchów Jak blokować ruchy? dokładne dopasowanie ruchy odwrotne ruchy częściowo się pokrywające 13 / 25

Szczegóły Co przechowywać na liście ruchów? ruchy składowe ruchów Jak blokować ruchy? dokładne dopasowanie ruchy odwrotne ruchy częściowo się pokrywające Jak długa lista tabu? 13 / 25

Szczegóły co przechowywać na liście ruchów? (TSP) Przykład (TSP): wymiana dwóch miast 14 / 25

Szczegóły co przechowywać na liście ruchów? (TSP) Przykład (TSP): wymiana dwóch miast Przechowujemy cały ruch: para rozwiązań (x, y). Przechowujemy tylko parę miast, które uległy wymianie. 14 / 25

Szczegóły co przechowywać na liście ruchów? (TSP) Przykład (TSP): wymiana dwóch miast Przechowujemy cały ruch: para rozwiązań (x, y). Przechowujemy tylko parę miast, które uległy wymianie. Przykład (TSP): wymiana trzech miast 14 / 25

Szczegóły co przechowywać na liście ruchów? (TSP) Przykład (TSP): wymiana dwóch miast Przechowujemy cały ruch: para rozwiązań (x, y). Przechowujemy tylko parę miast, które uległy wymianie. Przykład (TSP): wymiana trzech miast Przechowujemy cały ruch: para rozwiązań (x, y). Przechowujemy trójkę miast, która uległy wymianie. Przechowujemy osobno każdą parę miast, które uległy wymianie. 14 / 25

Szczegóły jak blokować ruchy (TSP) Dokładne dopasowanie 15 / 25

Szczegóły jak blokować ruchy (TSP) Dokładne dopasowanie Zakazane tylko ruchy z listy tabu lub odwrotne. Stosunkowo mało ograniczeń potrzebna długa lista tabu. 15 / 25

Szczegóły jak blokować ruchy (TSP) Dokładne dopasowanie Zakazane tylko ruchy z listy tabu lub odwrotne. Stosunkowo mało ograniczeń potrzebna długa lista tabu. Częściowe dopasowanie 15 / 25

Szczegóły jak blokować ruchy (TSP) Dokładne dopasowanie Zakazane tylko ruchy z listy tabu lub odwrotne. Stosunkowo mało ograniczeń potrzebna długa lista tabu. Częściowe dopasowanie Ruch (x, y) blokuje wszystkie ruchy zawierające x lub y (blokowanie rozwiązań). Naturalne przy przechowywaniu składowych ruchów. Dużo ograniczeń wymaga krótkiej listy tabu. 15 / 25

Szczegóły długość listy tabu Krótka lista 16 / 25

Szczegóły długość listy tabu Krótka lista Bardziej agresywny algorytm. Ryzyko wpadnięcia w cykl. 16 / 25

Szczegóły długość listy tabu Krótka lista Bardziej agresywny algorytm. Ryzyko wpadnięcia w cykl. Długa lista 16 / 25

Szczegóły długość listy tabu Krótka lista Bardziej agresywny algorytm. Ryzyko wpadnięcia w cykl. Długa lista Ryzyko pomijania zbyt wielu ruchów. Może nawet uniemożliwiać dojście do lokalnego optimum. 16 / 25

Szczegóły długość listy tabu Krótka lista Bardziej agresywny algorytm. Ryzyko wpadnięcia w cykl. Długa lista Ryzyko pomijania zbyt wielu ruchów. Może nawet uniemożliwiać dojście do lokalnego optimum. Kryterium aspiracji: akceptuj rozwiązania lepsze od najlepszego dotąd, nawet jeśli są na liście tabu. 16 / 25

Tabu search Algorytm przeszukiwania lokalnego steepest niezdolność wyjścia z lokalnego optimum cykle Ulepszony alg. Steepest (akceptacja ruchów niepolepszających, wybór najlepszego rozwiązania) Lista tabu Przeszukiwanie tabu za dużo zakazanych ruchów Poziom aspiracji (akceptacja atrakcyjnych ruchów zakazanych) 17 / 25

Przykład zapamiętywania ruchów tabu 18 / 25

Przykład zapamiętywania ruchów tabu 18 / 25

Przykład zapamiętywania ruchów tabu 18 / 25

Spis treści 1 Lokalne przeszukiwanie przypomnienie 2 Przeszukiwanie z listą tabu 3 Zagadnienia na egzamin 19 / 25

Programowanie liniowe (PL) Umiejętność zapisania zadania z treścią jako problem PL. Zamiana minimalizacji wartości bezwzględnej na PL. Zamiana problemu minimaksowego na PL. Rozwiązanie graficzne problemu PL (na płaszczyźnie). Własności algorytmu simplex (ale nie trzeba umieć rozwiązywać PL tą metodą). Zapisanie problemu dualnego, interpretacja zmiennych dualnych. 20 / 25

Metody regresji Zrozumienie trzech metod regresji (LS, LAD, MM) wraz z ich zaletami i wadami. Rozwiązanie prostych problemów regresji LS, LAD, MM (typu: przykład nad slajdzie 13 z wykładu o regresji) 21 / 25

Metody klasyfikacji Metoda minimalizacji błędu 0/1 zalety i wady. Regresja logistyczna postać funkcji logistycznej, własności. Metoda Cauchy ego i Newtona dla regresji logistycznej jeśli będzie, to w zadanie zostaną podane wzory (nie uczyć się na pamięć!). Funkcja zawiasowa jej postać, własności. Rozwiązanie prostych problemów klasyfikacji z błędem 0/1, logistycznym, zawiasowym. 22 / 25

Stochastyczny gradient Idea metody, różnica w stosunku do metody spadku wzdłuż gradientu (Cauchy ego), zalety i wady. Policzeniu kroku w metodzie stochastycznego gradientu z prostą funkcją błędu (np. zawiasowy)! 23 / 25

Heurystyki Minima lokalne, globalne, wypukłość (bez dowodów). Zalety i wady metod: greedy, steepest, SA, TS. Umiejętność wykonania kroku dla każdej z tych metod dla zadanego problemu przy odpowiednio zdefiniowanym sąsiedztwie. 24 / 25

Koniec na dzisiaj :) 25 / 25