如何解决如何在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"] = 1
和flag["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 举报,一经查实,本站将立刻删除。