03.4修正单纯形法

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

0 M ) − 1 − 0 = − M < 0 0
以上检验数中,Z2-C2>0,Z3-C3>0,比较大小,则选取Z3-C3对 应的变量x3为调入变量,接下去寻找调出变量。
初始数据(7)
1 0 0 1 1 −1 P3 = B P3 = 0 1 0 2 = 2 0 0 1 1 1
− 1 11 10 − 2 3 = 1 1 1 1
迭代1ຫໍສະໝຸດ Baidu4)
求检验数
Z j − C j = C B Pj − C j = C B B Pj − C j = Π Pj − C j
1 0 −1 1) 0 1 − 2 = (0 M 0 0 1
迭代2(4)
求检验数
Z j − C j = C B Pj − C j = C B B −1 Pj − C j = ΠPj − C j
1 2 − 5 = (0 1 1) 0 1 − 2 = (0 1 − 1) 0 0 1
Π = C B B −1
迭代2(5)
1 Z 1 − C1 = ΠP1 − C1 = (0 1 − 1) − 4 − (− 3) = 1 > 0 − 2
C = (− 3 1 1 0 0 M
M)
用单纯形法的表格形式解题

Cj ↓ 0
→ 基 x5 x6 x7 →
0 b 11 3 1 4M 10 1 1 M+1 12 1 1 -2 4 1 9 -2
-3 P1 1 -4 -2 -6M+3 3 0 -2 1 (3) ) 0 -2 1 1 0 0 0
1 P2 -2 1 0 M-1 -2 (1) ) 0 M-1 0 1 0 0 0 1 0 0
− bi = min1 1 = 1 min Qi = min P i2 −
⋯⋯ x5 ⋯⋯ x6 ⋯⋯ x3
∴应选取x6为调出变量。
迭代2(1)
基变量为x5,x2,x3, 基变量对应的目标函数系数向量 CB=(c5 c2 c3)=(0 1 1)
0 Z 4 − C 4 = ΠP4 − C 4 = (0 1 − 1) − 1 − 0 = −1 < 0 0
比较检验数大小,选取x1对应的变量为调入变量, 接下去寻找调出变量。
迭代2(6)
1 2 − 5 1 3 −1 P1 = B P1 = 0 1 − 2 − 4 = 0 0 0 1 − 2 − 2 ⋯⋯ x5 ⋯⋯ x 2 ⋯⋯ x3
初始数据(1)
基变量为x5,x6,x7, 基变量 基变量对应的目标函数系数向量 CB=(c5 c6 c7)=(0 M M)
初始数据(2)
基矩阵
B =
(P 5
P6
1 P7 ) = 0 0
0 1 0
0 0 1
基矩阵的逆阵
B
−1
1 = B = 0 0
0 1 0
迭代2(2)
基矩阵
B = (P5 1 − 2 1 P3 ) = 0 1 2 0 0 1
P2
B
−1
1 = 0 0
2 1 0
− 5 − 2 1
迭代2(3)
可行解
1 2 − 5 11 12 −1 b = B b = 0 1 − 2 3 = 1 0 0 1 1 1 ⋯ x5 ⋯ x2 ⋯ x3
用修正单纯形法解题
C = (− 3 1 1 0 0 M
1 − 2 1 0 1 0 0 A = − 4 1 2 − 1 0 1 0 − 2 0 1 0 0 0 1
M)
11 b=3 1
1 − 2 1 0 1 0 0 P1 = − 4 P2 = 1 P3 = 2 P4 = − 1 P5 = 0 P6 = 1 P7 = 0 − 2 0 1 0 0 0 1
写出相关的矩阵和向量
1 − 2 1 0 1 0 0 A = − 4 1 2 − 1 0 1 0 − 2 0 1 0 0 0 1 11 b=3 1
1 − 2 1 0 1 0 0 P1 = − 4 P2 = 1 P3 = 2 P4 = − 1 P5 = 0 P6 = 1 P7 = 0 − 2 0 1 0 0 0 1
0 0 1
初始数据(3)
初始基本可行解
11 b = 3 1

