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

第二章 建立最佳化設計問題的數學模型

在分析一個問題或實體系統時,通常我們並不直接分析這個系統,而是以一些抽象的符號和運算關係來描述這個系統,也就是建立其數學模型。這裡所謂「模型(model)」,是對一個問題去除不相關細節後,抽象的表現方式。什麼是不相關的細節呢?例如第一章中的結構設計樣本問題,數學模型中要考慮結構的強度、剛性、和長度等因素,但是大概不用考慮結構的顏色。所以基本上建立一個模型,便是找出問題中相關的因素,去定義你的問題。

正確地定義問題、建立模型,需要大量專業領域知識,是設計工程師在工程最佳化設計程序中最重要的工作。如第一章所述,將實體的工程問題轉換、建立成為抽象的最佳化設計數學模型,事實上是一個系統化的思考過程,幫助設計者系統性地分析、了解影響設計的各種因素及限制,並由整體系統的觀點來看設計問題。

這一章將討論如何以最佳化觀點看設計問題,為工程設計問題建立最佳化數學模型,並經由這個建立數學模型的過程,對工程設計問題在設計什麼、目標是什麼、限制是什麼,有一個系統的思考。此外最佳化設計中經常出現的專有名詞,以及可能會遇到的不同形式的問題,也將在本章中一一介紹。

◇作業1

        閱讀以下問題,試利用圖形、文字、數學符號、式子等等,以最詳細方式,描述你建立一模型、試圖解答此問題之思維過程。

Monk on the Mountain

One morning, exactly at sunrise, a Buddhist monk began to climb a tall mountain. The narrow path, no more than a foot or two wide, spiraled around the mountain to a glittering temple at the summit.

The monk ascended the path at varying rates of speed, stopping many times along the way to rest and to eat the dried fruit he carried with him. He reached the temple shortly before sunset. After several days of fasting and meditation, he began his journey back along the same path, starting at sunrise and again walking at variable speeds with many pauses along the way. His average speed descending was, of course, greater than his average climbing speed.

Prove that there is a single spot along the path the monk will occupy on both trips at precisely the same time of day.

1.     從最佳化的觀點看工程設計

在工程設計的過程中,設計者事實上已經很自然地在為他的設計作最佳化,例如選擇足夠厚度的鋼板使得結構不致破壞、使用鋁合金材料所以重量能夠減輕、選擇適當尺寸的軸承以承受軸向負荷等等,設計者隨時在為了改進某種性能或滿足某項要求,而選擇、決定設計中會影響這項性能或要求的因素。

在工程設計的過程中必須經過的眾多選擇與決定,設計者也常常採用近乎嘗試錯誤的方法--決定一種設計之後,檢查看看這個設計是否滿足所有的設計需求,滿足了則停止,不滿足便再作修改。當然,在這種程序下所得到的設計,通常只會是「滿足設計(satisfactory design)」而非「最佳設計(optimal design)」。

這種嘗試錯誤式的設計方法,直到現代才有了革命性的轉變。這個轉變固然是因為我們有前人不斷累積下來的知識與經驗,但更重要的是,現代工程師有了數十年前工程師無法想像,能力強大的設計工具--電腦!

使用電腦的最佳化設計流程,在觀念上其實並沒有什麼不同,設計者提出設計原型,加以評估,評估的結果在用來產生下一個更好的設計原型,整個過程經由電腦化的「最佳化演算法(optimization algorithm)」自動控制、執行,直到其設計評估收斂至設計者預設的目標為止。使用電腦最大的不同,是顯然的電腦可以更快、更有系統地處理更大、更複雜的設計問題。

然而正因為設計者在整個工程設計流程中,自然地使用了最佳化的概念,最佳化設計方法不應該僅僅被視為應用在電腦程式中的數值方法,甚至只是一個設計軟體工具,最佳化設計是一種思考模式,能夠幫助設計者有系統地建構這個設計問題,再利用最佳化演算法有系統地選擇、搜尋最好的設計。

那麼什麼是最佳化設計呢?最簡單的說,就是去“選擇一個最好可能的設計”。這個定義,事實上已包含了最佳化設計方法中幾個最重要的元素:

(1)      選擇:設計者有選擇設計的彈性,表示設計者可以控制、改變某些能影響此設計性能表現的因素。這些設計者可以控制、改變的因素,叫做「設計變數(design variable)

