Algorytmy metaheurystyczne podsumowanie

Podobne dokumenty
Optymalizacja. Wybrane algorytmy

Techniki optymalizacji

Wybrane podstawowe rodzaje algorytmów

Optymalizacja. Przeszukiwanie lokalne

Metody Optymalizacji: Przeszukiwanie z listą tabu

SZTUCZNA INTELIGENCJA

Optymalizacja. Symulowane wyżarzanie

Techniki optymalizacji

Algorytmy genetyczne

Problem Komiwojażera - algorytmy metaheurystyczne

Przeszukiwanie lokalne

Techniki optymalizacji

Zaawansowane programowanie

Heurystyki w podejmowaniu decyzji

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

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Metody Programowania

Algorytm genetyczny (genetic algorithm)-

Optymalizacja. Przeszukiwanie tabu

Optymalizacja. Przeszukiwanie tabu

Algorytmy ewolucyjne 1

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Metody przeszukiwania

Zadania laboratoryjne i projektowe - wersja β

Algorytmy ewolucyjne NAZEWNICTWO

Wstęp do Sztucznej Inteligencji

Przykłady problemów optymalizacyjnych

Tomasz M. Gwizdałła 2012/13

Tabu Search (Poszukiwanie z zakazami)

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

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

Techniki optymalizacji algorytmy metaheurystyczne

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Heurystyki. Strategie poszukiwań

Techniki optymalizacji

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

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

Obliczenia ewolucyjne - plan wykładu

Algorytmy ewolucyjne

Algorytmy genetyczne

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

Mrówka Pachycondyla apicalis

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

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

Algorytmy genetyczne (AG)

KARTA MODUŁU KSZTAŁCENIA

Wstęp do Sztucznej Inteligencji

Schemat programowania dynamicznego (ang. dynamic programming)

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

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

Strategie ewolucyjne (ang. evolu4on strategies)

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

Algorytmy ewolucyjne. wprowadzenie

Podstawy teoretyczne algorytmów metaheurystycznych. Andrzej Jaszkiewicz

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

Algorytmy ewolucyjne (3)

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

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

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

Zaawansowane programowanie

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Techniki optymalizacji

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

Algorytmy zrandomizowane

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Równoważność algorytmów optymalizacji

Wykład 4. Droga i cykl Eulera i Hamiltona

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

1. Problem badawczy i jego znaczenie. Warszawa,

Algorytmy genetyczne w optymalizacji

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Generowanie i optymalizacja harmonogramu za pomoca

Metody optymalizacji dyskretnej. Metody przybliżone

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Zastosowanie algorytmów heurystycznych do rozwiązywania problemu układania tras pojazdów

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

OPTYMALIZACJA DYSKRETNA I ROBOTYCE W INFORMATYCE, AUTOMATYCE. Wojciecha Bozejki i Jaroslawa Pempery

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

PRZESZUKIWANIE LOKALNE I ALGORYTMY POPULACYJNE DLA WIELOKRYTERIALNEGO PROBLEMU GNIAZDOWEGO

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

Przykªady problemów optymalizacji kombinatorycznej

Algorytmy genetyczne

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

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Optymalizacja. Algorytmy dokładne

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Teoria i metody optymalizacji

Algorytmy genetyczne

MATEMATYCZNE METODY WSPOMAGANIA PROCESÓW DECYZYJNYCH

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

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

9. Schematy aproksymacyjne

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

Dobór parametrów algorytmu ewolucyjnego

Programowanie genetyczne

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

Optymalizacja. Programowanie Matematyczne

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

SZTUCZNA INTELIGENCJA

Transkrypt:

dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz

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

Minimalizacja (koszt, cost) lub maksymalizacja (zysk, gain) W przypadku minimalizacji należy znaleźć takie rozwiązanie i opt S które spełnia f (i opt ) f (i) dla wszystkich i S W przypadku maksymalizacji należy znaleźć takie rozwiązanie i opt S które spełnia f (i opt ) f (i) dla wszystkich i S Takie rozwiązanie i opt jest globalnie optymalne (globalnie minimalne lub maksymalne)

Problemy NP-trudne Czas znalezienia optimum rośnie bardzo szybko (wykładniczo) wraz ze wzrostem rozmiaru problemu W praktyce oznacza to, że nie można znaleźć rozwiązania optymalnego w realnym czasie dla zadań o rzeczywistych rozmiarach Wszystkie problemy NP-trudne są w pewnym sensie równoważne (niektóre można transformować do innych).

Klasyfikacja algorytmów optymalizacyjnych dokładne przeszukiwanie wyczerpujące (exhaustive, brute force) programowanie matematyczne podziału i ograniczeń (B&B) programowanie dynamiczne heurystyczne specjalizowane dla konkretnego problemu uniwersalne metaheurystyki przeszukiwanie losowe (random search) przeszukiwanie lokalne algorytmy: zachłanny i stromy, symulowane wyżarzanie, przeszukiwanie tabu przeszukiwanie populacyjne algorytmy: ewolucyjny, grupy cząstek,... mrówkowe hybrydowe... aproksymacyjne: wiemy o ile ich wynik jest gorszy od optimum

Co jest potrzebne do użycia/stworzenia algorytmu optymalizacji? 1 Reprezentacja rozwiązania (struktura danych) 2 Metoda zmieniania rozwiązanie lub generująca kolejne 3 Funkcja oceniająca rozwiązanie

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

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

Pełne przeszukiwanie Przeszukiwanie losowe Exhaustive search SAT 0000 0 0001 1 0010 2 0011 3... Zadanie: napisz program wypisujący wszystkie rozwiązania dla zadanego n.

