运筹学第二版3.2 整数规划的求解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xi
j m 1
j m 1
n
b
n
ij x j
bi 0 , 称为割平面的来源行.
[b
f
n
ij ] x j
[bi 0 ] f i 0
j m 1
f
n
ij x j .
为了使x i(i=1,2,…,m)是整数,上式右端必须是整式. 又注意到 f ij 0, x j 0


第二步 分枝与定界. 设(B)的非整数最优解为
X
*
( x , x , , x )
* 1 * 2 * n
T
且其中xj*(j=1,2,…,n)不是整数,则必有
[x* ] x* [x* ] 1 j j j
其中[xj*]表示小于xj*的最大整数.由此构造两个约束条件:
x j [ x* ]和x j [ x* ] 1, j j
f i0
ij
x j f i0 1
j m 1
因为小于1 整数不大于零,所以有 f i 0
j m 1
f
n
ij x j
0
(3)
由上述分析可得如下重要结论: 如果线性规划问题(Ⅱ)有整数解,则它必须满足条件(3) 此不等式称为割平面不等式. 在(3)中加入松弛变量,则有
f i0
(2.25,3.75)
B2
B1
( B1 )
max Z 5 x1 8 x2 , x1 x2 6, 5 x1 9 x2 45, x2 3, x1 , x2 0.
( B2 )
max Z 5 x1 8 x2 , x1 x2 6, 5 x1 9 x2 45, x2 4, x1 , x2 0.
7/22x3+1/22x4 =7/2
将上述割平面不等式加入松弛变量y1,得割平面方程:
1 7 1 x3 x4 y1 0, 2 22 22 7 1 1 y1 x3 x4 22 22 2
把这个割平面方程放在上面的最终单纯形表中得下表 x1 x2 Y1 -s 9/2 7/2 -1/2 -63 1 0 0 0 0 1 0 0 -1/22 7/22 -7/22 3/22 1/22 -1/22 0 0 1



割平面法的基本思想是:首先不考虑变量是整 数的条件,但增加特定的约束条件(称为割平 面),使得在原凸可行域中切掉一部分,被切 割掉的这部分不包含任何的整数可行解.这样 经过有限次的切割,最终可得到某个顶点的坐 标恰好是整数,并且是问题的最优解. 割平面算法的基本类型有纯整数型和混合 型.本节仅讨论纯整数型的割平面算法,它的 基本要求是:每一个约束条件的所有系数及右 端常数项都必须是整数. 下面先讨论线性规划问题存在整数解的必要条 件.
将其分别加入到问题(B)中,从而得到(B)的两个子线性规 划问题(B1)和(B2),即
( B1 )
max Z c j x j ,
j 1
n
( B2 )
max Z c j x j ,
j 1
n
n aij x j bi , j 1 * x j [ x j ], x j 0.
x1 , x 2 , x 3 , x 4 0.
用单纯形法求其解,得最终单纯形表 x1 X2 -s 9/2 7/2 -63 1 0 0 0 1 0 -1/22 7/22 3/22 1/22
-28/11 -15/11
其解x 1=9/2,x 2=7/2,不满足整数要求. (2)引进以x 2所在行为来源行的割平面:
-28/11 -15/11 0
利用对偶单纯形法求解,得最终单纯形表为 x1 32/7 1 0 0 1/7
x2 Y3 -s 3 11/7 -59 0 0 0 1 0 0 0 1 0 0 1/7 -1
-1/7 1 -22/7 -8
4 1 6 x 4 y1 0 以x 1行为来源行,得割平面为: 7 7 7 引进松弛变量y2,得相应的割平面方程为:
0
-1
-8
0
最优单纯形表为 x1 x2 x3 X4 -S 4 3 1 4 -55 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 -1 1 -4 6 -2 1 0 1 -7 -7
原规划问题的最优解为 x1=4,
x2=3
. 最优值为S=55
3.2.2 分枝定界法
设有整数规划问题(A)为:
基本思路. 第一步 类似割平面法,求解线性规划(B) 其结果有下列三种情形: (1)(B )无可行解。这时(A )也无可行解, 则停止运算; (2)( B )有整数最优解。这时( B )的最优 解就是(A)的最优解,则停止运算; (3)(B)有最优解,但是其解的分量不全为 整数。 这时(B)的最优解不是(A)的可 行解。
为了表述方便,这里恰好用x 1,x 2,…,x m作为基变量. 如果b i0(i=1,2,…,m)全是整数,显然它是原问题的 最优解. 如果b i0(i=1,2,…,m)不全为整数,不妨设b i0不是整数, 则它对应于单纯形表中第i个方程
xi
bij [bij ] f ij , bi 0 [bi 0 ] f i 0
因为在问题(B3)中有
( B5 )
max Z 5 x1 8 x2 , x1 x2 6, 5 x1 9 x2 45, x2 4, x1 1, x2 4, x , x 0. 1 2
( B6 )
max Z 5 x1 8 x2 , x1 x2 6, 5 x1 9 x2 45, x2 4, x1 1, x2 5, x , x 0. 1 2
设有整数规划问题为:
max S
c
j 1
n
jxj,
n aij x j bi , (i 1,2, , m) j 1 x j 0, (且是整数).

