Problemy z ograniczeniami



Podobne dokumenty
Algorytmy ewolucyjne 1

Dobór parametrów algorytmu ewolucyjnego

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

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy stochastyczne laboratorium 03

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

Strategie ewolucyjne (ang. evolution strategies)

Algorytmy genetyczne

Techniki optymalizacji

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Metody przeszukiwania

Matematyka Dyskretna - zadania

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

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

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

Algorytmy ewolucyjne NAZEWNICTWO

Generowanie i optymalizacja harmonogramu za pomoca

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

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Teoria algorytmów ewolucyjnych

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

Matematyka od zaraz zatrudnię

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

Techniki optymalizacji

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

Wyznaczanie optymalnej trasy problem komiwojażera

Metody Rozmyte i Algorytmy Ewolucyjne

Algorytmy i struktury danych

Algorytmy genetyczne

Metody Programowania

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Algorytmy genetyczne w optymalizacji

Matematyczne Podstawy Informatyki

Wielokryteriowa optymalizacja liniowa

Algorytm genetyczny (genetic algorithm)-

Klasyczne zagadnienie przydziału

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

6. Klasyczny algorytm genetyczny. 1

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

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

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

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

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Algorytmy genetyczne (AG)

Obliczenia ewolucyjne - plan wykładu

SZTUCZNA INTELIGENCJA

Aproksymacja funkcji a regresja symboliczna

Teoria grafów II. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Tomasz M. Gwizdałła 2012/13

Wstęp do sieci neuronowych, wykład 8 Uczenie nienadzorowane.

10. Kolorowanie wierzchołków grafu

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

SZTUCZNA INTELIGENCJA

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

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

Programowanie liniowe

Optymalizacja. Przeszukiwanie lokalne

Zadania laboratoryjne i projektowe - wersja β

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

FUNKCJE. (odwzorowania) Funkcje 1

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

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.

Wybrane podstawowe rodzaje algorytmów

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

Instrukcje dla zawodników

Temat: Algorytmy zachłanne

Algorytmy sztucznej inteligencji

Wstęp do Sztucznej Inteligencji

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

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

Analiza algorytmów zadania podstawowe

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

Algorytmika Problemów Trudnych

przetworzonego sygnału

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Standardowy algorytm genetyczny

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Algorytmy ewolucyjne

Laboratorium technik optymalizacji: układanie uniwersyteckiego planu zajęć

ALGORYTMY GENETYCZNE ćwiczenia

ALHE Z11 Jarosław Arabas wykład 11

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

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Definicje. Algorytm to:

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Strategie ewolucyjne (ang. evolu4on strategies)

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

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

Kolorowanie wierzchołków grafu

a) 7 b) 19 c) 21 d) 34

Transkrypt:

Problemy z ograniczeniami 1

2 Dlaczego zadania z ograniczeniami Wiele praktycznych problemów to problemy z ograniczeniami. Problemy trudne obliczeniowo (np-trudne) to prawie zawsze problemy z ograniczeniami. Ograniczenia sprawiają, że nie każda kombinacja zmiennych z których każda ma poprawną (ze swojej dziedzin) wartość jest rozwiązaniem dopuszczalnym problemu. Niestety radzenie sobie z ograniczeniami nie jest proste w przypadku algorytmów ewolucyjnych, ponieważ operatory krzyżowania i mutacji nie uwzględniają ograniczeń. Nawet jeżeli rodzice spełniają ograniczenia i są rozwiązaniami dopuszczalnymi, nie mamy gwarancji że wynik krzyżowania i mutacji będzie rozwiązaniem dopuszczalnym. Problemy z ograniczeniami możemy podzielić na: Problemy optymalizacji z ograniczeniami. Problemy spełnienia ograniczeń.

3 Swobodna przestrzeń przeszukiwań Mamy L zmiennych x 1,x 2,, x L. z których każda ma swoją dziedzinę D 1, D 2,, D L. Dziedziny mogą być dyskretne albo ciągłe (ale jeżeli są ciągłe to są wypukłe) Swobodną przestrzenią poszukiwań nazywamy iloczyn kartezjański D=D 1 D 2 D L Cecha swobodnej przestrzeni poszukiwań: sprawdzenie czy rozwiązanie x=(x 1,x 2,, x L ) należy do dziedziny D możemy przeprowadzić wykonując osobny test przynależności zmiennej x i do dziedziny D i ; jeżeli wszystkie testy dadzą wynik pozytywny to x D Przykład swobodnej przestrzeni przeszukiwań: -5.12 x i 5.12 dla i=1,2,...,l.\ Swobodna przestrzeń poszukiwań nie sprawia problemów przy optymalizacji algorytmami ewolucyjnymi, ponieważ, nawet jeżeli wynik operatorów krzyżowania i mutacji nie należy do tej przestrzeni, to bardzo łatwo możemy to wymusić wykonując poprawki dla indywidualnych zmiennych. Przykładowo: if (x i <-5.12) x i =-5.12 if (x i >5.12) x i =5.12

