Techniki optymalizacji

Podobne dokumenty
Techniki optymalizacji

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

Algorytm genetyczny (genetic algorithm)-

Optymalizacja. Wybrane algorytmy

Algorytmy genetyczne w optymalizacji

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

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

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

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

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Problem Komiwojażera - algorytmy metaheurystyczne

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

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

ALGORYTMY GENETYCZNE ćwiczenia

Algorytmy genetyczne

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytmy metaheurystyczne podsumowanie

Algorytmy genetyczne

Algorytmy genetyczne

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Generowanie i optymalizacja harmonogramu za pomoca

Wybrane podstawowe rodzaje algorytmów

Obliczenia ewolucyjne - plan wykładu

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Algorytmy genetyczne (AG)

Algorytmy stochastyczne laboratorium 03

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Algorytmy genetyczne

Algorytmy ewolucyjne 1

METODY HEURYSTYCZNE wykład 3

Algorytmy ewolucyjne NAZEWNICTWO

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

Zadania laboratoryjne i projektowe - wersja β

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Algorytmy ewolucyjne Część II

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Algorytmy ewolucyjne. wprowadzenie

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

METODY HEURYSTYCZNE wykład 3

Metody przeszukiwania

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy ewolucyjne (3)

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

ALHE Z11 Jarosław Arabas wykład 11

SZTUCZNA INTELIGENCJA

6. Klasyczny algorytm genetyczny. 1

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

