• 沒有找到結果。

最佳化設計之數值計算方法

在文檔中 中 華 大 學 碩 士 論 文 (頁 45-48)

第三章 系統的理論與知識建模

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) 疊代次數。在每項數值計算法都會包含此項中止要件,此中止要件的目的在 於最佳化模型有錯誤時,或者數值計算法無法收斂的情況下,使數值計算法 不會無窮盡地迭代。若對最佳化模型進行測試,則可將疊代次數設定少一些,

節省計算資源。若疊代次數超過最大疊代次數而中止,則表示運算失敗,所 得到的結果可能是發散的,甚至不可行的設計點。

在文檔中 中 華 大 學 碩 士 論 文 (頁 45-48)

相關文件