DJJ*_*DJJ 8 optimization fortran r
我正在使用函数nlminb来最大化函数并使用消息false-convergence获得收敛(收敛= 0).
我试过文档,但没有回答.我试图获得该函数的端口文档,并可以找到该函数nlminb
任何人都可以指向我的端口文档nlminb或解释什么是虚假收敛意味着什么?
我也尝试过其他优化功能但是虽然nlminb有点模糊,但它似乎比任何其他函数更快地收敛到正确的答案.需要执行更多测试以确保.即使使用nlminbthrough optimx也相当慢.
如果我们更了解这个功能是如何工作的,那将是一件好事.Fortran编码员可以随意帮忙.
编辑 我应该早点找到代码.这是它,但它仍然是模糊的.有人可以帮忙
Ben*_*ker 11
这是r-sig-mixed模型中我的答案的转贴/改编
[... nlminb()优化器...基于PORT库.
?nlminb 以前链接的文档位于http://netlib.bell-labs.com/cm/cs/cstr/153.pdf:http://www.netlib.org/port/cs/cstr说
port/readme指向"所选优化例程的使用摘要",有时在http://netlib.bell-labs.com/cm/cs/cstr/153.ps.gz或http:// netlib中称为端口优化文档.bell-labs.com /厘米/ CS/CSTR/153.pdf
...但是这些链接已被破坏(port/readme仍然存在,但提供的链接都没有工作......).
我设法通过谷歌学术搜索找到了文档,并发布了一个稍微方便的PDF版本.
我在这些文档中找到的唯一有用的材料是:
页.5:错误收敛:梯度∇f(x)可能被错误地计算,其他停止容差可能太紧,或者f或∇f可能在当前迭代x附近不连续.
页.9:V(XFTOL)-V(34)是假收敛容差.如果不满足更有利的停止测试并且如果尝试了最多V(XFTOL)的缩放长度的步骤但是不被接受,则发生IV(1)= 8的返回.''缩放长度'是(5.1)意义上的.这种回归通常意味着在计算∇f(x)时存在误差,或者有利的收敛容差(V(RFCTOL),V(XCTOL)以及可能V(AFCTOL))对于f的精度来说太紧(计算x)(见§9),或者∇f(或f本身)在x附近是不连续的.计算∇f(x)中的错误通常仅在几次迭代后导致错误的收敛 - 通常在第一次迭代中.默认值= 100*MACHEP.
页.13:有时评估f(x)涉及广泛的计算,例如执行模拟或自适应数值求积或积分普通或偏微分方程.在这种情况下,为f(x)计算的值,比如f(x),可能涉及实质性误差(在优化算法的眼睛中).为了消除一些"错误收敛"信息和无用的函数评估,有必要增加停止容差,并且当使用有限差分导数近似时,增加用于估计导数的步长.
| 归档时间: |
|
| 查看次数: |
3094 次 |
| 最近记录: |