//Logo Image
作者:徐業良(1995-015),推薦:徐業良(2001-07-06),最近更新:徐業良(2004-11-02)
附註:本文為元智大學機械工程研究所最佳化設計課程教材,僅限於教學上學生個人使用,原書初版由宏明書局印行。

多目標最佳化問題

到目前為止,我們所處理的,都是單目標最佳化的問題。先前曾經提到,目標函數和限制條件,在本質上其實是十分類似的,當一工程最佳化設計問題,有兩個或兩個以上設計要求時,處理方式之一是將其中之一作為目標函數,而把其他設計要求列為限制條件。另外一種處理方式,是把所有設計要求同時列為目標函數,這便是所謂的「多目標最佳化(multi-objective optimization)問題。

本章中首先以一個簡單的靜不定衍架結構最佳化設計問題為例,討論多目標最佳化問題的標準形式。先前介紹的一般數值最佳化方法,僅能解單一目標函數的問題,因此在解多目標最佳化問題時,通常的作法還是把多目標中各子目標依其重要性,給予比重加以正規化(normalize)合併成單目標,再以一般單目標數值最佳化方法求取最佳解。本章接下來便再介紹解多目標最佳化問題中一個常用的方法-「折衷規劃法(compromise programming),並討論此法中各個子目標的比重值所扮演的角色,不同的比重值,對多目標最佳化問題中所謂“最佳點”的位置,事實上有很大的影響。

然而各個子目標之間相對的重要性,常常是主觀而不易測量的。因此在本章第三節中將介紹決策科學領域中常用的「分析層級程序(analytic hierarchy process, AHP),來求取將多目標結合成單目標時,設計者對各子目標主觀的比重值。

分析層級程序法也常被應用在設計流程中的概念設計階段,事實上在概念設計階段,如何評估、選擇一個最好的設計概念,基本上也是一個多目標最佳化設計的問題。因此第四節中便繼續討論設計概念的評估,談一談所謂的“定性”最佳化。

1.     多目標最佳化數學模型

考慮一個在結構最佳化文獻中經常會看到的靜不定衍架設計問題,如圖1所示,這個問題在先前出現過好幾次,這裡則再度用來說明多目標最佳化問題數學模型的建構,以及求其最佳設計點的程序。

1. 靜不定衍架

桿件123的截面積分別為,其中,在三桿件的接點處受一大小為P方向向右的橫向作用力,及受一大小為8P方向向下的縱向作用力,uv分別為三桿件接點處受作用力後,所產生的水平位移及垂直位移,w為此靜不定衍架的結構總重量。Er分別為此靜不定衍架材料的彈性模數及比重。

這個問題的限制條件為三桿件所受的應力值不可大於,且三桿件的截面積均不可大於。而這個最佳化設計問題共有三個設計要求:使靜不定衍架的結構總重量w為最小,及三桿件接點處受作用力後,所產生的水平位移u及垂直位移v為最小。

這個問題的設計變數是三個桿件的截面積,我們可以初步地把這個靜不定衍架設計問題,寫成如式(1)所示的數學模型:

        min. 

               

               

        s.t.   

               

               

               

               

                                                                                                          (1)

接下來將更明確地表示出目標函數和限制條件。從基本結構力學中可以推導出,目標函數中的wuv分別可表示成式(2)(3)、及式(4),其中因為這是一個對稱的結構,變數等於,故在式(2)至式(4)均以取代。

                                                                            (2)

                                                                                 (3)

                                                                    (4)

再由基本的材料力學可以推導出,圖1的靜不定衍架三桿件的最大應力可以表示如下:

                                                                                  (5)

                                                                                                        (6)

最後此靜不定衍架最佳化設計的問題,可以寫成一個有三個目標函數的多目標最佳化數學模型:

        min. 

               

               

        s.t.  

               

               

               

               

               

               

                                                                                        (7)

由這個靜不定衍架最佳化設計問題的討論,可以發現多目標最佳化設計數學模型的建立與其標準型式,與單目標最佳化問題並無不同,只是其標準形式中,目標函數變成一個向量式

        min. 

        s.t.  

               

                                                                                                             (8)

最後為求型式統一,也將式(7)寫成如式(9)所示的標準型式。注意這個最佳化模型中共有五個變數,其中uvw可視為中介變數。

        min. 

               

               

        s.t.  

               

               

               

               

               

               

                                                                                       (9)

