Considere f(x₁, x₂, …, xn) a função a ser minimizada. Define-se avaliar um ponto como calcular o valor da função nesse ponto. 1 - Defina n + 1 pontos iniciais com n dimensões. xi = (xi1,xi2,…,xin), em que 1 ≤ i ≤ n + 1. Ordene e renomeie de forma que f(x₁)<f(x₂)<…<f(xn + 1). 2 - Calcule o centróide xg = (xg1,xg2,…,xgn) dos n pontos com menor avaliação: $\displaystyle x_{gj} \leftarrow {n}^{n + 1}x_{ij}$, 1 ≤ j ≤ n. 3 - Calcule o ponto de reflexão xr = (xr1,xr2,…,xrn): rri ← xgi + α(xgi−x(n + 1)i), 1 ≤ i ≤ n. Avalie esse ponto: f(xr). 4 - Se f(x₁)<f(xr)≤f(xn), então faça x(n + 1)j ← xrj, 1 ≤ j ≤ n. Ordene os pontos por ordem crescente de avaliação e vá para o passo 2. 5 - Se f(xr)≤f(x₁), então calcule o ponto de expansão xe = (xe1,xe2,…,xen): xej ← xrj + β(xrj−xgj), 1 ≤ j ≤ n. Avalie esse ponto: f(xe). 6 - Se f(xe)≤f(xr), então faça x1j ← xej e xij ← x(i − 1)j, 1 ≤ j ≤ n + 1, e vá para o passo 2. Senão, faça x1j ← xrj e xij ← x(i − 1)j, 1 ≤ j ≤ n + 1, e vá para o passo 2. 7 - Se f(xr)>f(xn), então calcule o ponto de contração xc = (xc1,xc2,…,xcn): xcj ← xgj + γ(x(n + 1)j − xgj), 1 ≤ j ≤ n. Avalie esse ponto: f(xc). 8 - Se f(xc)≤f(xn + 1), então faça x(n + 1)j ← xcj, 1 ≤ j ≤ n. Ordene os pontos por ordem crescente de avaliação e vá para o passo 2. 9 - Se f(xc)>f(xn + 1), então realize uma contração ao longo de todas as dimensões em direção ao ponto x₁: xij ← xij + ν(xij − x1j), 2 ≤ i ≤ n + 1, 1 ≤ j ≤ n. Ordene os pontos por ordem crescente de avaliação e vá para o passo 2. Valores recomendados: α = 1, β = 1, γ = 0, 5 e ν = 0, 5.