第五章整数规划

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 ,且不符

相关文档
最新文档