最優化方法練習題答案_第1頁
最優化方法練習題答案_第2頁
最優化方法練習題答案_第3頁
最優化方法練習題答案_第4頁
最優化方法練習題答案_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、練習題一1、建立優化模型應考慮哪些要素?答:決策變量、目標函數和約束條件.2、討論優化模型最優解的存在性、迭代算法的收斂性及停止準則.答:針對一般優化模型,討論解的可行域,若存在一點,對于 均有則稱為優化模型最優解,最優解存在;迭代算法的收斂性是指迭代所得到的序列 ,滿足,則迭代法收斂;收斂的停止準則有,,,,等等。 練習題二1、某公司看中了例2.1中廠家所擁有的3種資源R1、R2、和R3,欲出價收購(可能用于生產附加值更高的產品).如果你是該公司的決策者,對這3種資源的收購報價是多少?(該問題稱為例2。1的對偶問題)。解:確定決策變量 對3種資源報價作為本問題的決策變量。確定目標函數 問題的

2、目標很清楚“收購價最小”.確定約束條件 資源的報價至少應該高于原生產產品的利潤,這樣原廠家才可能賣。因此有如下線性規劃問題:*2、研究線性規劃的對偶理論和方法(包括對偶規劃模型形式、對偶理論和對偶單純形法)。答:略.3、用單純形法求解下列線性規劃問題: (1); (2)解:(1)引入松弛變量x4,x5,x6cj1-11000CB基bx1x2x3x4x5x60x4211-21000x532110100x64-101001cj-zj1-11000因檢驗數20,故確定x2為換入非基變量,以x2的系數列的正分量對應去除常數列,最小比值所在行對應的基變量x4作為換出的基變量。cj1-11000CB基bx

3、1x4x3x4x5x6-1x221121000x51103-1100x64-101001cj-zj20-1100因檢驗數30,故確定x3為換入非基變量,以x3的系數列的正分量對應去除常數列,最小比值所在行對應的基變量x5作為換出的基變量。cj111000CB基bx1x2x5x4x5x61x28/35/3101/32/301x31/31/3011/31/300x611/34/3001/31/31cj-zj7/3032/31/30因檢驗數j>0,表明已求得最優解:,去除添加的松弛變量,原問題的最優解為:。(2)根據題意選取x1,x4,x5,為基變量:cj01100CB基bx1x2x3x4x5

4、0x12121000x42012100x5501101cjzj01100因檢驗數20最小,故確定x2為換入非基變量,以x2的系數列的正分量對應去除常數列,最小比值所在行對應的基變量x4作為換出的基變量。cj01100CB基bx1x2x3x4x50x1610-320-1x22012100x53003-11cjzj00-110因檢驗數3<0最小,故確定x3為換入非基變量,以x1的系數列的正分量對應去除常數列,最小比值所在行對應的基變量x5作為換出的基變量。cj01100CB基bx1x2x3x4x50x1910011-1x240101/32/31x31001-1/31/3cj-zj0002/3

5、1/3因檢驗數j>0,表明已求得最優解:。4、分別用大法、兩階段法和Matlab軟件求解下列線性規劃問題:(1); (2)解:(1)大M法根據題意約束條件1和2可以合并為1,引入松弛變量x3,x4,構造新問題。cj41M0CB基bx1x2x3x4Mx3331100x431201cjzj43M1M004x1111/31/300x4205/3-1/31cjzj01/3M 4/304x13/5102/51/51x26/5011/53/5cjzj00M-7/51/5因檢驗數j>0,表明已求得最優解:.Matlab調用代碼:f=4;1;A=-9,3;1,2;b=6;3;Aeq=3,1;beq

6、=3;lb=0;0;x,fval = linprog(f,A,b,Aeq,beq,lb)輸出結果:Optimization terminated.x = 0。6000 1.2000fval = 3。6000(2)大M法引入松弛變量x4,x5,x6,x7構造新問題。單純形表計算略;當所有非基變量為負數,人工變量=0.5,所以原問題無可行解.請同學們自己求解。Matlab調用代碼:f=-10;15;-12;A=5,3,1;-5,6,15;2,1,-1;b=9;15;-5;lb=0;0;0;x = linprog(f,A,b,lb)輸出結果:原題無可行解。5、用內點法和Matlab軟件求解下列線性規

