改进单纯形法讲解1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 0
-
1 2 4 1 1 4
1 0 1 0 4 1 1 4
σ4=C4-CB B2-1 P4=0-(0 8) =0-2=-2
令Y=CB B2-1 称 单纯形乘子
CB 0 0 0 8 6 8 Cj XB x3 x4 σ x3 x2 σ x1 x2 σ b 12 20 7 5 4 4 6 x1 2 1 6 7/4 1/4 4 1 0 0 8 x2 1 4 8 0 1 0 0 1 0
max Z=6 x1+8 x2 2 x1十x2十x3=12 x1十4x2十x4=20 xj≥0
0 0 θ x3 x4 1 0 12/1=12 0 1 20/4=5 0 0 1 -1/4 7/(7/4)=4 0 1/4 5/(1/4)=20 0 -2 4/7 -1/7 2/7 -1/7 -16/7 -10/7
b‘=B3-1
b=
4 7 1 7
-
1 12 4 7 4 2 20 7
检验数σj=Cj-CBB-1Pj σ1=C1-CB B3-1 P1 1 4 2 7 7 =6-(6 8) 1 2 1
第五节
改进单纯形算法
在每次迭代过程中不必要地计算了很多与迭代无关的数字, 影响了计算效率.
单纯形法的迭代过程实质上是从一组基到另一组基的变换. 而每次迭代中真正有用的数字是基变量列数字、基的逆矩阵、非基变量检验数 以及最大正检验数所对应的非基变量系数列向量。
CB 0 0 0 8 6 8
Cj XB x3 x4 σ x3 x2 σ x1 x2 σ
1 0 1 1 0 4 4 1 1 1 4 4
1 1 1 4 0 1 0 4
max Z=6 x1+8 x2 2 x1十x2十x3=12 x1十4x2十x4=20 xj≥0
1 -1= 1 - 4 1 4
正是x3、x4在第二步迭代表中的系数
CB 0 0 0 8 6 8 Cj XB x3 x4 σ x3 x2 σ x1 x2 σ b 12 20 7 5 4 4 6 x1 2 1 6 7/4 1/4 4 1 0 0 8 x2 1 4 8 0 1 0 0 1 0 0 0 θ x3 x4 1 0 12/1=12 0 1 20/4=5 0 0 1 -1/4 7/(7/4)=4 0 1/4 5/(1/4)=20 0 -2 4/7 -1/7 2/7 -1/7 -16/7 -10/7
例1. 已知: 迭代前的基为: 1 0 0 0 B=( p1, p2, p3, p4 )= 0 1 0 0 0 0 0 1 迭代后的基为: 1 0 0 1 0 0 0 0
1 1
=I
B =(p1, p2, p5, p4) =
-2 0 3 0 5 0 4 1
第r列 -a’1k/a’rk -a’2k/a’rk . . . 1/a’rk . . . . . . -a’mk/a’rk
CB 0 0 0 8 6 8
=6-6=0
7
7
Cj XB x3 x4 σ x3 x2 σ x1 x2 σ
在单纯形法的迭代计算中重复计算了很多与迭代过程无关的数字。 单纯形法的迭代计算实际上是对约束方程的系数矩阵实施行的初等 变换。 显然有
• 上述公式是改进单纯形法计算的依据,也是下一章中要讲述的灵 敏度分析等内容的基础,CB是基变量的目标函数中的系数向量, Pj 和 Cj 是初始单纯形表中非基变量 Xj 的系数向量和它在目标函数 中的系数值,Pj’是新单纯形表中非基变量的系数向量。
CB 0 0 0 8 6 8
b‘=B2-1 b=
1 0 1 - 12 7 4 5 1 20 4
Cj XB x3 x4 σ x3 x2 σ x1 x2 σ
b 12 20 7 5 4 4
6 x1 2 1 6 7/4 1/4 4 1 0 0
max Z=6 x1+8 x2 2 x1十x2十x3=12 x1十4x2十x4=20 xj≥0
6 x1 2 1 6 7/4 1/4 4 1 0 0 8 x2 1 4 8 0 1 0 0 1 0 0 0 θ x3 x4 1 0 12/1=12 0 1 20/4=5 0 0 1 -1/4 7/(7/4)=4 0 1/4 5/(1/4)=20 0 -2 4/7 -1/7 2/7 -1/7 -16/7 -10/7
第三步迭代中: 2 1 基变量 XB=(x1、x2) 1 4 基矩阵 B3=(P1、P2)= 4 1 1 0 B3-1 → 2 1 1 0 7 7
1 4 0 1 0 1 1 7 2 7
B3-1= 4
b 12 20 7 5 4 4
6 x1 2 1 6 7/4 1/4 4 1 0 0
8 x2 1 4 8 0 1 0 0 1 0
0 0 θ x3 x4 1 0 12/1=12 0 1 20/4=5 0 0 1 -1/4 7/(7/4)=4 0 1/4 5/(1/4)=20 0 -2 4/7 -1/7 2/7 -1/7 -16/7 -10/7
CB 0 0 0 8 6 8 Cj XB x3 x4 σ x3 x2 σ x1 x2 σ b 12 20 7 5 4 4 6 x1 2 1 6 7/4 1/4 4 1 0 0 8 x2 1 4 8 0 1 0 0 1 0 0 x3 1 0 0 1 0 0 4/7 -1/7 -16/7 0 x4 0 1 0 -1/4 1/4 -2 -1/7 2/7 -10/7 θ 12/1=12 20/4=5 7/(7/4)=4 5/(1/4)=20
j B B 1 2 3 4 3 4 3 2 1 2
( B 1b)i min 1 ( B Pk )i
•
( B 1b) r ( B Pk )i 0, 1 ( B Pk ) r (5)计算B1-1,XB1=B1-1 b
1
或
b' min i a'i k
改进单纯形法的计算步骤可以归结为: (1)在下一步迭代的基变量确定后,求新单纯形表中基矩阵B的逆 θ 矩阵B-1,并求基可行解XB=B-1 b C XC b x6 x8 x0 x0 0 x 12 2 1 1 0 12/1=12 T -1 0 x 20 1 4 0 1 20/4=5 (2)计算和单纯形乘子Y = CB B 6 8 0 0 σ 0 x 7 7/4 0 1 -1/4 7/(7/4)=4 并计算非基变量的检验数 8 x 5 1/4 1 0 1/4 5/(1/4)=20 4 0 0 σ -2 σN=CN-CBB-1N= CN- YN 6 x 4 1 0 4/7 -1/7 8 x 4 0 1 2/7 -1/7 - 1 0 0 σ -16/7 -10/7 σj=Cj-CBB Pj= Cj- Y Pj , 如果有σj ≤0,达到最优解,计算结束。否则转入下一步 (3)根据max {l ∣ l > 0,l∈IN } = k,确定 xk 为换入变量(即为新 基的基变量) 计算P‘k=B-1Pk=(a1k’、a2k’、…… amk’ ) 若aik’ ≤0,线性规划问题有无界解,计算结束。否则转入下一步 (4)按最小比值原则来确定第r行基变量xr为换出变量
b' r a'i k 0, a 'r k
(6)重复(2)—(5)步,直到计算结束
定理 在单纯形法的相邻两次迭代中,没迭代前的可行基为 B=(P1,P2,…,Pr-1,Pr, Pr+1 ,…Pm) 经过换基运算后,得到另一个可行基 B =(P1,P2,…,Pr-1,Pr, Pr+1 ,…Pm) 则迭代后所得基 的逆矩阵为 B 1=E B-1 rk 第r列 B 其中
1 1
.
.
.
-a’1k/a’rk -a’2k/a’rk . . . 1/a’rk . . . . . . -a’mk/a’rk
1源自文库
称为初等变换短阵,且aik(i=1,2,……m)为变换后的第i列的元素 由定理可知,若已知 B-1.则可先由式 B-1Pk=(a’1k, a’2k ,… … a’mk )求出B-1Pk .再求出Erk,最后求 出 1 即由B-1直接求出 1 .从而可以实现单纯形法的改进. B B
引例: max Z=6 x1+8 x2 2 x1十x2≤12 x1十4x2≤20 x j ≥0
标准化得: max Z=6 x1+8 x2 2 x1十x2十x3=12 x1十4x2十x4=20 x j ≥0
• 求解:
CB 0 0 0 8 6 8 Cj XB x3 x4 σ x3 x2 σ x1 x2 σ b 12 20 7 5 4 4
根据矩阵理论,第二步迭代表中的任何数都可由B2-1左乘原始 数据得到 1
如:p‘
2=B2
-1
p2=
1 0 -
1 0
-
1 0 4 1 4 1 4
p‘3=B2-1 p3=
p‘4=B2-1 p4=
7 1 7
-
1 7 2 7
max Z=6 x1+8 x2 2 x1十x2十x3=12 x1十4x2十x4=20 xj≥0
8 x2 1 4 8 0 1 0 0 1 0 0 0 θ x3 x4 1 0 12/1=12 0 1 20/4=5 0 0 1 -1/4 7/(7/4)=4 0 1/4 5/(1/4)=20 0 -2 4/7 -1/7 2/7 -1/7 -16/7 -10/7
max Z=6 x1+8 x2 2 x1十x2十x3=12 x1十4x2十x4=20 xj≥0
b 12 20 7 5 4 4 6 x1 2 1 6 7/4 1/4 4 1 0 0 8 x2 1 4 8 0 1 0 0 1 0 0 0 θ x3 x4 1 0 12/1=12 0 1 20/4=5 0 0 1 -1/4 7/(7/4)=4 0 1/4 5/(1/4)=20 0 -2 4/7 -1/7 2/7 -1/7 -16/7 -10/7
8 x2 1 4 8 0 1 0 0 1 0
0 0 θ x3 x4 1 0 12/1=12 0 1 20/4=5 0 0 1 -1/4 7/(7/4)=4 0 1/4 5/(1/4)=20 0 -2 4/7 -1/7 2/7 -1/7 -16/7 -10/7
检验数σj=Cj-CBB-1Pj σ1=C1-CB B2-1 P1=6-(0 8) =6-2=4
正是x3、x4 在第三步 迭代表中 的系数
CB 0 0 0 8 6 8
Cj XB x3 x4 σ x3 x2 σ x1 x2 σ
b 12 20 7 5 4 4
6 x1 2 1 6 7/4 1/4 4 1 0 0
根据矩阵理论,第三步迭代表中的任何数都可由B3-1 左乘原始数据得到 4 1 2 1 7 7 0 如:p‘1=B3-1 p1= 1 2 1 7 7
第二步迭代中: 基变量 XB=(x3、x2) 基矩阵 B2=(P3、P2)=
1 0
1 4
B2 B2
-1
→ 1
0
1 1 4 0
0
0 1 1 0
0 1 1 0
1 - 4 1 4
max Z=6 x1+8 x2 2 x1十x2十x3=12 x1十4x2十x4=20 xj≥0
Erk=
.
.
.
即用P5替换了P3,
试求