Przeszukiwanie lokalne

Podobne dokumenty
Optymalizacja. Przeszukiwanie lokalne

Metody Optymalizacji: Przeszukiwanie z listą tabu

Techniki optymalizacji

Optymalizacja. Wybrane algorytmy

Techniki optymalizacji

Algorytmy metaheurystyczne podsumowanie

Optymalizacja. Symulowane wyżarzanie

Wybrane podstawowe rodzaje algorytmów

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

Tabu Search (Poszukiwanie z zakazami)

Techniki optymalizacji algorytmy metaheurystyczne

Algorytm genetyczny (genetic algorithm)-

Techniki optymalizacji

SZTUCZNA INTELIGENCJA

Metody Programowania

Schemat programowania dynamicznego (ang. dynamic programming)

1 Równania nieliniowe

Heurystyki. Strategie poszukiwań

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

Heurystyki w podejmowaniu decyzji

Wstęp do Sztucznej Inteligencji

Metody optymalizacji dyskretnej

Dobór parametrów algorytmu ewolucyjnego

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

Prawdopodobieństwo i statystyka

Uczenie sieci typu MLP

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

Optymalizacja ciągła

ALHE. prof. Jarosław Arabas semestr 15Z

Optymalizacja. Przeszukiwanie tabu

Algorytmy zrandomizowane

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Metody przeszukiwania lokalnego

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Zaawansowane programowanie

Prawdopodobieństwo geometryczne

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Obliczenia iteracyjne

Techniki optymalizacji

Optymalizacja. Przeszukiwanie tabu

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Tablice z haszowaniem

1 Wprowadzenie do algorytmiki

Programowanie w VB Proste algorytmy sortowania

Metody Rozmyte i Algorytmy Ewolucyjne

5. Rozwiązywanie układów równań liniowych

Algorytmy ewolucyjne 1

Zadania laboratoryjne i projektowe - wersja β

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

Metody numeryczne I Równania nieliniowe

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

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

Elementy modelowania matematycznego

PROBLEM PRZEPŁYWOWY Z PRZEZBROJENIAMI ORAZ CIĄGŁĄ PRACĄ MASZYN Wojciech BOŻEJKO, Radosław IDZIKOWSKI, Mieczysław WODECKI

AKADEMIA GÓRNICZO-HUTNICZA Wydział Matematyki Stosowanej ROZKŁAD NORMALNY ROZKŁAD GAUSSA

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

Prawdopodobieństwo i statystyka

ALGORYTMY I STRUKTURY DANYCH

Luty 2001 Algorytmy (7) 2000/2001

Wprowadzenie do algorytmiki

Optymalizacja ciągła

Planowanie drogi robota, algorytm A*

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

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Algorytmy heurystyczne w UCB dla DVRP

Algorytmy sztucznej inteligencji

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Wykład 1 Próba i populacja. Estymacja parametrów z wykorzystaniem metody bootstrap

Tablice z haszowaniem

Optymalizacja systemów

RISK-AWARE PROJECT SCHEDULING

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

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

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wstęp do programowania

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

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Optymalizacja ciągła

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

Metody numeryczne II

Definicja problemu programowania matematycznego

Funkcje dwóch zmiennych

Sortowanie przez wstawianie Insertion Sort

Problemy z ograniczeniami

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Algorytmy i Struktury Danych, 9. ćwiczenia

Metody inwersji Bayesowskiej -L7- IGF PAN, 21.IV.2005

Aproksymacja funkcji a regresja symboliczna

Algorytm selekcji Hoare a. Łukasz Miemus

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

Algorytm. Krótka historia algorytmów

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

Zadanie 1: Piętnastka

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

Wyk lad 2: Algorytmy heurystyczne

Algorytmy genetyczne (AG)

Metody numeryczne II

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.

Metody Obliczeniowe w Nauce i Technice

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

Transkrypt:

Przeszukiwanie lokalne 1. Klasyfikacja algorytmów 2. Przeszukiwanie lokalne

1. Klasyfikacja algorytmów Algorytmy dokładne znajdują rozwiązanie optymalne,

