运筹学-3割平面法

2020年6月20日星期六 Page 4 of 11
例如,
x1 x2
5 6
2 3
x3 x3
1 6
1 3
x4 x4
5 3
2 3
x1行:
x1
5 6
x3
(1
5 6
)
x4
1
2 3
移项:
x1
x4
1
2 3
5 6
x3
5 6
x4
令
2 3
5 6
x3
5 6
x4
0
加入松弛变量s1得
s1
5 6
x3
5 6
x4
2 3
k
此式称为以xi行为源行(来源行)的割平面,或分数切割式, 或R.E.Gomory(高莫雷)约束方程。
将Gomory约束加入到相应线性规划的最优表中,用对偶 单纯形法计算,若最优解中还有非整数解,再继续切割,直 到全部为整数解。
§5.3 割平面法 Cutting-plane Method
Ch5 Integer Programming
x3
x4
x5
b
1
1/2 -1/2 0
5/2
0 -1/4
3/4
0 13/4
0 -1/2 -1/2 1 -1/2
0 -1/4 -5/4 0
1
0
-1 ½
2
3
x1
1
0
0
1 -1/2 7/2
0
x3
0
0
1
1
-2
1
λj
0
0
0
-1 -1/2
x1行: x1
x4
1 2
x5
7 2
Gomory约束
x6
1 2
x5
1 2
添加到最优表中,得
cj
3
CB XB x1
2 x2 0
3 x1 1
0 x3 0
0 x6 0
λj
0
2 x2 0
3 x1 1
0 x3 0
0 x6 0
λj
0
§5.3 割平面法 Cutting-plane Method
Ch5 Integer Programming
2020年6月20日星期六 Page 8 of 11
20
0
00
最优表
cj
3
2
0
0
CB
XB
x1
x2
x3
x4
b
2
x2
0
1
1/2 -1/2 5/2
3
x1
1
0 -1/4
3/4 13/4
λj
0
0 -1/4 -5/4
最优解X=(-1/2,3/4,0,0)T, x1 、x2不满足整数要求,选
择x2行进行分割: x2
1 2
x3
1 2
x4
5 2
x2
1 2
x3
x4
1 2
x4
2
1 2
Ch5 Integer Programming
2020年6月20日星期六 Page 9 of 11
得到整数最优解:X=(4,1),Z=14
注1:
x2
1 2
x3
1 2
x4
5 2
1 2
1 2
x3
1 2
x4
0
Gomory约束可写为 x5 x3 x4 1
注2: Gomory约束只是割去线性规划可行域的一部分,保 留了全部整数解。
用图解法表示:
§5.3 割平面法 Cutting-plane Method
Ch5 Integer Programming
2020年6月20日星期六 Page 10 of 11
2x1 2x2 11
13/4,5/2
相应线性规划 x1+x2≤5 第二次切割
第一次切割 4,1
§5.3 割平面法 Cutting-plane Method
x2 x3
x4
x5 x6
b
1 0 -1 ½ 0 2
00
1 -1/4 0 7/3
01
1 -1 0 1
00
0 -1/2 1 -1/2
0 0 -1 -1/2 0
1 0 -1 0 2 1
00
1
0 -1 4
01
1
0 -4 3
00
0
1 -2 1
0 0 -1 0 -1
§5.3 割平面法 Cutting-plane Method
【例】已知整数规划
max z 3x1 2x2
2 2
x1 x1
3x2 14 x2 9
x1
,
x2
0且为整数
【解】不考虑整数约束,相应线性规划的最优表如下
§5.3 割平面法 Cutting-plane Method
Ch5 Integer Programming
2020年6月20日星期六 Page 6 of 11
2020年6月20日星期六 Page 2 of 11
将 bi及aik 分离成一个整数与一个非负真分数之和:
bi [bi ] fi, aik aik fik ,0 fi 1,0 fik 1
则有
xi [bi ] fi [aij ]xk fik xk
k
k
xi [bi ] [aij ]xk fi fik xk
设纯整数规划
§5.3 割平面法 Cutting-plane Method
Ch5 Integer Programming
2020年6月20日星期六 Page 1 of 11
n
max Z c j x j j 1
n
aij x j bi
j 1
x j 0且为整数, j 1, , n
相应线性规划
n
max Z c j x j j 1
得到Gomory约束
x5
1 2
x3
1 2
x4
1 2
添加到最优表中,得
§5.3 割平面法 Cutting-plane Method
Ch5 Integer Programming
2020年6月20日星期六 Page 7 of 11
cj
3
CB XB x1
2
x2
03x11来自0x50
λj
0
2
x2
0
2
0
0
0
x2
Ch5 Integer Programming
2020年6月20日星期六 Page 11 of 11
1.领会割平面法的基本原理 1.分离源行,求出Gomory约束 2.在最优表中增加Gomory约束,用
对偶单纯形法迭代
作业:教材P134 T5.3
k
k
等式两边都为整数并且有
fi fik xk fi 1
k
§5.3 割平面法 Cutting-plane Method
Ch5 Integer Programming
2020年6月20日星期六 Page 3 of 11
则
fi fik xk 0
k
加入松弛变量si得
si fik xk fi
同理,对于x2行有:
s2
1 3
x3
1 3
x4
2 3
§5.3 割平面法 Cutting-plane Method
Ch5 Integer Programming
2020年6月20日星期六 Page 5 of 11
如果在对偶单纯形法中原切割方程的松弛变量仍为基 变量,则此松弛变量所在列化为单位向量后就可以去掉该 行该列,再切割。
n
aij x j bi
j 1
x j 0,j 1, , n
的最优解 X=(B1b,0)T b B1b (b1, b2 , , bm )T
设xi不为整数,xi bi aik xk xk为非基变量
k
§5.3 割平面法 Cutting-plane Method
Ch5 Integer Programming
合集下载

