數(shù)學(xué)建模講義-最優(yōu)化模型-無(wú)約束最優(yōu)化_第1頁(yè)
數(shù)學(xué)建模講義-最優(yōu)化模型-無(wú)約束最優(yōu)化_第2頁(yè)
數(shù)學(xué)建模講義-最優(yōu)化模型-無(wú)約束最優(yōu)化_第3頁(yè)
數(shù)學(xué)建模講義-最優(yōu)化模型-無(wú)約束最優(yōu)化_第4頁(yè)
數(shù)學(xué)建模講義-最優(yōu)化模型-無(wú)約束最優(yōu)化_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)學(xué)建模講義最優(yōu)化模型

---無(wú)約束最優(yōu)化無(wú)約束最優(yōu)化問(wèn)題1、無(wú)約束最優(yōu)化模型2、無(wú)約束最優(yōu)化的主要算法。3、用數(shù)學(xué)軟件包求解無(wú)約束最優(yōu)化問(wèn)題4、建模案例選講標(biāo)準(zhǔn)形式:無(wú)約束最優(yōu)化模型求解的基本思想

(以二元函數(shù)為例)531連續(xù)可微二元函數(shù)圖像多局部極小

唯一極小(全局極小)無(wú)約束最優(yōu)化示意圖凸函數(shù)的概念定義:凸集D

Rn上的函數(shù)f(x).如果對(duì)任意兩點(diǎn)x(1),x(2)

∈D,均有0<

<1使得

f(

x(1)+(1-

)x(2))

f(x(1))

+(1-

)f(x(2))則稱函數(shù)f(x)為D上的凸函數(shù).若嚴(yán)格不等式成立,則稱函數(shù)f(x)為D上的嚴(yán)格凸函數(shù).如果-g(x)為D上的(嚴(yán)格)凸函數(shù),則g(x)為D上的(嚴(yán)格)凹函數(shù).無(wú)約束最優(yōu)化性質(zhì)討論f(x)xf(x1)f(x2)

x1x2f(x)xf(x1)f(x2)

x1x2

x1+(1-

)x2f(x1+(1-

)x2)f(x)x

f(x1)

+(1-

)f(x2)f(x1)f(x2)

x1x2

x1+(1-

)x2f(x1+(1-

)x2)f(x)X

f(x1)

+(1-

)f(x2)f(x1)f(x2)x1x2

x1+(1-

)x2f(x1+(1-

)x2)任意兩點(diǎn)的函數(shù)值的連線上的點(diǎn)都在曲線的上方線性函數(shù)既是凸函數(shù),又是凹函數(shù),反之也然.梯度向量

f(x)=gradf(x)=(f/x1,f/x2,…..,f/xn)正定矩陣如果對(duì)矩陣H(x),對(duì)任意x

N(x*,),z

Rn

均有zTH(x)z>0(0),則稱H(x)在x*點(diǎn)正定(半正定).海賽(Hesse)矩陣

2f/x12

2f/x1x2…..2f/x1xn

2f/x2x1

2f/x22

…..2f/x2xn……..

2f/xnx1

2f/xnx2…..2f/xn2=

xxf(x)=H(x)

最優(yōu)性條件最優(yōu)性條件的研究是非線性規(guī)劃理論研究的一個(gè)中心問(wèn)題。為什么要研究最優(yōu)性條件?本質(zhì)上把可行解集合的范圍縮小。它是許多算法設(shè)計(jì)的基礎(chǔ)。無(wú)約束問(wèn)題的最優(yōu)性條件(P1)minf(x)x

Rn

定理1(一階必要條件)

設(shè)f(x)在x*點(diǎn)可微,則x*為(P1)的一個(gè)局部最優(yōu)解,一定有

f(x*)=gradf(x*)=0(x*稱為駐點(diǎn))定理2(二階必要條件)

設(shè)f(x)在x*點(diǎn)二階可微,如果x*為(P1)的一個(gè)局部最優(yōu)解,則有

f(x*)=0和H(x*)為半正定。定理3(二階充分條件)

設(shè)f(x)在x*點(diǎn)二階可微,如果

f(x*)=0和H(x*)為正定,則x*為(P1)的一個(gè)局部最優(yōu)解H(x)在x*的鄰域內(nèi)為半正定。定理4(全局優(yōu)化的一階充分條件)

設(shè)f(x)為En上的凸函數(shù),又設(shè)f(x)在x*點(diǎn)可微,如果

f(x*)=0,則x*為(P1)的一個(gè)整體最優(yōu)解。例6-2

minf(x)=(x2-1)3

解:利用一階必要條件求出有可能成為最優(yōu)解的那些點(diǎn):f(x)=6x(x2-1)2=0得到:x1=0,x2=1,x3=-1進(jìn)一步考慮二階必要條件,縮小范圍:H(x)=xxf(x)=6(x2-1)2+24x2(x2-1)

H(x1)=xxf(x1)=xxf(0)=6>0H(x2)=xxf(x2)=xxf(1)=0H(x3)=xxf(x3)=xxf(-1)=0