Pełne przeszukiwanie Przeszukiwanie losowe Exhaustive search TSP Permutacje. Niedopuszczalne jest np. 1-2-3-1-4 Liczba permutacji n! Rekurencyjne generowanie permutacji ustalenie pierwszej pozycji generowanie (n 1)! permutacji dla ustalonej pierwszej pozycji... Wersja bez rekurencji? Zadanie: napisz program wypisujący wszystkie rozwiązania dla zadanego n.

Pełne przeszukiwanie Przeszukiwanie losowe Przeszukiwanie losowe procedure PRZESZUKIWANIE LOSOWE; begin xbest:=generuj LOSOWO; repeat x:=generuj LOSOWO; implementacja? if f(x)<=f(xbest) then xbest:=x; until WARUNEK STOPU; end; Zadanie: dla SAT i TSP napisz programy wypisujące dla zadanego n jedno losowe rozwiązanie. Możesz korzystać tylko z funkcji random(x).

Metody przybliżone heurystyki Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Cel uzyskanie dobrych rozwiązań w rozsądnym czasie Podział: specjalizowane (dedykowane) uniwersalne metaheurystyki

Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Przykład prostej heurystyki dla problemu komiwojażera

Cechy specjalizowanych heurystyk Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Z reguły bardzo krótki czas pracy. Wyniki zwykle dobre lub bardzo dobre, ale niekiedy dość odległe od optimum. Każda stworzona specjalnie dla konkretnego problemu (wymagana wiedza ekspercka).

Metaheurystyki Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Czesto bazują na analogiach do procesów ze świata rzeczywistego (fizyki, chemii, biologii), które można interpretować w kategoriach optymalizacji. Umożliwiają uzyskanie wyników bliskich optimum. Nie wymagają wiedzy eksperckiej o konkretnym problemie optymalizacji, choć takowa jest zaletą. Dla każdej metaheurystyki przypomnij sobie odpowiednią analogię turysty w górach.

Lokalna optymalizacja, wspinaczka Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Metoda stroma i zachłanna Pojęcie rozwiązania sąsiedniego Wymagania wobec sąsiedztwa Niewielki (sensowny) rozmiar Możliwość dojścia do dowolnego rozwiązania z każdego rozwiązania początkowego Rozwiązania sąsiednie powinny być podobne

Wielokrotna lokalna optymalizacja Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Po osiągnięciu optimum lokalnego generujemy kolejne rozwiązanie startowe i ponownie uruchamiamy lokalną optymalizację

Symulowane wyżarzanie Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Analogia powolne ochładzanie ciała stałego Związek z optymalizacją Rozwiązanie struktura ciała stałego Funkcja celu energia danej struktury Sąsiedztwo losowe perturbacje pod wpływem temperatury Możliwość akceptowania rozwiązań gorszych niż aktualne

Przeszukiwanie tabu Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Zasada zakazu powrotu do miejsc ostatnio odwiedzonych. Wybór najlepszego spośród nie zakazanych ruchów nawet, jeżeli prowadzi do gorszego rozwiązania.

Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Algorytmy Ewolucyjne (w tym genetyczne) Analogia ewolucja populacji biologicznej Związek z optymalizacją Rozwiązanie osobnik Funkcja celu przystosowanie osobnika Selekcja rozwiązań walka o byt Operator rekombinacji rozmnażanie

Operator rekombinacji (krzyżowania) Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Konstruuje nowe rozwiązanie poprzez łączenie cech dwóch (lub więcej) rekombinowanych rozwiązań Może zawierać elementy losowe Założenie: dobre rozwiązania są do siebie w pewien sposób podobne, zatem zapewne mają pewne wspólne cechy, które korelują z jakością rozwiązań

Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Przykład operatora rekombinacji dla problemu planowania Systemu Dystrybucji Rozważaj po kolei każdy region Jeżeli region był w obu rekombinowanych rozwiązaniach przydzielony do tego samego centrum dystrybucji, to w rozwiązaniu potomnym przydziel go do tego samego centrum W przeciwnym wypadku przydziel go do centrum dystrybucji pochodzącego od jednego z rekombinowanych rozwiązań wybranego losowo

Kolonie mrówek Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy Ewolucyjne (w tym genetyczne) Algorytmy mrówkowe Analogia mrówki poszukujące pożywienia Proste zasady jakimi kieruje się każda z mrówek prowadzą do bardzo sprawnego działania całej kolonii Związek z optymalizacją Rozwiązanie droga mrówki Funkcja celu długość trasy Sąsiedztwo ruchy mrówek Ślad feromonowy współdzielona wiedza

Algorytmy hybrydowe i hiperheurystyki Hybrydowe algorytmy ewolucyjne Metody wykorzystujące zarówno operator rekombinacji, jak i operatory sąsiedztwa (lokalną optymalizację). Rozwiązanie uzyskane w wyniku rekombinacji i mutacji jest często ogólnie dobre, ale wymaga drobnych, lokalnych poprawek by stać się lokalnym optimum. Inne hybrydy Hiper-heurystyki, hiper-hiper-heurystyki,...; NFL

Porównywanie algorytmów optymalizacji Czas vs. jakość Eksploracja vs. eksploatacja

Optymalizacja wielokryterialna Uwzględnienie wielu kryteriów Przykłady: TSP, plan zajęć Zamieniamy na jedno kryterium Porządek leksykograficzny Suma ważona Relacja dominacji i użycie wybranej liczby charakteryzującej Uwzględniamy wiele kryteriów relacja dominacji Pareto Local Search zaczynamy od wielu rozwiązań losowych, (*) wyłaniamy niezdominowane, dla każdego niezdominowanego tworzymy sąsiedztwo oceniając wielokryterialnie sąsiadów, wracamy do (*) Dedykowane mechanizmy i elementy algorytmów np. selekcja w AE (NSGA, SPEA i inne)