◇作業1

再次考慮先前出現很多次的懸臂樑設計問題。先前僅考慮單目標,而將三個設計要求中,重量定為目標函數,應力及變形量的要求則定為限制條件,而得到如下單目標最佳化數學模型:

        min.  f = Wlbh

        s.t.   

               

               

               

               

試將三個設計要求都列為目標函數,仿照式(9),將這個問題改寫成多目標最佳化問題。◇

在解多目標最佳化問題時,通常的作法還是把多目標問題中各子目標依其重要性,給予比重並加以正規化合併成單目標,再以一般單目標數值最佳化方法求取最佳解。將多目標合併成單目標的方法很多,下一節將介紹一常用的解多目標最佳化設計問題的方法:折衷規劃法。

2.     折衷規劃法

在設計問題中有許多子目標的情況之下,每個子目標之間勢必有所衝突,也就是說一個設計點對子目標A為最佳,對子目標B則未必是最佳,但是如果移動到對子目標B為最佳的設計點,此時對子目標A又必定將有所犧牲,而對子目標A並非最佳。

因此在介紹折衷規劃法求多目標最佳化問題的最佳解之前,這一節裡先要討論在一個多目標最佳化問題中,所謂“最佳解”究竟是什麼意義然後再看看折衷規劃法如何求得各子目標間的“折衷”最佳解。

2.1 Pareto最佳解

在多目標最佳化問題中,很顯然的子目標之間必然會互相有衝突,除非碰巧,一般情況下幾乎不可能找到一個設計點,對所有的子目標都是最佳解。例如在前一節的靜不定桁架設計問題中,想要求最小重量設計,尖端橫向、縱向位移勢必會增大,想要找到一個重量最小,尖端橫向、縱向位移也最小的設計點是不可能的。

正因為有這樣的特性,在多目標最佳化問題中,我們所要找的最佳解並不是所有子目標的最佳解,而是所謂「Pareto最佳解(Pareto-optimal solution),定義如下:

◇定義1

考慮一多目標最佳化問題如式(8)是一個在可行區域的設計點。如果沒有其他的設計點,能夠同時滿足以下兩個條件:

(1)    對於某一子目標來說,,且

(2)    如果

稱作這個多目標最佳化問題的Pareto最佳解。◇

這個定義乍看之下似乎有些複雜,但其實在直覺上這個定義十分合理。定義1所要滿足的兩個條件是說,如果存在另一個設計點在某一個子目標上的表現比現有的設計點要來得好(定義中的第一個條件,),且對其他子目標又沒有犧牲(第二個條件,如果),那麼這另一個設計點顯然比現有的設計點為佳,也就是說現有的設計點一定不是最佳解。

換句話說,如果這樣的設計點不存在,也就是說在現有的設計點上要改進某一個子目標,勢必要在其他子目標上有所犧牲,現有的設計點在某種意義上,是一個最佳解,即稱作Pareto最佳解

很顯然的,Pareto最佳解不只一個,事實上在一般多目標最佳化問題中,Pareto最佳解常是連續的而有無限多個。在下一節的討論我們可以對此有更清楚的了解。

2.2 折衷規劃法

前面提到過解多目標最佳化問題的方法,一般還是把多目標結合成單目標,再用解單目標問題的數值最佳化方法求解。

問題便在於,如何合理地把多個子目標結合成一個單目標?

在單目標最佳化問題中,我們是求單一目標函數的最小值。而在第一節中提到,多目標最佳化問題的目標函數是一個由子目標構成的向量(式(8)),那麼我們是否可以求這個向量長度的最小值?

這個主意聽起來像是一個合理地把多個子目標結合成一個單目標的方法,其實這也就是折衷規劃法的基本想法。但在合併時我們會遇到兩個問題,一是當各子目標的性質不同時,直接合併結合求多目標函數向量的最小值並不合理。例如在上一節的靜不定衍架問題,三個目標函數中,結構重量w就與三桿件受作用力所產生的水平位移u及垂直位移v所代表的量完全不同,而且單位不同時所得的數字也不同,因此在結合各子目標之前須先把子目標函數正規化

