优化设计-2 联系客服

发布时间 : 星期四 文章优化设计-2更新完毕开始阅读7f7ffcdcdd88d0d233d46ad8

???e~E?1E?E?1?p1p2?pr?1E?1pkpkpr?1?pm??E?1p11E?1p2?E?1pr?1E?1pkE?1pr?1?pm

e2?er?1?1er?1?em??~?1~?1?记Erk?EE,则Erk?EE就是式3.14。 ??E?1E因为Erk???~?1?~~?E?1。如果初始矩阵E为单位矩阵,则?E?1E,因此,E?1?Erk~~?1?E?1?ErkE?1?Erk。对于第l次迭代,基矩阵的逆矩阵为 ~1~?1~?1~?1~?1~?1E(??EE?E?El)(l),rk(l?1),rk(1),rk(l),rkE(l?1) (3.21)

式3.21中,下标rk随每次迭代进基变量和出基变量的下标而改变。用式3.21进行迭代计算时,约束方程中变量的系数、右端项保持不变,每次计算只需保存前一次基矩阵的逆矩阵。 在一次换基迭代过程中,在确定了进基向量与出基向量之后,真正起作用的是进基列向量pk与前一个基矩阵的逆矩阵E-1。

2 改进的单纯形法的计算步骤

设E(0)为线性规划问题的一个初始可行基。步骤为:

(1) 计算E-1并代入式3.19,计算基变量、目标函数和检验数。

TT?1T?1?cTxE?E?1b,fE?cEEb,?NN?cEEN

(2) 对检验数进行判定。若?N?cN?cEEN的分量全为非正(求最大值问题),则计算结

?1?E?1b?束,x???即为最优解,

0??TfE?cEE?1b为最优值。否则转入第(3)步。

(3) 确定进基列向量。令?k?max?j,j?1,2,...,n,则pk为进基列向量。并计算

????E?1pk??a1?kpk?ka2??amk??T,如果所有的ark?≤0(i=1,2,…,m),则此问题?ark?>0,则转入第(4)步。 无最优解;若至少有一个,如ark??b?br?为主元,确定pr?出基。?min?r,i?1,2,...,m?,以ark(4) 确定出基列向量。令?r?

??ark?ark?(5) 计算E~?1?1?1?取代单元方阵中er得来。 ?ErkE。其中,Erk由pk~?1?1rk?1?1rkE~~?1(6) 计算xE?Eb?EEb?Ex,?N?cN?cEEN,返回第(1)步。 例3.5 用改进的单纯形法计算下面的线性规划问题:

maxf(x)?25x1?90x2,x?R2s.t.2x1?x2?150x1?3x2?270x2?80x1,x23?0解:

将所给问题化成线性规划问题的标准形式:

maxf(x)?25x1?90x2?0x3?0x4?0x5s.t.2x1?x2?x3?150x1?3x2?x4?270x2?x5?80xj?0,j?1,2,...,5?21100?T??设A?13010,c??2590000?,b??150????01001??(1) 构造初始基矩阵 初始基矩阵为E0??p3

27080?

Tp4?100??100??,同时得E?1??010?,所以有

p5???0100???????001???001??xE0?x3??100??150??150???E?1b??010??270???270? ??x40???????????x5???001????80????80???100????000? T?1cE00??0100E0??0????001??(2) 计算各非基本变量的判别数

?2??1??25 T?1???1?c1?cEEp?25?000001????0???1???90 T?1?2?c2?cE00??30E0p2?90??0????1??(3) 确定进基变量

?1?25,?2?90???2,对应非基本变量,确定为x2进基变量。同时计算 根据max??100??1??1???1???1?

E0?1p2??010????????001????1????1??(4) 确定出基变量

?bi??150,i?1,2,3??min?根据θ规则,求出?r?min??1?ai2?为出基变量。于是得到新的基矩阵E1??p3

(5) 计算新的基矩阵的逆阵

270180?80|r?3,,x5被确定??1?1p4p2?,相应的cE1??0090?。

?101??10?1????01?3? ?1E1?1?(E0E1)?1??013???????001???001???x3??10?1??150??70???E?1x??01?3??270???30?

xE1??x41E0???????????x2???001????80????80???10?1????0090? T?1cE090??01?31E1??0????001??用E1代替E0,重复步骤(2)~(5)。 (6) 计算各非基本变量的判别数

?1?1?1?10?1??2???1??25 T?1?1?c1?cE090??01?30E1p1?25??0??????001????0???10?1??0??01?1??0???90 T?1???5?c5?cEEp?0?0090115??????001????1??(7) 再确定进基变量

?1?25,?5??90???1,对应非基本变量x1,确定x1为进基变量。同时计算 根据max??10?1??2??2???1???1?

E1?1p1??01?3????????001????0????0??(8) 再确定出基变量

根据θ规则,求出?r?min??bi??70,i?1,2,3??min??2?ai1?30180?30|r?2,x4被确定为??0?1出基变量。于是得到新的基矩阵E2??p3

(9) 计算新的基矩阵的逆阵

p1T2590?。 p2?,相应的cE2??0?121??1?25????01?3? ?1E2??013??????1??001???00?xE2?x1??1?25??150??10???E?1x??01?3??270???30? ??x2E0?2?????????1??x3???00???80????80???1?1?25????02515? T?1cE2590??01?32E2??0???1??00??1?25??0??01?3??1???25 T?1???3?c4?cEEp?0?02590224?????1??00???0???1?25??0???0???15 T?1?5?c5?cE2590??01?32E2p5?0??0?????1??00???1??因判别数ζj均小于0,迭代结束。最优解为x??30801000?,fmax?7950。

T3.5 优化工具箱

用MATLAB优化工具箱求线性规划的函数linprog()来求解此问题。

线性规划问题数学模型 min CTX s.t. AX≤B AeqX=Beq Lb≤X≤Ub

其中:C,X,B,Beq,Lb,Ub为向量;A,Aeq为矩阵 函数输入变量

X= linprog(C,A,B)[]

X= linprog(C,A,B,Aeq,Beq) [] X= linprog(C,A,B, Aeq,Beq,Lb,Ub) X= linprog(C,A,B ,Aeq,Beq,Lb,Ub,x0)

X= linprog(C,A,B, ,Aeq,Beq,Lb,Ub,x0,options)