整数线性规划的求解方法
从数学模型上看整数规划似乎是线性规划的一种特殊形式,求解只需在线性规划的基础上,通过舍入取整,寻求满足整数的要求即可。
但实际两者有很大不同,通过舍入得到的解(整数)也不一定是最优解,有时甚至不能保证得到的解是整数可行解。
举个栗子:设整数规划问题如下:
max z=
且为整数
首先不考虑整数约束,得到线性规划问题(一般称为松弛问题或伴随问题)
用图解法求解出最优解,
且有
因此可将集合内的整数点一一找出,其最大目标函数的值为最优解,此法为完全枚举法。
如上例:其中(2,2)(3,1)点为最大值,Z=4.
分支定界法
不考虑整数限制先求出相应松弛问题的最优解,若松弛问题无可行解,则ILP无可行解;
若求得的松弛问题最优解符合整数要求,则是ILP的最优解;
若不满足整数条件,则任选一个不满足整数条件的变量来构造新的约束添加到松弛问题中形成两个子问题
;
依次在缩小的可行域中求解新构造的线性规划最优解,并重复上述过程,直到子问题无解或有整数最优解。
逐渐增加约束条件。。。。