Metoda Neldera-Meada jest bezgradientową metodą minimalizacji bez ograniczeń n-wymiarowych funkcji . Simpleks w n-wymiarowej przestrzeni jest zbiorem n+1 punktów – wielościanem o n+1 wierzchołkach. Metoda sprawdza się dobrze nawet dla mocno nieliniowych funkcji jednak wymaga sporych nakładów pracy numerycznej szczególnie przy dużej liczbie zmiennych decyzyjnych. Dlatego zaleca się ją stosować dla funkcji celu mających nie więcej niż 10 wymiarów.
x0 – punkt startowy
d – początkowa odległość pomiędzy wierzchołkami simpleksu
α – współczynnik odbicia (α > 0)
β – współczynnik kontrakcji (0 < β < 1)
γ – współczynnik ekspansji (γ > 0)
ε – dokładność obliczeń
n – liczba zmiennych niezależnych
Pi – i-ty punkt simpleksu (i=1, 2, ..., n+1)
Ph – wybrany punkt simpleksu, w którym wartość funkcji osiąga największą wartość (najgorszy)
Pl – wybrany punkt simpleksu, w którym wartość funkcji osiąga najmniejszą wartość (najlepszy)
P' – środek symetrii simleksu liczony z wyłączeniem punktu Ph
odbicie punktu Ph względem P'
P* = (1 + α) P' – αPh
ekspansja P* względem P'
P** = (1 + γ) P* – γP'
kontrakcja punktu Ph względem P'
P*** = βPh + (1 – β)P'
redukja
Pi = (Pi + Pl) / 2, i = 1, 2, ..., n+1
Utworzenie simpleksu o n+1 wierzchołkach
Obliczenie wartości funkcji w punktach wierzchołkowych simleksu
Fi = f(Pi), i = 1, 2, ..., n+1
Wyznaczenie h i l takich, że f(Ph) = max z wartości Fi, f(Pl) = min z Fi, dla i = 1, 2, ..., n+1
Obliczenie środka symetrii simpleksu z wyłączeniem punktu Ph
oraz wartości funkcji Fs = f(P')
Odbicie P* punktu Ph względem P' i obliczenie wartości funkcji Fo = f(P*)
Jeżeli Fo < min, to:
Obliczenie P** = (1 + γ) P* – γP' i Fe = f(P**)
jeśli Fe < min, podstaw za Ph punkt P**,
jeśli Fe ≥ min, podstaw za Ph punkt P*
O ile nie jest spełnione kryterium stopu, idź do kroku 2.
Jeżeli Fo > min, to:
Jeżeli Fo ≥ f(Pi) dla i = 1, 2, ..., n+1, i ≠ h
jeśli Fo ≥ max, to idź do następnego kroku
jeśli Fo < max, to podstaw za Ph punkt P*
Wykonaj kontrakcję P*** punktu Ph względem P' i oblicz Fk = f(P***)
jeżeli Fk ≥ max, to wykonaj redukcję simpleksu
jeżeli Fk < max, to podstaw za Ph punkt P*** i idź do kroku 11.
Jeżeli Fo < f(Pi) dla i = 1, 2, ..., n+1, i ≠ h, za Ph punkt P*
Jeżeli warunek stopu nie jest spełniony, idź do kroku 2.
Warunek stopu może być sformułowany na kilka sposobów, np.:
odległości pomiędzy wszystkimi punktami są mniejsze od ε
odchylenie standardowe funkcji obliczonej w n+1 wierzchołkach simpleksu nie przekracza określonej wartości
F(x, y) = x2+y2, punkt początkowy (2, 3)
po 11 iteracjach znaleziono przybliżony pkt. minimalny: (-0,08, -0,07)
legenda: żółty -początkowy symplex, niebieski -odbicie, zielony -ekspansja, czerwony -kontrakcja