姜 屏 周倩倩
(紹興文理學(xué)院 土木工程學(xué)院,浙江 紹興312000)
參數(shù)敏感性分析是線性規(guī)劃問題研究的一個重要內(nèi)容,在線性規(guī)劃問題中包含目標(biāo)函數(shù)系數(shù)cij、約束條件右端項系數(shù)bj和約束方程系數(shù)aij.其中cij和bj的敏感性分析已經(jīng)形成了比較成熟的計算方法,并已經(jīng)在教科書中有所闡述[1].而在土木工程領(lǐng)域有許多問題需要研究參數(shù)aij的變化對線性規(guī)劃問題的最優(yōu)解和目標(biāo)函數(shù)的影響規(guī)律.比如在泥漿處理中,泥漿的脫水速率和電滲壓力以及泥漿比重之間的關(guān)系[2-3];軟土地區(qū)深基坑開挖穩(wěn)定性評價時,開挖深度、支護結(jié)構(gòu)類型、地下水位等因素對基坑穩(wěn)定性影響[4-6];纖維增強水泥土,纖維長度、水泥含量和孔隙比對其無側(cè)限抗壓強度的影響[7];進(jìn)行直剪試驗時,巖土材料的剪切強度與豎向應(yīng)力之間的線性關(guān)系等諸多工程問題[8].在研究參數(shù)敏感性時可以將其轉(zhuǎn)化為一般線性規(guī)劃問題,參數(shù)aij的敏感性分析是進(jìn)行這些工程問題分析的關(guān)鍵.羅世莊推導(dǎo)出了利用當(dāng)前基解和系數(shù)矩陣A的行(或列)增向量直接計算新基解及其檢驗數(shù)的計算公式,并分析了保持最優(yōu)基解不變時的變化范圍[9],但是沒有分析最優(yōu)解目標(biāo)函數(shù)值的變化規(guī)律.動態(tài)規(guī)劃算法根據(jù)研究對象的特征,可將求解過程劃分為若干階段,通過計算決策變量和狀態(tài)函數(shù)以尋找目標(biāo)最優(yōu)解[10-11].根據(jù)線性規(guī)劃問題的特征,將每一個變量的求解看成是一個階段,目標(biāo)函數(shù)可以作為狀態(tài)函數(shù)來進(jìn)行求解[12].若能在各階段求解過程中綜合考慮aij的影響,即能實現(xiàn)參數(shù)aij的敏感性分析.本文擬采用一線性規(guī)劃問題(兩個變量)的算例,采用圖解法、單純形法和動態(tài)規(guī)劃算法對參數(shù)aij的敏感性分析方法進(jìn)行對比分析.
為了研究參數(shù)aij對線性規(guī)劃問題最優(yōu)解和目標(biāo)函數(shù)的影響,在此結(jié)合兩變量線性規(guī)劃問題(式(1))采用圖解法、單純形法和動態(tài)規(guī)劃算法對參數(shù)aij的敏感性進(jìn)行分析,即對式(1)中參數(shù)a進(jìn)行敏感性分析.
(1)
針對問題只有兩個變量可采用圖解法進(jìn)行求解,將目標(biāo)函數(shù)進(jìn)行變換如式(2).
x2=z-2x1.
(2)
將目標(biāo)函數(shù)和各約束方程確定的直線在坐標(biāo)系中繪出,如圖1.方程(2)確定的直線為ij,那么目標(biāo)函數(shù)值z即為ij在x2上的截距,通過在可行域上平移ij即可得到z的最大值z*,最優(yōu)解為可行域的頂點.
圖1 圖解法計算簡圖
方程ax1+2x2=24在x1、x2上的截距分別為24/a和12,根據(jù)圖解法的基本原理[1],可分為三種情況討論a對最優(yōu)解和目標(biāo)函數(shù)的影響,具體計算過程如表1.
表1 圖解法計算結(jié)果
a的取值范圍可行域最優(yōu)解z*0 根據(jù)單純形法的基本思路,首先將線性規(guī)劃問題標(biāo)準(zhǔn)化,然后進(jìn)行單純形法的迭代[1].可得到最終單純形表如表2. 表2 計算所得最終單純形表 cj→21000CB基bx1x2x3x4x50x315051000x424-5a02-a01-a2x1511001cj-zj0-100-2 考慮參數(shù)a的取值對其展開討論: (1)0 (2)a≥24/5時,在表2的基礎(chǔ)上需采用對偶單純形法繼續(xù)進(jìn)行迭代,迭代結(jié)果如表3. 表3 a≥24/5對偶單純形法計算結(jié)果 cj→21000CB基bx1x2x3x4x50x3(10a-90)/(2-a)001-5/(2-a)5a/(2-a)1x2(24-5a)/(2-a)0101/(2-a)-a/(2-a)2x1-14/(2-a)100-1/(2-a)2/(2-a)cj-zj0001/(2-a)(a-4)/(2-a) 根據(jù)表3計算結(jié)果發(fā)現(xiàn),24/5≤a<9時,表3已經(jīng)滿足最優(yōu)解條件,故最優(yōu)解為 (3)a≥9,需采用對偶單純形法對表3繼續(xù)進(jìn)行迭代,迭代結(jié)果見表4. 表4 a≥9對偶單純形法計算結(jié)果 cj→21000CB基bx1x2x3x4x50x5(2a-18)/a00(2-a)/5a-1/a11x23011/5002x118/a10-2/5a1/a0cj-zj00(4-a)/5a-2/a0 動態(tài)規(guī)劃算法能夠根據(jù)約束條件的特征,以變量個數(shù)n為階段進(jìn)行動態(tài)分析并求解.根據(jù)算例的特征可將求解過程分成2個階段,考慮到第一個約束條件只對x2進(jìn)行了約束,在第1階段可不考慮x2,在第2階段可用包含x2的表達(dá)式來表示x1,采用逆序解法首先求解x2然后求解x1.可將約束條件右端項用Sn(R1,R2,R3)表示,以fn表示目標(biāo)函數(shù)值. 那么,S1=(15,24-2x2,5-x2),S2=(15,24,5) (3) (4) n=1時,由(3)可得x1*=min{R2/a,R3},即 f1*(R1,R2,R3)=2min{R2/a,R3} (5) 將S1(R1,R2,R3)=(15,24-2x2,5-x2)代入(5),可得 f1*(15,24-2x2,5-x2)=2min{R2/a,R3}=2min{(24-2x2)/a,5-x2} (6) 將(6)代入(4)可得 (7) 令24-2x2/a=5-x2,可得 (8) 將0≤x2≤3代入(8)可得24/5≤a≤9.于是可按如下三種情況進(jìn)行討論: f2*(15,24,5)=10-x2 (9) n=2時,x2*=0,f2*(R1,R2,R3)=10此時,x1*=5-0=5,z*=10; (2)當(dāng)24/5≤a<9時, (10) 將(10)代入(7)可得 (11) (12) 從以上分析可以得出a不同取值時圖解法、單純形法和動態(tài)規(guī)劃算法都可以對a進(jìn)行敏感性分析,下面針對a的不同取值范圍對三種方法進(jìn)行對比分析. (1)0
1.2 單純形法
1.3 動態(tài)規(guī)劃算法
2 三種方法對比分析