資源描述:
《非線性規(guī)劃與MATLAB.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在PPT專區(qū)-天天文庫。
1、數(shù)學(xué)建模與數(shù)學(xué)實(shí)驗(yàn)后勤工程學(xué)院數(shù)學(xué)教研室非線性規(guī)劃1實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)內(nèi)容2、掌握用數(shù)學(xué)軟件求解優(yōu)化問題。1、直觀了解非線性規(guī)劃的基本內(nèi)容。1、非線性規(guī)劃的基本理論。4、實(shí)驗(yàn)作業(yè)。2、用數(shù)學(xué)軟件求解非線性規(guī)劃。3、鋼管訂購(gòu)及運(yùn)輸優(yōu)化模型2*非線性規(guī)劃的基本解法非線性規(guī)劃的基本概念非線性規(guī)劃返回3定義如果目標(biāo)函數(shù)或約束條件中至少有一個(gè)是非線性函數(shù)時(shí)的最優(yōu)化問題就叫做非線性規(guī)劃問題.非現(xiàn)性規(guī)劃的基本概念一般形式:(1)其中,是定義在En上的實(shí)值函數(shù),簡(jiǎn)記:其它情況:求目標(biāo)函數(shù)的最大值或約束條件為小于等于零的情況,都可通過取其相反數(shù)化為上述一般形
2、式.4定義1把滿足問題(1)中條件的解稱為可行解(或可行點(diǎn)),所有可行點(diǎn)的集合稱為可行集(或可行域).記為D.即問題(1)可簡(jiǎn)記為.定義2對(duì)于問題(1),設(shè),若存在,使得對(duì)一切,且,都有,則稱X*是f(X)在D上的局部極小值點(diǎn)(局部最優(yōu)解).特別地當(dāng)時(shí),若,則稱X*是f(X)在D上的嚴(yán)格局部極小值點(diǎn)(嚴(yán)格局部最優(yōu)解).定義3對(duì)于問題(1),設(shè),對(duì)任意的,都有則稱X*是f(X)在D上的全局極小值點(diǎn)(全局最優(yōu)解).特別地當(dāng)時(shí),若,則稱X*是f(X)在D上的嚴(yán)格全局極小值點(diǎn)(嚴(yán)格全局最優(yōu)解).返回5非線性規(guī)劃的基本解法SUTM外點(diǎn)法SUTM
3、內(nèi)點(diǎn)法(障礙罰函數(shù)法)1、罰函數(shù)法2、近似規(guī)劃法返回6罰函數(shù)法罰函數(shù)法基本思想是通過構(gòu)造罰函數(shù)把約束問題轉(zhuǎn)化為一系列無約束最優(yōu)化問題,進(jìn)而用無約束最優(yōu)化方法去求解.這類方法稱為序列無約束最小化方法.簡(jiǎn)稱為SUMT法.其一為SUMT外點(diǎn)法,其二為SUMT內(nèi)點(diǎn)法.7其中T(X,M)稱為罰函數(shù),M稱為罰因子,帶M的項(xiàng)稱為罰項(xiàng),這里的罰函數(shù)只對(duì)不滿足約束條件的點(diǎn)實(shí)行懲罰:當(dāng)時(shí),滿足各,故罰項(xiàng)=0,不受懲罰.當(dāng)時(shí),必有的約束條件,故罰項(xiàng)>0,要受懲罰.SUTM外點(diǎn)法8罰函數(shù)法的缺點(diǎn)是:每個(gè)近似最優(yōu)解Xk往往不是容許解,而只能近似滿足約束,在實(shí)際
4、問題中這種結(jié)果可能不能使用;在解一系列無約束問題中,計(jì)算量太大,特別是隨著Mk的增大,可能導(dǎo)致錯(cuò)誤.1、任意給定初始點(diǎn)X0,取M1>1,給定允許誤差,令k=1;2、求無約束極值問題的最優(yōu)解,設(shè)為Xk=X(Mk),即;3、若存在,使,則取Mk>M()令k=k+1返回(2),否則,停止迭代.得最優(yōu)解.計(jì)算時(shí)也可將收斂性判別準(zhǔn)則改為.SUTM外點(diǎn)法(罰函數(shù)法)的迭代步驟9SUTM內(nèi)點(diǎn)法(障礙函數(shù)法)10內(nèi)點(diǎn)法的迭代步驟11近似規(guī)劃法的基本思想:將問題(3)中的目標(biāo)函數(shù)和約束條件近似為線性函數(shù),并對(duì)變量的取值范圍加以限制,從而得到一個(gè)近似線性
5、規(guī)劃問題,再用單純形法求解之,把其符合原始條件的最優(yōu)解作為(3)的解的近似.近似規(guī)劃法每得到一個(gè)近似解后,都從這點(diǎn)出發(fā),重復(fù)以上步驟.這樣,通過求解一系列線性規(guī)劃問題,產(chǎn)生一個(gè)由線性規(guī)劃最優(yōu)解組成的序列,經(jīng)驗(yàn)表明,這樣的序列往往收斂于非線性規(guī)劃問題的解。12近似規(guī)劃法的算法步驟如下13返回14用MATLAB軟件求解,其輸入格式如下:1.x=quadprog(H,C,A,b);2.x=quadprog(H,C,A,b,Aeq,beq);3.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB);4.x=quadprog(
6、H,C,A,b,Aeq,beq,VLB,VUB,X0);5.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB,X0,options);6.[x,fval]=quaprog(...);7.[x,fval,exitflag]=quaprog(...);8.[x,fval,exitflag,output]=quaprog(...);1、二次規(guī)劃15例1minf(x1,x2)=-2x1-6x2+x12-2x1x2+2x22s.t.x1+x2≤2-x1+2x2≤2x1≥0,x2≥0MATLAB(youh1)1、寫成標(biāo)準(zhǔn)形式:
7、2、輸入命令:H=[1-1;-12];c=[-2;-6];A=[11;-12];b=[2;2];Aeq=[];beq=[];VLB=[0;0];VUB=[];[x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB)3、運(yùn)算結(jié)果為:x=0.66671.3333z=-8.2222s.t.161.首先建立M文件fun.m,定義目標(biāo)函數(shù)F(X):functionf=fun(X);f=F(X);2、一般非線性規(guī)劃其中X為n維變?cè)蛄?,G(X)與Ceq(X)均為非線性函數(shù)組成的向量,其它變量的含義與線性規(guī)劃、二次規(guī)劃中相同.
8、用Matlab求解上述問題,基本步驟分三步:173.建立主程序.非線性規(guī)劃求解的函數(shù)是fmincon,命令的基本格式如下:(1)x=fmincon(‘fun’,X0,A,b)(2)x=fmincon(‘fun’,X0,A