f(x)在x1=0點(diǎn)正定,根據(jù)二階必要條件,x1=0為(P1)的局部最優(yōu)解。而x2=1,x3=-1滿足二階必要條件和一階必要條件,但它們顯然都不是最優(yōu)解。例6-3

minf(x)=2x12+5x22+x32+

2x2x3

+

2x1x3-

6x2+3解:

f(x)=(4x1+

2x3,10x2+

2x3–

6,2x1+

2x2+

2x3

)=0駐點(diǎn)x*=(1,1,-2)020102222

H(x)=xxf(x)=各階主子式:4

0010=40>0020102222=24>04>0,H(x)正定,x*=(1,1,-2)為最優(yōu)解。f(x*)=0解無(wú)約束問(wèn)題的算法:求f(x)的駐點(diǎn)x*,若是凸函數(shù),得到最優(yōu)解。否則,轉(zhuǎn)下一步。在駐點(diǎn)x*處,計(jì)算H(x)。根據(jù)H(x)來(lái)判斷該駐點(diǎn)x*是否是極值點(diǎn)。若H(x)為正定,該駐點(diǎn)X*是嚴(yán)格局部極小值點(diǎn);若H(x)為負(fù)定,該駐點(diǎn)X*是嚴(yán)格局部極大值點(diǎn);若H(x)為半正定(半負(fù)定)則進(jìn)一步觀察它在該點(diǎn)某鄰域內(nèi)的情況,如果保持半正定(半負(fù)定),那它們是嚴(yán)格局部極小值點(diǎn)(極大值點(diǎn));如果H(x)不定的,該駐點(diǎn)x*就不是f(x)極值點(diǎn)。例6-4

求極值f(x)=x1+

2x3+x2x3-x12-x22-x32解:

f(x)=(1-2x1,x3-2x2,2+x2-

2x3)=0

駐點(diǎn)x*=(1/2,2/3,4/3)-2000-2101-2

H(x)=xxf(x)=各階主子式:-2

00-2=4>0=-6<0-2000-2101-2-2<0,H(x)負(fù)定,f(x)

是凹函數(shù)x*=(1/2,2/3,4/3)為極大值點(diǎn)。f(x*)=f(1/2,2/3,4/3)=19/12注:對(duì)規(guī)模較大的一些問(wèn)題,我們無(wú)法通過(guò)直接求解的方法得到問(wèn)題的駐點(diǎn),只能通過(guò)逐步迭代的方法解決這個(gè)問(wèn)題,下面給出一個(gè)迭代求解的示意圖.搜索過(guò)程最優(yōu)點(diǎn)(11)初始點(diǎn)(-11)-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.900.0030.990.991E-40.9990.9981E-50.99970.99981E-8無(wú)約束優(yōu)化問(wèn)題的基本算法

最速下降法是一種最基本的算法,它在最優(yōu)化方法中占有重要地位.最速下降法的優(yōu)點(diǎn)是工作量小,存儲(chǔ)變量較少,初始點(diǎn)要求不高;缺點(diǎn)是收斂慢,最速下降法適用于尋優(yōu)過(guò)程的前期迭代或作為間插步驟,當(dāng)接近極值點(diǎn)時(shí),宜選用別種收斂快的算法.1.最速下降法1.最速下降法(共軛梯度法)算法步驟:2.牛頓法算法步驟:(1)選定初始點(diǎn),給定允許誤差,令k=0;(2)

求,檢驗(yàn):若成立,則停止迭代,.否則,轉(zhuǎn)向(3);.(3)令(牛頓方向);

(4),轉(zhuǎn)回(2)

如果f是對(duì)稱正定矩陣A的二次函數(shù),則用牛頓法經(jīng)過(guò)一次迭代就可達(dá)到最優(yōu)點(diǎn),如不是二次函數(shù),則牛頓法不能一步達(dá)到極值點(diǎn),但由于這種函數(shù)在極值點(diǎn)附近和二次函數(shù)很近似,因此牛頓法的收斂速度還是很快的.

牛頓法的收斂速度雖然較快,但要求Hessian矩陣要可逆,要計(jì)算二階導(dǎo)數(shù)和逆矩陣,就加大了計(jì)算機(jī)計(jì)算量和存儲(chǔ)量.3.?dāng)M牛頓法Matlab優(yōu)化工具箱簡(jiǎn)介1.MATLAB求解優(yōu)化問(wèn)題的主要函數(shù)2.優(yōu)化函數(shù)的輸入變量

使用優(yōu)化函數(shù)或優(yōu)化工具箱中其它優(yōu)化函數(shù)時(shí),輸入變量見(jiàn)下表:3.優(yōu)化函數(shù)的輸出變量下表:4.控制參數(shù)options的設(shè)置

(3)MaxIter:允許進(jìn)行迭代的最大次數(shù),取值為正整數(shù).Options中常用的幾個(gè)參數(shù)的名稱、含義、取值如下:

(1)Display:顯示水平.取值為’off’時(shí),不顯示輸出;取值為’iter’時(shí),顯示每次迭代的信息;取值為’final’時(shí),顯示最終結(jié)果.默認(rèn)值為’final’.MaxFunEvals:允許進(jìn)行函數(shù)評(píng)價(jià)的最大次數(shù),取值為正整數(shù).例:opts=optimset(‘Display’,’iter’,’TolFun’,1e-8)