7、劃問題: 解:用內點法的過程自己書寫,參考答案:最優解;最優值5 Matlab調用代碼:f=2;1;1;Aeq=1,2,2;2,1,0;beq=6;5;lb=0;0;0;x,fval = linprog(f,,Aeq,beq,lb)輸出結果:Optimization terminated.x = 1.3333 2。3333 0.0000fval = 5.00006、用分支定界法求解下列問題: (1) ; (2)解:(1)調用matlab編譯程序bbmethodf=5; 8;G=1 1;5 9;h=6; 45x,y=bbmethod(f,G,h,,0;0,1;1,1)x = 3 3y = 39最

8、優解3 3;最優值39(2)調用matlab編譯程序bbmethodf=-7; -9;G=-1 3; 7 1;h=6; 35x,y=bbmethod(f,G,h,,,0;0,,1;0,1)x = 5 0y = -35最優解5 0;最優值357、用隱枚舉法和Matlab軟件求解下列問題:(1);(2)解: 隱枚舉法:(1)將(0,0,0)(0,0,1)(0,1,0)(1,0,0)(0,1,1)(1,0,1)(1,1,0)(1,1,1)分別帶入到約束條件中,可以得到:原問題的最優解是(0,0,1),目標函數最優值2.(2)將(0,0,0,0,0)(0,0,0,0,1)(0,0,0,1,0)(0,0

9、,1,0,0)。 (1,1,1,1,1)分別帶入到約束條件中,可以得到:原問題的最優解是(1,1,0,0,0),目標函數最優值5。Matlab軟件求解:(1)調用代碼:f=4; 3;2; 價值向量fA=2,5,3; -4,-1,3;0,-1,-1; 不等式約束系數矩陣A, 中的分號“;"% 為行分隔符b=4; 3;-1; 不等式約束右端常數向量bx, fval=bintprog(f, A, b, , );%調用函數bintprog。注意兩個空數組的占位作用。輸出結果 x=001fval=2(2)調用代碼:f=-3; -2;5;2;3; 價值向量fA=1,1,1,2,1; 7,0,3,

10、4,3;11, 6,0,3, 3; 不等式約束系數矩陣A, 中的分號“;"% 為行分隔符b=4; 8;1; 不等式約束右端常數向量bx, fval=bintprog(f, A, b, , );%調用函數bintprog。注意兩個空數組的占位作用。輸出結果 x=11000fval=-5最優值5。8、某地區有A、B、C三個化肥廠,供應本地甲、乙、丙、丁四個產糧區。已知各化肥廠可供應化肥的數量和各產糧區對化肥的需要量,以及各廠到各區每噸化肥的運價如表2-28所示.試制定一個使總運費最少的化肥調撥方案。表2- 1運價/ 產糧 (元/噸) 區化肥廠甲乙丙丁各廠供應量/萬噸A158737A249

11、1078A384293各區需要量/萬噸6633解:設A、B、C三個化肥廠為A1、A2、A3,甲、乙、丙、丁四個產糧區為B1、B2、B3、B4;cij為由Ai運化肥至Bj的運價,單位是元/噸;xij為由Ai運往Bj的化肥數量(i=1,2,3;j=1,2,3,4)單位是噸;z表示總運費,單位為元,依題意問題的數學模型為:該題可以用單純形法或matlab自帶工具箱命令(linprog)求解。 *9、求解下列不平衡運輸問題(各數據表中,方框內的數字為單位價格,框外右側的一列數為各發點的供應量,框底下一行數是各收點的需求量):(1) 5 1 7 10 要求收點3的需求必須正好滿足。 6 4 6 80 3

