matlab優(yōu)化工具箱使用方法_第1頁
matlab優(yōu)化工具箱使用方法_第2頁
matlab優(yōu)化工具箱使用方法_第3頁
matlab優(yōu)化工具箱使用方法_第4頁
matlab優(yōu)化工具箱使用方法_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

matlab優(yōu)化工具箱使用方法演示文稿目前一頁\總數(shù)七十二頁\編于十四點(diǎn)功能:找到固定區(qū)間內(nèi)單變量函數(shù)的最小值。語法和描述:fminbnd求取固定區(qū)間內(nèi)單變量函數(shù)的最小值。x=fminbnd(fun,x1,x2)返回區(qū)間{x1,x2}上fun參數(shù)描述的標(biāo)量函數(shù)的最小值x。x=fminbnd(fun,x1,x2,options)用options參數(shù)指定的優(yōu)化參數(shù)進(jìn)行最小化。fminbnd2目前二頁\總數(shù)七十二頁\編于十四點(diǎn)x=fminbnd(fun,x1,x2,options,P1,P2,...)提供另外的參數(shù)P1,P2等,傳輸給目標(biāo)函數(shù)fun。如果沒有設(shè)置options選項(xiàng),則令options=[]。[x,fval]=fminbnd(...)返回解x處目標(biāo)函數(shù)的值。[x,fval,exitflag]=fminbnd(...)返回exitflag值描述fminbnd函數(shù)的退出條件。[x,fval,exitflag,output]=fminbnd(...)返回包含優(yōu)化信息的結(jié)構(gòu)輸出。3目前三頁\總數(shù)七十二頁\編于十四點(diǎn)參數(shù)描述表參數(shù)描述fun需要最小化的目標(biāo)函數(shù)。fun函數(shù)需要輸入標(biāo)量參數(shù)x,返回x處的目標(biāo)函數(shù)標(biāo)量值f??梢詫un函數(shù)指定為命令行,如

x=fminbnd(inline('sin(x*x)'),x0)同樣,fun參數(shù)可以是一個(gè)包含函數(shù)名的字符串。對(duì)應(yīng)的函數(shù)可以是M文件、內(nèi)部函數(shù)或MEX文件。若fun='myfun',則M文件函數(shù)myfun.m必須右下面的形式。

functionf=myfun(x)f=...%計(jì)算x處的函數(shù)值。4目前四頁\總數(shù)七十二頁\編于十四點(diǎn)options優(yōu)化參數(shù)選項(xiàng)。你可以用optimset函數(shù)設(shè)置或改變這些參數(shù)的值。options參數(shù)有以下幾個(gè)選項(xiàng):●Display–

顯示的水平。選擇'off',不顯示輸出;選擇'iter',顯示每一步迭代過程的輸出;選擇'final',顯示最終結(jié)果。●MaxFunEvals–

函數(shù)評(píng)價(jià)的最大允許次數(shù)。l

MaxIter–

最大允許迭代次數(shù)。l

TolX–x處的終止容限。5目前五頁\總數(shù)七十二頁\編于十四點(diǎn)exitflag描述退出條件:l

>0表示目標(biāo)函數(shù)收斂于解x處。l

0表示已經(jīng)達(dá)到函數(shù)評(píng)價(jià)或迭代的最大次數(shù)。l

<0表示目標(biāo)函數(shù)不收斂。output該參數(shù)包含下列優(yōu)化信息:l

output.iterations–

迭代次數(shù)。l

output.algorithm–

所采用的算法。l

output.funcCount–

函數(shù)評(píng)價(jià)次數(shù)。6目前六頁\總數(shù)七十二頁\編于十四點(diǎn)算法:fminbnd是一個(gè)M文件。其算法基于黃金分割法和二次插值法。局限性:1.目標(biāo)函數(shù)必須是連續(xù)的。2.fminbnd函數(shù)可能只給出局部最優(yōu)解。3.當(dāng)問題的解位于區(qū)間邊界上時(shí),fminbnd函數(shù)的收斂速度常常很慢。此時(shí),fmincon函數(shù)的計(jì)算速度更快,計(jì)算精度更高。4.fminbnd函數(shù)只用于實(shí)數(shù)變量。7目前七頁\總數(shù)七十二頁\編于十四點(diǎn)應(yīng)用實(shí)例

