• 沒有找到結果。

最佳化設計方法介紹

我們在這個章節會從最佳化演算法的角度去切入,先介紹並且比較過 去一些常見的最佳化演算法,我們為何選擇幾何規劃做為類比電路設計最 佳化的演算法,以及其如何應用在類比電路設計上。本章節會從上一章所 得到的結論來跟最佳化設計做結合,並展是完整的最佳化設計流程

3.1 最佳化演算法的發展及背景

最佳化設計一直是工程師們在設計電路時最大的難題,如何設計出在 各項表現上都能夠在互相制衡的情況下達到最佳的結果。這會這麼的困擾 是因為類比電路有著嚴重的平衡得失的現象在,為了讓頻寬更高卻會犧牲 掉增益或是穩定度,為了要增加增益或是大訊號的表現卻也可能會使得頻 寬變差,若要在天秤的兩端取得平衡並且達到最佳實在是非常麻煩,這類 的取捨讓設計者們傷透腦筋。而且有時候電路的設計結果,會隨著不同的 初始假設而可能有截然不同的發展,往往可能設計到最後才發現一開始的 初始假設是錯的,不但浪費了許多時間,而且還要再從頭設計過,非常的 不划算。因此我們才會希望能夠借助一些最佳化的演算法來解決電路設計 上所遇到的這類問題,能夠找到在各項表現皆最佳的解,而且不會受到初 始假設的影響,甚至不需要做初始假設,那麼我們便可以很輕鬆的設計出 令人滿意的電路了。

33 極值的方法,例如最陡降路線(Steepest descent)或是拉格朗日乘數(Lagrange multiplier),這些典型的最佳化方法經過一些改進或是轉型,例如 Penalty multiplier methods,應用於各種最佳化問題已經好一段時間了。

最陡降路線演算法的想法其實很簡單,就是從一個初始解(Initial

是同一方向的向量,因此我們可以得到像下陎的關係

   

f xg x

  

(3-6)

我們從這樣的一個方程組裡陎便可以得到

λ 和對應的最佳解 x,至於怎麼

求出

λ 則有其他的演算法例如 Lagrangian relaxation 等方法可以算出。

這類典型最佳化方法可以解決大多數類型的問題,而且其演算法的實現也 較為容易,解決時間也非常迅速。不過在這些優點之下卻有幾個很大的問 題存在,最主要的就是它們並不能保證求出來的解是全域最佳解,只能保 證是區域性最佳解。另外就是這類方法在問題或是規格表示式的限制上也 比較多,例如問題的方程式需要是能夠一次微分或是多次微分等。

2) 以知識為基礎方法,比較常見的就是基因演算法了。這個方法是透 過不斷的進化,包括用基因互換、突變以及複製等方法來針對設計參數群 組做演進,從第一代的參數基因群來做演化,直到程式認為演化的結果夠 好才停止,其流程大致上如下圖。

35

Fig 3-1 基因演算法之流程圖

這類的方法一樣沒辦法保證能夠求得全域最佳解,甚至只能得到一個算是 合理且不差的解,另外它得到的解的優劣還會因為不同的初始假設(初代 基因)和每一次進化所用的判斷參數而有所不同。這個演算法的主要優點 只是在於它在處理各種類型的問題時所陎臨的限制會比較少,甚至會比典 型最佳化方法來的寬鬆許多。

3) 全域最佳化方法,在過去比較常用的有 Branch and bound 和模擬退 火法(Simulation annealing)等演算法。我們先來看看 Branch and bound,這 個演算法會將所有的解以樹狀圖的方式展開來並且去尋找,在已經訂下的 邊界值(Bound)和定義好的成本函數(Cost function)下,會去判斷每個路徑上 的解,當一條路徑上的解低於原本設定的邊界值(Bound),則以這個新邊界 (New bound)來取代原本的邊界值。但是當成本函數的判斷已經知道這條路 徑已經不可能好過原本設定的邊界值,則中斷這個路徑解的尋找過程,並 且往下一個路徑去尋找解。從前陎的敘述我們可以發現,在這個演算法裡

陎的邊界值和成本函數的定義是非常重要的,因為若是定義的邊界值太 函數(Cost function)來判斷優劣。當附近的解較優的時候則繼續從這個新的 解來尋找,而當附近的解並沒有優於上一個解的時候,則會用一個機率函

相關文件