1. Outline
- Generujemy w jakiś sposób (losowo nie zawsze jest dobrze) rozwiązanie początkowe x0.
- Dopóki jakiś warunek jest
True
robimy:
- Generujemy sąsiedztwo aktualnego rozwiązania N(x).
- Jeśli ∃x^∈N(x) f(x^)<f(x) wówczas x0:=x^
return
x0.
2. Concerns
- Jak dobrać x0?
- Funkcja w której szukamy min - losowo
- TSP - lokalnie rozglądać się za minimalnym kosztem przejścia z miasta do miasta
- Co oznacza, że dwa rozwiązania są sąsiednimi?
- Są podobne do siebie, ale różnią się np. transpozycją jakiejś pary (i,j) jeśli mowa o sekwencjach elementów.
- Ile rozwiązań sąsiednich sprawdzać?
- All of ’em.
- W jakiej kolejności sprawdzać sąsiedztwo.
- W takiej w jakiej zwróciła funkcja sąsiedztwa.
- W jakiej kolejności generować sąsiedztwo?
- Nie ma znaczenia.
- Kiedy skończyć procedurę?
- Po przejściu wielu iteracji bez żadnego polepszenia osiągniętego wyniku od jakiegoś czasu.
- Po przekroczeniu czasu.
- Co w przypadku f(x)=f(x^)?
- W większości przypadków zignorować x^.
- Problemy dyskretne vs. ciągłe, wypukłe vs. niewypukłe
- Ekstrema lokalne