Optymalizacja. Wybrane algorytmy

Podobne dokumenty
Algorytmy metaheurystyczne podsumowanie

Techniki optymalizacji

Wybrane podstawowe rodzaje algorytmów

Optymalizacja. Przeszukiwanie lokalne

Metody Optymalizacji: Przeszukiwanie z listą tabu

Optymalizacja. Symulowane wyżarzanie

Techniki optymalizacji

Przeszukiwanie lokalne

Problem Komiwojażera - algorytmy metaheurystyczne

Techniki optymalizacji

Algorytmy genetyczne

SZTUCZNA INTELIGENCJA

Heurystyki w podejmowaniu decyzji

Algorytm genetyczny (genetic algorithm)-

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

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Metody Programowania

Metody przeszukiwania

Zaawansowane programowanie

Algorytmy ewolucyjne 1

Optymalizacja. Przeszukiwanie tabu

Tabu Search (Poszukiwanie z zakazami)

Przykłady problemów optymalizacyjnych

Techniki optymalizacji algorytmy metaheurystyczne

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Optymalizacja. Przeszukiwanie tabu

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

Wstęp do Sztucznej Inteligencji

Zadania laboratoryjne i projektowe - wersja β

Heurystyki. Strategie poszukiwań

Algorytmy ewolucyjne NAZEWNICTWO

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

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

Techniki optymalizacji

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

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

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

Tomasz M. Gwizdałła 2012/13

Wstęp do Sztucznej Inteligencji

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

KARTA MODUŁU KSZTAŁCENIA

Podstawy teoretyczne algorytmów metaheurystycznych. Andrzej Jaszkiewicz

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

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

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytmy genetyczne

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Mrówka Pachycondyla apicalis

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

Algorytmy genetyczne (AG)

Algorytmy ewolucyjne. wprowadzenie

Wykład 4. Droga i cykl Eulera i Hamiltona

Techniki optymalizacji

Metody optymalizacji dyskretnej. Metody przybliżone

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

Zaawansowane programowanie

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

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

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

Generowanie i optymalizacja harmonogramu za pomoca

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

Schemat programowania dynamicznego (ang. dynamic programming)

Algorytmy zrandomizowane

1. Problem badawczy i jego znaczenie. Warszawa,

Obliczenia ewolucyjne - plan wykładu

Teoria i metody optymalizacji

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

Przykªady problemów optymalizacji kombinatorycznej

Strategie ewolucyjne (ang. evolu4on strategies)

9. Schematy aproksymacyjne

Optymalizacja. Algorytmy dokładne

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

Praca dyplomowa magisterska

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

Programowanie genetyczne

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

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

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

Algorytmy ewolucyjne (3)

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Dobór parametrów algorytmu ewolucyjnego

Heurystyki i metaheurystyki

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

Równoważność algorytmów optymalizacji

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

SZTUCZNA INTELIGENCJA

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Algorytmy genetyczne w optymalizacji

Optymalizacja. Algorytmy dokładne

Hybrydy symulowanego wyżarzania

Rozwiązywanie problemów metodą przeszukiwania

Metody optymalizacji dyskretnej

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Projektowanie i analiza algorytmów

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

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

Optymalizacja. Programowanie Matematyczne

Iteracyjne rozwiązywanie równań

Sztuczna inteligencja stan wiedzy, perspektywy rozwoju i problemy etyczne. Piotr Bilski Instytut Radioelektroniki i Technik Multimedialnych

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

Exhaustive search SAT Pełne przeszukiwanie Przeszukiwanie losowe 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 mrówkowe Cel uzyskanie dobrych rozwiązań w rozsądnym czasie Podział: specjalizowane (dedykowane) uniwersalne metaheurystyki

Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy mrówkowe Przykład prostej heurystyki dla problemu komiwojażera

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

Metaheurystyki Definicje Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy mrówkowe Czesto bazują na analogiach do procesów ze świata rzeczywistego (fizyki, 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ą.

Lokalna optymalizacja, wspinaczka Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu Algorytmy mrówkowe Analogia: turysta w górach 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

Iteracyjna lokalna optymalizacja Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu 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 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 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 mrówkowe 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 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

Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu 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 Definicje Lokalna optymalizacja Symulowane Wyżarzanie Przeszukiwanie Tabu 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

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