//Logo Image
最近更新:徐業良(2005-07-18)﹔推薦:徐業良(2005-07-18)
附註:本文為元智大學機械所最佳化設計課程教材。

第三章 檢驗最佳化設計模型-單調性分析法

前一章中提到最佳化設計模型限制性的問題,針對這個問題,這一章要介紹從1975年起,美國史丹福大學的Wilde教授及密西根大學的Papalambros教授,開始發展最佳化理論的一個分支-「單調性分析(Monotonicity Analysis)[Wilde and Papalambros, 1975, 1976, 1979, 1988, 2000]

單調性分析是經由檢驗目標函數和限制條件的單調性,來分析模型是否限制不良或無界限,各函數限制條件是否有效或不相關等等。由於工程最佳化設計問題中大部份的函數具有單調性,因此單調性分析對工程最佳化設計特別具有價值,設計者往往藉著單調性分析便可對最佳化設計模型得到相當豐富的定性資訊。此定性分析結果可使設計者對其模型有更深入了解,不但可以進一步求得數值結果,且可轉釋成具一般性的設計法則,廣泛適用於同類型的設計。

這裡首先討論函數單調性與限制性的關係,接著便推導單調性分析的第一與第二原則,並以設計實例來介紹單調性分析的程序。

1.     函數的單調性

先前提到最佳化設計模型的限制性,一個函數的限制性事實上和其「單調性(monotonicity)」是有密切關聯的。所謂「單調函數(monotonic function)」簡單的說,就是函數值隨著變數增加而一直持續增加或持續減少的函數。大部分的機械性質、行為具有單調性,如材料厚度越小、所能承受的應力越小,使用同樣馬達或引擎時齒輪箱減速比越大、扭力輸出越大等。反映在工程設計的最佳化設計模型中,目標函數和限制條件通常也都具有單調性

1.1 單調函數

「單調性分析」顧名思義是應用在具有單調性的函數上,這裡首先對單調函數作一嚴謹的定義:

◇定義1

考慮一個函數f(x)x屬於正有限區間。如果對每一個x2>x1f(x2)>f(x1),則函數f(x)稱作對變數x「單調遞增(monotonically increasing),寫作f(x+)。同理,如果對每一個x2>x1f(x2)<f(x1),則函數f(x)稱作對變數x「單調遞減(monotonically decreasing),寫作f(x-)。不管是單調遞增函數或單調遞減函數,通稱作「單調函數(monotonica function),而這樣具單調性的變數,便稱作「單調變數(monotonic variable)。◇

就以上的定義而言,這些函數與設計變數應該稱作「嚴格遞增或遞減(strictly increasing or decreasing)」或「強遞增或遞減(strongly increasing or decreasing)」的函數或變數。如果對每一個x2>x1f(x2)f(x1),即可以容許f(x2)=f(x1)的情況,則函數f(x)稱作對變數x「弱遞增(weakly increasing)」。在這個定義之下,一個常數函數f(x)=C可以同時是單調遞增或單調遞減。不同定義所發展出的單調性理論也略有差異,這裡所討論的均是以強遞增或遞減的定義為主,後續將會繼續討論擴展的單調性分析理論,便包含了弱遞增、弱遞減的情況。

當然,如果一個函數同時是好幾個變數的單調遞增或單調遞減函數時,我們也會有f(x1+, x2+)f(x1+, x2-)f(x1+, x2-, x3+)等等,依此類推。決定一個函數對某個變數是單調遞增或單調遞減,基本上也可以看該函數對此變數一次偏微分的符號,如果一次偏微分恆為正,函數對此變數是單調遞增;如果恆為負,函數對此變數是單調遞減。不過有一點要注意的是,在定義1中並沒有假設函數是可微分的,正因為沒有這項假設,使得單調性分析的應用範圍大為增加。如圖1所示的階梯函數,雖然在轉折點一次微分不存在,但這仍是一個單調遞增函數。

1. 不連續的單調遞增函數

前面曾經提到,在許多較複雜的工程設計問題中,目標函數和限制條件常常無法表示成簡單的外顯形式函數(解析形式函數),而須經過複雜的電腦模擬或實際實驗才能求得。對於這樣的函數,函數值的取得十分昂貴,一次微分的計算更是十分困難或者根本不存在。然而函數對各變數的單調性卻往往憑藉對系統機械性質上的知識,甚或設計者的直覺,即可判定目標函數和限制條件對各變數的單調性,而藉著單調性分析便能進而對此最佳化設計模型得到相當豐富的資訊。因此單調性分析應用在工程的最佳化設計上,實在有其特殊的優越性。

◇作業1

這個作業大部分摘自PapalambrosWilde所著“Principles of Optimal Design”一書[Papalambros and Wilde, 1988]。試不求函數一次微分,僅用簡單的數學及推理,判斷下列函數是單調遞增、單調遞減,或者不具單調性。

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)     

◇作業2

試舉幾個工程問題中單調函數和單調變數的例子,也就是說,哪些函數的函數值隨著變數增加而一直持續增加或持續減少。試舉一個工程問題中的例子,一個函數同時有兩個以上的變數,而此函數對其中部份變數是單調遞增,對部份變數是單調遞減。◇

1.2 函數的單調性與限制性

第二章中曾經討論到函數在正有限區間中限制性上可能遇到的兩個問題,「無界限」和「界限不良」。這裡先將無界限和界限不良重新嚴謹地定義如下。

◇定義2

f(x)是一個的函數。如果對所有xf(x)l,則l是函數f(x)的一個下界(lower bound)f(x)的下界可能有無限多個,但是其中最大的一個叫做最大下界(greatest lower bound),簡寫成glb。◇

◇定義3

如果函數f(x)glb=-,稱作函數f(x)對變數x無界限(unbounded)。◇

◇定義4

