使用二进制或0-1整数变量来制定逻辑约束
假设一家公司有五个项目可供选择,我们记为:
被我们叫做决策变量 (Decision Variables)
由此我们可知公司五个项目中被选的状态为
,项目被选中;0 项目未被选中
,项目被选中,0 项目未被选中
,项目被选中,0 项目未被选中
,项目被选中,0 项目未被选中
,项目被选中,0 项目未被选中
如果我们设定约束
1. 如果选择项目3,项目5则不能被选中
表示为:,
相互独立
1 0
0 1
0 0
可表示为:
2. 必须选择项目2和项目3之一
表示为: 多项选择问题
这也是一种互斥情况,必须被迫选择其一。
3. 如果选择了项目4则必须选择项目2
表示为:, 这是条件约束
式子可变式为:
4. 如果选择了项目1则必须选择项目5,反之亦然
表示为:,这称之为共同条件约束
多项式选择约束
1. 总共不能选择超过3个
表示为:
2. 必须选择前三个项目中的至少两个项目
表示为:
3. 必须选择项目4
表示为:
4. 选择项目3或5,或者选择两者
表示为:
其它特殊约束表现形式
1. 如果没选择项目4,则也必须不选择项目2
表示为: (Conditional)
2. 必须将3,4项目一起选择
表示为: (Co-requisite)
3. 必须要选择项目3或4,但是不能同时选择3,4
表示为: (Multiple Choice)