[例1]

在區(qū)間(0,2π)上求函數(shù)sin(x)的最小值:>>x=fminbnd(@sin,0,2*pi)x=4.71248目前八頁\總數(shù)七十二頁\編于十四點(diǎn)[例2].對(duì)邊長(zhǎng)為3m的正方形鐵板,在四個(gè)角處剪去相等的正方形以制成方形無蓋水槽,問如何剪法使水槽的容積最大?模型建立:假設(shè)剪去的正方形的邊長(zhǎng)為x,則水槽的容積為現(xiàn)在要求在區(qū)間(0,1.5)上確定一個(gè)x,使最大化。因?yàn)閮?yōu)化工具箱中要求目標(biāo)函數(shù)最小化,所以需要對(duì)目標(biāo)函數(shù)進(jìn)行轉(zhuǎn)換,即要求最小化。9目前九頁\總數(shù)七十二頁\編于十四點(diǎn)首先編寫M文件opt21_3o.m:functionf=myfun(x)f=-(3-2*x).^2*x;然后調(diào)用fminbnd函數(shù)(磁盤中M文件名為opt21_3.m):x=fminbnd(@opt21_3o,0,1.5)10目前十頁\總數(shù)七十二頁\編于十四點(diǎn)無約束非線性規(guī)劃問題相關(guān)函數(shù)fminunc函數(shù)fminsearch函數(shù)11目前十一頁\總數(shù)七十二頁\編于十四點(diǎn)fminunc函數(shù)功能:給定初值,求多變量標(biāo)量函數(shù)的最小值。常用于無約束非線性最優(yōu)化問題。

數(shù)學(xué)模型:

其中,x為一向量,f(x)為一函數(shù),返回標(biāo)量。12目前十二頁\總數(shù)七十二頁\編于十四點(diǎn)語法格式及描述

x=fminunc(fun,x0)給定初值x0,求fun函數(shù)的局部極小點(diǎn)x。x0可以是標(biāo)量、向量或矩陣。x=fminunc(fun,x0,options)用options參數(shù)中指定的優(yōu)化參數(shù)進(jìn)行最小化。x=fminunc(fun,x0,options,P1,P2,...)將問題參數(shù)p1、p2等直接輸給目標(biāo)函數(shù)fun,將options參數(shù)設(shè)置為空矩陣,作為options參數(shù)的缺省值。13目前十三頁\總數(shù)七十二頁\編于十四點(diǎn)[x,fval]=fminunc(...)將解x處目標(biāo)函數(shù)的值返回到fval參數(shù)中。[x,fval,exitflag]=fminunc(...)返回exitflag值,描述函數(shù)的輸出條件。[x,fval,exitflag,output]=fminunc(...)返回包含優(yōu)化信息的結(jié)構(gòu)輸出。[x,fval,exitflag,output,grad]=fminunc(...)將解x處fun函數(shù)的梯度值返回到grad參數(shù)中。[x,fval,exitflag,output,grad,hessian]=fminunc(...)將解x處目標(biāo)函數(shù)的Hessian矩陣信息返回到hessian參數(shù)中。14目前十四頁\總數(shù)七十二頁\編于十四點(diǎn)參數(shù)描述表變量描述fun為目標(biāo)函數(shù)。需要最小化的目標(biāo)函數(shù)。fun函數(shù)需要輸入標(biāo)量參數(shù)x,返回x處的目標(biāo)函數(shù)標(biāo)量值f。若fun='myfun',則M文件函數(shù)myfun.m必須有下面的形式:

functionf=myfun(x)f=...%計(jì)算x處的函數(shù)值。15目前十五頁\總數(shù)七十二頁\編于十四點(diǎn)options優(yōu)化參數(shù)選項(xiàng)。可以通過optimset函數(shù)設(shè)置或改變這些參數(shù)。其中有的參數(shù)適用于所有的優(yōu)化算法,有的則只適用于大型優(yōu)化問題,另外一些則只適用于中型問題。首先描述適用于大型問題的選項(xiàng)。這僅僅是一個(gè)參考,因?yàn)槭褂么笮蛦栴}算法有一些條件。對(duì)于fminunc函數(shù)來說,必須提供梯度信息。l

