分支定界算法求解整数规划原理及编程实现

整数线性规划的求解方法

从数学模型上看整数规划似乎是线性规划的一种特殊形式,求解只需在线性规划的基础上,通过舍入取整,寻求满足整数的要求即可。

但实际两者有很大不同,通过舍入得到的解(整数)也不一定是最优解,有时甚至不能保证得到的解是整数可行解。

举个栗子:设整数规划问题如下:

max z=x_{1}+x_{2}

\left\{\begin{matrix} 14x_{1}+9x_{2}\leq 51\\ -6x_{1}+3x_{2}\leq 1\\ x_{1},x_{2}\geq 0 \end{matrix}\right.且为整数

首先不考虑整数约束,得到线性规划问题(一般称为松弛问题伴随问题

 用图解法求解出最优解x_{1}=\frac{3}{2},x_{2}=\frac{10}{3}且有Z=\frac{29}{6}

 

 因此可将集合内的整数点一一找出,其最大目标函数的值为最优解,此法为完全枚举法。

如上例:其中(2,2)(3,1)点为最大值,Z=4.

分支定界法

不考虑整数限制先求出相应松弛问题的最优解,若松弛问题无可行解,则ILP无可行解;

若求得的松弛问题最优解符合整数要求,则是ILP的最优解;

若不满足整数条件,则任选一个不满足整数条件的变量x_{i}^{0}来构造新的约束添加到松弛问题中形成两个子问题x_{i}\leq \left [ x_{i}^{0} \right ];x_{i}\geq \left [ x_{i}^{0} \right ]+1依次在缩小的可行域中求解新构造的线性规划最优解,并重复上述过程,直到子问题无解或有整数最优解。

 

逐渐增加约束条件。。。。 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值