如果函數f(x)glb>-,且存在一使得f()=glb,但,稱作函數f(x)對變數x界限不良(not well bounded)。◇

根據這幾個定義,無界限和界限不良代表的意義完全不同,且各可能有幾種不同情況,圖2(a)(b)(c)、和(d)是幾個無界限和界限不良的例子。圖2(a)是無界限的情況,圖2(b)中函數雖然有glb但此時x=0,不屬於,根據定義4,是屬於界限不良的情況。在有漸近線的兩個例子,圖2(c)無界限,圖2(d)雖有下界,但此時x為無窮大,不屬於,故為界限不良。

    

(a) 無界限的情況                                         (b) 界限不良的情況

               

(c) 有鉛直漸進線的情況                                     (d) 有水平漸近線的情況

2. 無界限和界限不良的例子

觀察這幾個圖,你應該很容易可以看到,中,單調函數不是無界限就是界限不良!性質1說明這個現象。

◇性質1

設函數f(x)中對變數x具單調性,則f(x)對變數x不是無界限就是界限不良。

【証明】

f(x)中對x單調遞增,則因f(0)<f(x),故當f()=glb=0f(x)對變數x界限不良。如f(x)中對x單調遞減,在沒有漸近線的情況下,glb=-f(x)對變數x無界限;在有漸近線的情況下,因f()<f(x),故當f()=glb=f(x)對變數x界限不良。◇

◇作業3

在作業1中,哪些函數是無界限?哪些是界限不良?試繪圖簡略說明。◇

在一個工程設計最佳化設計模型中,如果目標函數無界限或界限不良,都會造成模型沒有一個合理的最佳解,這樣的模型叫做「限制條件不足(not-well constrained)」的最佳化設計模型。而造成最佳化設計模型的限制條件不足,通常其原因在於設計者建立模型時考慮不完全,而遺漏了某些因素。

例如第二章中的懸臂樑設計問題,最佳化設計模型如下:

        min. 

                s.t.   

                       

                       

                                                                                            (1)

這個最佳化設計模型中,目標函數f對於設計變數rl都是單調遞增的函數。如同第二章中的討論,要求最小重量,設計變數rl都必須越小越好。設計變數r受到限制條件g1g2的限制,不能趨近零,但設計變數l除集合限制條件l>0之外,沒有受到其他限制條件限制,如圖2(b),在f=glbl=0是界限不良的狀況。

如果要將限制條件不足的最佳化設計模型轉化成「限制條件完整(well constrained)」的模型,通常有兩個途徑。第一個方法是為目標函數中具單調性的變數,找到具有抵換性的項目,使得目標函數對此變數不再具有單調性。例如在懸臂樑設計問題中,懸臂樑重量影響其材料成本,懸臂樑長度越短、材料成本越低;但假設懸臂樑長度影響其製造成本,懸臂樑長度越短、製造成本越高,在目標函數中同時考慮懸臂樑的材料成本和製造成本的話,目標函數對懸臂樑長度這個設計變數不再具有單調性,限制條件不足的問題也就消失了。

此解決限制條件不足更直接的途徑,就是找出現前遺漏的設計需求,增加成為限制條件。例如懸臂樑設計問題中對設計變數l限制條件不足,要思考的問題是,“如果懸臂樑長度太短,對設計有什麼影響?”,也許設計者會發現有一個遺漏的設計需求是,“在實際應用上,懸臂樑的長度必須超過一定跨距”。把這個限制條件加進去,設計變數l受此條件限制、不會趨近於零,最佳化設計模型便成為一個限制條件完整的模型了。

下一節中便將討論怎樣的限制條件才可以有效地限制住具單調性的目標函數。

2.     有效的限制條件

在這一節中首先要對「有效的限制條件(active constraint)作一嚴謹的定義,接著則將以兩個簡單的設計實例,討論在有單調性的最佳化設計模型中,有效限制條件單調性的方向。

2.1 限制條件的有效性

先前已大略提到了限制條件有效性的意義,這一節裡將對有效性作進一步定義與討論。

◇定義5

在一個最佳化設計模型中,如果「鬆弛(relax)某限制條件後而最佳點的位置便跟著改變,則該限制條件是一個有效的限制條件。相對的,如果鬆弛某限制條件而最佳點的位置並未跟著改變,則該限制條件是一個無效的(inactive)限制條件

定義5可用來測試一個限制條件是否有效。在一個最佳化設計模型中,如果把一個限制條件鬆弛後求出的最佳點,較原先最佳點的位置有所改變,甚至違反了這個被鬆弛的限制條件的話,這是一個有效的限制條件。相對的,如果鬆弛某限制條件後最佳點的位置沒有跟著改變,那麼這個限制條件存在與否並不影響最佳點的位置,是一個無效的限制條件。

3所示的單變數目標函數f(x)及限制條件g(x),可以進一步說明有效限制條件的意義。若限制條件g(x)是在B點上,則顯然函數f(x)的最佳點(最小值)是在此點上。然而如果鬆弛此限制條件,則函數的最佳點亦會跟著移動,因此限制條件g(x)對函數f(x)來說是個有效的限制條件。另外一種情況,若限制條件g(x)是在C點上,則函數的最佳點是在A點,而鬆弛此限制條件並不影響到函數的最佳點,故此時限制條件g(x)對函數f(x)來說是個「無效的限制條件(inactive constraint)

3. 限制條件的有效性

如果一個不等式限制條件g0是有效的,一般情況下最佳點會發生在這個限制條件的邊界上,如圖3中的B點,即在最佳點時有效的不等式限制條件g=0。但限制條件有效性的意義,理論上並不止於把限制條件中的不等號變成等號而已。如圖4所示函數與限制條件,如果鬆弛不等式限制條件g0,最佳點的位置會由A點改變至B點,因此g0是個有效的限制條件,但在最佳點A時,g0。不過一般來說,圖4的情況究竟並不常見,因此當我們說不等式限制條件g0為有效,通常還是可以視為g=0