LargeScale–

當(dāng)設(shè)為'on'時(shí)使用大型算法,若設(shè)為'off'則使用中型問題的算法。16目前十六頁\總數(shù)七十二頁\編于十四點(diǎn)適用于大型和中型算法的參數(shù):lDiagnostics–打印最小化函數(shù)的診斷信息。lDisplay–顯示水平。選擇'off',不顯示輸出;選擇'iter',顯示每一步迭代過程的輸出;選擇'final',顯示最終結(jié)果。打印最小化函數(shù)的診斷信息。lGradObj–用戶定義的目標(biāo)函數(shù)的梯度。對(duì)于大型問題此參數(shù)是必選的,對(duì)于中型問題則是可選項(xiàng)。lMaxFunEvals–函數(shù)評(píng)價(jià)的最大次數(shù)。lMaxIter–最大允許迭代次數(shù)。lTolFun–函數(shù)值的終止容限。lTolX–x處的終止容限。17目前十七頁\總數(shù)七十二頁\編于十四點(diǎn)只用于大型算法的參數(shù):lHessian–用戶定義的目標(biāo)函數(shù)的Hessian矩陣。lHessPattern–用于有限差分的Hessian矩陣的稀疏形式。若不方便求fun函數(shù)的稀疏Hessian矩陣H,可以通過用梯度的有限差分獲得的H的稀疏結(jié)構(gòu)(如非零值的位置等)來得到近似的Hessian矩陣H。若連矩陣的稀疏結(jié)構(gòu)都不知道,則可以將HessPattern設(shè)為密集矩陣,在每一次迭代過程中,都將進(jìn)行密集矩陣的有限差分近似(這是缺省設(shè)置)。這將非常麻煩,所以花一些力氣得到Hessian矩陣的稀疏結(jié)構(gòu)還是值得的。18目前十八頁\總數(shù)七十二頁\編于十四點(diǎn)lMaxPCGIter–PCG迭代的最大次數(shù)。lPrecondBandWidth–PCG前處理的上帶寬,缺省時(shí)為零。對(duì)于有些問題,增加帶寬可以減少迭代次數(shù)。lTolPCG–PCG迭代的終止容限。lTypicalX–典型x值。只用于中型算法的參數(shù):lDerivativeCheck–對(duì)用戶提供的導(dǎo)數(shù)和有限差分求出的導(dǎo)數(shù)進(jìn)行對(duì)比。lDiffMaxChange–變量有限差分梯度的最大變化。lDiffMinChange-變量有限差分梯度的最小變化。lLineSearchType–一維搜索算法的選擇。19目前十九頁\總數(shù)七十二頁\編于十四點(diǎn)exitflag描述退出條件:l

>0表示目標(biāo)函數(shù)收斂于解x處。l

0表示已經(jīng)達(dá)到函數(shù)評(píng)價(jià)或迭代的最大次數(shù)。l

<0表示目標(biāo)函數(shù)不收斂。20目前二十頁\總數(shù)七十二頁\編于十四點(diǎn)output該參數(shù)包含下列優(yōu)化信息:l

output.iterations–

迭代次數(shù)。l

output.algorithm–

所采用的算法。l

output.funcCount–

函數(shù)評(píng)價(jià)次數(shù)。l

output.cgiterations–PCG迭代次數(shù)(只適用于大型規(guī)劃問題)。l

output.stepsize–

最終步長(zhǎng)的大?。ㄖ挥糜谥行蛦栴})。l

output.firstorderopt–

