• Nie Znaleziono Wyników

METODY PRZYBLIŻONE 119 BS połączonenej z LS, co pociąga za sobą negatywne skutki eksplozji

W dokumencie Algorytmy szeregowania zadań (Stron 119-123)

Metody optymalizacji dyskretnej

8.4. METODY PRZYBLIŻONE 119 BS połączonenej z LS, co pociąga za sobą negatywne skutki eksplozji

obli-czeń. Dodatkowo wariant ten jest dość wyrafinowany implementacyjnie i nie może być rozszerzany w łatwy sposób na inne problemy.

Symulowane wyżarzanie

Metoda symulowanego wyżarzania (simulated annealing, SA) zapropo-nowana oryginalnie w pracy 1 używa analogii to termodynamicznego pro-cesu studzenia w celu wyprowadzenia trajektorii poszukiwań z ekstremum lokalnego lub uniknięcia takiego ekstremum. Stany ciała są postrzegane jako analogiczne to rozwiązań, zaś energia ciała – analogiczna do wartości funkcji celu. W czasie fizycznego procesu odprężania temperatura jest redukowana powoli w celu dojścia w każdej temperaturze do równowagi energetycznej przy zachowaniu maksymalnej entropii. Stąd, trajektoria poszukiwań jest prowadzona poprzez zbiór X w “statystycznie właściwym” kierunku.

SA generuje trajektorię poszukiwań x0, x1, . . . przechodzącą przez zbiór X . Kolejne rozwiązanie xk+1 na tej trajektorii jest wybrane wśród tych z

N (xk) w następujący sposób. Wpierw rozwiązanie zaburzone x ∈ N (xk), is wybierane w sposób uporządkowany lub losowo z równomiernym rozkładem prawdopodobieństwa. To rozwiązanie może dostarczyć albo K(x) ¬ K(xk) albo K(x) > K(xk). W pierwszym przypadku x jest akceptowane natych-miast jako nowe rozwiązanie do następnej iteracji, tzn. xk+1 := x. W dru-gim przypadku x jest akceptowane jako nowe rozwiązanie z prawdopodo-bieństwem równym min{1, e−∆/Ti}, gdzie ∆ = K(x) − K(xk) zaś Ti jest parametrem zwanym temperaturą w iteracji i. (W praktyce x jest akcep-towane jeśli dla wygenerowanej liczby losowej R[0, 1] zachodzi nierówność

R < e−∆/Ti.) Jeśli x nie zostało zaakceptowane (ani przez pierwszy ani przez drugi warunek), ostatecznie podstawiamy xk+1:= xk.

Temperatura jest zmieniana w czasie iteracji według schematu studzenia. W każdej ustalonej temperaturze wykonywana jest pewna liczba, oznaczmy ją m, iteracji. (Chociaż studzenie powinno przebiegać bardzo powoli, czę-sto czę-stosowana jest wartość m = 1 w celu uniknięcia długiego czasu dzia-łania algorytmu.) Powszechnie są stosowane dwa schematy zmian tempe-ratury: geometryczny Ti+1 = λiTi, i logarytmiczny Ti+1 = Ti/(1 + λiTi),

i = 0, . . . , N−1, gdzie N jest całkowitą liczbą iteracji, λijest pewnym para-metrem liczbowym, zaś T0jest temperaturą początkową. Powinno zachodzić

TN < T0 oeraz TN jest bliskie zeru.

Metoda SA posiada wiele parametrów, które należy dobrać eksperymen-talnie. Parametr λijest często wybierany jako stały. Zakładając znane (esty-mowane) wartości T0, TN i N, można wyznaczyć wartość parametru λi, wg

120 8. METODY OPTYMALIZACJI DYSKRETNEJ

zależności λi= (T0− TN)/(NT0TN) dla schematu logarytmicznego, 276. W pracy 1 dostarczono także wiele cennych rad dotyczących automatycznego wyboru x0, T0, λi, m oraz kryterium stopu. Zaproponowali oni wybrać x0

losowo, co wspiera losowość poszukiwań i usuwa wpływ rozwiązania począt-kowego na proces obliczeń. Temperatura początkowa jest ustalana na pozio-mie 10 krotnie większym niż maksymalna wartość ∆ pomiędzy dowolnymi dwoma kolejnymi rozwiązaniami przy założeniu, że oba są zaakceptowane. W praktyce, rozpoczynając z x0, generowana jest pewna liczba k kolejnych rozwiązań próbnych x0, x1, . . . , xk−1 z których każde jest akceptowane. Na-stępnie wyznaczana jest wartość ∆max = max1¬i¬kK(xi+1) − K(xi). Na-stępnie przyjmujemy T0 = −∆maxn(p), gdzie p ≈ 0.9. W pracy 1 podano także metodę wyznaczania λi dla logarytmicznego schematu studzenia, tj.

