多目標(biāo)規(guī)劃及相應(yīng)的matlab程序?qū)崿F(xiàn)._第1頁(yè)
多目標(biāo)規(guī)劃及相應(yīng)的matlab程序?qū)崿F(xiàn)._第2頁(yè)
多目標(biāo)規(guī)劃及相應(yīng)的matlab程序?qū)崿F(xiàn)._第3頁(yè)
多目標(biāo)規(guī)劃及相應(yīng)的matlab程序?qū)崿F(xiàn)._第4頁(yè)
多目標(biāo)規(guī)劃及相應(yīng)的matlab程序?qū)崿F(xiàn)._第5頁(yè)
已閱讀5頁(yè),還剩3頁(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)介

1、 優(yōu)化與決策多目標(biāo)線性規(guī)劃的若干解法及MATLAB實(shí)現(xiàn)摘要:求解多目標(biāo)線性規(guī)劃的基本思想大都是將多目標(biāo)問(wèn)題轉(zhuǎn)化為單目標(biāo)規(guī)劃,本文介紹了理想點(diǎn)法、線性加權(quán)和法、最大最小法、目標(biāo)規(guī)劃法,然后給出多目標(biāo)線性規(guī)劃的模糊數(shù)學(xué)解法,最后舉例進(jìn)行說(shuō)明,并用Matlab軟件加以實(shí)現(xiàn)。關(guān)鍵詞:多目標(biāo)線性規(guī)劃 Matlab 模糊數(shù)學(xué)。注:本文僅供參考,如有疑問(wèn),還望指正。一引言多目標(biāo)線性規(guī)劃是多目標(biāo)最優(yōu)化理論的重要組成部分,由于多個(gè)目標(biāo)之間的矛盾性和不可公度性,要求使所有目標(biāo)均達(dá)到最優(yōu)解是不可能的,因此多目標(biāo)規(guī)劃問(wèn)題往往只是求其有效解(非劣解)。目前求解多目標(biāo)線性規(guī)劃問(wèn)題有效解的方法,有理想點(diǎn)法、線性加權(quán)和法、最

2、大最小法、目標(biāo)規(guī)劃法。本文也給出多目標(biāo)線性規(guī)劃的模糊數(shù)學(xué)解法。二多目標(biāo)線性規(guī)劃模型 多目標(biāo)線性規(guī)劃有著兩個(gè)和兩個(gè)以上的目標(biāo)函數(shù),且目標(biāo)函數(shù)和約束條件全是線性函數(shù),其數(shù)學(xué)模型表示為: (1)約束條件為: (2)若(1)式中只有一個(gè),則該問(wèn)題為典型的單目標(biāo)線性規(guī)劃。我們記:,,.則上述多目標(biāo)線性規(guī)劃可用矩陣形式表示為: 約束條件: (3)三MATLAB優(yōu)化工具箱常用函數(shù)在MATLAB軟件中,有幾個(gè)專門求解最優(yōu)化問(wèn)題的函數(shù),如求線性規(guī)劃問(wèn)題的linprog、求有約束非線性函數(shù)的fmincon、求最大最小化問(wèn)題的fminimax、求多目標(biāo)達(dá)到問(wèn)題的fgoalattain等,它們的調(diào)用形式分別為:.x,