1. Klasyfikacja algorytmów Algorytmy dokładne znajdują rozwiązanie optymalne, dedykowane do pewnych problemów (specyficznych),

1. Klasyfikacja algorytmów Algorytmy dokładne znajdują rozwiązanie optymalne, dedykowane do pewnych problemów (specyficznych), oparte o przeszukiwanie wyczerpujące,

1. Klasyfikacja algorytmów Algorytmy dokładne znajdują rozwiązanie optymalne, dedykowane do pewnych problemów (specyficznych), oparte o przeszukiwanie wyczerpujące, oparte o schemat B&B,

1. Klasyfikacja algorytmów Algorytmy dokładne znajdują rozwiązanie optymalne, dedykowane do pewnych problemów (specyficznych), oparte o przeszukiwanie wyczerpujące, oparte o schemat B&B, oparte o schemat PD. Wymagają wygenerowania i sprawdzenia całej przestrzeni rozwiązań dopuszczalnych (X ). Proste w implementacji ze względu na konieczność systematycznego sposobu przeszukiwania X. Przeszukiwanie X zależy od reprezentacji rozwiązań. Wady...?

1. Klasyfikacja algorytmów Algorytmy aproksymacyjne znajdują rozwiązania przybliżone i... (dotyczy jakości rozwiązania)

1. Klasyfikacja algorytmów Algorytmy aproksymacyjne znajdują rozwiązania przybliżone i... (dotyczy jakości rozwiązania)... dają gwarancję znalezienia rozwiązania z określonym przybliżeniem,

1. Klasyfikacja algorytmów Algorytmy aproksymacyjne znajdują rozwiązania przybliżone i... (dotyczy jakości rozwiązania)... dają gwarancję znalezienia rozwiązania z określonym przybliżeniem, dedykowane dla określonych problemów NP-trudnych. Rzadko używane do rozwiązywania problemów rzeczywistych w praktyce.

1. Klasyfikacja algorytmów Algorytmy (meta)heurystyczne znajdują optima lokalne, ale bez... (dotyczy jakości rozwiązania)

1. Klasyfikacja algorytmów Algorytmy (meta)heurystyczne znajdują optima lokalne, ale bez... (dotyczy jakości rozwiązania)... gwarancji jego jakości,

1. Klasyfikacja algorytmów Algorytmy (meta)heurystyczne znajdują optima lokalne, ale bez... (dotyczy jakości rozwiązania)... gwarancji jego jakości, przeszukiwanie lokalne,

1. Klasyfikacja algorytmów Algorytmy (meta)heurystyczne znajdują optima lokalne, ale bez... (dotyczy jakości rozwiązania)... gwarancji jego jakości, przeszukiwanie lokalne, przeszukiwanie lokalne polepszane,

1. Klasyfikacja algorytmów Algorytmy (meta)heurystyczne znajdują optima lokalne, ale bez... (dotyczy jakości rozwiązania)... gwarancji jego jakości, przeszukiwanie lokalne, przeszukiwanie lokalne polepszane, algorytmy populacyjne,

1. Klasyfikacja algorytmów Algorytmy (meta)heurystyczne znajdują optima lokalne, ale bez... (dotyczy jakości rozwiązania)... gwarancji jego jakości, przeszukiwanie lokalne, przeszukiwanie lokalne polepszane, algorytmy populacyjne, algorytmy hybrydowe.

2. Przeszukiwanie lokalne Pytanie 1. Co oznacza lokalne?

2. Przeszukiwanie lokalne Pytanie 1. Co oznacza lokalne? Posługujemy się pojęciem sąsiedztwa. Sąsiedztwo rozwiązania x, N(x) X, to zbiór rozwiązań leżących blisko x.

2. Przeszukiwanie lokalne Pytanie 1. Co oznacza lokalne? Posługujemy się pojęciem sąsiedztwa. Sąsiedztwo rozwiązania x, N(x) X, to zbiór rozwiązań leżących blisko x. Pytanie 2. Jak jest definiowane sąsiedztwo w problemach ciągłych i dyskretnych?