4 Klasyfikacja problemów z ograniczeniami Ograniczenia TAK NIE Funkcja celu TAK NIE Probmlem optymalizacji z ograniczeniami Problem optymalizacji bez ograniczeń Problem spełniania ograniczeń Nie ma problemu Terminologia angielska: free optimization problem (problem optymalizacji bez ograniczeń) constraint satisfaction problem (problem spełniania ograniczeń) constrained optimization problem (problem optymalizacji z ograniczeniami).

5 Problem spełnienia ograniczeń ` Dana jest para (D,φ), gdzie D jest swobodną przestrzenią poszukiwań, a φ jest formułą (funkcją boolowską na zbiorze D). Formuła φ jest nazywana warunkiem dopuszczalności (ang. feasibility condition). Zazwyczaj warunek dopuszczalności jest warunkiem złożonym, składającym się z wielu ograniczeń, z których każde narzuca ograniczenie dla dopuszczalnych kombinacji wartości zmiennych. Przykład: 3-kolorowanie grafu. Dany jest graf G=(V,E), gdzie Czy istnieje takie przypisanie kolorów wierzchołkom, które pozwala na pokolorowanie grafu przy pomocy trzech kolorów tak, że nie istnieją dwa wierzchołki połączone krawędzią którym przypisano ten sam kolor. Bardziej formalnie: E V V swobodną przestrzenią przeszukiwań jest D L, gdzie L= V a D={1,2,3}. (Każda z L zmiennych ma tę samą dziedzinę).niech rozwiązanie x ma postać (x 1,x 2,...,x L ) x =true e E C x x, x =true e 1, 2, L C e jest ograniczeniem związanym z krawędzią e. Niech e=(k,l) C e x 1, x 2,, x L =true x k x l

6 3-kolorowanie grafu przykład Problem NP-trudny. Trudność rozwiązania problemu spełnienia ograniczeń przez algorytm ewolucyjny polega na braku funkcji do optymalizacji. Można w tym sobie poradzić przekształcając zbiór ograniczeń w funkcję celu do zminimalizowania, taką że osiągnięcie minimum oznacza spełnienie ograniczeń.

Problem optymalizacji dyskretnej z ograniczeniami - binarne zagadnienie plecakowe 7 Dane jest N przedmiotów, z których każdy posiada masę m i wartość w i Dany jest plecak, który możemy umieścić elementy o sumarycznej masie M Jakie przedmioty zabrać do plecaka, tak aby sumaryczna wartość przedmiotów była jak największa? i Nazwa m i w i 1 Zegarek 0.2 10 2 Buty 1 2 3 Spodnie 0.5 2 4 Czapka 0.2 1 5 Kurtka 1 3 6 Piwo 1 1 M=2

8 Zagadnienie plecakowe: sformułowanie i Nazwa m i w i 1 Zegarek 0.2 10 2 Buty 1 2 3 Spodnie 0.5 2 4 Czapka 0.2 1 5 Kurtka 1 3 6 Piwo 1 1 M=2 Postać rozwiązania: (L=6) x=[ x 1, x 2, x 3, x 4, x 5, x 6 ], x i {0,1} Optymalizowana funkcja: Ograniczenie L f ( x)= 1 L g ( x)= 1 x i w i x i m i < M

9 Metody radzenia sobie z ograniczeniami Operatory krzyżowania/mutacji/inicjalizacji zachowujące ograniczenia (jeżeli rodzice spełniają ograniczenia to potomkowie także). Przykład: operatory krzyżowania i mutacji dla problemu komiwojażera. W niektórych zadaniach wygenerowanie rozwiązania dopuszczalnego jest problemem trudnym obliczeniowo (np. NP-trudnym). Stosuj funkcje kary, obniżające dopasowanie osobnika naruszającego ograniczenia. Zakładamy przy tym, że możliwe jest obliczenie dopasowania dla niedopuszczalnego rozwiązania. Stosuj algorytm naprawy konwertujący rozwiązania dopuszczalne na niedopuszczalne. Stosuj dekoder odwzorowujący genotyp w fenotyp, tak że rozwiązania (fenotypy) są zawsze dopuszczalne. Stosuj kombinację powyższych technik (np. operator i inicjalizacja gwarantujące spełnienie części ograniczeń, pozostałe przekształć w funkcję kary)

10 Funkcje kary Zakładając problem minimalizacji, zastosowanie funkcji kary polega na przekształceniu funkcji celu f(x) w funkcję f'(x): f ' x = f x P d x, F gdzie d(x,f) jest odległością rozwiązania x od przestrzeni rozwiązań dopuszczalnych. P jest funkcją kary spełniającą warunek P(0)=0, P(d) jest funkcją rosnącą. Jeżeli w zadaniu mamy m ograniczeń, to funkcja kary może być zapisana jako: m P (d (x, F ))= i=1 ω i (d i ( x)) k gdzie d i (x) jest karą za naruszenie i-tego ograniczenia, ω i ograniczenia, k jest parametrem (często 1 lub dwa). Problem ze zdefiniowaniem wag ograniczeń: jest wagą i-tego Zbyt duże wagi: Każde rozwiązanie dopuszczalne jest w minimum lokalnym f'(x). Zbyt małe wagi: algorytm znajduje rozwiązanie niedopuszczalne.

Funkcja P 1 : E P 1 x = i=1 3-kolorowanie grafu - funkcja kary i x,c i i x,c i ={ 1 jeżeli C i x = false 0 jeżeli C i x =true C i to ograniczenie związane z i-tą krawędzią. Funkcja P 1 zlicza liczbę niepoprawnych krawędzi (łączących wierzchołki o identycznym kolorze). Funkcja P 2 zlicza liczbę niepoprawnych wierzchołków (wierzchołków dla których istnieje przynajmniej jeden wierzchołek połączony krawędzią, i mający taki sam kolor). Wynik algorytmu (algorytm skonfigurowany na minimalizację): Jeżeli zatrzymasz się z wartością funkcji kary równą 0, to rozwiązanie spełnia ograniczenia. Jeżeli zatrzymasz się z wartością funkcji kary większą od zera, to nie udało się znaleźć rozwiązania spełniającego ograniczenia, (nie ma gwarancji że takiego rozwiązania nie ma). 11

12 3-kolorowanie grafu - dekoder Rozwiązanie ma postać permutacji wierzchołków (Możemy wykorzystać operatory działające na permutacjach, w szczególności krzyżowanie OX). Dekoder odwzorowuje przestrzeń wszystkich permutacji w przestrzeń kolorowań w następujący sposób: Przypisuj kolory do wierzchołków w kolejności wskazanej w permutacji, próbując kolorów o rosnących numerach. (Jeżeli przypisanie wierzchołkowi v koloru pierwszego spowodowałoby naruszenie ograniczeń, ponieważ inny już pokolorowany wierzchołek połączony z v krawędzią ma kolor pierwszy, to spróbuj koloru drugiego). Jeżeli wierzchołek v nie da się pokolorować za pomocą trzech kolorów bez naruszenia ograniczeń, to zostaw go niepokolorowany). Funkcję dopasowania zdefiniuj jako liczbę wierzchołków, które pozostały niepokolorowane. Funkcja ta ma następującą własność jest równa minimum (0) jeżeli wszystkie wierzchołki zostały pokolorowane przy pomocy trzech kolorów. W ten sposób przekształciliśmy problem optymalizacji z ograniczeniami w inny problem optymalizacji z ograniczeniami, dla którego znamy operatory ewolucyjne zachowujące dopuszczalność rozwiązań.

13 Zagadnienie plecakowe: funkcja kary L Jedyne ograniczenie ma postać: g ( x)= x i m i < M 1 Funkcja kary P(x) może mieć postać: L P x ={ 1 x i m i M 2 L jeżeli x i m i M 1 0 w przeciwnym wypadku ω jest parametrem. Kara rośnie proporcjonalnie do kwadratu naruszenia ograniczenia. Funkcja dopasowania przyjmuje postać: L f ( x)= 1 x i w i P (x)

Zagadnienie plecakowe: algorytmy naprawy oraz dekodery Dodatkowy krok po krzyżowaniu i mutacji: naprawa rozwiązań niedopuszczalnych. Algorytm 1 (probabilistyczny): Losowo usuwaj przedmioty z plecaka aż uzyskasz spełnienie ograniczenia. Algorytm 2: (deterministyczny). Posortuj przedmioty w plecaku pod względem stosunku w i /m i. Usuwaj przedmioty począwszy od przedmiotu o najmniejszym stosunku w i /m i. Algorytm 2 może być również wykorzystany jako dekoder. Stosowany jest wtedy do obliczenia dopasowania osobnika. W tym przypadku osobnik otrzymuje dopasowanie rozwiązania dopuszczalnego otrzymanego w wyniku zastosowania algorytmu 2, ale nie jego genotyp. 14

15 Projekt z zagadnieniem plecakowym Powinien zawierać porównanie 4 algorytmów: Z funkcją kary. Z naprawą (dwa algorytmy) Z dekoderem.

16 Literatura Michalewicz Z., Algorytmy genetyczne + struktury danych=programy ewolucyjne, WNT, Warszawa 19, rozdział 7 poświęcony problemom optymalizacji z ograniczeniami. A. E. Eiben, J. Smith, Introduction to Evolutionary Computing, Springer, 2003, rozdział 7 poświęcony problemom z ograniczeniami. B. G. W. Craenen, A. E. Eiben, J. I. van Hemert, Comparing evolutionary algorithms on binary constraint satisfaction problems, IEEE Transactions on Evolutionary Computation, 7(5), s. 424-444, 2003. artykuł na temat problemów spełnienia ograniczeń. A. E. Smith and D. W. Coit, Penalty functions, Handbook of Evolutionary Computation, Oxford University Press and Institute of Physics Publishing, 1995 - omówienie i klasyfikacja funkcji kar.