微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我有两个输入值的线性函数,根据以下(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),method="TNC",bounds=bounds)

并且它给出了 1000,1000 作为最优输入值的候选,正如预期的那样。但是,正如我所说,我需要输入值对在值的总和受到限制的范围内进行优化,而不仅仅是独立的单独输入值。我应该如何修改我的代码才能做到这一点?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。