4. 在最佳點A時,g0

另外一個有趣的現象是,前一節提到限制條件不足的最佳化設計模型,事實上其設計變數屬於正有限區間集合這個集合限制條件是有效的,換句話說,沒有其他有效的不等式限制條件,導致這個集合限制條件成為有效,但是這個集合限制條件又不能以等號形式滿足,即設計變數值不能等於零或無窮大,便造成了最佳化設計模型無最佳解。

先前提到絕對不等式限制條件如g<0的形式,也有類似性質,這一類限制條件如果有效,常常也會造成模型無最佳解,這也是一種限制條件不足的狀況,所以絕對不等式限制條件通常是用處理集合限制條件同樣的方式來處理。處理這一類限制條件的方式,都是先將其鬆弛來求模型的最佳點,如果最佳點違反了這個絕對不等式限制條件,那麼這個限制條件是有效的,而模型則極可能因限制條件不足而無解。

最後一個要強調的重要觀念是,等式限制條件並非一定是有效的限制條件。考慮以下這個簡單的例子,

        min. (x1-1)2

        s.t. x2=2x1

等式限制條件x2=2x1存在與否,並不影響最佳點的位置,因此這是一個無效的限制條件。事實上在這個例子中,變數x2和整個模型是「不相關的(irrelevant)」。設計變數的「相關性(relevance)」在往後談到單調性第二原則時再作討論。

2.2 有效限制條件單調性的方向

目標函數中有單調變數的存在,常常容易造成無界限或界限不良的情況,而怎麼樣的限制條件可以有效地限制住目標函數中的單調變數,這和限制條件本身的單調性方向有非常直接的關係。

這一節裡我們再次考慮先前討論的懸臂樑設計問題(式(1)),來討論有效限制條件單調性的方向。

現在我們僅先探討變數l,而將其他設計變數固定,即令,這時候最佳化設計模型的目標函數是f(l+)。如果假設所有限制條件都不存在,根據性質1,此目標函數f對變數l界限不良。目標函數fglb=0,此時l=0,也就是說要使懸臂樑的重量最小,其懸臂樑長度要等於零,這顯然是一個不合理的設計。

要防止這個不合理的設計發生,則一定得有一個有效的限制條件,將設計變數l“從下界限住(bound from below)。然而檢查此模型的所有限制條件都沒有辦法滿足這樣要求,設計變數l出現在限制條件中,且單調性均為正,即限制條件都僅提供給變數l上界,而非我們所希望的下界,因此我們發現這是一個“無解”的模型,也就是說這是個限制不足的模型。

前面曾經提到,如果要轉化此最佳化設計模型為限制條件完整的模型,其中一個方法就是增加限制條件,故在此為設計模型加入一個限制條件給變數l一個下界,也就是懸臂樑長度必須大於一容許值L,其限制條件標準形式=-l+L0

