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ą 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
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
Metaheurystyki jako szkielety algorytmów Zainicjuj pamięć M Wygeneruj i oceń początkową populację X Uaktualnij M na podstawie X Powtarzaj Zastosuj operator generowania rozwiązań początkowych Zastosuj operatory konstruowania Nowych rozwiązań 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 Model wyroczni za darmo) Rozwiązanie, np. ciąg 0 i 1 Wyrocznia nieznana funkcja f(x) Wartość f(x)
Programistyczna interpretacja modelu wyroczni double function (TVector Solution) { // Nieznana implementacja... }
Optymalizacja funkcji zawartej w wyroczni Rozwiązanie, np. ciąg 0 i 1 Wyrocznia nieznana funkcja f(x) Wartość f(x) Algorytm A
Założenia twierdzenia NFL 1. Przestrzeń rozwiązań jest skończona (np. wektor 0 i 1 o stałej długości). 2. Liczba możliwych wartości funkcji jest skończona. 3. Wyrocznia działa deterministycznie zwracając wynik pewnej funkcji. Z 1, 2 i 3 wynika, że liczba funkcji, które mogą znajdować się w wyroczni jest skończona. 4. Każda z możliwych funkcji ma równe prawdopodobieństwo wystąpienia w wyroczni!!! 5. Nie posiadamy, żadnej dodatkowej wiedzy na temat funkcji f(x). 6. Algorytm A generuje rozwiązania bez powtórzeń.
Twierdzenie No free lunch 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ń.
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ń, ale nie: średnia wartość rozwiązań w aktualnej populacji, średnia wartość rozwiązań w końcowej populacji.
Algorytm A jako reguła generowania nowych rozwiązań Rozwiązanie wygenerowane w i-tej iteracji: x i = A(x 1,f(x 1 ), x 2,f(x 2 ),..., x i-1,f(x i-1 ))
Intuicyjny dowód Dwie zmienne binarne x 1 i x 2. Rozwiązanie to wektor [x 1, x 2 ]. 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 x 1 =[0,0] f(x 1 )=0 x 2 =[1,0] f(x 1 )=0
Metaheurystyki a maszynowe uczenie na bazie twierdzenia Analogie NFL rozwiązania - obiekty, przypadki wygenerowane rozwiązania - przypadki uczące wartość funkcji celu - klasa decyzyjna reguła/algorytm - mechanizm klasyfikacji wiedza - wiedza Różnice Cel: ML - klasyfikacja, MH - generowanie ML: założenie opis dyskryminujący, MH chyba nie istotne MH - uporządkowanie wartość funkcji celu
Jakie założenia twierdzenia NFL mogą nie być spełnione w praktyce? Nie posiadamy, żadnej dodatkowej wiedzy na temat funkcji f(x). Wiedza nt. problemu może być zawarta w operatorach Każda z możliwych funkcji ma równe prawdopodobieństwo wystąpienia w wyroczni!!! Konkretny problem może nie dopuszczać wszystkich funkcji Prawdopodobieństwo wystąpienia poszczególnych funkcji nie musi być równe
Wiedza nt. problemu może być zawarta w operatorach Algorytm A jako reguła generowania nowych rozwiązań x i = A(x 1,f(x 1 ), x 2,f(x 2 ),..., x i-1,f(x i-1 )) Nowe rozwiązania są generowane przez operatory: Generowania rozwiązań początkowych Sąsiedztwa Rekombinacji Konstrukcji rozwiązań z wykorzystaniem pamięci
Konkretny problem może nie dopuszczać wszystkich funkcji Przykład f(x 1, x 2 ) = w 1 x 1 w 2 x 2 w 1, w 2 {0,1} w 1 =0, w 2 =0 w 1 =1, w 2 =0 w 1 =0, w 2 =1 w 1 =1, w 2 =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
Prawdopodobieństwo wystąpienia poszczególnych funkcji nie musi być równe P(w 1 =1) = 0.8, P(w 2 =1) = 0.8 P(f = f 1 ) = 0.04 P(f = f 4 ) = 0.16 P(f = f 6 ) = 0.16 P(f = f 8 ) = 0.64
NFLT dotyczy wyłącznie podzbiorów closed under permutation (c.u.p.) Closed under permutation (c.u.p.) dla dowolnej permutacji zmiennych zbiór funkcji pozostaje niezmienny Udział podzbiorów c.u.p. wśród wszystkich możliwych podzbiorów szybko dąży do zera wraz ze wzrostem rozmiaru przestrzeni rozwiązań czyli intuicyjnie jeżeli mamy do czynienia z podzbiorem wszystkich funkcji to prawie na pewno nie jest on c.u.p. i nie obowiązuje NFLT
Czym są metaheurystyki? Metaheurystyki to algorytmy działające na problemach spełniających pewne założenia (mających pewne cechy) często spotykane w praktyce
Szybkość generowania rozwiązań Twierdzenie NFL odnosi się od liczby wygenerowanych rozwiązań a nie do czasu.
Eksperyment Boese Kahng i Muddu (1994) dla problemu komiwojażera 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ą
Symetryczny problem komiwojażera - TSP
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
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/10 59 rozwiązań Dla 500 miast: średnica kuli 243, 1/10 468 rozwiązań
Globalna wypukłość instancji (problemu?) - korelacja jakość-odległość 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 Chociaż jednocześnie 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ń
Globalnie wypukła funkcja jednej zmiennej ciągłej
Globalna wypukłość w innych problemach 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
Jak globalna wypukłość tłumaczy działanie metaheurystyk 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
Problemy globalnie płaskie
Fitness distance correlation FDC Podejście podobne do testowania globalnej wypukłości Odległość od optimum globalnego Oryginalnie zakładano kodowanie 0-1
Twierdzenie o schematach Hollanda 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 Miara entropii lokalnych Różne klasy instancji: Losowe jednorodne Nielosowe jednorodne Rzeczywiste
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
Ruggedness (chropowatość) współczynnik autokorelacji Niezależność od skalowania funkcji celu
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 Rozwiązania sąsiednie różnią się dwoma łukami Średnia różnica wartości sąsiednich rozwiązań jest więc większa w pierwszym przypadku
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 Dobór sąsiedztwa o niskim współczynniku autokorelacji
Rola operatorów 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?
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. Obszar, z którego generowany jest potomek Rodzice
Kiedy warto stosować metaheurystyki? Globalna struktura, trendy Lokalny charakter funkcji
Metaheurystyki w praktyce Uzyskanie w praktyce dobrych wyników przy zastosowaniu metaheurystyk nie jest ani oczywiste, ani łatwe 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
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.
Systematyczna/inżynierska konstrukcji efektywnych algorytmów optymalizacji 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
Case study zarządzanie satelitami obserwacyjnymi
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
Cel Wybrać zdjęcia (ujęcia) i ustalić plan ich realizacji maksymalizujący zysk
Analogie z klasycznymi problemami 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
Analogie z klasycznymi problemami Problem komiwojażera zadania to miasta, czasy przełączania to czasy przejazdu pomiędzy miastami Nie wszystkie zadania muszą być zrealizowane, większość nie jest Dochodzą czasy realizacji zdjęć 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 Nie wszystkie zadania muszą być zrealizowane, większość nie jest
Analogie z innymi problemami Problem planowania wycieczki - zadania to odwiedzane miejsca, czasy przełączania to czasy przejazdu, czasy realizacji zdjęć do czasy pobytu, okna czasowe dla atrakcji czasowych
Kodowanie rozwiązania Uporządkowana lista (sekwencja) wybranych ujęć Wynikają z tego okna czasowe czasu rozpoczęcia Okna czasowe Czas
Zasada propagowania ograniczeń czasowych Oryginalne okna czasowe Czas realizacji i przełączenia 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
Lokalna optymalizacja 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ń Czas
Trudny problem! 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
Hipotezy co do istotnych cech Wybrane ujęcia A B E C J K A D F E C B Zamówienia wybrane do realizacji zrealizowana powierzchnia A B E C J K A D F E C B Kolejność par ujęć A B E C J K A D F E C B
Hipotezy co do istotnych cech Pary sąsiednich ujęć A B E C J K A D F E C B Okna czasowe rozpoczęcia odległość pomiędzy punktami centralnymi Okna w rozwiązaniu 1 Okna w rozwiązaniu 2 A A B B Czas
Pierwsze podejście Dla danego rozwiązania średnia odległość od wszystkich lepszych rozwiązań Ujęcia Łuki Sekwencje Podobieństwo 0.7 0.3 1.02 0.6 0.25 1 0.98 0.5 0.2 0.96 0.4 0.15 0.94 0.3 0.92 0.2 0.1 0.9 0.88 0.1 0.05 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 6.00E+08 9.00E+08 6.50E+08 7.00E+08 7.50E+08 8.00E+08 8.50E+08 9.00E+08 Podobieństwo Zysk Zysk Zysk Podobieństwo
Drugie podejście Dla danego rozwiązania średnia odległość pomiędzy wszystkimi nie gorszymi rozwiązaniami
Przykładowe wyniki jedna instancja 0.6 0.5 0.4 0.3 0.2 0.1 0 6.00E+08 7.00E+08 8.00E+08 9.00E+08 7 6 5 4 3 2 1 0 6.00E+08 7.00E+08 8.00E+08 9.00E+08 16000 14000 12000 10000 8000 6000 4000 2000 0 6.00E+08 7.00E+08 8.00E+08 9.00E+08 Ujęcia 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 Zamówienia zrealizowana powierzchnia 0.965 0.96 0.955 0.95 0.945 0.94 0.935 0.93 0.925 0.92 6.00E+08 7.00E+08 8.00E+08 9.00E+08 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 Łuki Sekwencje Okna czasowe znormalizowane
Korelacje Instance code Selected acquisitions Requests selected for realization (normalized surface) Requests selected for realization (surface) Pairs consecutive selected acquisitions of Sequences of pairs of selected acquisitions Starting time windows (normalized distances) Starting time windows (distances) 2_13_111 0.972 0.952 0.978 0.936 0.981 0.966 0.965 4_17_186 0.929-0.119-0.276 0.855 0.775 0.212 0.922 3_25_22 0.933 0.848 0.959 0.918 0.907 0.853 0.875 2_15_170 0.927 0.945 0.946 0.937 0.978 0.930 0.938 2_26_96 0.902 0.920 0.887 0.866 0.874 0.824 0.781 2_27_22 0.885 0.933 0.845 0.603 0.942 0.561 0.713
Wnioski Operator rekombinacji powinien zachowywać wspólne Ujęcia (zapewnia zachowanie zamówień) Sekwencje Łuki Okna czasowe (tj. ograniczać je)
Seria operatorów rekombinacji na bazie heurystyki dla rozwiązań początkowych Wielokrotne lokalne przeszukiwanie + wspólne ujęcia Używany w konkursie + wspólne sekwencje GLS operator B GLS operator C + okna czasowe + wspólne łuki GLS operator A GLS operator E + okna czasowe GLS operator D + wspólne sekwencje i łuki
Operator rekombinacji i hybrydowy algorytm ewolucyjny 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: 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
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
Model wyspowy populacji Najlepsze rozwiązanie Populacja 1 Najlepsze rozwiązanie Populacja 3 Populacja 2 Obserwacje Najlepsze rozwiązanie Zadowalający czas obliczeń Mniejszy rozrzut wyników przy braku poprawy najlepszych wyników
Wyniki konkursu operator C Team Evaluation 1 (best) 31.76 2 30.84 3 30.28 4 30.1 5 (Author) 29.91 6 29.88 7 29.84 8 29.69 9 29.22 10 29.08 11 23.56
Porównanie operatorów + wspólne sekwencje GLS operator B 29.84 (0.783) GLS operator C 29.96 (0.723) + okna czasowe Wielokrotne lokalne przeszukiwanie 21.68 (1.811) + wspólne łuki GLS operator A 26.44 (1.488) GLS operator E 30.19 (0.749) + wspólne ujęcia + okna czasowe GLS operator D 28.62 (1.067) + wspólne sekwencje i łuki
Czas i jakość wyników lokalnego przeszukiwania 7.00E+08 7.50E+08 8.00E+08 8.50E+08 9.00E+08 9.50E+08 1 17 33 49 65 81 97 113 129 145 161 177 193 209 225 241 257 273 289 305 321 337 353 369 385 0 500 1000 1500 2000 2500 3000 3500 4000 4500 1 17 33 49 65 81 97 113 129 145 161 177 193 209 225 241 257 273 289 305 321 337 353 369 385
Ustawianie pojazdów na linii montażu ROADEF challenge 2005 Ź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ć!
Idea wyrównywania proporcji (ograniczenia miękkie) N 1 RC1 : D 3
Hipotezy co do istotnych cech 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 pozycje
Przykładowe wyniki: wspólne sekwencje
Wnioski Nie warto zachowywać wspólnych pozycji (brak korelacji z jakością) Warto zachowywać wspólne podsekwencje
Krzyżowanie zachowujące losowo wspólne sekwencje
Wyniki obliczeń
Specyficzny problem marszrutyzacji pojazdów (vehicle routing) 700 600 500 400 300 200 Base Dumping sites Route of vehicle 1 Route of vehicle 2 Route of vehicle 3 100 0 0 100 200 300 400 500 600
Badane miary odległości (cechy) 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
Wyniki graficznie The percentage of common arcs 34 32 30 28 26 24 22 20 380000 430000 480000 530000 The percentage of common sector assignments to vehicles 6.5 6 5.5 5 4.5 4 3.5 380000 430000 480000 530000 Cost Cost The percentage of common assignments of arcs to vehicles 2.3 2.1 1.9 1.7 1.5 1.3 1.1 0.9 0.7 380000 430000 480000 530000 Cost The percentage of common pairs of sectors assigned together 26 24 22 20 18 16 14 12 380000 430000 480000 530000 Cost
Wyniki Cost [-] 160000 150000 140000 130000 120000 110000 100000 90000 80000 70000 0 20 40 60 80 100 120 140 CPU Time [s] SA MSLS EA GLS GLS2 GLS3
Czas i jakość wyników lokalnego przeszukiwania 2000 CPU Time [ms] 1500 1000 500 Quality [-] 2500 2000 1500 1000 500 0 0 0 200 400 600 Iteration [-] 0 100 200 300 400 500 600 Iteration [-]
Vehicle routing problem for an electronic market
Hypotheses about significant features 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)
Exemplary results 100 90 80 70 60 50 40 30 20 10 0 4000 5000 6000 7000 8000 9000 10000 11000 12000 Pairs of orders served within one route 40 35 30 25 20 15 10 5 0 4000 5000 6000 7000 8000 9000 10000 11000 12000 Assignment of orders to vehicles 45 40 35 30 25 20 15 10 5 0 4000 5000 6000 7000 8000 9000 10000 11000 12000 Orders served 30 25 20 15 10 5 0 4000 5000 6000 7000 8000 9000 10000 11000 12000 Assignment of pairs of orders to vehicles 14 12 10 8 6 4 2 0 4000 5000 6000 7000 8000 9000 10000 11000 12000 Orders carried together
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
Series of recombination operators based on + common assignment of orders to vehicles the construction heuristic Multiple start local search 10315(285) GLS operator A 12521(339) + common orders + common pairs of orders served within one route GLS operator B 12716(335) GLS operator D 12590(394) + common pairs of orders served within one route GLS operator E 12675(401) + common assignment of orders to vehicles
Podsumowanie 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)
Ocena algorytmów metaheurystycznych Dwukryterialność oceny - jakość vs. czas Cost [-] 160000 150000 140000 130000 120000 110000 100000 90000 80000 70000 0 20 40 60 80 100 120 140 CPU Time [s] SA MSLS EA GLS GLS2 GLS3
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 A B A B
Ranking na płaszczyźnie czaswielkość problemu Najlepszy algorytm dla danego czasu i wielkości Wielkość Brak A C B Czas
Path relinking Przejście ścieżki pomiędzy dwoma rozwiązaniami f Rozwiązanie A Rozwiązanie B
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
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
Matheuristics Łączenie metaheurystyk z metodami dokładnymi solverami Np. generowanie kolumn (ograniczeń)