割平面法——精选推荐

割平面法——精选推荐

3 割平面法割平面法是通过生成一系列的平面割掉非整数部分来得到最优整数解的方法。

目前,割平面法有分数割平面法,原始割平面法,对偶整数割平面法,混合割平面法等。

我们介绍Gomory割平面法(纯整数规划割平面法)用例子说明割平面法基本思想。

例5-8求下列问题:Max Z=2x 1+ 3x 2s.t.2x 1+4x 2 ≤25x 1≤82x 2 ≤10x 1,x 2 ≥0,且取整数值化成标准问题Max Z=2x 1+ 3x 2s.t.2x 1+4x 2 + x 3 =25x 1+ x 4=82x 2 + x 5 =10x j 0,且取整数值松驰问题(P)Max Z=2x 1+ 3x 2s.t.2x 1+4x 2 + x 3 =25x 1+ x 4=82x 2 + x 5 =10x j 0松驰问题(P)用单纯形法求解得到最优解:B(8,9/4)Z=22(3/4)但不是原问题(IP)的解,(IP)可行域是OABDE内的全部方格点组成。

BD E O 1 2 3 4 5 6 7 A 8 9 10 11 1210987654321X 1X 2引进割平面法l 1: x 1+ x 2=10割去非整数部分FBG l 2: x 1+2x 2=12 割去非整数部分HDGFGB F D E l 1O 1 2 3 4 5 6 7 A 8 9 10 11 1210987654321X 12l 2G B F H D E O 1 2 3 4 5 6 7 A 8 9 10 11 1210987654321X 12GH E O 1 2 3 4 5 6 7 A 8 9 10 11 1210987654321X 12形成新的凸可行域OAGHE (整点凸包),它的极点G (方格点)是原规划(IP )的最优解(8,2)Z=22。

约束条件:l 1: x 1+ x 2≤10l 2: x 1+2x 2≤12称为割平面。

