matlab非線性規(guī)劃教程

matlab非線性規(guī)劃教程

ID:9882989

大?。?17.51 KB

頁數(shù):0頁

時間:2018-05-12

matlab非線性規(guī)劃教程_第頁
預覽圖正在加載中,預計需要20秒,請耐心等待
資源描述:

《matlab非線性規(guī)劃教程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、非線性規(guī)劃實驗目的實驗內(nèi)容2、掌握用數(shù)學軟件求解優(yōu)化問題。1、直觀了解非線性規(guī)劃的基本內(nèi)容。1、非線性規(guī)劃的基本理論。4、實驗作業(yè)。2、用數(shù)學軟件求解非線性規(guī)劃。3、鋼管訂購及運輸優(yōu)化模型*非線性規(guī)劃的基本解法非線性規(guī)劃的基本概念非線性規(guī)劃返回定義如果目標函數(shù)或約束條件中至少有一個是非線性函數(shù)時的最優(yōu)化問題就叫做非線性規(guī)劃問題.非線性規(guī)劃的基本概念一般形式:(1)其中,是定義在En上的實值函數(shù),簡記:其它情況:求目標函數(shù)的最大值或約束條件為小于等于零的情況,都可通過取其相反數(shù)化為上述一般形式.計算機求解方法1.首先建立M文件fun

2、.m,定義目標函數(shù)F(X):functionf=fun(X);f=F(X);其中X為n維變元向量,G(X)與Ceq(X)均為非線性函數(shù)組成的向量,其它變量的含義與線性規(guī)劃、二次規(guī)劃中相同.用Matlab求解上述問題,基本步驟分三步:3.建立主程序.非線性規(guī)劃求解的函數(shù)是fmincon,命令的基本格式如下:(1)x=fmincon(‘fun’,X0,A,b)(2)x=fmincon(‘fun’,X0,A,b,Aeq,beq)(3)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB)(4)x=fmincon(

3、‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’)(5)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’,options)(6)[x,fval]=fmincon(...)(7)[x,fval,exitflag]=fmincon(...)(8)[x,fval,exitflag,output]=fmincon(...)輸出極值點M文件迭代的初值參數(shù)說明變量上下限注意:[1]fmincon函數(shù)提供了大型優(yōu)化算法和中型優(yōu)化算法。默認時,若在fun函數(shù)中提供了梯度(

4、options參數(shù)的GradObj設置為’on’),并且只有上下界存在或只有等式約束,fmincon函數(shù)將選擇大型算法。當既有等式約束又有梯度約束時,使用中型算法。[2]fmincon函數(shù)的中型算法使用的是序列二次規(guī)劃法。在每一步迭代中求解二次規(guī)劃子問題,并用BFGS法更新拉格朗日Hessian矩陣。[3]fmincon函數(shù)可能會給出局部最優(yōu)解,這與初值X0的選取有關(guān)。1、寫成標準形式:s.t.2x1+3x26s.tx1+4x25x1,x20例22、先建立M-文件fun3.m:functionf=fun3(x);f=-x(1)-2

5、*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^2MATLAB(youh2)3、再建立主程序youh2.m:x0=[1;1];A=[23;14];b=[6;5];Aeq=[];beq=[];VLB=[0;0];VUB=[];[x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,VLB,VUB)4、運算結(jié)果為:x=0.76471.0588fval=-2.02941.先建立M文件fun4.m,定義目標函數(shù):functionf=fun4(x);f=exp(x(1))*(4*x(1)^2+2*x(2)^

6、2+4*x(1)*x(2)+2*x(2)+1);x1+x2=0s.t.1.5+x1x2-x1-x20-x1x2–100例32.再建立M文件mycon.m定義非線性約束:function[g,ceq]=mycon(x)g=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];3.主程序youh3.m為:x0=[-1;1];A=[];b=[];Aeq=[11];beq=[0];vlb=[];vub=[];[x,fval]=fmincon('fun4',x0,A,b,Aeq,beq,vlb,vub,'mycon

7、')MATLAB(youh3)3.運算結(jié)果為:x=-1.22501.2250fval=1.8951例41.先建立M-文件fun.m定義目標函數(shù):functionf=fun(x);f=-2*x(1)-x(2);2.再建立M文件mycon2.m定義非線性約束:function[g,ceq]=mycon2(x)g=[x(1)^2+x(2)^2-25;x(1)^2-x(2)^2-7];3.主程序fxx.m為:x0=[3;2.5];VLB=[00];VUB=[510];[x,fval,exitflag,output]=fmincon('fu

8、n',x0,[],[],[],[],VLB,VUB,'mycon2')MATLAB(fxx(fun))4.運算結(jié)果為:x=4.00003.0000fval=-11.0000exitflag=1output=iterations:4funcCount

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。