版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
最優(yōu)化問(wèn)題的Matlab求解數(shù)學(xué)規(guī)劃的一般模型
x~決策變量f(x)~目標(biāo)函數(shù)gi(x)0~約束條件1、解析解法和圖解法無(wú)約束最優(yōu)化例:用解析法求解以下函數(shù)的最小值>>symst;
y=exp(-3*t)*sin(4*t+2)+4*exp(-0.5*t)*cos(2*t)-0.5;ezplot(y,[04])y1=diff(y);ezplot(y1,[04])t0=solve(y1)y2=diff(y1);b=subs(y2,t,t0)2、數(shù)值解法命令形式2:x=fminunc(fun,x0)%簡(jiǎn)單形式[x,f,flag,out]=fminunc(fun,x0,opt,p1,p2,…)%一般形式功能:與fsolve()中的參數(shù)控制形式類似。命令形式1:x=fminsearch(fun,x0)%簡(jiǎn)單形式[x,f,flag,out]=fminsearch(fun,x0,opt,p1,p2,…)%一般形式功能:與fsolve()中的參數(shù)控制形式類似。注:若函數(shù)是多元的,要表達(dá)成向量的形式。例:>>f=inline('(x(1)^2-2*x(1))*exp(-x(1)^2-x(2)^2-(1)*x(2))','x');x0=[0,0];ff=optimset;ff.Display='iter';x=fminsearch(f,x0,ff)>>x=fminunc(f,x0,ff)基本用法:x=fminunc(@fun,x0)x=fminunc(@fun,x0,options,P1,P2,...)fun.m~f(x)的m文件名x0~初始點(diǎn);x
~最優(yōu)解P1,P2,…~傳給fun的參數(shù)中間輸入項(xiàng)缺省用[]占據(jù)位置functiony=fun071(x,a,b)y=x(1)^2/a+x(2)^2/b;x0=[1,1];a=2;b=2;x=fminunc(@fun071,x0,[],a,b)X=(0,0)3、全局最優(yōu)解和局部最優(yōu)解例:>>f=inline('exp(-2*t)*cos(10*t)+exp(-3*(t+2))*sin(2*t)','t');t0=1;[t1,f1]=fminsearch(f,t0)>>t0=0.1;[t2,f2]=fminsearch(f,t0)t2=0.29445312500000,f2=-0.54362463738706目標(biāo)函數(shù):
約束條件:約束最優(yōu)化1、線性規(guī)劃目標(biāo)函數(shù):
約束條件:其中:價(jià)值向量
資源向量
決策變量向量
目標(biāo)函數(shù):
約束條件:命令形式2:
[X,f,flag,c]=linprog(C,A,b,Aeq,Beq,xm,xM,x0,opt)功能:各個(gè)參數(shù)的解釋如前,若各個(gè)約束條件不存在,則用空矩陣來(lái)代替。例:>>c=[-2,-1,-4,-3,-1];A=[02142;345-1-1];b=[54;62];Ae=[];Be=[];xm=[0,0,3.32,0.678,2.57];ff=optimset;ff.LargeScale=‘off’;%是否采用大規(guī)模算法ff.TolX=1e-15;%解的控制精度f(wàn)f.Display=‘iter’;%顯示信息的級(jí)別[X,f,flag,c]=linprog(c,A,b,Ae,Be,xm,[],[],ff)目標(biāo)函數(shù):
約束條件:2、二次規(guī)劃命令形式:
[X,f,flag,c]=quadprog(H,C,A,b,Aeq,Beq,xm,xM,x0,opt)功能:各個(gè)參數(shù)的解釋如前,若各個(gè)約束條件不存在,則用空矩陣來(lái)代替。例:求解>>H=[4,-4;-4,8];C=[-6,-3];A=[1,1;4,1];b=[3;9];Ae=[];Be=[];ff=optimset;ff.LargeScale='off';ff.TolX=1e-15;ff.Display='iter';[X,f,flag,c]=quadprog(H,C,A,b,Ae,Be,zeros(2,1),ff)
定義
如果目標(biāo)函數(shù)或約束條件中至少有一個(gè)是非線性函數(shù)時(shí)的最優(yōu)化問(wèn)題就叫做非線性規(guī)劃問(wèn)題.
一般形式:
(1)其中,是定義在En上的實(shí)值函數(shù),簡(jiǎn)記:
其它情況:
求目標(biāo)函數(shù)的最大值或約束條件為大于等于零的情況,都可通過(guò)取其相反數(shù)化為上述一般形式.非線性規(guī)劃
其中X為n維變?cè)蛄?,G(X)與Ceq(X)均為非線性函數(shù)組成的向量,其它變量的含義與線性規(guī)劃、二次規(guī)劃中相同.(1)間接法
(2)直接法
直接搜索法以梯度法為基礎(chǔ)的間接法非線性規(guī)劃的求解算法間接法
在非線性最優(yōu)化問(wèn)題當(dāng)中,如果目標(biāo)函數(shù)能以解析函數(shù)表示,可行域由不等式約束確定,則可以利用目標(biāo)函數(shù)和可行域的已知性質(zhì),在理論上推導(dǎo)出目標(biāo)函數(shù)為最優(yōu)值的必要條件,這種方法就稱為間接法(也稱為解析法)。一般要用到目標(biāo)函數(shù)的導(dǎo)數(shù)。直接法
直接法是一種數(shù)值方法。這種方法的基本思想是迭代,通過(guò)迭代產(chǎn)生一個(gè)點(diǎn)序列{X(k)},使之逐步接近最優(yōu)點(diǎn)。只用到目標(biāo)函數(shù)。如黃金分割法、Fibonacci、隨機(jī)搜索法。迭代法一般步驟注意:數(shù)值求解最優(yōu)化問(wèn)題的計(jì)算效率取決于確定搜索方向P
(k)和步長(zhǎng)的效率。最速下降法(steepestdescentmethod)由法國(guó)數(shù)學(xué)家Cauchy于1847年首先提出。在每次迭代中,沿最速下降方向(負(fù)梯度方向)進(jìn)行搜索,每步沿負(fù)梯度方向取最優(yōu)步長(zhǎng),因此這種方法稱為最優(yōu)梯度法。特點(diǎn):方法簡(jiǎn)單,只以一階梯度的信息確定下一步的搜索方向,收斂速度慢;越是接近極值點(diǎn),收斂越慢;它是其它許多無(wú)約束、有約束最優(yōu)化方法的基礎(chǔ)。該法一般用于最優(yōu)化開(kāi)始的幾步搜索。最速下降法算法:
1.首先建立M文件fun.m,定義目標(biāo)函數(shù)F(X):functionf=fun(X);f=F(X);用Matlab求解上述問(wèn)題,基本步驟分三步: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(‘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(...)輸出極值點(diǎn)M文件迭代的初值參數(shù)說(shuō)明變量上下限輸入?yún)?shù)的幾點(diǎn)說(shuō)明模型中如果沒(méi)有A,b,Aeq,beq,VLB,VUB的限制,則以空矩陣[]作為參數(shù)傳入;nonlcon:如果包含非線性等式或不等式約束,則將這些函數(shù)編寫(xiě)一個(gè)Matlab函數(shù)
nonlcon就是定義這些函數(shù)的程序文件名;不等式約束G(x)<=0等式約束Ceq(x)=0.如果nonlcon=‘mycon’;則myfun.m定義如下function[G,Ceq]=mycon(x)
G=...
%計(jì)算非線性不等式約束在點(diǎn)x處的函數(shù)值Ceq=...
%計(jì)算非線性等式約束在點(diǎn)x處的函數(shù)值
對(duì)參數(shù)nonlcon的進(jìn)一步示例2個(gè)不等式約束,2個(gè)等式約束3個(gè)決策變量x1,x2,x3如果nonlcon以‘mycon1’作為參數(shù)值,則程序mycon1.m如下對(duì)照約束條件編寫(xiě)myfun1.mfunction[G,Ceq]=mycon1(x)G(1)=x(1)*x(1)+x(2)*x(2)+x(3)*x(3)-100G(2)=60-x(1)*x(1)+10*x(3)*x(3)Ceq(1)=x(1)+x(2)*x(2)+x(3)-80Ceq(2)=x(1)^3+x(2)*x(2)+x(3)-80注意:[1]fmincon函數(shù)提供了大型優(yōu)化算法和中型優(yōu)化算法。默認(rèn)時(shí),若在fun函數(shù)中提供了梯度(options參數(shù)的GradObj設(shè)置為’on’),并且只有上下界存在或只有等式約束,fmincon函數(shù)將選擇大型算法。當(dāng)既有等式約束又有梯度約束時(shí),使用中型算法。[2]fmincon函數(shù)可能會(huì)給出局部最優(yōu)解,這與初值X0的選取有關(guān)。1、寫(xiě)成標(biāo)準(zhǔn)形式:
s.t.
2x1+3x26s.tx1+4x25x1,x20例2、先建立M-文件fun3.m:
functionf=fun3(x);f=-x(1)-2*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^23、再建立主程序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、運(yùn)算結(jié)果為:
x=0.76471.0588fval=-2.02941.先建立M文件fun4.m,定義目標(biāo)函數(shù):
functionf=fun4(x);f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);x1+x2=0s.t.1.5+x1x2-x1-x20-x1x2–10
0例2.再建立M文件mycon.m定義非線性約束:
function[g,ceq]=mycon(x)g=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];ceq=[];3.主程序?yàn)?x0=[-1;1];A=[];b=[];Aeq=[11];beq=0;vlb=[];vub=[];[x,fval]=fmincon('fun4',x0,A,b,Aeq,beq,vlb,vub,'mycon')3.運(yùn)算結(jié)果為:
x=-1.22501.2250fval=1.8951非負(fù)條件下線性最小二乘lsqnonneg
適合如下模型:
注意:約束只有非負(fù)約束語(yǔ)法:x=lsqnonneg(c,d)x=lsqnonneg(c,d,x0)x=lsqnonneg(c,d,x0,options)
語(yǔ)法:x=lsqlin(C,d,A,b)x=lsqlin(C,d,A,b,Aeq,beq)x=lsqlin(C,d,A,b,Aeq,beq,lb,ub)x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options)[x,resnorm]=lsqlin(...)[x,resnorm,residual]=lsqlin(...)[x,resnorm,residual,exitflag]=lsqlin(...)[x,resnorm,residual,exitflag,output]=lsqlin(...)[x,resnorm,residual,exitflag,output,lambda]=lsqlin(...)非線性最小二乘lsqnonlin
適合模型:語(yǔ)法:x=lsqnonlin(fun,x0)x=lsqnonlin(fun,x0,lb,ub)x=lsqnonlin(fun,x0,lb,ub,options)x=lsqnonlin(fun,x0,options,P1,P2,...)[x,resnorm]=lsqnonlin(...)[x,resnorm,residual]=lsqnonlin(...)[x,resnorm,residual,exitfla
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年財(cái)務(wù)實(shí)習(xí)生試用期合同3篇
- 2024年度底商租賃合同(含租賃物租賃用途及限制)3篇
- 2025版智能家居與智能安防個(gè)人住宅裝修合同3篇
- 2025年學(xué)校土地租賃合作開(kāi)發(fā)管理協(xié)議書(shū)3篇
- 2025年度智能家居商品房買賣合同8篇
- 2025年CH自動(dòng)監(jiān)測(cè)儀項(xiàng)目建議書(shū)
- 2025版工地鋼筋綠色認(rèn)證采購(gòu)合同范本3篇
- 二零二五年度企業(yè)經(jīng)營(yíng)貸款擔(dān)保三方協(xié)議3篇
- 成都信息工程大學(xué)《書(shū)法基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度高性能PVC管道材料采購(gòu)與銷售合作協(xié)議2篇
- 2024至2030年中國(guó)無(wú)糖壓縮餅干行業(yè)市場(chǎng)全景監(jiān)測(cè)及投資策略研究報(bào)告
- 食品安全追溯管理體系制度
- 辦公家具采購(gòu)?fù)稑?biāo)方案(投標(biāo)書(shū)+技術(shù)方案)
- 律所之間轉(zhuǎn)委托合同范本
- 2023年湖南省普通高等學(xué)校對(duì)口招生考試機(jī)電類專業(yè)綜合知識(shí)試題附答題卡
- 2024年人教版初一信息技術(shù)上冊(cè)期末考試卷(附答案)
- 高密度聚乙烯外保護(hù)管聚氨酯發(fā)泡塑料預(yù)制直埋保溫管標(biāo)準(zhǔn)
- 【中考真題】四川省廣安市2024年中考語(yǔ)文真題試卷(含答案)
- 水性聚氨酯生產(chǎn)加工項(xiàng)目規(guī)劃設(shè)計(jì)方案
- 2024新版高考志愿填報(bào)協(xié)議書(shū)
- 園林綠化工程分部(子分部)工程、分項(xiàng)工程劃分
評(píng)論
0/150
提交評(píng)論