Pobierz
Transkrypt
Pobierz
Podstawy teoretyczne algorytmów metaheurystycznych Andrzej Jaszkiewicz Iteracyjna poprawa Wygeneruj i oceń początkową populację X Powtarzaj Na podstawie populacji X oraz jej ocen wygeneruj i oceń populację X’ Z X X’ wybierz nową populację X Do momentu spełnienia warunków stopu Iteracyjna poprawa z pamięcią Intensyfikacja i dywersyfikacja Zainicjuj pamięć M Wygeneruj i oceń początkową populację X Uaktualnij M na podstawie X Powtarzaj Na podstawie populacji X, jej ocen oraz pamięci M wygeneruj i oceń populację X’ Uaktualnij M na podstawie X’ Z X X’ wybierz nową populację X Do momentu spełnienia warunków stopu Zainicjuj pamięć M Wygeneruj i oceń początkową populację X Uaktualnij M na podstawie X Powtarzaj Na podstawie populacji X, jej ocen oraz pamięci M wygeneruj i oceń populację X’ Uaktualnij M na podstawie X’ Z X X’ wybierz nową populację X Do momentu spełnienia warunków stopu Metaheurystyki jako szkielety algorytmów Zastosuj operator generowania rozwiązań początkowych Zainicjuj pamięć M Wygeneruj i oceń początkową populację X Uaktualnij M na podstawie X Zastosuj operatory konstruowania Nowych rozwiązań Powtarzaj Na podstawie populacji X, jej ocen oraz pamięci M wygeneruj i oceń populację X’ Uaktualnij M na podstawie X’ Z X X’ wybierz nową populację X Do momentu spełnienia warunków stopu Twierdzenie „No free lunch” (nic za darmo) Model wyroczni Rozwiązanie, np. ciąg 0 i 1 Wyrocznia nieznana funkcja f(x) Wartość f(x) 1 Programistyczna interpretacja modelu wyroczni Optymalizacja funkcji zawartej w wyroczni double function (TVector Solution) { // Nieznana implementacja ... } Rozwiązanie, np. ciąg 0 i 1 Wyrocznia nieznana funkcja f(x) Wartość f(x) Algorytm A Założenia twierdzenia NFL Przestrzeń rozwiązań jest skończona (np. wektor 0 i 1 o stałej długości). Liczba możliwych wartości funkcji jest skończona. Wyrocznia działa deterministycznie zwracając wynik pewnej funkcji. 1. 2. 3. Twierdzenie „No free lunch” Z 1, 2 i 3 wynika, że liczba funkcji, które mogą znajdować się w wyroczni jest skończona. Każda z możliwych funkcji ma równe prawdopodobieństwo wystąpienia w wyroczni !!! Nie posiadamy, żadnej dodatkowej wiedzy na temat funkcji f(x). Algorytm A generuje rozwiązania bez powtórzeń. 4. 5. 6. Algorytm A jako reguła generowania nowych rozwiązań Sensowna miara jakości Każda miara bazująca na wartościach wszystkich rozwiązań wygenerowanych przez algorytm A. Np.: najlepsze wygenerowane rozwiązanie, średnia wartość N najlepszych rozwiązań, średnia wartość wygenerowanych rozwiązań, Każdy algorytm A zastosowany do optymalizacji funkcji zawartej w wyroczni w zadanej liczbie iteracji da tę samą wartość oczekiwaną dowolnej sensownej miary jakości uzyskanych rozwiązań. Rozwiązanie wygenerowane w i-tej iteracji: xi = A(x1,f(x1), x2,f(x2),..., xi-1,f(xi-1)) ale nie: średnia wartość rozwiązań w aktualnej populacji, średnia wartość rozwiązań w końcowej populacji. 2 Intuicyjny „dowód” Dwie zmienne binarne x1 i x2. Rozwiązanie to wektor [x1, x2]. Funkcja celu przejmuje tylko dwie wartości 0 i 1. Wszystkie możliwe funkcje celu x1 x2 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 x1=[0,0] f(x1)=0 x2=[1,0] f(x1)=0 Metaheurystyki a maszynowe uczenie na bazie twierdzenia NFL Analogie Jakie założenia twierdzenia NFL mogą nie być spełnione w praktyce? Cel: ML - klasyfikacja, MH - generowanie ML: założenie opis dyskryminujący, MH chyba nie istotne MH - uporządkowanie wartość funkcji celu Wiedza nt. problemu może być zawarta w operatorach Generowania rozwiązań początkowych Sąsiedztwa Rekombinacji Konstrukcji rozwiązań z wykorzystaniem pamięci Konkretny problem może nie dopuszczać wszystkich funkcji Prawdopodobieństwo wystąpienia poszczególnych funkcji nie musi być równe Konkretny problem może nie dopuszczać wszystkich funkcji Algorytm A jako reguła generowania nowych rozwiązań xi = A(x1,f(x1), x2,f(x2),..., xi-1,f(xi-1)) Nowe rozwiązania są generowane przez operatory: Wiedza nt. problemu może być zawarta w operatorach Każda z możliwych funkcji ma równe prawdopodobieństwo wystąpienia w wyroczni !!! Różnice Nie posiadamy, żadnej dodatkowej wiedzy na temat funkcji f(x). rozwiązania - obiekty, przypadki wygenerowane rozwiązania - przypadki uczące wartość funkcji celu - klasa decyzyjna reguła/algorytm - mechanizm klasyfikacji wiedza - wiedza Przykład f(x1, x2) = w1 x1 w2 x2 w1 , w2 {0,1} w1=0, w2=0 w1=0, w2=1 w1=1, w2=0 w1=1, w2=1 x1 x2 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 3 Prawdopodobieństwo wystąpienia poszczególnych funkcji nie musi być równe P(w1=1) = 0.8, P(w2=1) = 0.8 P(f = f1) = 0.04 P(f = f4) = 0.16 P(f = f6) = 0.16 P(f = f8) = 0.64 Czym są metaheurystyki? Szybkość generowania rozwiązań Twierdzenie NFL odnosi się od liczby wygenerowanych rozwiązań a nie do czasu. Rola operatorów Eksperyment Boese Kahng i Muddu (1994) dla problemu komiwojażera Metaheurystyki to algorytmy działające na problemach spełniających pewne założenia (mających pewne cechy) często spotykane w „praktyce” Szkielet algorytmu metaheurystyki nie odwołuje się do reprezentacji rozwiązań – odwołują się do niej tylko operatory Cechy problemów, które powodują, że nadają się one do stosowania metaheurystyk zależą więc od operatorów, a nie od samego problemu Operatory są bardzo ważne ! Czy dla każdego problemu da się zdefiniować właściwy zestaw operatorów? Symetryczny problem komiwojażera - TSP Instancje o rozmiarach 100 i 500 miast 2500 „losowych” optimów lokalnych uzyskanych za pomocą lokalnego przeszukiwania w wersji zachłannej Miara podobieństwa rozwiązań – liczba wspólnych łuków Badanie relacji pomiędzy wzajemnym podobieństwem optimów lokalnych a ich jakością 4 Przykładowe lokalne optimum Inne lokalne optimum Porównanie rozwiązań Wspólne łuki w obu rozwiązaniach Wyniki dla 100 miast Wyniki dla 500 miast 5 Inne obserwacje Średnia spodziewana odległość dwóch losowych rozwiązań to N-2 (dwa wspólne łuki) Dla stu miast maksymalna odległość to 48 (52 wspólne łuki) Wszystkie optima lokalne są zawarte w „kuli” o średnicy 48. Kula to obejmuje 1/1059 rozwiązań Dla 500 miast: średnica „kuli” 243, 1/10468 rozwiązań Globalna wypukłość instancji (problemu?) korelacja jakość-odległość Chociaż jednocześnie Globalnie wypukła funkcja jednej zmiennej ciągłej Wiele rozwiązań podobnych do dobrych może mieć złą wartość funkcji celu Globalna wypukłość zależy od sposobu pomiaru podobieństwa rozwiązań Globalna wypukłość w innych problemach Jak globalna wypukłość tłumaczy działanie metaheurystyk Instancja jest globalnie wypukła jeżeli jakość rozwiązań jest pozytywnie skorelowana z ich wzajemną odległością Dobre rozwiązania są do siebie podobne Problem podziału grafu Boese Kahng i Muddu (1994) Problem kwadratowego przydziału Merz, Freisleben (2000) Problem marszrutyzacji pojazdów Jaszkiewicz, Kominek (2000, 2003) Problem marszrutyzacji pojazdów Kubiak (2004) ... Intuicyjnie oczywista dla wielu problemów Problemy „globalnie płaskie” Symulowane wyżarzanie, przeszukiwanie tabu – model podrzucania piłeczki Operatory rekombinacji – konstrukcja nowych rozwiązań łączących cechy (a więc podobnych do) rodziców Podobieństwo nie gwarantuje jednak wysokiej jakości – przydatna może być lokalna poprawa 6 Twierdzenie o schematach Hollanda Fitness distance correlation FDC Podejście podobne do testowania globalnej wypukłości Odległość od optimum globalnego Oryginalnie zakładano kodowanie 0-1 Występowanie wspólnego schematu w krzyżowanych rozwiązaniach świadczy o ich podobieństwie 010010111 011010101 01*0101*1 – wspólny schemat Entropia w zbiorze optimów lokalnych Miara entropii Cechy lokalne Efektywność lokalnego przeszukiwania Dla TSP lokalne optimum osiąga się w średnio N iteracjach, gdzie N to liczba miast Głębokość i szerokość optimów lokalnych Różne klasy instancji: Losowe jednorodne Nielosowe jednorodne Rzeczywiste Ruggedness (chropowatość) – współczynnik autokorelacji Operatory sąsiedztwa dla problemu komiwojażera Wymiana dwóch miast Rozwiązania sąsiednie różnią się czterema łukami Wymiana dwóch łuków Średnia różnica wartości sąsiednich rozwiązań jest więc większa w pierwszym przypadku Niezależność od skalowania funkcji celu Rozwiązania sąsiednie różnią się dwoma łukami 7 Współczynnik autokorelacji a rozmiar sąsiedztwa Operator wymiany trzech łuków dla problemu komiwojażera Co daje metaheurystykom wiedza o omówionych cechach problemów? Znaczenie kodowania, sąsiedztwa, rekombinacji Metody motywowane globalną wypukłością: Adaptive multi-start local search Heuristic concentration GRASP Operatory rekombinacji zachowujące dystans Zachowywanie dystansu = zachowywanie wspólnych cech rodziców Potomek zawiera wszystkie cechy wspólne u obu rodziców. Reszta jest uzupełniana losowo lub heurstycznie. Operatory rekombinacji zachowujące dystans Dobór sąsiedztwa o niskim współczynniku autokorelacji Kiedy warto stosować metaheurystyki? Globalna struktura, trendy Lokalny charakter funkcji Obszar, z którego generowany jest potomek Rodzice Metaheurystyki w praktyce Uzyskanie w praktyce dobrych wyników przy zastosowaniu metaheurystyk nie jest ani oczywiste, ani łatwe Naukowe i inżynierskie podejście do adaptacji metaheurystyk do konkretnego problemu O rany!. Problem optymalizacji. Co by tu wymyślić? Problem optymalizacji. Do pracy. Najlepsze adaptacje metaheurystyk dla klasycznych (prostych w definicji problemów) bazują na wynikach nawet kilkudziesięciu lat badań (np. TSP) Algorytmy bazujące na metaheurystykach muszą być konkurencyjne dla innych metod np. solverów programowania matematycznego 8 Systematyczna/inżynierska konstrukcji efektywnych algorytmów optymalizacji Case study – zarządzanie satelitami obserwacyjnymi Skonstruuj efektywną metodę lokalnego przeszukiwania Sformułuj hipotezy co do istotnych cech rozwiązań Wykonaj testy korelacji jakość-odległość dla różnych miar podobieństwa – różnych cech rozwiązań Jeżeli obserwujesz korelację dla pewnych cech, to zaprojektuj operator rekombinacji zachowujący istotne cechy rodziców i zastosuj hybrydowy algorytm ewolucyjny Opis problemu Zamówienia – zbiory zdjęć Zdjęcia zwykłe – wymagane jedno ujęcie Zdjęcia stereo (3D) – wymagane dwa ujęcia Dane zdjęcie można wykonać na dwa sposoby (ujęcia) w zależności od kierunku ruchu kamery Zysk z realizacji zlecenia zależy w sposób nieliniowy od zrealizowanej powierzchni zlecenia Opis problemu Dla każdego ujęcia istnieje najwcześniejszy i najpóźniejszy czas rozpoczęcia wynikający z pola widzenia satelity – okno czasowe Każdego ujęcie ma czas realizacji Przełączanie się pomiędzy ujęciami zajmuje znaczący czas zależny od ich położenia Analogie z klasycznymi problemami Cel Wybrać zdjęcia (ujęcia) i ustalić plan ich realizacji maksymalizujący zysk Problem plecakowy – wybór zdjęć Bardziej skomplikowane ograniczenia i obliczanie funkcji celu Szeregowanie zadań – szeregowanie zadań na jednej maszynie z czasami przełączania i oknami czasowymi Celem (bezpośrednim) nie jest minimalizacja czasu realizacji Nie wszystkie zadania muszą być zrealizowane, większość nie jest 9 Analogie z klasycznymi problemami Problem komiwojażera– zadania to miasta, czasy przełączania to czasy przejazdu pomiędzy miastami Analogie z innymi problemami Nie wszystkie zadania muszą być zrealizowane, większość nie jest Dochodzą czasy realizacji zdjęć Nie wszystkie zadania muszą być zrealizowane, większość nie jest Zasada propagowania ograniczeń czasowych Kodowanie rozwiązania Problem planowania wycieczki - zadania to odwiedzane miejsca, czasy przełączania to czasy przejazdu, czasy realizacji zdjęć do czasy pobytu, okna czasowe – dla atrakcji czasowych Marszrutyzacja pojazdów (vehicle routing) – zadania to miasta, czasy przełączania to czasy przejazdu pomiędzy miastami, czasy realizacji zdjęć do czasy załadunku/rozładunku, okna czasowe załadunku/rozładunku Uporządkowana lista (sekwencja) wybranych ujęć Wynikają z tego okna czasowe czasu rozpoczęcia Oryginalne okna czasowe Czas realizacji i przełączenia Czas Okna czasowe Czas Konstrukcja rozwiązania początkowego Specjalizowana heurystyka zachłanna motywowana heurystykami dla problemu plecakowego W danym kroku wstawiane jest jedno ujęcie Wybierane jest ujęcie i miejsce o najlepszym stosunku wzrostu zysku do zajętego czasu Zajęty czas uwzględnia realizację ujęcia i czasy przełączania Przybliżone (liniowe) obliczanie zysku Okna czasowe pozwalają zredukować zakres przeszukiwań Pewna liczba początkowych ujęć jest wstawiana losowo Wstawianie ujęcia Czas Czas 10 Lokalna optymalizacja Trudny problem! Ruch – wstawienie ujęcia w najlepszym, tj. dającym największy wzrost zysku, miejscu połączone z usunięciem niezbędnych ujęć Zysk jest obliczany dokładnie Okna czasowe pozwalają zredukować zakres przeszukiwań Proste rozszerzenia lokalnego przeszukiwania – przeszukiwanie tabu i lokalne przeszukiwanie ze zmiennym sąsiedztwem (variable neighborhood search) nie dają zauważalnej poprawy wyników ... lub słabe sąsiedztwo Czas Hipotezy co do istotnych cech Wybrane ujęcia Zamówienia wybrane do realizacji – zrealizowana powierzchnia A B A B E C E J C J Hipotezy co do istotnych cech K K A D F E C B A D F E C B A D F E C B Pary sąsiednich ujęć A B E C J B E C J K A D F E C B Okna czasowe rozpoczęcia – odległość pomiędzy punktami centralnymi Kolejność par ujęć A K Okna w rozwiązaniu 1 Okna w rozwiązaniu 2 A B A B Czas Pierwsze podejście Dla danego rozwiązania średnia odległość od wszystkich lepszych rozwiązań Ujęcia Łuki 0.7 0.4 0.3 0.2 1 0.98 0.2 0.15 0.1 0.96 0.94 0.92 0.9 0.88 0.05 0.1 Dla danego rozwiązania średnia odległość pomiędzy wszystkimi nie gorszymi rozwiązaniami 1.02 0.25 0.5 Podobieństwo Podobieństwo 0.6 Sekwencje 0.3 Podobieństwo Drugie podejście 0.86 0 0 0.84 6.00E+08 6.50E+08 7.00E+08 7.50E+08 8.00E+08 8.50E+08 9.00E+08 6.00E+08 6.50E+08 7.00E+08 7.50E+08 8.00E+08 8.50E+08 9.00E+08 6.00E+08 6.50E+08 7.00E+08 7.50E+08 8.00E+08 8.50E+08 9.00E+08 Zysk Zysk Zysk 11 Przykładowe wyniki – jedna instancja 0.6 0.5 7 16000 6 14000 12000 5 0.4 10000 4 0.3 8000 3 0.2 6000 2 0.1 1 0 0 6.00E+08 7.00E+08 8.00E+08 9.00E+08 Ujęcia 0.07 4000 2000 0 6.00E+08 7.00E+08 8.00E+08 9.00E+08 Zamówienia – zrealizowana powierzchnia 0.965 0.96 0.955 0.95 0.945 0.94 0.935 0.93 0.925 0.92 0.06 0.05 0.04 0.03 0.02 0.01 0 6.00E+08 7.00E+08 8.00E+08 9.00E+08 Łuki Sekwencje Selected acquisitions Zamówienia – procent realizacji 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 6.00E+08 7.00E+08 8.00E+08 9.00E+08 Instance code 6.00E+08 7.00E+08 8.00E+08 9.00E+08 2_13_111 4_17_186 3_25_22 2_15_170 2_26_96 2_27_22 0.972 0.929 0.933 0.927 0.902 0.885 Requests selected for realization (normalized surface) Requests selected for realization (surface) Pairs of consecutive selected acquisitions Sequences of pairs of selected acquisitions 0.952 -0.119 0.848 0.945 0.920 0.933 0.978 -0.276 0.959 0.946 0.887 0.845 0.936 0.855 0.918 0.937 0.866 0.603 0.981 0.775 0.907 0.978 0.874 0.942 Wielokrotne lokalne przeszukiwanie Operator rekombinacji powinien zachowywać wspólne + wspólne ujęcia + wspólne sekwencje + wspólne łuki Operator rekombinacji i hybrydowy algorytm ewolucyjny Znacząca poprawa wyników w stosunku do lokalnego przeszukiwania mimo małego prawdopodobieństwa poprawy rozwiązania w danym kroku Długi czas obliczeń dla dużych instancji Duży rozrzut wyników dla dużych instancji + okna czasowe GLS operator D GLS operator C + okna czasowe Rozwiązanie jest uzupełniane poprzez heurystykę wstawiania ujęć Lokalna optymalizacja jest uruchamiana z prawdopodobieństwem 2.5% Wspólne łuki nie mogą być rozrywane Algorytm z pełną elitarnością Obserwacje: GLS operator A GLS operator B Używany w konkursie 0.965 0.922 0.875 0.938 0.781 0.713 Seria operatorów rekombinacji na bazie heurystyki dla rozwiązań początkowych Ujęcia (zapewnia zachowanie zamówień) Sekwencje Łuki Okna czasowe (tj. ograniczać je) 0.966 0.212 0.853 0.930 0.824 0.561 6.00E+08 7.00E+08 8.00E+08 9.00E+08 Starting time windows Starting time (normalized windows distances) (distances) Okna czasowe znormalizowane Wnioski Korelacje GLS operator E + wspólne sekwencje i łuki Usprawnienie lokalnego przeszukiwania Ograniczona liczba przeglądanych ruchów Rozważane jest wstawienie wszystkich ujęć, które występowały w przynajmniej jednym rodzicu Wstawienie pozostałych ujęć jest rozważane z prawdopodobieństwem 10% Obserwacje Zadowalający czas obliczeń Duży rozrzut wyników dla dużych instancji Niewielka poprawa rozrzutu wyników przy zwiększaniu rozmiaru populacji 12 Model wyspowy populacji Wyniki konkursu – operator C Team 1 (best) 2 3 4 5 (Author) 6 7 8 9 10 11 Populacja 1 Najlepsze rozwiązanie Najlepsze rozwiązanie Populacja 3 Populacja 2 Najlepsze rozwiązanie Obserwacje Zadowalający czas obliczeń Mniejszy rozrzut wyników przy braku poprawy najlepszych wyników Porównanie operatorów Wielokrotne lokalne przeszukiwanie 21.68 (1.811) 4500 4000 3500 + wspólne ujęcia + wspólne sekwencje GLS operator B 29.84 (0.783) GLS operator A 26.44 (1.488) 2500 2000 1500 + okna czasowe 353 369 385 385 337 369 321 353 305 289 273 257 241 225 209 193 177 161 145 97 129 81 113 65 1 49 GLS operator D 28.62 (1.067) 9.50E+08 9.00E+08 8.50E+08 8.00E+08 Źródło problemu – fabryki Renault Zbiór rozróżnialnych pojazdów do ustawienia w sekwencji Pojazd = id + kolor + własności binarne Ograniczenie twarde: maksymalna długość ciągłej podsekwencji jednego koloru Ograniczenia miękkie: konieczne wyrównywanie proporcji pojazdów o danych własnościach w sekwencji Cel: minimalizacja kosztów lakierowania i montażu Uwaga: pojazdy daje się pogrupować! 7.50E+08 337 321 305 289 273 257 241 225 209 193 177 161 145 129 113 97 81 7.00E+08 65 + wspólne sekwencje i łuki 49 GLS operator E 30.19 (0.749) Ustawianie pojazdów na linii montażu – ROADEF challenge 2005 500 33 + okna czasowe 1000 17 + wspólne łuki 3000 0 GLS operator C 29.96 (0.723) Czas i jakość wyników lokalnego przeszukiwania 1 33 17 Evaluation 31.76 30.84 30.28 30.1 29.91 29.88 29.84 29.69 29.22 29.08 23.56 Idea wyrównywania proporcji (ograniczenia miękkie) RC1 : N 1 D 3 13 Hipotezy co do istotnych cech Przykładowe wyniki: wspólne pozycje Przypisanie indeksów grup do określonych pozycji w sekwencji Występowanie indeksów grup pojazdów w takich samych podsekwencjach Przykładowe wyniki: wspólne sekwencje Wnioski Krzyżowanie zachowujące losowo wspólne sekwencje Nie warto zachowywać wspólnych pozycji (brak korelacji z jakością) Warto zachowywać wspólne podsekwencje Wyniki obliczeń 14 Specyficzny problem marszrutyzacji pojazdów (vehicle routing) 700 Badane miary odległości (cechy) 600 500 Base Dumping sites 400 Route of vehicle 1 300 Route of vehicle 2 Route of vehicle 3 200 100 Procent wspólnych łuków Procent wierzchołków przydzielonych do tych samych pojazdów Procent łuków przydzielonych do tych samych pojazdów Procent par wierzchołków przydzielonych razem do jednej trasy 0 0 100 200 300 400 500 600 34 32 30 28 26 24 22 20 380000 430000 480000 530000 6.5 6 5.5 5 4.5 4 3.5 380000 430000 430000 480000 530000 Cost 480000 530000 The percentage of common pairs of sectors assigned together The percentage of common assignments of arcs to vehicles Cost 2.3 2.1 1.9 1.7 1.5 1.3 1.1 0.9 0.7 380000 Wyniki Cost [-] The percentage of common sector assignments to vehicles The percentage of common arcs Wyniki graficznie 160000 150000 SA 140000 130000 EA 120000 110000 GLS2 MSLS GLS GLS3 100000 90000 26 24 22 80000 70000 20 18 16 14 12 380000 Cost 0 430000 480000 530000 20 40 60 80 100 120 140 CPU Time [s] Cost Czas i jakość wyników lokalnego przeszukiwania Vehicle routing problem for an electronic market CPU Time [ms] 2000 1500 1000 500 0 0 200 400 600 Iteration [-] Quality [-] 2500 2000 1500 1000 500 0 0 100 200 300 400 500 600 Iteration [-] 15 Hypotheses about significant features Exemplary results 100 40 90 35 80 30 70 25 60 50 20 40 15 30 10 20 Pairs of orders served within one route Assignment of orders to vehicles Orders served Assignment of pairs of orders to vehicles Orders carried together (for some time) 5 10 0 0 4000 5000 6000 7000 8000 9000 10000 11000 12000 Pairs of orders served within one route 4000 5000 6000 7000 8000 9000 10000 11000 12000 Assignment of orders to vehicles 30 45 40 25 35 20 30 25 15 20 15 10 10 5 5 0 0 4000 5000 6000 7000 8000 9000 10000 11000 12000 Orders served 4000 5000 6000 7000 8000 9000 10000 11000 12000 Assignment of pairs of orders to vehicles 14 12 10 8 6 4 2 Orders carried together 0 4000 Correlations Instance PTP PTC USP PPC PWP SL_50_1000 0,64 0,45 0,89 -0,27 0,47 SL_50_500 0,37 0,65 0,93 0,49 0,80 SL_50_200 0,43 0,57 0,58 0,35 0,60 SL_50_100 0,70 0,50 0,38 0,46 0,79 SL_20_1000 0,66 0,58 0,79 0,10 0,56 SL_20_500 0,42 0,78 0,90 0,52 0,63 SL_20_200 0,55 0,72 0,89 0,62 0,78 SL_20_100 0,66 0,48 0,52 0,56 0,61 PL_50_1000 0,67 0,49 0,74 0,65 0,72 PL_50_500 0,67 0,71 0,79 0,65 0,69 PL_50_200 0,62 0,54 0,61 0,66 0,64 PL_50_100 0,58 0,55 0,50 0,41 0,84 PL_20_1000 0,54 0,76 0,81 0,75 0,78 PL_20_500 0,55 0,73 0,79 0,63 0,77 PL_20_200 0,87 0,77 0,76 0,88 0,85 PL_20_100 0,88 0,74 0,78 0,90 0,91 Average 0,61 0,63 0,73 0,52 0,72 5000 6000 7000 8000 Operatory rekombinacji można projektować systematycznie, a nie metodą prób i błędów Mniej, krótsze i łatwiejsze w implementacji eksperymenty obliczeniowe Rozumiemy dlaczego nasz algorytm działa (lub nie działa) 10000 11000 12000 Series of recombination operators based on the construction heuristic Multiple start local search 10315(285) + common orders GLS operator A 12521(339) + common assignment of orders to vehicles + common pairs of orders served within one route GLS operator B 12716(335) GLS operator D 12590(394) GLS operator E 12675(401) + common pairs of orders served within one route + common assignment of orders to vehicles Ocena algorytmów metaheurystycznych Podsumowanie Cost [-] 9000 Dwukryterialność oceny - jakość vs. czas SA MSLS EA GLS GLS2 GLS3 160000 150000 140000 130000 120000 110000 100000 90000 80000 70000 0 20 40 60 80 100 120 140 CPU Time [s] 16 Ocena algorytmów przy wielkości problemu dążącej do nieskończoności Rozrzut wyników danego algorytmu często maleje wraz ze wzrostem wielkości problemu Ocena algorytmów przy wielkości problemu dążącej do nieskończoności Przy wzroście wielkości instancji maleje do zera prawdopodobieństwo uzyskania różnej kolejności dwóch algorytmów Ranking na płaszczyźnie czaswielkość problemu Najlepszy algorytm dla danego czasu i wielkości Wielkość A B A B Path relinking Przejście ścieżki pomiędzy dwoma rozwiązaniami f Brak C A B Czas Rozwiązanie A Metoda Probe Rodzaj rekombinacji? Ustal pewne elementy wspólne dla obu rozwiązań Ustal pewne elementy różne u obu rozwiązań Ustal pozostałe elementy stosując odpowiedni algorytm (np. dokładny lub specjalizowaną heurystykę) Uruchom lokalne przeszukiwanie Rozwiązanie B Metoda atraktorów Znajdź zbiór optimów lokalnych Znajdź zbiór wszystkich elementów (atraktor) występujących w optimach lokalnych (np. łuków występujących w lokalnych optimach dla TSP) Wykonaj pełen przegląd rozwiązań możliwych dla danego atraktora 17