整数规划,顾名思义,是线性规划在变量部分或是全部限制在整数的情况下。当变量全限制为整数时,称完全整数规划。 部分限制为整数的,称混合整数规划。
整数规划可以看作是一般线性规划解做了限制,因此普遍有三种情形:
- 一般线性规划的解即为整数,那么对应的整数规划存在最优解
- 一般线性规划的解不为整数,那么对应的整数规划不存在最优解
- 一般线性规划的解不为整数,但是可行域内存在整数解,那么对应的整数规划存在劣化解
求解整数规划的常用方法
§1 分枝定界法
我们常说:细枝末叶。枝条越往深入开叉总是会越来越细的。
因此,所谓分枝,就是类似树枝开叉,将可行解空间分割为越来越小的子空间。
而定界,则是指对子空间作目标下界/上界计算(对应模型求最小值/最大值)。一旦分割出的子空间的定界结果超出可行解集目标值,就不再分枝并丢弃,称剪枝。
分枝定界法,在保证符合整数解的情形下,逐步扩充。因过程易于抽象,我们可以使用计算机完成这一系统搜索。
在判断原线性规划解的性质后,用分枝定界法求解(以最大化为例)的步骤为:
§2 隐枚举法
0-1整数规划就是0-1规划的整数限制版本。因为0/1代表的是真/假,所以这类问题一般都出现在选址、指派等情形。求解0