第三章 系統的理論與知識建模
4.4 最佳化設計方法
4.4.4 最佳化設計之數值計算方法
數值計算是一種數值近似計算方法,主要是透過目標函數的變化規律,並且
以適當的步長沿著目標函數值下降的方向,逐步的朝向目標函數值的最佳點進行 搜尋,逐步的逼近目標函數的最佳點。UG/KF 所提供的最佳化類指令,對於解 最佳化模型為疊代(Iteration)形式的數值方法。
疊代法簡單的說就是步步逼近,最後達到目標函數的最佳點。數值計算的疊 代方法具有以下幾項特性:
(1) 以數值計算的方法並非數學分析方法。
(2) 具有簡單的邏輯結構並且能夠進行重複相同的計算。
(3) 計算後所得到的值為逼近精確解的近似解。
一般疊代形式包括給定初始值、疊代定義(Iteration definition)以及中止要件 (Termination condition)三個部份,此三部份的關係如圖 4-6 所示。使用各種數值 計算方法時,初始值的給定相當重要,若初始值越接近最佳點時,收斂的速度越 快。因此,必須了解數值計算方法的收斂性質屬於區域收斂(Local convergence),
並非全域性收斂(Global convergence),表示初始值若不在某特定區間之內,或者 無法滿足要求,則該演算法不會收斂。
圖4-6 疊代流程圖
透過疊代法求解最佳化的步驟可歸納成下列幾項:
(1) 進行最佳化求解過程中,必須先選擇初始點X ,接著由此初始點( )0 X 搜尋( )0
接近目標函數的方向以及初始步長,得到X 點。 ( )1 (2) 取得X( )1
(
點之後再選擇一個使新的函數值接近目標函數的方向以及步長,得 到X 點,依此類推,一步一步的搜尋與重覆計算,直到目標函數的最佳點,2) 此過程的疊代形式可由下列所示:
X( )k+1 = X +( )k α( ) ( )k Sk (4.7) 其中,使
f (X( )k+1 )
< f ( )X( )k k 0,1, 2= L
X :疊代計算過程中第 k 步的點。 ( )k α( )k :第k 步疊代計算的步長。
S( )k :第k 步疊代計算的搜尋方向。
(3) 在疊代過程中,每進一點後必須與原來的點相減,檢查此點與原來點相差的 值是否滿足預定的計算精度ε,若滿足則表示目前函數值已達到精度要求,
否則將繼續進行搜尋。表示式如下所示:
f
(
X( )k+1)
− f( )
X( )k < ε (4.8)由線性代數得知,對於任何一個疊代公式進行計算,不一定可以得到逼近目 標的近似解,若此疊代公式進行計算後得到逼近目標的近似解,則此疊代公式為 收斂,反之則為發散。
理論上,每個疊代公式都能產生無窮點的設計方案。因此,只能進行有限次 的修改設計,直到取得適當近似解後應當停止。而設計方案不斷的修改直到目標 函數的最大值才停止計算,但是對於工程設計問題往往很難判斷其目標函數的最 大值。因此,必須使用的中止要件。中止與收斂並不相同,事實上在許多狀況下,
中止並不代表數值計算法已經收斂至理論最佳值。當數值計算法滿足中止要件 時,表示此設計點在預設的容許範圍內為滿足設計,或者是到達每次疊代之間的 變化已經非常小,而沒必要再疊代下去。因此,中止要件只能根據計算中的具體 情況進行判斷。此判斷方式有下列四種形式:
(1) 當目標函數在相鄰兩點的相差值小於計算精度時,中止疊代。
(2) 設計變數在相鄰兩點疊代的比值,小於相對收斂公差,則進行收斂。
(3) 理論上,當最佳化運算器進行運算時,若違反約束條件,即使得到最佳化的
結果,最佳化運算器仍不考慮將此一最佳化結果及其相應的設計變數。但實 務的應用上有時並非如此嚴謹。因此,有些約束條件,只是希望限制在某一 約束條件內,但即使超出此一約束限制少量,並不致於對整個最佳化系統有 太大的影響。因此,使用者可應用此一參數,設定最佳化過程最大允許約束 差異值,在最佳化過程中,即使違反約束限制量,但在此一設定值內,若有 最佳化結果,則仍視其結果為可接受的最佳化結果。
(4) 疊代次數。在每項數值計算法都會包含此項中止要件,此中止要件的目的在 於最佳化模型有錯誤時,或者數值計算法無法收斂的情況下,使數值計算法 不會無窮盡地迭代。若對最佳化模型進行測試,則可將疊代次數設定少一些,
節省計算資源。若疊代次數超過最大疊代次數而中止,則表示運算失敗,所 得到的結果可能是發散的,甚至不可行的設計點。