Matlab優(yōu)化(求極值)_第1頁
Matlab優(yōu)化(求極值)_第2頁
Matlab優(yōu)化(求極值)_第3頁
Matlab優(yōu)化(求極值)_第4頁
Matlab優(yōu)化(求極值)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第七講 Matlab優(yōu)化(求極值)理論介紹:算法介紹、軟件求解.一線性規(guī)劃問題1.線性規(guī)劃問題是在一組線性約束條件的限制下,求一線性目標(biāo)函數(shù)最大或最小值的問題,Matlab中規(guī)定線性規(guī)劃的標(biāo)準(zhǔn)形式為其中c和x為n維列向量,A、Aeq為適當(dāng)維數(shù)的矩陣,b、beq為適當(dāng)維數(shù)的列向量。注意:線性規(guī)劃問題化為Matlab規(guī)定中的標(biāo)準(zhǔn)形式。求解線性規(guī)劃問題的Matlab函數(shù)形式為linprog(c,A,b),它返回向量x的值,它的具體調(diào)用形式為:x,fval=linprog(c,A,b,Aeq,beq,LB,UB,x0,OPTIONS)這里fval返回目標(biāo)函數(shù)的值,LB、UB分別是變量x的下界和上界,x

2、0是x的初始值,OPTIONS是控制參數(shù)。例1 求解線性規(guī)劃問題程序:c=2;3;5;>> A=-2,5,-1;1,3,1;b=-10;12;>> Aeq=1,1,1;beq=7;>> LB=0;0;0;(zeros(3,1)>> x,fval=linprog(c,A,b,Aeq,beq,LB,)練習(xí)與思考:求解線性規(guī)劃問題注意:若沒有不等式:存在,則令A(yù)= ,b= . 若沒有等式約束, 則令A(yù)eq= , beq= .2.可以轉(zhuǎn)化為線性規(guī)劃的問題規(guī)劃問題其中為相應(yīng)維數(shù)的矩陣和向量。注意到對(duì)任意的存在滿足,事實(shí)上只要取就可以滿足上面的條件。這樣,記

3、從而可以把問題變成例2 求解規(guī)劃問題,其中對(duì)于這個(gè)問題,如果取,這樣,上面的問題就變換成這是我們通常的線性規(guī)劃問題。練習(xí)與思考:規(guī)劃問題二非線性一元函數(shù)的最小值對(duì)于求一元函數(shù)的最小值問題,Matlab提供了一個(gè)命令函數(shù)fminbnd,fminbnd函數(shù)的調(diào)用格式為:X=fminbnd(fun,x1,x2)和X,fval=fminbnd(fun,x1,x2)其中fun為目標(biāo)函數(shù),x1,x2為變量的邊界約束,即,X為返回的滿足fun取得最小值的x的值,fval為目標(biāo)函數(shù)值。例3 計(jì)算函數(shù)的最小值和f(x)取最小值時(shí)x的值,程序:>> clear>> fun='(x3

4、+x2-1)/(exp(x)+exp(-x)'>> ezplot(fun,-5,5)>> X,fval=fminbnd(fun,-5,5)練習(xí)與思考:如何求一元函數(shù)的最大值?三無約束非線性多元變量函數(shù)的優(yōu)化對(duì)于無約束非線性多元變量函數(shù)的優(yōu)化問題,主要采用命令函數(shù)fminsearch和fminunc,其中fminsearch比較適合處理低階多間斷點(diǎn)的函數(shù),fminunc則對(duì)高階連續(xù)函數(shù)有效。1命令函數(shù)fminsearch函數(shù)fminsearch求解目標(biāo)函數(shù)fun的最小值和fun取最小值時(shí)變量x的值,調(diào)用格式為:X=fminsearch(fun,X0)和X,fval

5、=fminsearch(fun,X0)其中X0為聲明變量的初始值,X為返回的x的值,fval為返回的fun的值。例4 求使目標(biāo)函數(shù)取得最小值。程序:>> clear>> X0=0,0;>> X,fval=fminsearch('sin(x(1)+cos(x(2)',X0)說明:聲明變量初始值對(duì)返回的x的值的影響。X0=100,100?2命令函數(shù)fminunc函數(shù)fminunc通過計(jì)算尋找多變量目標(biāo)函數(shù)fun的最小值,調(diào)用格式為:X=fminunc(fun,X0)和X,fval=fminunc(fun,X0)其中X0為優(yōu)化的初始值,X為返回的x

6、的值,fval為返回的fun的值。例5 對(duì)函數(shù)進(jìn)行最小值優(yōu)化。程序:>> clear>> fun='exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1)'>> x0=0,0;>> x,fval=fminunc(fun,x0)注意:fminunc函數(shù)只能處理實(shí)函數(shù)的優(yōu)化問題,目標(biāo)函數(shù)最好是連續(xù)函數(shù),給出的解可能只是局部解。四有約束非線性多元變量函數(shù)的優(yōu)化1Matlab命令函數(shù)fmincon可以處理有約束的非線性多元變量的優(yōu)化問題,有約束多元變量優(yōu)化問題的數(shù)學(xué)模型為:求一組變量xi,滿足在給定

7、的約束條件下,使目標(biāo)函數(shù)f(xi)取得最小值。目標(biāo)函數(shù)一般為非線性函數(shù),約束條件有線性不等式約束、線性等式約束、變量邊界約束和非線性約束。線性約束:,等式約束:,邊界約束:,fmincon函數(shù)的調(diào)用格式為:x,fval=fmincon(fun,x0,A,B,Aeq,Beq,Lb,Ub,nonlcon,options)其中,nonlcon表示非線性約束條件,options為設(shè)置的控制優(yōu)化過程的優(yōu)化參數(shù)向量(可以用optionset打開)。非線性約束的表示形式為:把不等式和等式變換成小于號(hào)(或等號(hào))左邊是函數(shù)表達(dá)式右邊為0的形式,然后以函數(shù)表達(dá)式作為元素分別組成不等式約束矩陣和等式約束矩陣。當(dāng)約束

8、條件比較復(fù)雜時(shí),常常先建立約束條件的M文件。例6求使目標(biāo)函數(shù)取得最小值,約束條件為:程序:(1)建立非線性約束的M文件function c,ceq=confun(x)c=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;ceq=;end(2)建立優(yōu)化命令>> clearx0=-1,1;fun='exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1)'lb=0,0;ub=;options=;>> x,fval,exitflag,output=fmincon(fun,x0,lb,ub,'

9、;confun',options)參數(shù)exitflag有3種情況,exitflag>0表示優(yōu)化結(jié)果收斂于解,exitflag<0表示優(yōu)化結(jié)果不收斂于解,exitflag=0表示優(yōu)化超過了聲明的代入函數(shù)值的次數(shù);output包含優(yōu)化過程的信息。2已知梯度條件的優(yōu)化(例6的第二種解法)對(duì)于復(fù)雜的非線性優(yōu)化問題,利用已知的梯度條件將會(huì)取得更加令人滿意的結(jié)果。例7利用梯度條件對(duì)進(jìn)行優(yōu)化,約束條件為:分析:(1)先寫出目標(biāo)函數(shù)和約束條件的梯度函數(shù)表達(dá)式:目標(biāo)函數(shù):目標(biāo)函數(shù)的梯度:約束函數(shù):梯度程序:(1)編寫目標(biāo)函數(shù)及其梯度M文件function f,G=objfungrad(x)f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);t=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);G=t+exp(x(1)*(8*x(1)+4*x(2),exp(x(1)*(4*x(1)+4*x(2)+2);end(2)編寫約束函數(shù)及其梯度M文件function c,ceq,dc,dceq=confungrad(x)c=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;ceq=;dc=x(2)-1,-x(2);x(1)-1,-x

溫馨提示

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