【问题标题】:How do I select an appropriate value for 'eps' when using SLSQP with Scipy minimize?将 SLSQP 与 Scipy 最小化一起使用时,如何为“eps”选择合适的值?
【发布时间】:2017-06-15 21:23:30
【问题描述】:

我写了如下优化代码:

guess = [1/6] * 6
bounds = [(0.0,1.0)] * 6                          
cons = {'type': 'eq', 'fun': lambda x:  1 - sum(x)}
result = minimize(function, guess, (instrument, sample),\
  bounds=bounds, method='SLSQP', tol=0.01, constraints=cons,\
  options={'disp': False ,'eps' : 1e-2})

结果应该是一个长度为 6 的向量,每个值为 0<x<1sum(x) = 1

我设置了 0.01 的容差,我相信这意味着优化器将在它处于最小值的 1% 以内时终止。

我感到困惑的是'eps' 术语。我不完全确定它的含义,或者它与公差设置的关系。如何选择合理的值,过高或过低的后果是什么?

【问题讨论】:

    标签: python scipy


    【解决方案1】:

    嗯,根据docseps就是

    用于雅可比数值逼近的步长。

    关于什么是好的价值,您可以在 wikipedia article 部分“使用浮点运算的实际考虑”中找到一些非常具体的指导

    【讨论】:

      猜你喜欢
      • 2019-10-01
      • 2016-04-11
      • 2023-04-09
      • 1970-01-01
      • 2019-12-16
      • 2015-01-09
      • 1970-01-01
      • 2019-10-06
      • 2021-08-18
      相关资源
      最近更新 更多