割平面法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
js
割平面
flj x j s fl
js
精品课程《运筹学》
定理 3.2.1
如 果 把 割 平 面 flj x j s fl 加 到 松 弛 问
js
题 ( P0 ) 的最优单纯形表里,那么没有割掉原 ILP 的任何整数可行点,当bl 不是整数时,新 表里是一个原始基本不可行解和对偶可行解.
x0
精品课程《运筹学》
把增添了割平面条件的问题记为(P1 ) ,用对偶单纯形 法求解 LP 问题( P1 ) .若( P1 ) 的最优解x1 是整数向量, 则 x1是原 ILP 问题(P )的最优解,计算结束;
x1
精品课程《运筹学》
否则对问题( P1 )在增加一个割平面条件,形成问 题(P2 ),…,如此继续下去,通过求解不断改进 的松弛 LP 问题,知道得到最优整数解为止.
xBl alj x j bl
jS
alj [alj ] fij , j S 0 flj 1, j S
bl [bl ] fl
0 fl 1
精品课程《运筹学》
[alj ]x j alj x j
jS
jS
相减
xBl [alj ]x j bl
0
1 23
增加松弛变量x3 和x4 ,得到了松弛 LP 问题的第 一张单纯形表
x1 x2 x3 x4 RHS z 0 101 0
x3 3 2 1 0
6
x4 3 2 0 0
0
精品课程《运筹学》
经过两次旋转变换得到最优单纯形表为
最优解为x0
1,
3
T
2
x1 x2 x3
最优值为z 3 2
1 4
10 4
3 2
11
1
s1
0
0 1 44
2
精品课程《运筹学》
利用对偶单纯形算法解上表中的松弛问题( P1 ) ,得到 关于问题( P1 )的最优单纯形表为
x1 x2 x3 x4 s1 RHS
z 0 0 0 0 1 1
x1
1
0
0 1 3
2 3
2 3
x2 0 1 0 0 1
1
x3 0 0 1 1 4 2
的最优解.
精品课程《运筹学》
割平面法的基本思想 用单纯形法先解松弛问题(P0 ) ,若(P0 ) 的最优解 x0是整数向量,则x0 是 ILP 问题(P) 的最优解, 计算结束; 费用减小方向
x0
精品课程《运筹学》
若 x0 的分量不全是整数,则对( P0 ) 增加一个割平 面条件,将( P0 ) 的可行区域D0 割掉一块,x0 恰好 在被割掉的区域内,而原 ILP 问题的任何一个 可行解(格点)都没有被割去.
x*
精品课程《运筹学》
生成割平面条件的代数方法(Gomory)
用单纯形方法解(P) 的松弛问题(P0 ) 最优基本可行解x0 B ( AB1 , , ABm )
xB1 , , xBm
基变量的下标集合为 S 非基变量的下标集合为 S
最后一张单纯形表中问题(P0 ) 的典式为
z j x j z0
精品课程《运筹学》
[alj ]x j alj x j
jS
jS
相减
xBl [alj ]x j bl
jS
xBl [alj ]x j [bl ]
jS
(alj [alj ])x j bl [bl ]
jS
Gomory割平面条件
flj x j fl
精品课程《运筹学》
§2.2 Gomory割平面法计算步骤
第1步 用单纯形法解 ILP 问题(P)的松弛问题(P0 ). 若(P0 )没有最优解,则计算停止, (P) 也没有最优 解.若(P0 )有最优解 x0,假若x0是整数向量,则x0是 (P)的最优解,计算停止,输出x0;否则转第 2 步. 第2步 求割平面方程
第二节 Gomory割平面法
§2.1 Gomory割平面法的基本思想 §2.2 Gomory割平面法计算步骤
精品课程《运筹学》
§2.1 Gomory割平面法的基本思想
考虑纯整数线性规划问题
min
cT x
s.t . (P)
Ax b x0
x为整数向量
(P)的松弛问题
min cT x (P0 ) s.t. Ax b
x0
可行区域记为D 由有限个或可数的格点 构成的集合
可行区域 D0 多面凸集
精品课程《运筹学》
D和D0的关系 ⑴.D D0; ⑵.若(P0 )无可行解,则(P) 无可行解; ⑶.(P0 )的最优值是(P ) 的最优值的一个下界; ⑷.若( P0 ) 的最优解 x0是整数向量,则 x0是( P )
精品课程《运筹学》
证 由于割平面 flj x j s fl 是由原 ILP 的
js
整数约束推出来的,所以它不会割掉整数可行解; 松弛变量 s 是新的基变量,并且它与原来的基变量 xB1 , , xBm 一起构成了新松弛问题的基变量,当 bl 不是整数时, fl 0,因此新松弛问题的基本解中 有 s fl 0,因此它对应的是新松弛问题的原始 基本不可行解.由于表中第 0 行(检验数行)没有 改变,所以它仍保持对偶可行性.
x2
max x2
3• • • •
2• • • •
1• • • •
• • • • x1
0
1 23
精品课程《运筹学》
x2 1
1 4
x3
1 4
x4
1 2
经过两次旋转变换得到最优单纯形表为
x0 (1, 3)T 2
x1 x2
z00
z 3 2
x3
x4
1 1 44
RHS 3
2
x2 1
jS
xBr aij x j bi , i 1, , m
jS
令
xB0 z
精品课程《运筹学》
a0 j j
b0 z0
如果bi , i 0,1, , m ,全是整数,我们已经得到了 ILP 问题(P ) 的最优解x0 . 否则至少有一个bl 不是整数(0 l m),设bl 所对 应的约束方程是
精品课程《运筹学》
x1
2
,1
T
3
2 3
x4
2 3
s1
2 3
x1 x2
x1 x2 x3 x4 s1 RHS
z 0 0 0 0 1 1
x1
1
0
0 1 3
2 3
2 3
x2 0 1 0 0 1
1
x3 0 0 1 1 4 2
精品课程《运筹学》
x1 (2 ,1)T 3
0 5
3 2
1
x4 0
0
0
1
1 3 2
1
精品课程IL《P运问筹题学》的最优解x* (1,1)T
x2
4 3
3 4
x3
3 4
x4
1 2
x1 1 0
1 1
6
6
1
x2 0 1
1 4
1 4
3 2
1 4
x3
1 4
x4
1 2
ห้องสมุดไป่ตู้
精品课程《运筹学》
1 4
x3
1 4
x4
s1
1 2
x1 x2 x3 x4 s1 RHS
z 0 0 1 1 0 3
44
2
x1 1
0
1 1 0
6
6
1
x2 0
1
x4 RHS
z 0 0 1 1 3
44
2
x1 1 0
1 1
6
6
1
x2 0 1
1 4
1 4
3 2
1 4
x3
1 4
x4
1 2
精品课程《运筹学》
x1 x2 x3 x4 RHS
z 0 101 0
x3 3 2 1 0 x4 3 2 0 0
6 x3 6 3 x1 2 x2 0 x4 3x1 2x2
2 3
x4
2 3
s1
2 3
x1 x2
x2
max x2
3• • • •
2• • • •
1• • • •
• • • • x1
0
1 23
精品课程《运筹学》
x1 x2 x3 x4 s1
s2 RHS
z 0 0 0 0 1 0 1
x1 1
0
0
0
1 1 2
1
x2 0 1 0 0 1 0
1
x3
0
0
1
精品课程《运筹学》
例3.2.1 求解ILP问题
max
x2
s.t. 3 x1 2 x2 6
3 x1 2 x2 0
x1, x2 0,整数
解
这个问题及其松弛LP问
题的可行区域如图所示
精品课程《运筹学》
x2
max x2
3• • • •
2• • • •
1• • • •
• • • • x1
flj x j s fl
js
精品课程《运筹学》
第3步
将割平面方程 flj x j s fl 加到第 1 步所得最优
js
单纯形表中,用对偶单纯形法求解这个新的松弛问题. 若其最优解为整数解,则它是问题( P ) 的最优解,计算 停止,输出这个最优解;否则将这个最优解重新记为 x0 ,返回第 2 步.若对偶单纯形算法发现了对偶问题是 无界的,此时原 ILP 问题是不可行的,计算停止.
jS
xBl [alj ]x j [bl ]
jS
(alj [alj ])x j bl [bl ]
jS
xBl alj x j bl
jS
alj [alj ] fij , j S 0 flj 1, j S
bl [bl ] fl
0 fl 1
割平面
flj x j s fl
js
精品课程《运筹学》
定理 3.2.1
如 果 把 割 平 面 flj x j s fl 加 到 松 弛 问
js
题 ( P0 ) 的最优单纯形表里,那么没有割掉原 ILP 的任何整数可行点,当bl 不是整数时,新 表里是一个原始基本不可行解和对偶可行解.
x0
精品课程《运筹学》
把增添了割平面条件的问题记为(P1 ) ,用对偶单纯形 法求解 LP 问题( P1 ) .若( P1 ) 的最优解x1 是整数向量, 则 x1是原 ILP 问题(P )的最优解,计算结束;
x1
精品课程《运筹学》
否则对问题( P1 )在增加一个割平面条件,形成问 题(P2 ),…,如此继续下去,通过求解不断改进 的松弛 LP 问题,知道得到最优整数解为止.
xBl alj x j bl
jS
alj [alj ] fij , j S 0 flj 1, j S
bl [bl ] fl
0 fl 1
精品课程《运筹学》
[alj ]x j alj x j
jS
jS
相减
xBl [alj ]x j bl
0
1 23
增加松弛变量x3 和x4 ,得到了松弛 LP 问题的第 一张单纯形表
x1 x2 x3 x4 RHS z 0 101 0
x3 3 2 1 0
6
x4 3 2 0 0
0
精品课程《运筹学》
经过两次旋转变换得到最优单纯形表为
最优解为x0
1,
3
T
2
x1 x2 x3
最优值为z 3 2
1 4
10 4
3 2
11
1
s1
0
0 1 44
2
精品课程《运筹学》
利用对偶单纯形算法解上表中的松弛问题( P1 ) ,得到 关于问题( P1 )的最优单纯形表为
x1 x2 x3 x4 s1 RHS
z 0 0 0 0 1 1
x1
1
0
0 1 3
2 3
2 3
x2 0 1 0 0 1
1
x3 0 0 1 1 4 2
的最优解.
精品课程《运筹学》
割平面法的基本思想 用单纯形法先解松弛问题(P0 ) ,若(P0 ) 的最优解 x0是整数向量,则x0 是 ILP 问题(P) 的最优解, 计算结束; 费用减小方向
x0
精品课程《运筹学》
若 x0 的分量不全是整数,则对( P0 ) 增加一个割平 面条件,将( P0 ) 的可行区域D0 割掉一块,x0 恰好 在被割掉的区域内,而原 ILP 问题的任何一个 可行解(格点)都没有被割去.
x*
精品课程《运筹学》
生成割平面条件的代数方法(Gomory)
用单纯形方法解(P) 的松弛问题(P0 ) 最优基本可行解x0 B ( AB1 , , ABm )
xB1 , , xBm
基变量的下标集合为 S 非基变量的下标集合为 S
最后一张单纯形表中问题(P0 ) 的典式为
z j x j z0
精品课程《运筹学》
[alj ]x j alj x j
jS
jS
相减
xBl [alj ]x j bl
jS
xBl [alj ]x j [bl ]
jS
(alj [alj ])x j bl [bl ]
jS
Gomory割平面条件
flj x j fl
精品课程《运筹学》
§2.2 Gomory割平面法计算步骤
第1步 用单纯形法解 ILP 问题(P)的松弛问题(P0 ). 若(P0 )没有最优解,则计算停止, (P) 也没有最优 解.若(P0 )有最优解 x0,假若x0是整数向量,则x0是 (P)的最优解,计算停止,输出x0;否则转第 2 步. 第2步 求割平面方程
第二节 Gomory割平面法
§2.1 Gomory割平面法的基本思想 §2.2 Gomory割平面法计算步骤
精品课程《运筹学》
§2.1 Gomory割平面法的基本思想
考虑纯整数线性规划问题
min
cT x
s.t . (P)
Ax b x0
x为整数向量
(P)的松弛问题
min cT x (P0 ) s.t. Ax b
x0
可行区域记为D 由有限个或可数的格点 构成的集合
可行区域 D0 多面凸集
精品课程《运筹学》
D和D0的关系 ⑴.D D0; ⑵.若(P0 )无可行解,则(P) 无可行解; ⑶.(P0 )的最优值是(P ) 的最优值的一个下界; ⑷.若( P0 ) 的最优解 x0是整数向量,则 x0是( P )
精品课程《运筹学》
证 由于割平面 flj x j s fl 是由原 ILP 的
js
整数约束推出来的,所以它不会割掉整数可行解; 松弛变量 s 是新的基变量,并且它与原来的基变量 xB1 , , xBm 一起构成了新松弛问题的基变量,当 bl 不是整数时, fl 0,因此新松弛问题的基本解中 有 s fl 0,因此它对应的是新松弛问题的原始 基本不可行解.由于表中第 0 行(检验数行)没有 改变,所以它仍保持对偶可行性.
x2
max x2
3• • • •
2• • • •
1• • • •
• • • • x1
0
1 23
精品课程《运筹学》
x2 1
1 4
x3
1 4
x4
1 2
经过两次旋转变换得到最优单纯形表为
x0 (1, 3)T 2
x1 x2
z00
z 3 2
x3
x4
1 1 44
RHS 3
2
x2 1
jS
xBr aij x j bi , i 1, , m
jS
令
xB0 z
精品课程《运筹学》
a0 j j
b0 z0
如果bi , i 0,1, , m ,全是整数,我们已经得到了 ILP 问题(P ) 的最优解x0 . 否则至少有一个bl 不是整数(0 l m),设bl 所对 应的约束方程是
精品课程《运筹学》
x1
2
,1
T
3
2 3
x4
2 3
s1
2 3
x1 x2
x1 x2 x3 x4 s1 RHS
z 0 0 0 0 1 1
x1
1
0
0 1 3
2 3
2 3
x2 0 1 0 0 1
1
x3 0 0 1 1 4 2
精品课程《运筹学》
x1 (2 ,1)T 3
0 5
3 2
1
x4 0
0
0
1
1 3 2
1
精品课程IL《P运问筹题学》的最优解x* (1,1)T
x2
4 3
3 4
x3
3 4
x4
1 2
x1 1 0
1 1
6
6
1
x2 0 1
1 4
1 4
3 2
1 4
x3
1 4
x4
1 2
ห้องสมุดไป่ตู้
精品课程《运筹学》
1 4
x3
1 4
x4
s1
1 2
x1 x2 x3 x4 s1 RHS
z 0 0 1 1 0 3
44
2
x1 1
0
1 1 0
6
6
1
x2 0
1
x4 RHS
z 0 0 1 1 3
44
2
x1 1 0
1 1
6
6
1
x2 0 1
1 4
1 4
3 2
1 4
x3
1 4
x4
1 2
精品课程《运筹学》
x1 x2 x3 x4 RHS
z 0 101 0
x3 3 2 1 0 x4 3 2 0 0
6 x3 6 3 x1 2 x2 0 x4 3x1 2x2
2 3
x4
2 3
s1
2 3
x1 x2
x2
max x2
3• • • •
2• • • •
1• • • •
• • • • x1
0
1 23
精品课程《运筹学》
x1 x2 x3 x4 s1
s2 RHS
z 0 0 0 0 1 0 1
x1 1
0
0
0
1 1 2
1
x2 0 1 0 0 1 0
1
x3
0
0
1
精品课程《运筹学》
例3.2.1 求解ILP问题
max
x2
s.t. 3 x1 2 x2 6
3 x1 2 x2 0
x1, x2 0,整数
解
这个问题及其松弛LP问
题的可行区域如图所示
精品课程《运筹学》
x2
max x2
3• • • •
2• • • •
1• • • •
• • • • x1
flj x j s fl
js
精品课程《运筹学》
第3步
将割平面方程 flj x j s fl 加到第 1 步所得最优
js
单纯形表中,用对偶单纯形法求解这个新的松弛问题. 若其最优解为整数解,则它是问题( P ) 的最优解,计算 停止,输出这个最优解;否则将这个最优解重新记为 x0 ,返回第 2 步.若对偶单纯形算法发现了对偶问题是 无界的,此时原 ILP 问题是不可行的,计算停止.
jS
xBl [alj ]x j [bl ]
jS
(alj [alj ])x j bl [bl ]
jS
xBl alj x j bl
jS
alj [alj ] fij , j S 0 flj 1, j S
bl [bl ] fl
0 fl 1