另一個問題是設計者對各個子目標主觀上重視程度可能不同,例如在靜不定桁架問題中,設計者可能會比較在乎整個結構的重量,而不那麼在乎位移的大小。因此在結合各子目標之前應在每個子目標加上比重,來表示設計者主觀上對各子目標不同的重視程度。

為了處理這兩個問題,折衷規劃法並不直接求式(8)中目標函數向量長度的最小值,而是求以下向量長度的最小值:

                                                                                      (10)

其中為各子目標函數,為各子目標函數的最佳值,即是在多目標問題中,只考慮其中一個目標函數,而暫不考慮其他子目標,但仍保留所有的限制條件,所得的最佳解;為各子目標函數的最差值,即在求得各子目標的個別最佳值時,可同時求其他子目標在此設計點的函數值,把相同的子目標函數的值作比較,最大的子目標函數值,即是此子目標函數的最差值;則為各子目標的比重。

值得注意的是,在所有所對應的設計點,都是這個多目標最佳化問題的Pareto最佳解,因為就滿足某一子目標的“最佳解”來說,已經不存在另一個設計點可以繼續改進。其他的Pareto最佳解的子目標值,也必定在之間,因為如果,所對應的設計點必定不是Pareto最佳解,顯然有其他設計點(如所對應的設計點)可以滿足定義1中的兩個條件。

因此在式(10)中,,所以,且沒有單位,即在此已作了正規化的處理。我們的“理想解”自然是希望所有的子目標都在其最佳值,即此時式(10)向量長度為零。然而如前所述,在一般多目標最佳化設計問題中,各子目標函數間通常都有抵換性,因此理想解事實上幾乎是不存在的,而求式(10)向量長度最小值,也可視為求在經過正規化與比重處理之後,與理想解距離最短的設計點。折衷規劃法的基本精神,即在依設計者本身的設計需求,折衷各個子目標,找到最靠近理想解的「折衷解(compromise solution)」。

一般折衷規劃法的數學模型可表示如式(11)

        min. 

        s.t.   

               

                                                                                                             (11)

(11)的目標函數中指數s介於1到無限大之間,可以視為一個較廣義的向量“長度”定義,但一般s12較多,s1即為各子目標線性相加,s2即是一般定義的向量長度。

回到我們的靜不定衍架問題,建立折衷規劃法的數學模型,取s=1,其目標函數可寫成如式(12)所示:

                                       (12)

下一個步驟是要求得我們三個子目標函數的最佳值及最差值,也就是式(12)中的w*u*v*以及。表1是考慮其中一個目標函數,而暫不考慮其他子目標,但仍然保留所有的限制條件,所得的最佳解,和其他子目標在此設計點的函數值,三個子目標函數的最佳值及最差值分別為w*u*=0.205mmv*=0.984mm。將這些數值代入式(12)可得到單目標最佳化模型式(13)

1. 靜不定衍架的個別最佳解

 

W(gw)

u(mm)

v(mm)

min. w

3.347

1.932

min. u

0.205

0.984

min. v

0.205

0.984

 

        min. 

        s.t.  

               

               

               

               

               

               

                                                                                       (13)

◇作業2

自行假設合理參數,將作業1中的懸臂樑設計問題,仿照表1及式(13),列出其將子目標結合後之目標函數。◇

至此,前面提到將多目標最佳化問題中不同性質的各子目標結合的問題,算是完滿解決,式(13)以一般單目標數值最佳化方法即可求解。剩下的一個問題是,在合併後的目標函數中,如何給予各子目標相對比重值?

這個代表各子目標相對重要性的比重值,是由設計者主觀的給定,但比重值不同,我們所求得多目標最佳化問題的“最佳值”也會有很大差異。下一節便在討論這些比重值在折衷規劃法中,對“最佳解”的影響。

2.3 比重在折衷規劃法中的影響

同樣地考慮我們的的靜不定衍架最佳化設計問題,在此分別以三組不同的比重值=(4, 1, 1)(1, 4, 1)(1, 1, 4)代入式(13)中,再以單目標數值最佳化方法分別求最佳解,所得結果如表2所示。

2. 不同的比重值所得靜不定衍架設計結果

a1

a2

a3

w (gw)

u (mm)

v (mm)

4.0

1.0

1.0

3.718

1.613

1.193

1.0

4.0

1.0

8.053

0.362

1.078

1.0

1.0

