techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf ·...
TRANSCRIPT
![Page 1: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/1.jpg)
Techniki optymalizacji algorytmy metaheurystyczne
![Page 2: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/2.jpg)
Zakres przedmiotu – część AJ
Wprowadzenie
Dokładne i heurystyczne algorytmy optymalizacji
Przeszukiwanie lokalne
Metaheurystyki oparte na lokalnym przeszukiwaniu
Symulowane wyżarzanie
Przeszukiwanie tabu
Iteracyjne przeszukiwanie lokalne
![Page 3: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/3.jpg)
Zakres przedmiotu – część AJ
Algorytmy populacyjne
Algorytmy kolonii mrówek
Algorytmy ewolucyjne
Hybrydowe algorytmy ewolucyjne
Ograniczenia w algorytmach metaheurysycznych
Konstrukcja algorytmów metaheurystycznych
Wielokryterialne algorytmy metaheurystyczne
![Page 4: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/4.jpg)
Sformułowanie problemu optymalizacji – myślenie w kategoriach celów
Myślenie regułowe
Co zrobić aby...?Co zrobić jeżeli...?
Optymalizacja
•Jakie są moje cele? Co chcę osiągnąć?
•Jakie decyzje mogę podjąć?
•Jakie ograniczenia muszę uwzględnić?
•Jak ocenić wpływ decyzjina cele?
![Page 5: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/5.jpg)
Przykład – ustalanie lokalizacji towarów w zautomatyzowanym magazynie
Myślenie regułowe
Co zrobić aby...?Co zrobić jeżeli...?
Jeżeli towar jest często zamawiany,to należy go umieścić blisko obszarukompletowania
![Page 6: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/6.jpg)
Przykład – ustalanie lokalizacji towarów w zautomatyzowanym magazynie
•Średnia długość drogi podczas kompletowania zlecenia powinna być jak najkrótsza.
•Przydział towarów do lokalizacjiw magazynie
•Przydział każdego produktu.•Ograniczenia technologiczne
•Funkcja nieliniowa służąca do obliczania średniej długości drogi
•Jakie są moje cele? Co chcę osiągnąć?
•Jakie decyzje mogę podjąć?
•Jakie ograniczenia muszę uwzględnić?
•Jak ocenić wpływ decyzjina cele?
![Page 7: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/7.jpg)
Elementy zagadnienia optymalizacji
•Jakie są moje cele? Co chcę osiągnąć?
•Jakie decyzje mogę podjąć?
•Jakie ograniczenia muszę uwzględnić?
•Jak ocenić wpływ decyzjina cele?
•Kryteria. Funkcje celu
•Zmienne decyzyjne
•Ograniczenia. Przestrzeń rozwiązań dopuszczalnych
•Sposób obliczania funkcji celu:•Analityczny•Symulacyjny
![Page 8: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/8.jpg)
Przykład – ustalanie lokalizacji towarów w zautomatyzowanym magazynie
•Kryteria. Funkcje celu
•Zmienne decyzyjne
•Ograniczenia. Przestrzeń rozwiązań dopuszczalnych
•Sposób obliczania funkcji celu:•Analityczny•Symulacyjny
•Średnia długość drogi podczas kompletowania zlecenia.
•Przydział towarów do lokalizacjiw magazynie
•Przydział każdego produktu.•Ograniczenia technologiczne
•Funkcja nieliniowa
![Page 9: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/9.jpg)
Współczesna optymalizacja a badania operacyjne
Ogromny rozwój metod i narzędzi optymalizacji. Znacznie szerszy zakres zastosowania.
Badania operacyjne koncentrowały się na ciągłych problemach liniowych
Integracja z rozwiązaniami informatycznymi, np. wykorzystanie danych
Różnorodne związki ze sztuczną inteligencją
![Page 10: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/10.jpg)
Problem optymalizacji
minimalizuj/maksymalizuj z = f(x)
przy ograniczeniach (p.o)
x S
![Page 11: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/11.jpg)
Problem optymalizacji
minimalizuj z = f(x)
=
maksymalizuj z’ = -f(x)
![Page 12: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/12.jpg)
Problem programowania matematycznego
Jeżeli rozwiązanie jest zdefiniowane jako wektor zmiennych:
x Rn, t.j. x = {x1,…, xn}
a ograniczenia jako zbiór równości/nierówności:
x S gl(x) ≤ / ≥ / = 0, j=1,…,L
mamy do czynienia z problemem programowania matematycznego
![Page 13: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/13.jpg)
Rodzaje problemów programowania matematycznego
Jeżeli funkcja celu i ograniczenia są liniowe liniowy problem programowania matematycznego
Jeżeli funkcja celu lub co najmniej jedno ograniczenie są nieliniowe nieliniowy problem programowania matematycznego
![Page 14: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/14.jpg)
Rodzaje problemów programowania matematycznego
Jeżeli zmienne są ciągłe ciągły problem programowania matematycznego
Jeżeli zmienne są dyskretne dyskretny problem programowania matematycznego
Jeżeli zmienne są mieszane ciągłe i dyskretne mieszany problem programowania matematycznego
![Page 15: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/15.jpg)
Rodzaje problemów programowania matematycznego
Jeżeli zmienne są całkowitoliczbowe całkowitoliczbowy problem programowania matematycznego
Jeżeli zmienne są binarne binarny problem programowania matematycznego
![Page 16: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/16.jpg)
Problem optymalizacji kombinatorycznej
Dyskretny i skończony zbiór rozwiązań
Struktura kombinatoryczna?
Zawsze da się zdefiniować jako binarny/dyskretny problem programowania matematycznego…
… ale nie zawsze warto
![Page 17: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/17.jpg)
Problem optymalizacji kombinatorycznej
Problem optymalizacji kombinatorycznej jest problemem minimalizacji bądź
maksymalizacji i charakteryzuje się zbiorem instancji
Instancja jest parą (S, f)
S oznacza skończony zbiór wszystkich możliwych rozwiązań
f jest odwzorowaniem definiowanym jako
f : S R
![Page 18: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/18.jpg)
Rozwiązanie (globalnie) optymalne
W przypadku minimalizacji rozwiązanie xopt S które spełnia
f (xopt) f(x) dla wszystkich x S
W przypadku maksymalizacjirozwiązanie xopt S które spełnia
f (xopt) f(x) dla wszystkich x S
![Page 19: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/19.jpg)
Klasyfikacja algorytmówoptymalizacji
algorytmy dokładne przeszukiwanie wyczerpujące (exhaustive),
podziału i ograniczeń (B&B),
programowanie dynamiczne
algorytmy heurystyczne specjalizowane
metaheurystyczne:
• losowego przeszukiwania (random search)
• lokalnego przeszukiwania i odmiany• symulowane wyżarzanie
• przeszukiwanie tabu
• genetyczne/ewolucyjne
• mrówkowe, świetlikowe…
• hybrydy
• …
![Page 20: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/20.jpg)
Klasyfikacja algorytmów (2)
Ponadto w obu klasach można wyróżnić
algorytmy ogólne (general algorithms) –niezależne od rozwiązywanego problemu (np. B&B, metaheurystyki)
oraz algorytmy dopasowywane (tailored algorithms) – wykorzystujące specyficzną wiedzę o problemie (np. heurystyki priorytetowe w szeregowaniu)
![Page 21: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/21.jpg)
Dlaczego problemy mogą być trudne do rozwiązania
Duża liczba możliwych rozwiązań przeszukanie całej przestrzeni rozwiązań dopuszczalnych w celu znalezienia najlepszego jest nierealne
Problem jest złożony (złożoność obliczeniowa),użycie modeli uproszczonych i rezultaty są bezużyteczne
Funkcja oceny jest obarczona niepewnością
Potencjalne rozwiązania mocno ograniczoneznalezienie jednego dopuszczalnego jest problemem
![Page 22: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/22.jpg)
Dlaczego problemy mogą być trudne do rozwiązania
Duża liczba możliwych rozwiązań przeszukanie całej przestrzeni rozwiązań dopuszczalnych w celu znalezienia najlepszego jest nierealne
Problem jest b. złożony,użycie modeli uproszczonych i rezultaty są bezużyteczne
Funkcja oceny jest obarczona niepewnością
Potencjalne rozwiązania mocno ograniczoneznalezienie jednego dopuszczalnego jest problemem
![Page 23: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/23.jpg)
Duża liczba rozwiązań
Problem spełnienia wyrażenia logicznego (SAT) np. problem 100 zmiennych
(dwie możliwości dla zmiennej, 100 zmiennych)
TRUExxxxxxxF ...)()()( 342313342313
30100 102 S
![Page 24: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/24.jpg)
Duża liczba rozwiązań
Problem komiwojażera (TSP – travelling salesperson problem)
Liczba rozwiązań (n-1)! / 2
Liczba wierzchołków
Liczba rozwiązań
5 12
10 181440
20 6,08E+16
50 3,04E+62
100 4,67E+155
![Page 25: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/25.jpg)
Dlaczego problemy mogą być trudne do rozwiązania
Duża liczba możliwych rozwiązań przeszukanie całej przestrzeni rozwiązań dopuszczalnych w celu znalezienia najlepszego jest nierealne
Problem jest b. złożony,użycie modeli uproszczonych i rezultaty są bezużyteczne
Funkcja oceny jest obarczona niepewnością
Potencjalne rozwiązania mocno ograniczoneznalezienie jednego dopuszczalnego jest problemem
![Page 26: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/26.jpg)
Modelowanie problemu
PROBLEM MODEL ROZWIĄZANIE
Model - przybliżenie rzeczywistości
Rozwiązanie problem
Np. Problem transportowy z nieliniową i nieciągłąfunkcją celu
Dwa sposoby rozwiązania
uprościć model, żeby pasował do tradycyjnego modelu i metody rozwiązania
wykorzystać nietradycyjne podejście
![Page 27: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/27.jpg)
Dlaczego problemy mogą być trudne do rozwiązania
Duża liczba możliwych rozwiązań przeszukanie całej przestrzeni rozwiązań dopuszczalnych w celu znalezienia najlepszego jest nierealne
Problem jest b. złożony,użycie modeli uproszczonych i rezultaty są bezużyteczne
Funkcja oceny jest obarczona niepewnością
Potencjalne rozwiązania mocno ograniczoneznalezienie jednego dopuszczalnego jest problemem
![Page 28: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/28.jpg)
Dlaczego problemy mogą być trudne do rozwiązania
Duża liczba możliwych rozwiązań przeszukanie całej przestrzeni rozwiązań dopuszczalnych w celu znalezienia najlepszego jest nierealne
Problem jest b. złożony,użycie modeli uproszczonych i rezultaty są bezużyteczne
Funkcja oceny jest obarczona niepewnością
Potencjalne rozwiązania mocno ograniczone
![Page 29: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/29.jpg)
Przykłady problemów kombinatorycznych
![Page 30: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/30.jpg)
Problem komiwojażera (TSP)
![Page 31: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/31.jpg)
Problem komiwojażera (TSP)
![Page 32: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/32.jpg)
Problem komiwojażera (TSP)
![Page 33: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/33.jpg)
Problem kwadratowego przydziału (QAP)
Dane
Odległości pomiędzy możliwymi lokalizacjami
Przepływy pomiędzy czynnościami
Przykład – lokalizacja personelu medycznego
![Page 34: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/34.jpg)
Problem kwadratowego przydziału (QAP)
1
3
2
b12
b13
b23
![Page 35: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/35.jpg)
Problem podziału grafu (GPP)
Dane:
Graf G(V, E) składający się z n wierzchołków
V = { v1, v2, ... vn} oraz zbiór niezorientowanych łuków E łączących pary wierzchołków.
![Page 36: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/36.jpg)
Problem podziału grafu (GPP)
Eij – macierz połączeń
Eij = 1 jeśli vi jest połączony z vj
0 w przeciwnym wypadku
Eij = Eji
![Page 37: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/37.jpg)
Problem podziału grafu (GPP)
Należy dokonać podziału grafu G na dwa rozłączne podzbiory V1 i V2 , takie, że V1 V2 = V
Liczba połączeń pomiędzy zbiorami wynosi
21 ,
21 ],[VjVi
ijEVVC
![Page 38: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/38.jpg)
Problem podziału grafu (GPP)
![Page 39: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/39.jpg)
Problem marszrutyzacji
pojazdów (VRP)
Należy odwiedzić wszystkie wierzchołki
korzystając ze zbioru pojazdów
© 1997-2007 Andrzej Jaszkiewicz. Wyłącznie
![Page 40: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/40.jpg)
Co jest potrzebne do zaprojektowania algorytmu
Reprezentacja rozwiązania
Cel
Funkcja oceny
![Page 41: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/41.jpg)
Reprezentacja rozwiązania
Ciąg binarny
Reprezentacja zmiennoprzecinkowa, np. programowanie nieliniowe
Permutacja, np. TSP, QAP
Macierz
Drzewo
![Page 42: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/42.jpg)
Exhaustive 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
![Page 43: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/43.jpg)
Exhaustive search
0000 – 0
0001 – 1
0010 – 2
0011 – 3
...
Ale można inaczej dzieląc S. Jak?
![Page 44: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/44.jpg)
Exhaustive search (2)
Wielokrotny podział na dwie przestrzenie, x1 = T, x1 = F, ...
x1=T x1=F
x2=T x2=F x2=T x2=F
![Page 45: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/45.jpg)
Exhaustive search - TSP
Permutacja dopuszczalna, np. nie
1-2-3-1-4
Liczba permutacji – n!
Rekurencyjne generowanie permutacji ustalenie pierwszej pozycji
generowanie (n-1)! permutacji dla ustalonej pierwszej pozycji ...
![Page 46: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/46.jpg)
Branch & Bound
![Page 47: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/47.jpg)
Przeszukiwanie losowe
Powtarzaj
Wygeneruj losowe rozwiązanie x
Do spełnienia warunków stopu
Zwróć najlepsze znalezione rozwiązanie
![Page 48: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/48.jpg)
Heurystyki zachłanne (greedy)
Konstrukcja rozwiązania poprzez dodawania kolejnych elementów np. wierzchołków (łuków)
W każdym kroku dodawany jest jeden, najlepszy element
![Page 49: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/49.jpg)
Heurystyki zachłanne (greedy)
Utwórz rozwiązanie początkowe, np.x := Ø
powtarzaj
dodaj do x lokalnie najlepszy element nie wchodzący jeszcze w skład rozwiązania
dopóki nie utworzono pełnego rozwiązania
![Page 50: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/50.jpg)
Przykłady heurystyk zachłannych
NN (Nearest Neighbor) Iteracyjne dodawanie do trasy najbliżej leżącego miasta.
Greedy cycle Trasa jest budowana tak, że zawsze tworzy cykl
Hamiltona. W każdej iteracji dodawany jest jeden najkrótszy łuk z pozostałych dostępnych.
Clarke-Wright (dla VRP) Na początku każde miasto połączone z bazą, potem
iteracyjna eliminacja takiego połączenia z bazą (przejazd bezpośrednio do miasta), która da największe oszczędności
![Page 51: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/51.jpg)
NN przykład
![Page 52: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/52.jpg)
NN przykład
![Page 53: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/53.jpg)
NN przykład
![Page 54: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/54.jpg)
NN przykład
![Page 55: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/55.jpg)
NN przykład
![Page 56: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/56.jpg)
NN przykład
![Page 57: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/57.jpg)
NN przykład
![Page 58: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/58.jpg)
NN przykład
![Page 59: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/59.jpg)
NN przykład
![Page 60: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/60.jpg)
Greedy cycle przykład
![Page 61: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/61.jpg)
Greedy cycle przykład
![Page 62: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/62.jpg)
Greedy cycle przykład
![Page 63: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/63.jpg)
Greedy cycle przykład
![Page 64: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/64.jpg)
Greedy cycle przykład
![Page 65: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/65.jpg)
Greedy cycle przykład
![Page 66: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/66.jpg)
Greedy cycle przykład
![Page 67: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/67.jpg)
NN przykład
![Page 68: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/68.jpg)
GRASPGreedy Randomized Adaptive Search Procedure
T.A. Feo, M.G.C. Resende, Greedy Randomized Adaptive Search Procedures, Journal of Global Optimization 6, 109-133, 1995. http://www.research.att.com/~mgcr/papers.html
Wadą heurystyk zachłannych jest ich determinizm, wystartowane z tego samego punktu (np. NN z tego samego wierzchołka), tworzą to samo rozwiązanie
GRASP łączy zachłanność z losowością
![Page 69: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/69.jpg)
GRASPKonstrukcja dobrego rozwiązania
Dokładanie pojedynczych elementów do rozwiązania
Uporządkowana ograniczona lista kandydatów według tzw. funkcji zachłannej, która bierze pod uwagę elementy znajdujące się już w rozwiązaniu
Wybór losowy jednego z najlepszych kandydatów z listy (zwykle nie jest to ten najlepszy)
![Page 70: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/70.jpg)
Zachłanna procedura z elementem losowym
Utwórz rozwiązanie początkowe, np.x := Ø
powtarzajzbuduj ograniczoną listę kandydatów RCL
(restricted candidate list) najlepszych elementów nie wchodzących jeszcze w skład rozwiązania
dodaj do x losowo wybrany element z RCL
dopóki nie utworzono pełnego rozwiązania
![Page 71: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/71.jpg)
Konstrukcja ograniczonej listy kandydatów RCL
Pierwsza faza c(e) – koszt przyrostu f. celu związany z
włączeniem elementu e E do rozwiązania
cmin, cmax – najmniejszy i największy koszt przyrostu
RCL jest budowana z elementów o najmniejszym przyroście
Ograniczenie ze względu na ilość (p elementów)
ze względu na jakość ()• c(e) [cmin, cmin + (cmax - cmin )]
• = 0? = 1?
![Page 72: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/72.jpg)
Regret heuristics
Rozważmy wszystkie możliwe uporządkowane rosnąco koszty wstawienia dwóch elementów: A: 10, 11, 12, 13, 13, 14
B: 20, 40, 45, 50, 50, 50
Który element należałoby wybrać? Zgodnie z zasadą zachłanną A…
… ale wtedy może się okazać, że stracimy opcję wstawienia B z kosztem 20 i zostanie nam tylko koszt 40 lub więcej
![Page 73: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/73.jpg)
Regret heuristics
k-żal (k-regret) to suma różnic pomiędzy najlepszym, a k kolejnymi opcjami wstawienia
Wybieramy element o największym żalu
Wstawiamy go w najlepsze miejsce
![Page 74: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/74.jpg)
Regret heuristics
A
B
![Page 75: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/75.jpg)
Techniki optymalizacji
Przeszukiwanie lokalne
![Page 76: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/76.jpg)
Idea sąsiedztwa
S
x
N(x)
![Page 77: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/77.jpg)
Definicja sąsiedztwa
x S
zbiór N(x) S rozwiązań, które leżą „blisko” rozwiązania x
funkcja odległości
dist: S S R
sąsiedztwo
N(x) = {y S : dist(x, y) }
każde rozwiązanie y N(x) jest nazywane rozwiązaniem sąsiednim lub po prostu sąsiadem x
![Page 78: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/78.jpg)
Definicja sąsiedztwa (2)
zakładamy, że y N(x) x N(y)
N(x) można uzyskać z x wykonując jedenruch (modyfikację) m z pewnego zbiorumożliwych ruchów M(x)
ruch m jest pewną transformacją, którazastosowana do rozwiązania x dajerozwiązanie y
Sąsiedztwo można więc zdefiniowaćnastępująco:
N(x) = {y S : m M(x) | y = m(x)}
![Page 79: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/79.jpg)
Cechy sąsiedztwa
ograniczenie na rozmiar• dla każdego x jego N(x) zawiera co najmniej jedno
rozwiązanie y rożne od x
• nie może obejmować całej przestrzeni rozwiązań dopuszczalnych (nie może być dokładna)
podobieństwo sąsiadów• y N(x) niewiele różni się od x, tak by przejście
(elementarny ruch) od x do y nie wymagało za każdym razem konstruowania nowego rozwiązania „od podstaw”
równouprawnienie• niezależnie od wyboru rozwiązania początkowego
powinno być osiągalne każde rozwiązanie należące do S
![Page 80: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/80.jpg)
1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 – 9
1 – 2 – 8 – 4 – 5 – 6 – 7 – 3 – 9
Przykład sąsiedztwa - TSP
k-zamiana (ang. k-swap, k-opt)• N(x) – zbiór rozwiązań powstałych przez
usunięcie k miast i wstawienie ich w innej kolejności
2-zamiana
|N(x)| = n(n-1)/2
![Page 81: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/81.jpg)
1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 – 9
1 – 2 – 8 – 4 – 5 – 6 – 7 – 3 – 9
Sąsiedztwo TSPwymiana miast
N2(3, 8)
![Page 82: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/82.jpg)
1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 – 9
1 – 2 – 8 – 7 – 6 – 5 – 4 – 3 – 9
Sąsiedztwo TSPwymiana łuków
N2(3, 8)
![Page 83: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/83.jpg)
2-opt i 3-opt
![Page 84: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/84.jpg)
Sąsiedztwo QAP
zamiana lokalizacji
1-2-3 1-3-2
1
3
2
b12
b13
b2
3
1
3
2
b12
b2
3
b13a12
a23
a13
![Page 85: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/85.jpg)
Sąsiedztwo GPP
Podejście alternatywne -generowanie rozwiązań niedopuszczalnych |V1| |V2|.
F(V1, V2) = + (|V1| - |V2|)2
21 , VjViijE
- dodatnia stała (kara za niedopuszczalny podział).
Sąsiedztwo – wszystkie takie podziały (V’1, V’2), że
V’1 = V1 {x} i V’2 = V2 \{x} lub V’1 = V1 \{y} i V’2 = V2 {y},
x V2, y V1.
![Page 86: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/86.jpg)
Przeszukiwanie lokalneEksploracja sąsiedztwa x
1. Wybierz rozwiązanie w S i oceń je, zdefiniuj jako rozwiązanie bieżące
2. Dokonaj generacji nowego rozwiązania z rozwiązania bieżącego i oceń je
3. Jeśli nowe rozwiązanie jest lepsze zdefiniuj jako rozwiązanie bieżące, w przeciwnym wypadku odrzuć
4. Powtarzaj kroki 2 i 3 dopóki można uzyskać poprawę
![Page 87: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/87.jpg)
Lokalne optimum
xmin jest lokalnym minimum jeśli
f(xmin) f(y), dla wszystkich y N(xmin)
xmax jest lokalnym maksimum jeśli
f(xmax) f(y), dla wszystkich y N(xmax)
![Page 88: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/88.jpg)
Lokalne przeszukiwanie
Wersja zachłanna(greedy)
Wygeneruj rozwiązanie x
powtarzaj
dla każdego y N(x) w losowej kolejności
jeżeli f(y) > f(x) to
x := y
dopóki nie znaleziono lepszego rozwiązania
Wersja stroma (steepest)
Wygeneruj rozwiązanie x
powtarzaj
znajdź najlepsze
rozwiązanie y N(x)
jeżeli f(y) > f(x) to
x := y
dopóki nie znaleziono lepszego rozwiązania
![Page 89: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/89.jpg)
Efektywność lokalnego przeszukiwania
więcej rozwiązań jest ocenianych niżakceptowanych
wersja stroma
wersja zachłanna
ocena rozwiązań sąsiednich jest operacją krytyczną z punktu widzenia efektywności algorytmu
![Page 90: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/90.jpg)
Efektywność lokalnego przeszukiwania
Bezpośrednia implementacja algorytmów LS okazuje się dla wielu typowych problemów bardzo nieefektywna
Rozwiązania należące do sąsiedztwa są jawnie konstruowane przed ich oceną –kosztowna operacja
Większość ocenionych rozwiązań nie zostaje akceptowana - nie warto ich jawnie konstruować, wystarczy znać ich wartość f. celu
![Page 91: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/91.jpg)
Efektywność lokalnego przeszukiwania
Czy można obliczyć wartość f. celu bez konstrukcji rozwiązania?
fm(x)
![Page 92: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/92.jpg)
Efektywne przeglądanie sąsiedztwa (delta)
Ocenia się ruchy(zmianę f. celu), nie rozwiązania!
Rozwiązania sąsiednie nie muszą być jawnie konstruowane!
Dopiero tu modyfikowane jest rozwiązanie
Wersja stroma
Wygeneruj rozwiązanie x
powtarzaj
znajdź najlepszy ruch m M(x)
jeżeli f(m(x)) > f(x) to
x := m(x)
dopóki nie znaleziono lepszego rozwiązania
![Page 93: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/93.jpg)
Ocena ruchów –problem komiwojażera (TSP)
Ocena ruchu:
Różnica kosztów dwóch dodawanych i dwóch usuwanych łuków
![Page 94: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/94.jpg)
Problem marszrutyzacji pojazdów – (vehicle routing problem VRP)
Należy odwiedzić wszystkie wierzchołki korzystając ze zbioru pojazdów
© 1997-2007 Andrzej Jaszkiewicz. Wyłącznie
![Page 95: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/95.jpg)
Rozwiązanie i lokalny ruch/modyfikacja rozwiązania
…
Ruch to przesunięcie wierzchołka pomiędzy trasami
Ruch modyfikuje zawsze tylko dwie trasy
![Page 96: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/96.jpg)
Koncepcja sąsiedztwa
Sąsiedztwo N(x) – zbiór rozwiązań, które można uzyskać lokalnie modyfikując x
Ruch m – lokalna modyfikacja x do y, y = m(x)
M(x) – zbiór ruchów, które można zastosować do
x
N(x) = {y S : m M(x)|y = m(x)}
Ruchy powinny modyfikować rozwiązania lokalnie
w przestrzeni rozwiązań i funkcji celu
Rozmiar M(x) (N(x)) powinien być dużo mniejszy od całej przestrzeni rozwiązań
![Page 97: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/97.jpg)
Lokalne przeszukiwanie w wersji stromej
Wygeneruj rozwiązanie x
powtarzaj
znajdź najlepsze rozwiązanie yN(x)
jeżeli f(y) > f(x) to
x := y (zaakceptuj y)
dopóki nie znaleziono lepszego rozwiązania po przejrzeniu całego sąsiedztwa
![Page 98: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/98.jpg)
Złożoność jednej iteracji lokalnego przeszukiwania przy najprostszej implementacji
W – liczba wierzchołków
T – liczba pojazdów/tras
Liczba ruchów |M(x)| = W(T-1)
Nakład na stworzenie rozwiązania sąsiedniego – T- tyle tras jest tworzonych w rozwiązaniu sąsiednim
Złożoność jednej iteracji – T W(T-1)
Zakładamy, że utworzenie trasy od podstaw jest tak samo czasochłonne jak jej modyfikacja – traktowane jako operacja elementarna – jednostka czasu
![Page 99: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/99.jpg)
Efektywne ocenianie ruchów (delta)
Większość ruchów jest tylko oceniana, a nie wykonywana
Ocena ruchu wymaga zmodyfikowania dwóch tras
Nakład na ocenienie ruchu – 2 (modyfikowane są dwie trasy)
Złożoność jednej iteracji – 2 W(T-1)
![Page 100: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/100.jpg)
Wykorzystanie ocen ruchów z poprzednich iteracji
Dla yN(x) z reguły N(x)N(y)=
lub |N(x)N(y)| <<|N(x)|
Ale M(x)M(y) może być liczny tzn. wiele ruchów pozostaje taka sama po wykonaniu ruchu
![Page 101: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/101.jpg)
Wykorzystanie ocen ruchów, z poprzednich iteracji
Oceny wszystkich ruchów nie dotyczących tras A i B pozostają te same
…
Ruch zaakceptowany
w poprzedniej iteracji
A
B
Ruch oceniony
w poprzedniej iteracji
![Page 102: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/102.jpg)
Wykorzystanie ocen ruchów z poprzednich iteracji dla VRP
Każdy ruch modyfikuje tylko dwie trasy
Wszystkie ruchy pomiędzy niezmodyfikowanymi trasami pozostają takie same
W zmodyfikowanych trasach znajduje się średnio 2W /T wierzchołków. Każdy z nich możemy przesunąć do jednej zT – 1 tras
W pozostałych trasach znajduje się średnio W -2W / T wierzchołków. Każdy z nich możemy przesunąć do jednej z dwóch zmienionych tras (pozostałe ruchy już oceniliśmy)
Po zaakceptowaniu nowego rozwiązania, należy więc ocenić średnio tylko (2W/T )(T-1) +2(W -2W / T) 4W ruchów
Złożoność jednej iteracji 8 W (zmienionych tras)
![Page 103: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/103.jpg)
Efekt
Poprawa efektywności (z wyjątkiem pierwszej iteracji) w stosunku do wersji podstawowejT W(T-1) / 8 W = T (T-1) / 8
Technicznie oznacza cache’owanie
ocen ruchów
![Page 104: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/104.jpg)
Pomijanie złych ruchów na podstawie reguł heurystycznych
Technika znana także pod nazwą candidate moves – ruchy kandydackie
W sąsiedztwie ocenia się ruchy kandydackie
Pozostałe ruchy pomija się lub ocenia się z niewielkim prawdopodobieństwem
![Page 105: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/105.jpg)
Pomijanie złych ruchów na podstawie reguł heurystycznych
TSP – dla każdego wierzchołka tworzymy listę N’ << N najbliższych wierzchołków
Ruchy kandydackie wprowadzają tylko łuki prowadzące do najbliższych wierzchołków
![Page 106: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/106.jpg)
Standardowe przeglądanie sąsiedztwa TSP – wymiana dwóch łuków
Wersja steepest
Dla każdego wierzchołka n1 od 0 do N-1
Dla każdego wierzchołka n2 od n1+1 do N-1
jeżeli łuki n1-następnik(n1) i n2-następnik(n2) nie są sąsiednie
Sprawdź czy ruch (n1, n2) przynosi poprawę i jest najlepszym dotąd znalezionym
![Page 107: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/107.jpg)
Przeglądanie sąsiedztwa TSP z ruchami kandydackimi– wymiana dwóch łuków
Wersja steepest
Dla każdego wierzchołka n1 od 0 do N-1
Dla każdego łuku kandydackiego n1-n2
sprawdź wszystkie ruchy polegające do dodaniu łuku n1-n2 i usunięciu jednego z obecnych łuków łączących n1
![Page 108: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/108.jpg)
Ruchy kandydackie w TSP
n1
n2
![Page 109: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/109.jpg)
Pomijanie złych ruchów na podstawie reguł heurystycznych
W VRP można rozważać tylko ruchy pomiędzy blisko położonymi trasami
0
100
200
300
400
500
600
700
0 100 200 300 400 500 600
Base
Dumping sites
Route of vehicle 1
Route of vehicle 2
Route of vehicle 3
![Page 110: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/110.jpg)
Ruchy kandydackie w TSP na podstawie znanych rozwiązań
Generujemy pewną liczbę rozwiązań stosując heurystykę lub lokalne przeszukiwanie bez ruchów kandydackich
Każdy łuk, który wystąpi choć raz w jednym z tych rozwiązań staje się łukiem kandydackim
![Page 111: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/111.jpg)
Pomijanie złych ruchów na podstawie reguł heurystycznych
Ruchy złe i kandydackie mogą być identyfikowane na podstawie działania metody wyższego rzędu
Pamięć długoterminowa w
Lista dobrych łuków w TSP
Lista łuków występujących w ruchach przynoszących poprawę
Wykorzystanie informacji z operatorów rekombinacji
Np. do ruchów kandydackich zalicza się ruchy wprowadzające łuki występujące u dowolnego z rodziców (nawet jeżeli nie znalazły się one w potomku)
![Page 112: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/112.jpg)
Techniki zaawansowane
Np. przeglądanie sąsiedztwa o rozmiarze wykładniczym w czasie wielomianowym
Wygeneruj rozwiązanie x
powtarzaj
znajdź najlepszy ruch m M(x)
jeżeli f(m(x)) > f(x) to
x := m(x)
dopóki nie znaleziono lepszego
rozwiązania
Problem optymalizacji
![Page 113: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/113.jpg)
Wady lokalnego przeszukiwania
kończą działanie w optimum lokalnym (poza przypadkiem dokładnej struktury sąsiedztwa)
• dokładne sąsiedztwa są w większości przypadków nie praktyczne ponieważ sprowadzają się do kompletnego przeszukania przestrzeni rozwiązań dopuszczalnych,
jakość rozwiązań w dużej mierze zależy od wyboru rozwiązania startowego
• dla większości problemów nie ma żadnych wskazań do tego jak odpowiednio wybrać rozwiązanie startowe
![Page 114: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/114.jpg)
Zalety lokalnego przeszukiwania
są elastyczne
można stosować dla każdego problemu optymalizacji kombinatorycznej
![Page 115: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/115.jpg)
Unikanie wad algorytmów lokalnego przeszukiwania
wprowadzenie bardziej złożonej definicji sąsiedztwa w celu możliwości przeszukania większej części przestrzeni rozwiązań dopuszczalnych
ograniczone akceptowanie pogorszeń funkcji celu
wykonanie algorytmu lokalnego przeszukiwania dla dużej liczby rozwiązań startowych
dobre rozwiązania startowe
![Page 116: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/116.jpg)
Multiple start local search – Lokalne przeszukiwanie z różnych punktów startowych
Powtarzaj
Wygeneruj zrandomizowane rozwiązanie startowe x
Lokalne przeszukiwanie (x)
Do spełnienia warunków stopu
Zwróć najlepsze znalezione rozwiązanie
![Page 117: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/117.jpg)
Variable neighborhood Local Search -Lokalne przeszukiwanie ze zmiennym sąsiedztwem
Obserwacje:
Lokalne optimum dla pewnego typu sąsiedztwa nie musi być lokalnym optimum dla innego typu sąsiedztwa
Globalne optimum jest lokalnym optimum dla wszystkich możliwych sąsiedztw
![Page 118: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/118.jpg)
Variable neighborhood Local Search -Lokalne przeszukiwanie ze zmiennym sąsiedztwem
Wejście – lista sąsiedztw (N1,N2,…)
Wygeneruj rozwiązanie początkowe x
Dla wszystkich sąsiedztw N=(N1,N2,…)
x := Lokalne przeszukiwanie (x, N)
![Page 119: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/119.jpg)
Iterated local search - Iteracyjne przeszukiwanie lokalne
Wygeneruj rozwiązanie początkowe x
x := Lokalne przeszukiwanie (x)
Powtarzaj
Perturbacja (x)
y := Lokalne przeszukiwanie (x)
Jeżeli f(y) > f(x) to
x := y
Do spełnienia warunków stopu
![Page 120: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/120.jpg)
Perturbacja
Zrandomizowana modyfikacja wykraczająca poza bieżące sąsiedztwo – nieosiągalna w jednym ruchu, np.:
Złożenie kilku ruchów
Większy ruch (np. wymania większej
liczby łuków dla TS)
![Page 121: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/121.jpg)
Iterated local search - Iteracyjne przeszukiwanie lokalne
Rozwiązanie
początkowe
Perturbacja
Lokalne
przeszukiwanie
![Page 122: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/122.jpg)
Adaptive multistart local search
Po każdym uruchomieniu przeszukiwania lokalnego aktualizowana jest tablica częstości występowania poszczególnych łuków w lokalnych optimach
Nowe rozwiązania startowe są tworzone przy wykorzystaniu tych danych –większe prawdopodobieństwo wybrania częstych łuków
![Page 123: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/123.jpg)
Large-scale neighborhood search
Ruch polega na złożeniu dwóch metod:
Destroy
Repair
W ogólności mogą one powodować duże zmiany rozwiązania
![Page 124: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/124.jpg)
Large-scale neighborhood search
Destroy – niszczy część rozwiązania
Np. usuwa część wierzchołków z tras problemu VRP
Często łączenie losowości z wyborem
heurystycznym – staramy się usuwać wierzchołki (fragmenty tras), które mogą być źle przydzielone
Repair – ukierunkowana (funkcją celu) naprawa rozwiązania Może to być heurystyka lub nawet metoda dokładna
![Page 125: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/125.jpg)
Adaptive (Large-scale neighborhood) local search
Możemy wykonywać wiele różnych typów ruchów (operatorów)
Ich prawdopodobieństwo jest automatycznie modyfikowane na podstawie efektów stosowania poszczególnych operatorów (np. prawdopodobieństwa uzyskania nowego lepszego rozwiązania)
![Page 126: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/126.jpg)
Kryteria stopu
Liczba iteracji / czas obliczeń
Kryterium dynamiczne – brak poprawy w zadanej liczbie iteracji / zadanym czasie obliczeń
![Page 127: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/127.jpg)
Techniki optymalizacji
Symulowane wyżarzanie
![Page 128: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/128.jpg)
Wyżarzanie
wzrost temperatury gorącej kąpieli do takiej wartości, w której ciało stałe topnieje
powolne zmniejszanie temperatury do chwili, w której cząsteczki ułożą się wzajemnie i osiągną (ang. ground state) temperaturę zerową
![Page 129: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/129.jpg)
Algorytm Metropolis
Metropolis i in. (1953) - algorytm statystycznego symulowania (Monte Carlo) zmian ciała stałego w gorącej kąpieli aż do stanu termicznej równowagi
Losowa generacja sekwencji stanów ciała stałego:
• stan i ciała stałego i jego energia Ei,
• perturbacja (małe zniekształcenie) następny stan. Energia następnego stanu wynosi Ej.
• jeśli Ej - Ei 0, stan j jest akceptowany jako stan bieżący
• w przeciwnym wypadku, stan j jest akceptowany z pewnym prawdopodobieństwem:
Tk
EE
B
jiexp T – temperatura kąpieli
kB – stała Boltzmanna
![Page 130: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/130.jpg)
Analogie do optymalizacji
System fizycznyProblem optymalizacji
stan
energia
stan stały
temperatura
szybkie schładzanie
powolne schładzanie
rozwiązanie
koszt
optimum
parametr kontrolny T
lokalna optymalizacja
symulowanie wyżarzanie
![Page 131: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/131.jpg)
Symulowane wyżarzanieSimulated annealing, Monte Carlo annealing, probabilistic hill climbing, stochastic relaxation
Zastosowanie algorytmu Metropolis do optymalizacji kombinatorycznej.
![Page 132: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/132.jpg)
Lokalne przeszukiwanie –wersja zachłanna
Wygeneruj rozwiązanie x
powtarzaj
dla każdego y N(x) w losowej kolejności
jeżeli f(y) > f(x) to
x := y
dopóki nie znaleziono lepszego rozwiązania
![Page 133: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/133.jpg)
Kryterium akceptacji (maksymalizacja)
x, y – rozwiązania
kryterium akceptacji określa czy yuzyskane x i jest akceptowane
)f()f(
T
ff
)f()f(
c xyxy
xy
yP jesli
)()(exp
jesli1
}accept {
![Page 134: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/134.jpg)
Wpływ temperatury
Wysoka temperatura, p1, random walk – błądzenie przypadkowe
Niska temperatura, p0 dla gorszych rozwiązań, lokalne przeszukiwanie (z akceptacją ruchów nie zmieniających funkcji celu)
![Page 135: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/135.jpg)
Procedura SWwygeneruj rozwiązanie x
T := T0
powtarzaj
powtarzaj L razy
Wygeneruj losowe y N(x)
jeżeli f(y) > f(x) to
x := y
w przeciwnym wypadku
jeżeli exp ((f(y) - f(x)) / T) > random [0,1)
x := y
obniż T
dopóki T <= TK
Zwróć najlepsze wygenerowane rozwiązanie
![Page 136: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/136.jpg)
Zbieżność algorytmu SW
Można uzyskać takie L i Tk, które zapewniają zbieżność SW do opt.
Dobre przybliżenie SW
• generowanie homogenicznych łańcuchów Markowa skończonej długości dla skończonej sekwencji malejących wartości parametru kontrolnego
![Page 137: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/137.jpg)
Łańcuch Markowa
Łańcuch Markowa jest sekwencją prób (rozwiązań), w której prawdopodobieństwo wyniku danej próby zależy od wyniku poprzedniej próby.
Łańcuch Markowa jest niehomogeniczny jeśli prawdopodobieństwo przejścia zależy od numeru próby k. Jeśli nie zależy łańcuch Markowa jest homogeniczny.
![Page 138: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/138.jpg)
Sposób chłodzenia określa
skończona sekwencja wartości parametru kontrolnego, tj.
• początkowa wartość parametru kontrolnego T0
• funkcja dekrementacji parametru kontrolnego
• końcowa wartość parametru kontrolnego
skończona liczba przejść dla każdej wartości parametru kontrolnego, tj.
• skończona długość każdego homogenicznego łańcucha Markowa
![Page 139: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/139.jpg)
Sposób chłodzenia Kirkpatricka,
Gelatta i Vecchi’ego
Wartość początkowa parametru kontrolnego• Wartość c0 powinna być odpowiednio wysoka by
zapewnić akceptację wszystkich przejść (początkowy współczynnik akceptacji jest bliski 1).
• Zależy od problemu (patrz formuła: f, T0)
• Np. f = 1000, p 0,98 dla T0 = 250
• Podgrzewanie
Zmniejszanie wartości parametru kontrolnego
Tk+1 = Tk, k = 1, 2, ...
Tk+1 = k T0
jest stałą mniejszą ale bliską 1. (0.8 – 0.99)
![Page 140: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/140.jpg)
Sposób chłodzenia Lk = L
![Page 141: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/141.jpg)
Długość łańcucha Markowa
Powinna być odpowiednia, tak by algorytm mógł „odwiedzić” wszystkich swoich sąsiadów przynajmniej raz (osiągnąć stan równowagi termicznej na każdym poziomie temperatury). Związek ze średnim rozmiarem sąsiedztwa.
Ponieważ prawdopodobieństwo akceptacji zmniejsza się w czasie, można by się spodziewać, że Lk dla Tk 0 . Dlatego istnieje pewne ograniczenie na długość łańcucha Markowa dla małych Tk.
![Page 142: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/142.jpg)
Wartość końcowa parametru kontrolnego
Algorytm kończy działanie, gdy wartość funkcji celu otrzymanego rozwiązania w ostatniej próbie łańcucha Markowa nie uległa zmianie dla kilku kolejnych łańcuchów
![Page 143: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/143.jpg)
Algorytm Great Deluge –Wielka powódź
wygeneruj rozwiązanie x
Poziom wody P := P0
powtarzaj
powtarzaj L razy
Wygeneruj losowe y N(x)
jeżeli f(y) > P to
x := y
podwyższ P
dopóki P <= PK
Zwróć najlepsze wygenerowane rozwiązanie
![Page 144: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/144.jpg)
Great Deluge
![Page 145: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/145.jpg)
Techniki optymalizacji
Przeszukiwanie „tabu”
![Page 146: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/146.jpg)
Obserwacje
Lokalne optima nie muszą być dobrymi rozwiązaniami
Lokalne optima mogą się grupować, leżeć blisko siebie
![Page 147: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/147.jpg)
Lokalne przeszukiwanie –wersja stroma
Wersja stroma
wygeneruj rozwiązanie x
powtarzaj
znajdź najlepszy ruch m M(x)
jeżeli f(m(x)) > f(x) to
x := m(x)
dopóki nie znaleziono lepszego rozwiązania
Czy można z tego
zrezygnować?
![Page 148: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/148.jpg)
Przeszukiwanie „tabu”
Główna idea – wykorzystanie pamięci
Zapamiętywanie rozwiązań czy ruchów
![Page 149: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/149.jpg)
Najprostszy sposób unikania cykli
Zapamiętuj wszystkie odwiedzone dotąd rozwiązania
Rozwiązania te stają się zakazane –Tabu
Dla poprawy efektywności można zachowywać wartości haszowe i wyszukiwanie przez połowienie
Może prowadzić do „krążenia” wokół bardzo podobnych rozwiązań
![Page 150: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/150.jpg)
Lista Tabu
Lista K ostatnich ruchów (elementów ruchów), które są zakazane
![Page 151: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/151.jpg)
Algorytm przeszukiwania Tabu – Tabu search
wygeneruj rozwiązanie x
lista Tabu T:=Ø
powtarzaj
znajdź najlepszy ruch m M(x)|mT
x := m(x)
uaktualnij listę Tabu (T, m)
dopóki warunek stopu
Zwróć najlepsze wygenerowane rozwiązanie
![Page 152: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/152.jpg)
Lista Tabu – kolejka FiFo
(a,b)
(c,d) (a,b)
(e,bf (c,d) (a,b)
(g,h) (e,f) (c,d) (a,b)
(a,b)
(c,d)
(e,f)
(g,h)
(i,j)
(k,l) (i,j) (g,h) (e,f) (c,d)
![Page 153: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/153.jpg)
Stopnie swobody
Co przechowywać na liście Tabu?
Ruchy
Składowe ruchów
Jak blokować ruchy?
Dokładne dopasowanie
Ruchy odwrotne
Ruchy częściowo się pokrywające
Długość listy Tabu
![Page 154: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/154.jpg)
Ruchy na liście Tabu
Wymiana dwóch łuków
Pary łuków
Wymiana dwóch wierzchołków
Pary wierzchołków
![Page 155: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/155.jpg)
Składowe ruchów na liście Tabu
Wymiana dwóch łuków
Poszczególne łuki
Wymiana dwóch wierzchołków
Poszczególne wierzchołki
![Page 156: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/156.jpg)
Blokowanie ruchów –dokładne dopasowanie
Zakazane są tylko ruchy znajdujące się na liście Tabu, lub odwrotne
Stosunkowy mały zakres ograniczeń
Wymaga dłuższej listy Tabu
![Page 157: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/157.jpg)
Blokowanie ruchów - ruchy częściowo się pokrywające
Np. ruch (a,b), blokuje wszystkie ruchy, w których występuje a lub b
Naturalne przy przechowywaniu składowych ruchów
Stosunkowy duży zakres ograniczeń
Wymaga krótszej listy Tabu
![Page 158: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/158.jpg)
Długość listy Tabu
Krótka lista
Bardziej „agresywny” algorytm
Ryzyko wpadnięcia w cykl
Długa lista
Ryzyko pomijania zbyt wielu ruchów
Może nawet uniemożliwiać dojście do lokalnego optimum
![Page 159: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/159.jpg)
Reactive Tabu Search – automatyczne modyfikowanie długości listy Tabu
Stałe, powolne zmniejszanie długości listy
Co L iteracji zmniejszana jest długość listy Tabu
Zwiększanie długości listy w przypadku wpadnięcia w cykl
Wymaga zachowywania odwiedzonych rozwiązań
![Page 160: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/160.jpg)
Kryteria aspiracji
Lista Tabu może blokować zbyt wiele ruchów/rozwiązań
Ruchy/rozwiązania Tabu, które są bardzo dobre – spełniają kryteria aspiracji –mogą zostać zaakceptowane
Najprostsze kryterium aspiracji –akceptuj rozwiązania lepsze od najlepszego znalezionego dotąd, nawet jeżeli są Tabu
Takie rozwiązania na pewno nie zostały dotąd odwiedzone
![Page 161: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/161.jpg)
Naturalny sposób powstania algorytmu
Algorytmnajwiększego
spadku Ulepszony alg.największego
spadku
Lista „tabu”
Poziomaspiracji
Przeszukiwanie„tabu”
niezdolność wyjścia z lok. opt.
akceptacja ruchów niepolepszających, wybór najlepszego rozwiązania z V*
akceptacja atrakcyjnych ruchów zakazanych
cykle
za dużo zakazanych ruchów
![Page 162: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/162.jpg)
Przykład zapamiętywania ruchów „tabu”
![Page 163: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/163.jpg)
![Page 164: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/164.jpg)
![Page 165: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/165.jpg)
Pamięć długoterminowa –long term memory
Np.:
Tablica częstości występowania poszczególnych łuków w odwiedzanych rozwiązaniach
Tablica częstości ruchów przynoszących poprawę
![Page 166: Techniki optymalizacji algorytmy metaheurystycznefc.put.poznan.pl/materials/104-to-ls.pdf · optymalizacji •Jakie są moje cele? Co chcę osiągnąć? •Jakie decyzje mogę podjąć?](https://reader030.vdocuments.net/reader030/viewer/2022021723/5c78dcd709d3f2990f8bc7a1/html5/thumbnails/166.jpg)
Zastosowania pamięci długoterminowej
Restarty – tworzenie nowych rozwiązań:
Dywersyfikacja – rozwiązania startowe odległe od dotychczas odwiedzanych
Intensyfikacja – rozwiązania startowe podobne do najlepszych dotąd odwiedzanych
Definiowanie ruchów kandydackich