Techniki optymalizacji

Podobne dokumenty
Optymalizacja. Przeszukiwanie lokalne

Optymalizacja. Wybrane algorytmy

Algorytmy metaheurystyczne podsumowanie

Metody Optymalizacji: Przeszukiwanie z listą tabu

Wybrane podstawowe rodzaje algorytmów

Przeszukiwanie lokalne

Techniki optymalizacji algorytmy metaheurystyczne

Techniki optymalizacji

Heurystyki. Strategie poszukiwań

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

Techniki optymalizacji

Metody Programowania

Zaawansowane programowanie

SZTUCZNA INTELIGENCJA

Techniki optymalizacji

Tabu Search (Poszukiwanie z zakazami)

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

Wstęp do Sztucznej Inteligencji

Metody przeszukiwania

Schemat programowania dynamicznego (ang. dynamic programming)

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Programowanie dynamiczne cz. 2

Algorytm genetyczny (genetic algorithm)-

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

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

Techniki optymalizacji

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Algorytmy i struktury danych

Zadania laboratoryjne i projektowe - wersja β

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

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

Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson)

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Planowanie drogi robota, algorytm A*

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Przykłady problemów optymalizacyjnych

Metody Rozmyte i Algorytmy Ewolucyjne

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Szeregowanie zadań. Wykład nr 2. dr Hanna Furmańczyk. 12 października 2014

Optymalizacja. Symulowane wyżarzanie

Metody numeryczne I Równania nieliniowe

ALGORYTMY GENETYCZNE ćwiczenia

Optymalizacja. Przeszukiwanie tabu

Tomasz M. Gwizdałła 2012/13

Algorytmiczna teoria grafów

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

Wykład 4. Droga i cykl Eulera i Hamiltona

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ

Definicja problemu programowania matematycznego

Podstawy teoretyczne algorytmów metaheurystycznych. Andrzej Jaszkiewicz

Optymalizacja ciągła

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

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Algorytmy ewolucyjne 1

9. Schematy aproksymacyjne

5. Rozwiązywanie układów równań liniowych

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

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

TEORETYCZNE PODSTAWY INFORMATYKI

Optymalizacja. Przeszukiwanie tabu

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

ZAGADNIENIE TRANSPORTOWE

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

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

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

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

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

Algorytmy i struktury danych.

Zaawansowane programowanie

Algorytmy genetyczne

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Algorytmy genetyczne

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD V: Agent wciąż szuka rozwiązania (choć już nie na ślepo)

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

Algorytm simplex i dualność

Aproksymacja funkcji a regresja symboliczna

Klasyczne zagadnienie przydziału

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

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Algorytmy ewolucyjne (3)

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

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

Wielokryteriowa optymalizacja liniowa

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

Algorytmika Problemów Trudnych

Matematyczne Podstawy Informatyki

Grupowanie. Iteracyjno-optymalizacyjne metody grupowania Algorytm k-średnich Algorytm k-medoidów. Eksploracja danych. Grupowanie wykład 2

Metody optymalizacji dyskretnej

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

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

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data / EC3 VIII LAB...

Transkrypt:

Techniki optymalizacji Dokładne algorytmy optymalizacji Maciej Hapke maciej.hapke at put.poznan.pl

Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem minimalizacji bądź maksymalizacji i charakteryzuje się zbiorem instancji Instancja jest parą (S, f) S oznacza skończony zbiór wszystkich możliwych rozwiązań f jest odwzorowaniem definiowanym jako f : S R

Minimalizacja W przypadku minimalizacji należy znaleźć takie rozwiązanie i opt S które spełnia f (i opt ) f(i) dla wszystkich i S

Maksymalizacja W przypadku maksymalizacji należy znaleźć takie rozwiązanie i opt S które spełnia f (i opt ) f(i) dla wszystkich i S Takie rozwiązanie i opt jest nazywane globalnie optymalne (minimalne lub maksymalne)

Klasyfikacja algorytmów algorytmy optymalizacyjne dokładne przeszukiwanie wyczerpujące (exhaustive), podziału i ograniczeń (B&B), programowanie dynamiczne algorytmy heurystyczne specjalizowane losowego przeszukiwania (random search) lokalnego przeszukiwania i odmiany symulowane wyżarzanie przeszukiwanie tabu genetyczne hybrydy

Klasyfikacja algorytmów (2) Ponadto w obu klasach można wyróżnić algorytmy ogólne (general algorithms) niezależne od rozwiązywanego problemu (np. B&B) oraz algorytmy dopasowywane (tailored algorithms) wykorzystujące specyficzną wiedzę o problemie (np. heurystyki priorytetowe w szeregowaniu)

Co jest potrzebne do zaprojektowania algorytmu Reprezentacja rozwiązania Cel Funkcja oceny

Reprezentacja rozwiązania Ciąg binarny, np. SAT Reprezentacja zmiennoprzecinkowa, np. programowanie nieliniowe Permutacja, np. TSP, QAP Macierz Drzewo