(2)      最好:什麼是“最好”的設計?這可能是一個相當主觀,見仁見智的問題。設計者必須根據設計需求,定義一個所謂“最好”的評估的標準,也就是為這個設計定義一個「性能指標(performance index),通常叫做「目標函數(objective function)。很顯然的,目標函數是設計變數的函數,設計變數的改變會影響設計性能的好壞,即影響目標函數函數值的大小。

(3)      可能的:在尋找最好的設計時,設計者往往會受到許多設計限制,如材料、空間、時間、成本等等,最好的設計,卻往往也會是在種種設計限制之下所不可能達到的。因此設計者必須找出設計上的「限制條件(constraint),在這些限制條件之內尋找最好的設計。限制條件自然也是設計變數的函數。

在工程設計中,尤其是在概念設計的階段,設計變數、目標函數、和限制條件常常會是定性的,無法以數量形式來表示。例如要設計一部漂亮的汽車,應該選擇方形、圓形、還是橢圓形頭燈?要設計一張舒適的椅子,應該選擇皮面還是布面材料?這一類設計問題,我們也可以看作是一種「定性的最佳化設計(qualitative optimization)」。以下的討論,則是先侷限在「定量的最佳化設計(quantitative optimization)」,也就是說,我們假設設計問題的設計變數、目標函數、與限制條件都能以數量形式表示。定量的最佳化設計的第一步,也就是要先建立一個最佳化設計數學模型來表示這個設計問題。這個最佳化設計數學模型正包括了目標函數和限制條件兩個部分,而兩者又都是設計變數的函數。

2.     建立最佳化設計的數學模型

這一節將以一個簡單的懸臂樑設計設計問題為例,進一步說明如何建立一個最佳化設計的數學模型。

2.1 設計變數、參數、及常數

考慮一個非常簡單圓形截面的懸臂樑設計,如圖1所示。這個懸臂樑材料的彈性模數是E,比重是W。建立這個懸臂樑最佳化設計的數學模型,首先我們要確定那些是我們的設計變數。在這個簡單的設計中,我們可以控制、改變影響此設計性能表現的因素包括圓形截面的半徑r,和懸臂樑的長度l,所以顯然這兩者是我們的設計變數。

1. 圓形截面懸臂樑設計

那麼EW是不是設計變數呢?如果設計者可以自由選擇材料,EW自然也是設計變數。所不同的,是EW不能是任意值,而必須是幾個材料性質的固定值,這樣的設計變數叫做「離散式變數(discrete variable)

通常在實際的工程設計問題上,也常常必須面對許多非連續性的設計變數,除了前述離散變數之外,還包括「整數變數(integer variables)以及變數值僅能是01「二元變數(binary variable),處理離散式變數經常需要特別的最佳化演算法。此處假設材料為給定,如此EW便不是設計變數了,這裡特別定義這樣的數值叫做「設計參數(design parameter)

設計變數和設計參數間的區分,在建立最佳化設計模型時十分重要,但也非常容易混淆。設計參數往往是設計條件或環境所決定,而非設計者可以任意改變的,設計參數在某一組特定的設計條件下為定值,而在不同的設計條件下則可能有所改變。在這個懸臂樑設計的例子中,除了材料性質EW是設計參數外,尖端荷重F在不同設計狀況下,可能有不同的數值,因此F也是一個設計參數。

另外一個需要區分清楚的量是「常數(constant),如圓周率、光速等不會隨設計條件而改變的數值。為了在列出的最佳化數學模型中能夠清楚地區別何者是設計變數,何者是設計參數及常數,通常用小寫英文字母表示設計變數,而用大寫字母表示參數及常數。

2.2 目標函數與限制條件

接下來要討論,在這個最佳化設計問題中,我們的目標函數是什麼?限制條件又是什麼?

前一節提到,在工程設計的過程中必須經過的眾多選擇與決定,定義一個目標函數,也就是定義什麼是“最好”的設計,是一個相當主觀,見仁見智的問題。在這個懸臂樑設計的例子中,最好的設計可能是重量最輕的設計,或者應力最小的設計,或者是尖端位移最小的設計,端視設計者心目中,“最好”的標準是什麼。

你也許會問,那麼能不能同時要求設計的重量最輕,應力最小,尖端位移也最小呢?如果可以,自然是最好不過,但通常這些設計需求之間,都有所謂「抵換性(trade off)」,例如想要減小應力,懸臂樑截面得加粗,重量便會加重了,而想減輕重量,應力和尖端位移往往又會相對提高。