4.0

1.081

0.242

1.016

單以靜不定衍架結構總重量作比較,可發現表2中第一欄數據中因較大,也就是在設計時把靜不定衍架總重量列為最重要因素,因此所得的解,與原個別最佳值已相當接近。而第二欄及第三欄對靜不定衍架總重量放較低的比重,因此所得數據與原個別最佳值就有相當大的距離,且與第一欄數據中也有二到三倍的差距。

從這個例子中我們可以了解,在多目標最佳化問題中,各子目標放入不同比重,所得設計結果差異極大,給定一組比重值,便可求得一組對應的“最佳解”。在多目標最佳化問題中,所謂“最佳設計”,實在是設計者主觀地給定各子目標比重值之下的產物。

◇作業3

自行假設三組不同的比重值,取s=1,將作業1中的懸臂樑設計問題,仿照表2比較其結果。◇

◇作業4

作業3中,取s=2再做一次,比較其結果並討論s的影響。◇

設計者主觀地給定的各子目標比重值,其實是相當模糊的東西,很難作準確地“測量”。然而這些比重值卻對最後設計結果有相當大的影響,在多目標最佳化問題中,確實應該有一個有系統的方法來測量設計者心中的比重值,而不應由設計者模糊地任意給定。下一節中所要介紹的分析層級程序,便可以用來幫助設計者有系統地測量各個子目標在其心目中重要性比例。

3.     分析層級程序

決策理論上一個基本問題,是在一組方案中,如何依其重要性給定比重,「分析層級程序(Analytical Hierarchy Process, AHP)便是在決策理論上處理此問題的一個重要方法。分析層級程序係由Thomas L. Saaty1971年發展出來的,美國許多大規模之公私立機構,在作依優先順序分配資源時衝突之研究,都常使用這種方法,近年來也已慢慢被應用於工程上之概念設計階段,作設計概念之評估與選擇[Saaty, 1991]

分析層級程序的數學基礎相當簡單,在確立了所要評估的各個方案之後,分析層級程序用所謂「配對比較(pair-wise comparison)」的方法兩兩比較各方案間的相對重要性,建立配對比較矩陣,求出此矩陣的特徵向量,即可代表各方案間相對的優先度比重。

在多目標最佳化問題的應用上,我們的目的也就是估計折衷規劃法中各子目標的比重。因此本節中將著重討論分析層級程序的數學基礎,如何定出配對比較矩陣,求出其特徵向量,及以其相對應的特徵值評定配對比較矩陣的一致性。而此處應用上暫不需要分層級,因此分析層級程序的一個重要精神“建立層級”,將留待下一節談分析層級程序法在概念設計階段的應用時,再深入討論。

3.1 理想的配對比較矩陣

當設計者嘗試決定各子目標的比重時,可以看做設計者企圖測量各子目標在其心目中相對的重要性。重要性是一個主觀且抽象的觀念,很難準確地測量,因此分析層級程序中採用配對比較的方法,不把所有子目標同時拿出來比較,而是將子目標兩兩比較,形成「配對比較矩陣(pair-wise comparison matrix)。其基本想法,就是處理資訊較少時,人對自己主觀的好惡的評估,較處理資訊多時來得準確。而配對比較矩陣也正是分析層級程序法中,最主要的分析工具之一。

考慮一個有n個子目標、…、的多目標最佳化問題,假設我們心中對這n個子目標存在一組重要性的比重,分別為、…,我們的目的便是要測量出這組重要性比重各是多少。假設我們可以很精確地比較出各子目標重要性兩兩互相比較的比值(即子目標的比重之比值)是多少,以這些比值作為元素,我們便可建立建立“理想的”配對比較矩陣A,如式(14)所示:

                    (14)

其中矩陣A的元素即為子目標AiAj的重要性比重的比值。

值得注意的是,理想配對比較矩陣是一個為「正倒值矩陣(positive reciprocal matrix)」,也就是說,且對角線元素。所以我們在組成理想配對矩陣時(下一小節討論的實際配對矩陣亦同),通常先把對角線元素直接放入1,然後考慮矩陣上半三角的元素即可,矩陣下半三角的元素自動為其倒數。