Algorytmy ewolucyjne `

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

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.

Teoria algorytmów ewolucyjnych

Optymalizacja optymalizacji

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

Strategie ewolucyjne (ang. evolution strategies)

Metody Rozmyte i Algorytmy Ewolucyjne

Dobór parametrów algorytmu ewolucyjnego

Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Wstęp do Sztucznej Inteligencji

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

LICZEBNOŚĆ POPULACJI OBLICZENIA EWOLUCYJNE. wykład 3. Istotny parametr AG...

Problemy z ograniczeniami

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

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

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

Techniki optymalizacji

Równoważność algorytmów optymalizacji

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

Techniki ewolucyjne - algorytm genetyczny i nie tylko

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

Optymalizacja. Przeszukiwanie lokalne

Algorytmy genetyczne w interpolacji wielomianowej

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Automatyczny dobór parametrów algorytmu genetycznego

ALGORYTMY GENETYCZNE

OBLICZENIA EWOLUCYJNE

BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza

OBLICZENIA EWOLUCYJNE

Standardowy algorytm genetyczny

Zaawansowane programowanie

WAE Jarosław Arabas Adaptacja i samoczynna adaptacja parametrów AE Algorytm CMA-ES

Algorytmy zrandomizowane

Metody Optymalizacji: Przeszukiwanie z listą tabu

Programowanie genetyczne, gra SNAKE

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA

Obliczenia inspirowane Naturą

Planowanie drogi robota, algorytm A*

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

WYKORZYSTANIE ALGORYTMÓW GENETYCZNYCH I MRÓWKOWYCH W PROBLEMACH TRANSPORTOWYCH

Mrówka Pachycondyla apicalis

Transkrypt:

Techniki optymalizacji Algorytm kolonii mrówek Idea Smuga feromonowa 1

Sztuczne mrówki w TSP Sztuczna mrówka agent, który porusza się z miasta do miasta Mrówki preferują miasta połączone łukami z dużą ilością feromonu, tj. są blisko siebie Idea algorytmu kolonii mrówek dla TSP m mrówek startuje z losowo wybranych miast przemieszczają się do nowych miast, modyfikując smugę feromonową na przemierzanych krawędziach (local trail updating) po ukończeniu wszystkich tras mrówka, której trasa była najkrótsza modyfikuje krawędzie należące do jej trasy przez dodanie ilości feromonu odwrotnie proporcjonalnej do długości trasy (global trail updating) 2

Idea algorytmu kolonii mrówek dla TSP Idee zaczerpnięte z naturalnego zachowania mrówek 1. Preferencja ścieżek z wyższą zawartością fereomonu 2. Wyższy przyrost feromonu na krótszych ścieżkach 3. Komunikacja między mrówkami za pomocą smugi feromonowej Idee inne Mrówki potrafią określić odległość od miast Pamiętają odwiedzone miasta Implementacja idei Mrówka k w mieście r wybiera miasto s, które nie jest zapisane w jej pamięci M k Ilość feromonu na łuku (r,u) f. heurystyczna odwrotność odległości (r,u) Waga ważności smugi fer. i bliskości Wartość losowa z [0, 1] Zmienna losowa faworyzuje krótsze krawędzie z wyższą zawartością feromonu 3

Implementacja idei Prawdopodobieństwo przemieszczenia się mrówki k z miasta r do miasta s Uaktualnienie smugi feromonowej Globalne Nagradza krawędzie należące do krótszych tras Gdy mrówki ukończą trasy najlepsza mrówka pozostawia feromon na przebytych krawędziach Ilość feromonu odwrotnie proporcjonalna do długości trasy (Najkrótsza ścieżka) -1 4

Uaktualnienie smugi feromonowej Lokalne Każda przemierzana krawędź otrzymuje pewną ilość feromonu Przykładowe ustawienia parametrów Liczba miast Długość trasy - heurystyka NN Hybrydyzacja z lokalnym przeszukiwaniem Najlepsze wyniki dają metody hybrydowe Po zbudowaniu rozwiązania przez mrówkę uruchamiane jest lokalne przeszukiwanie 5

Techniki optymalizacji Algorytmy ewolucyjne Ewolucja biologiczna Dobór naturalny powoduje ewolucję populacji osobników Przekazywanie cech Przeżywanie najlepiej przystosowanych Mutacje Krzyżowanie 6

Związki między ewolucją biologiczną a optymalizacją Ewolucja biologiczna Osobnik Populacja Genotyp Fenotyp Mutacja Krzyżowanie Dobór naturalny Przystosowanie (fitness) Poprawa przystosowania Optymalizacja Rozwiązanie Zbiór rozwiązań Reprezentacja rozwiązania Wartość funkcji celu Konstrukcja nowego rozwiązania poprzez niewielką modyfikację innego rozwiązania Rekombinacja konstrukcja nowego rozwiązania poprzez połączenie cech dwóch rozwiązań Selekcja dobrych rozwiązań Funkcja celu Optymalizacja funkcji celu Algorytm ewolucyjny wygeneruj początkową populację X powtarzaj X 1 := Krzyżowanie (X) X 1 := Mutacja (X 1 ) X := Selekcja (X, X 1 ) dopóki warunek stopu Zwróć najlepsze wygenerowane rozwiązanie 7

Rzeczywiste kodowanie genów DNA Alfabet czteroliterowy cztery zasady A, G, T, C Binarne kodowanie rozwiązań algorytmy genetyczne Rozwiązanie reprezentowane jako ciąg zer i jedynek Zawsze możliwe (z pewną dokładnością), ale nie zawsze naturalne 8

Kodowanie binarne zmiennych liczbowych Np.: 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 x 1 x 2 x 3 x 4 Kodowanie binarne problem plecakowy Np.: 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 Pozycja dla każdego elementu 0 element nie został wybrany 1 element został wybrany 9

Kodowanie binarne problem komiwojażera Np.: 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 Pozycja dla każdego łuku 0 łuk nie znajduje się w rozwiązaniu 1 łuk znajduje się w rozwiązaniu Mówiąc inaczej macierz koincydencji rozwinięta w wektor Klasyczne krzyżowanie jednopunktowe 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 10

Krzyżowanie wielopunktowe 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 Krzyżowanie równomierne uniform crossover Każda pozycja niezależnie losowa z jednego z rodziców 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 11

Mutacja losowa zmiana rozwiązania Mutacja jednego bitu 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 Prawdopodobieństwo mutacji prawdopodobieństwo zmiany jednego bitu Np. 0,01 zmiana jednego bitu na 100 Selekcja ruletkowa Oblicz wartość dopasowania dla każdego rozwiązania eval x i Skalowanie funkcji celu do [0, Max] Oblicz całkowite dopasowanie F pop _ size Oblicz prawdopodobieństwo wyboru każdego rozwiązania eval x i pi F i 1 eval x i 12

Algorytm selekcji Powtarzaj pop_size razy wygeneruj liczbę losową r z przedziału [0,1) rozkład równomierny wybierz rozwiązanie j dla którego i j 1 i 1 p i r i j i 1 dopóki warunek stopu p i Dopuszczalne powtórzenia Przykład selekcji ruletkowej Rozwiązanie Ocena rozwiązania P i 1 2 0,087 2 4 0,174 3 1 0,043 4 5 0,217 5 8 0,348 6 3 0,130 Całkowite dopasowanie 23 13

Selekcja turniejowa Powtarzaj pop_size razy wybierz losowo K rozwiązań do turnieju rozkład równomierny wybierz najlepsze rozwiązanie z grupy turniejowej dopóki warunek stopu Dopuszczalne powtórzenia Przykład 14

Schematy 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 Wspólny schemat 0 1 1 0 * 1 * 1 1 * 0 1 * 0 0 0 Do ciągu o długości n pasuje 2 n schematów Rząd schematu Liczbę ustalonych pozycji - 0 lub 1 Rząd 12 0 1 1 0 * 1 * 1 1 * 0 1 * 0 0 0 Rząd 8 * * * * * 1 * 1 1 * 0 1 * 0 0 0 15

Długość definiująca schematu Odległość pomiędzy pierwszą a ostatnią pozycją ustaloną schematu Długość definiująca 14 * 1 1 0 * 1 * 1 1 * 0 1 * 0 0 * Długość definiująca 9 * * * * * 1 * 1 1 * 0 1 * 0 * * Wpływ operatorów ewolucyjnych na schematy Selekcja Dla selekcji ruletkowej średnia liczba rozwiązań pasujących do schematu S zmienia się w populacji tak, jak stosunek dopasowania schematu do średniego dopasowania populacji Krzyżowanie Większe szanse przeżycia mają krótsze schematy. Krzyżowanie równomierne w większym stopniu niszczy schematy Mutacja Większe szanse przeżycia maję schematy o mniejszym rzędzie 16

Ograniczenia w algorytmach genetycznych Krzyżowanie i mutacja może prowadzić do powstania rozwiązań niedopuszczalnych Np. dla problemu plecakowego przekroczenie pojemności plecaka Np. dla problemu komiwojażera zbiór łuków nie tworzący cyklu hamiltona Ograniczenia - Funkcja kary Rozwiązania niedopuszczalne są traktowane jak dopuszczalne, ale wartość funkcji celu zostaje pogorszona o wartość kary Kara jest w ogólności zależna od wielkości złamania ograniczeń, np. od przekroczenia pojemności plecaka Problemy Zbyt mała kara może spowodować ewolucję w kierunku rozwiązań niedopuszczalnych Zbyt duża kara może utrudniać dojście do dobrych rozwiązań 17

Ograniczenia - Procedury naprawy Niedopuszczalne rozwiązanie powstałe w wyniku krzyżowania/mutacji jest naprawiane przez dedykowaną heurystykę Procedura naprawy nie powinna zbyt mocno zmieniać rozwiązania Procedura naprawy może być kierowana funkcją celu Przykłady procedur naprawy Problem plecakowy Usuwanie elementów aż do osiągnięcia dopuszczalności Opcja usuwanie elementów o najgorszym stosunku wartości do wagi Problem komiwojażera Odbudowa cyklu hamiltona przy zachowaniu jak największej liczby łuków 18

Naturalne kodowanie - algorytmy ewolucyjne Liczby naturalne i rzeczywiste Listy Macierze Drzewa Zalety kodowania naturalnego Łatwiejsze krzyżowanie - rekombinacja Bardziej sensowne krzyżowanie zachowywanie ważnych cech rozwiązań Łatwiejsze zachowywanie ograniczeń 19

Rekombinacja Utworzenie nowego (lub kilku) nowego rozwiązania (potomka) na podstawie dwóch rodziców Potomek powinien łączyć (rekombinować) cechy rodziców Rekombinacja porządkowa dla list - OX Wybierz podciąg z rodzica 1 Skopiuj wybrany podciąg do potomka Usuń umieszczone już w potomku elementy z rodzica 2 Dodawaj kolejne elementy z rodzica 2 do potomka w kolejności występowania w rodzicu 2 20

Rekombinacja porządkowa dla list - OX Rodzic 1 Rodzic 2 2 1 7 8 3 5 4 6 2 7 5 6 3 1 4 8 Proto-potomek 8 3 5 4 2 7 6 1 2 7 6 8 3 5 4 1 Inny przykład rekombinacji porządkowej dla list powtarzaj dla każdej pozycji wylosuj rodzica 1 lub 2 wybierz z wylosowanego rodzica pierwszy element usuń wybrany element z obu rodziców dodaj wybrany element na koniec potomka 21

Przykład 2 1 7 8 3 5 4 6 2 7 5 6 3 1 4 8 2 1 7 8 3 5 4 6 7 5 6 3 1 4 8 2 7 1 8 3 5 4 6 5 6 3 1 4 8 2 7 5 1 8 3 4 6 6 3 1 4 8 2 7 5 1 Przykład c.d. 8 3 4 6 6 3 4 8 2 7 5 1 8 3 4 6 6 3 4 2 7 5 1 8 3 4 6 6 4 2 7 5 1 8 3 4 2 7 5 1 8 3 4 6 22

Kodowanie a rekombinacja Prostsze kodowanie i bardziej złożona rekombinacja lub Bardziej złożone kodowanie i prostsza rekombinacja Kodowanie pośrednie Dekodowanie rozwiązania Heurystyczna lub dokładna transformacja Kodowanie pośrednie operatory ewolucyjne Dokładna i naturalna reprezentacja rozwiązania Funkcja celu 23

Zalety kodowania pośredniego Łatwiejsze operatory rekombinacji/mutacji Łatwiejsze zapewnienie dopuszczalności rozwiązań Przykład - harmonogramowanie Kodowanie pośrednie lista priorytetowa zadań Heurystyka priorytetowa Harmonogram 2 7 5 1 8 3 4 6 24

Przykład problem plecakowy Kodowanie pośrednie lista elementów Dekodowanie dodawaj po kolei elementy do momentu wypełnienia plecaka Wynik dopuszczalne rozwiązanie Genetic Programming Hyper-Heuristic Ewolucji podlegają reguły/heurystyki/kod tworzenia rozwiązań (a nie same rozwiązania) Heurystyki te są oceniane na zbiorze instancji uczących, oceniane na zbiorze instancji testowych i stosowane do nowych instancji 25

Parametry algorytmów ewolucyjnych Liczba generacji czas obliczeń Wielkość populacji Mniejsza populacja szybsza zbieżność Większa populacja lepsza jakość w dłuższym czasie Hybrydowe algorytmy ewolucyjne Inne nazwy Algorytmy memetyczne Genetyczne przeszukiwanie lokalne 26

Hybrydowe algorytmy ewolucyjne Hybrydyzacja algorytmów ewolucyjnych i lokalnego przeszukiwania lub ogólniej heurystyk lokalnych Cel - połączenie zalet Szybkość i możliwość lokalnej poprawy rozwiązań przez przeszukiwanie lokalne Globalność algorytmów ewolucyjnych Rożne sposoby hybrydyzacji Najpierw PL potem AE AE startuje z bardzo dobrą populacją Najpierw AE potem PL AE znajduje globalnie dobry region eksplorowany dokładniej przez PL PL w trakcie AE Np. PL po każdej rekombinacji i mutacji 27

Algorytmy hybrydowe z punktu widzenia algorytmów ewolucyjnych Algorytm ewolucyjny pracujący na ograniczonym zbiorze rozwiązań tylko optima lokalne Mniejsza przestrzeń przeszukiwań bardziej efektywne działanie Przeszukiwanie lokalne zapewnia efektywne ograniczanie przestrzenie przeszukiwań AE do bardzo dobrych rozwiązań Algorytmy hybrydowe z punktu widzenia przeszukiwania lokalnego Rekombinacja zapewnia dobry punkt startowy dla przeszukiwania lokalnego Szybsza zbieżność do lokalnego optimum Zbieżność do lepszych rozwiązań 28

Lokalne przeszukiwanie w trakcie pracy algorytmu memetycznego Selekcja elitarna Wybór P najlepszych rozwiązań Możliwe unikanie powtarzających się rozwiązań kopii Możliwość hybrydyzacji z innymi mechanizmami (ruletkowa, turniejowa) częściowa elitarność Wybór L < P najlepszych rozwiązań. Pozostałe w inny sposób W przypadku zwykłych AE selekcja elitarna prowadzi do (zbyt) szybkiej zbieżności. Dodanie przeszukiwania lokalnego często eliminuje ten problem. 29