第2章灵敏度分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算单纯形乘子及检验数
2 1 Y2 C B 2 B2 (0,1,1) B2 (0,1,1)
1 1 1 C1 Y2 P1 3 (0,1,1) 4 2 0 1 5 C5 Y2 P5 0 (0,1,1) 1 0
2 2 1 1 B1 P2 B1 1 1 0 0
19
步4:计算θ
θ=min{-1/1,-}=1,可知L=2,对应x6为换出变量, 主元素a22=1 新的基变量为(x4,x2,x3)T,CB2=(0,-1,-1) B2=(P4,P2,P3)
22
0 1 1 B2 P B 4 1 2 2 2
步5:写出E11矩阵 步6:计算
B31
1 / 3 0 0 E11 0 1 0 2 / 3 0 1
1 / 3 2 / 3 5 / 3 B31 E11 B21 0 1 2 2 / 3 4 / 3 7 / 3
2
3
5
13
步3:
max(σ2>0,σ3>0)=σ3,k=3对应x3为换入变量 计算x3的系数列向量a3
1 1 2 1 a 3 B0 P3 I 2 I 1
a3有大于零的分量,故该题有解。
14
步4:计算θ
这里(B-1b)i是向量(B-1b)中第i个元素。 (B-1Pj)i是向量(B-1Pj)中第i个元素。
7
3、单纯形表 初始单纯形表
初始非基变量 X=(XB,XN)T (B,N) (cB,cN) 初始基变量 XS I 0 b 0
分块的系数矩阵可用表格形式表示为
基变量XB XN I 0 B-1N CN-CBB-1N 非基变量 XS B-1 -CBB-1 b -CBB-1b
5
0 M C 5 Y1 P5 0 (0, M ,2 M 1) 1 0
源自文库
因人工变量旋出后,一般不会再旋入,故不用计算σ7。 因σj中有大于零的分量,xB1不是最优解。
18
转步3:max(σ 1>0,σ 2>0)=σ 2,k=2, 故x2为换入变量,计算x2的系数列向量
3
maxZ=CBXB+CNXN+0XS
BX B NX N IX S b X B , X N , X S 0 (4.5)
将式(4.5)移项后得到 BXB=b-NXN-IXS 上式左乘B-1后,得到XB的表达式 XB=B-1b-B-1NXN-B-1XS 上式代入目标函数,得到 Z=CBB-1b+(CN-CBB-1N)XN-CBB-1XS
2.1单纯形法的矩阵表示
现在介绍用矩阵来描述单纯形法的整个计算过程 它将有助于加深对单纯形法的理解、研究改进单纯形法、对偶理论等
设线性规划问题
maxZ=CX
AX b X 0
给这个规划问题的约束条件中加入松驰变量
X5=(xn+1,xn+2,…xn+m)T以后得到标准型
1
maxZ=CX+0X
4
令非基变量XN=0,XS=0,得到一个基可行解
1 X B B b (1) X X N 0 XS 0
目标函数取值 Z=CBB-1b
5
1、非基变量的系数CN-CBB-1N与-CBB-1 就是第一章中用符号Cj-Zj(j=1,2,…,n)表示的检验数。 因为xB的系数是0,
计算B0-1=B0=I
得初始解
11 11 3 , x 0 1 x B 0 B 0 b I 3 N0 1 1
计算单纯形乘子
1 Y0 CB0 B0
(0,M ,M ) I (0,M ,M ) 12
实质上是CB-CBB-1B=0
Xs的系数实质上是0-CBB-1I 因此所有的检验数可用C-CBB-1A与-CBB-1表示
6
2、用矩阵描述时,θ规则的表达式是
1 1 ( B b) i ( B b) l 1 min 1 ( B Pj ) i 0 1 B Pj ) i ( B Pj ) l
4 C 4 Y3 P4 1 / 3 5 C5 Y3 P5 1 / 3
σ6,σ7不用计算 所有σj≤0,说明目标函数已达极大,停止计算
步5:写出E22矩阵
E22 1 0 0 2 1 0 0 0 1
步6:计算 B21
1 2 5 1 B2 E 22 B11 0 1 2 0 0 1
20
计算新的基可行解
11 12 1 x B 2 b2 B21 b B21 3 1 1
8
上述表格即为迭代后的计算表
2.改进单纯形法
前面我们已经熟悉了单纯形法的表格计算方法,这是求解线性规划问题的一 般的通用方法。但用这种方法求解具体问题时,发现在每次迭代过程中不必 要的计算了很多无用的数字,影响了计算效率。从计算机计算的角度来徇, 单纯形法也不是一个很经济的算法,需要计算的数字多,并且要占有大量的 计算机存储容量。这样就导致了改进单纯形法的出现。改进单纯形法是但泽 在1953年研究出来的,其基本步骤与单纯形法大致相同,最主的区别在于每 次迭代中不再以矩阵的行初等变换为基础,而是每次都从原始数据求得迭代 的结果。这样就减少了每次迭代中积累起来的误差,既提高了计算的精度, 又减少了计算机的存储容量。 我们知道,单纯形法的迭代过程实质上是从一组基到另一组基的变换,变 换一组基,得到一个新的表。根据矩阵理论,每当基变量确定后,要想得到 新的表,可以有两种方法,一是矩阵的初等行变换;二是由原始数据直接得 到即把这个基变量在初始单纯形表中相应列的系数矩阵的逆矩阵求出来,则 新表中的列都可由这个逆矩阵左乘原来的列得到。而为了确定一组新的基, 关键是要找出换入变量和换出变量,找换入变量是通过求所有非基变量列的 检验数,从中找出最大的正检验数来确定。在找出换入变量后,根据θ规则确 定换出变量。而每次迭代中真正有用的数字是b列数字,基的逆矩阵,非基变 量的检验数以及最大正检验数对应的非基变量的系数列向量。
σ6,σ7不用计算
σj中仍有不大于0的分量,故xB2不是最优解
21
步3:max(σ1>0)=1,k=1,故x1为换入变量。 计算x1的系数列向量 1 3 步4:计算θ θ=min{12/3,-,-}=4,L=1, 则x4为换出变量。a11=3为主元素。 新的基变量为(x1,x2,x3) CB3=(3,-1,-1) B3=(P1,P2,P3)
x1 2 x 2 x3 x 4 11 4 x x 2 x x x 3 1 2 3 5 6 2 x1 x3 x 7 1 x1 , x 2 , , x 7 0
11
初始基变量(x4,x6,x7)T,CB0=(0,-M,-M) 初始基矩阵 1 0 0 I B0 ( P4 , P6 , P7 ) 0 1 0 0 0 1
计算新的基可行解
11 4 1 x B3 B31 b B31 3 1 9 Y3 C B3 B31 (3,1,1) B31 (1 / 3,1 / 3,2 / 3)
23
转步2:计算非基变量检验数
min( 11/ 1,3 / 2,1 / 1) 1
L=3,可知x7为换出变量。a33=1为主元素。
新的基变量为(x4,x6,x3)T CB1=(0,-M,-1)
B1=(P4,P6,P3)
15
步5:写出E33矩阵 Elk(l,k表示主元素的位置)
E33 1 0 1 0 1 0 1 2 1
计算新基可行解
1 0 1 11 10 3 1 x B1 b1 B11 b 0 1 2 0 0 1 1 1
计算单纯形乘子
Y1 CB1 B11 (0,M ,M ) B11 (0,M ,2M 1)
写出Elk矩阵的方法 (1)E的单位列向量不变;
(2)第k列元素中,主元素 a 变为 1 / a 其它元素除以负的主元素 - alk
lk
lk
16
步6:计算新基的逆
1 0 1 1 0 1 I 0 1 2 B11 E33 B01 0 1 2 0 0 1 0 0 1
AX IX S b X 0, X S 0
这里I是m×m阶单位矩阵
设B是一个可行基,也称为基矩阵 于是可将系数矩阵A分为两块A=(B,N) 这里N是非基向量构成的矩阵 对应于B的变量xB1,xB2,…,xBm是基变量 用向量XB=(xB1,xB2,…,xBm)T表示 其它的为非基变量。则
9
例1:试用改进单纯形法求解下述问题
minZ=-3x1+x2+x3
x1 2 x 2 x3 11 4 x x 2 x 3 1 2 3 2 x x 1 1 3 x1 , x 2 , x3 0
10
解:步1 化标准形式,求初始解
maxZ′=3x1-x2-x3-Mx6-Mx7
步2:计算非基变量的检验数
1
1 C1 Y0 P 1 3 (0, M , M ) 4 3 6 M 2 2 1 M C1 Y0 P2 1 (0, M , M ) 1 0 1 1 3M C 3 Y0 P3 1 (0, M , M ) 2 1 0 M C 5 Y0 P5 0 (0, M , M ) 1 0
XB x X N
2
这时C也分为两块(CB,CN) 其中CB是目标函数中基变量向量XB的系数行向量; CN是目标函数中非基变量向量XN的系数行向量。
XB X X BX NX IX ( A, I ) ( B , N , I ) B N S X N s XS XB X X C X C X 0X (C ,0) ( C , C , 0 ) B N B B N N S X N s XS
17
转步2:计算非基变量检验数
1 1 C1 Y1 P 1 3 (0, M , 2 M 1) 4 1 2 2 1 M 2 C 2 Y1 P2 1 (0, M ,2 M 1) 1 1