2. Przeszukiwanie lokalne Pytanie 1. Co oznacza lokalne? Posługujemy się pojęciem sąsiedztwa. Sąsiedztwo rozwiązania x, N(x) X, to zbiór rozwiązań leżących blisko x. Pytanie 2. Jak jest definiowane sąsiedztwo w problemach ciągłych i dyskretnych? W problemach ciągłych N(x) definiowane jest przez funkcję odległości (metrykę).

2. Przeszukiwanie lokalne Pytanie 1. Co oznacza lokalne? Posługujemy się pojęciem sąsiedztwa. Sąsiedztwo rozwiązania x, N(x) X, to zbiór rozwiązań leżących blisko x. Pytanie 2. Jak jest definiowane sąsiedztwo w problemach ciągłych i dyskretnych? W problemach ciągłych N(x) definiowane jest przez funkcję odległości (metrykę). W problemach dyskretnych N(x) definiowane jest przez wszystkie możliwe transformacje x.

2. Przeszukiwanie lokalne Pytanie 1. Czym jest transformacja?

2. Przeszukiwanie lokalne Pytanie 1. Czym jest transformacja? Z x (będąc w x) można wykonać jeden ruch m ze zbioru możliwych ruchów M(x). Ruch m jest transformacją, która zastosowana do x daje nowe rozwiązanie x. Zatem n(x) = {x m M(x) x = m(x)}

Cechy dobrego sąsiedztwa Ograniczenie na rozmiar: dla każdego x, N(x) zawiera co najmniej jedno rozwiązanie x różne od x. N(x) nie może obejmować całej przestrzeni X - nie może być dokładne.

Cechy dobrego sąsiedztwa Ograniczenie na rozmiar: dla każdego x, N(x) zawiera co najmniej jedno rozwiązanie x różne od x. N(x) nie może obejmować całej przestrzeni X - nie może być dokładne. Podobieństwo sąsiadów: x N(x) niewiele różni się od x - ruch elementarny m z x do x nie może powodować konieczności konstruowania nowego rozwiązania.

Cechy dobrego sąsiedztwa Ograniczenie na rozmiar: dla każdego x, N(x) zawiera co najmniej jedno rozwiązanie x różne od x. N(x) nie może obejmować całej przestrzeni X - nie może być dokładne. Podobieństwo sąsiadów: x N(x) niewiele różni się od x - ruch elementarny m z x do x nie może powodować konieczności konstruowania nowego rozwiązania. Równouprawnienie niezależnie od początkowego wyboru (x 0 ) osiągalne powinno być każde rozwiązanie w X.

Sąsiedztwo Pojęcie otoczenia bądź sąsiedztwa punktu w przestrzeni definiuje się w analizie matematycznej i w optymalizacji ciągłej. W przestrzeni R n otoczeniem punktu x jest hipersfera o promieniu ɛ o środku w punkcie x. W problemach z dyskretną przestrzenią rozwiązań (np. permutacji n-elementowych) nie jest to już takie proste. Pytanie 1. Jak zatem definiować sąsiedztwo (otoczenie) w takiej przestrzeni?

Sąsiedztwo Pojęcie otoczenia bądź sąsiedztwa punktu w przestrzeni definiuje się w analizie matematycznej i w optymalizacji ciągłej. W przestrzeni R n otoczeniem punktu x jest hipersfera o promieniu ɛ o środku w punkcie x. W problemach z dyskretną przestrzenią rozwiązań (np. permutacji n-elementowych) nie jest to już takie proste. Pytanie 1. Jak zatem definiować sąsiedztwo (otoczenie) w takiej przestrzeni? Różnie i na wiele sposobów. W literaturze definiowane jest ono na trzy sposoby: sąsiedztwo typu insert, sąsiedztwo typu swap, sąsiedztwo typu invert.