這三個設計需求,事實上可以同時列為目標函數,也就是所謂「多目標函數最佳化(multi-objective optimization)問題。在解多目標函數最佳化問題時,通常的作法,仍然是先把多目標函數轉換成單一目標函數。

仍僅考慮單一目標函數的話,在這個問題中,設計者必須在三個設計需求中擇一當作目標函數,而另外兩個設計需求,則將寫成限制條件。例如此處可將最小重量當作目標函數,而其最大應力必須小於一容許值S,尖端最大位移必須小於一容許值D,則成為兩個限制條件。此處SD在特定設計條件下為定值,而在不同的設計條件下則可能有所改變,所以這兩個數字也是設計參數。

由這個例子也可看出,在最佳化設計問題中,目標函數和限制條件在本質上其實是相當接近的,都代表著某種設計上的需求。設計者在考慮上可能要思考有些設計需求需求是“must”-一定要滿足特定要求,但是滿足就可以了,不見得越低越好,這樣的設計需求比較合適當作限制條件。另一類設計需求則是“want”,不見得一定要滿足特定要求,但數值越低、設計性能越好,這樣的設計需求就比較合適當作目標函數。

現在我們可以初步地把這個懸臂樑設計問題,寫成如下的數學模型:

                min.  f=weight(r,l)

                s.t.   

                                                                                                          (1)

其中min.”是「最小化(minimize)」的縮寫,s.t.”是「以﹍為條件(subject to)」的縮寫。

在式(1)中,概念性的設計需求已經被轉換成為數學形式的表示方式,接下來我們要更明確地表示出目標函數和限制條件,這個過程便和設計者本身對此設計問題的領域知識有非常密切的關係。在這個簡單的懸臂樑設計問題裡,目標函數中可以表示成,

                                               (2)

注意此處設計參數W和常數π,事實上對目標函數毫無影響,min. min. 所得到的變數數值會是完全一樣的,Wπ只是一個「比例係數(scaling factor)而已。不過在實際用數值方法求最佳化設計模型的解時,這個比例係數對其數值解的精確度可能有相當影響,此處為求解說上的完整,也依舊保持這個比例係數。

設定目標函數時,一般形式都是最小化此目標函數,需要「最大化(maximize)」一函數時,只要最小化其負值即可,也就是說max. f(x)相等於min. –f(x)。往後的討論,也將只考慮最小化的情況。

從基本的材料力學可知,圖1的懸臂樑最大應力發生在固定端,其值為

                                                                                                             (3)

其中慣性矩

處理這個最大應力的限制條件,我們自然可以把代入式(3),但有時這樣會使限制條件的數學式變得十分繁雜。另外一個處理方式,就是將這個應力限制條件變成如下兩個限制式:

               

                                                                                                                   (4)

如此,尖端位移的限制條件,也可以很簡潔地寫成,

                                                                                                                 (5)

注意這裡慣性矩i是小寫字母,用意是表示慣性矩i在這個數學模型中的地位也是一個設計變數。這樣的設計變數有一個特別的名稱叫做「中介變數(intermediate variable),我們並沒有“設計”中介變數的值,它的值是由另一個或多個設計變數間接決定的。

在許多最佳化方面的書籍或文獻中,中介變數也被稱作「狀態變數(state variable),而一般的設計變數則被稱作「決策變數(decision variable),顧名思義,狀態變數代表在某一組決策變數值之下,所決定系統的狀態。

原先在式(1)中的限制條件都是「不等式限制條件(inequality constraint),在式(4)中則第一次出現了「等式限制條件(equality constraint)。等式限制條件大部分是用來表示設計變數之間,特別是設計變數與中介變數之間的關係。引進中介變數,表面上模型中變數的個數增加了,但是每個中介變數經常會伴隨一個等式限制條件,所以整個模型的自由度並未增加

另外一個時常會被忽略的限制條件,是所謂的「集合限制條件(set constraint),例如一般來說設計變數是屬於實數集合。在工程設計的例子裡,大部分變數都應屬於「正有限區間(positive finite domain),定義如下:

                                                                             (6)

其中數字n是設計變數的個數,n維空間的實數集合。另一個常見的集合限制條件的例子,是前面提到設計變數的值可能必須屬於整數集合、或固定幾個離散值的集合

