如何在Python Pulp中编写复杂的约束

问题描述

我需要使用python纸浆编写一些复杂的约束。这是一个例子,

假设我有三套A=[1,2,3,4],B=[A1,A2,A3,A4],and C=[C1,C2,C3]

和三个参数weight[a,b],amount[a,b,c],flag[a,c],其中flag[a,c] = 1 仅在某些索引情况下,仅说flag["1","A1","C1"] = 1flag["2","A2","C3"] = 1

然后,仅当flag [(a,b,c)] == 1时,才需要定义一个约束,该约束的总和为[a,b,c],类似于下一个约束。我努力寻找一种正确的方法来处理此逻辑,因为我经常会看到一个错误,指出在定义一组索引后,[a,b,c)的某些组合不适用于flag [(a,b,c)] c由索引a和b组成。

for a in A.index: 
    for b in B.index: 
        model += weight[a,b] <= pulp.lpSum([amount[a,c] for c in C.index if flag[(a,c)] == 1]);

您知道如何编写这样的约束吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...