該語(yǔ)句創(chuàng)建一個(gè)稱為opts的優(yōu)化選項(xiàng)結(jié)構(gòu),其中顯示參數(shù)設(shè)為’iter’,TolFun參數(shù)設(shè)為1e-8.

控制參數(shù)options可以通過(guò)函數(shù)optimset創(chuàng)建或修改。命令的格式如下:(1)options=optimset(‘optimfun’)

創(chuàng)建一個(gè)含有所有參數(shù)名,并與優(yōu)化函數(shù)optimfun相關(guān)的默認(rèn)值的選項(xiàng)結(jié)構(gòu)options.(2)options=optimset(‘param1’,value1,’param2’,value2,...)

創(chuàng)建一個(gè)名稱為options的優(yōu)化選項(xiàng)參數(shù),其中指定的參數(shù)具有指定值,所有未指定的參數(shù)取默認(rèn)值.(3)options=optimset(oldops,‘param1’,value1,’param2’,value2,...)

創(chuàng)建名稱為oldops的參數(shù)的拷貝,用指定的參數(shù)值修改oldops中相應(yīng)的參數(shù).用Matlab解無(wú)約束優(yōu)化問(wèn)題

其中(3)(4)(5)的等式右邊可選用(1)或(2)的等式右邊。函數(shù)fminbnd的算法基于黃金分割法和二次插值法,它要求目標(biāo)函數(shù)必須是連續(xù)函數(shù),并可能只給出局部最優(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)閣liti1.m:f='2*exp(-x).*sin(x)';fplot(f,[0,8]);%作圖語(yǔ)句

[xmin,ymin]=fminbnd(f,0,8)f1='-2*exp(-x).*sin(x)';[xmax,ymax]=fminbnd(f1,0,8)例2:對(duì)邊長(zhǎng)為3米的正方形鐵板,在四個(gè)角剪去相等的正方形以制成方形無(wú)蓋水槽,問(wèn)如何剪法使水槽的容積最大?解先編寫(xiě)M文件fun0.m如下:functionf=fun0(x)f=-(3-2*x).^2*x;主程序?yàn)閣liti2.m:[x,fval]=fminbnd('fun0',0,1.5);xmax=xfmax=-fval運(yùn)算結(jié)果為:xmax=0.5000,fmax=2.0000.即剪掉的正方形的邊長(zhǎng)為0.5米時(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(…);或[x,fval,exitflag]=fminsearch(…);(5)[x,fval,exitflag,output]=fminunc(…);或[x,fval,exitflag,output]=fminsearch(…);2、多元函數(shù)無(wú)約束優(yōu)化問(wèn)題標(biāo)準(zhǔn)型為:minF(x)說(shuō)明:fminsearch是用單純形法尋優(yōu).fminunc的算法見(jiàn)以下幾點(diǎn)說(shuō)明:[1]fminunc為無(wú)約束優(yōu)化提供了大型優(yōu)化和中型優(yōu)化算法。由options中的參數(shù)LargeScale控制:

LargeScale=’on’(默認(rèn)值),使用大型算法

LargeScale=’off’(默認(rèn)值),使用中型算法[2]

fminunc為中型優(yōu)化算法的搜索方向提供了4種算法,由options中的參數(shù)HessUpdate控制:

HessUpdate=’bfgs’(默認(rèn)值),擬牛頓法的BFGS公式;

HessUpdate=’dfp’,擬牛頓法的DFP公式;

HessUpdate=’steepdesc’,最速下降法[3]fminunc為中型優(yōu)化算法的步長(zhǎng)一維搜索提供了兩種算法,由options中參數(shù)LineSearchType控制:

LineSearchType=’quadcubic’(缺省值),混合的二次和三次多項(xiàng)式插值;

LineSearchType=’cubicpoly’,三次多項(xiàng)式插

使用fminunc和fminsearch可能會(huì)得到局部最優(yōu)解.例3:

minf(x)=(4x12+2x22+4x1x2+2x2+1)*exp(x1)

1、編寫(xiě)M-文件fun1.m:functionf=fun1(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);

2、輸入M文件wliti3.m如下:x0=[-1,1];x=fminunc(‘fun1’,x0);y=fun1(x)3、運(yùn)行結(jié)果:

x=0.5000-1.0000

y=1.3029e-10例4:產(chǎn)銷量的最佳安排某廠生產(chǎn)一種產(chǎn)品有甲、乙兩個(gè)牌號(hào),討論在產(chǎn)銷平衡的情況下如何確定各自的產(chǎn)量,使總利潤(rùn)最大.所謂產(chǎn)銷平衡指工廠的產(chǎn)量等于市場(chǎng)上的銷量.基本假設(shè)1.價(jià)格與銷量成線性關(guān)系2.成本與產(chǎn)量成負(fù)指數(shù)關(guān)系

模型建立

若根據(jù)大量的統(tǒng)計(jì)數(shù)據(jù),求出系數(shù)

b1=100,a11=1,a1

溫馨提示

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