【发布时间】:2019-08-07 12:02:00
【问题描述】:
我有一个包含许多决策变量的大目标函数。即$$\sum_{i=0}^100 Z_i^2$$。我想知道是否有一种有效的方法可以在目标函数中添加多个二次项,或者有效地构造具有多个项的二次表达式,例如用于线性约束的内置方法 addConstrs()。
在下面的example 中,只添加了几个二次项。直接的扩展是运行一个循环来一项一项地添加二次项。
【问题讨论】:
-
我认为我的回答回答了这个问题,或者至少接近了。仅供参考,有一个stackexchange site for OR,以防您将来对 Gurobi 有更多疑问。
-
@brentertainer 我同意。我认为使用 quicksum 函数的方法可能是我正在寻找的方法,除非 Gurobi 支持系数矩阵的输入。感谢您提醒我有关 OR 部分。
-
有有种方法可以做到这一点(例如使用 numpy)。你用什么类型的对象来存储你的系数?
-
我使用 numpy 多维数组来存储我的系数。你问的是这个吗?
-
好的,谢谢。请参阅我的答案中的编辑。