【大學】數學建模與數學實驗 無約束優化_第1頁
【大學】數學建模與數學實驗 無約束優化_第2頁
【大學】數學建模與數學實驗 無約束優化_第3頁
【大學】數學建模與數學實驗 無約束優化_第4頁
【大學】數學建模與數學實驗 無約束優化_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、整理課件無約束最優化無約束最優化數學建模與數學實驗數學建模與數學實驗整理課件實驗目的實驗目的實驗內容實驗內容2.掌握用數學軟件包求解無約束最優化問題掌握用數學軟件包求解無約束最優化問題.1.無約束最優化基本算法無約束最優化基本算法.1. 無約束優化基本思想及基本算法無約束優化基本思想及基本算法. .4. 實驗作業實驗作業. .3. 用用MATLAB求解無約束優化問題求解無約束優化問題.2. MATLAB優化工具箱簡介優化工具箱簡介.整理課件 無約束最優化問題無約束最優化問題返回整理課件標準形式:標準形式:求解無約束最優化問題的基本思想求解無約束最優化問題的基本思想求解的基本思想求解的基本思想

2、( 以二元函數為例以二元函數為例 )1x2x12( ,)f x xO1x2xO5310X1X2X)(0Xf)(1Xf)(2Xf連續可微整理課件整理課件多局部極小298.0f0f298.0f 唯一極小(全局極小)221211 2212( ,)223f x xxx xxxx整理課件搜索過程搜索過程2 2212211min( ,)100()(1)f x xxxx最優點 (1 1)初始點 (-1 1)1x2xf-111E-41E-51E-8返回整理課件無約束優化問題的基本算法無約束優化問題的基本算法 最速下降法是一種最基本的算法,它在最優化方法中占有重要地位.最速下降法的優點是工作量小,存儲變量較少,

3、初始點要求不高;缺點是收斂慢,最速下降法適用于尋優過程的前期迭代或作為間插步驟,當接近極值點時,宜選用別種收斂快的算法. 1 1最速下降法(共軛梯度法)算法步驟:最速下降法(共軛梯度法)算法步驟:整理課件2 2牛頓法算法步驟:牛頓法算法步驟: 如果f是對稱正定矩陣A的二次函數,則用牛頓法,經過一次迭代就可達到最優點,如不是二次函數,則牛頓法不能一步達到極值點,但由于這種函數在極值點附近和二次函數很近似,因此牛頓法的收斂速度還是很快的. 牛頓法的收斂速度雖然較快,但要求黑塞矩陣可逆,要計算二階導數和逆矩陣,就加大了計算機的計算量和存儲量.整理課件3 3擬牛頓法擬牛頓法整理課件整理課件返回整理課件

4、MATLAB優化工具箱簡介優化工具箱簡介1.1.MATLAB求解優化問題的主要函數求解優化問題的主要函數整理課件2.2.優化函數的輸入變量優化函數的輸入變量 使用優化函數或優化工具箱中其他優化函數時, 輸入變量見下表:整理課件3.3.優化函數的輸出變量見下表優化函數的輸出變量見下表: :整理課件4 4控制參數選項的設置控制參數選項的設置 (3) MaxIterMaxIter: 允許進行迭代的最大次數,取值為正整數.選項中常用的幾個參數的名稱、含義、取值如下選項中常用的幾個參數的名稱、含義、取值如下: : (1)陳列: 顯示水平.取值為off時,不顯示輸出; 取值為iter時,顯示每次迭代的信息

5、;取值為final時,顯示最終結果.默認值為final.(2)MaxFunEvals: 允許進行函數評價的最大次數,取值為正整數.整理課件例:opts=optimset(Display, iter, TolFun,1e-8) 該語句創建一個稱為選擇的優化選項結構,其中顯示參數設為iter, TolFun參數設為1e-8. 控制參數選項可以通過函數控制參數選項可以通過函數optimsetoptimset創建或修改創建或修改. .命令的命令的格式如下:格式如下:(1) options=optimset(optimfun) 創建一個含有所有參數名,并與優化函數optimfun相關的默認值的選項結構.

6、(2)options=optimset(param1,value1,param2,value2,.) 創建一個名稱為選項的優化選項參數,其中指定的參數具有指定值,所有未指定的參數取默認值.(3) options=optimset(oldops, param1,value1,param2,value2,.) 創建名稱為oldops的參數的拷貝,用指定的參數值修改oldops中相應的參數.返回整理課件用用MATLAB解無約束優化問題解無約束優化問題 其中等式(3)、(4)、(5)的右邊可選用(1)或(2)的等式右邊. 函數fminbnd的算法基于黃金分割法和二次插值法,它要求目標函數必須是連續函數

7、,并可能只給出局部最優解. 常用格式如下:常用格式如下:(1)x= fminbnd (fun,x1,x2)(2)x= fminbnd (fun,x1,x2 ,options)(3)x,fval= fminbnd()(4)x,fval,exitflag= fminbnd()(5)x,fval,exitflag,output= fminbnd()整理課件MATLAB(wliti1) 主程序為主程序為wliti1.m: f=2*exp(-x).*sin(x); fplot(f,0,8); %作圖語句作圖語句 xmin,ymin=fminbnd (f, 0,8) f1=-2*exp(-x).*sin

8、(x); xmax,ymax=fminbnd (f1, 0,8)整理課件例例2 2 有邊長為有邊長為3 3m的正方形鐵板,在四個角剪去相等的正方形以的正方形鐵板,在四個角剪去相等的正方形以制成方形無蓋水槽,問如何剪法使水槽的容積最大?制成方形無蓋水槽,問如何剪法使水槽的容積最大?解解先編寫先編寫M文件如下文件如下: : function f=fun0(x) f=-(3-2*x).2*x;主程序為主程序為wliti2.m: x,fval=fminbnd(fun0,0,1.5); xmax=x fmax=-fval運算結果為運算結果為: xmax = 0.5000, = 0.5000,fmax =

9、2.0000. =2.0000.即剪掉的正方形即剪掉的正方形的邊長為的邊長為m時水槽的容積最大時水槽的容積最大, ,最大容積為最大容積為2 2m3. .MATLAB(wliti2)整理課件 命令格式為命令格式為: :(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,

10、exitflag= fminsearch(5)x,fval,exitflag,output= fminunc(.); 或x,fval,exitflag,output= fminsearch(.) 2.多元函數無約束優化問題多元函數無約束優化問題標準型為:標準型為:min()F X整理課件3 fminunc為中型優化算法的步長一維搜索提供了兩種算法,由選項中參數LineSearchType控制: LineSearchType=quadcubic (缺省值),混合的二次和三次多項式插值; LineSearchType=cubicpoly,三次多項式插使用使用fminunc和和 fminsearch

11、可能會得到局部最優解可能會得到局部最優解. .說明說明: :fminsearch是用單純形法尋優是用單純形法尋優.fminunc算法見以下幾點說明:算法見以下幾點說明:1 fminunc為無約束優化提供了大型優化和中型優化算法.由選項中的參數LargeScale控制:LargeScale=on (默認值默認值),使用大型算法使用大型算法LargeScale=off (默認值默認值),使用中型算法使用中型算法2 fminunc為中型優化算法的搜索方向提供了4種算法,由 選項中的參數選項中的參數HessUpdate控制:控制: HessUpdate=bfgs(默認值),擬牛頓法的(默認值),擬牛頓

12、法的BFGS公式;公式;HessUpdate=dfp,擬牛頓法的,擬牛頓法的DFP公式;公式;HessUpdate=steepdesc,最速下降法,最速下降法整理課件例例3 3 minMATLAB(wliti3) 1. 1.編寫編寫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文件如下文件如下: : x0 = -1, 1; x=fminunc(fun1,x0); y=fun1(x) 3. 3.運行結果運行結果: : 12212122( )(42421) ex

13、f xxxx xx整理課件MATLAB (wliti31)MATLAB (wliti32)整理課件3.3.用用fminsearch函數求解函數求解MATLAB (wliti41)輸入命令: f=100*(x(2)-x(1)2)2+(1-x(1)2;x,fval,exitflag,output=fminsearch(f,-1.2 2)運行結果: exitflag = 1output= iterations: 108 funcCount: 202 algorthm: Nelder-Mead simplex direct search 整理課件4.4.用用fminunc 函數函數MATLAB (wl

14、iti44)(1)建立M文件 function f=fun2(x) f=100*(x(2)-x(1)2)2+(1-x(1)2(2)主程序整理課件 Rosenbrock函數不同算法的計算結果函數不同算法的計算結果 可以看出,最速下降法的結果最差.因為最速下降法特別不適合于從一狹長通道到達最優解的情況.整理課件例例5 5 產銷量的最佳安排產銷量的最佳安排 某廠生產一種產品有甲、乙兩個牌號,討論在產銷平衡的情況下如何確定各自的產量,使總利潤最大.所謂產銷平衡指工廠的產量等于市場上的銷量.整理課件基本假設基本假設1 1價格與銷量成線性關系價格與銷量成線性關系2 2成本與產量成負指數關系成本與產量成負指

15、數關系整理課件 模型建立模型建立 若根據大量的統計數據,求出系數b1=100,a11=1,a12=0.1,b2=280,a21=0.2,a22=2,r1=30,1=0.015,c1=20, r2=100,2=0.02,c2=30,則問題轉化為無約束優化問題:求甲,乙兩個牌號的產量x1,x2,使總利潤z最大. 為簡化模型,先忽略成本,并令a12=0,a21=0,問題轉化求z1 = ( b1 - a11x1 ) x1 + ( b2 - a22x2 ) x2的極值.顯然其解為x1 = b1/2a11 = 50, x2 = b2/2a22 = 70,我們把它作為原問題的初始值.總利潤為:總利潤為: z(x1,x2)=(p1-q1)x1+(p2-q2)x2整理課件 模型求解模型求解 1.建立M文件: function f = fun (x) y1=(100-x(1)- 0.1*x(2)-(30*exp(-0.015*x(1)+20)*

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論