问题描述
我需要使用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 (将#修改为@)