12、 2 5 15 75 20 50(2) 5 1 0 20 要求收點1的需求必須由發點4供應。 3 2 4 10 7 5 2 15 9 6 0 15 5 10 15解答略。10、一公司經理要分派4位推銷員去4個地區推銷某種商品.推銷員各有不同的經驗和能力,因而他們在不同地區能獲得的利潤不同,其獲利估計值如表2-29所示。公司經理應怎樣分派才使總利潤最大?表2 Error! Bookmark not defined. 地區推銷員1234135272837228342940335243233424322528解:用求極大值的“匈牙利法”求解。效率矩陣表示為:行約簡MCijM=40 標號列約簡 所畫(

13、)0元素少于n(n4),未得到最優解,需要繼續變換矩陣(求能覆蓋所有0元素的最少數直線集合):未被直線覆蓋的最小元素為cij=2,在未被直線覆蓋處減去2,在直線交叉處加上2.標號 得最優解:使總利潤為最大的分配任務方案為:11,24,33,42此時總利潤W=35+40+32+32=139練習題三1、用0。618法求解問題的近似最優解,已知的單谷區間為,要求最后區間精度。答:t=0.8115;最小值0。0886。(調用golds。m函數) 2、求無約束非線性規劃問題min =的最優解解一:由極值存在的必要條件求出穩定點:,則由得,, 再用充分條件進行檢驗:,即為正定矩陣得極小點為,最優值為1.解

14、二:目標函數改寫成 min =易知最優解為(1,0,0),最優值為-1。3、用最速下降法求解無約束非線性規劃問題.其中,給定初始點。解一:目標函數的梯度令搜索方向再從出發,沿方向作一維尋優,令步長變量為,最優步長為,則有故令可得 求出點之后,與上類似地,進行第二次迭代: 令令步長變量為,最優步長為,則有故令可得 此時所達到的精度本題最優解,解二:利用matlab程序求解首先建立目標函數及其梯度函數的M文件function f=fun(x)f=x(1)-x(2)+2x(1)*x(1)+2*x(1)x(2)+x(2)x(2);function g=gfun(x)g=1+4*x(1)+2x(2),-