值得注意的是,設計變數l在限制條件中為單調遞減,單調遞增的限制條件(如可以給對應的設計變數一個上界,而單調遞減的限制條件則可以給對應的設計變數一個下界。對一個在目標函數中具單調性的變數來說,限制條件有效與否,和該限制條件對此變數單調性的方向是直接相關的,性質2說明了這個事實,這個性質也就是下一節所要提出的「單調性第一原則(First Monotonicity Principle)」的基礎。

◇性質2

設限制條件g中對變數x單調遞減(遞增),且有一正根A,即g(A)=0,則限制條件g0可從下(從上)界限住變數x,且此下界(上界)為A(參見圖5)。

【証明】

如果g中對變數x單調遞減,則g(x)>g(A)時,0<x<A,故為滿足限制條件g0xA,即A為變數x之下界。◇

5. 限制條件給變數上界及下界

這裡再舉一個最小重量壓力容器的設計問題[Unklesbay, Staats, and Creighton, 1972],來進一步說明有效限制條件單調性的方向。如圖6所示,這裡我們要決定的設計變數有容器內徑r,圓筒壁厚s,圓筒高度l,和上下蓋厚度h,長度單位是公分。這個問題可以寫成如下的數學模型:

6. 壓力容器的設計

        min. 

        s.t.    (1)

                (2)

                (3)

                (4)

                (5)

                                                                                                 (2)

其中目標函數是壓力容器材料的體積,包括容器壁及上下蓋的體積。限制條件(1)要求容器內部容積須大於一定值,限制條件(2)(3)為美國機械工程師協會(ASME)規定壓力容器蓋厚、壁厚與半徑的最小安全比例;因壓力容器壁側要裝上氣嘴,故限制條件(4)要求圓桶壁長至少要超過10公分;限制條件(5)則要求圓桶外徑不得超過150公分,以能容納在儲存空間中。

這個最佳化設計模型可以改寫成如下的標準形式:

        min. 

        s.t.   

               

               

               

               

                                                                                                 (3)

注意在這個最佳化設計模型中,所有設計變數在目標函數和所有限制條件中,都是單調變數,單調性在工程設計的最佳化設計模型中,的確是隨處可見的。

和前一個例子一樣,將其他變數固定,僅先探討變數h,即令,這時候這個最佳化設計模型的目標函數是。如果假設所有限制條件都不存在的話,根據性質1,此目標函數f對變數h界限不良。目標函數fglb=,此時h=0,也就是說要使壓力容器材料的體積最小,上下蓋厚度要等於零,這顯然是一個不合理的設計。

要防止這個不合理的設計發生,變數h必須從下被界限住,那麼這個最佳化設計模型中的5個限制條件,哪一個限制條件可以從下界限住變數h呢?

變數h僅出現在限制條件(2)中。r固定的話,如果h太小,將會違反限制條件(2)中所規定,壓力容器蓋厚與半徑的最小安全比例,所以這個限制條件是有效的,也就是說h的值雖然越小越好,但最小仍必須等於這個安全比例。

從式(3)來看,當時,=0剛好被滿足,但限制條件對變數h單調遞減,所以如果>0,違反了這個限制條件,因此這個限制條件是有效的。

從這裡也可以看出,對一個在目標函數中具單調性的設計變數來說,限制條件有效與否,和該限制條件對此變數單調性的方向有直接關係,在這個例子裡,如果限制條件對變數h單調遞增的話,便無法從下界限住h。而從性質2來看,變數h需要一個下界,對變數h單調遞減的限制條件可以提供這個下界,因此所有對變數h單調遞減的限制條件都有可能是有效的限制條件。而在這個例子中,有可能提供變數h下界的限制條件只有一個,在此情況下,這個限制條件便必須是有效的,否則最佳化設計模型會限制條件不足。

接下來我們再討論變數s,應該對此分析會有更清楚的了解。在式(3)中變數s在目標函數中單調遞增,所以如同變數hs必須從下被界限住。但檢查所有的限制條件,變數s出現在兩個限制條件中,而s中是單調遞減,在中是單調遞增,由性質2可知,很顯然的,不能限制s繼續變小,才能從下界限住變數s,所以是有效的限制條件,在這裡=0

前面這些對變數單調性及限制性的討論,事實上便是單調性分析的程序。下一節中便對單調性分析作一個有系統的介紹,再繼續完成這個最小重量壓力容器設計問題的單調性分析。

3.     單調性分析

上一節的討論中,我們實際上已經用到了單調性分析第一原則的觀念,這一節中將要正式介紹單調性第一原則,並詳細介紹單調性分析過程及單調性符號表,最後則以此對我們的壓力容器設計問題作一完整分析。

3.1 單調性第一原則

這裡首先要正式介紹單調性第一原則的內容。

◇單調性第一原則(First Monotonicity Principle, MP1)

在一個限制條件完整的最佳化設計模型中,每一個在目標函數中單調遞增(遞減)的變數,都必須被至少一個有效的限制條件從下(上)界限住[Papalambros and Wilde, 1988]。◇

這個原則其實僅是綜合了性質1與性質2。利用這一個簡單的原則,我們便可對前一節中的壓力容器最佳化設計,作如下的「單調性分析(Monotonicity Analysis)

假設式(3)是一個限制條件完整的最佳化設計模型,

步驟一:

考慮變數h,由MP1h在式(3)的目標函數中單調遞增,必須被從下界限住,是唯一可以從下界限住h的限制條件,所以必須是有效的。這種情況稱作h具有「關鍵性(critical),也就是說,如果不存在,這個模型必定限制條件不足。

注意此處「關鍵性(criticality)是單調性分析中特別定義的專門用詞,意指由單調性推論而來的限制條件的有效性。如同2.1節中的討論,有效性是一個定義範圍較廣的觀念,關鍵性則可視為有效性的特例。簡單的說,具有關鍵性的限制條件一定是有效的,但有效的限制條件未必具有關鍵性2.1節中提到集合限制條件便是一個例子,在單調性分析中,集合限制條件和絕對不等式限制條件,都是被排除在外而不加以分析的,也就是說這些限制條件不可能具有關鍵性,但是它們當然可能會是有效的限制條件。

關鍵性和有效性另一個不同,但觀念上也較為簡單的地方,是最佳點必定發生在可行區域具關鍵性的限制條件邊界上,也就是說最佳點的設計變數值代入具關鍵性的限制條件時,限制條件必定能以等號形式被滿足。這是一個非常重要的性質,當一個不等式的限制條件經由單調性分析被推斷為具有關鍵性後,這個限制條件必須要以等式形式滿足,整個最佳化設計模型的「自由度(degree of freedom)」便少了一度,而這個具關鍵性的限制條件也可被用來解其他變數間的關係。

在符號表示上,這裡限制條件具有關鍵性,我們在不等號下加一橫槓,寫作,代表在最佳點時,這個不等式限制條件必須以等式形式滿足。因此,代入式(3)中,可以得到

        min. 

        s.t.   

               

               

               

                                                                                                    (4)

單調性第一原則的重要價值,就在其不必求出最佳解,便可推論哪個限制條件具有關鍵性。具有關鍵性的限制條件,除了可用來進一步簡化模型外,更可以此推導出所設計系統的「最佳化設計法則(optimal design rules)

例如此處推論出限制條件具關鍵性,所導出的一個最佳設計法則便是,“壓力容器最小重量設計,蓋厚與半徑比例必須等於最小安全比例”。這個推論完全僅依據函數的單調性,與系統參數毫無關係,因此適用於所有同類型設計。例如如果美國機械工程師協會更改安全標準,或在其他壓力容器設計中改採日本或我國的相關標準,原來的參數雖然有所改變,這個最佳化設計法則仍然完全適用。

工程設計的教科書或有豐富實務經驗的設計工程師,可能會常常告訴你設計這一類的機械,有那些重要原則要遵守,而事實上這些經驗原則,正是資深工程師長期不自覺地作最佳化所得到的心得!先前一再強調,最佳化方法在工程設計上的應用更重要的目的,是在經由最佳化的過程,進一步深入了解此工程設計數學模型,乃至原系統的各種性質。單調性分析在這方面的意義,可能更超過單純地將模型簡化,每當一個不等式限制條件被判定具有關鍵性時,設計者都應該思考是否能從中推導出具有一般性的設計規則。

步驟二:

原先的最佳化設計模型已被簡化成式(4)中的子問題。考慮變數s,由MP1s在式(4)的目標函數中單調遞增,必須被從下界限住,但s出現在兩個限制條件中,而s中是單調遞減,在中是單調遞增,不能限制s繼續變小,才能從下界限住變數s,所以s具有關鍵性。在這裡=0代入式(4)可以得到

        min. 

        s.t.   

               

               

                                                                                                       (5)

此處推論出s具有關鍵性,闡釋成最佳化設計法則便是,“壓力容器最小重量設計,壁厚與半徑比例必須等於最小安全比例”。

步驟三:

原先的最佳化設計模型已經再度被簡化成式(5)中的子問題,我們還剩下兩個變數rl。在單調性分析中,變數被考慮的先後次序對整個分析應完全沒有影響,但此處變數l2個可能具關鍵性的限制條件,牽涉到下一節將會討論的「有條件關鍵性(conditionally critical)」的問題,因此這裡先考慮變數r

考慮變數r,由MP1r在式(5)的目標函數中單調遞增,必須被從下界限住,但r出現在兩個限制條件中,而r中是單調遞減,在中是單調遞增,限制條件不能限制r繼續變小,才能從下界限住變數r,所以r具有關鍵性。在這裡=0,代入式(5)中可以得到

        min. 

        s.t.   

               

                                                                                                            (6)

此處推論出的最佳化設計法則是,壓力容器最小重量設計,內部容積必須等於最小需求容積。

步驟四:

考慮變數l,由MP1l在式(6)的目標函數中單調遞減,必須被從上界限住,注意此處變數l的單調性符號與式(5)中不同(為什麼?)。但變數l出現在兩個限制條件中,且l中均是單調遞減,兩個限制條件都不能限制變數l繼續變大,所以這個最佳化設計模型限制條件不足!

分析了那麼久,這個最佳化設計模型竟然又是個限制條件不足的模型,然而在作單調性分析之前,我們絕對無法看出這個模型限制條件不足。如果我們直接使用一個最佳化的數值分析軟體,嘗試對式(3)的模型求解,我們一定得不出一個合理的最佳解,卻又很難看出如何修正這個模型。

到這裡我們應該可以逐漸體會出單調性分析的價值,前面的分析告訴我們,這個問題中設計變數l沒有適當的上界,下一節裡我們便來討論如何修正這個最佳化設計模型,並且進一步求出其最佳解。

3.2 以限制條件界定之模型

前一節的分析告訴我們,在設計這樣的一個最小重量壓力容器時,有幾個最佳化設計法則要遵守,首先是一定要滿足美國機械工程師協會對壓力容器蓋厚與半徑、壁厚與半徑的最小安全比例的規定,且其內部容積必須等於最小需求容積,另外最小重量的壓力桶,桶長要越長越好。

最後這個“桶長要越長越好”的結論似乎違反了一般的直覺,桶長越長重量不是應該越重嗎?但是從單調性分析的過程來看,最小重量壓力容器的半徑要越小越好,而在有效的限制條件中,半徑r是二次方,桶長l僅是一次方,因此在兩者相乘等於定值的條件下,變數r的影響顯然大過變數l,桶半徑要越小越好,在限制條件為定值的限制下,相對的桶長反而要越長越好了。

桶長l要越長越好,但變數l顯然也不能無限地增大,我們一定遺漏了一個限制條件。桶長過長會發生什麼問題呢?例如壓力容器所在空間可能有高度限制,或製造壓力容器的材料有長度限制,另外壓力桶過長,受到軸向壓力容易發生側潰等等。這裡我們加入一個製造上的限制條件,壓力桶必須由鋼板捲製而成,而市面上所生產的鋼板,最大寬度是610公分,超過這個寬度須以兩捲鋼板焊接,製造成本將大幅提高,因此這裡加入的這個限制條件是,桶長最長不能超過610公分,也就是

這個限制條件顯然對變數l具有關鍵性,因此l=610公分,推導出的最佳化設計法則是,壓力桶長必須等於市面上所生產最大鋼板的寬度。

從前一節步驟三中可以解出公分;又從步驟二中=1.01公分;再由步驟一=13.7公分。至此,4個設計變數的最佳值都已解出,這個最小重量壓力容器桶長610公分,內徑105公分,壁厚1.01公分,蓋厚13.7公分這個最佳化設計問題的「最佳解」已經被解出來了,而這些尺寸數字從設計者的直覺上來看都相當合理。

在這裡你可能會有些疑問,這個最佳解只是4個有關鍵性的限制條件的聯立解而已,和原先我們要最小化的目標函數似乎毫無關連!

但是回頭仔細觀察單調性分析的過程,實際上單調性分析決定出的「有效限制條件集合(active constraint set),和目標函數中各變數的單調性及其係數、指數都有關連。而在這個例子中,設計變數的個數和有效限制條件的個數完全相同,也就是整個模型在最佳解的自由度為零。因此有效限制條件確定之後,最佳解便完全被有效限制條件所決定。這種最佳化設計模型,稱作「以限制條件界定之模型(constraint-bound model)

◇定義6

在一個最佳化設計模型中,如果在最佳點上有關鍵性限制條件的數目和設計變數的數目完全相同,這樣的模型稱作以限制條件界定之模型。◇

這種以限制條件界定之模型,在設計上的意義,就是其所謂“最佳”設計,實際上完全是被設計上的限制所決定,而其在數學上的意義,則是這個模型的最佳點屬於邊界最佳點,而非內部最佳點。

如前面所討論壓力容器設計的例子,如果最佳化設計模型中的設計變數都是單調變數的話,這個模型極有可能是以限制條件界定之模型。在這個幸運的情況下,我們僅用單調性分析判定哪些是具有關鍵性的限制條件,聯立起來就可以求得最佳設計的數值解。當然是在一般最佳化設計問題中,單調性分析通常無法求得數值解,我們還是需要最佳化的數值演算法。

◇作業4

再次考慮懸臂樑設計問題,但如圖7,懸臂樑截面從原先的圓形改成方形截面,設計變數增加為4個,稍稍增加問題的複雜性。

 

7. 懸臂樑設計

重寫這個懸臂樑設計問題的標準最佳化數學模型如下:

        min.  f = Wlbh

        s.t.   

               

               

               

                                                                                                (7)

先將等式限制條件代入消去中介設計變數i,依照前述步驟對此問題作單調性分析。哪些限制條件是有關鍵性的限制條件?你從中得到了一些最佳化設計法則嗎?這是一個以限制條件界定的模型嗎?如果是,設定一些合理的參數,試求出其最佳解。◇

3.3 單調性表與內隱式消去法

前面很詳細地描述了單調性分析的過程,從這個分析中可以看到,單調性分析實際上僅需要知道目標函數及限制條件對設計變數的單調性,而在消去某一有效限制條件及其相應的設計變數時,須注意其他設計變數的單調性是否發生變化。這一節的目的在介紹單調性分析中所用到的兩個運算工具,「單調性表(monotonicity table)以及「內隱式消去法(implicit elimination),可以更簡潔地表達單調性分析的過程。

1是前一節中討論的壓力容器設計問題的單調性表。擬定這個表十分簡單,如表所示最上方橫行是設計變數,最左方直列則是目標函數(F)及限制條件(G)。表格中符號“+”代表該設計變數在此目標函數或限制條件中是單調遞增,“-”代表單調遞減,“.”則代表此函數中並不包含此設計變數。

1. 壓力容器設計的單調性表

 

h

s

l

r

F

+

+

+

+

G1

.

.

-

-

G2

-

.

.

+

G3

.

-

.

+

G4

.

.

-

.

G5

.

+

.

+

G6

.

.

+

.

從這個單調性表出發,單調性分析的過程變得十分單純。從單調性第一原則可知,如果某設計變數在目標函數一格中為“+”號時,應往下尋找一“-”號,反之亦然。如變數h在目標函數中為“+”,須往下找一“-”號,而只有限制條件對變數h“-”號,故h具有關鍵性。

推導出有關鍵性的限制條件之後,下一個步驟是要將此限制條件和變數h由此模型中消去。在前一節中我們把=0化成的外顯形式函數(explicit function),代入目標函數和其他包含變數h的限制條件中,再觀察其他變數的單調性。但是要化成這種外顯形式函數,只有在限制條件函數形式極簡單的情況下才有可能,稍微複雜一點的函數,如,變數x就不能寫成變數y的外顯形式函數。所幸在單調性分析中,我們僅需要知道在消去某一變數和限制條件之後,其他變數的單調性符號是否發生變化,而不需要知道函數確實的外顯形式。因此接下來便要介紹一種內隱式消去法,也就是如何不用化成外顯形式函數,便能判斷消去某一變數和限制條件之後,其他變數的單調性符號。

就前面這個例子,我們考慮以下的問題:限制條件中僅包含hr兩個變數,所以當消去h時,對另外兩個變數sl的單調性自然毫無影響。但是對變數r的單調性會造成什麼改變呢?

◇性質3

設函數,而為函數上兩點。那麼如果,則

【證明】

時,假設,則因,使得必有一點不在此函數上,與假設不合,故。◇

這個性質對函數也適用,也就是說,當兩個變數xy在某一函數中具有“相同”單調性時(同為單調遞增或同為單調遞減),假設存在一“函數”,這個函數不必是一般外顯示函數,但我們知道其單調性為。注意性質3並沒有提到“函數”。此處所稱的“函數”只是一個方便的說法,並不見得存在,即使存在,可能也不見得是一般嚴謹定義的一對一映射的函數。

這個性質可以很容易繼續延伸,當兩個變數xy在某一函數中有“相反”單調性時,假設存在一“函數”,其單調性為

◇性質4

設函數,而為函數上兩點。那麼如果,則。◇

在表1中將限制條件消去時,因為hr中有相反的單調性,消去時可以得到,目標函數變成,我們便可將單調性表化簡為表2(a)。同理,將限制條件消去時可以得到,此時目標函數變成,同時限制條件也可化簡成為,單調性表進一步化簡為表2(b)。注意在這幾個步驟化簡過程中,各變數的單調性均無改變。

2. 壓力容器設計的單調性表化簡

 

s

l

r

 

 

l

r

F

+

+

+

 

F

+

+

G1

.

-

-

 

G1

-

-

G3

-

.

+

 

G4

-

.

G4

.

-

.

 

G5

.

+

G5

+

.

+

 

G6

+

.

G6

.

+

.

 

 

 

 

(a)                                                                            (b)

從表2(b)進一步化簡時,情況則略有不同。消去限制條件時,我們可以得到,目標函數變成,變數l在目標函數中兩項中一為遞增一為遞減,其單調性變成「無法確定(indeterminate)」,我們可在單調性表中放一個i來表示。單調性無法確定,通常表示其單調性與函數中係數、指數等有關,須實際代入消去,得到外顯形式函數後才能確知其單調性,而很可能此函數已不具單調性。單調性分析的過程,就是這樣一個變數一個變數檢查,直到全部變數均被消去,或單調性表中目標函數一行僅剩i,無法再以單調性分析法繼續分析下去為止

相當湊巧的,把有關鍵性的限制條件實際代入消去時,發現目標函數仍然對變數l具有單調性,只是由原先的單調遞增變成單調遞減,因此仍然可以繼續作單調性分析。同時限制條件原不包含變數l,現在則成為。繼續再作單調性分析,則可以得到限制條件對變數l有關鍵性。

把單調性表繼續化簡完畢後,我們發現還留下兩個無效的限制條件,這兩個無效的限制條件告訴我們的設計法則是,“設計最小重量壓力容器時,不必考慮裝置氣嘴的空間與圓筒外徑上限的問題”。

3.4 條件式的關鍵性

前面所舉的例子中,一個單調設計變數都恰巧只有一個限制條件。如果一個單調設計變數有不只一個限制條件可能具有關鍵性時,應該如何處理?這時就牽涉到另一個觀念,稱作「條件式關鍵性(conditional criticality)」。下面便用一個簡單的「線性規劃(linear programming)」例子,來說明條件式關鍵性。

        min. 

        s.t.   

                ,

                                                                                   (7)

(7)是一個兩變數的線性規劃問題。所謂線性規劃的問題,是最佳化設計模型中所有目標函數、限制條件,均為設計變數的線性函數。如果有部分限制條件或目標函數為非線性,求解這樣的數學模型則稱作「非線性規劃(non-linear programming)」,兩者後續均將正式討論。線性規劃問題一個重要的特性,就是由於是線性的關係,每一個變數必定都具有單調性。由表3的單調性分析表中可以看到,變數x1x2都同時有兩個可能具有關鍵性的限制條件。

3. 條件式關鍵性的例子

 

x1

x2

F

+

-

G1

+

+

G2

-

-

G3

-

+

這裡我們先分析變數x1。限制條件g2g3都可能具有關鍵性,這時這兩個限制條件便稱作具有條件式關鍵性,兩者之一(或可能兩者皆是)必須具有關鍵性,而集合則稱作「有條件式關鍵性集合(conditionally critical set)。碰到這種具有條件式關鍵性的問題,基本的處理方式,就是先假設有條件式關鍵性集合中的一個限制條件為有效,然後依照正常單調性分析程序來作分析,此一假設下的子問題分析完畢後,再假設另一限制條件為有效,依此類推。如前例之中,

(1)   假設限制條件g2為有效限制條件,可得

       

                                                                                       (8)

代入式(7)可以得到

        min. 

        s.t.   

                                                                                        (9)

這時對變數x2又產生了有條件式關鍵性,根據單調性第一原則,限制條件g1g3都可能對變數x2具有關鍵性。因此我們仿照前面,再做一次「分枝(branching)」:

(1-a) 假設g1有效,則,且x1= -1.27f = -5.45

(1-b) 假設g3有效,則x2= -1.13=-0.05f = -1.18

特別要注意的是,單調性分析僅考慮各變數的單調性符號,並沒有考慮其實際數值,因此如果經由單調性分析求出一組數值解,必須要檢驗其是否符合其他暫時被鬆弛的限制條件,也就是檢驗這組解是否為可行解。在此例中解(1-a)違反了限制條件g3,為一不可行解,無法採用。此一分枝分析完畢後,回到前一個分析節點。

(2)   假設限制條件g3為有效限制條件,可得

       

                                                                                             (10)

代入式(7)可以得到

        min. 

        s.t.   

                                                                                    (11)

(11)中只有限制條件g2對變數x2具有關鍵性,因此得x2=1.13x1=-0.05f = -1.18。◇

這些可能的解比較結果,目標函數在(1-b)(2)時同為最小,因此這兩個「案例(case)」是這個問題的最佳解。以上有條件式關鍵性的分析步驟,可以畫成如圖8的條件式關鍵性樹狀圖。如圖所示,第一層中對於變數x1的單調性分析可以產生兩個分枝,每個分枝下再進入第二層對變數x2的單調性分析,最後產生了三個案例,其中兩個案例是相同的,另一個則為不可行解。

8. 條件式關鍵性樹狀圖

事實上在這些步驟中,嘗試各種可能的有效限制條件組合,聯立求解,再找出其中最佳的一組,正是某些求最佳化設計模型解的演算法的基本原則,稱作「有效限制條件集合策略(active set strategy),線性規劃問題正統的求解方法,其基本精神也與此十分接近。

4.     不在目標函數中的設計變數

在前面幾節中討論問題中的設計變數,都有在目標函數中出現,因此根據單調性第一原則作單調性分析時十分簡單,單調性表中設計變數在目標函數一格為“+”者,往下找一個單調性為“-”的有效限制條件即可,反之亦然。

然而這裡可能有兩個問題,如果變數不在目標函數中,也就是單調性表中設計變數在目標函數一格為“.”,應如何處理?前面處理的都是不等式限制條件,不等式限制條件寫成標準形式後,變數的單調性是遞增或是遞減十分明確。但是碰到等式限制條件,變數是單調遞增或遞減,完全看這個等式限制條件的寫法,這時候又要如何處理?

這兩個情況,不但並非特例,而且是經常可能遇到的情況。下一節中便舉另一個液壓缸設計實例,來說明這兩個狀況。

4.1 不相關的設計變數

9是一個液壓缸設計問題,這個問題中有5個設計變數,外力f、應力s、壁厚t、內直徑i、和液壓缸壓力p。這裡我們要求一個最小外徑的設計,也就是要求i+2t的最小值[Papalambros and Wilde, 1988]

9. 液壓缸設計

這個問題可以寫成如式(12)的最佳化設計數學模型,其中限制條件分別給定設計變數ftp的下界和上界,而等式限制條件則說明變數之間的關係。

        min. 

        s.t.   

               

               

               

                                                                                                  (12)

將這個最佳化設計模型寫成標準形式,可以得到如式(13)

        min. 

        s.t.   

               

               

               

                                                                                                (13)

注意這裡的兩個等式限制條件並沒有方向性,寫成標準形式時,變數的單調性並不一定,因此在將式(13)寫成如表4的單調性分析表時,等式限制條件變數欄內的“+”“-”號,還要經過進一步處理。

4. 液壓缸設計的單調性表(I)

 

i

t

f

p

s

F

+

+

.

.

.

G1

.

-

.

.

.

G2

.

.

-

.

.

G3

.

.

.

+

.

H4

-

.

+

-

.

H5

-

+

.

-

+

我們先看看等式限制條件。對變數it來說,都可能具有關鍵性。然而如果具有關鍵性而從模型中代換消去時,原先不在目標函數中的變數s經過內隱式消去法,將會在目標函數中出現,並且具有單調性。然而變數s並沒有在任何其他限制條件中出現,所以由單調性第一原則可以得知,此時模型必定限制條件不足。因此若式(13)非限制條件不足的模型,等式限制條件必定不具關鍵性,也就是說將此限制條件由模型中刪除,對此模型毫無影響。

這也是一個很好的例子,說明為何等式限制條件並不一定有效或具有關鍵性在這個例子中變數s事實上是「不相關的(irrelevant),也就是說,在這個設計問題中並不需要考慮應力的問題。如果並未先辨明等式限制條件是否有效,便直覺地直接將其代入代換,將只會產生一個多餘的設計變數,而造成整個模型限制條件不足。

一個不在目標函數中的設計變數有可能是與整個模型不相關的,也就是說這個變數和其所出現的限制條件,可以從模型中刪除,而對此模型的最佳解絲毫沒有影響,如前例中的變數s。由前段分析過程中可知,一個不在目標函數中具有單調性的設計變數,如果僅在一個限制條件中出現,那麼這個設計變數必定是不相關的,否則此最佳化設計模型將會成為限制條件不足。下一節中正式提出的「單調性第二原則(Second Monotonicity Principle)」,便在處理不在目標函數中的設計變數。

4.2 單調性第二原則

將不相關的變數s與其所出現的限制條件刪除,可以得到如表5的單調性分析表。前面提到等式限制條件沒有方向性,在等式限制條件中,變數的單調性依這個等式限制條件的寫法而定,但此處如對變數i單調性不為“-”的話,則整個模型會限制條件不足,因此這個等式限制條件中的等號應「賦予其方向性(direct the inequality),寫作=<0。經過這個處理後,等式限制條件便有了方向性,和不等式限制條件在單調性分析中的處理方式完全一樣

5. 液壓缸設計的單調性表(II)

 

i

t

f

p

F

+

+

.

.

G1

.

-

.

.

G2

.

.

-

.

G3

.

.

.

+

H4

-

.

+

-

單調性第二原則在處理不在目標函數中的單調變數。除了前面提到可以辨識哪個變數為不相關之外,亦可以此原則處理等式限制條件的方向性。

◇單調性第二原則(Second Monotonicity Principle, MP2)

在一個限制條件完整的最佳化設計模型中,每一個不在目標函數中的單調變數,都必須滿足下列條件之一:

a.     這個變數是不相關的,也就是說,這個變數和其所出現的所有限制條件,都可從問題中刪去。

b.    這個變數是相關的,而且被兩個有效限制條件分別從上和下界限住。[Papalambros and Wilde, 1988]

單調性第二原則中的a(MP2a)對不相關變數的判定,已經在前面討論過,而單調性第二原則中的b(MP2b),直覺上則比較難了解。事實上MP2b可以應用MP1次來解釋。假設是一個原本不在目標函數中的單調變數,如果其所在的限制條件之一經由MP1判斷,對另一單調變數是有效的,那麼在消去的過程中,必定也會在目標函數中出現,且其單調性和在被消去限制條件中的單調性相同(你可以自己假設所有可能情況,用內隱式消去法試試看),所以最佳化設計模型中必定要存在另一個單調性相反的有效限制條件,否則將會成為限制條件不足的模型。

因此一個不在目標函數中的設計變數如果是相關的話,這個變數至少必須出現在兩個單調性相反的限制條件中,最佳化設計模型才有可能是限制條件完整的模型。相反的,在一個限制條件完整的模型裡,如果一個不在目標函數中的設計變數不能滿足MP2b,即此變數僅出現在一個限制條件中,或其所出現的限制條件單調性均相同,則根據MP2a此變數為不相關的變數,否則最佳化設計模型將會限制條件不足。

單調性第二原則主要的功能,是在判定一個不在目標函數中的設計變數是否相關MP2b所推導的限制條件有效性,都可以由應用MP1次同樣推導出來,因此一般不用MP2來推導限制條件的有效性,單調性第二原則的原理後續還會作更嚴謹的說明。

◇作業5

對作業4中的懸臂樑最佳化設計問題,再作一次單調性分析。不過這次將等式限制條件留在最佳化設計模型中,且對於“賦予其方向性”並解釋其理由,同時利用MP2判斷變數i是否相關。利用單調性表和內隱式消去法繼續完成單調性分析,你能得到和作業4相同的分析結果嗎?◇

◇作業6

第二章中你已經選定了你的學期計畫,並且列出其最佳化設計模型。進一步標明設計變數在目標函數和限制條件中的單調性,嘗試將此最佳化設計模型作完整的單調性分析,是否能從單調性分析中檢查出限制條件不足?是否能發現有效的限制條件?其所對應的設計法則為何?是否能推導出其他結論?◇

參考資料

Papalambros, P., 1979. Monotonicity Analysis in Engineering Design Optimization. PhD Dissertation, Design Division, Mechanical Engineering. Stanford University, Stanford, California.

Papalambros, P. and Wilde, D. J., 1988, 2000. Principles of Optimal Design. Cambridge University Press, Cambridge.

Papalambros, P. and Wilde, D. J., 2000. Principles of Optimal Design, 2nd edition, Cambridge University Press, Cambridge.

Unkelsbay, K., Staats, G. E., and Creighton, D. L., 1972. “Optimal Design of Pressure Vessels.” ASME Paper No. 72-PVP-2.

Wilde, D. J., 1975. “Monotonicity and Dominance in Optimal Hydraulic Cylinder Design.” Trans. ASME, J. of Engin. for Industry, Vol. 94, No.4, pp.1390-94.

Wilde, D. J., 1976. “The Monotonicity Table in Optimal Engineering Design.” Engineering Optimization, Vol. 2, pp. 29-34.