纸浆书写限制

2024-05-15 09:24:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用PuLP编写以下约束条件。在

  1. 在A和B之间选择;我可以选择atmost one,但不能同时选择两者。在
  2. 总共有10个变量a-J。在a-F中,我必须在我的解中选择至少3个。在

你能告诉我怎么写这些限制吗?在


Tags: onepulp约束条件试图用atmost
1条回答
网友
1楼 · 发布于 2024-05-15 09:24:08

10个二进制变量的简单公式如下(对应于A-J)

x1=LpVariable("x1",0,1,LpInteger)
x2=LpVariable("x2",0,1,LpInteger)
...
x10=LpVariable("x10",0,1,LpInteger)
# add an appropriate objective
...
# A or B or none but not both
prob += x1 + x2 <= 1
# At least 3 out of 10
prob += x1 + x2 + ... + x10 >= 3

相关问题 更多 >