问题是如何寻找割平面?松驰问题(P)Max Z=2x 1+ 3x 2s.t.2x 1+4x 2 + x 3 =25x 1+ x 4=82x 2 + x 5 =10x j 0初始单纯形表C 2 3 0 0 0bΘC B X B X1X2X3X4X50 X3 2 4 1 0 0 250 X4 1 00 1 0 80 X50 20 0 1 10σC2 3 0C B X B X 1 X 2 X 3 X 4 X 5 bΘ2 X 1 1 0 0 1 0 8 0 X 5 0 0 -1/2 1 1 11/2 3X 2 0 1 1/4 -1/20 9/4 σ0 -3/4 -1/20 91/4最终单纯形表:最优解(8,9/4,0,0,11/2)Z =91/4C2 3 0C B X B X 1 X 2 X 3 X 4 X 5 bΘ2 X 1 1 0 0 1 0 8 0 X 5 0 0 -1/2 1 1 11/2 3X 2 0 1 1/4 -1/20 9/4 σ0 -3/4 -1/20 91/4X 2相应的方程:x 2+(1/4)x 3 –(1/2) x 4 =9/4x 2+(1/4)x 3 –(1/2) x 4 =9/4把所有系数分解成整数和非负真分数之和。

割平面法

割平面法

§3割平面法割平面法也是求解整数规划问题常用方法之一。

3.1基本思路用割平面法求解整数规划的基本思路是:先不考虑整数约束条件,求松弛问题的最优解,如果获得整数最优解,即为所求,运算停止。

如果所得到最优解不满足整数约束条件,则在此非整数解的基础上增加新的约束条件重新求解。

这个新增加的约束条件的作用就是去切割相应松弛问题的可行域,即割去松弛问题的部分非整数解(包括原已得到的非整数最优解)。

而把所有的整数解都保留下来,故称新增加的约束条件为割平面。

当经过多次切割后,就会使被切割后保留下来的可行域上有一个坐标均为整数的顶点,它恰好就是所求问题的整数最优解。

即切割后所对应的松弛问题,与原整数规划问题具有相同的最优解。

下面以全整数规划问题的割平面法为例,介绍割平面的求解过程。

3.2求解步骤与举例割平面法的具体求解步骤如下:1.对于所求的整数规划问题(4.2),先不考虑整数约束条件,求解相应的松弛问题(4.6)2.如果该问题无可行解或已取得整数最优解,则运算停止;前者表示原问题也无可行解,后者表示已求得整数最优解。

如果有一个或更多个变量取值不满足整数条件,则选择某个变量建立割平面。

3.增加为割平面的新约束条件,用前面介绍的灵敏分析的方法继续求解,返回1。

下面介绍割平面的建立方法及其求解过程。

例1 求解下列整数规划问题(4.7)解引入松弛变量,写成标准形式:(4.8)对上述模型不考虑整数条件,用单纯形法求解相应松弛问题的最终单纯形表为(表4-2)表4-215/38/3-13/3显然,为非整数解。

为求得整数解,我们想办法在原约束条件的基础下引入一个新的约束条件,以保证一个或几个变量取值为整数。

为此,在表4-2中任选一个取值非整数的变量,如,写出用基变量表示基变量的表达式:(4.9)将上式的所有变量的系数及右端常数均改写成一个整数与一个非负真分数之和的形式。

据此,(4.9)式可以改写成若将带有整数系数的变量整数项留在方程的左边,其余移到方程的右边,则有, (4.10) 由于要求变量取值为正整数,方程(4.10)的左边必为整数。

割平面法

割平面法

31/7=4+3/7 于是,(1)式变为
4 1 3 x4 ( 1 ) x3 (3 ) x5 4 7 7 7
⑵
将所有整数项放在等式的左边,非整数值项放 在右边,得
3 4 1 x4 x3 3x5 4 x3 x5 7 7 7
⑶
⑶式左边是一个整数值,右边是一个小于1的 数。由于是等式,所以,右边应该是一个小于 或等于0的整数值,即
二、构造割平面约束的方法
在松弛问题的最优表中,设 b的分量bko不是 整数,将其分成整数与非负分数之和,即
bko Nko fko, 其中N ko为不超过bko的最大整数, fko为非负真分数; bko 所在行中的每一个非基 变量xj的系数分成整数与非负分数两部分:
ako , j Nko , j fko , j
1、求出松弛问题的最优解,若全部变量为整数解, 停止计算;否则转2。
2、构造割平面方程 •构造方法 割平面约束具备两个性质: ⑴ 已获得的非整数最优解不满足该线性约束, 从而保证在以后的解中不可能再出现。
⑵ 所有的整数解皆满足该线性约束,从而保 证整数规划问题的最优解始终都保留在每次所 形成的、新的线性规划问题的可行域中。 我们通过下面的例子来说明构造这种线性约束 的思路。
第二节 解纯整数规划的割平面法
一、 割平面方法的基本思想和步骤
二、构造割平面约束的方法
三、示例
一、 割平面方法的基本思想和步骤
•基本思想: 在IP问题的松弛问题中依次引进线性约束(称 Gomory约束或割平面),使问题的可行域逐步缩 小,所割去的区域仅包含问题的部分非整数解;当 规划问题的最优解恰好位于缩小的可行域的一个顶 点时,算法结束。 •求解步骤