Exhaustive search Wymaga wygenerowania i sprawdzenia każdego rozwiązania dopuszczalnego wady oczywiste Zaleta proste Jedyne wymaganie systematyczny sposób przeszukiwania S Jak to zrobić, zależy od reprezentacji

Exhaustive search - SAT 0000 0 0001 1 0010 2 0011 3... Ale można inaczej dzieląc S. Jak?

Exhaustive search - SAT (2) Wielokrotny podział na dwie przestrzenie, x 1 = T, x 1 = F,... x 1 =T x 1 =F x 2 =T x 2 =F x 2 =T x 2 =F

Exhaustive search - TSP Permutacja dopuszczalna, np. nie 1-2-3-1-4 Liczba permutacji n! Rekurencyjne generowanie permutacji ustalenie pierwszej pozycji generowanie (n-1)! permutacji dla ustalonej pierwszej pozycji...

Branch & Bound

Przeszukiwanie losowe

Modelowanie i metaheurystyki Przeszukiwanie lokalne

Idea sąsiedztwa S x N(x)

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

Definicja sąsiedztwa (2) zakładamy, że y N(x) x N(y) N(x) można uzyskać z x wykonując jeden ruch (modyfikację) m z pewnego zbioru możliwych ruchów M(x) ruch m jest pewną transformacją, która zastosowana do rozwiązania x daje rozwiązanie y Sąsiedztwo można więc zdefiniować następująco: N(x) = {y m M(x) y = m(x)}

Cechy sąsiedztwa ograniczenie na rozmiar dla każdego x jego N(x) zawiera co najmniej jedno rozwiązanie y rożne od x nie może obejmować całej przestrzeni rozwiązań dopuszczalnych (nie może być dokładna) 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 powinno być osiągalne każde rozwiązanie należące do S

Przykład sąsiedztwa - TSP k-zamiana (ang. k-swap, k-opt) N(x) zbiór rozwiązań powstałych przez usunięcie k miast i wstawienie ich w innej kolejności 2-zamiana, 2-opt 1 2 3 4 5 6 7 8 9 1 2 8 4 5 6 7 3 9 N(x) = n(n-1)/2

Sąsiedztwo TSP wymiana miast 1 2 3 4 5 6 7 8 9 N 2 (3, 8) 1 2 8 4 5 6 7 3 9

Sąsiedztwo TSP wymiana łuków N 2 (3, 8) 1 2 3 4 5 6 7 8 9 1 2 8 7 6 5 4 3 9

2-opt i 3-opt

Sąsiedztwo QAP zamiana lokalizacji 1-2-3 1-3-2 b 1 1 1 3 b 23 3 2 b 12 b 12 b a 12 13 2 a 13 a 23 3 b 23

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

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

Lokalne optimum x min jest lokalnym minimum jeśli f(x min ) f(j), dla wszystkich j N(x min ) x max jest lokalnym maksimum jeśli f(x max ) f(j), dla wszystkich j N(x max )

Lokalne przeszukiwanie Wersja zachłanna Wygeneruj rozwiązanie x powtarzaj dla każdego y N(x) w losowej kolejności jeżeli f(y) > f(x) to x := y dopóki nie znaleziono lepszego rozwiązania Wersja stroma Wygeneruj rozwiązanie x powtarzaj znajdź najlepsze rozwiązanie y N(x) to jeżeli f(y) > f(x) x := y dopóki nie znaleziono lepszego rozwiązania

Efektywność lokalnego przeszukiwania więcej rozwiązań jest ocenianych niż akceptowanych wersja stroma wersja zachłanna ocena rozwiązań sąsiednich jest operacją krytyczną z punktu widzenia efektywności algorytmu

Efektywność lokalnego przeszukiwania Bezpośrednia implementacja algorytmów LS okazuje się dla wielu typowych problemów bardzo nieefektywna Rozwiązania należące do sąsiedztwa są jawnie konstruowane przed ich oceną kosztowna operacja Większość ocenionych rozwiązań nie zostaje akceptowana - nie warto ich jawnie konstruować, wystarczy znać ich wartość f. celu

Efektywność lokalnego przeszukiwania Czy można obliczyć wartość f. celu bez konstrukcji rozwiązania? f m (x)

Efektywne przeglądanie sąsiedztwa Wersja stroma Wygeneruj rozwiązanie x powtarzaj znajdź najlepszy ruch m M(x) to jeżeli f(m(x)) > f(x) x := m(x) dopóki nie znaleziono lepszego rozwiązania Ocenia się ruchy, nie rozwiązania! Rozwiązania sąsiednie nie muszą być jawnie konstruowane!

Ocena ruchów problem komiwojażera (TSP) Ocena ruchu: Różnica kosztów dwóch dodawanych i dwóch usuwanych łuków

Efektywne obliczanie kosztu zamiany - TSP

Problem marszrutyzacji pojazdów (VRP) Należy odwiedzić wszystkie wierzchołki korzystając ze zbioru pojazdów

Ocena ruchów vehicle routing problem (VRP) Należy przeliczyć koszty tylko dwóch tras

Efektywne obliczanie kosztu zamiany - VRP