初始数据(4)
求检验数
Z j − C j = C B Pj − C j = C B B −1 Pj − C j = ΠPj − C j
1 0 0 M ) 0 1 0 = (0 M 0 0 1
Π = C B B −1 = (0 M
M)
初始数据(5)
∵基变量的检验数均为零 ∴此时只需计算非基变量对应的检验数:
1 M ) − 4 − (− 3) = −6 M + 3 < 0 − 2
Z 1 − C1 = Π P1 − C1 = (0
M
Z 2 − C 2 = Π P2 − C 2 = (0
M Qi P7 0 0 1 0 -1 -2 1 -3M+1 -5 -2 1 -M-1 -5/3 -2 -7/3 -M+2/3 1 11 3/2 1

1
M M Zj-Cj 0

x5 x6 x3 →
2
M 1 Zj-Cj 0

x5 x2 x3 → x1 x2 x3 →

3
1 1 Zj-Cj -3
4
1 1 Zj-Cj
第四节 修正单纯形法
单纯形法的解题思路(一)
在单纯形法计算过程中,我们的目的是求出问题 的最优解,判断是否得到最优解的原则是检验数 的符号,当求最大值时,要求Zj-Cj≥0;当求最 小值时,要求Zj-Cj≤0。如果不满足条件,可根 据Zj-Cj的大小找出主元列(∣Zj-Cj∣最大者), 找出主元列Pj*后,再计算Qi,而后,根据Qi大小 找出主元行(Qi最小者),主元列所对应变量为 调入变量,主元行所对应的变量为调出变量,调 换基变量后,再重新计算检验数进行判断。
单纯形法的解题思路(二)
由此可见,在用单纯形法解题时,每段真 正起作用的只是某些数据,Zj-Cj、bi、Pj*, 如果我们用计算机解单纯形法,那些作用 不大的数据就会占用大量内存,影响解题 速度,费用大,所以我们有必要对单纯形 法进行修正,以方便计算机的计算。
修正单纯形法的思路
修正的单纯形法的基本思路是:只计算与 最优解关系最为密切的几个数据,而每一 段的计算都以前一段的计算为基础进行推 算,这样,单纯形法也就需要记住一些推 导公式。
12 3 bi min Qi = min = min − = 4 P i1 −
⋯⋯ x5 ⋯⋯ x 2 ⋯⋯ x3
∴应选取x5为调出变量。
迭代3(1)
基变量为x1,x2,x3, 基变量对应的目标函数系数向量 CB=(c1 c2 c3)=(-3 1 1)
M
− 2 M ) 1 − 1 = M + 1 > 0 0
初始数据(6)
Z 3 − C3 = ΠP3 − C3 = (0 M 1 M ) 2 − 1 = 3M − 1 > 0 1
Z 4 − C 4 = ΠP4 − C 4 = (0 M
迭代1(2)
基矩阵
B = (P5 P6 1 P3 ) = 0 0 0 1 0 1 2 1
基矩阵的逆阵
1 = 0 0 0 1 0 − 1 − 2 1
B
−1
迭代1(3)
可行解
1 −1 b = B b = 0 0
0 1 0
⋯ x1 ⋯ x2 ⋯ x3
迭代3(4)
求检验数
Z j − C j = C B Pj − C j = C B B Pj − C j = ΠPj − C j
1 P3 1 2 (1) ) 3M-1 0 0 1 0 0 0 1 0 0 0 1 0
0 P4 0 -1 0 -M 0 -1 0 -M -2 -1 0 -1 -2/3 -1 -4/3 -1/3
0 P5 1 0 0 0 1 0 0 0 1 0 0 0 1/3 0 2/3 -1/3
M P6 0 1 0 0 0 1 0 0 2 1 0 -M+1 2/3 1 4/3 -M+1/3
Z 4 − C 4 = ΠP4 − C 4 = (0 M 0 − 2M + 1) − 1 − 0 = − M < 0 0
比较检验数大小,选取x2为调入变量,接下去寻找调出变量。
迭代1(6)
1 0 − 1 − 2 − 2 −1 P2 = B P2 = 0 1 − 2 1 = 1 0 0 1 0 0 ⋯⋯ x5 ⋯⋯ x6 ⋯⋯ x3

min f = − 3 x1 + x 2 + x 3 x1 − 2 x 2 + x 3 ≤ 11 s.t . − 4 x1 + x 2 + 2 x 3 ≥ 3 2 x1 − x 3 = − 1 x j ≥ 0, j = 1, 2,3
解:
引入松弛变量及人工变量,化为标准形式
min f = −3x1 + x2 + x3 + 0 x4 + 0 x5 + Mx6 + Mx7 x1 − 2 x2 + x3 + x5 = 11 s.t. − 4 x1 + x2 + 2 x3 − x4 + x6 = 3 − 2 x1 + x3 + x7 = 1 x j ≥ 0, j = 1,2,⋯,7
11 1 bi min Qi = min = min 3 2 = 1 P i3 11
⋯⋯ x5 ⋯⋯ x6 ⋯⋯ x7
⋯⋯ x5 ⋯⋯ x6 ⋯⋯ x7
∴应选取x7为调出变量
迭代1(1)
基变量为x5,x6,x3, 基变量对应的目标函数系数向量 CB=(c5 c6 c3)=(0 M 1)
迭代3(2)
基矩阵
B = (P1 1 − 2 1 P3 ) = − 4 1 2 − 2 0 1
P2
B −1
1 3 2 3 − 5 3 1 = 0 −2 2 3 4 3 − 7 3
迭代3(3)
可行解
1 3 2 3 − 5 311 4 −1 b = B b = 0 1 − 2 3 = 1 2 3 4 3 − 7 3 1 9
−1
Π = C B B −1 = (0 M
− 2 M + 1)
迭代1(5)
1 Z 1 − C1 = ΠP1 − C1 = (0 M − 2M + 1) − 4 − (− 3) = 1 > 0 − 2 − 2 Z 2 − C 2 = ΠP2 − C 2 = (0 M − 2M + 1) 1 − 1 = M − 1 > 0 0
相关文档
最新文档