割平面法-运筹学整数规划

割平面法-运筹学整数规划

第二节 分枝定界法(Branch and Bound method)
引言:穷举法对小规模的问题可以。大规模问题则不行。
一、基本思想和算法依据
基本思想是:先求出相应的线性规划最优解,若此解不 符合整数条件,则其目标函数的值就是整数规划问题最优值 的上界,而任意满足整数条件的可行解的目标函数值将是其 下界(定界),然后将相应的线性规划问题进行分枝,分别 求解后续的分枝问题。如果后续分枝问题的最优值小于上述 下界, 则剪掉此枝; 如果后续某一分枝问题的最优解满足整数 条件,且其最优值大于上述下界,则用其取代上述下界,继
s .t
2 x1 x1 , x 2
x2 0
6
x1 , x 2取整数
19
解: 1 求解相应的线性规划得
cj
4
CB
XB
b
x1
0
x3
20
4
0
x4
6
2
检验数
0
4
0
x3
8
0
4
x4
3
1
检验数
-12
0
3
x2
8 /3
0
4
x1
5 /3
1
检验数
-4 4 /3
0
3
0
0
x2
x3
x4
5
1
0
1
0
1
3
0
0
3
1
-2
1 /2
-3x3 - x4 -3 引 得入松弛变量x5,将其加入到原规划的约束条件中,利用上述最终1表5
cj
1
CB
XB
b
x1
0
x3
1

运筹学__割平面法

运筹学__割平面法

x1
1 0 0 0 x1 1 0 0 0
x2
0 1 0 0 x2 0 1 0 0
x3
1/6 1/4 -1/4 -1/4 x3 0 0 1 0
x4
-1/6 1/4 -1/4 -1/4 x4 -1/3 0 1 0
s1
0 0 1 0 s1 2/3 1 -4 -1
CB
0 1 0
XB
x1 x2 x3
b
2/3 1 2

1 1 1 ( x 3 x4 ) 0 2 4 4
1 1 1 x3 x4 s1 4 4 2
Cj CB 0 1 0 σj XB x1 x2 s1 b 1 3/2 -1/2 -3/2 0 x1 1 0 0 0 1 x2 0 1 0 0 0 x3 1/6 1/4 -1/4 -1/4 0 x4 -1/6 1/4 -1/4 -1/4 0 s1 0 0 1 0
CB
0 1 0
XB
x1 x2 x3
b
2/3 1 2
x1
1 0 0
x2
0 1 0
x3
0 0 1
x4
-1/3 0 1
s1
2/3 1 -4
σj
-1
0
0
0
0
-1
CB 0
XB x1
b 2/3
x1 1
x2 0
x3 0
x4 -1/3
s1 2/3
1
0
x2
x3
1
2
0
0
1
0
0
1
0
1
1
-4
σj -1 0 0 0 0 -1 此时,X1 =(2/3, 1), Z=1,仍不是整数解。继续以x1为源行生成割 2 2 2 平面,其条件为:

第三节 割平面法

