2011-06-02 826 views
5

Estoy haciendo una evaluación comparativa de un método de optimización numérica en Mathematica y obtengo algunos resultados inconsistentes cuando uso la especificación Método-> Automático con FindMinimum. Lo que quiero hacer es verificar qué método está eligiendo. Sé que puedo usar AbsoluteOptions [] para extraer las opciones de una salida, como un objeto Graphics, pero esto no funciona con FindMinimum, es decir,Comprobando las elecciones de Mathematica cuando especifica "Automático"

AbsoluteOptions [Findminimum [f [x], {x, 0. }, Método-> Automático], Método]

no funciona. ¿Puedo hacer esto?

+1

'AbsoluteOptions' no funciona como la gente lo desea. Ver: http://stackoverflow.com/questions/4288713/how-to-determine-plotrange-to-include-all-of-graphics como ejemplo. –

Respuesta

7

No creo que haya una forma general de encontrar qué método utilizan las funciones numéricas, aparte de leer la documentación. La documentación en unconstrained optimization es bastante buena, sin embargo. Allí se dice:

Con Method -> Automatic, Mathematica utiliza el "cuasi-Newton" método a menos que el problema es estructuralmente una suma de cuadrados, en cuyo caso la variante de Levenberg-Marquardt del método "de Gauss-Newton" es usado. Cuando se dan dos condiciones de inicio en cada variable, se utiliza el método de "eje principal" .

Además, para problemas restringidos, se utiliza el método del punto interior. Si el problema es lineal (objetivo y restricciones), se usará programación lineal. (LP en sí tiene, creo, tres métodos que se utilizan, dependiendo del tamaño y otras características).

+0

Ah, me lo ganaste ... –

+0

Gracias, me preguntaba si solo estaba usando AbsoluteOptions incorrectamente, pero supongo que solo tengo que buscar en la documentación. –

+0

@Jason 'AbsoluteOptions' está diseñado para trabajar con objetos que tienen opciones; 'Graphics' y' NotebookObject's vienen a la mente. En un comando como el que sugirió, está pasando efectivamente la salida de 'FindMinimum' a' AbsoluteOptions', por lo que espero que funcione. –

Cuestiones relacionadas