15、1+2*x(1) +2* x(2) ;調用grad.m文件x0=0,0;x,val,k=grad(fun,'gfun,x0)結果x= -1.0000 ,1。5000val= 1.2500k=33即迭代33次的到最優解x= -1.0000 ,1。5000;最優值val= -1.2500。4、試用Newton法求解第3題。解一:計算目標函數的梯度和Hesse陣目標函數的梯度,其逆矩陣為計算。本題最優解,解二:除了第3題建立兩個M文件外,還需建立Hesse矩陣的M文件利用matlab程序求解首先建立目標函數及其梯度函數的M文件function f=fun(x)f=x(1)x(2)+2x(1)

16、x(1)+2x(1)x(2)+x(2)x(2);function g=gfun(x)g=1+4x(1)+2*x(2),-1+2x(1) +2 x(2) ;function h=hess(x)g=4 2;2 2 ;調用newton。m文件x0=0,0;x,val,k=newton(fun',gfun,'hess,x0)結果x= 1.0000 ,1.5000val= -1。2500k=15、用FletcherReeves法求解問題其中,要求選取初始點。解一: ,第一次迭代:令,即,第二次迭代:,第三次迭代:(建議同學們自己做下去,注意判別)解二:利用matlab程序求解首先建立目標

17、函數及其梯度函數的M文件function f=fun(x)f=x(1)2+25* x(2)*x(2);function g=gfun(x)g=2*x(1), 50* x(2) ;調用frcg。m文件x0=2,2;epsilon=1e-6;x,val,k=frcg(fun','gfun,x0, epsilon)結果x = 1。0e006 0。2651, 0.0088val =7。2182e014k = 616、試用外點法(二次罰函數方法)求解非線性規劃問題其中解:設計罰函數 采用Matlab編程計算,結果x=1 0;最優結果為1。(調用waidianfa.m)7、用內點法(內點障

18、礙罰函數法)求解非線性規劃問題:解:容易看出此問題最優解為x=1 0;最優值為8。給出罰函數為 令;從而當時,(建議同學自己編程序計算)8、用乘子法求解下列問題解:建立乘子法的增廣目標函數:令:解上述關于x的二元一次方程組得到穩定點當乘子取2時,或發參數趨于無窮時,得到即最優解。(建議同學自己編程序計算)練習題四1、石油輸送管道鋪設最優方案的選擇問題:考察網絡圖46,設A為出發地,F為目的地,B,C,D,E分別為四個必須建立油泵加壓站的地區。圖中的線段表示管道可鋪設的位置,線段旁的數字表示鋪設這些管線所需的費用。問如何鋪設管道才能使總費用最小?圖4 1解: 第五階段:E1F 4;E2

19、F 3;第四階段:D1E1 -F  7;D2E2F   5;D3E1F   5;第三階段:C1-D1E1 F   12;C2D2E2F   10;C3D2E2F   8;C4-D3E1F   9;第二階段:B1C2D2E2F    13; B2C3D2E2F   15;  第一階段:AB1-C2D2-E2F   17;最優解:AB1C2-D2-E2F

20、0;   最優值:172、 用動態規劃方法求解非線性規劃解:,最優值為9。3、用動態規劃方法求解非線性規劃解:用順序算法階段:分成兩個階段,且階段1 、2 分別對應。決策變量:狀態變量:分別為第j 階段第一、第二約束條件可供分配的右段數值。 由于,可解的,最優值為702。92。4、設四個城市之間的公路網如圖47。兩點連線旁的數字表示兩地間的距離。使用迭代法求各地到城市4的最短路線及相應的最短距離。圖4 2 城市公路網解:城市1到城市4路線-1-34 距離10;城市2到城市4路線2-4 距離8;城市3到城市4路線3-4 距離4.5、某公司打算在3個不同的地區設置4個

21、銷售點,根據市場部門估計,在不同地區設置不同數量的銷售點每月可得到的利潤如表4-19所示。試問在各地區如何設置銷售點可使每月總利潤最大。 表4- 1解:將問題分為3個階段,k=1,2,3;決策變量xk表示分配給第k個地區的銷售點數;狀態變量為sk表示分配給第k個至第3個地區的銷售點總數;狀態轉移方程:sk+1=skxk,其中s1=4;允許決策集合:Dk(sk)=xk0xksk階段指標函數:gk(xk)表示xk個銷售點分配給第k個地區所獲得的利潤;最優指標函數fk(sk)表示將數量為sk的銷售點分配給第k個至第3個地區所得到的最大利潤,動態規劃基本方程為:k=3時,k=2時,k=1時,最優解為:

22、x1*=2,x2=1,x3=1,f1(4)=47,即在第1個地區設置2個銷售點,第2個地區設置1個銷售點,第3個地區設置1個銷售點,每月可獲利潤47。 6、設某廠計劃全年生產某種產品A。其四個季度的訂貨量分別為600公斤,700公斤,500公斤和1200公斤。已知生產產品A的生產費用與產品的平方成正比,系數為0。005。廠內有倉庫可存放產品,存儲費為每公斤每季度1元。求最佳的生產安排使年總成本最小。解:四個季度為四個階段,采用階段編號與季度順序一致。 設 sk 為第k季初的庫存量,則邊界條件為 s1=s5=0 設 xk 為第k季的生產量,設 yk 為第k季的訂貨量;sk ,xk ,yk 都取實

23、數,狀態轉移方程為 sk+1=sk+xk yk 仍采用反向遞推,但注意階段編號是正向的目標函數為:第一步:(第四季度) 總效果 f4(s4,x4)=0.005 x42+s4 由邊界條件有: s5= s4 + x4 y4=0,解得:x4=1200 s4 將x4*代入 f4(s4,x4)得: f4(s4)=0.005(1200 s4)2+s4=7200 11 s4+0.005 s42第二步:(第三、四季度) 總效果 f3(s3,x3)=0.005 x32+s3+ f4(s4) 將 s4= s3 + x3 500 代入 f3(s3,x3) 得:第三步:(第二、三、四季度) 總效果 f2(s2,x2)

24、=0.005 x22+s2+ f3*(s3) 將 s3= s2 + x2 -700 代入 f2(s2,x2) 得:第四步:(第一、二、三、四季度) 總效果 f1(s1,x1)=0。005 x12+s1+ f2*(s2) 將 s2= s1 + x1 600= x1 600 代入 f1(s1,x1) 得:由此回溯:得最優生產庫存方案 x1=600,s2=0; x2*=700,s3*=0; x3*=800,s4*=300; x4*=900。7、某種機器可在高低兩種不同的負荷下進行生產.設機器在高負荷下生產的產量函數為g=8u1,其中u1為投入生產的機器數量,年完好率a=0。7;在低負荷下生產的產量函

25、數為h=5y,其中y為投入生產的機器數量,年完好率為b=0。9。假定開始生產時完好機器的數量s1=1000。試問每年如何安排機器在高、低負荷下的生產,使在5年內生產的產品總產量最高.解:構造這個問題的動態規劃模型:設階段序數k表示年度。狀態變量sk為第k年度初擁有的完好機器數量,同時也是第k1年度末時的完好機器數量。決策變量uk為第k年度中分配高負荷下生產的機器數量,于是skuk為該年度中分配在低負荷下生產的機器數量。這里sk和uk均取連續變量,它們的非整數值可以這樣理解,如sk=0。6,就表示一臺機器在k年度中正常工作時間只占6/10;uk=0。3,就表示一臺機器在該年度只有3/10的時間能

26、在高負荷下工作。狀態轉移方程為:k段允許決策集合為:設為第k年度的產量,則故指標函數為:令最優值函數fk(sk)表示由資源量sk出發,從第k年開始到第5年結束時所生產的產品的總產量最大值.因而有逆推關系式:從第5年度開始,向前逆推計算。當k=5時,有:因f5是u5的線性單調增函數,故得最大解u5*,相應的有:當k=4時,有:故得最大解,u4*=s4,相應的有依此類推,可求得因s1=1000,故:計算結果表明:最優策略為即前兩年應把年初全部完好機器投入低負荷生產,后三年應把年初全部完好機器投入高負荷生產。這樣所得的產量最高,其最高產量為23700臺.在得到整個問題的最優指標函數值和最優策略后,還

27、需反過來確定每年年初的狀態,即從始端向終端遞推計算出每年年初完好機器數.已知s1=1000臺,于是可得:8、有一輛最大貨運量為10t 的卡車,用以裝載3種貨物,每種貨物的單位重量及相應單位價值如表4-20所示.應如何裝載可使總價值最大?表4 Error! Bookmark not defined.貨物編號i123單位重量(t)345單位價值 ci456解:利用動態規劃的逆序解法求此問題. 狀態轉移方程為: 該題是三階段決策過程,故可假想存在第四個階段,而,于是動態規劃的基本方程為:計算最終結果為,最大價值為13 .9、設有 A,B,C 三部機器串聯生產某種產品,由于工藝技術問題,產品常出現次品

28、。統計結果表明,機器 A,B,C產生次品的概率分別為 pA=30, PB=40, PC=20, 而產品必須經過三部機器順序加工才能完成。為了降低產品的次品率,決定撥款 5 萬元進行技術改造,以便最大限度地提高產品的成品率指標.現提出如下四種改進方案:方案1:不撥款,機器保持原狀;方案2:加裝監視設備,每部機器需款 1 萬元;方案3:加裝設備,每部機器需款 2 萬元;方案4:同時加裝監視及控制設備,每部機器需款 3 萬元;采用各方案后,各部機器的次品率如表421。表4 2ABC不撥款3040%20%撥款 1 萬元20%30%10撥款 2 萬元1020%10撥款 3 萬元510%6%問如何配置撥款

29、才能使串聯系統的可靠性最大?解:為三臺機器分配改造撥款,設撥款順序為A, B, C,階段序號反向編號為 k,即第一階段計算給機器 C 撥款的效果。 設 sk 為第 k 階段剩余款,則邊界條件為 s3=5; 設 xk 為第 k 階段的撥款額; 狀態轉移方程為 sk-1=sk-xk; 目標函數為 max R=(1PA)(1PB)(1PC) 仍采用反向遞推第一階段 :對機器 C 撥款的效果 R1(s1,x1)=d1(s1,x1)´ R0(s0,x0)= d1(s1,x1)x1 s1 0123x1*R1(s1, x1)00.800.810.80。910。920.80。90.91, 20.93

30、0。80。90.90。9430.9440。80.90.90。9430。9450.80。90。90.9430。94第二階段 :對機器 B, C 撥款的效果 由于機器 A 最多只需 3 萬元,故 s2 ³ 2 遞推公式: R2(s2,x2)=d2(s2,x2)´ R1(s1,x1*) 例:R2(3,2)=d2(3,2)´ R1(1,1)=(1-0。2) ´0。9=0。72 得第二階段最優決策表x1 s1 x1R1(s1, x1)000。8110。921, 20.9330。94430.94530.94x2 s2 0123x2*R2(s2, x2*)20.540

31、.630。6420。6430.5640.630。720.722,30。7240。5640.6580.720。8130。8150。5640.6580.7520。8130。81第三階段 :對機器 A, B, C 撥款的效果 邊界條件:s3 = 5 遞推公式: R3(s3,x3)=d3(s3,x3)´ R2(s2,x2) 例:R3(5,3)=d3(5,3)´ R2(2,2)=(10.05) ´0。64=0.608得第三階段最優決策表x2 s2 x2R2(s2, x2)220。6432,30。72430.81530.81s3 x30123x3*R3(s3, x3*)50.

32、5670.6480。6480。6081,20.648回溯 :有多組最優解. I:x3=1, x2=3, x1=1, R3=0。8 ´0。9 ´0.9=0.648 II:x3=2, x2=2, x1=1, R3= 0。9´0。8´0。9=0.648III: x3=2, x2=3, x1=0, R3= 0.9´0.9´0.8=0。648練習題五1、考察多目標規劃問題其中,試畫出個目標函數的圖形,并求出,這里是的最優解集.解:2、用線性加權法中的法求解下述多目標規劃問題。解:最優解為;最優解為;利用法得線性方程組:解得唯一加權系數原多目標規

33、劃加權后解得加權后的最優解為:,最優值為1。23123、用線性加權求和法求解下述多目標規劃問題,取。解:將問題轉化為一個新的單目標規劃問題。 約束條件同上,該問題轉化為線性規劃問題,可用單純形法求解,也可用Matlab命令求解(求解過程略)。解得加權后的最優解為:,最優值為-1.4。4、用平方和加權法求解多目標規劃問題: 其中 ,。解:不難看出兩個目標函數下界均為0,得平方和加權法后的新目標規劃問題:利用matlab程序求解首先建立目標函數及其梯度函數的M文件function f=fun(x)f=1/3*x(1)2+2/3 x(2)*x(2);x,fval=fmincon(f,0 0,1 1;

34、1 1,4;8,,0 0)解得最優解為:,最優值為0。5、用極小極大法和Matlab軟件求解下述多目標規劃問題.解:取評價函數為,再求Matlab軟件求解:編制M文件function f=mnmax(x)f(1)=(x(1)-3)2+x(2)2;f(2)=x(1)2+(x(2)-2)2設初值x0=0;0;調用函數x,fval=fminimax(mnmax,x0,1 1,2)結果:x = 1.30000。7000fval = 3.3800 3.3800可得;對應從而為原問題的解。附習題中用過的Matlab程序1、bbmethodfunction x,y=bbmethod(f,G,h,Geq,he

35、q,lb,ub,x,id,options) 整數線性規劃分支定界法,可求解純整數規劃和混合整數規劃。 y=minf*x s。t。 Gx=h Geqx=heq x為全整數或混合整數列向量 用法 %x,y=bbmethod(f,G,h,Geq,heq,lb,ub,x,id,options) 參數說明 %lb:解的下界列向量(Default:int) %ub:解的上界列向量(Default:int) %x:迭代初值列向量 id:整數變量指標列向量,1-整數,0-實數(Default:1) global upper opt c x0 A b Aeq beq ID options; if nargin&

36、lt;10,options=optimset();options.Display='off; options。LargeScale='off;end if nargin9,id=ones(size(f));end if nargin8,x=;end if nargin<7 isempty(ub),ub=inf*ones(size(f);end if nargin6 |isempty(lb),lb=zeros(size(f);end if nargin<5,heq=;end if nargin<4,Geq=;end upper=inf;c=f;A=G; b=h;

37、Aeq=Geq;beq=heq;x0=x;ID=id; ftemp=IntLP(lb(:),ub(:)); x=opt;y=upper; %下面是子函數 function ftemp=IntLP(vlb,vub) global upper opt c x0 A b Aeq beq ID options; x,ftemp,how=linprog(c,A,b,Aeq,beq,vlb,vub,x0,options); if how =0 return; end; if ftempupper>0.00005 %in order to avoid error return; end; if max

38、(abs(x.*IDround(x.*ID))<0。00005 if upperftemp0。00005 in order to avoid error opt=x'upper=ftemp; return; else opt=opt;x' return; end; end; notintx=find(abs(xround(x)>=0。00005); %in order to avoid error intx=fix(x);tempvlb=vlb;tempvub=vub; if vub(notintx(1,1),1)>=intx(notintx(1,1),1)+

39、1; tempvlb(notintx(1,1),1)=intx(notintx(1,1),1)+1; ftemp=IntLP(tempvlb,vub); end; if vlb(notintx(1,1),1)<=intx(notintx(1,1),1) tempvub(notintx(1,1),1)=intx(notintx(1,1),1); ftemp=IntLP(vlb,tempvub); end;2、golds.mfunction s,phis,k,G,E=golds(phi,a,b,delta,epsilon)功能: 0.618法精確線搜索%輸入: phi是目標函數, a, b

40、是搜索區間的兩個端點% delta, epsilon分別是自變量和函數值的容許誤差%輸出: s, phis分別是近似極小點和極小值, G是nx4矩陣,% 其第k行分別是a,p,q,b的第k次迭代值ak,pk,qk,bk, E=ds,dphi, 分別是s和phis的誤差限.%t=(sqrt(5)-1)/2; h=ba; phia=feval(phi,a); phib=feval(phi,b);p=a+(1-t)h; q=a+t*h; phip=feval(phi,p); phiq=feval(phi,q);k=1; G(k,:)=a, p, q, b; while(abs(phibphia)ep

41、silon)|(h>delta) if(phipphiq) b=q; phib=phiq; q=p; phiq=phip; h=b-a; p=a+(1-t)*h; phip=feval(phi,p); else a=p; phia=phip; p=q; phip=phiq; h=ba; q=a+t*h; phiq=feval(phi,q); end k=k+1; G(k,:)=a, p, q, b; endds=abs(b-a); dphi=abs(phib-phia);if(phip=phiq) s=p; phis=phip;else s=q; phis=phiq;endE=ds,dp

42、hi;3、grad.mfunction x,val,k=grad(fun,gfun,x0) 功能: 用最速下降法求解無約束問題: min f(x)輸入: x0是初始點, fun, gfun分別是目標函數和梯度輸出: x, val分別是近似最優點和最優值, k是迭代次數.maxk=5000; %最大迭代次數rho=0.5;sigma=0.4;k=0; epsilon=1e-5;while(k<maxk) g=feval(gfun,x0); 計算梯度 d=g; 計算搜索方向 if(norm(d)<epsilon), break; end m=0; mk=0; while(m<20

43、) %Armijo搜索 if(feval(fun,x0+rhom*d)feval(fun,x0)+sigmarhomg'd) mk=m; break; end m=m+1; end x0=x0+rhomkd; k=k+1;endx=x0;val=feval(fun,x0);4、newton。mfunction x,val,k=newton(fun,gfun,Hess,x0)功能: 用尼牛頓法求解無約束問題: min f(x)%輸入: x0是初始點, fun, gfun, Hess 分別是求% 目標函數,梯度,Hesse 陣的函數%輸出: x, val分別是近似最優點和最優值, k是迭代次數。maxk=100; 給出最大迭代次數sigma=0.4;k=0; epsilon=1e-5;while(k<maxk) gk=feval(gfun,x0); %計算梯度 Gk=feval(Hess,x0); 計算Hesse陣 dk=Gkgk; %解方程組Gkdk=gk, 計算搜索方向 if(norm(gk)<epsilon), break; end %檢驗終止準則 x0=x0+dk' k=k+1;endx=x0;val=feval(fun,x);5、frcg.mf

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論