Jaki jest najlepszy sposób na zainicjowanie simpleksa do użycia w wyszukiwaniu simpleks Nelder-Mead z wierzchołka "zgadywania" użytkownika?Wybór początkowego simpleksa w algorytmie optymalizacji Neldera-Meada
Odpowiedz
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
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