第三节 割平面法
3.3 割平面法
割平面法的基本思想是:首先不考虑 整数条件,增加另外的约束条件,把原来 的可行域切掉一部分,被切掉的部分不包 含任何整数可行解. 经过有限次的切割, 最终得到某个顶点的坐标恰好是整数,并
且是问题的最优解.
例如 求解整数规划问题
max Z x1 x2 x1 x2 1 3 x1 x2 4 x1 , x2 0 x , x 为整数 1 2
32 7 3 11 7
1 0 0
0 1 0
0 0 1
17 0 17
-1 7 1 -22 7
表3-4
S
-59 0 0 0 -1 -8
x1 x2 x3
fi 0
32 7 3 11 7
1 0 0
0 1 0
0 0 1
17 0 17
-1 7 1 -22 7
以 x1 为来源行得割平面不等式:
j m 1
x2
割平面
1
C (1, 1)
3 7 x1 , x2 = 4 4 max Z 10 4
1
x1
回到一般问题上:
整数规划(A)
max S c j x j a
j 1 n ij n
松弛问题(B)
max S c j x j a
j 1 n j 1 ij n
加入松弛变量 y1 ,得割平面方程
7 22 x3 1 22 x4 y1 1 2
将割平面方程表达的约束条件加到单纯形表 的最后一行,并把松弛变量补到最后一列
表3-3
S
-63 92 72 1 2 0 1 0 0 0 0 1 0 - 28 11 -1 22 7 22 -7 22 -15 11 3 22 1 22 -1 22 0 0 0 1

割平面法的基本思想

割平面法的基本思想割平面法主要用于求解整数规划问题的方法。

1958年由美国格莫理提出。

基本思路是:先不考虑整数性约束,求解相应的线性规划问题。

若线性规划问题的最优解恰好是整数解,则此解即为整数规划问题的最优解。

否则,就增加一个新的约束条件,称为割平面。

割平面必须具有两条性质:(1)从线性规划问题的可行域中至少割掉目前的非整数最优解;(2)不割掉任何整数可行域,然后在缩小的可行域上继续解线性规划问题。

重复以上做法,经有限次切割后,必可在缩小的可行域的一个整数极点上达到整数规划问题的最优解。

混合整数线性规划(MILP)的割平面法通过将整数问题线性松弛为非整数线性问题,并对其进行求解,来求解MILP 问题。

线性规划理论说明,在温和的假定下(如果线性规划存在最优解,并且可行域不包含一条线),总存在一个极值点或顶点是最优的。

检验所获的最优解是否为整数解。

如否,则必然存在一线性不等式将最优点和真可行集的凸包分离。

找到这样的不等式是分离问题,而这样的不等式就是切割。

切割可以被加入到被松弛的线性规划中,使得当前的非整数解对松弛不再可行。

该过程不断重复,直到找到最优整数解。

用于普遍的凸连续优化和变体的割平面法有不同的名称:Kelley 法,Kelley-Cheney-Goldstein 法和捆绑法。

它们常用于不可微的凸最小化问题。

对于这类问题,通常的可微优化的梯度法无法使用,而使用这些方法可以高效地得到凸目标函数及其次梯度。

这种情况最常出现在双拉格朗日函数的凹优化中。

另一种常见情形是Dantzig-Wolfe分解应用于结构优化问题中,这类问题通常有含有指数级变量的表达式。

通过延迟列生成法按需生成这些变量等同于在对应的对偶问题上切割平面。

图1.割平面法例,如上图1,单位立方体与切割平面。

在三节点的旅行推销员问题中,该(弱)不等式表明每次旅行必须连接至少两个点。

2Gomory 切割切割平面法由Ralph Gomory 在19 世纪50 年代提出,用于解决整数规划和混合整数规划问题。

割平面法_精品文档


从而
fi-ΣfijXj≤0
⑸
取⑸式作为切割方程。因为任何整数可行解都满足这个方程,所以 把它加到原问题的约束中,它能够对原可行域进行切割,而不会切 割掉整数解。
例3 用割平面法求解
maxZ=x1+x2 -x1+x2≤1 3xx1,1x+2x≥20≤,4 整数
解:将问题标准化得
maxZ=x1+x2
⑴
-x1+x2=1
1
D B(1,1)
x3 =1+x1-x2 x4=4 -3x1-x2 代入切割方程 得
-1 0
3x1+x2=4
3(1+x1-x2)+(4-3x1-x2)≥3
1
x1
即 x2≤1,将此切割方程 加入原约 束中,就等于切掉原可行域得
A1B部分,如图。 显然在A1B区域不含整数解点,对原可行域切割的结果是产生了一
下面讨论切割方程的求法。
设与整数规划相对应的线性规划最优解中基变量XBi=(B-1b)i不 是整数,将最优单纯形表中该基变量对应的行还原成约束方程,即
XBi +ΣaijXj=(B-1b)i
⑴
将(B-1b)i,aij都分解成整数与非负真分数之和的形式,即
(B-1b)i=Ni+fi 其中0< fi <1 ⑵
aij=Nij+fij
其中0≤ fij <1 ⑶
这里Ni、Nij是整数,将⑵、 ⑶代入⑴,得
XBi +Σ(Nij+fij)Xj=Ni+fi
即
XBi +ΣNijXj-Ni=fi-ΣfijXj
⑷
当诸Xi都是整数时, ⑷式左端是整数,所以右端亦应是整数,但右

