1 / 37

第四讲 单纯型表格算法

第四讲 单纯型表格算法 . §1 与基础解对应的单纯型表格 §2 新基础解表格与原表格的关系 §3 如何选择支点行 §4 如何选择支点列. §5 举例分析. §1 与基础解对应的单纯型表格 ( 1 ). 关于单纯形法概念,以前已讲过,本章讲具体计算步骤。该 计算方法在计算机上计算。令 A 为 m × n 矩阵, m ≤ n , 行线性 独立,即秩为 m 。非退化线性规划的标准形式为: AX = b , X ≥0 , C T X =min (1) 如果 b 是 A 的不少于 m 列的线性组合,则称非退化形式。设从

chaz
Download Presentation

第四讲 单纯型表格算法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四讲 单纯型表格算法 §1 与基础解对应的单纯型表格 §2 新基础解表格与原表格的关系 §3 如何选择支点行 §4 如何选择支点列 §5 举例分析

  2. §1 与基础解对应的单纯型表格(1) 关于单纯形法概念,以前已讲过,本章讲具体计算步骤。该 计算方法在计算机上计算。令A为m×n矩阵,m≤n,行线性 独立,即秩为m。非退化线性规划的标准形式为: AX=b,X≥0,CTX=min (1) 如果b是A的不少于m列的线性组合,则称非退化形式。设从 阶段2开始计算,即设已获得初始可行解X(这需阶段1,而 寻找第1个初始可行解亦需用到阶段2算法)。

  3. §1 与基础解对应的单纯型表格(2) 设已有一个基础可行解X,只依赖于m列aj(j=1,…,m),则有 xj>0,jB,B={j1,…,jm} (2) 令矢量 Vi=aji (i=1,2,…,m) (3) 则,V1,V2,…,Vm即是当前基础矩阵M的列矢量。 现把A阵每一列都用基础列表达: aj=t1jV1+t2jV2+…tmjVm (j=1,2,…,n) (4) 同样,b可写成:b=t10V1+t20V2+…+tm0Vm (5) 这样,便可给出一个单纯形表格 (tij),i=1,…,m;j=1,2,…,n,0 (6)

  4. a1 a2 a3 b V1=a3 0 1 1 1 V2=a1 1 -1 0 2 §1 与基础解对应的单纯型表格(3) [例1-18] A =b = 令当前基础矢量是第3列和第1列。即V1=a3,V2=a1,则表格为:

  5. §1 与基础解对应的单纯型表格(4) 第2列即为: a3-a1=a2 (8) 最后1列为: a3+2a1=b (9) 这就给出基础解分量 x3=1,x1=2,x2=0 扩充单纯形表格:前述表格中的元素仅是把A阵矢量和b表达为基础矢量线性组合时的系数,为方便,现又增加{uij},其含义是把m个单位矢量e1(1,0,0,…),e2(0,1,0, …), …,em(0,0,…,1)表达成基本矢量的线性组合,即: ej= (j=1,2,…,m) (10)

  6. a1 … an b e1 … em V1 t11 … t1n t10 u11 … u1m ┇ --------------------------------------------- Vm tm1 … tmn tm0 um1 … umm §1 与基础解对应的单纯型表格(5) 于是,扩充的单纯形表格如下 : 因为单位矢量ej(j=1, …,m)构成一个标准单位矩阵I,而Vi是基础矩阵M的列,根据式(10)知,I=MU ∴U=M-1。因此扩充表格中的{uij}是当前基础阵之逆阵。

  7. §1 与基础解对应的单纯型表格(6) 同样式(4)和 (5)也可写成矩阵的形式: [A,b]=MT (13) 其中,T={tij}(i=1,…,m,j=1,…,n,0),于是扩充表格可写成: [T;U]= M-1[A,b;I] (14) [例1-19] 例1-18的基础矩阵为: M = [a3,a1] =

  8. a1 a2 a3 b e1 e2 V1=a3 0 1 1 1 3 -2 V2=a1 1 -1 0 2 -7 5 一 二 三 §1 与基础解对应的单纯型表格(7) 因此, U = M-1 = ={uij} 则扩充表格为: (15)

  9. §1 与基础解对应的单纯型表格(8) 表格中, 第一部分为A阵所有列关于当前基础列之表达式。 第二部分为当前基础解的正分量。 第三部分为当前基础阵之逆阵。

  10. a1 … as … an b e1 … em V1 t11 … t1s … t1n t10 u11 … u1m ┇ ┇ ┇ ┇ ┇ ┇ ┇ Vr tr1 trs trn tr0 ur1 … urm ┇ ┇ ┇ ┇ ┇ ┇ ┇ Vm tm1 tms tmn tm0 um1 … umm §2 新基础解表格与原表格的关系(1) 设在上述基础解的基础上,将非基矢量as引进基础解集,即as→B集;而令原基础解集B中的Vr处原基矢量离开。这两种情况表达形式示于表1-3和表1-4 表1-3 原表格(用当前基础解表达矢量)

  11. a1 … as … an b e1 … em (V1)’ t’11 … t’1s … t’1n t’10 u’11 … u’1m ┇ as→(Vr)’ t’r1 t’rs t’rn t’r0 u’r1 … u’rm ┇ (Vm)’ t’m1 t’ms t’mn t’m0 u’m1 … u’mm §2 新基础解表格与原表格的关系(2) 表1-4 新表格(用新基础解表达矢量)

  12. §2 新基础解表格与原表格的关系(3) 其中原表格是已经给出的与当前基础矢量相对应的单 纯形表格,新基础解是由原非基矢量as代入Vr所致。 其新解所对应的表格形式如表1-4所示,那么新表中 各个元素如何根据原表1-3求出呢? 现在就对该问题进行推导。因为当前基础解和新基础 解都假定是可行的非退化解,因此两表中: ti0>0 ,t’i0>0 (i=1,2,…,m) (16)

  13. §2 新基础解表格与原表格的关系(4) 则,当前基础可行解满足: AX= = = (17) 因此,ti0就是X的正分量 根据当前基础解来表达as: as=t1sV1+…+trsVr+…+tmsVm (18) 由于基础矢量V1,…Vr, …Vm线性无关,因此trs≠0;

  14. §2 新基础解表格与原表格的关系(5) 否则,从式(18)中说明,as可由Vi(i=1,…,m,i≠r)线性组合,这说明新基础解不是线性无关的矢量构成,与假设矛盾。于是,Vr可根据式(18)表达为: Vr= (19) 从假设知,新基础解基础矢量为: (V1)’=V1, …,(Vr)’=as, …,(Vm)’=Vm (20) 为获得新表格,系数t’ij应满足:

  15. §2 新基础解表格与原表格的关系(6) aj=t’1j(V1)’+ …+t’rj(Vr)’+ … +t’mj(Vm)’ 这表明 aj = t’rjas+ (21) (式中, 表示 ,下同) 这唯一地定义了新表格中的系数。 而根据当前基础解,存在: aj = trjVr+ (22)

  16. §2 新基础解表格与原表格的关系(7) 现在,把Vr用式(19)代入,则式(22)变为: aj = (23) 将aj的两个表达式(21)和(23)的矢量系数加以比较,便可得出下述关系: ①当i=r时, t’rj=trj/trs (24) ②当i≠r时, t’ij=tij-(tis/trs)trj (25)

  17. §2 新基础解表格与原表格的关系(8) 对于扩充表格右边系数u’ij的表达更没问题。可把单位矢量ej作为扩充矩阵[A,I]的列,就像阶段法1做的那样,可设: e1=an+1,e2=an+2,…,em=an+m (26) 于是,我们可定义: uij=ti,,n+j (i,j=1,2, …,m) (27) 在式(24)和(25)中,用n+j代替j可得 ③当i=r时,u’rj=urj/trs (28) ④当i≠r时,u’ij=uij-(tis/trs)urj (29)

  18. §2 新基础解表格与原表格的关系(9) 上述公式的含义如下:如果用as代替Vr而形成新基础可行解,则称 ①原表中的r行为支点行 ②原表中的s列为支点列 ③trs为支点元素 支点行(r):新表r行=原表r行/trs 非支点行(i):新表i行=原表i行-i(原表r行)

  19. §2 新基础解表格与原表格的关系(10) 从上所述,如果知道原表格的支点行和支点列,那么,新的表格便可应孕而生。 于是如何选择支点行和支点列便是单纯形表格的关键问题,下面就分别阐述这两个问题。

  20. §3 如何选择支点行 选择支点行即是假设支点列已选定(即已知道应引进的非基 础矢量),应令哪一个基础矢量离开的问题。支点行的选择 原则是新解可行,即新表格中的{t’i0}(i=1,…,m)>0 (对于非退化)。 即,若r行被选中,则必须满足: tr0/trs=min{ti0/tis:tis>0,i=1, …,m} 这就是r行被中的充分必要条件,对于非退化情况,r行能被 唯一确定。

  21. §4 如何选择支点列 (1) 在选择支点行之前,必须首先选择支点列,其原则是,新矢 量进入基础解使费用尽量小,即最优性选择。 旧费用为: CTX= (32) 表明基础矢量Vi的单位费用。 如果决定选支点列s,那么新的解的费用是多少呢?根据: as- =0 (33) 及 = AX = b (34)

  22. §4 如何选择支点列 (2) 将(33)式乘以再加(34)式得: as+ (35) 于是,得出一组新解,其新解的费用为: cs+ (36) 而 =旧费用,令(37) 故 新费用=旧费用-(zs-cs)(38)

  23. §4 如何选择支点列 (3) 即,要使费用减少,只有zs-cs >0才行,这和在第五节所得 结论一致。即可得出下述结论: ·从式(35)看出,若所有tis≤0,则当→∞时,X()永远 可行,若此时,zs-cs >0,则最优目标值无界,即可无穷小。 ·若zs-cs >0且至少有一个tis>0,则s列是被选中之一,若有 若干列的zs-cs >0,则通常选择最大的zs-cs作为支点列,然 后根据前面讲的选择支点行标准选取支点元素并构成新的表 格。

  24. §4 如何选择支点列 (4) 当选中s列作为支点列时,其新费用减少值为*(zs-cs),其 中,*是新基础解中as的系数。(∵as=(vr)’),我们有: *=t’r0=tr0/trs 如果,旧费用为z0,新费用为z’0,则有 z’0= z0-tr0 (39) 对于原扩充表格:[T;U]=M-1[A,b;I],显然缺少一些信 息,即检验数信息,现可把它放在表格最后一行: z1-c1,…,zn-cn,z0;y1,…,ym (40)

  25. §4 如何选择支点列 (5) 这一行称为判断行或检验行。该行各元素含义如下: ① 前n个元素之表达式为 zj-cj= (j=1, …,n) (41) 如果aj是当前基础解集,则:zj-cj =0 如果aj不是当前基础解集,则: ②元素z0是当前费用,(42)

  26. §4 如何选择支点列 (6) ③最后m个元素定义为: (j=1,…,m) (43) 其中{uij} =U是基础阵M之逆阵,则YT含义为: 因此,YT是方程解,在最后阶段,当所有zj-cj≤0时,YT将 是下述对偶问题最优解: YTA≤CT, YTb=max 其中,YT将满足: YTaj=zj≤cj。

  27. t11 …… t1n t10 u11 …… u1m tm1 …… tmn tm0 um1 …… umm z1-c1 …… zn-cn z0 y1 …… ym §4 如何选择支点列 (7) 加进判断行后,表格变为: (44) 判断行之计算: 新判断行=旧判断行-0乘支点行 0=(zs-cs)/trs (45) 证明从略。

  28. §5 举例 (1) 至此,单纯形表格法的基本步骤已推导完毕,下面举例来说 明单纯形表格的应用。 例[1-21] 已知线性规划为: AX=b,X≥0,CTX=min 其中: A= ,b= ,CT=[7,1,1] (46) [例1-21]应用阶段1,求出式(46)的初始基础可行解。 [解]为了求初始基础可行解,要引进人工变量并构成新规划: A’X’=b’,X’≥0,C’TX’=min

  29. a1 a2 a3 e1 e2 b e1 1 2 3 1 0 5 e2 4 5 6 0 1 13 5 7 9 0 0 18 §5 举例 (2) 其中, A’= ,(X’)T=(x1,x2,x3,s1,s2) b’= (C’)T=(0 0 0 1 1) 现在变成求新规划最优解问题,显然,此规划的第1个基础可 行解为:s1=5,s2=13,X=0,其相应表格为: (47)

  30. §5 举例 (3) 初始表格判断的计算很简单: ,例如z’1-c’1= (1,4) -c1= 5-0 = 5 从判断行看出,最大的判断元素为z’3-c’3=9。故a3应进入基 础解,支点列s=3(当然a1,a2进入也行),然后选支点行: 故支点元素为t’13=3,于是用公式可计算出第2个表格。

  31. §5 举例(4) (48) 从表格(48)看出,max(zj-cj)= z1-c1 =2,故令a1进 入基础解集,然后选支点行r:

  32. a1 a2 a3 e1 e2 b a3 0 1/2 1 2/3 -1/6 7/6 a1 1 1/2 0 -1 1/2 3/2 0 0 0 -1 -1 0 §5 举例(5) ∴支点元素为t’21=2。 经变换,得出下述表格(49): (49)

  33. §5 举例(6) 判断行zj-cj全部≤0,故达最优,且z0=0。说明原问题存在可行解,且第1个基础可行解即为新规划的最优解:x2=0, x3=7/6, x1=3/2。于是阶段1结束。 [例1-22] 求解(46)式的最优解。即进行阶段2。 [解]将例1-21求得的新规划最优表格转换为原规划的初始单纯形表格。转换原则是: 1)表的上面m行基本不变,新表右半部{uij}与原表人工变量矢量所对应的{tij}一致。 2)表的判断行,需按照原规划的目标系数重算。

  34. §5 举例(7) 计算的初始单纯形表格如表格(50): 比较(49)与(50),看出: ·把e1,e2列移往右边 (50)

  35. §5 举例(8) ·判断行不同,因阶段1时的新规划费用系数为C’T=(0 0 0 1 1),而原规划为CT=[7 1 1]。初始解的基础矢量为a3,a1,∴=(1 7)。 例: z2-c2= ·1+ ·7-1=3 z0= ·1+ ·7=35/3 y1= ·1+ (-1) ·7= -

  36. a1 a2 a3 b e1 e2 a2 0 1 2 7/3 4/3 -1/3 a1 1 0 -1 1/3 -5/3 2/3 0 0 -6 14/3 -31/3 13/3 §5 举例(9) 从表格(50)看出:z2-c2=3为唯一正值,选s=2。 选支点行: trs= V1=a2(代替a3) 最后表格:

  37. §5 举例(10) 则知,所有zj-cj≤0 (j =1,2,3),已达最优。 最优基础可行解: x2= , x1= min cost = CTX = z0 = 最优对偶分量: y1= - , y2= 检查条件:AX=b, X≥0, YTA≤CT , CTX=YTb。 全部符合条件。

More Related