Búsqueda del valor mínimo a través del simplex Nelder–Mead en las función banana de Rosenbrock (arriba) y en la función de Himmelblau (abajo)

El método Nelder-Mead es un algoritmo de optimización ampliamente utilizado. Es debido a Nelder y Mead (1965) y es un método numérico para minimizar una función objetiva en un espacio multidimensional.

El método utiliza el concepto de un simplex, que es un politopo de N+1 vértices en N dimensiones: un segmento de línea en una línea, un triángulo en un plano, un tetraedro en un espacio tridimensional y así sucesivamente.

El método busca de modo aproximado una solución óptima local a un problema con N variables cuando la función a minimizar varía suavemente.

Ejemplo de utilización

editar

Por ejemplo, un ingeniero que diseñe un puente colgante ha de elegir el grosor de los cables laterales, los cables más largos y del soporte que irá asfaltado. Estos elementos están ligados para un correcto diseño del puente y no es fácil imaginar el efecto en el cambio de cada uno de los espesores. El ingeniero puede usar el método Nelder-Mead para generar diseños de prueba, fijando los grosores de los elementos, que son probados en un modelo de ordenador que tiene en cuenta otros parámetros (vibraciones, vientos, materiales de construcción…).

Así se introduce una función, llamémosla inestabilidad del puente que depende de los grosores de los elementos con los que se construye, que interesa hacer mínima ante otros factores externos (vibraciones, vientos…). Como cada vez que se ejecuta este modelo que tiene en cuenta los factores externos se consume mucho tiempo de cálculo es importante variar los grosores con idea para no malgastar recursos.

El método Nelder-Mead genera una nueva posición de prueba (valor de los grosores extrapolando el comportamiento de la función en los vértices de un simplex. Así no es necesario calcular y probar todos los valores posibles de la función (todos los grosores) sino que el algoritmo va reemplazando cada vez uno de los puntos de prueba ajustando con idea para encontrar la solución que minimiza la función más rápidamente.

El modo más sencillo de hacerlo es reemplazar el peor punto con un punto reflejado en el resto de N-1 puntos considerados como un plano (de ahí la extrapolación). Si este punto da mejor resultado, el algoritmo prueba a estirarse tomando los valores exponencialmente en una línea que contenga este punto. Por otra parte, si este nuevo punto no es mucho mejor que el valor previo, entonces estamos en un valle (buscamos un mínimo, como un gran hoyo) y el algoritmo encoge el simplex hacia el mejor punto.

Tratamiento de mínimos locales

editar

Como otros algoritmos de optimización, Nelder-Mead a veces se queda bloqueado en un mínimo local (una zona que es un mínimo de la función comparado con los puntos de alrededor pero hay motivos para pensar que existe un mínimo mejor en otra parte). El algoritmo se da cuenta y se reinicia con un nuevo simplex que empiece en el mejor valor encontrado. Esto puede extenderse de la misma manera que en el simulated annealing para tratar de escapar de los mínimos locales.

Existen muchas variaciones dependiendo de la naturaleza del problema que se quiera resolver. La más usual es, quizá, usar un simplex pequeño de tamaño constante que salte de gradientes locales a máximos locales. Imagine un pequeño triángulo en un mapa 3D de una cadena montañosa, subiendo a una de las montañas buscando el pico, buscando como objetivo final encontrar el pico más alto de la cordillera. Esta variación suele funcionar peor que el método original de Nelder-Mead descrito en el artículo pues requiere muchos pequeños pasos intermedios (subir a todas las montañas para ver cuál es la más alta).

Referencias

editar


📚 Artikel Terkait di Wikipedia

Búsqueda de patrones (optimización)

simplex method to a non-stationary point». SIAM J. Optim. 9: 148-158. doi:10.1137/S1052623496303482. "Convergence of the Nelder–Mead simplex method to

Robert Fourer

invención de AMPL, una serie de artículos de Fourer ampliaron el algoritmo Simplex para permitir que el objetivo sea convexo, separable por partes y lineal

Sistema estelar

diagrama su jerarquía.​ Un diagrama símplex de jerarquía 1, como en (b), describe un sistema binario. Un diagrama símplex de jerarquía 2 puede describir un

Algoritmo de Levenberg-Marquardt

}}+2n\pi } . Región de confianza Método Nelder – Mead (también conocido como simplex) Las variantes del algoritmo de Levenberg-Marquardt también se han utilizado

Modelo de Lieb-Liniger

\psi } es simétrica y está totalmente determinada por sus valores en el simplex R {\displaystyle {\mathcal {R}}} , definidos por la condición 0 ≤ x 1 ≤

Sistema de coordenadas

tratamiento de la mecánica hamiltoniana. Las coordenadas baricéntricas (n-simplex) se utilizan para representar diagramas ternarios y más generalmente en

Algoritmo de pivote

Foundations and Extensions, Kluwer, ISBN 978-0-7923-9804-2}}, capítulo 21.4: Simplex Method vs Interior-Point Methods. Komei Fukuda & Tamás Terlaky (1999): On the

Premio Fulkerson

Martin Grötschel, László Lovász y Alexander Schrijver, "The ellipsoid method and its consequences in combinatorial optimization," Combinatorica 1: 169-197