第七章3-割平面法


第三节 割平面法
CB 1 1 0
Cj→ XB X1 X2 X3 Cj-Zj
b 1 1 1
1 x1 1 0 0 0
1 x2 0 1 0 0
0 x3 0 0 1 0
0 x4 1/3 0 -1 -1/3
0 x5 1/12 1/4 -1/3 -1/6
第三节 割平面法
切割示意图如下: x2
x2 由 于 ( x 1, x 2) 的 值 已 都 是 整 数 , 解 题 已 完 成 。
第三节 割平面法
割平面算法 这个方法的基础仍然是用解线性规划的方法去解 整数规划问题。 首先不考虑变量x 是整数这一条件, 整数规划问题 。 首先不考虑变量 i 是整数这一条件 , 但增加线性约束条件(用几何术语称为割平面) 但增加线性约束条件( 用几何术语称为割平面 )从原 可行域中切割掉一部分,这部分只包含非整数解,但 可行域中切割掉一部分, 这部分只包含非整数解, 没有切割掉任何整数可行解。 没有切割掉任何整数可行解 。这个方法就是怎样找到 适当的割平面(不见得一次就找到) 适当的割平面 (不见得一次就找到) ,使切割后最终 得到这样的可行域,它的一个有整数坐标的极点( 得到这样的可行域 ,它的一个有整数坐标的极点( 顶 恰好是问题的最优解。 点)恰好是问题的最优解。
f i − ∑ f ik x k ≤ 0
k
第三节 割平面法
这就是一个切割方程。 这就是一个切割方程。 由以上三式可知: 由以上三式可知: ( 1) 切割方程真正进行了切割 , 至少把非整数 ) 切割方程真正进行了切割, 最优解这一点割掉了。 最优解这一点割掉了。 ( 2) 没有割掉整数解 , 这是因为相应的线性规 ) 没有割掉整数解, 划的任意整数可行解都满足切割方程的缘故。 划的任意整数可行解都满足切割方程的缘故。

运筹学3.2割平面算法

jS
i 0,1,L , m
若对所有的 i 0,1,L , m, bi均为整数 STOP ! x0已经是( IP )的最优解
XJTU
第三章 整数线性规划
OR
否则, 至少存在某一个l : 0 l m,使得bl不是整数 .
xBl aljxj bl
jS
诱导(生成)方程
bl bl fl , 0 fl 1, alj alj flj, 0 alj 1, j S
称为割平面条件)
费 用 减 小
o o
o
o
o o
ox1 o
oo ox2 o
x0
该割平面条件将(P0)的可行域割掉一部分, 且使这个非整数
向量 x0恰好在被割掉的区域内
但原( IP )的任一可行解均未被切割掉
新的 松弛问题 改进的松弛问题 ( P1 )
XJTU
第三章 整数线性规划
OR
按上述增加约束、逐步迭代的过程中, 若某步所得的松弛
令 h 1 , 1
bl
jS
alj
xj
1
bl
jS
1
al j x j
1
xBl
0
引入松弛变量 Sl 0
Sl
jS
alj
xj
bl
整数割平面
XJTU
第三章 整数线性规划
导出有效不等式的方法 :
取整方法
合并方法
同余方法
超加函数法
OR
§ 3.3 分解算法
它对应的是新松弛问题的一个原始基本解, 但不可行 .
XJTU
第三章 整数线性规划
OR
Gomory 割平面算法计算步骤 :
S 1 : (用单纯形法)求解整数规划问题( IP )的松弛问题( P0) 若( P0)没有最优解, STOP ! ( IP )也没有最优解 .
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档