另外由於前面假設設計者可以很精確地比較出各子目標重要性兩兩互相比較的比值,這個理想的配對比較矩陣應該具有一致性(consistency),也就是。例如設計者認為子目標Ai的重要性是Ajp倍,而子目標Aj的重要性是Akq倍,那麼子目標Ai的重要性便應是Ak倍。

將理想的配對比較矩陣A從右邊乘上一個由所有子目標重要性比重值所組成的向量,可以得到

                                                (15)

上式也可寫成

                                                                           (16)

由上式可知,所有子目標重要性比重值所組成的向量即是矩陣A的特徵向量(eigen vector),因此組成配對比較矩陣後,求出其特徵向量,即可得到各子目標重要性的比重值

從式(14)中可看出,理想的配對矩陣A的秩(rank)等於1,因此理想配對比較矩陣非零向量的特徵向量只有一個。回憶一下基礎的矩陣理論,一矩陣所有特徵值的和等於該矩陣所有對角線元素的和,我們的理想配對比較矩陣對角線元素均為1,故

                                                                                            (17)

因此其特徵向量所對應的特徵值為

3.2 實際的配對比較矩陣

3.1節中理想的配對比較矩陣只有一個特徵向量,即為各子目標的比重,且最大特徵值恰好等於子目標個數,也就是配對比較矩陣的階數,其餘特徵值均為零,其主要原因是我們假設設計者可以很精確地比較出各子目標重要性兩兩互相比較的比值,造成矩陣A有一致性。

很顯然的,在實際應用時,設計者不可能能夠完全準確地比較出各子目標依其重要性兩兩互相比較的比值,也就是說,設計者認為子目標Ai的重要性是Ajp倍,而子目標Aj的重要性是Akq倍,但是當問到子目標Ai的重要性是子目標Ak的多少倍時,設計者的答案不見得是倍。

這種不一致性聽起來似乎是個問題,但是進一層思考,有此不一致性其實才是自然的!這種不一致性對配對比較矩陣中,設計者主觀給定的比重值,甚至對主觀重要性的測量有“校調”的作用

舉一簡單例子,在一多目標最佳化問題中共有三個子目標分別為abc,在以分析層級程序法來決定三個子目標間的比重值時,假設ab相比時,設計者覺得a的重要性為b3倍,ac相比時,設計者覺得a的重要性為c2倍-在這裡先暫停下來思考一下,事實上32這兩個數字都是不精確的,你怎麼能確定這些“重要性”的比值,是3.0而不是2.83.1?是2.0而不是1.92.3?我們需要更多資訊來校調這兩個數字。

因此當問到bc相比時重要性比值,如果設計者回答了一個非常精確、且與前面兩個答案完全一致的數字,0.66667,這反而是非常不自然的一件事。事實上有一致性的配對比較矩陣,對校調前面兩個比重數字完全沒有幫助,相反的,如果比較bc重要性時,設計者依照自己的直觀,回答“b的重要性是c的一半”,或“bc兩者同樣重要”,雖然與前兩個數字不一致,但這對“測量”前兩個數字到底是2.8還是3.1,是1.9還是2.3,提供了額外的資訊。

分析層級程序的一個很大的價值,就是它容許這種不一致性存在,甚至進一步利用這種不一致性,幫助設計者更準確地測量自己對各子目標重要性的主觀認定。例如在前一個例子中,假設設計者認定“bc兩者同樣重要”,即比值為1,我們可以得到如式(18)所示的配對比較矩陣A

                                                         (18)

(18)中的矩陣並非理想配對比較矩陣,它雖然仍是正倒矩陣,但已失去理想配對比較矩陣的一致性,在此稱之為“實際的”配對比較矩陣。這個矩陣的秩當然不是1了,其非零的特徵向量也不止一個,那麼哪一個特徵向量是我們所要求的比重向量呢?

如果實際的配對比較矩陣中的元素,是依照設計者的主觀判定而非隨機式給定的話,實際的配對比較矩陣,應該仍然非常接近某一個理想配對比較矩陣。從基礎矩陣理論可知,對某一矩陣的元素作微量變動(perturbation),其特徵值也僅會跟著作微量變動。因此,前一節提到,理想配對比較矩陣特徵值為在“實際的配對比較矩陣是理想配對比較矩陣之微量變動”的假設下,實際配對比較矩陣最大特徵值亦趨近於n,其餘之特徵值則趨近於零,而相對於最大特徵值的特徵向量,則是我們所要求的比重向量