3、fval=linprog(f,A,b,Aeq,beq,lb,ub)f為目標(biāo)函數(shù)系數(shù),A,b為不等式約束的系數(shù), Aeq,beq為等式約束系數(shù), lb,ub為x的下限和上限, fval求解的x所對(duì)應(yīng)的值。算法原理:?jiǎn)渭冃畏ǖ母倪M(jìn)方法投影法。.x,fval =fmincon(fun,x0,A,b,Aeq,beq,lb,ub)fun為目標(biāo)函數(shù)的M函數(shù), x0為初值,A,b為不等式約束的系數(shù), Aeq,beq為等式約束系數(shù), lb,ub為x的下限和上限, fval求解的x所對(duì)應(yīng)的值。算法原理:基于K-T(Kuhn-Tucker)方程解的方法。.x,fval =fminimax(fun,x0,A,b,A

4、eq,beq,lb,ub)fun為目標(biāo)函數(shù)的M函數(shù), x0為初值,A,b為不等式約束的系數(shù), Aeq,beq為等式約束系數(shù), lb,ub為x的下限和上限, fval求解的x所對(duì)應(yīng)的值。算法原理:序列二次規(guī)劃法。.x,fval =fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub)fun為目標(biāo)函數(shù)的M函數(shù), x0為初值,goal變量為目標(biāo)函數(shù)希望達(dá)到的向量值, wight 參數(shù)指定目標(biāo)函數(shù)間的權(quán)重,A,b為不等式約束的系數(shù), Aeq,beq為等式約束系數(shù), lb,ub為x的下限和上限, fval求解的x所對(duì)應(yīng)的值。算法原理:目標(biāo)達(dá)到法。四多目標(biāo)線性規(guī)

5、劃的求解方法及MATLAB實(shí)現(xiàn)4.1理想點(diǎn)法在(3)中,先求解個(gè)單目標(biāo)問(wèn)題:,設(shè)其最優(yōu)值為,稱為值域中的一個(gè)理想點(diǎn),因?yàn)橐话愫茈y達(dá)到。于是,在期望的某種度量之下,尋求距離最近的作為近似值。一種最直接的方法是最短距離理想點(diǎn)法,構(gòu)造評(píng)價(jià)函數(shù),然后極小化,即求解,并將它的最優(yōu)解作為(3)在這種意義下的“最優(yōu)解”。例1:利用理想點(diǎn)法求解解:先分別對(duì)單目標(biāo)求解:求解最優(yōu)解的MATLAB程序?yàn)?gt;> f=3;-2; A=2,3;2,1; b=18;10; lb=0;0;>> x,fval=linprog(f,A,b,lb)結(jié)果輸出為:x = 0.0000 6.0000fval = -

6、12.0000即最優(yōu)解為12.求解最優(yōu)解的MATLAB程序?yàn)?gt;> f=-4;-3; A=2,3;2,1; b=18;10; lb=0;0;>> x,fval=linprog(f,A,b,lb)結(jié)果輸出為:x =3.0000 4.0000fval =-24.0000即最優(yōu)解為24.于是得到理想點(diǎn):(12,24).然后求如下模型的最優(yōu)解MATLAB程序如下:>> A=2,3;2,1; b=18;10; x0=1;1; lb=0;0;>> x=fmincon('(-3*x(1)+2*x(2)-12)2+(4*x(1)+3*x(2)-24)2)(

7、1/2)',x0,A,b,lb,)結(jié)果輸出為:x = 0.5268 5.6488則對(duì)應(yīng)的目標(biāo)值分別為,.4.2線性加權(quán)和法在具有多個(gè)指標(biāo)的問(wèn)題中,人們總希望對(duì)那些相對(duì)重要的指標(biāo)給予較大的權(quán)系數(shù),因而將多目標(biāo)向量問(wèn)題轉(zhuǎn)化為所有目標(biāo)的加權(quán)求和的標(biāo)量問(wèn)題,基于這個(gè)現(xiàn)實(shí),構(gòu)造如下評(píng)價(jià)函數(shù),即將它的最優(yōu)解作為(3)在線性加權(quán)和意義下的“最優(yōu)解”。(為加權(quán)因子,其選取的方法很多,有專家打分法、容限法和加權(quán)因子分解法等).例2:對(duì)例1進(jìn)行線性加權(quán)和法求解。(權(quán)系數(shù)分別取,)解:構(gòu)造如下評(píng)價(jià)函數(shù),即求如下模型的最優(yōu)解。MATLAB程序如下:>> f=-0.5;-2.5; A=2,3;2,1