与其对应的线性规划问题为:
max S
c
j 1
n
jxj,
n aij x j bi , (i 1,2, , m), j 1 x j 0.
解 (1)设(A)的松弛问题为(B0),不考虑整数约束, 利用单纯形法求解(B0),其可行解域如图1所示,解得最 优解为: x 1=2.25,x 2=3.75,且Z0=41.25. .
(2.25,3.75)
图1
图2


因x 1,x 2都是小数,可任选一个进行分枝.今选 x 2=3.75,对问题(B0)分别增加约束条件: x 2[3.75]=3 和 x 2[3.75]+1=4, 将(B0)分解成为两个子问题(B1)和(B2).
值得指出的是,增加了约束条件x 2≤3和x 2≥4之 后,虽然缩小了可行解的范围,但原问题(A)的 整数可行解并没有改变,这是因为在 3<x 2<4内没有任何整数解,见图2。

(3) 重 复 步 骤 ( 2 ) , 继 续 对 ( B2 ) 进 行 分 解.对(B2)增加约束条件: x 1[1.8]=1 和x 1[1.8]+1=2, 将(B2)再分解为两个子问题(B3)和(B4):
n
j m 1
f
n
ij x j
yi 0

j m 1
f
ij x j
yi f i0 ,
称此方程为割平面方程. 可以证明:割平面(3)式割去了对应线性规划问题的 最优解,但末割去原整数规划问题的任一整数可行解. 下面举例说明割平面法的求解步骤.
例 用割平面法求解 ( I) max S 7 x1 9 x 2 ,
n aij x j bi , j 1 * x j [ x j ] 1, x j 0.
分别求解(Bl)和(B2).如果某子问题有最优 整数解,且其目标函数值大于原来的下界(原问题(A) 的下界可看作0) ,则将其值作为下界,记作Z.



第三步 剪枝.在继续分枝的过程中,如果某分枝 的最优目标函数值有小于 Z ,则称这个分枝已被 “查清”。将该枝剪掉,不再计算。因为再算下去, 也不会得到更大的目标函数值。 若某分枝的目标函数值大于下界Z,且不符合整数 条件,则重复第二步骤,直到找到整数解X*. 例 求解问题
( B3 )
( B4 )
求解问题(B3)和(B4)。问题(B4)无可行解,这个子问 题也已查清.而问题(B3)的最优解为:
4 5 x1 1, x2 4 且Z 3 40 , 9 9
4 x2 4 , 且 9 Z3> Z,所以,继续对(B3)进行分解, 对问题(B3)分别增加约束条件:x 24和x 25,则有:
1 3 x1 x 2 2, 1 x1 x 2 5, 7 x1 , x 2 0, 且为整数. 解 (1)把约束条件 (II) max S 7 x1 9 x 2 , 中的系数化为整数, x1 3x 2 x 3 6, 加上松弛变量,去掉 整数约束,则得对应 7 x1 x 2 x 4 35, 的线性规划问题为
1 6 4 y 2 x4 y1 7 7 7
将割平面方程加在上面单纯形表中得下表 x1 x2 x3 Y2 32/7 3 11/7 -4/7 1 0 0 0 0 1 0 0 0 0 1 0 1/7 0 1/7 -1/7* -1/7 1 -22/7 -6/7 0 0 0 1
-S
-59
0
0
( A)
max Z 5 x1 8 x2 , x1 x2 6, 5 x1 9 x2 45, x , x 0, 且为整数. 1 2
( B0 )
max Z 5 x1 8 x2 , x1 x2 6, 5 x1 9 x2 45, x , x 0. 1 2
max Z 5 x1 8 x2 , x1 x2 6, 5 x1 9 x2 45, x2 4, x 1, 1 x1 , x2 0. max Z 5 x1 8 x2 , x1 x2 6, 5 x1 9 x2 45, x2 4, x 2, 1 x1 , x2 0.
3.2 整数规划的求解 Solving Integer Programming

割平面法是求解整数规划问题最早提出的一种方 法. 是由高莫瑞(R.E.Gomory)于1958年提出来的, 他证明了整数规划问题加进有限个割平面方程后, 总能得到该问题的最优解.但割平面法在执行过程 中,往往收敛很慢,如果将该算法与分枝定界法配 合使用,一般能收到较好的效果.
求解线性规划问题(B1)和(B2),得到如下最优 解: 问题(B1) x 1=3,x 2=3且Z1=39 . (B1)是整数解,该问题已经查清。 这里Z1=39可作为新的下界,即令Z=39。 问题(B2) x 1=1.8,x 2=4且Z2=41. 对于问题( B2 ),因Z2=41> Z,所以 ,继续。
max Z c j x j ,
j 1 n
与它对应的线性规划问题即松弛问题 (B)为:
max Z c j x j ,
j 1 n
n aij x j bi (i 1,2,, m), j 1 x j 0且是整数( j 1,2,...n).
n aij x j bi (i 1,2,, m), j 1 x j 0( j 1,2,..., n).

设用单纯形法求得最终单纯形表为:

x1
b10 1
·· xi · ·
·· xm xm+1 · ·
b1m+1
·· xn · ·
b1n ·· · ·
x1
xi
Xm
bi0
bm0

1

b im+1
·· · · 1
bin
-S
-b00 0
·· 0 · ·
·· 0 · ·
bmm+1 bmn · · b0m+1 ·· b0n
相关文档
最新文档