如式(18)中矩陣A的三個特徵值為3.0183-0.00910.2348i,相對於最大特徵值的特徵向量是

                                                                                      (19)

所以這個實際配對比較矩陣,所趨近的理想配對比較矩陣為

                                                   (20)

從式(20)可以看出,由於不一致性的存在,原先設計者設定的三個比重321,已經被校調成2.622.290.874

3.3 一致性的判斷

雖然分析層級程序可以容忍實際的配對比較矩陣的不一致性,但是如果因設計者判斷誤差過大,造成配對比較矩陣的不一致性太大,所求得的比重自然也缺乏可信度,這種情況應該被判斷出來,回授給設計者,重新輸入配對比較矩陣中各元素值。

Saaty[1991]提出了對配對比較矩陣一致性的判斷準則,對每一個配對比較矩陣都能導出一個「一致性指標(Consistency IndexC.I.),並且配合查表可得到另一個相對應之「一致性比率(consistency ratioC.R.),由此一致性比率的大小,即可來判斷此對矩陣符合一致性的程度。

Saaty證明正倒值矩陣的最大特徵值恆大於或等於n(假設配對比較矩陣為n×n階),且前面提到隨著值愈靠近n時,其矩陣也就愈接近完全一致性。因此由最大特徵值n的差異程度,Saaty定義了一個一致性指標,如式(21)所示:

                                                                                 (21)

C.I.值是配對比較矩陣一致性的一個絕對指標,但是C.I.值多大才表示配對比較矩陣的一致性不佳呢?

假設一個極限狀況,設計者對各子目標間相對重要性完全沒有概念,這時他所建構的配對比較矩陣應該是一個隨機產生的正倒值矩陣,由此隨機產生矩陣所求得之一致性指標則稱為「隨機指標(random indexR.I.)。隨機指標的值隨著矩陣階數之增加而增加,表3列出階數n及相對應之隨機指標的值,此指標值是由五百個隨機樣本所得的平均值。

3. 階數為n之配對比較矩陣所對應之隨機指標值

n

1

2

3

4

5

6

7

8

9

10

11

R.I.

0.0

0.0

0.58

0.90

1.12

1.24

1.32

1.41

1.45

1.49

1.51

注意在表3中,n等於12時,R.I.值均為0,這是因為一階和二階正倒矩陣一定是一致的矩陣(為什麼?)。

一致性比率C.R.是一個配對比較矩陣與一個隨機產生的正倒值矩陣相比,所得的一致性相對指標。將某配對比較矩陣的一致性指標比上表3中所對應的隨機指標,可以計算出該矩陣的一致性比率定義如下:

        C.R.=C.I./R.I.                                                                                          (22)

一般來說,當配對比較矩陣的C.R.值小於0.1時,其一致性達到可接受之水準,若C.R.值大於0.1時,設計者則須重新把所有子目標兩兩互相作比較,重新製作一個配對比較矩陣。

3.4 實例應用

繼續回到第一節的靜不定衍架設計問題。這個問題共有三個設計目標,分別為結構總重量w,三桿件接點受作用力後,所產生的水平位移u及垂直位移v。現在我們要以分析層級程序,求取式(13)三個子目標的比重值。假設一設計者在將三個子目標兩兩互相比較其重要性後,得到如式(23)之配對比較矩陣:

                                                                                        (23)

在給定配對比較矩陣中的元素值時,表4可供參考。

4. 配對比較矩陣中重要性比值參考定義

重要性比值(A/B)

意義

1

AB同等重要

3

AB稍微重要

5

AB重要

7

AB重要得多

9

A相比,B完全不重要

求出矩陣A之最大特徵值,代入式(21)中可求得C.I.=0.0028,查表3中三階正倒值矩陣之隨機指標R.I.=0.58,得出C.R.=0.0048,其值小於0.1,故矩陣A的一致性合乎可接受的水準;再計算出相對於之特徵向量,將所得之比重值代入式(13)中,如式(24)所示:

        min. 

        s.t.   

               

               

               

               

               

               

                                                                                       (24)

(24)是一個單純的單目標最佳化問題,以一般單目標最佳化解法,可得出這個多目標最佳化設計問題,最後設計結果,w=3746.0gwu=1.580mmv=1.192mma1=40.76mm2a2=314.16mm2

