【正文】
i p?x的重要程度,分別乘以一組權(quán)系數(shù)( 1 , 2 , . . . , )i ip? ?,然后相加作為目標(biāo)函數(shù),再對(duì)此目標(biāo)函數(shù)在多目標(biāo)規(guī)劃問題的約束集合 R 上求最優(yōu)解,即構(gòu)造如下單目標(biāo)規(guī)劃問題: ? ?? ? ? ? ? ?1m i npTiiRihf ????? ?xF x x λ Fx 求此單目標(biāo)規(guī)劃問題的最優(yōu)解,并把它叫做多目標(biāo)規(guī)劃問題在線性加權(quán)意義下的最優(yōu)解,且該問題中的12[ , , . . . , ]Tp? ? ??? ? ?λ或者 2? , 線性加權(quán)和法 設(shè) p =2 ,則多目標(biāo)規(guī)劃問題具有兩個(gè)目標(biāo)函數(shù)12,ff,取212T?????? ? ???λ 如圖 所示,目標(biāo)函數(shù)的等值線1 1 2 2f f C?? ??是一條直線 。 求? ?1 2 2m i n ,Tf f R??? ? ?λ F F F的過程就是在? ?RF中找一點(diǎn),使得 T C?λ F 取最小值 TC ? λ F ,從圖上 可以看出,12[]Tff?F是目標(biāo)函數(shù) Tλ F 的等值線與? ?RF在左下角的切點(diǎn),即? ?RF的有效點(diǎn)。對(duì)應(yīng)于 F ,存在 R?x 使得? ??F F x,則 x 為多目標(biāo)規(guī)劃問題的有效解。當(dāng) ???λ 時(shí), x 可能是弱有效解。 1 1 2 2f f C?? ??? ?RF1f2f2f1f 乘除法 假如我們的目標(biāo)可以分為兩組:一組要求? ? ? ? ? ?12, , . . . ,kf f fx x x的值越小越好;另一組要求? ? ? ? ? ?12, , . . . ,k k pf f f??x x x越大越好。而且對(duì)于任意的 R?x ,均滿足函數(shù)值非負(fù)的條件? ? 0 , 1 , 2 , . . . ,if i p??x,此時(shí)可以令: ? ?? ?? ?1 , 2 , . . . ,11 , 2 , . . . ,iiif i kfi k k pf? ????? ? ???xxx (8 12) 這樣 就可以把多目標(biāo)規(guī)劃問題統(tǒng)一為:? ? ? ? ? ? ? ?? ?12m i n , , . . . ,TpRf f f??xF x x x x 乘除法 的 原理 就是構(gòu)造如下目標(biāo)函數(shù): ? ?? ? ? ?? ?? ?? ? ? ? ? ?? ? ? ? ? ?1211121...m in...kkikii pRik k piikff f fhff f ff????????? ? ?? ? ? ?? ? ??xxx x xF x xx x xx 則多目標(biāo)規(guī)劃問題已經(jīng)轉(zhuǎn)化為單目標(biāo)規(guī)劃問題。 在乘除法中我們是把求最大的目標(biāo)作為分母,把求最小的目標(biāo)作為分子,如此化為單目標(biāo)問題后再求最小。 最大最小法 評(píng)價(jià)函數(shù)法的有關(guān)結(jié)論 以上我們借助于不同形式的評(píng)價(jià)函數(shù)? ?? ?h Fx將多目標(biāo)規(guī)劃問題轉(zhuǎn)化為單目標(biāo)規(guī)劃問題?,F(xiàn)在我們將要討論:上述問題的最優(yōu)解在什么條件之下才是多目標(biāo)規(guī)劃問題的的有效解或弱有效解。為此,給出兩個(gè)定義: 如果對(duì)于,pR??? FF,當(dāng)滿足 ??FF 時(shí)均滿足? ? ? ?hh ??FF,則? ?h F稱為 F 的嚴(yán)格單調(diào)增函數(shù)。 如果對(duì)于,pR??? FF,當(dāng)滿足 ??FF 時(shí)均滿足? ? ? ?hh ??FF,則? ?h F稱為 F 的單調(diào)增函數(shù)。 在上述定義下,轉(zhuǎn)化后的單目標(biāo)規(guī)劃問題是多目標(biāo)規(guī)劃問題的有效解或者弱有效解的條件由下面兩個(gè)定理描述: 若? ?? ?h Fx是? ?Fx的嚴(yán)格單調(diào)增函數(shù),則轉(zhuǎn)化后的單目標(biāo)規(guī)劃問題的最優(yōu)解是多目標(biāo)規(guī)劃問題的有效解。 若? ?? ?h Fx是? ?Fx的單調(diào)增函數(shù),則轉(zhuǎn)化后的單目標(biāo)規(guī)劃問題的最優(yōu)解是多目標(biāo)規(guī)劃問題的弱有效解。 可以證明,評(píng)價(jià)函數(shù)法中所給的評(píng)價(jià)函數(shù)都是嚴(yán)格單調(diào)增函數(shù)或單調(diào)增函數(shù),因而其最優(yōu)解是多目標(biāo)規(guī)劃問題的有效解或弱有效解。 功效系數(shù)法 我們知道,多目標(biāo)規(guī)劃的任意一個(gè)可行解 R?x ,對(duì)每個(gè)目標(biāo)? ?if x的相應(yīng)值是有好有壞的。一個(gè) R?x 對(duì)某個(gè)? ?if x的相應(yīng)值的好壞程度,稱為 x 對(duì)? ?if x的功效。 為了便于對(duì)每個(gè) R?x 比較 它對(duì)某個(gè)? ?if x的功效大小,可將以? ?if x作一個(gè)函數(shù)變換? ?? ?iidf x,即令:? ?? ? , , 1 , 2 , . . . ,i i id d f R i p? ? ?xx。并規(guī)定:對(duì)? ?if x產(chǎn)生功效最好的 x ,評(píng)分為1id ?;功效最壞的 x ,評(píng)分為0id ?;對(duì)不是最好也不是最壞的中間狀態(tài),評(píng)分為01 id??。換句話說,我們用一個(gè)值在 0 與 1 之間的功效函數(shù)? ?? ? ,iid f R?xx來反映? ?if x的好壞。下面介紹最常用的兩種評(píng)分方法:線性型和指數(shù)型。 線性功效系數(shù)法 線性功效系數(shù)法 線性功效系數(shù)法 ( 2) 對(duì)于當(dāng)1 , 2 , . . . ,i k k p? ? ?時(shí),要求? ?if x越大越好,故可取: ? ?? ?? ?10ii i i iiiiiiiffd d f f ffff f fff? ??? ? ??????????xx 其中式選取? ?iiiiffff??x作為函數(shù)值,主要是因?yàn)檫^兩點(diǎn)? ?,0if和? ?,1if可作一條直線,其方程為:? ? ? ?? ? 0, 1 , 2 , . . . ,10iiiiiidfffi k k pff??? ? ? ???xx 于是可得:? ?? ?? ?, 1 , 2 , ...,iiiiiiffd f i k k pff?? ? ? ??xx,? ?? ?iidf x的圖形見圖所示。 f1f ? ?f x? ?? ?,fd xO ? ?if xid 線性功效系數(shù)法 指數(shù)功效系數(shù)法 指數(shù)功效系數(shù)法 可見,? ?? ? , 1 , 2 , . . . ,iid f i p?x是? ?if x的嚴(yán)格單調(diào)增函數(shù),而且當(dāng)? ?if x充分大時(shí),? ?? ? 1iidf ?x。為了確定0b和1b,規(guī)定:? ? ? ?1 1 1 0 00 . 3 7 。 0 . 0 7ei i i i i id d f e d d f e??? ? ? ? ? ?,可以得到:? ?? ?1010011b b fib b fieeeeeee??????????????? (8 26) 由此可得:10100101iib b fb b f? ??????,故10011011iiiiifbffbff???????????? 從而有:? ?? ?? ?101e x p e x p , 1 , 2 , . . . ,iiiiiiffd f i k k pff?? ?? ?? ? ? ? ??? ???????xx 指數(shù)功效系數(shù)法 ( 2) 對(duì)于越小越好的? ? , 1 , 2 , . . . ,if i k?x,可以類似的求得: ? ?? ?? ?1011 e x p e x p , 1 , 2 , . . . ,iiiiiiffd f i kff?? ?? ?? ? ? ??? ???????xx 這時(shí),id的圖形如圖所示,圖中,id是? ?if x的嚴(yán)格單調(diào)減函數(shù),而且當(dāng)? ?if x充分小時(shí),? ?? ? 1iidf ?x 1e?ee?1if0if? ?? ?iidf x? ?if xifif 指數(shù)功效系數(shù)法 多目標(biāo)規(guī)劃的 MATLAB求解 ? 由于多目標(biāo)規(guī)劃中的求解涉及到的方法非常多,故在 MATLAB中可以利用不同的函數(shù)進(jìn)行求解,例如在評(píng)價(jià)函數(shù)法中我們所得最后的評(píng)價(jià)函數(shù)為一線性函數(shù),且約束條件也為線性函數(shù),則我們可以利用 MATLAB優(yōu)化工具箱中提供的 linprog函數(shù)進(jìn)行求解,如果我們得到的評(píng)價(jià)函數(shù)為非線性函數(shù),則可以利用 MATLAB優(yōu)化工具箱中提供的 fmincon函數(shù)進(jìn)行求解,如果我們采用最大最小法進(jìn)行求解,則可以利用 MATLAB優(yōu)化工具箱中提供的fminimax函數(shù)進(jìn)行求解。下面我們就結(jié)合前面各小節(jié)中所分析的幾種方法,講解一下典型多目標(biāo)規(guī)劃問題的 MATLAB求解方法。 多目標(biāo)規(guī)劃的 MATLAB求解 多目標(biāo)規(guī)劃的 MATLAB求解 求解該線性規(guī)劃的 M A T L A B 的代碼和相應(yīng)的運(yùn)行結(jié)果為: c =[2 。 3 ]。 A =[3 2 。 1 1 ]。 b =[1 2 。 8 ] l b =[0 。 0 ] [x , fv a l ]=l i n p ro g (c , A , b , [], [], l b , []) O p t i m i z a t i o n t e rm i n a t e d . x = 0 . 0 0 0 0 6 . 0 0 0 0 fv a l = 1 8 . 0 0 0 0 于是可知。當(dāng)? ?1 0 , 6T?x時(shí),單目標(biāo)線性規(guī)劃? ?1P的最優(yōu)函數(shù)值為 *118f ??。 c =[ 5。 3 ]。 A =[3 2 。 1 1 ]。 b =[1 2 。 8 ] l b =[0 。 0 ] [x , fv a l ]=l i n p ro g (c , A , b , [], [], l b , []) O p t i m i z a t i o n t e rm i n a t e d . x = 4 . 0 0 0 0 0 . 0 0 0 0 fv a l = 2 0 . 0 0 0 0 于是可知,當(dāng)? ?2 4 , 0T?x時(shí),單目標(biāo)線性規(guī)劃? ?2P的最優(yōu)函數(shù)值為 *220f ??。 多目標(biāo)規(guī)劃的 MATLAB求解 多目標(biāo)規(guī)劃的 MATLAB求解 多目標(biāo)規(guī)劃的 MATLAB求解 于是建立目標(biāo)函數(shù)的 M 函數(shù)文件 o bjf u n . m : f u n c t i o n f =o b j f u n (x ) f =x (1 )^ 2 +1 . 2 * x (2 )^ 2 + 1 . 4 * x (3 )^ 2 。 由于目標(biāo)函數(shù)非線性函數(shù)且具有線性等式約束和邊界約束,因而我們調(diào)用M A T L AB 中求解非線性規(guī)劃的 f mi nc o n 函數(shù)對(duì)此問題進(jìn)行求解,同時(shí)注意如果只考慮第一個(gè)目標(biāo)函數(shù),由這種特殊形式,即在設(shè)計(jì)變量的和為一定值,需要求其平方和的最小值時(shí),最優(yōu)解必然是當(dāng)這幾個(gè)設(shè)計(jì)變量的值相等時(shí)取得,于是我們可以將這個(gè)解設(shè)為問題的初始點(diǎn),開始迭代,故求解該問題的代碼為: A e q = [1 1 1 ]。 b e q =[3 ]。 l b =[0 。 0 。 0 ]。 x 0 =[1 。 1 。 1 ] 。 [x , fv a l ]=fm i n c o n (o b j f u n , x 0 , [], [], A e q , b e q , l b , []) 結(jié)果說明,問題的最優(yōu)解為:? ?*1* * *2*3 , xxfx?? ???? ??? ? ??? ???? ??????xx 多目標(biāo)規(guī)劃的 MATLAB求解 我們?cè)谇蠼舛嗄繕?biāo)規(guī) 劃問題時(shí),可 以采用評(píng)價(jià)函數(shù)法中的最大最 小法,而M A T L A B 也為這種方法提供了專門的求解函數(shù) f m i n im