我写了以下优化代码:
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<1
和sum(x) = 1
。
我设置了0.01的容差,我认为这意味着优化器会在最小值的1%范围内终止。
我感到困惑的是'eps'
一词。我不完全确定它的含义,或者它与容差设置的关系。我如何选择合理的价值,以及过高或过低的后果是什么?
答案 0 :(得分:0)
嗯,根据docs,brew install libxml2
brew link --force libxml2
是
用于jacobian数值逼近的步长。
在这个wikipedia article部分“使用浮点运算的实际考虑因素”中,您可能会找到一些非常具体的指导。