一階優(yōu)化的度量:解x處梯度的范數(shù)。21目前二十一頁\總數(shù)七十二頁\編于十四點(diǎn)習(xí)題4-6%目標(biāo)函數(shù)m文件,保存為xiti4j6.mfunctionf=myfun(x);f=10*x(1)^2+x(2)^2-20*x(1)-4*x(2)+24;%求解m文件options=optimset('display','on','maxiter',10e5,'tolfun',10e-5,'tolx',0.01);x0=[2,-1];[x,fval,exigflag,hessian]=fminunc(@xiti4j6,x0,options)22目前二十二頁\總數(shù)七十二頁\編于十四點(diǎn)x=1.00002.0007fval=10.0000exigflag=1hessian=iterations:6funcCount:21stepsize:1firstorderopt:0.0013algorithm:'medium-scale:Quasi-Newtonlinesearch'

23目前二十三頁\總數(shù)七十二頁\編于十四點(diǎn)例:初始點(diǎn)[1,1]程序:編輯ff2.m文件:functionf=ff(x)f=8*x(1)-4*x(2)+x(1)^2+3*x(2)^2;編輯command.m文件x0=[1,1];%取初始點(diǎn):[x,fval,exitflag]=fminunc(@ff,x0)

24目前二十四頁\總數(shù)七十二頁\編于十四點(diǎn)Optimizationterminatedsuccessfully:Searchdirectionlessthan2*options.TolXx=-4.00000.6667fval=-17.3333exitflag=125目前二十五頁\總數(shù)七十二頁\編于十四點(diǎn)注意1.對(duì)于求解平方和的問題,fminunc函數(shù)不是最好的選擇,用lsqnonlin函數(shù)效果更佳。2.使用大型方法時(shí),必須通過將options.GradObj設(shè)置為'on'來提供梯度信息,否則將給出警告信息。26目前二十六頁\總數(shù)七十二頁\編于十四點(diǎn)局限性1.目標(biāo)函數(shù)必須是連續(xù)的。fminunc函數(shù)有時(shí)會(huì)給出局部最優(yōu)解。2.fminunc函數(shù)只對(duì)實(shí)數(shù)進(jìn)行優(yōu)化,即x必須為實(shí)數(shù),而且f(x)必須返回實(shí)數(shù)。當(dāng)x為復(fù)數(shù)時(shí),必須將它分解為實(shí)部和虛部。27目前二十七頁\總數(shù)七十二頁\編于十四點(diǎn)fminsearch函數(shù)功能:求解多變量無約束函數(shù)的最小值。該函數(shù)常用于無約束非線性最優(yōu)化問題。x=fminsearch(fun,x0)初值為x0,求fun函數(shù)的局部極小點(diǎn)x。x0可以是標(biāo)量、向量或矩陣。x=fminsearch(fun,x0,options)用options參數(shù)指定的優(yōu)化參數(shù)進(jìn)行最小化。x=fminsearch(fun,x0,options,P1,P2,...)將問題參數(shù)p1、p2等直接輸給目標(biāo)函數(shù)fun,將options參數(shù)設(shè)置為空矩陣,作為options參數(shù)的缺省值。語法格式及描述:28目前二十八頁\總數(shù)七十二頁\編于十四點(diǎn)[x,fval]=fminsearch(...)將x處的目標(biāo)函數(shù)值返回到fval參數(shù)中。[x,fval,exitflag]=fminsearch(...)返回exitflag值,描述函數(shù)的退出條件。[x,fval,exitflag,output]=fminsearch(...)返回包含優(yōu)化信息的輸出參數(shù)output。參數(shù):各參數(shù)的意義同fminunc。29目前二十九頁\總數(shù)七十二頁\編于十四點(diǎn)fminunc與fminsearch

對(duì)于求解二次以上的問題,fminsearch比fminunc更有效,而且當(dāng)問題為高度非線性時(shí),前者更有效。

fminsearch不適合求解平方和的問題,用lsqnolin更好。30目前三十頁\總數(shù)七十二頁\編于十四點(diǎn)三、約束最小化相關(guān)函數(shù)介紹fmincon函數(shù)31目前三十一頁\總數(shù)七十二頁\編于十四點(diǎn)功能:求多變量有約束非線性函數(shù)的最小值。fmincon函數(shù)數(shù)學(xué)模型:其中,x,b,beq,lb,和ub為向量,A

和Aeq

為矩陣,c(x)

