版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、MatlabMatlab優(yōu)化工具箱簡介優(yōu)化工具箱簡介1.MATLAB1.MATLAB求解優(yōu)化問題的主要函數(shù)求解優(yōu)化問題的主要函數(shù)類 型模 型基本函數(shù)名一元函數(shù)極小Min F(x)s.t.x1xx2x=fminbnd(F,x1,x2)無約束極小Min F(X)X=fminunc(F,X0)X=fminsearch(F,X0)線性規(guī)劃Min XcTs.t.AX=bX=linprog(c,A,b)二次規(guī)劃Min 21xTHx+cTxs.t. Ax=bX=quadprog(H,c,A,b)約束極?。ǚ蔷€性規(guī)劃)Min F(X)s.t. G(X)=0X=fmincon(FG,X0)達到目標問題Min r
2、s.t. F(x)-wr=goalX=fgoalattain(F,x,goal,w)極小極大問題Min max Fi(x)X Fi(x)s.t. G(x)=0X=fminimax(FG,x0)2. 2. 優(yōu)化函數(shù)的輸入變量優(yōu)化函數(shù)的輸入變量 使用優(yōu)化函數(shù)或優(yōu)化工具箱中其它優(yōu)化函數(shù)時, 輸入變量見下表:變量描 述調用函數(shù)f線性規(guī)劃的目標函數(shù)f*X 或二次規(guī)劃的目標函數(shù)X*H*X+f*X 中線性項的系數(shù)向量linprog,quadprogfun非線性優(yōu)化的目標函數(shù).fun必須為行命令對象或M文件、嵌入函數(shù)、或MEX文件的名稱fminbnd,fminsearch,fminunc,fmincon,ls
3、qcurvefit,lsqnonlin,fgoalattain,fminimaxH二次規(guī)劃的目標函數(shù)X*H*X+f*X 中二次項的系數(shù)矩陣quadprogA,bA矩陣和b向量分別為線性不等式約束:bAX 中的系數(shù)矩陣和右端向量linprog,quadprog,fgoalattain,fmincon, fminimaxAeq,beqAeq矩陣和beq向量分別為線性等式約束:beqXAeq中的系數(shù)矩陣和右端向量linprog,quadprog,fgoalattain,fmincon, fminimaxvlb,vubX的下限和上限向量:vlbXvublinprog,quadprog,fgoalatt
4、ain,fmincon,fminimax,lsqcurvefit,lsqnonlinX0迭代初始點坐標除fminbnd外所有優(yōu)化函數(shù)x1,x2函數(shù)最小化的區(qū)間fminbndoptions優(yōu)化選項參數(shù)結構,定義用于優(yōu)化函數(shù)的參數(shù)所有優(yōu)化函數(shù)3. 3. 優(yōu)化函數(shù)的輸出變量優(yōu)化函數(shù)的輸出變量4 4控制參數(shù)控制參數(shù)optionsoptions的設置的設置 (3) MaxIterMaxIter: 允許進行迭代的最大次數(shù),取值為正整數(shù).OptionsOptions中常用的幾個參數(shù)的名稱、含義、取值如下中常用的幾個參數(shù)的名稱、含義、取值如下: : (1)DisplayDisplay: 顯示水平.取值為off
5、時,不顯示輸出; 取值為iter時,顯示每次迭代的信息;取值為final時,顯示最終結果.默認值為final.(2)MaxFunEvalsMaxFunEvals: 允許進行函數(shù)評價的最大次數(shù),取值為正整數(shù).例:opts=optimset(Display,iter,TolFun,1e-8) 該語句創(chuàng)建一個稱為opts的優(yōu)化選項結構,其中顯示參數(shù)設為iter, TolFun參數(shù)設為1e-8. 控制參數(shù)控制參數(shù)optionsoptions可以通過函數(shù)可以通過函數(shù)optimsetoptimset創(chuàng)建或修改。命創(chuàng)建或修改。命令的格式如下:令的格式如下:(1) options=optimset(optim
6、fun)options=optimset(optimfun) 創(chuàng)建一個含有所有參數(shù)名,并與優(yōu)化函數(shù)optimfun相關的默認值的選項結構options.(2)options=optimset(param1,value1,param2,value2,.)options=optimset(param1,value1,param2,value2,.) 創(chuàng)建一個名稱為options的優(yōu)化選項參數(shù),其中指定的參數(shù)具有指定值,所有未指定的參數(shù)取默認值.(3)options=optimset(oldops,param1,value1,param2,options=optimset(oldops,param1
7、,value1,param2, value2,.) value2,.) 創(chuàng)建名稱為oldops的參數(shù)的拷貝,用指定的參數(shù)值修改oldops中相應的參數(shù).返回用用MatlabMatlab解無約束優(yōu)化問題解無約束優(yōu)化問題 其中(3)、(4)、(5)的等式右邊可選用(1)或(2)的等式右邊。 函數(shù)fminbnd的算法基于黃金分割法和二次插值法,它要求目標函數(shù)必須是連續(xù)函數(shù),并可能只給出局部最優(yōu)解。常用格式如下:常用格式如下:(1)x= fminbnd (x= fminbnd (fun,xfun,x1 1,x,x2 2) )(2)x= fminbnd (x= fminbnd (fun,xfun,x1
8、1,x,x2 2 ,options)options)(3)xx,fval= fminbndfval= fminbnd(.)(4)xx,fvalfval,exitflag= fminbndexitflag= fminbnd(.)(5)xx,fvalfval,exitflagexitflag,output= fminbndoutput= fminbnd(.) 主程序為主程序為 jizhi1.m:jizhi1.m: f=2*exp(-x).*sin(x); fplot(f,0,8); %作圖語句 xmin,ymin=fminbnd (f, 0,8) f1=-2*exp(-x).*sin(x); xm
9、ax,ymax=fminbnd (f1, 0,8)例例2 2 對邊長為3米的正方形鐵板,在四個角剪去相等的正方形以制成方形無蓋水槽,問如何剪法使水槽的容積最大?解解先編寫先編寫M M文件文件fun0.mfun0.m如下如下: : function f=fun0(x) f=-(3-2*x).2*x;主程序為主程序為jizhi2.m:jizhi2.m: x,fval=fminbnd(fun0,0,1.5); xmax=x fmax=-fval運算結果為運算結果為: : xmax = 0.5000,fmax =2.0000.即剪掉的正方形的邊長為0.5米時水槽的容積最大,最大容積為2立方米. 命令格
10、式為命令格式為: :(1)x= fminunc(fun,X0 );或x=fminsearch(fun,X0 )(2)x= fminunc(fun,X0 ,options); 或x=fminsearch(fun,X0 ,options)(3)x,fval= fminunc(.); 或x,fval= fminsearch(.)(4)x,fval,exitflag= fminunc(.); 或x,fval,exitflag= fminsearch(5)x,fval,exitflag,output= fminunc(.); 或x,fval,exitflag,output= fminsearch(.)
11、2、多元函數(shù)無約束優(yōu)化問題、多元函數(shù)無約束優(yōu)化問題標準型為標準型為:min F(X)3 fminunc為中型優(yōu)化算法的步長一維搜索提供了兩種算法, 由options中參數(shù)LineSearchType控制:LineSearchType=quadcubic(缺省值),混合的二次和三 次多項式插值;LineSearchType=cubicpoly,三次多項式插使用使用fminuncfminunc和和 fminsearchfminsearch可能會得到局部最優(yōu)解可能會得到局部最優(yōu)解. .說明說明: :fminsearchfminsearch是用單純形法尋優(yōu)是用單純形法尋優(yōu). fminunc. fmin
12、unc的算法見以下幾點說明:的算法見以下幾點說明:1 fminunc為無約束優(yōu)化提供了大型優(yōu)化和中型優(yōu)化算法。由options中的參數(shù)LargeScale控制:LargeScale=on(默認值),使用大型算法LargeScale=off(默認值),使用中型算法2 fminunc為中型優(yōu)化算法的搜索方向提供了4種算法,由 options中的參數(shù)HessUpdate控制:HessUpdate=bfgs(默認值),擬牛頓法的BFGS公式;HessUpdate=dfp,擬牛頓法的DFP公式;HessUpdate=steepdesc,最速下降法例例3 3 min f(x)=(4x12+2x22+4x1
13、x2+2x2+1)*exp(x1) 1 1、編寫、編寫M-M-文件文件 fun1.m:fun1.m: function f = fun1 (x) f = exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1); 2 2、輸入、輸入M M文件文件wliti3.mwliti3.m如下如下: : x0 = -1, 1; x=fminunc(fun1,x0); y=fun1(x) 3 3、運行結果、運行結果: : x= 0.5000 -1.0000 y = 1.3029e-102. 畫出畫出Rosenbrock 函數(shù)的等高線圖函數(shù)的等高線圖,輸入命令: cont
14、our(x,y,z,20) hold on plot(-1.2,2, o ); text(-1.2,2,start point) plot(1,1,o) text(1,1,solution)1. 為獲得直觀認識,先畫出為獲得直觀認識,先畫出Rosenbrock 函數(shù)的三維圖形函數(shù)的三維圖形, 輸入以下命令: x,y=meshgrid(-2:0.1:2,-1:0.1:3); z=100*(y-x.2).2+(1-x).2; mesh(x,y,z)3.3.用用fminsearchfminsearch函數(shù)求解函數(shù)求解輸入命令: f=100*(x(2)-x(1)2)2+(1-x(1)2; x,fval
15、,exitflag,output=fminsearch(f, -1.2 2)運行結果: x =1.0000 1.0000fval =1.9151e-010exitflag = 1output = iterations: 108 funcCount: 202 algorithm: Nelder-Mead simplex direct search4.4. 用用fminunc fminunc 函數(shù)函數(shù)(1)建立M-文件fun2.m function f=fun2(x) f=100*(x(2)-x(1)2)2+(1-x(1)2(2)主程序wliti44.moldoptions=optimset(fm
16、inunc) options=optimset(oldoptions,LargeScale,off) options11=optimset(options,HessUpdate,dfp) x11,fval11,exitflag11,output11=fminunc(fun2, -1.2 2,options11) pauseoptions12=optimset(options,HessUpdate,dfp,LineSearchType,cubicpoly) x12,fval12,exitflag12,output12=fminunc(fun2, -1.2 2,options12) pause o
17、ptions21=optimset(options,HessUpdate,bfgs) x21,fval21,exitflag21,output21=fminunc(fun2, -1.2 2,options21) pause options22=optimset(options,HessUpdate,bfgs,LineSearchType,cubicpoly) x22,fval22,exitflag22,output22=fminunc(fun2, -1.2 2,options22) pauseoptions31=optimset(options,HessUpdate,steepdesc) x31,fval31,exitflag31,output31=fminunc(fun2, -1.2 2,options31) pause options32=optimset(options,HessUpdate,steepdesc,MaxIter,8000,MaxFunEvals,8000) x32,fval32,exitflag32,output32
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院入住管理制度
- 企業(yè)員工培訓與職業(yè)成長路徑制度
- 人教版(2024)八年級上冊英語期末復習:Unit 1-Unit 8 詞匯+句型+句子 練習題匯編(含答案)
- 老年終末期尿失禁的護理干預方案循證評價
- 老年糖尿病患者的跌倒預防策略-1
- 水聲測量工變更管理測試考核試卷含答案
- 我國上市公司海外并購績效的多維度剖析與提升策略研究
- 煉廠氣加工工崗前情緒管理考核試卷含答案
- 我國上市公司內部控制自我評價報告:現(xiàn)狀、問題與優(yōu)化路徑探究
- 電氣電子產(chǎn)品環(huán)保檢測員風險評估考核試卷含答案
- 北京市順義區(qū)2025-2026學年八年級上學期期末考試英語試題(原卷版+解析版)
- 中學生冬季防溺水主題安全教育宣傳活動
- 2026年藥廠安全生產(chǎn)知識培訓試題(達標題)
- 2026年陜西省森林資源管理局局屬企業(yè)公開招聘工作人員備考題庫及參考答案詳解1套
- 冷庫防護制度規(guī)范
- 承包團建燒烤合同范本
- 口腔種植牙科普
- 2025秋人教版七年級全一冊信息科技期末測試卷(三套)
- 搶工補償協(xié)議書
- 廣東省廣州市番禺區(qū)2026屆高一數(shù)學第一學期期末聯(lián)考試題含解析
- 2026年廣東省佛山市高三語文聯(lián)合診斷性考試作文題及3篇范文:可以“重讀”甚至“重構”這些過往
評論
0/150
提交評論