正有限區間集合限制條件和一般限制條件最大的不同,就是集合限制條件無法以等號滿足,例如懸臂樑的長度l和半徑r在集合限制條件(6)中,不可能為零或無窮大,長度l和半徑r為零或無窮大,都是不合理的設計。這一點在下一節中會作更詳細討論。另外在某些非常少見的例子中,可能會碰到所謂「絕對不等式限制條件(absolute inequality constraint)」,如的形式。這種限制條件和正有限區間集合限制條件有類似的性質,後面談到限制條件的有效性時會再加以討論。

至此,這個懸臂樑最佳化設計的數學模型,可以寫成如下形式:

                min. 

                s.t.   

                       

                       

                                                                                                    (7)

2.3 最佳化設計數學模型的標準形式

在最佳化設計的課本或研究論文中,經常會把最佳化設計數學模型表達成一個「標準形式」,許多最佳化設計問題的描述、最佳化演算法的發展,都是基於這個最佳化設計數學模型的標準形式

                min. 

                s.t.   

                       

                                                                                                             (8)

(8)中黑體字代表向量,且習慣上用代表不等式限制條件,用代表等式限制條件。注意此處均為代表向量的黑體字,表示為一組不等式及等式限制條件。(8)中等式及不等式限制條件寫成,這個形式叫作「非負零的形式(non-negative null form)」。另外一種可能的形式是將等號右邊化成1,寫成,稱作「非負單位形式(non-negative unit form)」,寫成這種形式有將限制條件正規化(normalize)的意味。

最後將懸臂樑最佳化設計的數學模型式(7)寫成如式(8)的標準形式,得到

                min. 

                s.t.   

                       

                       

                                                                                                    (9)

2.4 最佳化設計模型建立之系統觀

這一節裡我們再以一個較為複雜的工程設計問題為例,建立其最佳化設計模型,期望在此過程中進一步體會最佳化設計模型建立之系統觀。

2是一個經常隨附在汽車行李箱內,更換備胎時用來頂起車子的手搖式車輛起重器的略圖。起重器由四根連桿構成,每根連桿是由兩個桿件兩端夾著中心軸承組合而成,起重器中央的水平橫軸兩端有反向螺紋,手搖轉動水平橫軸旋轉時能使連桿角度q變化到。和第一章的結構設計樣本問題類似,我們已經確立了車輛起重器的設計概念,接下來希望在此設計概念下求得最佳的細部尺寸設計。

2. 車輛起重器的略圖

在設計程序上,首先當然要確認設計需求。這種隨車使用小型起重器的設計需求可以整理如下:

(1)   因為要隨附在車上,體積小、重量輕是基本要求。

(2)   裝配上的考慮,桿件不能太厚,否則兩桿件間夾著的軸承無法裝配。

(3)   起重器需要能夠舉起一定車重而不發生破壞。

(4)   實際操作上的考慮,起重器整體高度收至最小時(),必須能放入汽車底盤下方;起重器整體高度升至最高時()必須能達一定高度,才能夠更換車胎等。

這四項設計需求中,(2)~(4)都是屬於“必須達到(must)”的設計需求,只有(1)是屬於“想要達到(want)”的設計需求(整體重量越輕越好),因此選擇(1)作為最佳化設計數學模型中的目標函數,(2)~(4)則列為限制條件。接著嘗試將所有設計需求以量化的數學式子來表達:

(1)    目標函數是在求全部連桿體積V=8LBH的最小值,其中LB分別是連桿的長度和寬度,而H是桿件的厚度。

(2)    由於組合上的考慮,桿件厚度不能厚於,即

(3)    起重過程中桿件受到車重壓力,主要破壞模式是受壓側潰(buckling),為了避免側潰,桿件上最大壓力應小於桿件的臨界荷重()。由尤拉公式可知,,其中時,桿件上壓力最大,由點A的力平衡可以計算出,,其中是起重器所要舉起的最大重量。

(4)    為了適用於車底盤下,時起重器的總高度須低於底盤高度(即),且時起重器能舉起車輛至少的高度,因此

到這裡,我們可以初步列出這個最佳化設計問題的數學模型和其意義:

                min.  V=8LBH                                  (求最小體積)

                s.t.                                   (組合上的考慮)

                                                       (避免桿件受壓力時發生側潰)

                                               (尤拉公式)

                                                    (尤拉公式中轉動慣量定義)

                                      (起重器所能舉起的最大重量)

                                              (適用於車底盤下)

                                             (舉起車輛至少的高度)      (10)