◇作業5

依照你自己的主觀意見,重新為懸臂樑設計問題中三個子目標建立一個配對比較矩陣。計算出各子目標重要性比重、C.I.、及C.R.。取s=1s=2,分別求出你的“最佳設計”,並與單目標最佳化時所得之結果做一比較。◇

4.     設計概念評估與選擇

數值最佳化方法在機械設計上的運用,通常是在細部設計階段,此時設計概念早已確立,數值最佳化方法僅在協助設計者決定如尺寸等細節設計變數。因此在細部設計階段,設計者能作最佳化的彈性已相當有限,而在一個設計中最重要、最具影響力的設計決定,往往是在概念設計階段中作成的。選擇最佳的設計概念,遠比將不佳的設計概念最佳化更為有效。因此如何將最佳化觀念運用在概念設計階段,使設計者能有系統地產生、評估、選擇各種設計概念,作出最佳的設計決定,對整個機械設計的最佳化,將有莫大助益。

這一節裡首先討論設計概念評估問題的特性,接著介紹分析層級程序法中“分層”的精神,以及如何應用分析層級程序來處理設計概念評估的問題。

4.1 設計概念評估問題的特性

一般數值最佳化設計問題的目標函數和限制條件都是定量化的性質,如成本、體積、應力等等,設計變數的可行空間也都是定量化而連續的,因此數值最佳化模型的建立十分直觀而明確。設計概念評估問題,基本上也可以看成一個多目標最佳化設計問題,然而與一般數值最佳化設計問題相較,設計概念評估的問題最佳化模型的建立,顯然較為困難,主要是因為這類問題有兩個特性,定性化與不確定性。

在概念設計階段,設計概念評估的目標函數和限制條件除了一般定量化的項目外,通常包含多個“無形的(intangible)”定性化項目(attribute),如美觀、方便性、舒適性等,需要有系統地充分了解顧客需求,以尋找、定義出設計概念評估的定性化項目,並比較其間的重要性,才能建立此多目標最佳化模型。且其設計變數均為獨立、不連續的設計概念,如何產生所有可能的設計概念,找到最完整的設計變數可行區間,也是一個需要探討的問題。

其次如果我們要以最佳化方法處理設計概念評估問題時,目標函數中各定性化的項目如何賦予其函數值,不同的性質的定性化項目間比重如何處理,都是由設計者主觀決定,因此有相當的不確定性。所以在設計概念評估的多目標最佳化模型的建立,以及最佳設計概念的求取,都必須對此不確定性加以處理。

分析層級程序的一個重要精神“分層”的觀念,就是在有系統地找出影響設計性能的各個因素,而第三節中介紹了如何以分析層級程序求取多目標函數中,設計者對各子目標主觀的重要性比重,同樣的方法,也可以用來給定目標函數中各定性化項目的函數值。因此分析層級程序常被用在概念設計階段中,設計概念的評估上,下一節將以一實例對此應用作一介紹。

4.2 分析層級程序在概念設計階段的應用

這一節的例子是引用自MIT教授A. H. Slocum所編著的”Precision Machine Design”一書[1992]。你現在要為一部機器設計一組直線軸承,你有三個可能的設計概念LB1LB2LB3(或者說你有三個不同的軸承可供選擇),你要如何從這三個設計概念中,挑選一個最好的?

如果以最佳化設計的觀念去想這個問題,首先要了解這是一個單變數的問題,而且這個變數只能是LB1LB2LB3等三個離散值。比較困難的是,這個最佳化問題的目標函數是什麼?什麼是“最好”的直線軸承?這顯然會是一個多目標最佳化問題,一個好的直線軸承要考慮的因素可能很多,如果我們可以把所有因素找出來,給定每一項因素一個重要性比重,將我們候選的設計概念在每一項因素中作一評分,那麼我們便可以建立類似式(11)的目標函數:

                                                                      (25)

其中ai是因素i的重要性比重,scorei(x)是設計概念在因素i的得分,用式(25)即可計算、排列出每個設計概念優先的先後順序。

分析層級程序正包括了這四個步驟:(a)找出考慮因素、(b)給予每一因素一個重要性比重、(c)在每個因素對每個設計概念作評分、(d)排列出每個設計概念優先的先後順序

