




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)四用MATLAB求解非線性優(yōu)化問題一、實(shí)驗(yàn)?zāi)康模毫私釳atlab的優(yōu)化工具箱,利用Matlab求解非線性優(yōu)化問題。二、相關(guān)知識非線性優(yōu)化包括相當(dāng)豐富的內(nèi)容,我們這里就Matlab提供的一些函數(shù)來介紹相關(guān)函數(shù)的用法及其所能解決的問題。非線性一元函數(shù)的最小值Matlab命令為fminbnd(),其使用格式為:X=fminbnd(fun,x1,x2)[X,fval,exitflag,output]=fminbnd(fun,x1,x2)其中:fun為目標(biāo)函數(shù),xl,x2為變量得邊界約束,即xlWxWx2,X為返回得滿足fun取得最小值的x的值,而fval則為此時的目標(biāo)函數(shù)值。exitflag>0表示計(jì)算收斂,exitflag=0表示超過了最大的迭代次數(shù),exitflag<0表示計(jì)算不收斂,返回值output有3個分量,其中iterations是優(yōu)化過程中迭代次數(shù),funcCount是代入函數(shù)值的次數(shù),algorithm是優(yōu)化所采用的算法。X5+X3+X2-1f(x)= 例1:求函數(shù) ex2+sin(-x)在區(qū)間[-2,2]的最小值和相應(yīng)的x值。解決此問題的Matlab程序?yàn)椋篶learfun='(xA5+xA3+xA2-1)/(exp(xA2)+sin(-x))'ezplot(fun,[-2,2])[X,fval,exitflag,output]=fminbnd(fun,-2,2)結(jié)果為:X=0.2176fval=-1.1312exitflag=1output=iterations:13funcCount:13algorithm:'goldensectionsearch,parabolicinterpolation'無約束非線性多元變量的優(yōu)化這里我們介紹兩個命令:fminsearch()和fminunc(),前者適合處理階次低但是間斷點(diǎn)多的函數(shù),后者則對于高階連續(xù)的函數(shù)比較有效。命令fminsearch()的格式為:X=fminsearch(fun,X0)[X,fval,exitflag,output]=fminsearch(fun,X0,options)該命令求解目標(biāo)函數(shù)fun的最小值和相應(yīng)的x值,X0為x的初始值,fval為返回的函數(shù)值,exitflag=l表示優(yōu)化結(jié)果收斂,exitflag=0表示超過了最大迭代次數(shù)。返回值output有3個分量,其中iterations是優(yōu)化過程中迭代次數(shù),funcCount是代入函數(shù)值的次數(shù),algorithm是優(yōu)化所采用的算法。Options是一個結(jié)構(gòu),里面有控制優(yōu)化過程的各種參數(shù),參考o(jì)ptimset()命令來設(shè)置,一般情況下我們不必改動它,即使用缺省設(shè)置就可以了。例2:求函數(shù)f(x,y)二sin2x+cosy的最小值以及最小值點(diǎn)。完成該計(jì)算的Matlab程序如下:clearfunl='sin(x)+cos(y)'fun2='sin(x(l))+cos(x(2))'ezmesh(funl)[X,fval]=fminsearch(fun2,[0,0])X=-l.5708 3.l4l6fval=-2.0000其中語句ezmesh()是為了畫出函數(shù)的圖形,注意這里funl和fun2的不同,考慮如果用相同的是否可行。命令fminunc()的格式為:X=fminunc(fun,X0)[X,fval,exitflag,output,grad,hessian]=fminunc(fun,X0,options)命令fminunc()通過計(jì)算尋找多變量目標(biāo)函數(shù)fun的最小值,X0為優(yōu)化的初始值,X為返回的變量的值,grad返回解點(diǎn)的梯度,hessian返回解點(diǎn)的赫森矩陣。其它參數(shù)的意義和命令fminsearch()相同。例3:求函數(shù)/(x1,x2)二exi(2x1+3x+2X1x2+3x2+1)的最小值。Matlab程序?yàn)?0clearfun='exp(x(1))*(2*x(1)人2+3*x(2)人2+2*x(1)*x(2)+3*x(2)+1)';x0=[0,0];options=optimset('largescale','off','display','iter','tolx',1e-8,'tolfun',1e-8);[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options)運(yùn)行結(jié)果為:IterationFunc-countf(x)Step-sizeDirectionalderivative1210.2-10280.3694710.134277-0.02033l40.l544l90.459778-0.06964200.l347040.746874-2.28e-0055260.l3296l0.6399l-l.le-0076320.l3296l0.897232-7.32e-009Optimizationterminatedsuccessfully:Currentsearchdirectionisadescentdirection,andmagnitudeofdirectionalderivativeinsearchdirectionlessthan2*options.TolFunx=0.2695-0.5898fval=0.1330exitflag=1output=iterations:6funcCount:33stepsize:1.0000firstorderopt:1.6892e-005algorithm:'medium-scale:Quasi-Newtonlinesearch'grad=1.0e-004*(-0.1689,0.0074)hessian=5.11102.64372.64378.0539本例的程序?qū)?shù)options進(jìn)行了設(shè)置,'largescale','off,關(guān)閉了大規(guī)模方式,'display',用來控制計(jì)算過程的顯示,'iter'表示顯示優(yōu)化過程的每次計(jì)算結(jié)果,'off表示不顯示所有輸出,’final'僅輸出最后結(jié)果,'tolx'用來控制輸入變量x的允許誤差精度,本利設(shè)置為le-8,'tolfun'是控制目標(biāo)函數(shù)的允許誤差精度,缺省值是le-4,本例為le-8。有約束非線性多元變量的優(yōu)化由線性規(guī)劃我們看到優(yōu)化要處理各種約束條件,在非線性規(guī)劃中問題就更加復(fù)雜,除了線性規(guī)劃中的那些約束外,還要增加非線性約束。Matlab的命令函數(shù)fmincon()可以處理有約束的非線性多元函數(shù)的優(yōu)化問題。有約束多變量優(yōu)化問題的數(shù)學(xué)模型為:求一組變量xl,x2,,xn,滿足在給定的約束條件下,使目標(biāo)函數(shù)f(x「x2, ,xn)最小。目標(biāo)函數(shù)一般為非線性函數(shù),約束條件分為線性不等式約束、線性等式約束、變量邊界約束和非線性約束幾部分。除非線性約束外,表示方法與線性規(guī)劃相同。函數(shù)fmincon()的具體格式為:X=fmincon(fun,x0,A,b)X=fmincon(fun,x0,A,b,Aeq,Beq,Lb,Ub)X=fmincon(fun,x0,A,b,Aeq,Beq,Lb,Ub,nonlcon,options)[X,fval,exitflag,output]=fmincon(fUn,xO,...)[X,fval,exitflag,output,lambda,grad,Hessian]=fmincon(fUn,xO,...)參數(shù)中fun為目標(biāo)函數(shù),x0為變量的初始值,x為返回的滿足要求的變量的值。A和b表示線性不等式約束,Aeq,beq表示線性等式約束,Lb和Ub分別為變量的下界和上界約束,nonlcon表示非線性約束條件,options為控制優(yōu)化過程的優(yōu)化參數(shù)向量。返回值fval為目標(biāo)函數(shù)。exitflag>0表示優(yōu)化結(jié)果收斂于解,exitflag=0表示優(yōu)化超過了函數(shù)值的計(jì)算次數(shù),exitflag<0表示優(yōu)化不收斂。lambda是拉格朗日乘子,顯示那個約束條件有效。grad表示梯度,hessian表示漢森矩陣。例4:求[X],X2],使得目標(biāo)函數(shù)f(X],J)二3(4叮+2X;+牡"+2X2+1)在約束條件1.5+X1*x-X1-x2<0,-X1*x2<10下取得最小值。我們設(shè)計(jì)的程序如下:先把目標(biāo)函數(shù)和約束條件分別編寫成獨(dú)立的m文件,注意,這樣的m文件必須用function開頭,并且文件名一定要和函數(shù)名一致。目標(biāo)函數(shù)的文件為:functionf=objfun(x)f=exp(x(l))*(4*x(l)人2+2*x(2)人2+4*x(l)*x(2)+2*x(2)+l);約束條件的文件為:function[c,ceq]=confun(x)c=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];ceq=[];接著,編寫完成優(yōu)化的程序如下:clearx0=[-11];options=optimset('largescale','off','display','iter');[x,fval,exitflag,output]=fmincon(@objfun,x0,[],[],[],[],[],[],@confun,options)運(yùn)行結(jié)果為:maxDirectionalIterF-countf(x)constraintStep-sizederivativeProcedure131.83940.510.0486271.85127-0.091971-0.556Hessianmodifiedtwice3110.3001679.3310.174150.5298340.92091-0.9655200.186965-1.5170.5-0.1686240.07290850.33131-0.05187280.0353322-0.033031-0.01428320.02355660.0031841-6.22e-0069360.02355049.032e-00811.76e-010HessianmodifiedOptimizationterminatedsuccessfully:Searchdirectionlessthan2*options.TolXandmaximumconstraintviolationislessthanoptions.TolConActiveConstraints:12x=-9.54741.0474fval=0.0236exitflag=1output=iterations:9funcCount:38stepsize:1algorithm:'medium-scale:SQP,Quasi-Newton,line-search'firstorderopt:[]cgiterations:[]例5:在上例的基礎(chǔ)上,再加上邊界約束條件,即加上X1工0,x2工0,則我們僅需要修改上面的第三個程序?yàn)椋篶learx0=[-11];lb=[0,0];ub=[];options=optimset('largescale','off','display','iter');[x,fval,exitflag,output]=fmincon(@objfun,x0,[],[],[],[],lb,ub,@confun,options)現(xiàn)在得到的結(jié)果為:maxDirectionalIterF-countf(x)constraintStep-sizederivativeProcedure135.00090.513278.50041.355e-0201-0.0004
3118.53.04e-01312.43e-012HessianmodifiedOptimizationterminatedsuccessfully:Searchdirectionlessthan2*options.TolXandmaximumconstraintviolationislessthanoptions.TolConActiveConstraints:13x=01.5000fval=8.5000exitflag=1output=iterations:3funcCount:13stepsize:1algorithm:'medium-scale:SQP,Quasi-Newton,line-search'firstorderopt:[]cgiterations:[]三、實(shí)驗(yàn)內(nèi)容1.將例1中x的范圍改為[-5,5]你將得到怎
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025儲備土地臨時利用合同書
- 2025年建筑工程《土地使用權(quán)轉(zhuǎn)讓合同》
- 香港房屋租賃合同范本
- 社區(qū)服務(wù)協(xié)議
- 個人無息借款協(xié)議書范本
- 經(jīng)營合作合同
- 涉車輛房產(chǎn)分割離婚協(xié)議書
- 2025年預(yù)付式消費(fèi)合同的法律規(guī)范與監(jiān)管
- 2025有限責(zé)任公司股權(quán)轉(zhuǎn)讓合同范本「」
- 安全生產(chǎn)協(xié)議書租房
- 司法雇員考試題目及答案
- 2025年03月廣西玉林博白縣總工會社會化工會工作者13人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- GB/T 37133-2025電動汽車用高壓連接系統(tǒng)
- 2024年榆林市榆陽區(qū)公立醫(yī)院招聘考試真題
- Unit 2 Go for it!Understanding ideas教學(xué)設(shè)計(jì) -2024-2025學(xué)年外研版(2024)七年級英語下冊
- 電纜橋架國標(biāo)10216-2013
- 管理學(xué)基礎(chǔ)-形考任務(wù)一-國開-參考資料
- 體育體感游戲創(chuàng)業(yè)計(jì)劃
- 法律實(shí)務(wù)案例分析卷集及參考答案解析
- 小學(xué)生風(fēng)電知識科普課件
- 建筑施工各崗位安全生產(chǎn)責(zé)任書標(biāo)準(zhǔn)范本
評論
0/150
提交評論