這個初步的模型看起來相當混亂,接下來我們應該確認一下這個模型中,哪些是我們可以控制、改變的設計變數,哪些是設計條件所給定的參數,設計變數中,又有哪些是屬於中介變數?

在這個最佳化設計問題中,我們的設計變數可能有LBHI6個,然而在這個數學模型中有2個等式限制條件,所以這6個設計變數中有2個是中介變數,分別是I。從這個數學模型中的2個等式限制條件可以看出,當設計變數LBH被決定之後,中介變數I也就自然被決定了。

另外、和材料的彈性模數E是設計參數。這些設計參數的數值和設計的規格、材料的規格有直接關係,例如這個起重器規格中要求起重器能舉多少重量、多高的高度、應使用何種材料等等,直接決定了這些參數的值。在同一個設計案中,這些參數是定值,在不同的設計案中有不同的設計規格時,這些參數值也會跟著改變。

如果起重器中央的水平橫軸兩端反向螺紋的長度是給定的,也成了設計參數,如果設計者可以自行決定水平橫軸兩端反向螺紋的長度,便是設計變數。最後pC是這個最佳化設計數學模型中的兩個常數。

依照前面提到的原則,將最佳化數學模型中設計變數以小寫字母表示,參數和常數以大寫字母來表示,並改寫成最佳化設計數學模型的標準形式,可以得到:

                min. 

                s.t.   

                       

                       

                       

                       

                       

                       

                                                                                (11)

從這個建立最佳化設計模型的例子裡可以體認到,建立最佳化設計模型的過程,可以說是由整體系統的觀點來看設計問題。在決定最佳化設計模型中的目標函數是什麼、有哪些限制條件,以及哪些是設計者可以控制、改變的設計變數,哪些是設計要求中給定的設計參數,這整個模型建立的過程中,已經非常有系統地對這個最佳化設計問題作了整體性、系統性的思考,在最佳化設計模型建立時,所有的設計要求、設計限制,都必須同時被考量,而解最佳化設計模型所求得的“最佳解”,也必須能同時滿足所有的設計要求和限制

◇作業2

某大量生產的啤酒工廠希望降低啤酒罐的生產成本,而製造部門分析發現此成本和啤酒罐所用鋁板面積成正比。而從生產、外觀、運銷方面考量,啤酒罐的尺寸又必須滿足三項設計需求:直徑不超過8公分,但也不小於3.5公分;高度不超過18公分也不能少於8公分;最後這個啤酒罐必須能盛裝至少400毫升的啤酒。試著為這個啤酒罐設計問題建立最佳化數學模型,說明你在建立最佳化數學模型過程中的思考,明確標示變數、參數、常數等,並且寫成標準形式[Arora, 1989]。◇

◇作業3

有一外型為正立方體的冷凍貨櫃將被用來往返於兩個城市之間運送一批水果。n是該貨櫃車運送水果總共所需往返之次數,s是貨櫃一邊的長度,a是貨櫃的表面積,v是其內部體積,t是冷凍貨櫃絕緣壁壁厚,長度單位均為公分。運送水果時運輸成本為21n,貨櫃材料成本為,冷凍成本為,絕緣成本為,總共須運送的水果體積為。試著為這個冷凍貨櫃設計問題列出一個求最低運輸成本的最佳化數學模型,並且表示成標準形式。

◇作業4

3的三桿件桁架結構同時受到水平及垂直作用力P8P,水平作用力的方向可向左或右,因此這是一個對稱的結構。桿件的長度固定,左右桿件與中央垂直桿件間的角度為45度,截面積則可變動。我們的目的在設計一個最小重量的結構,限制條件則是施力點的水平及垂直位移均不能超過D。相對於桿件長度來說,位移D很小。自行假設你的變數,參數和常數,建立這個設計問題的最佳化數學模型,並寫成標準形式。◇

3. 三桿件桁架結構

在這裡另外要強調的一點,是前述這些最佳化設計問題中的目標函數與限制條件,均可寫成設計變數的外顯形式(explicit form)函數,這樣的限制條件便稱作「外顯式限制條件(explicit constraint)。但在許多較複雜的工程設計或工程問題中,目標函數和限制條件常常無法表示成簡單的外顯形式函數,系統的許多性質或行為,如結構設計中應力、形變、自然頻率的計算,常須經過複雜的電腦模擬(如有限元素分析),或實際實驗才能求得。這樣的目標函數或限制條件,叫做「內隱式限制條件(implicit constraint)。內隱式限制條件的存在,是工程最佳化問題與一般最佳化問題的一個重要不同點。例如第一章中的結構設計樣本問題的數學模型中,

                min. 

                s.t.   

                       

