割平面法

合集下载

割平面法——精选推荐

割平面法——精选推荐

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把所有系数分解成整数和非负真分数之和。

割平面法

割平面法

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约束或割平面),使问题的可行域逐步缩 小,所割去的区域仅包含问题的部分非整数解;当 规划问题的最优解恰好位于缩小的可行域的一个顶 点时,算法结束。 •求解步骤

割平面法-经典

割平面法-经典
解纯整数规划的割平面法
割平面法的基础仍然是用解LP的方法去解整数规划问题. 其基本的步骤是: (1) 把约束条件中所有的系数整数化; (2) 不考虑决策变量的整数约束条件, 增加线性约束条件 (cutting plane), 使得原可行域中切割掉一部分,这部分只 包含非整数部分,但没有切割掉任何整数可行解;
1 3 x3 x4 0 4 4 4 3 即 3x 3 x 4 3
上式就是所要求的一个切割方程(割平面).
引入松驰变量x5, 从而可得到一等式约束条件,将所得等
式约束加入到原标准化的松驰问题之中, 得到如下新的 松驰问题.
max s .t . z x1 x 2 x1 x 2 x 3 3x 1 x 2 x4 1 4
k k
(3) 由变量(包括松驰变量)的非负整数条件, 从而可得
f i - f ik x k 0
k
上式即为所要求的切割方程 割平面法是Gomory在1958年提出的, 当时引起了人们广 泛注意, 但至今完全用它解决实际问题仍是少数, 因为其 收敛性很慢. 但若下其它方法(如分枝定界法)配合使用,
3x 3 x 4 x 5 3 x1 , x 2 , x 3 , x4 , x5 0
将所得等式约束加入到原标准化的松驰问题的最优单纯
形表之中,得 cj 1 1 0 0 0
CB
1
XB
b
x1
1
x2
0
x3
-1/4
x4 x5
1/4 0
x1 3/4
1
0
x2 7/4
x5 -3
0
0 0
1
0 0
(3) 求解上面的LP问题,若所得的最优解为整数, 则该解也

5-2割平面法

5-2割平面法

1 x2 1 0 1 0 0 1/4
0 x3 1 0 0 1 -1 -1/3
-2 0 0 0 -1/3 -1/6
3 割平面法小结
1)令xi是线性规划最优解中为分数值的一个基变量
xi aik xk bi
k
2)将bi和a ik都分解成整数部分N和非负真分数f之和
bi Ni fi , 其中0<fi 1 aik Nik fik , 其中0 fik 1


0
x1
图2 1
2 割平面法算例
例1 求解
m a x z x1 x 2
x1 x 2 1
3
x1 x1
,x
x
2
2
0
4
x 1 , x 2 整 数
最优解为:x1
3 4
,
x2
7 4
, max
z
10 4
表1
CB
初始计算 0

0
最终计算 1


Cj
1
XB b x1
x3 1 -1
x4 4 3
西安邮电大学 现代邮政学院
Xi'an post and telecommunications university modern post College
第五章 割平面法
主讲教师 武小平
主要内容
1 割平面法及其原理
2 割平面法算例


3 割平面法小结

1 割平面法及其原理
割平面法添加能割去非整数解的线性约束条件,使
01
x1 3/4 1 x2 7/4 0
-5/2 0
100 x2 x3 x4 110 101 100 0 -1/4 1/4 1 3/4 1/4 1 -1/2 -1/2

割平面法

割平面法

§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)的左边必为整数。

7.4 切割平面法

7.4 切割平面法
(3)线性规划松弛问题的最优解不满足新的割约束
x2
x2
O (a)
x1
O
x1
(b)
7
OR:SM
五、割平面法求解举例
例:某厂拟购进甲、乙两类机床生产新产品。已知甲、乙机床进价分别为 2万元和3万元;安装占地面积分别为4m2和2m2;投产后的收益分别为3百元 /日和2百元/日。厂方仅有资金14万元,安装面积18m2。为使收益最大,厂 方应购进甲、乙机床各多少台?
将(5)式标准化:
1 2
x5
x6
1 2
加到前面单纯形表最终表中,有:
XB
x1
x2
x3
x4
x5
x6
x2
0
1
0
-1
1
0
x1
1
0
0
1
-1/2
0
x3
0
0
1
1
-2
0
x6
0
0
0
0
-1/2
1
Z
0
0
0
-1
-1/2
0
用对偶
x2
0
1
0
-1
ቤተ መጻሕፍቲ ባይዱ
0
2
单纯形
x1
1
0
0
1
0
-1
法求解, 得:
x3 x5
0 0
0 0
1 0
1 0
0 1
(5)式用决策变量表达的割平面方程为 6x1 5x2 29 6
x2
图示切 割过程
15
6x1+5x2=31
6
4x1+2x2=18
5
4

