[Algorytmy] Normalizacja wektora w optymalizacji

Szymon1993
Użytkownik
Użytkownik
Posty: 106
Rejestracja: 6 paź 2009, o 18:32
Płeć: Mężczyzna
Podziękował: 50 razy
Pomógł: 2 razy

[Algorytmy] Normalizacja wektora w optymalizacji

Post autor: Szymon1993 »

Moim zadaniem jest zaimplementowanie metody, której nazwa to "strategia orła". Łączy ona ze sobą dwa algorytmy. W pierwszym etapie wykorzystywany jest algorytm wyszukiwania globalnego, a w drugim algorytm wyszukiwania lokalnego. Mam z tym wiele problemów. Między innymi nie rozumiem warunku kończącego wykonywanie strategii orła. Podam pseudokod tej metody:
Objective functions \(\displaystyle{ f_{1} \left( x \right)}\), ..., \(\displaystyle{ f_{N} \left( x \right)}\)
Initial guess \(\displaystyle{ x^{t = 0}}\)
while (\(\displaystyle{ ||x^{t + 1} - x^{t}|| > tolerance}\))
Random search by performing Lévy walk
Evaluate the objective functions
Intensive local search with a hypersphere via Nelder-Mead or the Firefly Algorithm
if (a better solution is found)
Update the current best
end if
Update \(\displaystyle{ t = t + 1}\)
Calculate means and standard deviations
end while
Postprocess results and visualization
Źródło: PDF "Eagle Strategy Using L´evy Walk and Firefly Algorithms For Stochastic Optimization" (autorzy: Xin-She Yang, Suash Deb)

W tym PDF-ie można wyczytać: "The algorithms stop when the variations of function values are less than a given tolerance \(\displaystyle{ \epsilon \le 10^{-5}}\)". Gdy jednak liczę normalizację wektora \(\displaystyle{ \left( x_1, x_2 \right) = x^{t + 1} - x^{t}}\) jako \(\displaystyle{ \sqrt{x_1^2 + x_2^2}}\) to otrzymuję wyniki dużo, dużo większe niż \(\displaystyle{ 10^{-5}}\).

Moje pytanie jest więc takie: czy ten warunek, który kończy wykonywanie całej metody, to na pewno normalizacja, czy może należy to inaczej interpretować?
Ostatnio zmieniony 16 maja 2015, o 08:36 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
ODPOWIEDZ