限制條件必須經由有限元素分析計算,是內隱式限制條件,甚至目標函數也是內隱式函數。有內隱式限制條件的最佳化設計問題,處理上和一般最佳化設計問題有相當差異,這也是在工程問題上應用最佳化設計方法必須強調的重點之一。

◇作業5

在第一章作業中你所描述的2個需要作最佳化設計的工程問題中,選擇一個你認為比較適合的問題,分析其設計需求,選擇一個設計需求作為目標函數(註明你的理由),將其他設計需求列為限制條件。接著嘗試將每一個設計需求轉換成量化的數學函數,如果有內隱式函數,就先以函數形式表達,列出這個最佳化設計問題的數學模型和其意義(類似式(10))。

接下來確認一下這個模型中,哪些是設計變數、哪些是設計參數,設計變數中,又有哪些是屬於中介變數?最後將最佳化數學模型中設計變數以小寫字母表示,參數和常數以大寫字母來表示,並改寫成最佳化設計數學模型的標準形式(類似式(11))。◇

3.     最佳解之存在與否

建立最佳化設計數學模型之後,下一個步驟,就是要去解這個數學模型了。以先前懸臂樑設計問題為例,所謂解這個最佳化設計數學模型(式(9),重複如下),就是要搜尋一組設計變數lr的值,在滿足強度和剛性限制條件下,懸臂樑有最小重量。

                min. 

                s.t.   

                       

                       

                                                                                                    (9)

不幸的是,當給定一組設計參數,嘗試用最佳化數值方法電腦程式來解式(9)懸臂樑最佳化設計數學模型時,你將會發現這是一個“無解”的模型!

建立了最佳化設計的數學模型,你的工作只完成了三分之一而已。作最佳化設計時,最沮喪的經驗,就是好不容易建立起數學模型,嘗試用一般最佳化電腦軟體去解時,卻怎麼也解不出來。當然這也許是數值分析過程中,輸入參數處理不當,但更有可能的是,你的數學模型最佳解並不存在。

從式(9)來觀察,你大概很難看出這個模型為什麼沒有最佳解。稍微深入思考一下,當懸臂樑長度趨近於零時,限制條件g1g2都能滿足,目標函數也趨近於零,有最小值,但是長度趨近於零的懸臂樑是不合理的設計!

最佳化數學模型最佳解不存在,大致都可歸類於兩個原因:模型的限制不良或甚至沒有受到限制,或者這個最佳化設計模型是不可行的。以下便對最佳化設計數學模型的「可行性(feasibility)「限制性(boundedness)加以討論。

3.1 最佳化設計模型的可行性

一組設計變數值,如果能夠滿足所有的限制條件,這組設計變數值所代表的設計便稱作「可行設計(feasible design)」,而所有可行設計點的集合,叫做「可行區域(feasible domain),最佳化設計的目的,自然就是在所有這些可行設計點中,選取一個最好的。很顯然的,如果一個最佳化設計模型的可行區域是空集合,也就是說,對這個模型,沒有任何一個設計是可行的,模型的最佳解自然也不存在了。這種情況,在限制條件過多或過度嚴苛時,經常可能發生。

以式(9)為例,這個問題的可行區域,便是由限制條件、以及集合限制條件所共同決定的。這個可行區域,通常可以經由調整設計參數如SD來加以調整。因此,當可行區域是空集合以至沒有最佳解時,應檢討限制條件是否過度嚴苛,而透過調整設計參數或暫時鬆弛部分限制條件來調整可行區域。

3.2 最佳化設計模型的限制性

第一章的結構設計樣本問題中,曾經討論過最佳化設計模型中兩種可能的最佳點:「內部最佳點(interior optimum)「邊界最佳點(boundary optimum)。注意「最佳點」英文通常也叫作optimizer,如同「最小點」英文叫作minimizer,「最大點」叫作maximizer,指的是在最佳狀態下,設計變數的位置向量,而「最佳值」(英文是optimum,類似「最小值」英文是minimum,「最大值」英文是maximum)則是在最佳點上目標函數的值。