Sąsiedztwem typu insert permutacji π =< π(1),..., π(n) > jest zbiór permutacji N I (π), gdzie każda permutacja π N I (π) powstaje z permutacji π przez wykonanie ruchu m typu insert. Ruch typu insert zdefiniowany jest przez parę liczb (i, j), i = 1,..., n, j = 1,..., n, i j i powoduje usunięcie elementu z pozycji i-tej i wstawieniu go na pozycję j-tą. Pytanie 2. Jak zatem wyglądać będzie permutacja π po wykonaniu ruchu (i, j), jeśli permutacja π ma postać: π =< π(1),..., π(i 1), π(i), π(i + 1),..., π(j 1), π(j), π(j + 1),..., π(n) >

Sąsiedztwem typu insert permutacji π =< π(1),..., π(n) > jest zbiór permutacji N I (π), gdzie każda permutacja π N I (π) powstaje z permutacji π przez wykonanie ruchu m typu insert. Ruch typu insert zdefiniowany jest przez parę liczb (i, j), i = 1,..., n, j = 1,..., n, i j i powoduje usunięcie elementu z pozycji i-tej i wstawieniu go na pozycję j-tą. Pytanie 2. Jak zatem wyglądać będzie permutacja π po wykonaniu ruchu (i, j), jeśli permutacja π ma postać: π =< π(1),..., π(i 1), π(i), π(i + 1),..., π(j 1), π(j), π(j + 1),..., π(n) > π =< π(1),..., π(i 1), π(j), π(i), π(i + 1),..., π(j 1), π(j + 1),..., π(n) >

Pytanie 3. Ile jest/może być permutacji w sąsiedztwie typu insert?

Pytanie 3. Ile jest/może być permutacji w sąsiedztwie typu insert? 1. Ponieważ dla ruchu (i, j) wartości i i j mogą się zmieniać od 1 do n i i j, ruchów m można wykonać n(n 1). 2. Ruch (i, i + 1) oraz (i + 1, i) powodują uzyskanie tej samej permutacji. Stąd liczba ruchów dających różne permutacje zmaleje o (n 1). W związku z tym, liczba permutacji w sąsiedztwie typu insert wynosi...

Pytanie 3. Ile jest/może być permutacji w sąsiedztwie typu insert? 1. Ponieważ dla ruchu (i, j) wartości i i j mogą się zmieniać od 1 do n i i j, ruchów m można wykonać n(n 1). 2. Ruch (i, i + 1) oraz (i + 1, i) powodują uzyskanie tej samej permutacji. Stąd liczba ruchów dających różne permutacje zmaleje o (n 1). W związku z tym, liczba permutacji w sąsiedztwie typu insert wynosi n(n 1) (n 1) = (n 1) 2 = O(n 2 ) czyli N I (n) = (n 1) 2 = O(n 2 )

Sąsiedztwem typu swap permutacji π =< π(1),..., π(n) > jest zbiór permutacji N S (π), gdzie każda permutacja π N S (π) powstaje z permutacji π przez wykonanie ruchu m typu swap. Ruch typu swap zdefiniowany jest przez parę liczb (i, j), i = 1,..., n, j = 1,..., n, i j i powoduje zamianę elementu z pozycji i-tej z elementem z pozycji j-tej. Pytanie 4. Jak zatem wyglądać będzie permutacja π po wykonaniu ruchu (i, j), jeśli permutacja π ma postać: π =< π(1),..., π(i 1), π(i), π(i + 1),..., π(j 1), π(j), π(j + 1),..., π(n) >

Sąsiedztwem typu swap permutacji π =< π(1),..., π(n) > jest zbiór permutacji N S (π), gdzie każda permutacja π N S (π) powstaje z permutacji π przez wykonanie ruchu m typu swap. Ruch typu swap zdefiniowany jest przez parę liczb (i, j), i = 1,..., n, j = 1,..., n, i j i powoduje zamianę elementu z pozycji i-tej z elementem z pozycji j-tej. Pytanie 4. Jak zatem wyglądać będzie permutacja π po wykonaniu ruchu (i, j), jeśli permutacja π ma postać: π =< π(1),..., π(i 1), π(i), π(i + 1),..., π(j 1), π(j), π(j + 1),..., π(n) > π =< π(1),..., π(i 1), π(j), π(i + 1),..., π(j 1), π(i), π(j + 1),..., π(n) >