在第一個步驟“找出考慮因素”中,設計者可能沒有辦法一下子找出所有的細部因素,而分析層級程序中“分層”的基本精神,便是要將一個複雜、無結構的問題,從大到小,從上到下,有系統地分解成為層級的樹狀結構。

如選擇一直線軸承的設計概念,要考慮精確度、摩擦阻力、以及成本,這三個因素構成了第一層。進一步考慮精確度,影響精確度的因素包括軸承的直線度和平滑度;同樣的,考慮摩擦阻力,設計者應該考慮動摩擦和靜摩擦;最後,直線軸承成本包括材料成本、裝配成本、和維護成本。這總共七個因素,構成了第二層。如果至此設計者認為不必再細分下去,我們便可建立如下圖的分析層級(analytical hierarchy)

2. 選擇直線軸承的分析層級

建立了這個問題的分析層級之後,我們便可利用前一節配對比較矩陣的方法,分層、分支求取其重要性比重。例如在第一層中,精確度、摩擦阻力、以及成本這三個因素可以求出其重要性比重,三個比重值可以加以正規化,使其和為1

而在第二層中必須分支來求其重要性比重,如直線度、平滑度一組,動態、靜態摩擦一組,材料、裝配、維修成本一組,分別求出其重要性比重。要注意的是,第二層中各分支的比重值也要加以正規化,使其和等於第一層中的分支比重值。如第二層中直線度、平滑度比重的和,須等於第一層中精確度一項的比重值。

接下來則是要在每個因素對每個設計概念作評分,最後排列出每個設計概念優先的先後順序。對於定量化的因素,如成本、摩擦係數,評估上比較單純,但這裡仍然要注意不同因素之間評分的正規化問題,不同因素之間如性質相同(如都是成本),自然沒有問題,如果性質不同,直接用式(25)加成起來,顯然並不合理。

定性化因素對每個設計概念作評分,則又可以應用到配對比較矩陣。在這個例子中,假設“平滑度”沒有客觀定義,而是設計者主觀認定的定性化因素,要比較LB1LB2LB3三個設計概念的“平滑程度”,我們可以針對這個因素,作出配對比較矩陣,只是這時矩陣中的元素並非重要性比值,而是設計者主觀認定的平滑程度比值。而這個矩陣的特徵向量作正規化後,便可以作為三個設計概念在這個定性因素上的評分。

到這裡你應該可以看出,分析層級程序中建立分析層級的優點,在於設計者可以有系統地列出所要考慮的項目,而在給定比重值時,一次要同時考慮的因素個數較少,且性質相近,比重的給定較容易且準確。而其配對比較矩陣,不但可以用來給定各因素的重要性比重,也可以用來在主觀的定性因素上,對各設計概念作較精確的評分。

在這個例子中,我們並沒有提到限制條件。如有必要,當然可以把限制條件(如總成本的上限)加入,成為一標準多目標最佳化問題的形式,只是這個問題中設計變數僅能是LB1LB2LB3三個離散值,所以最佳解的求取比一般多目標最佳化設計問題單純得多,只要先檢查LB1LB2LB3是否滿足限制條件,不滿足的自然應從候選單中剔除,之後限制條件即可被鬆弛。

除了在選擇最佳的設計概念之外,分析層級程序在各種不同類型的決策上,小則如選購汽車,大則如決定核能電廠興建的地點,都是很好的決策方法。

◇作業6

構思一個選擇設計概念的問題(或者選擇汽車、選擇電腦、選擇學校…),注意你必須要有三種以上可選擇的對象。找出你選擇時的考慮因素,如有必要,可做二層甚至三層的分級。利用配對比較矩陣,為每一項考慮因素訂定重要性比重。將你所列出的考慮因素分成定量與定性兩類,先為所有設計概念就定量因素評分,注意評分需要作正規化處理。再以配對比較矩陣為所有定性因素評分,使用配對比較矩陣時注意其一致性。最後將所有設計概念評分加總排出優先度。這個結果合理嗎?和你的預期是否相同?這個評估程序對你是否有何幫助?◇

參考資料

Saaty, T. 1991. Prediction, Projection, and Forecasting, Kluwer Acdemic Publishers.

Slocum, A. H., 1992. Precision Machine Design, Prentice Hall, Englewood Cliffs, New Jersey.