【发布时间】:2018-10-18 20:24:18
【问题描述】:
我找到了以下示例,说明如何编写约束“所有 a_{i,j}*x_{i,j} 与 J 的 j 元素的总和对于 I 中的所有 i 而言
\sum{a_{i,j}*x_{i,j}} <= 5
在 Gurobi python 中:
m.addConstr(x.prod(a,i,'*') <=5 for i in I)
如果有人能向我解释这个表达方式,我将不胜感激!
这是我的理解:
m 通常用作存储模型的变量,在程序中我们会以m = Model() 开头来创建一个空模型。
我们使用addConstr() 添加一个约束,并且 x 必须作为变量引入。 x.prod() 方法创建其参数的线性组合。不过不知道怎么解释a, i, '*'这三个参数
i 是 for 循环的一部分,它从 1 开始,然后递增 1,直到到达 I 的最后一个元素。 '*' 用作通配符,将只处理任何元素。但是a, i, '*' 的这个组合告诉我什么?
【问题讨论】:
-
在不知道
a是什么的情况下很难正确回答您的问题。你能提供整个例子吗?此外,我认为应该是m.addConstrs而不是m.addConstr。 -
here 是我正在阅读的演示文稿的链接。我正在谈论的示例在幻灯片 27 上(隐式)
标签: mathematical-optimization gurobi