8、; b=18;10; lb=0;0;>> x=linprog(f,A,b,lb)結(jié)果輸出為:x =0.0000 6.0000則對(duì)應(yīng)的目標(biāo)值分別為,.4.3最大最小法在決策的時(shí)候,采取保守策略是穩(wěn)妥的,即在最壞的情況下,尋求最好的結(jié)果,按照此想法,可以構(gòu)造如下評(píng)價(jià)函數(shù),即然后求解: 并將它的最優(yōu)解作為(3)在最大最小意義下的“最優(yōu)解”。例3:對(duì)例1進(jìn)行最大最小法求解:解:MATLAB程序如下,首先編寫(xiě)目標(biāo)函數(shù)的M文件:function f=myfun12(x)f(1)=3*x(1)-2*x(2);f(2)=-4*x(1)-3*x(2);>> x0=1;1;A=2,3;2,

9、1;b=18;10;lb=zeros(2,1);>> x,fval=fminimax('myfun12',x0,A,b,lb,)結(jié)果輸出為:x =0.0000 6.0000fval = -12 -18則對(duì)應(yīng)的目標(biāo)值分別為,.4.4目標(biāo)規(guī)劃法 (4)并把原多目標(biāo)線性規(guī)劃(3)稱為和目標(biāo)規(guī)劃(4)相對(duì)應(yīng)的多目標(biāo)線性規(guī)劃。為了用數(shù)量來(lái)描述(4),我們?cè)谀繕?biāo)空間中引進(jìn)點(diǎn)之間的某種“距離”這樣(4)便可以用單目標(biāo)來(lái)描述了。例4:對(duì)例1對(duì)進(jìn)行目標(biāo)規(guī)劃法求解:解:MATLAB程序如下,首先編寫(xiě)目標(biāo)函數(shù)的M文件:function f=myfun3(x)f(1)=3*x(1)-2*x

10、(2);f(2)=-4*x(1)-3*x(2);>> goal=18,10; weight=18,10; x0=1,1; A=2,3;2,1; b=18,10; lb=zeros(2,1);>> x,fval=fgoalattain('myfun3',x0,goal,weight,A,b,lb,)結(jié)果輸出為:x = 0.0000 6.0000fval = -12 -18則對(duì)應(yīng)的目標(biāo)值分別為,.4.5模糊數(shù)學(xué)求解方法 由于多目標(biāo)線性規(guī)劃的目標(biāo)函數(shù)不止一個(gè),要想求得某一個(gè)點(diǎn)作,使得所有的目標(biāo)函數(shù)都達(dá)到各自的最大值,這樣的絕對(duì)最優(yōu)解通常是不存在的。因此,在具體

11、求解時(shí),需要采取折衷的方案,使各目標(biāo)函數(shù)都盡可能的大。模糊數(shù)學(xué)規(guī)劃方法可對(duì)其各目標(biāo)函數(shù)進(jìn)行模糊化處理,將多目標(biāo)問(wèn)題轉(zhuǎn)化為單目標(biāo),從而求該問(wèn)題的模糊最優(yōu)解。 具體的方法為:先求在約束條件: 下各個(gè)單目標(biāo)的最大值和最小值,伸縮因子為得到 (5)式(5)是一個(gè)簡(jiǎn)單的單目標(biāo)線性規(guī)劃問(wèn)題。最后求得模糊最優(yōu)解為:.利用(5)式來(lái)求解的關(guān)鍵是對(duì)伸縮指標(biāo)的確定,是我們選擇的一些常數(shù),由于在多目標(biāo)線性規(guī)劃中,各子目標(biāo)難以同時(shí)達(dá)到最大值,但是可以確定的是各子目標(biāo)的取值范圍,它滿足:,所以,伸縮因子為可以按如下取值:.例5:對(duì)例1進(jìn)行模糊數(shù)學(xué)方法求解:解:分別求得,在約束條件下的最大值為:.分別求得,在約束條件下的最小值為:.伸縮因子為然后求如下模型的最優(yōu)解:MATLAB程序如下:>>f=0;0;-1; A=3,-2,27;-4,-3,24;2,3,0;2,1,0; b=15;0;18;10; lb=0;0;0>> x,fval=linprog

溫馨提示

  • 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)論