和ceq(x)為函數(shù),返回標(biāo)量。f(x),c(x),和ceq(x)可以是非線性函數(shù)。非線性不等式約束非線性等式約束線性不等式約束線性等式約束

設(shè)計(jì)變量的上下界32目前三十二頁\總數(shù)七十二頁\編于十四點(diǎn)語法格式及描述:x=fmincon(fun,x0,A,b)給定初值x0,求解fun函數(shù)的最小值x。fun函數(shù)的約束條件為A*x<=b,x0可以是標(biāo)量、向量或矩陣。x=fmincon(fun,x0,A,b,Aeq,beq)最小化fun函數(shù),約束條件為Aeq*x=beq和A*x<=b。若沒有不等式存在,則設(shè)置A=[]、b=[]。x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)定義設(shè)計(jì)變量x的下界lb和上界ub,使得總是有l(wèi)b<=x<=ub。若無等式存在,則令A(yù)eq=[]、beq=[]。x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)在上面的基礎(chǔ)上,在nonlcon參數(shù)中提供非線性不等式c(x)或等式ceq(x)。fmincon函數(shù)要求c(x)<=0且ceq(x)=0。當(dāng)無邊界存在時(shí),令lb=[]和(或)ub=[]。33目前三十三頁\總數(shù)七十二頁\編于十四點(diǎn)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)用optiions參數(shù)指定的參數(shù)進(jìn)行最小化。x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2,...)將問題參數(shù)P1,P2等直接傳遞給函數(shù)fun和nonlin。若不需要這些變量,則傳遞空矩陣到A,b,Aeq,beq,lb,ub,nonlcon和options。[x,fval]=fmincon(...)返回解x處的目標(biāo)函數(shù)值。[x,fval,exitflag]=fmincon(...)返回exitflag參數(shù),描述函數(shù)計(jì)算的退出條件。34目前三十四頁\總數(shù)七十二頁\編于十四點(diǎn)[x,fval,exitflag,output]=fmincon(...)返回包含優(yōu)化信息的輸出參數(shù)output。[x,fval,exitflag,output,lambda]=fmincon(...)返回解x處包含拉格朗日乘子的lambda參數(shù)。[x,fval,exitflag,output,lambda,grad]=fmincon(...)返回解x處fun函數(shù)的梯度。[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(...)返回解x處fun函數(shù)的Hessian矩陣。35目前三十五頁\總數(shù)七十二頁\編于十四點(diǎn)注意:[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ù)的中型算法使用的是序列二次規(guī)劃法。在每一步迭代中求解二次規(guī)劃子問題,并用BFGS法更新拉格朗日Hessian矩陣。[3]fmincon函數(shù)可能會(huì)給出局部最優(yōu)解,這與初值X0的選取有關(guān)。36目前三十六頁\總數(shù)七十二頁\編于十四點(diǎn)1、寫成標(biāo)準(zhǔn)形式:

s.t.

2x1+3x26s.tx1+4x25x1,x20例137目前三十七頁\總數(shù)七十二頁\編于十四點(diǎn)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.029438目前三十八頁\總數(shù)七十二頁\編于十四點(diǎn)1.先建立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例22.再建立M文件mycon.m定義非線性約束:

function[c,ceq]=mycon(x)c=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];ceq=[];39目前三十九頁\總數(shù)七十二頁\編于十四點(diǎn)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.895140目前四十頁\總數(shù)七十二頁\編于十四點(diǎn)

例3

1.先建立M-文件fun.m定義目標(biāo)函數(shù):functionf=fun(x);f=-2*x(1)-x(2)2.再建立M文件mycon2.m定義非線性約束:

function[c,ceq]=mycon2(x)c=[x(1)^2+x(2)^2-25;x(1)^2-x(2)^2-7];ceq=[];%沒有非線性等式約束,要設(shè)置ceq為空矩陣。41目前四十一頁\總數(shù)七十二頁\編于十四點(diǎn)3.主程序fxx.m為:x0=[3;2.5];VLB=[00];VUB=[510];[x,fval,exitflag,output]=fmincon('fun',x0,[],[],[],[],VLB,VUB,'mycon2')42目前四十二頁\總數(shù)七十二頁\編于十四點(diǎn)4.運(yùn)算結(jié)果為:x=4.00003.0000fval=-11.0000exitflag=1output=iterations:4funcCount:17stepsize:1algorithm:[1x44char]firstorderopt:[]cgiterations:[]43目前四十三頁\總數(shù)七十二頁\編于十四點(diǎn)例4matlab

工程優(yōu)化實(shí)例蓋板問題1.設(shè)有一箱形蓋板,已知長(zhǎng)度,寬度,厚度。翼板厚度為,它承受最大的單位載荷

,要求在滿足強(qiáng)度﹑剛度和穩(wěn)定性等條件下,設(shè)計(jì)一個(gè)重量最輕的結(jié)構(gòu)方案。設(shè)蓋板為鋁合金制成,彈性模量E=7x104MPa,泊松比μ=0.3,許用彎曲應(yīng)力[σ]=70MPa,許用剪切應(yīng)力[τ]=45MPa。44目前四十四頁\總數(shù)七十二頁\編于十四點(diǎn)一、問題分析即確定tf和h截面慣性矩最大剪應(yīng)力45目前四十五頁\總數(shù)七十二頁\編于十四點(diǎn)最大彎曲應(yīng)力翼板中的屈曲臨界穩(wěn)定應(yīng)力最大撓度蓋板單位長(zhǎng)度的質(zhì)量為材料密度二、數(shù)學(xué)模型設(shè)計(jì)變量:目標(biāo)函數(shù):?jiǎn)挝婚L(zhǎng)度允許撓度46目前四十六頁\總數(shù)七十二頁\編于十四點(diǎn)約束條件:按照強(qiáng)度,剛度和穩(wěn)定性要求建立如下的約束條件。47目前四十七頁\總數(shù)七十二頁\編于十四點(diǎn)三、matlab求解functionf=myfun(x);f=120*x(1)+x(2)目標(biāo)函數(shù)myfun.m非線性不等式約束myfuncon.mfunction[c,ceq]=mycon2(x)c=[1-0.25*x(2);1-7/45*x(1)*x(2);1-7/45*x(1)^3*x(2);1-1/320*x(1)*x(2)^2];ceq=[];注意matlab里不等式約束為<048目前四十八頁\總數(shù)七十二頁\編于十四點(diǎn)主函數(shù)myfun_opt.moptions=optimset(‘MaxFunEvals’,5000);%設(shè)置函數(shù)評(píng)價(jià)的最大次數(shù)5000x0=[0,0];%初始值VLB=[0;0];VUB=[];[x,fval,exitflag,output]=fmincon('myfun',x0,[],[],[],[],VLB,VUB,'myfuncon',options)49目前四十九頁\總數(shù)七十二頁\編于十四點(diǎn)x=0.633225.3264fval=101.3056exitflag=1output=iterations:66%迭代次數(shù)66funcCount:514%函數(shù)評(píng)價(jià)次數(shù)514stepsize:1%最終步長(zhǎng)1algorithm:'medium-scale:SQP,Quasi-Newton,line-search‘%中型算法

firstorderopt:1.0050e-005%解x處梯度的范數(shù)

