




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 高等數(shù)學(xué)高等數(shù)學(xué) 上機(jī)教學(xué)(四)上機(jī)教學(xué)(四)函數(shù)的極值與優(yōu)化函數(shù)的極值與優(yōu)化上機(jī)目的上機(jī)目的上機(jī)內(nèi)容上機(jī)內(nèi)容MATLAB2、會使用、會使用Matlab解決無約束最優(yōu)化問題解決無約束最優(yōu)化問題.上機(jī)軟件上機(jī)軟件1、會使用、會使用Matlab求函數(shù)的極值;求函數(shù)的極值;1、 Matlab中函數(shù)的輸入與調(diào)用;中函數(shù)的輸入與調(diào)用;2、函數(shù)極值的求法;、函數(shù)極值的求法;3、無約束最優(yōu)化問題、無約束最優(yōu)化問題. 在在Matlab中,函數(shù)是采用中,函數(shù)是采用M文件的方式存儲的。文件的方式存儲的。具體步驟如下:具體步驟如下: 1、新建一個(gè)、新建一個(gè)M文件:文件:通過點(diǎn)擊主窗口左上的新建按鈕。通過點(diǎn)擊主窗口
2、左上的新建按鈕。 2、輸入函數(shù)內(nèi)容:、輸入函數(shù)內(nèi)容: 例:函數(shù)例:函數(shù) f(x1,x2)=exp(X12+X2) 應(yīng)在應(yīng)在M文件文件中輸入如下:中輸入如下:一、自變量為數(shù)量形式的函數(shù)的輸入一、自變量為數(shù)量形式的函數(shù)的輸入第一節(jié)第一節(jié) Matlab中函數(shù)的輸入與調(diào)用中函數(shù)的輸入與調(diào)用注意:注意:(1)、函數(shù)標(biāo)識關(guān)鍵字:)、函數(shù)標(biāo)識關(guān)鍵字:function(2)、函數(shù)名:)、函數(shù)名:f1=f1 自變量自變量: (x1,x2) (3)、函數(shù)表達(dá)式:)、函數(shù)表達(dá)式:a=exp(x12+x2) 函數(shù)表達(dá)式可以由多個(gè)式子組成。函數(shù)表達(dá)式可以由多個(gè)式子組成。(4)、給函數(shù)結(jié)果賦值:)、給函數(shù)結(jié)果賦值:f1=
3、a 3、存儲函數(shù):、存儲函數(shù):點(diǎn)擊編輯窗口的保存按鈕。點(diǎn)擊編輯窗口的保存按鈕。 注意注意:不要改變保存路徑,文件名稱必須和函數(shù)名稱一致。不要改變保存路徑,文件名稱必須和函數(shù)名稱一致。4、函數(shù)的調(diào)用:、函數(shù)的調(diào)用: 函數(shù)保存后,在命令窗口中即可調(diào)用該函數(shù)。函數(shù)保存后,在命令窗口中即可調(diào)用該函數(shù)。 如求上述函數(shù)在如求上述函數(shù)在x1=1,x2=2處的函數(shù)值,即可在命令處的函數(shù)值,即可在命令窗口中輸入:窗口中輸入:f1(1,2) 其中其中 f1 為剛才所輸入的函數(shù)名。為剛才所輸入的函數(shù)名。二、自變量為向量形式函數(shù)的輸入二、自變量為向量形式函數(shù)的輸入例:函數(shù)例:函數(shù)f(x)=exp(x(1)2+x(2)
4、.其中其中x=(x(1),x(2),即即x為一個(gè)二維向量。為一個(gè)二維向量。此時(shí)的輸入與調(diào)用方式與數(shù)量時(shí)不同此時(shí)的輸入與調(diào)用方式與數(shù)量時(shí)不同。1、輸入:、輸入:2、調(diào)用:、調(diào)用: 此時(shí)自變量為向量,調(diào)用格式為:此時(shí)自變量為向量,調(diào)用格式為:f2(1,2) 或或 x=1 2; f2(x) 即,自變量需采用向量形式輸入。即,自變量需采用向量形式輸入。3、實(shí)際運(yùn)行結(jié)果如下:、實(shí)際運(yùn)行結(jié)果如下: f2(1,2)ans = 20.0855 x=1,2; f2(x)ans = 20.0855Matlab中,求一元函數(shù)極值的函數(shù)為中,求一元函數(shù)極值的函數(shù)為 fminbnd 1、此函數(shù)最簡輸入格式為:、此函數(shù)最
5、簡輸入格式為:x=fminbnd(f,a,b)含義為:含義為:求函數(shù)求函數(shù)f在區(qū)間在區(qū)間a,b上的最小值點(diǎn)上的最小值點(diǎn)(自變量值自變量值).2、對于最大值問題,需轉(zhuǎn)化為最小值問題來處理。、對于最大值問題,需轉(zhuǎn)化為最小值問題來處理。 ( -f(x)在區(qū)間在區(qū)間a,b上的最小值就是上的最小值就是f(x)在在a,b的最大值)的最大值) 第二節(jié)第二節(jié) 函數(shù)極值的求法函數(shù)極值的求法一、一元函數(shù)極值的求法一、一元函數(shù)極值的求法3、常用格式、常用格式x,fval=fminbnd(f,a,b). 結(jié)果中,結(jié)果中,fval為最小值,為最小值,x為取到最小值的點(diǎn)。為取到最小值的點(diǎn)。例:例:Matlab命令:命令:
6、x,fval=fminbnd(x.2+3*x+1,-2,3)含義是:含義是:求函數(shù)求函數(shù)f(x)=x2+3*x+1在在-2,3內(nèi)的最小值。內(nèi)的最小值。結(jié)果為結(jié)果為x = -1.5000 fval = -1.2500注注:此時(shí)函數(shù)很簡單,故沒有使用:此時(shí)函數(shù)很簡單,故沒有使用M文件。文件。 多元函數(shù)的最小值問題,在多元函數(shù)的最小值問題,在Matlab中有中有2個(gè)經(jīng)常個(gè)經(jīng)常使用的函數(shù):使用的函數(shù): 1、fminsearch 2、fminunc 注意注意: (1)、在使用這兩個(gè)函數(shù)時(shí),必須首先用)、在使用這兩個(gè)函數(shù)時(shí),必須首先用M文文件的形式存儲待求最值的函數(shù),并且需以向量函數(shù)件的形式存儲待求最值的
7、函數(shù),并且需以向量函數(shù)的形式表達(dá);的形式表達(dá); ( 2)、最大值問題需轉(zhuǎn)化為最小值問題。)、最大值問題需轉(zhuǎn)化為最小值問題。二、多元函數(shù)極值的求法二、多元函數(shù)極值的求法(1)、此函數(shù)使用單純型法搜索最值;)、此函數(shù)使用單純型法搜索最值;(2)、使用格式:)、使用格式: x,fval= fminsearch(f,x0) 其中其中f為待求最值的向量函數(shù),為待求最值的向量函數(shù),x0為搜索過程為搜索過程開始時(shí)自變量的初始值。開始時(shí)自變量的初始值。例:例:fminsearch(f,1,2) 含義為:在含義為:在x=1,2附近搜附近搜尋函數(shù)尋函數(shù)f的最小值。的最小值。 1、 fminsearch 例:例:求
8、函數(shù)求函數(shù)f(x,y)= -(x+y)+(x2+y2+1)在在x=1,y=2 附近的最小值點(diǎn)。附近的最小值點(diǎn)。解決步驟:解決步驟: 1、建立、建立M文件,保存函數(shù)文件,保存函數(shù)f; M文件內(nèi)容為:文件內(nèi)容為: function f1=f1(x) a=-(x(1)+x(2); b=(x(1)2+x(2)2+1); f1=a+b; 2、調(diào)用、調(diào)用fminsearch函數(shù)求最值函數(shù)求最值. 在命令窗口中,輸入:在命令窗口中,輸入: x0=1,2; x,fval=fminsearch(f1,x0) 3、輸出結(jié)果為:、輸出結(jié)果為: X = 0.5000 0.5000 fval =0.5000(1)、此函
9、數(shù)與)、此函數(shù)與fminsearch不同的地方在于使用的不同的地方在于使用的搜索方法不同,它使用牛頓法搜索最值,在效率上搜索方法不同,它使用牛頓法搜索最值,在效率上有所提高;有所提高;(2)、使用格式與)、使用格式與fminsearch類似:類似: x,fval= fminunc(f,x0) 其中其中f為待求最值的向量函數(shù),為待求最值的向量函數(shù),x0為搜索過程開為搜索過程開始時(shí)自變量的初始值。始時(shí)自變量的初始值。例例:fminunc(f,1,2) 含義為:在含義為:在x=1,2附近搜尋附近搜尋函數(shù)函數(shù)f的最小值。的最小值。 2、 fminunc 第三節(jié)第三節(jié) 無約束最優(yōu)化問題無約束最優(yōu)化問題求
10、解無約束最優(yōu)化問題的的基本思想求解無約束最優(yōu)化問題的的基本思想* Matlab優(yōu)化工具箱簡介優(yōu)化工具箱簡介 XfnEXmin 其中 1:EEfn標(biāo)準(zhǔn)形式:標(biāo)準(zhǔn)形式:一、求解無約束最優(yōu)化問題的基本思想一、求解無約束最優(yōu)化問題的基本思想求解的基本思想求解的基本思想 ( 以二元函數(shù)為例 )1x2x)(21xxf01x2x05310X1X2X)(0Xf)(1Xf)(2Xf連續(xù)可微 XfnEXmax = minXfnEX 多局部極小298.0f0f298.0f 唯一極小(全局極小)2122212121322)(xxxxxxxxf搜索過程搜索過程21221221)1 ()(100)(minxxxxxf最優(yōu)
11、點(diǎn) (1 1)初始點(diǎn) (-1 1)1x2xf-114.00-0.790.583.39-0.530.232.60-0.180.001.500.09-0.030.980.370.110.470.590.330.200.800.630.050.950.90 0.0030.990.991E-40.9990.9981E-50.9997 0.9998 1E-8二、用二、用Matlab解無約束優(yōu)化問題(舉例說明)解無約束優(yōu)化問題(舉例說明) 其中(3)、(4)、(5)的等式右邊可選用(1)或(2)的等式右邊。 函數(shù)fminbnd的算法基于黃金分割法和二次插值法,它要求目標(biāo)函數(shù)必須是連續(xù)函數(shù),并可能只給出局部
12、最優(yōu)解。常用格式如下:常用格式如下:(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(.)運(yùn)行結(jié)果: xmin = 3.9270 ymin = -0.0279 xmax = 0.7854 ymax = 0.6448 解解 在在matlab命令窗口中輸入:命令窗口中輸入: f=2*exp(-x).*sin(x); fplot(f,0,8); %作圖語句作圖語句
13、 xmin,ymin=fminbnd (f, 0,8) f1=-2*exp(-x).*sin(x); xmax,ymax=fminbnd (f1, 0,8)例例2 對邊長為對邊長為3米的正方形鐵板,在四個(gè)角剪去相等的正方形以米的正方形鐵板,在四個(gè)角剪去相等的正方形以制成方形無蓋水槽,問如何剪法使水槽的容積最大?制成方形無蓋水槽,問如何剪法使水槽的容積最大?解解先編寫先編寫M文件文件fun0.m如下如下: function f=fun0(x) f=-(3-2*x).2*x;主程序?yàn)椋褐鞒绦驗(yàn)椋?x,fval=fminbnd(fun0,0,1.5); xmax=x fmax=-fval運(yùn)算結(jié)果為運(yùn)
14、算結(jié)果為: xmax = 0.5000,fmax =2.0000.即剪掉的正方形的邊即剪掉的正方形的邊長為長為0.5米時(shí)水槽的容積最大米時(shí)水槽的容積最大,最大容積為最大容積為2立方米立方米. 命令格式為命令格式為:(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(.);)
15、; 或或x,fval,exitflag= fminsearch(5)x,fval,exitflag,output= fminunc(.);); 或或x,fval,exitflag,output= fminsearch(.) 2、多元函數(shù)無約束優(yōu)化問題、多元函數(shù)無約束優(yōu)化問題標(biāo)準(zhǔn)型為:標(biāo)準(zhǔn)型為:min F(X)3 fminunc為中型優(yōu)化算法的步長一維搜索提供了兩種算法,由為中型優(yōu)化算法的步長一維搜索提供了兩種算法,由options中參中參數(shù)數(shù)LineSearchType控制:控制: LineSearchType=quadcubic(缺省值缺省值),混合的二次和三次多項(xiàng)式插值;,混合的二次和三次
16、多項(xiàng)式插值; LineSearchType=cubicpoly,三次多項(xiàng)式插,三次多項(xiàng)式插使用使用fminunc和和 fminsearch可能會得到局部最優(yōu)解可能會得到局部最優(yōu)解.說明說明:fminsearch是用單純形法尋優(yōu)是用單純形法尋優(yōu). fminunc的算法見以下幾點(diǎn)說明:的算法見以下幾點(diǎn)說明:1 fminunc為無約束優(yōu)化提供了大型優(yōu)化和中型優(yōu)化算法。由為無約束優(yōu)化提供了大型優(yōu)化和中型優(yōu)化算法。由options中中 的參數(shù)的參數(shù)LargeScale控制:控制:LargeScale=on(默認(rèn)值默認(rèn)值),使用大型算法使用大型算法LargeScale=off(默認(rèn)值默認(rèn)值),使用中型算法
17、使用中型算法2 fminunc為中型優(yōu)化算法的搜索方向提供了為中型優(yōu)化算法的搜索方向提供了4種算法,由種算法,由 options中的參中的參數(shù)數(shù)HessUpdate控制:控制:HessUpdate=bfgs(默認(rèn)值),擬牛頓法的(默認(rèn)值),擬牛頓法的BFGS公式;公式;HessUpdate=dfp,擬牛頓法的,擬牛頓法的DFP公式;公式;HessUpdate=steepdesc,最速下降法,最速下降法例例3 min f(x)=(4x12+2x22+4x1x2+2x2+1)*exp(x1) 1、編寫、編寫M-文件文件 fun1.m: function f = fun1 (x) f = exp(x
18、(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1); 2、輸入命令窗口中輸入、輸入命令窗口中輸入: x0 = -1, 1; x=fminunc(fun1,x0); y=fun1(x) 3、運(yùn)行結(jié)果、運(yùn)行結(jié)果: x= 0.5000 -1.0000 y = 1.3029e-10例例4 產(chǎn)銷量的最佳安排產(chǎn)銷量的最佳安排 某廠生產(chǎn)一種產(chǎn)品有甲、乙兩個(gè)牌號,討論在產(chǎn)銷平某廠生產(chǎn)一種產(chǎn)品有甲、乙兩個(gè)牌號,討論在產(chǎn)銷平衡的情況下如何確定各自的產(chǎn)量,使總利潤最大衡的情況下如何確定各自的產(chǎn)量,使總利潤最大. 所謂產(chǎn)所謂產(chǎn)銷平衡指工廠的產(chǎn)量等于市場上的銷量銷平衡指工廠的產(chǎn)量等于市
19、場上的銷量.2、基本假設(shè)、基本假設(shè)(1)價(jià)格與銷量成線性關(guān)系)價(jià)格與銷量成線性關(guān)系利潤既取決于銷量和價(jià)格,也依賴于產(chǎn)量和成本。按照市場規(guī)律,甲的價(jià)格 p1會隨其銷量 x1的增長而降低,同時(shí)乙的銷量 x2的增長也會使甲的價(jià)格有稍微的下降,可以簡單地假設(shè)價(jià)格與銷量成線性關(guān)系,即: p1 = b1 - a11 x1 - a12 x2 ,b1,a11,a12 0,且a11 a12;同理, p2 = b2 - a21 x1- a22 x2 ,b2,a21,a22 0,且a22 a21 .(2)成本與產(chǎn)量成負(fù)指數(shù)關(guān)系)成本與產(chǎn)量成負(fù)指數(shù)關(guān)系甲的成本隨其產(chǎn)量的增長而降低,且有一個(gè)漸進(jìn)值,可以假設(shè)為負(fù)指數(shù)關(guān)系
20、,即: 0,11111111crcerqx 同理, 0,22222222crcerqx 3、模型建立、模型建立 若根據(jù)大量的統(tǒng)計(jì)數(shù)據(jù)若根據(jù)大量的統(tǒng)計(jì)數(shù)據(jù),求出系數(shù)求出系數(shù)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,則則問題轉(zhuǎn)化為無約束優(yōu)化問題:求甲問題轉(zhuǎn)化為無約束優(yōu)化問題:求甲,乙兩個(gè)牌號的產(chǎn)量乙兩個(gè)牌號的產(chǎn)量x1,x2,使,使總利潤總利潤z最大最大. 為簡化模型為簡化模型,先忽略成本先忽略成本,并令并令a12=0,a21=0,問題轉(zhuǎn)化為求問題轉(zhuǎn)化為求: z1 = ( b1
21、 - a11x1 ) x1 + ( b2 - a22x2 ) x2 的極值的極值. 顯然其解為顯然其解為x1 = b1/2a11 = 50, x2 = b2/2a22 = 70,我們把它作為原問題的初始值我們把它作為原問題的初始值.總利潤為:總利潤為: z(x1,x2)=(p1-q1)x1+(p2-q2)x2 4、模型求解、模型求解 (1). 建立建立M-文件文件fun.m: function f = fun(x) y1=(100-x(1)- 0.1*x(2)-(30*exp(-0.015*x(1)+20)*x(1); y2=(280-0.2*x(1)- 2*x(2)-(100*exp(-0.02*x(2)+30)*x(2); f=-y1-y2; (2). 輸入命令輸入命令: x0=50,70; x=fminunc(fun,x0), z=fun(x) (3). 計(jì)算結(jié)果計(jì)算結(jié)果
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)權(quán)式車庫租賃管理協(xié)議范本
- 智能化采礦權(quán)出讓及安全監(jiān)管合同范本
- 城市更新項(xiàng)目拆遷安置房產(chǎn)權(quán)轉(zhuǎn)移協(xié)議
- 吃蒸熟荔枝的正確方法
- 腹腔感染護(hù)理課件
- 檔案著錄規(guī)則研究員考試試卷及答案
- 高端制造股權(quán)投資與市場拓展協(xié)議
- 股東合作協(xié)議:大數(shù)據(jù)分析與應(yīng)用合作開發(fā)合同
- 時(shí)尚行業(yè)品牌設(shè)計(jì)師雇傭協(xié)議模板
- 知識產(chǎn)權(quán)運(yùn)營平臺股東股權(quán)轉(zhuǎn)讓與技術(shù)支持協(xié)議
- 2025年鄉(xiāng)村全科助理醫(yī)師助理醫(yī)師資格證考試必刷題庫(500題)
- 景區(qū)抽成合同協(xié)議
- 網(wǎng)絡(luò)安全知識手冊
- 鐵路公司質(zhì)量管理制度
- 物業(yè)公司接管公寓樓項(xiàng)目工作時(shí)間倒推計(jì)劃表(T日為入駐日)
- DB1304T 500-2025民用水表、電能表、燃?xì)獗碛?jì)量糾紛處理規(guī)范
- 湖南省長沙市寧鄉(xiāng)市2025年五年級數(shù)學(xué)第二學(xué)期期末統(tǒng)考試題含答案
- 內(nèi)蒙古赤峰市松山區(qū)2024-2025學(xué)年九年級上學(xué)期期末化學(xué)試題(含答案)
- 軟件質(zhì)量保證措施及案例
- 粉塵防爆培訓(xùn)教育
- 勞務(wù)派遣許可申請書
評論
0/150
提交評論