第三节 割平面法

第三节 割平面法
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

割平面法_精品文档

割平面法_精品文档

从而
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都是整数时, ⑷式左端是整数,所以右端亦应是整数,但右
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

x2 − 2 / 3x3 + 1/ 3x4 = 8 / 3,
(4.9)
将上式的所有变量的系数及右端常数均改写成一个整数与一个非负真分数之和的形式。据此,(4.9)式可以改写成
(1 + 0)x2 + (−1 + 1/ 3)x3 + (0 + 1/ 3)x4 = 2 + 2 / 3 ,
若将带有整数系数的变量整数项留在方程的左边,其余移到方程的右边,则有
这时 br' 表示xr的取值。
将(4.12)式中的变量系数及常数都分解成整数N和非负真分数f两部分之和,即
br' = N r + f r ; arj = N rj + f rj ;
(4.13) (4.14)
[ ] 其中: Nr = br' 表示 br' 的整数部分; f r 表示 br' 的非负真分数部分;
便起见,以xi ( i=1,2,…,m ) 表示基变量,以xj( j=m+1,m+2, …,n )表示非基变量。
表4-4
/cugFirst/operational_research/main/charpter4/p3.htm
2011-10-28
§3割平面法
下面以全整数规划问题的割平面法为例,介绍割平面的求解过程。
3.2求解步骤与举例
割平面法的具体求解步骤如下: 1. 对于所求的整数规划问题(4.2),先不考虑整数约束条件,求解相应的松弛问题
∑ ⎪⎧max z = n c j x j ;

j =1
∑ ⎪⎪

n
aij x j
≤ bi
(i = 1 , 2,L, m);
⎪ j=1
⎪⎪⎪⎩x j ≥ 0 ( j = 1, 2,L, m).
(4.6)
2. 如果该问题无可行解或已取得整数最优解,则运算停止;前者表示原问题也无可行解,后者表示已求得整数最优解。如果有一个或更多 个变量取值不满足整数条件,则选择某个变量建立割平面。 3. 增加为割平面的新约束条件,用前面介绍的灵敏分析的方法继续求解,返回1。
x1 + x2 ≤ 4 ,
这就是割平面的方程。即图4-5所示的AE直线的下半部分。显然它割去了除AE直线上所有点以外的△ABE部分,其中包括原所求得的非整数最 优解点B(5/3,8/3)。
建立割平面以后,便可以把割平面方程作为新的约束条件加到原整数规划问题(4.8)式中,在仍然不考虑整数条件的情况下,利用单纯形法 或对偶单纯形法继续求解。为简代运算,也可在(4.11)式中引入松弛变量代成下式:
(4.11)
(4.11)式就是所求的新约束条件,即为了求得整数解所引入的割平面方程。从上面的推导过程可以看出,凡是原所求的整数规划(4.8)式的可 行整数解必然满足(4.11)式,而(4.8)式的松弛问题的可行解却有一部分不满足(4.11)式。这就意味着条件(4.11)式起到了这样的作用:对整数规划 (4.8)式所对应的线性规划的可行域,保留了其中的所有整数可行解,但割掉了一部分非整数解。为了直观地在图形上描述,可将(4.8)式的两个 约束方程代入(4.11)式,则(4.11)式成为
页码,4/4
cj
c1 c2 … cr

cm
c m+1
cm+2

cn
CB
b′
x1 x2 … xr …… xm
x m+1
xm+2

xn
c1
x1
b1'
1
0…0

0
a1,m+1
a1,m+2 …
a1,n
c2
x2
b1'
0
1…0

0
a 2 , m +1
a2,m+2

a2,n
M
M
M

cr
xr
b1'
0
0…1

