2013-07-29 6 views

Odpowiedz

7

Nie jestem pewien, czy istnieje najlepsza metoda:, aby wybrać początkowy simplex w metodzie Neldera-Meada, ale poniżej jest to, co się robi w powszechnej praktyce.

Konstrukcja początkowej simplex S uzyskuje się od generowania n+1 wierzchołki x0,..,xn wokół tego, co nazywasz użytkownika „odgadnąć” wierzchołek xin w N przestrzeni trójwymiarowej. Najczęstszym wybór

x0=xin 

a pozostałe n wierzchołki są wtedy generowane tak, że

xj=x0+hj*ej 

gdzie ej jest wektorem jednostkowym z j -ty osi współrzędnych R^n i hj jest według etapu rozmiar w kierunku ej.

hj = 0.05 if (x0)j is non-zero 
hj = 0.00025 if (x0)j=0 

z (x0) j j-ty komponentem x0. Zauważ, że jest to wybór w rutynowej procedurze Matlaba fminsearch, która jest oparta na schemacie Neldera-Meada.

można znaleźć więcej informacji w

F. Gao, L. Han, "Implementing the Nelder-Mead simplex algorithm with adaptive parameters", Comput. Optim. Appl., DOI 10.1007/s10589-010-9329-3

2

myślę, nie istnieje ogólna zasada, aby ustalić najlepszy początkowy simplex optymalizacji Nelder-Mead, ponieważ wymaga to co najmniej niejasne znajomości odpowiedzi powierzchnia.

Jednak rozsądnym rozwiązaniem może być ustalanie punktów w taki sposób, aby simpleks obejmował praktycznie cały możliwy zakres. Algorytm Neldera-Meada zmniejszy się automatycznie o jeden prosty i przybliżony do optymalnego. Praktyczną zaletą tej zasady jest to, że uzyskasz lepszą ogólną wiedzę o funkcji odpowiedzi.

Zrobiliśmy kilka testów z HillStormer ("http://www.berkutec.com"). Ten program pozwala przetestować te zasady na testach i okazało się, że ta gra działa dość dobrze.

Należy pamiętać, że pierwsza operacja jednostronna jest zawsze refleksją. Jeśli początkowa simpleks obejmuje cały dozwolony zakres, odbicie musi koniecznie dać punkt poza granicami. Ale HillStormer pozwala używać liniowych ograniczeń i może uniknąć tego problemu.

Możesz znaleźć więcej informacji w systemie pomocy HillStormer.

B. Kühne

Powiązane problemy