检查Mathematica在指定"自动"时所做的选择

Jas*_*ite 5 wolfram-mathematica

所以我正在对Mathematica中的数值优化方法进行一些基准测试,当我使用Method-> Automatic规范和FindMinimum时,我得到了一些不一致的结果.我想做的是检查它选择的方法.我知道我可以使用AbsoluteOptions []从一些输出中提取选项,比如Graphics对象,但这不适用于FindMinimum,即

AbsoluteOptions [Findminimum [f [x],{x,0.},Method-> Automatic],Method]

不起作用.我可以这样做吗?

Mar*_*ure 7

我不认为除了阅读文档之外,还有一种通用的方法可以找到数值函数使用的方法.不过,关于无约束优化的文档非常好.它说:

使用Method -> Automatic,Mathematica使用"准牛顿"方法,除非问题在结构上是一个平方和,在这种情况下使用"Gauss-Newton"方法的Levenberg-Marquardt变体.当在每个变量中给出两个起始条件时,使用"主轴"方法.

另外,对于约束问题,使用内点法.如果问题是线性的(客观和约束),将使用线性编程.(我认为,LP本身有三种使用的方法,具体取决于尺寸和其他特征.)