4(a)是有兩個限制條件的單變數最佳化問題。由此圖中可以清楚看到,這個問題的最佳點x*是屬於內部最佳點。在這個問題中,限制條件「無效的(inactive),也就是說,存在與否,和最佳點的位置沒有關連,刪除這兩個限制條件不會影響最佳點的位置。

4(b)(c)中的最佳解,則是屬於邊界最佳解。圖4(b)中的最佳解發生在限制條件上,所以「有效的(active)限制條件,的存在與否,顯然影響到最佳點的位置。同理,在圖4(c)中,也是有效的限制條件。

限制條件的「有效性(activity),對簡化最佳化設計數學模型有極大幫助,在實際的工程設計問題上,更具有重要的物理意義,後續將會對限制條件的有效性作更嚴謹的定義與討論。另外要特別提出的是,所謂內部最佳點與邊界最佳點的分別,完全是著眼在個別的設計變數。例如在一個兩變數的最佳化問題中,很有可能最佳點在某個變數是邊界點,而對另一個變數而言則是內部點。這個現象牽涉到整個問題的自由度,後續也將更進一步討論。

回到圖4(c)中,如果刪除了有效限制條件,這個問題的最小值趨近負無限大,這時是一個「無界限(unbounded)的函數,在無界限的情況下,最佳解自然不存在。

4(a). 內部最佳點

4(b). 邊界最佳點

4(c). 邊界最佳點

而在圖4(b)中,如果刪除了有效限制條件,在求這個問題的最小值時,x會繼續變小,直到違反了集合限制條件x>0。如前一節所述,集合限制條件與一般限制條件不同的地方,是x會無限地趨近於0,但。這種情況,函數「界限不良(not well bounded),最佳解也不存在。

當最佳化設計模型中目標函數無界限或界限不良,這便是一個「限制條件不足(not well constrained)」的模型。前兩節所討論的懸臂樑的最佳化設計,就是一個限制條件不足的問題。在式(9)的目標函數中,要求最小重量,設計變數l必須越小越好,而在所有限制條件中,唯一可以限制l繼續變小的,是集合限制條件l>0。很顯然的,懸臂樑的長度為0,並不是一個合理的設計,所以在這個問題中,“最佳設計”並不存在。

為了避免限制條件不足的問題,通常的做法是在最佳化設計模型中,把所有變數加上了如下的「範圍限制條件(range constraint)

                                                                                     (12)

其中是變數的「下界(lower bound)」,而則是其「上界(upper bound)」。這樣的處理方式,雖然避免了以數值方法求解時的問題,最佳化設計模型一定不會限制條件不足,但不具物理意義的範圍限制條件,很可能也會妨礙設計者對問題的了解。

在懸臂樑設計問題中,發現目標函數對變數l界限不良時,應該檢討這個模型中,是不是遺漏了什麼。例如懸臂樑太短時,是否會造成無法接受的設計?如果會,設計者應該把這個無法接受的原因寫成另一個限制條件,放入最佳化設計模型中,使其成為一個「限制條件完整(well constrained)的最佳化設計模型。

◇作業6

自行假設合理的SDFE等參數值,利用Matlab或其他軟體,將式(9)中目標函數之等高線,畫在變數r-l之平面上。將h1中的中介變數i直接代入g1g2,將g1g2簡化成只有rl兩個變數的函數,再將g1g2個限制條件也畫在r-l之平面上。試由此圖解釋為何式(9)為一限制條件不足之模型。試構想一合理的限制條件放入此模型中,使其成為一限制條件完整之最佳化設計模型,並在圖上表達此時最佳點的位置。◇

最佳化設計模型的限制性和各限制條件的有效性,是對判斷最佳化設計模型是否有合理的最佳解,非常重要的性質。從1970年代末期開始,美國史丹福大學的Wilde教授和他的學生,現任教於密西根大學的Papalambros教授,便著手發展一套理論叫做單調性分析,來有系統地探討、分析最佳化設計模型的限制性,和各限制條件的有效性,接下來即將介紹並應用單調性分析。

參考資料

Arora, J. S. 1989. Introduction to Optimum Design, McGraw-Hill, New York.

Haftka, R. T., Gurdal, Z., Kamat, M. P., 1990. Element of Structural Optimization, 2nd Ed., Kluwer Academic Publishers, pp. 223-225, 251-281.