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 x1x0, … , xnx0, 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+α) ux0

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:


  • No labels