Podstawy teoretyczne algorytmów metaheurystycznych. Andrzej Jaszkiewicz

Podobne dokumenty
Optymalizacja. Wybrane algorytmy

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

Techniki optymalizacji

Algorytmy metaheurystyczne podsumowanie

Wybrane podstawowe rodzaje algorytmów

Optymalizacja. Przeszukiwanie lokalne

Analiza stanów gry na potrzeby UCT w DVRP

Techniki optymalizacji

Metody Optymalizacji: Przeszukiwanie z listą tabu

Algorytm genetyczny (genetic algorithm)-

Przeszukiwanie lokalne

Optymalizacja ciągła

Algorytmy ewolucyjne 1

Techniki optymalizacji

Zadania laboratoryjne i projektowe - wersja β

Metody przeszukiwania

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

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

Zaawansowane programowanie

Algorytm. Krótka historia algorytmów

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy genetyczne

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Problem Komiwojażera - algorytmy metaheurystyczne

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

1 Wprowadzenie do algorytmiki

Definicja problemu programowania matematycznego

Heurystyki. Strategie poszukiwań

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

Metody Programowania

Automatyczny dobór parametrów algorytmu genetycznego

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

Techniki optymalizacji algorytmy metaheurystyczne

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

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Agnieszka Nowak Brzezińska Wykład III

Algorytmy heurystyczne w UCB dla DVRP

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

Algorytmy sztucznej inteligencji

Agnieszka Nowak Brzezińska

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

TEORETYCZNE PODSTAWY INFORMATYKI

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Metody Rozmyte i Algorytmy Ewolucyjne

Testowanie hipotez statystycznych

Tabu Search (Poszukiwanie z zakazami)

Optymalizacja. Przeszukiwanie tabu

Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Techniki optymalizacji

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Systemy uczące się wykład 2

Matematyka dyskretna dla informatyków

t i L i T i

POŁĄCZENIE ALGORYTMÓW SYMULACYJNYCH ORAZ DZIEDZINOWYCH METOD HEURYSTYCZNYCH W ZAGADNIENIACH DYNAMICZNEGO PODEJMOWANIA DECYZJI

Testowanie hipotez statystycznych. Wnioskowanie statystyczne

Agnieszka Nowak Brzezińska Wykład III

Programowanie dynamiczne i algorytmy zachłanne

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

LUBELSKA PRÓBA PRZED MATURĄ 09 MARCA Kartoteka testu. Maksymalna liczba punktów. Nr zad. Matematyka dla klasy 3 poziom podstawowy

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Przykłady problemów optymalizacyjnych

SZTUCZNA INTELIGENCJA

Elementy statystyki wielowymiarowej

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

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Generowanie i optymalizacja harmonogramu za pomoca

Problemy z ograniczeniami

Algorytm. Krótka historia algorytmów

Optymalizacja. Przeszukiwanie tabu

Testy nieparametryczne

Wprowadzenie do złożoności obliczeniowej

Zadania ze statystyki, cz.7 - hipotezy statystyczne, błąd standardowy, testowanie hipotez statystycznych

Rozwiązywanie problemów z użyciem Solvera programu Excel

Tomasz M. Gwizdałła 2012/13

METODY STATYSTYCZNE W BIOLOGII

Harmonogramowanie przedsięwzięć

Algorytm grupowania danych typu kwantyzacji wektorów

Planowanie przedsięwzięć

Techniki optymalizacji

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Statystyka od podstaw Janina Jóźwiak, Jarosław Podgórski

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

METODY STATYSTYCZNE W BIOLOGII

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Zaawansowane programowanie

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Metody optymalizacji dyskretnej

Algorytmy genetyczne w interpolacji wielomianowej

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

Proces badawczy schemat i zasady realizacji

Metody klasyfikacji danych - część 1 p.1/24

Algorytmy stochastyczne laboratorium 03

Transkrypt:

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ń)