我有两个输入值的线性函数,根据以下(params
已经计算):
def objective(x):
return x[0] * params[0] + x[1] * params[1] + params[2]
现在我想用 scipy.optimize.minimize
计算函数的最优(最小值),并限制输入值范围:输入的总和不允许大于 1000 . 我可以将各自的两个输入限制在范围内:
bounds = ((0.0, 1000.0), (0, 1000.0))
scipy.optimize.minimize(objective, (0, 0), method="TNC", bounds=bounds)
并且它给出了 1000, 1000
作为最优输入值的候选,正如预期的那样。但是,正如我所说,我需要输入值对在值的总和受到限制的范围内进行优化,而不仅仅是独立的单独输入值。我应该如何修改我的代码才能做到这一点?