![](/img/trans.png)
[英]Python : how to fix this error with _ub in scipy. optimize syntax error
[英]Python Scipy Optimize with Lower bounds (instead of A_ub)
昨晚我花了大约 4-5 个小时搜索 Stack Overflow,浏览 scipy 优化文档等,但找不到我的问题的答案。 我的问题是,当似乎仅用于上限时,如何为优化方程设置下限? 请参阅下面的公式和代码。
import numpy as np
from scipy.optimize import linprog
from numpy.linalg import solve
c = np.array([4,7,5])
A = np.array([[4,1,10],[3,2,1],[0,4,5]])
b = np.array([10,12,20])
res = linprog(c,A_ub = A,b_ub = b)
print(res)
('Optimal value:', -0.0, '\nX:', array([ 0., 0., 0.]))
fun: -0.0
message: 'Optimization terminated successfully.'
nit: 0
slack: array([ 10., 12., 20.])
status: 0
success: True
x: array([ 0., 0., 0.])
('Optimal value:', -37.666666666666664, '\nX:', array([ 0.66666667, 5. ` , 0. ]))`
fun: -37.666666666666664
message: 'Optimization terminated successfully.'
nit: 2
slack: array([ 2.33333333, 0. , 0. ])
status: 0
success: True
x: array([ 0.66666667, 5. , 0. ])
它在第一个中给了我一个答案,以最小化 x1,x2,x3 显然显示全零。 如果每个都 <=10,<=12,<=20,则第二个答案使函数最大化,因为显然它是一个上限。 我需要的是基于 >=10,>=12,>=20 最小化函数的最佳答案。
对不起,如果这很容易! 我花了很多时间在网上爬行...
a'x >= b
与-a'x <= -b
相同。 即,将>=
不等式乘以 -1。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.