Efektywne ocenianie ruchów Większość ruchów jest tylko oceniana, a nie wykonywana Ocena ruchu wymaga zmodyfikowania dwóch tras Nakład na ocenienie ruchu 2 Złożoność jednej iteracji 2 W(T-1)

Wykorzystanie ocen ruchów z poprzednich iteracji Dla y N(x) z reguły N(x) N(y)= lub N(x) N(y) << N(x) Ale M(x) M(y) może być liczny tzn. wiele ruchów pozostaje takich samych po wykonaniu ruchu

Wykorzystanie ocen ruchów, z poprzednich iteracji A B Ruch zaakceptowany w poprzedniej iteracji Ruch oceniony w poprzedniej iteracji Oceny wszystkich ruchów nie dotyczących tras A i B pozostają te same

Wykorzystanie ocen ruchów, z poprzednich iteracji W wersji zachłannej redukcja jest mniejsza ponieważ nie wszystkie ruchy musiały być przejrzane w poprzedniej iteracji W wersji zachłannej można pomijać ruchy ocenione w poprzedniej iteracji gdyż wiadomo, że nie przynoszą one poprawy

Pomijanie złych ruchów na podstawie reguł heurystycznych Technika znana także pod nazwą candidate moves ruchy kandydackie W sąsiedztwie ocenia się ruchy kandydackie Pozostałe ruchy pomija się lub ocenia się z niewielkim prawdopodobieństwem

Pomijanie złych ruchów na podstawie reguł heurystycznych TSP dla każdego wierzchołka tworzymy listę N << N najbliższych wierzchołków Ruchy kandydackie wprowadzają tylko łuki prowadzące do najbliższych wierzchołków

Pomijanie złych ruchów na podstawie reguł heurystycznych W VRP można rozważać tylko ruchy pomiędzy blisko położonymi trasami 700 600 500 400 300 200 Base Dum ping sites Route of vehicle 1 Route of vehicle 2 Route of vehicle 3 100 0 0 100 200 300 400 500 600

Pomijanie złych ruchów na podstawie reguł heurystycznych Ruchy złe i kandydackie mogą być identyfikowane na podstawie działania metody wyższego rzędu Pamięć długoterminowa w Lista dobrych łuków w TSP Lista łuków występujących w ruchach przynoszących poprawę Wykorzystanie informacji z operatorów rekombinacji Np. do ruchów kandydackich zalicza się ruchy wprowadzające łuki występujące o dowolnego z rodziców (nawet jeżeli nie znalazły się one w potomku)

Techniki zaawansowane Np. przeglądanie sąsiedztwa o rozmiarze wykładniczym w czasie wielomianowym Wygeneruj rozwiązanie x powtarzaj znajdź najlepszy ruch m M(x) jeżeli f(m(x)) > f(x) to x := m(x) dopóki nie znaleziono lepszego rozwiązania Problem optymalizacji

Wady kończą działanie w optimum lokalnym (poza przypadkiem dokładnej struktury sąsiedztwa) dokładne sąsiedztwa są w większości przypadków nie praktyczne ponieważ sprowadzają się do kompletnego przeszukania przestrzeni rozwiązań dopuszczalnych, jakość rozwiązań w dużej mierze zależy od wyboru rozwiązania startowego dla większości problemów nie ma żadnych wskazań do tego jak odpowiednio wybrać rozwiązanie startowe

Zalety są elastyczne można stosować dla każdego problemu optymalizacji kombinatorycznej

Unikanie wad algorytmów lokalnego przeszukiwania wprowadzenie bardziej złożonej definicji sąsiedztwa w celu możliwości przeszukania większej części przestrzeni rozwiązań dopuszczalnych ograniczone akceptowanie pogorszeń funkcji celu wykonanie algorytmu lokalnego przeszukiwania dla dużej liczby rozwiązań startowych dobre rozwiązania startowe

Dobre rozwiązania startowe Heurystyki NN (Nearest Neighbor) Iteracyjne dodawanie do trasy najbliżej leżącego miasta. Greedy Trasa jest budowana tak, że zawsze tworzy cykl Hamiltona. W każdej iteracji dodawany jest jeden najkrótszy łuk z pozostałych dostępnych. Clarke-Wright Na początku każde miasto połączone z bazą, potem iteracyjna eliminacja takiego połączenia z bazą (przejazd bezpośrednio do miasta), która da największe oszczędności

Algorytm Lina-Kernighana LK search Od 1973 do 1989 najlepszy algorytm, i ciągle w czołówce Nowa implementacja LK rozwiązuje w 50 min instancje z 1 000 000 miast Bazuje na ruchach 2-opt z restrykcjami

Algorytm Lina-Kernighana LK search Ścieżka Hamiltona (nie cykl) Podtrasa krótsza od najlepszej znalezionej do tej pory

Lokalne przeszukiwanie Porównanie wersji zachłannej i stromej Podobieństwa Przeglądają N(x) Dochodzą do lokalnego optimum Różnice Stromy szuka najlepszego Zachłanny pierwszy lepszy