【问题标题】:Method to set scipy optimization minimization step size设置scipy优化最小化步长的方法
【发布时间】:2015-01-27 17:40:24
【问题描述】:

有没有办法让 scipy 优化模块使用更小的步长? 我正在使用大量变量(大约 40 个)优化问题,我认为这些变量接近最优值,但是当我运行 scipy 最小化模块(到目前为止,我已经尝试过 L-BFGS 和 CG)时,它们不会收敛,因为初始步长太大。

【问题讨论】:

    标签: python optimization scipy


    【解决方案1】:

    我相信 cobyla 是 scipy.optimize.minimize 中唯一支持这一点的技术。您基本上可以使用 rhobeg 参数控制其步长的大小。 (实际上不是步长,因为它是一种顺序线性方法,但它具有相同的效果。

    【讨论】:

      【解决方案2】:

      我有类似的问题,我使用 SLSQP 因为我需要边界。使用此求解器,选项 epsilon ('eps') 有助于以更好的步长收敛:

      minimize(simulation, start_values, method='SLSQP', bounds = bnds, constraints = ({'type': 'ineq', 'fun': lambda x: const(x)}), options = {'eps': 1})
      

      这不是理想的解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-24
        • 2018-02-16
        • 2020-08-08
        • 2019-11-18
        • 1970-01-01
        • 1970-01-01
        • 2018-07-30
        • 2018-03-17
        相关资源
        最近更新 更多