λi = ln(1 + δ)/(3σi), gdzie δ jest parametrem dokładności osiągnięcia stanu równowagi (0.1 – 10.0) zaś σijest odchyleniem satndardowym wariości funk-cji celu K(x) dla wszystkich rozwiązań x generowanych w temperaturze Ti. Wartość m zależy od natury użytego zaburzenia losowego i jest zwykle równa liczbie (lub jej frakcji) różnych rozwiązań, które mogą być osiągnięte z da-nego rozwiązania przez wprowadzenie pojedynczego zaburzenia, tzn. m jest rzędu O(

N (xk)

). Kryterium stopu algorytmu może być oparte na ograni-czeniu czasu przebiegu, liczby wykonywanych iteracji, dostatecznej bliskości temperatury do zera, dostatecznej bliskości pochodnej wygładzonej średniej wartości K(x) w Ti do zera, 73.

Schemat studzenia ma silny wpływ na zachowanie się metody. Jeżeli stu-dzenie jest zbyt szybkie, SA zachowuje się podobnie do metody DS i zwykle szybko kończy swoje działanie w lokalnym ekstremum słabej jakości. Jeżeli studzenie jest zbyt powolne, czas przebiegu algorytmu staje się nieakcepto-walnie długi. W praktyce, właściwy dobór wszystkich parametrów sterują-cych metody wymaga wykonania znacznej liczby testów komputerowych.

Istnieje szereg modyfikacji podstawowego schematu metody, mających na celu poprawę jej wlasności numerycznych. Pierwsza z nich zakłada, że w każdej iteracji jest wybierana pewna próbka Mk ⊂ N (xk) (o ustalo-nej liczności) rozwiązań zaburzonych. Wszystkie rozwiązania z próbki są porządkowane zgodnie z wartością funkcji celu. Jeżeli w tej próbce istnieje rozwiązanie xtakie, że K(x) ¬ K(xk), to rozwiązanie jest wybierane do na-stępnej iteracji. Jeżeli nie – pierwsze rozwiązanie z próbki jest akceptowane z prawdopodobieństwem min{1, e−∆/Ti}. W pozostałych przypadku

pozosta-wiamy stare rozwiązanie, tzn. xk+1= xk. Druga modyfikacja zmienia praw-dopodobieństwo akceptacji rozwiązania zaburzonego, e−∆/Ti/(1 + e−∆/Ti), w celu akceptacji z jednakowym prawdopodobieństwem zarówno zaburzeń

8.4. METODY PRZYBLIŻONE 121 korzystnych (∆ ¬ 0) jak i niekorzystnych (∆ > 0) 108. Kolejna modyfika-cja zmienia podstawowy schemat studzenia przez dopuszczenie okresowego wzrostu (skoku) temperatury do jej wartości początkowej T0.

Pokazano, że przy spelnieniu pewnych założeń metoda SA zbiega do rozwiązania globalnie optymalnego z prawdopodobieństwem jeden 1. Szcze-gółowa analiza została także przeprowadzona dla asymptotycznej zbieżności oraz szybkości zbieżności. Ponieważ niektóre z tych założeń są w praktyce niespełnialne, otrzymane wyniki mają bardziej teoretyczne niż praktyczne znaczenie. Do chwili obecnej, SA było stosowane wielu typów problemów z różnym stopniem sukcesu. Niemniej, dobre wyniki otrzymane dla niektó-rych aplikacji pozwalają uważać SA za jedno z mocniejszych narzędzi do rozwiązywania trudnych problemów optymalizacji dyskretnej.

Symulowane wstrząsanie

Metoda symulowanego wstrząsania (simulated jumping, SJ) także używa termodynamicznej analogii do sterowania poszukiwaniami oraz wymuszania ucieczki z ekstremum lokalnego 13. Tak zwany proces wstrząsania polega na stosowanym naprzemiennie gwałtownym oziębianiu i nagrzewaniu ciała, po-wodującym stałe “potrząsanie” jego stanem energetycznym. Proces ten jest kontynuowany dopóki pożądany stan końcowy o niskiej energii nie zostanie osiągnięty. Wstrząsanie pozwala nie tylko uzyskąć dostęp do wielu obszarów zbioru rozwiązań ale także zapobiega zatrzymaniu procesu poszukiwań w ekstremum lokalnym i zwiąksza prawdopodobieństwo osiągnięcia minimum globalnego.

