以下功能只是为了表达问题,而不是真正的问题。 我有一个目标函数,我设置了终止阈值:
def objective(x,data1,data2):
s=data1-x*data2
if s<=threshold:
sys.exit()
else:
return s
我使用其他功能进行优化:
def optimize(data1,data2):
x0=numpy.zeros(2)
result=scipy.optimize.minimize(objective,x0,
args=(data1, data2),
method='Nelder-Mead', options={'xtol': 1e-6, 'disp': True})
return result
问题是由于强制终止目标函数,优化不会返回正确的结果,即当脚本终止时值 result.x 。
不幸的是我无法提供原始功能,但是如果有人遇到类似的事情可能会帮助我。