如何找到限制在 scipy 中输入值总和的函数的最优值?

时间:2021-02-07 10:35:27

标签: python optimization scipy scipy-optimize-minimize

我有两个输入值的线性函数,根据以下(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 作为最优输入值的候选,正如预期的那样。但是,正如我所说,我需要输入值对在值的总和受到限制的范围内进行优化,而不仅仅是独立的单独输入值。我应该如何修改我的代码才能做到这一点?

0 个答案:

没有答案