纸浆约束指标如何建立条件
How to establish conditions for indexes in pulp constraints
我在 Python-3 中使用 PuLP 来解决 MIP 问题。
我想创建一个约束,仅对索引 i 与索引 j 不同的变量求和,但我找不到正确的语法来执行此操作。
for j in Are:
for t in Per_fl:
prob += pulp.lpSum([X[i][j][t] for i != j in Are]) <= 1
上面的代码(对于 Are 中的 i != j)不起作用。有没有办法建立这个约束?
你的问题是你如何使用列表理解,你需要把条件位放在最后。
共有三个索引:i, j, t
。鉴于您布置 for 循环的方式,我假设您想要对 Are
中的每个 j
和 Per_fl
.
中的每个 t
进行约束
然后我假设您想对 Are
中的所有 i
索引求和,不包括 i==j
中的索引。您可以按如下方式执行此操作:
for j in Are:
for t in Per_fl:
prob += pulp.lpSum([X[i][j][t] for i in Are if i != j]) <= 1
我在 Python-3 中使用 PuLP 来解决 MIP 问题。
我想创建一个约束,仅对索引 i 与索引 j 不同的变量求和,但我找不到正确的语法来执行此操作。
for j in Are:
for t in Per_fl:
prob += pulp.lpSum([X[i][j][t] for i != j in Are]) <= 1
上面的代码(对于 Are 中的 i != j)不起作用。有没有办法建立这个约束?
你的问题是你如何使用列表理解,你需要把条件位放在最后。
共有三个索引:i, j, t
。鉴于您布置 for 循环的方式,我假设您想要对 Are
中的每个 j
和 Per_fl
.
t
进行约束
然后我假设您想对 Are
中的所有 i
索引求和,不包括 i==j
中的索引。您可以按如下方式执行此操作:
for j in Are:
for t in Per_fl:
prob += pulp.lpSum([X[i][j][t] for i in Are if i != j]) <= 1