[MILP] Logical Constraints 0-1 (Note1)

使用二进制或0-1整数变量来制定逻辑约束

假设一家公司有五个项目可供选择,我们记为:

x_{i} = \left\{\begin{matrix} 1, if \ project\ i\ is\ selected & \\ 0, otherwise& \end{matrix}\right.

x_{i} 被我们叫做决策变量 (Decision Variables)

由此我们可知公司五个项目中被选的状态为

x_{1} = 1 ,项目被选中;0 项目未被选中

x_{2} = 1,项目被选中,0 项目未被选中

x_{3} = 1,项目被选中,0 项目未被选中

x_{4} = 1,项目被选中,0 项目未被选中

x_{5} = 1,项目被选中,0 项目未被选中

如果我们设定约束

1. 如果选择项目3,项目5则不能被选中

表示为:x_{3} + x_{5}\leq 1x_{3},x_{5} 相互独立

              1        0

              0        1

              0        0

可表示为:

2. 必须选择项目2和项目3之一

表示为:x_{2} + x_{3} = 1   多项选择问题

这也是一种互斥情况,必须被迫选择其一。

3. 如果选择了项目4则必须选择项目2

表示为:x_{2}\geq x_{4}\ or \ x_{4}\leq x_{2}, 这是条件约束

式子可变式为:x_{2}-x_{4}\geq 0\ or \ x_{4}-x_{2}\leq 0

4. 如果选择了项目1则必须选择项目5,反之亦然

表示为:x_{1} = x_{5}\ or \ x_{1}-x_{5}=0,这称之为共同条件约束

多项式选择约束

1. 总共不能选择超过3个

表示为:x_{1}+x_{2}+x_{3}+x_{4}+x_{5}\leq 3

2. 必须选择前三个项目中的至少两个项目

表示为:x_{1}+x_{2}+x_{3}\geq 2

3. 必须选择项目4

表示为:x_{4} = 1

4. 选择项目3或5,或者选择两者

表示为:x_{3}+x_{5}\geq 1

其它特殊约束表现形式

1. 如果没选择项目4,则也必须不选择项目2

表示为:x_{2}\leq x_{4}  (Conditional)

2. 必须将3,4项目一起选择

表示为:x_{3} = x_{4}  (Co-requisite)

3. 必须要选择项目3或4,但是不能同时选择3,4

表示为:x_{3}+x_{4}=1 (Multiple Choice)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值