use*_*977 5 python optimization scipy
有没有办法让 scipy 优化模块使用更小的步长?我正在优化一个带有大量变量(大约 40 个)的问题,我认为这些变量接近最佳值,但是当我运行 scipy 最小化模块(到目前为止我已经尝试过 L-BFGS 和 CG)时,它们不会收敛,因为初始步长太大。
小智 5
我有类似的问题,我使用 SLSQP 因为我需要边界。使用此求解器,选项 epsilon ('eps') 有助于以更好的步长进行收敛:
minimize(simulation, start_values, method='SLSQP', bounds = bnds, constraints = ({'type': 'ineq', 'fun': lambda x: const(x)}), options = {'eps': 1})
Run Code Online (Sandbox Code Playgroud)
这不是理想的解决方案。
我相信 cobyla 是 scipy.optimize.minimize 中唯一支持此功能的技术。您基本上可以使用 rhobeg 参数控制步长的大小。(这并不是真正的步长,因为它是顺序线性方法,但它具有相同的效果)。
归档时间: |
|
查看次数: |
4989 次 |
最近记录: |