Pytanie 5. Ile jest/może być permutacji w sąsiedztwie typu swap?

Pytanie 5. Ile jest/może być permutacji w sąsiedztwie typu swap? 1. Ponieważ dla ruchu (i, j) wartości i i j mogą się zmieniać od 1 do n i i j, ruchów m można wykonać n(n 1). 2. Ruch (i, j) oraz (j, i) powodują uzyskanie tej samej permutacji. Stąd liczba ruchów dających różne permutacje zmaleje dwukrotnie. W związku z tym, liczba permutacji w sąsiedztwie typu swap wynosi...

Pytanie 5. Ile jest/może być permutacji w sąsiedztwie typu swap? 1. Ponieważ dla ruchu (i, j) wartości i i j mogą się zmieniać od 1 do n i i j, ruchów m można wykonać n(n 1). 2. Ruch (i, j) oraz (j, i) powodują uzyskanie tej samej permutacji. Stąd liczba ruchów dających różne permutacje zmaleje dwukrotnie. W związku z tym, liczba permutacji w sąsiedztwie typu swap wynosi n(n 1)/2 = O(n 2 ) czyli N S (n) = n(n 1/2) = O(n 2 )

Sąsiedztwem typu invert permutacji π =< π(1),..., π(n) > jest zbiór permutacji N V (π), gdzie każda permutacja π N S (π) powstaje z permutacji π przez wykonanie ruchu m typu invert. Ruch typu invert zdefiniowany jest przez parę liczb (i, j), i = 1,..., n, j = 1,..., n, i j i powoduje odwrócenie w permutacji ciągu od elementu z pozycji i-tej do elementu z pozycji j-tej. Pytanie 6. Jak zatem wyglądać będzie permutacja π po wykonaniu ruchu (i, j), jeśli permutacja π ma postać: π =< π(1),..., π(i 1), π(i), π(i + 1),..., π(j 1), π(j), π(j + 1),..., π(n) >

Sąsiedztwem typu invert permutacji π =< π(1),..., π(n) > jest zbiór permutacji N V (π), gdzie każda permutacja π N S (π) powstaje z permutacji π przez wykonanie ruchu m typu invert. Ruch typu invert zdefiniowany jest przez parę liczb (i, j), i = 1,..., n, j = 1,..., n, i j i powoduje odwrócenie w permutacji ciągu od elementu z pozycji i-tej do elementu z pozycji j-tej. Pytanie 6. Jak zatem wyglądać będzie permutacja π po wykonaniu ruchu (i, j), jeśli permutacja π ma postać: π =< π(1),..., π(i 1), π(i), π(i + 1),..., π(j 1), π(j), π(j + 1),..., π(n) > π =< π(1),..., π(i 1), π(j), π(j 1),..., π(i + 1), π(i), π(j + 1),..., π(n) >

Pytanie 7. Ile jest/może być permutacji w sąsiedztwie typu invert?

Pytanie 7. Ile jest/może być permutacji w sąsiedztwie typu invert? 1. Ponieważ dla ruchu (i, j) wartości i i j mogą się zmieniać od 1 do n i i j, ruchów m można wykonać n(n 1). 2. Ruch (i, j) oraz (j, i) powodują uzyskanie tej samej permutacji. Stąd liczba ruchów dających różne permutacje zmaleje dwukrotnie. W związku z tym, liczba permutacji w sąsiedztwie typu invert wynosi...

Pytanie 7. Ile jest/może być permutacji w sąsiedztwie typu invert? 1. Ponieważ dla ruchu (i, j) wartości i i j mogą się zmieniać od 1 do n i i j, ruchów m można wykonać n(n 1). 2. Ruch (i, j) oraz (j, i) powodują uzyskanie tej samej permutacji. Stąd liczba ruchów dających różne permutacje zmaleje dwukrotnie. W związku z tym, liczba permutacji w sąsiedztwie typu invert wynosi n(n 1)/2 = O(n 2 ) czyli N V (n) = n(n 1/2) = O(n 2 )

