纸浆约束指标如何建立条件

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 中的每个 jPer_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