0
a r ,m +1
0
1
-1
0
1
0
0
1
1
-3
0
0
0
0
1/6
由表4-3得最优解为 对应的目标函数值等于4。
x1 = 2, x2 = 2, x4 = 2, x3 = x5 = x6 = 0
因为上述的线性规划的最优解已是整数解,所以得整数规划问题4.7的最优解:x1=2, x2=2。此最优解位于图4-5的E点。 在上述示例分析的基础上,我们再来讨论割平面方程的一般表达式。假设表4-4是不考虑整数条件所对应的松弛问题的最优单纯形表。为方
n
∑ f r

f rj x j
j = m +1
≤0


n
∑ − frj x j ≤ − fr . j = m +1
这就是新增加的约束条件。再增加一个松弛变量将其化为等式,就可将其加到表4-4 中去继续用对偶单纯形法求解。
(4.16)
[第一节]
[第二节]
[第三节]
[返回]
/cugFirst/operational_research/main/charpter4/p3.htm
下面介绍割平面的建立方法及其求解过程。
例1 求解下列整数规划问题
解引入松弛变量,写成标准形式:
max z = x1 + x2 ;
⎧2 ⎪⎨4
x1 x1
+ +
x2 ≤ 6; 5x2 ≤ 20;
⎪⎩x1, x2 ≥ 0,且为整数
max z = x1 + x2 ;
⎧2 ⎪⎨4
x1 x1
+ቤተ መጻሕፍቲ ባይዱ+
x2 + 5x2
2011-10-28
§3割平面法
页码,3/4
cj
CB
XB
1
x1
1
x2
0
x5
σj
1
x1
1
x2
0
x4
σj
b
5/3 8/3 -2/3 -13/4 2 2 2 -4
图4-5
表4-3
1
1
0
0
0
x1
x2
x3
x4
x5
1
0
5/6
-1/6
0
0
1
-2/3
1/3
0
0
0
-1/3
-1/3*
1
0
-1/6
-1/6
0
0
1
0
1
0
-1/2
2011-10-28
j = m +1
n
∑ 为了使所有的变量都是整数,(4.15)式右边必须是整数,当然左边也必然为整数。由于
f rj

0 ,且
x j 为非负整数,所以有
f rj x j
j = m +1
≥0

又由于 f r 为非负真分数,则可得出
n
∑ fr −
f rj x j
j = m+1

fr
<1

既然(4.15)的左边必须为整数,显然上式不能为正,于是便可得到
0
1
-2/3
1/3
0
-1/6
-1/6
/cugFirst/operational_research/main/charpter4/p3.htm
2011-10-28
§3割平面法
页码,2/4
显然, x1 = 5 / 3, x2 = 8 / 3 为非整数解。为求得整数解,我们想办法在原约束条件的基础下引入一个新的约束条件,以保证一个或几个变 量取值为整数。为此,在表4-2中任选一个取值非整数的变量,如 x2 ,写出用基变量表示基变量的表达式:
−1/ 3x3 −1/ 3x4 + x5 = −2 / 3,
将其作为新的约束条件,加入到表4-2,便形成新的线性规划问题,其可行域为图4-5的凸集OAEC。用对偶单纯形法求解,具体运算过程见表43。
/cugFirst/operational_research/main/charpter4/p3.htm
x2 − x3 − 2 = 2 / 3 −1/ 3x3 −1/ 3x4 ,
(4.10)
由于要求变量取值为正整数,方程(4.10)的左边必为整数。当然,方程的右边也应为整数。又由于 x3 , x4 ≥ 0, 于是,有
整理后得
2 / 3 −1/ 3x3 −1/ 3x4 ≤ 0, x3 + x4 ≥ 2.
ar,m+2

ar,n
M
M
M


cm
b1'
0
0…0

1
am,m+1 am,m+2 … am,n
z
− z (0)
0
0…0

0
σ m+1
σ m+2

σn
如果xr为表4-4所示的最优解中具有分数值的一个基变量,则由表4-4可以得到
n
∑ br' = xr + arj x j , j = m +1
(4.12)
且有
于是(4.12)式可改写成
0 < fir < 1 ; 0 ≤ fir < 1.
移项得
n
n
∑ ∑ Nr + fr = xr + Nrj x j + f rj x j .
j = m +1
j = m +1
相关文档
最新文档