如何为“' eps”选择合适的值?什么时候使用SLSQP和Scipy最小化?

时间:2017-01-30 16:20:16

标签: python scipy

我写了以下优化代码:

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'一词。我不完全确定它的含义,或者它与容差设置的关系。我如何选择合理的价值,以及过高或过低的后果是什么?

1 个答案:

答案 0 :(得分:0)

嗯,根据docsbrew install libxml2 brew link --force libxml2

  

用于jacobian数值逼近的步长。

在这个wikipedia article部分“使用浮点运算的实际考虑因素”中,您可能会找到一些非常具体的指导。