Opis metody Simplex
Optymalizacja Simplex jest oparta na metodzie Neldera–Meada inaczej zwaną sympleksową metodą spadku (ang. downhill simplex method). Wyznacza ona minimum nieliniowej funkcji wielu zmiennych bez korzystania z pochodnych. Dzięki temu może być stosowana do funkcji nieróżniczkowalnych. Została opisana po raz pierwszy przez Neldera i Meada (1965).
1. W pierwszym kroku definiujemy n + 1 punktów n-wymiarowych (x0 , ... , xn), gdzie n jest rozmiarem przestrzeni parametrów optymalizowanej funkcji f(x), takich, że wektory x1 − x0, … , xn − x0, są liniowo niezależne, oraz
f(x0) ≥ f(x1) ≥ ... ≥ f(xn).
Zbór punktów jest wektorów jest sympleksem n-wymiarowym.
2. Następnie definiujemy trzy punkty:
u = (Σ xi) / n
v = (1+α) u +α x0
w = (1-γ) v + γ u
gdzie α >0 i 1 > γ < 0 są parametrami Simplex. Na podstawie wartości f(u), f(v) i f(w) liczony jest nowy sympleks według reguł:
- gdy f(v) < f(xn), to jeżeli f(w) < f(xn) wtedy x0 = w, w przeciwnym przypadku x0 = v,
- gdy f(v) ≥ f(xn) i f(v) ≤ f(x1), to x0 = v,
- gdy f(v) > f(x1), to jeżeli f(v) ≤ f(x1) x0 = v, ponadto w = β x0 + (1-β) u i jeżeli f(w) ≤ f(x1) x0 = w a w przeciwnym przypadku dla i = 0, ..., n-1 xi = (xi+xn)/2.
Na koniec sortujemy punkty, aby spełniały f(x0) ≥ f(x1) ≥ ... ≥ f(xn), i przechodzimy do punktu 2. Obliczenia kończymy, gdy różnica f(x0) - f(xn) < tolerancja lub osiągnięty zostanie limit iteracji.
Konfiguracja
Konfiguracja wymaga podania współczynników zmiany simpleksu, czyli trzech parametrów α, β i γ, tolerancję, maksymalną liczbę iteracji oraz dodatkowo dla każdej współrzędnej zakres wartości. Do definiowania parametrów służy okno: