




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Matlab和機械優(yōu)化設(shè)計(5.優(yōu)化工具箱)第一頁,共26頁。MATLAB優(yōu)化工具箱能求解的優(yōu)化模型優(yōu)化工具箱3.0(MATLAB7.0R14)連續(xù)優(yōu)化離散優(yōu)化無約束優(yōu)化非線性極小fminunc非光滑(不可微)優(yōu)化fminsearch非線性方程(組)fzerofsolve全局優(yōu)化暫缺非線性最小二乘lsqnonlinlsqcurvefit線性規(guī)劃linprog0-1規(guī)劃bitprog一般IP(暫缺)非線性規(guī)劃fminconfseminf上下界約束fminbndfminconlsqnonlinlsqcurvefit約束線性最小二乘lsqnonneglsqlin約束優(yōu)化二次規(guī)劃quadprog多目標優(yōu)化fgoalattainfminimax第二頁,共26頁。無約束優(yōu)化問題數(shù)學(xué)模型:Matlab函數(shù):對于連續(xù)(處處光滑)的函數(shù),使用fminunc對于不連續(xù)的函數(shù),使用fminsearch一般而言fminunc比fminsearch有更高的尋優(yōu)效率,因為它利用了梯度信息兩者都不是解決最小化平方和的問題首選方法,對這類問題,推薦使用(lsqnonlin)。第三頁,共26頁。無約束優(yōu)化問題[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options)輸入?yún)?shù):fun:目標函數(shù),以函數(shù)句柄的形式給出。函數(shù)句柄的構(gòu)造:函數(shù)首先用m文件定義好,然后采用下列方式構(gòu)造函數(shù)句柄:fhandle=@function_name如:f_h=@sin;f_h=@cos匿名函數(shù)的形式(Anonymousfunction),函數(shù)的表達式直接給出:fhandle=@(var_list)expression(var_list),如:f_h=@(x)sin(x);f_h=@(x)cos(x);采用函數(shù)句柄的方式調(diào)用函數(shù):把函數(shù)的名稱用函數(shù)句柄直接替換。比如定義:f_h=@sin,則使用sin函數(shù)的時候有兩種方式:sin(10),f_h(10),返回同樣的結(jié)果。第四頁,共26頁。無約束優(yōu)化問題[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options)輸入?yún)?shù):x0:初始點的值。Options:提供和函數(shù)本身有關(guān)的一些細節(jié)控制,如采用的算法,是否采用梯度等信息。本身是一個結(jié)構(gòu)數(shù)組,其中每一個屬性值的改變或設(shè)定可用函數(shù)optimset完成,如:options=optimset(‘Display’,‘iter’,‘TolFun’,1e-8);options=optimset(optimfun):返回優(yōu)化函數(shù)“optimfun”所有的options屬性的名稱和屬性值。如:options=optimset(‘fminunc’):觀察結(jié)果。Options各個屬性的含義請參考幫助文件。
第五頁,共26頁。無約束優(yōu)化問題[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options)輸出參數(shù):X,fval:算法終止時函數(shù)的最優(yōu)解和最優(yōu)值。exitflag:整數(shù)標志,算法終止的原因,返回值大于0表示找到局部最優(yōu)點,否則沒有找到局部最優(yōu)點。具體的返回請參照函數(shù)“fminunc”的幫助。Output:Structurecontaininginformationabouttheoptimization.Thefieldsofthestructureare:
iterations:Numberofiterationstaken;
funcCount:Numberoffunctionevaluations;
algorithm:Algorithmused;Cgiterations:NumberofPCGiterations(large-scalealgorithmonly);stepsize:Finalstepsizetaken(medium-scalealgorithmonly);grad,hessian:最優(yōu)解X點處的剃度和Hessian矩陣第六頁,共26頁。無約束優(yōu)化問題[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options)例子:求目標函數(shù)mypeaks的局部最小值。mypeaks=3*(1-x(:,1)).^2.*exp(-(x(:,1).^2)-(x(:,2)+1).^2)...-10*(x(:,1)/5-x(:,1).^3-x(:,2).^5).*exp(-x(:,1).^2-x(:,2).^2)...-1/3*exp(-(x(:,1)+1).^2-x(:,2).^2);fminsearch與fminunc有相同的輸入和輸出參數(shù),但是它使用單純形法來找到局部最優(yōu)。分別用fminsearch和fminunc函數(shù)求上述目標函數(shù)的極小值點,可發(fā)現(xiàn)在利用了梯度信息的時候,迭代的次數(shù)大大減小。第七頁,共26頁。約束優(yōu)化問題1。單變量(標量)、上下界約束優(yōu)化問題。[x,fval,exitflag,output]=fminbnd(fun,x1,x2,options)目標函數(shù)必須是連續(xù)的,只能求出局部最優(yōu)值,所用算法:黃金分割和二次插值方法。例子:求函數(shù)f(x)=x^(2/3)-(x^2+1)^(1/3),第八頁,共26頁。約束優(yōu)化問題2。線性規(guī)劃問題。[x,fval,exitflag,output,lambda]=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)它的輸出只是最終結(jié)果,沒有迭代過程。例:第九頁,共26頁。約束優(yōu)化問題數(shù)學(xué)模型:設(shè)計變量:各個方案切割的套數(shù):x=[x1,x2,x3,x4,x5];目標函數(shù):minf(x)=0.1*x2+0.2*x3+0.3*x4+0.8*x5約束條件:總套數(shù)限制:x1+2*x2+x4=1002*x3+2*x4+x5=1003*x1+x2+2*x3+3*x5=1000<=[x1,x2,x3,x4,x5]第十頁,共26頁。約束優(yōu)化問題3。二次規(guī)劃問題[x,fval,exitflag,output,lambda]=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options);當(dāng)問題不是嚴格凸規(guī)劃問題時,返回局部最小點。第十一頁,共26頁。約束優(yōu)化問題4。非線性約束優(yōu)化問題[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options);函數(shù)fun以函數(shù)句柄的形式或匿名函數(shù)的形式給出;Nonlcon:返回等式和不等式約束向量c(x)和ceq(x)的一個函數(shù)。如:x=fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@mycon)其中mycon是Matlab函數(shù),其定義如下:function[c,ceq]=mycon(x)c=...%Computenonlinearinequalitiesatx.ceq=...%Computenonlinearequalitiesatx.第十二頁,共26頁。約束優(yōu)化問題4。非線性約束優(yōu)化問題如果options=optimset(‘GradConstr’,‘on’),也就是優(yōu)化過程需要用到非線性約束的梯度信息時,非線性約束函數(shù)必須在第3和第4個返回值中返回不等式非線性約束的梯度和等式非線性約束的梯度信息。function[c,ceq,GC,GCeq]=mycon(x)c=...%Nonlinearinequalitiesatxceq=...%Nonlinearequalitiesatxifnargout>2%nonlconcalledwith4outputsGC=...%GradientsoftheinequalitiesGCeq=...%Gradientsoftheequalitiesend第十三頁,共26頁。4.fmincon函數(shù)MATLAB代碼:%首先編寫目標函數(shù)的.m文件:functionf=myfun(x)f=-x(1)*x(2)*x(3);x0=[10;10;10]%起始點[x,fval]=fmincon(@myfun,x0,A,b)第十四頁,共26頁。4.fmincon函數(shù)MATLAB代碼:%首先編寫目標函數(shù)的.m文件:functionf=objfun(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);%編寫非線性約束函數(shù)的.m文件:function[c,ceq]=confun(x)c=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];ceq=[];%求解優(yōu)化問題:x0=[-1,1];options=optimset('LargeScale','off');[x,fval]=fmincon(@objfun,x0,[],[],[],[],[],[],@confun,options)第十五頁,共26頁。4.fmincon函數(shù)目標函數(shù):H第十六頁,共26頁。4.fmincon函數(shù)Step1:建立數(shù)學(xué)模型設(shè)計變量和目標函數(shù):管直徑D和支架高度H約束條件:第十七頁,共26頁。4.fmincon函數(shù)Step1:建立數(shù)學(xué)模型約束條件:第十八頁,共26頁。4.fmincon函數(shù)Step2:編制程序%目標函數(shù)functionf=objfun1(x)f=1.225e-4*x(1)*sqrt(577600.0+x(2)*x(2));
%約束函數(shù)function[c,ceq]=confun1(x)c=[19098.59*sqrt(577600.0+x(2)*x(2))/(x(1)*x(2))-700.0;19098.59*sqrt(577600.0+x(2)*x(2))/(x(1)*x(2))-2.6e5*(x(1)*x(1)+6.25)/(577600.0+x(2)*x(2))];ceq=[];
x0=[1,1]lb=zeros(2,1);ub=Inf*ones(2,1);%ub=[][x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@objfun1,x0,[],[],[],[],lb,ub,@confun1)第十九頁,共26頁。多目標優(yōu)化問題1.目標規(guī)劃法[x,fval,attainfactor,exitflag]=fgoalattain((fun,x0,goal,weight,A,b,Aeq,beq,lb,ub);函數(shù)fun以函數(shù)句柄的形式或匿名函數(shù)的形式給出,它多個目標函數(shù)構(gòu)成的向量;goal:每個目標函數(shù)想要達到的目標,和fun具有相同的維數(shù)。Weight:每個目標函數(shù)在優(yōu)化過程中重要性的體現(xiàn)。當(dāng)某個目標函數(shù)的Weight為正值時,允許函數(shù)值大于目標值;當(dāng)它為負值時,允許函數(shù)值小于目標值;如果希望某個目標值盡量接近目標值,在Options中設(shè)置“GoalsExactAchieve”,并讓該目標函數(shù)作為Fun中的第一個函數(shù)。如果希望每一個函數(shù)值從目標值有相同百分比的偏差,則設(shè)置每一個函數(shù)的weight(i)=abs(goal(i));第二十頁,共26頁。多目標優(yōu)化問題1。目標規(guī)劃法返回值:Attainfactor:優(yōu)化點處函數(shù)值超過和小于目標函數(shù)的個數(shù)統(tǒng)計,如果為負,則大部分函數(shù)被過估計;否則,大部分函數(shù)值小于目標值。例1:某工廠生產(chǎn)I、II兩種產(chǎn)品,有關(guān)數(shù)據(jù)見表1,在原材料有嚴格限制的條件下,要求產(chǎn)品II的產(chǎn)量不低于產(chǎn)品I,其次是充分利用設(shè)備,不加班;再者是利潤不小于56元。Step1:建模:設(shè)計變量:產(chǎn)品I和II的產(chǎn)量x(1),x(2)目標函數(shù):利潤:g1=8*x(1)+10*x(2)56(+)產(chǎn)量:g2=x(2)-x(1)0(+)工時:g3=x(1)+2*x(2)10(-)III擁有量原材料(kg)2111設(shè)備(hr)1210利潤(元/件)810第二十一頁,共26頁。多目標優(yōu)化問題1。目標規(guī)劃法約束條件:原材料限制:2*x(1)+x(2)<=11非負限制:x(1),x(2)>=0Step2:對目標函數(shù)指定權(quán)值:根據(jù)目標函數(shù)大于或小于目標的值,確定g1,g2權(quán)值大于0,g3權(quán)值小于0,權(quán)值絕對值的大小應(yīng)該體現(xiàn)了各個目標函數(shù)的重要性。給定:w=[1,0.8,-1];Step3:編程求解:分析結(jié)果可以看出,增加某一個目標的權(quán)值,將使得我們得該目標函數(shù)朝著我們期望的方向取得最大值(遠離goal)。如將目標函數(shù)1(利潤)得權(quán)值從0增加到5000,目標函數(shù)1得值從56變化到大約60,而同時其他兩個目標函數(shù)得值朝向期望值靠得越近。即靠近goal.這一點從規(guī)劃問題得數(shù)學(xué)表達式中也可以看出,隨著Weight得增加,目標函數(shù)被松弛得越多,也就是它越偏離目標值;同時,優(yōu)化又是最小化gama,gama得減小,必將導(dǎo)致其他目標函數(shù)得松弛量得減少(其他目標函數(shù)得Weight沒變),所以其他目標函數(shù)更靠近目標值。第二十二頁,共26頁。多目標優(yōu)化問題2。極大極小法[x,fval,maxf
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2194-2025氧化鋅避雷器測試儀校準規(guī)范
- LY/T 3350-2023展平竹砧板
- 2025至2030年中國半胱胺酒石酸鹽數(shù)據(jù)監(jiān)測研究報告
- 2025年軍隊文職人員招聘之軍隊文職管理學(xué)與服務(wù)通關(guān)題庫(附帶答案)
- 2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識強化訓(xùn)練試卷A卷附答案
- 模擬卷浙江寧波2025屆高三一模語文試題及答案
- (一模)哈三中2025屆高三第一次模擬考試 語文試題(含答案)
- 公司管理理念宣傳手冊(講座內(nèi)容)
- 中學(xué)生讀書勵志征文
- 化工圖標知識培訓(xùn)課件
- 本科畢業(yè)生登記表自我鑒定范文(8篇)
- 腦梗塞的急救護理
- 讀后續(xù)寫+摯友離別:不舍與成長交織的瞬間+講義 高一上學(xué)期期中聯(lián)考英語試題
- 2024中華人民共和國學(xué)前教育法學(xué)習(xí)解讀課件
- 2024-2030年中國飾面板行業(yè)發(fā)展?fàn)顩r及前景趨勢研究報告
- 春季傳染病預(yù)防課件動態(tài)課件
- 山東省2024年夏季普通高中學(xué)業(yè)水平合格考試地理試題02(解析版)
- 2024智慧城市數(shù)據(jù)分類標準規(guī)范
- 礦山挖機合作協(xié)議書范文
- 2022新教材蘇教版科學(xué)5五年級下冊全冊教學(xué)設(shè)計
- PS技能試題(帶素材)
評論
0/150
提交評論