cgiterations:[]%PCG迭代次數(shù)(只適用于大型規(guī)劃問題)。優(yōu)化結(jié)果50目前五十頁\總數(shù)七十二頁\編于十四點(diǎn)51目前五十一頁\總數(shù)七十二頁\編于十四點(diǎn)x=0.66671.3333fval=-8.2222exitflag=152目前五十二頁\總數(shù)七十二頁\編于十四點(diǎn)x=[001.0000-0.0000]fval=0.0800exitflag=153目前五十三頁\總數(shù)七十二頁\編于十四點(diǎn)%目標(biāo)函數(shù)Minf(x)=f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1)%不等式約束條件:-x(1)*x(2)<=10%等式約束條件:x(1)^2+x(2)=1clear%清工作空間clc%清屏x0=[-1,1];%初值f='exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1)';%目標(biāo)函數(shù)options=optimset('LargeScale','off','display','iter');%不使用大模式優(yōu)化方法[x,fval,exitflag,output]=fmincon(f,x0,[],[],[],[],[],[],'myfun_con4',options)%設(shè)計(jì)變量無線性不等式約束,即A=[],b=[]設(shè)計(jì)變量無線性等式約束,即Aeq=[],beq=[]%設(shè)計(jì)變量無上下限約束,即lb=[],ub=[]function[c,ceq]=myfun_con4(x)c=[-x(1)*x(2)-10];%不等式約束或?qū)懗?c=-x(1)*x(2)-10;ceq=[x(1)^2+x(2)-1];%等式約束或?qū)懗?ceq=x(1)^2+x(2)-1%ceq=x(1)^2+x(2)-1x=[-0.75290.4332]fval=1.5093exitflag=154目前五十四頁\總數(shù)七十二頁\編于十四點(diǎn)55目前五十五頁\總數(shù)七十二頁\編于十四點(diǎn)56目前五十六頁\總數(shù)七十二頁\編于十四點(diǎn)57目前五十七頁\總數(shù)七十二頁\編于十四點(diǎn)58目前五十八頁\總數(shù)七十二頁\編于十四點(diǎn)59目前五十九頁\總數(shù)七十二頁\編于十四點(diǎn)60目前六十頁\總數(shù)七十二頁\編于十四點(diǎn)x=-0.75290.4332fval=1.5093exitflag=1output=iterations:7funcCount:24stepsize:1algorithm:'medium-scale:SQP,Quasi-Newton,line-search'firstorderopt:8.1712e-009cgiterations:[]message:[1x143char]61目前六十一頁\總數(shù)七十二頁\編于十四點(diǎn)x=5.0000fval=3exitflag=462目前六十二頁\總數(shù)七十二頁\編于十四點(diǎn)目標(biāo)函數(shù)Maxf(x)=f=m1*x(1)+m2*x(2)^2+m3*x(3)%約束條件:%a1*x(1)+a2*x(2)+a3*x(3)<=a%b1*x(1)+b2*x(2)+b3*x(3)<=b%c1*x(2)^2+c2*x(3)^2>=c%上下限約束條件x(1)>=0x(2)>=0x(3)>=0%m1=10;m2=4.4;m3=2;%a1=1;a2=4;a3=5;a=32%b1=1;b2=3;b3=2;b=29%c1=1;c2=0.5;c=3;63目前六十三頁\總數(shù)七十二頁\編于十四點(diǎn)clear%清工作空間clc%清屏m1=10;m2=4.4;m3=2;a1=1;a2=4;a3=5;a=32;b1=1;b2=3;b3=2;b=29;c1=1;c2=0.5;c=3;A=[a1,a2,a3;b1,b2,b3];b=[a;b];x0=[1;1;1];%初值lb=[0,0,0];%設(shè)計(jì)變量下限約束條件options=optimset('LargeScale','off','display','iter');[x,fval,exitflag,output]=fmincon(@(x)myfun9(x,m1,m2,m3),x0,A,b,[],[],lb,[],@(x)myfun_con9(x,c1,c2,c),options)%注意:含有帶參數(shù)目標(biāo)函數(shù),不能[x,fval,exitflag,output]=fmincon('myfun9(x,m1,m2,m3)',x0,A,b,[],[],lb,[],'myfun_con9(x,c1,c2,c)',options)%設(shè)計(jì)變量無線性不等式約束,即A=[],b=[]%設(shè)計(jì)變量無線性等式約束,即Aeq=[],beq=[]%設(shè)計(jì)變量無上限約束,ub=[]64目前六十四頁\總數(shù)七十二頁\編于十四點(diǎn)65目前六十五頁\總數(shù)七十二頁\編于十四點(diǎn)

目標(biāo)函數(shù)minf(x)=x(1)^2+x(2)^2%約束條件:x(1)^2+x(2)^2≤5%x(1)+2*x(2)=4%x(1)≥0,x(2)≥0%目標(biāo)函數(shù)Minf(x)=f=m1*x(1)^2+m2*x(2)^2%約束條件:a1*x(1)^2+a2*x(2)^2<=a%b1*x(1)+b2*x(2)=b%下限約束條件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論