在PuLP中编写约束

时间:2018-07-03 14:18:15

标签: python optimization constraints pulp

我正在尝试在PuLP中编写以下约束。

  1. 在A和B之间选择;我最多可以选择一个,而不能两个都选。
  2. 共有10个变量A-J。在A-F中,我必须在解决方案中至少选择3个。

请问您如何写这些约束?

1 个答案:

答案 0 :(得分:0)

关于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