Przykład sąsiedztwa dla TSP k-zamiana: N(x) to zbiór rozwiązań powstałych przez usunięcie k miast i wstawienie ich w inne miejsca - inna kolejność miast, nowa permutacja. 2-zamiana miast 3 i 8 1 2 3 4 5 6 7 8 9 1 2 8 4 5 6 7 3 9

Przykład sąsiedztwa dla TSP Wymiana łuków: N(x) to zbiór rozwiązań powstałych przez usunięcie k kolejnych miast i wstawienie ich w odwrotnej kolejności Wymiana łuków 3 i 8 1 2 [ 3 4 5 6 7 8] 9 1 2 [ 8 7 6 5 4 3] 9

Algorytm przeszukiwania lokalnego Wybierz rozwiązanie startowe x 0 w X (skonstruuj lub losowo) Powtarzaj dla k = 1, 2,... Wygeneruj nowe rozwiązanie x = N(x k 1 ) Jeśli x jest lepsze od x k 1, czyli f(x) < f(x k 1 ), wybierz x jako rozwiązanie bieżące, x k = x, w przeciwnym wypadku odrzuć x i przyjmij x k = x k 1....dopóki nie można poprawić rozwiązania bieżącego x k 1 (minimum lokalne).

Pytanie. Kiedy x def = x min czyli x min jest minimum lokalnym?

Pytanie. Kiedy x def = x min czyli x min jest minimum lokalnym? Definicja x min jest lokalnym minimum, jeśli: f(x min ) f(x) dla wszystkich x N(x min )

wersja zachłanna greedy wersja stroma steepest wybierz rozwiązanie startowe x 0 powtarzaj k = 1, 2,.... 1) przeglądaj N(x k 1 ) w losowej kolejności 1) wybierz x jako najlepsze rozwiązanie 1) dopóki nie znajdziesz rozwiązania 1) w N(x k 1 ) tzn. wybierz takie 1) x N(x k 1 ) takiego, że 1) x, że f(x ) f(x) dla wszystkich f(x ) < f(x k 1 ). x N(x k 1 ). 2) jeśli znaleziono x, to x k = x 2) jeśli f(x ) < f(x k 1 ) to przyjmij x k = x dopóki nie można poprawić rozwiązania bieżącego x k 1.

Pytanie. Która wersja jest lepsza?

Pytanie. Która wersja jest lepsza? Zależy od problemu i sąsiedztwa. Wersja stroma osiągnie minimum lokalne szybciej - przy mniejszej liczbie iteracji. dlaczego? Zachłanna nie przegląda całego sąsiedztwa. Każda osiągnie najbliższe (pierwsze) minimum lokalne.

Plusy dodatnie... jak wszystkie metaheurystyki do zastosowania w dowolnym problemie kombinatorycznym, wystarczy (czy to łatwe?) dostosować definicję sąsiedztwa. Plusy ujemne... jak wszystkie metaheurystyki znajdują (dobrze, że zawsze) minimum lokalne (a kiedy na pewno globalne?), nie dają gwarancji jakości rozwiązania - zależna od wyboru x 0.

Pytanie. Jak zmodyfikować LS, aby uniknąć ww. wad? 1.... 2.... 3.... 4.... 5....

Pytanie. Jak zmodyfikować LS, aby uniknąć ww. wad? 1. Bardziej złożona definicja sąsiedztwa - większy zakres przeszukiwania X kosztowne obliczeniowo. 2. Wybrać dobre x 0 - tylko jak je skonstruować? 3. Wykonać algorytm wielokrotnie - kosztowne obliczeniowo na jednej maszynie; nie, jeśli zrównoleglimy proces. 4. Akceptowanie (ograniczone) gorszych wartości funkcji celu...? 5. Zapamiętywanie i unikanie (chwilowe) sprawdzonych rozwiązań w N(x k )...?

