【发布时间】:2019-03-26 16:57:09
【问题描述】:
我想在 Gurobi 中设置一个目标函数来最小化 x^2 + y^2。我已尽力在下面提供一个示例:
import gurobipy as gbPy
model = gbPy.Model()
A = [1, 2, 3, 4, 5]
B = [1, 2, 3]
x = model.addVars(5, lb = 0)
y = model.addVars(3, lb = 0)
for i in range(len(x)):
model.addConstr(x[i] >= A[i])
for i in range(len(y)):
model.addConstr(y[i] >= B[i])
objExp = gbPy.QuadExpr()
objExp.addTerms(???)
model.setObjective(objExp, gbPy.GRB.MINIMIZE)
但我不确定如何在 objExp.addTerms 行中指示我想要的表达式。 http://www.gurobi.com/documentation/8.1/refman/py_quadexpr_add.html提供了一个例子:
expr = x * x + 2 * y * y
expr.add(z * z, 3.0)
但我不明白它是在表达式中添加 3*z^2 还是 z^2 + 3。非常感谢任何解释语法的帮助!
【问题讨论】: