分支定界法和割平面法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

分支定界法和割平面法

在上学期课程中学习的线性规划问题中,有些最优解可能是分数或消失,但现实中某些

具体的问题,常要求最优解必须是整数,这样就有了对于整数规划的研究。

整数规划有以下几种分类:(1)如果整数规划中所有的变量都限制为(非负)整数,就

称为纯整数规划或全整数规划;(2)如果仅一部分变量限制为整数,则称为混合整数规划;

(3)整数规划还有一种特殊情形是0-1规划,他的变量取值仅限于0或1。本文就适用于

纯整数线性规划和混合整数线性规划求解的分支定界法和割平面法,做相应的介绍。

一、分支定界法

在求解整数规划是,如果可行域是有界的,首先容易想到的方法就是穷举变量的所有可行的整数组合,然后比较它们的目标函数值以定出最优解。对于小型问题,变量数量很少,可行的整数组合数也是很小时,这个方法是可行的,也是有效的。而对于大型的问题,可行的整数组合数很大时,这种方法就不可取了。所以我们的方法一般是仅检查可行的整数组合的一部分,就能定出最有的整数解。分支定界法就是其中一个。

分枝定界法可用于解纯整数或混合的整数规划问题。在二十世纪六十年代初

由Land Doig和Dakin等人提出。由于这方法灵活且便于用计算机求解,所以现在它已是解整数规划的重要方法。目前已成功地应用于求解生产进度问题、旅行推销员问题、工厂选址问题、背包问题及分配问题等。

设有最大化的整数规划问题A,与它相应的线性规划为问题B,从解问题B开始,若其最优解不符合A的整数条件,那么B的最优目标函数必是A的最优目标函数z*的上界,记作z ;而A的任意可行解的目标函数值将是z*的一个下界z。分枝定界法就是将B的可行域分成子区域再求其最大值的方法。逐步减小z和增大z,最终求到z*。现用下例来说明:例1求解下述整数规划

Max z = 40x「90x2

9X1 7X2 -56

7X1 20X2 - 70

x1,x2 -0 且为整数

解(1)先不考虑整数限制,即解相应的线性规划B,得最优解为:

洛=4.81,x2= 1.82, z 二356

可见它不符合整数条件。这时z是问题A的最优目标函数值z*的上界,记作z。而X1=0, X2=0显然是问题A的一个整数可行解,这时z = 0,是z*的一个下界,记作z,即0w z*< 356。

(2)因为X1X2当前均为非整数,故不满足整数要求,任选一个进行分枝。设选X1进行分枝,于是对原问题增加两个约束条件:

x, -〔4.81 丨-4“ 一〔4.811 1 =5

于是可将原问题分解为两个子问题B1和B2 (即两支),给每支增加一个约束条件并不影响问题

A的可行域,不考虑整数条件解问题B1和B2,称此为第一次迭代。得到最优解

为:

显然没有得到全部变量时整数的解,于是再定界

:0岂Z :乞349。

(3)继续对问题B i 和B 2因乙〉Z 2,故先分解B i 为两支,增加条件 X 冬2,称为 B 3;增加条件

X 2> 3,称为B 4。再舍去X 2>2与X 3< 3之间的可行域,再进行第二次迭代。 解题过程如图:

由图可知,B 3的解已都是整数,他的目标函数值Z 3 =340

,可取为z ,而它大于Z 4 =327。 所以,再分解B 4已无必要。而问题B 2的Z 2 =341,所以z *可能在340和341之间有整数解。 于是对B 2分解,得问题B 5,既非整数解且Z 5 =308< Z 3,问题B 6为无可行解。于是有

z =Z 3=z=340

问题B 3的解X i =4.00, X 2=2.00为最优整数解。

340

从以上解题过程可得用分枝定界法求解整数规划(最大化)问题的步骤为:开始,将要求解的整数规划问题称为问题A,将与它相应的线性规划问题称为问题B。

(1)解问题B可能得到以下情况之一:

(a)B没有可行解,这时A也没有可行解,则停止.

(b)B有最优解,并符合问题A的整数条件,B的最优解即为A的最优解,则停止。

(c)B有最优解,但不符合问题A的整数条件,记它的目标函数值为z。

(2)用观察法找问题A的一个整数可行解,一般可取X j =0,j =1,…,n,试探,求得其目标函数值,并记作z。以z*表示问题A的最优目标函数值;这时有

*

z _ z - z

进行迭代。

第一步:分枝,在B的最优解中任选一个不符合整数条件的变量X j,其值为b j,以[b j]

表示小于b j的最大整数。构造两个约束条件

X j 乞[b j]和X j -[b j] 1

将这两个约束条件,分别加入问题B,求两个后继规划问题 B i和B2。不考虑整数条件求解

这两个后继问题。

定界,以每个后继问题为一分枝标明求解的结果,与其它问题的解的结果中,找出最优

目标函数值最大者作为新的上界z。从已符合整数条件的各分支中,找出目标函数值为最大

者作为新的下界z,若无作用z = 0。

第二步:比较与剪枝,各分枝的最优目标函数中若有小于z者,则剪掉这枝,即以后

不再考虑了。若大于z,且不符合整数条件,则重复第一步骤。一直到最后得到z* =z为止。得最优整数解X*, j =1/\n。

二、割平面法

割平面法德基础仍然是用解线性规划得方法去解整数规划问题,首先不考虑变量X i是

整数这一条件,但增加线性约束条件使得有缘可行域中切割掉一部分,这部分只包含非整数解,但没有切割掉任何整数可行解。这个方法就是指出怎样找到适当的割平面,是切割后最

终得到这样的可行域,它的一个有整数坐标的几点恰好是问题的最优解。现用下例来说明:

maxZ = X2

3捲+2x2兰6 」

一3x1 +2x2 兰0

X1, X2 - 0且为整数

增加松弛变量X3和X4,得到初始单纯形表和最优单纯形表如下图:

相关文档
最新文档