Pytanie. Jak zmodyfikować LS, aby uniknąć ww. wad? 1. Bardziej złożona definicja sąsiedztwa - większy zakres przeszukiwania X kosztowne obliczeniowo. 2. Wybrać dobre x 0 - tylko jak je skonstruować? 3. Wykonać algorytm wielokrotnie - kosztowne obliczeniowo na jednej maszynie; nie, jeśli zrównoleglić proces. 4. Akceptowanie (ograniczone) gorszych wartości funkcji celu (SA). 5. Zapamiętywanie i unikanie (chwilowe) sprawdzonych rozwiązań w N(x k ) (TS). ad.3. Lokalne przeszukiwanie z różnych punktów (ang. multiply start local search). Lokalne przeszukiwanie ze zmiennym sąsiedztwem (ang. variable neighborhood locale search). Iteracyjne przeszukiwanie lokalne (ang. iterated local search).

Symulowane wyżarzanie Metoda wzorowana na zjawiskach zachodzących w procesie ochładzania (zestalania) cieczy i stygnięcia metali. Przy stopniowym, powolnym ochładzaniu cząsteczki ciała oddając energię rozkładają się sposób systematyczny tworząc równomierne struktury. Krótka historia algorytmu 1. Nicolas Metropolis.The Beginning of the Monte Carlo Method. Los Alamos Science, No. 15, Page 125 2. N. Metropolis; A.W. Rosenbluth; M.N. Rosenbluth; A.H. Teller and E. Teller (1953). Equation of State Calculations by Fast Computing Machines. Journal of Chemical Physics. 21 (6): 1087 1092 3. Khachaturyan, A.; Semenovskaya, S.; Vainshtein, B. (1979). Statistical-Thermodynamic Approach to Determination of Structure Amplitude Phases. Sov.Phys. Crystallography. 24 (5): 519 524 4. Khachaturyan, A.; Semenovskaya, S.; Vainshtein, B. (1981). The Thermodynamic Approach to the Structure Analysis of Crystals. Acta Crystallographica (A37): 742 754 5. Granville, V.; Krivanek, M.; Rasson, J.-P. (1994). Simulated annealing: A proof of convergence. IEEE Transactions on Pattern Analysis and Machine Intelligence. 16 (6): 652 656

Iteracyjne wspinanie się 1. inicjuj t (liczba iteracji), best 2. (pętla zewnętrzna) wybierz losowo rozwiązanie x, oceń x 3. (pętla wewnętrzna) wybierz wszystkie rozwiązania z otoczenia, wybierz rozwiązanie y, oceń y i zamień jeśli jest lepsze niż x; else wyjdź i wykonaj kolejną iterację Wady 1. utyka w lokalnym ekstremum 2. wyszukanie lepszego rozwiązania możliwe tylko po kolejnym uruchomieniu w innym punkcie początkowym Słabo

Stochastyczne wspinanie się 1. inicjuj t, wybierz losowo x, oceń x 2. (pętla) wybierz z otoczenia rozwiązanie y, oceń y, wybierz x lub y Jak wybierane jest rozwiązanie?

Stochastyczne wspinanie się 1. inicjuj t, wybierz losowo x, oceń x 2. (pętla) wybierz z otoczenia rozwiązanie y, oceń y, wybierz x lub y Wybór y następuje z prawdopodobieństwem Jaka jest rola parametru T? p = 1 1 + e g(x) g(y) T

t 0 Algorytm symulowanego wyżarzania inicjuj T wybierz losowo rozwiązanie x oceń x - wylicz g(x) repeat repeat wybierz nowe rozwiązanie y w otoczeniu x jeżeli g(y) < g(x) wtedy x y w przeciwnym przypadku, jeżeli p[0, 1) < e g(y) g(x) T, wtedy x y until warunek zakończenia T f(t, t) t t + 1 until (kryterium zakończenia)

Najważniejsze pytania związane z rozważanym problemem 1. jakie jest rozwiązanie? 2. jakie jest sąsiedztwo rozwiązania? 3. jaki jest koszt rozwiązania? 4. jak ustalić rozwiązanie początkowe?

Najważniejsze pytania związane z samym algorytmem 1. jak ustalić T (temperaturę) początkową? 2. jak ustalić współczynnik schładzania f(t, t)? 3. jak ustalić warunek zakończenia iteracji? 4. jak ustalić kryterium zatrzymania algorytmu?