W praktyce SJ wprowadza do SA dodatkowo schemat podgrzewania. Podgrzewanie jest stosowane gdy zaburzone rozwiązanie x nie zostało za-akceptowane, tzn. gdy musimy podstawić xk+1 = xk. Schemat ten może przyjąć postać Ti+1 = Ti+ T0∗ r/i, gdzie r jest liczbą losową o rozkładzie

równomiernym z przedziału [0.0,0.15]. Oczywiście, SJ posiada więcej niż SA elementów wybieranych eksperymentalnie w celu zapewnienia odpowiednio dobrych własności numerycznych algorytmu. Opisane zastosowania SJ po-kazują, że jest to obiecujące podejście, jednakże szybkość zbieżności silnie zależy od parametrów sterujących.

Tunelowanie stochastyczne

Metoda ta (stochastic tunneling, ST) próbuje przezwyciężyć słabości SA obserwowane dla silnie szorstkich funkcji celu, poprzez modyfikację funkcji kryterium K(x) w kierunku jej wzrostu K(x) = 1 − exp (−γ(K(x) − K)),

122 8. METODY OPTYMALIZACJI DYSKRETNEJ

gdzie γ jest pewnym parametrem, zaś K jest wartością funkcji celu najlep-szego dotychczas znalezionego rozwiązania. Taka transformacja zachowuje położenia minimów, ale równocześnie zmniejsza wielkość wahań funkcji celu (zmniejsza szorstkość).

Poszukiwanie z zakazami

Poszukiwanie z zakazami (tabu search, TS) jest metodą zaproponowaną pierwotnie przez Glover 110 a następnie rozwiniętą przez innych autorów. TS powiela naturalny proces poszukiwania rozwiązania wykonywany przez człowieka. Podstawowa wersja TS rozpoczyna działanie od pewnego roz-wiązania początkowego x0 ∈ X . (Niektóre bardziej zaawansowane warianty

TS mogą startować również z rozwiąznia niedopuszczalnego.) Elementarny krok tej metody wykonuje, dla podanego rozwiązania xk, przeszukiwanie całego sąsiedztwa N (xk) of xk. Sąsiedztwo N (xk) jest definiowane poprzez ruchy (przejścia) które można wykonać z xk. (Ruch transformuje rozwią-zanie jedno rozwiąrozwią-zanie w inne rozwiąrozwią-zanie.) Celem tego poszukiwania jest znalezienie w N (xk) rozwiązania xk+1 z najmniejszą wartością funkcji celu

K(x) lub wartością innej niekosztownie obliczanej funkcji oceny. Następnie

proces poszukiwania jest powtarzany od najlepszego znalezionego rozwią-zania dostarczając trajektorii poszukiwań x0, x1, . . .. TS zwraca najlepsze

rozwiązanie z trajektorii.

Aby zapobiec cyklicznemu powtarzaniu się rozwiązań na trajektorii, za-trzymaniu w ekstremum lokalnym, oraz aby prowadzić trajektorię poszu-kiwań w obiecujące obszary zbioru rozwiązań wprowadzono pamięć historii poszukiwań. Wśród wielu klas pamięci używanych dla TS, 110, najczęściej wymieniana jest pamięć krótkoterminowa zwana listą zabronień. Lista ta przechowuje przez ograniczony okres czasu najświeższe rozwiązania z tra-jektorii poszukiwań, wybrane atrybuty tych rozwiązań, ruchy prowadzące do tych rozwiązań lub atrybuty ruchów, traktująć je wszystkie jako formę zabronienia dla ruchów wykonywanych w przyszłości. Wykonanie ruchu po-siadającego zabronione atrybuty jest zabronione (odpowiednie rozwiązanie musi zostać pominięte w poszukiwaniach). Zabronienie to może być anulo-wane jeśli funkcja aspiracji uzna ten ruch za wystarczająco korzystny. Po-szukiwanie zatrzymuję się jeśli została wykonana pewna liczba iteracji bez poprawy wartości funkcji celu, wykonano założoną z góry całkowitą liczbę iteracji, przekroczono czas obliczeń, znaleziono rozwiązanie satysfakcjonują-ce użytkownika. Możliwość znalezienia rozwiązania optymalnego (bez gwa-rancji znalezienia go) zapewnia tak zwana własność styczności (connectivity property) dowodzona dla oddzielnych problemów i sąsiedztw. Własność ta

8.4. METODY PRZYBLIŻONE 123

W dokumencie Algorytmy szeregowania zadań (Stron 119-123)