第五章整数规划
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 整数规划
主要内容:1、分枝定界法; 2、割平面法; 3、0-1型整数规划; 4、指派问题。
重点与难点:分枝定界法和割平面法的原理、求解方法,0-1型规划模型的建立及求解步骤,用匈牙利法求解指派问题的方法和技巧。
要 求:理解本章内容,熟练掌握求解整数规划的方法和步骤,能够运用这些方法解决实际问题。
§1 问题的提出
要求变量取为整数的线性规划问题,称为整数规则问题(简称IP )。如果所有的变量都要求为(非负)整数,称之为纯整数规划或全整数规划;如果仅一部分变量要求为整数,称为混合整数规划。
例1 求解下列整数规划问题
211020m ax x x z +=
⎪⎪⎩⎪⎪
⎨
⎧≥≤+≤+为整数2
1212121,0,13522445x x x x x x x x 如果不考虑整数约束,就是一个线性规划问题(称这样的问题为原问题相应的线性规划问题),很容易求得最优解为:
96m ax ,0,8.421===z x x 。
用图解法将结果表示于图中画“+”号的点都是可行的整数解,为满足要求,将等值线向原点
方向移动,当第一次遇到“+”号点(1,421==x x )时得最优解为1,421==x x ,
最优值为z=90。
由上例可看出,用枚举法是容易想到的,但常常得到最优解比较困难,尤其是遇到变量的取值更多时,就更困难了。下面介绍几种常用解法。
§2 分枝定界法
分枝定界法可用于解纯整数或混合的整数规划问题。基本思路:设有最大化的整数规划问题A ,与之相应的线性规划问题B ,从解B 开始,若其最优解不符合A 的整数条件,那么B 的最优值必是
A 的最优值
*
z
的上界,记为
z ;而A 的任意可行解的目标函数值是*
z
的一个下界
z ,采
取将B 的可行域分枝的方法,逐步减少z 和增大z ,最终求得*z 。现举例说明: 例2 求解A
219040m ax x x z +=
⎪⎪⎩⎪⎪⎨
⎧≥≤+≤+为整数
21212121,0
,7020756
79x x x x x x x x 解:先不考虑条件⑤,即解相应的线性规划B (①--④),得最优解
=1x 4.81, =2x 1.82,
①
② ③ ④ ⑤
=0z 356(见下图)。
显然,它不符合整数条件⑤。
这时,0z 为问题A 的最优值*z 的上界,记0z z =,而=1x 0, =2x 0显然是问题A 的一个整数可行解,这时z=0,是*z 的一个下界,记0=z ,即2560*≤≤z 。
分枝定界法的解法,首先注意其中一个非整数变量的解,如1x ,在B 中1x =4.81,于是对原问题增
加两个约束条件:5411≥≤x x 、,可将原问题分解为两个子问题21B B 、(即两枝),给每枝增加一
个约束条件,如图。
8不考虑整数条件解问题21B B 、得到最优解:
显然未得到全部变量是整数解,
21z z > ,∴将z
改为349(z =349),
3490*≤≤z 。
继续对问题21B B 、
进行分解,21z z > ,∴先分解1B 为两枝,增加条件22≤x 的问题称为
3B ;增加条件32≥x 的问题称为4B 。在上图中再去掉22>x 与32 间的可行域,再求解问题43 B B 、,其结果列在下图中,可见问题3B 的解已都是整数,它的目 标函数值 3403=z ,取z =340,而它大于327 4 =z ,所以再分解4B 已无必要,而问题2 B 的3412=z ,所以* z 可能在341340*≤≤ z 之间有整数解,于是再对2B 分解,得问 题 65,B B ,5B 为非整数解,且35308z z <=,问题6B 为无可行解,于是可断定: 340*3===z z z ,2,421==x x 为最优整数解。 356=z 349,0==z z 由以上解题过程可得到分枝定界法的求解步骤: 1. 给定原问题的初始上界z 解与原问题A 相应的线性规划问题B ,可能出现以下情况之一: ①B 没有可行解,这时A 也没有可行解,则停止; ②B 有最优解,并符合A 的整数条件,B 的最优解即为A 的最优解,则停止; ③B 有最优解,但不符合A 的整数条件,记它的目标函数值0z 为z 。 2. 给定原问题的初始下界z 用观察法找出问题A 的一整数可行解,一般取n j x j ,,2,1,0 ==。求得其目标函数值,记作z 。这样,就有z z z ≤≤*。 3. 分枝 在B 的最优解中任选一个不符合整数条件的变量j x ,其值为j b ,以[j b ]表示小于j b 的最大整数,构造两个约束条件: ][j j b x ≤和1][+≥j j b x 并将其分别加入问题B ,求两个后继规划问题21B B 、 ,不考虑整数条件,解这两个后继问题。 4. 定界(修改上、下界) 以每个后继问题为一分枝标明求解的结果,与其它问题的解的结果中,找出最优目标函数值最大者作为新的上界z ,从已符合整数条件的各分支中,找出目标函数值的最大者作为新的下界z 。 5. 比较与剪枝 各分枝的最优目标函数值中若有小于z 者,则剪掉这枝,以后不再考虑了,若大于z ,且不符