正文 模擬集成電路多目標遺傳算法優化設計(2 / 3)

一個多目標優化問題的Pareto前沿反映了各個目標之間的相互牽製關係。對電路設計,實質上反映了電路可能達到的極限性能,前沿上的每一點都是一種可能實現的最佳設計折衷。獲得了Pareto前沿,設計者就可以根據具體場合下的要求,反複權衡、比較不同的選擇,從中確定最合適的解。因此,多目標優化為從根本上解決電路參數的設計優化提供了途徑。

2多目標遺傳算法

目前在多目標優化中得到較為廣泛應用的是NSGA-II非支配排序遺傳算法[6]。進化算法是一種模擬自然界優勝劣汰選擇進化機製的隨機搜索算法,在優化設計領域已得到廣泛應用。而20世紀90年代,印度IIT的Deb教授等將遺傳算法推廣到多目標情形,他們提出的基於非支配排序的遺傳算法(簡稱NSGA)在多目標優化領域也得到了廣泛的應用[7]。該優化算法在處理多目標優化問題上有著自身良好的性能,幾乎對任意維數的目標都能有很好的性能[8]。2002年,又針對NSGA算法存在的計算複雜度高,缺乏優秀的選擇策略,需要設置特殊的共享參數等問題,做了很多的改進工作,形成了NSGA-II,該算法中添加了精英保留策略,而且無需設置特殊的共享參數,不僅提高了算法的收斂性而且減少了算法的複雜度,除此之外,它的非劣性分布好,是目前多目標優化的領域中應用最廣泛的一種算法

該算法是遺傳算法在多目標優化中的推廣,其基本過程與交叉算子、變異算子與簡單遺傳算法並無區別,但適應度的計算基於種群中個體之間的支配與非支配關係的排序。對進化過程中的任意一代,首先找出當前種群中的所有非支配個體,得到第一個非支配最優層,即第一層,並賦予它們一個適應度值,比如取為1;然後,忽略第一層的個體,對種群中的其它個體繼續按照支配與非支配關係進行分層,得到第二層,並賦予它們一個新的適應度值,該值要小於上一層的值,比如取為0.9;以此類推對剩下的個體繼續上述操作,直到種群中的所有個體都被分層。

NSGA-II的流程為:

(1)隨機產生父代種群P0,種群大小N,然後進行交叉和變異操作生成種群大小同樣為N的子代種群Q0,同時令進化代數gen為0;

(2)將種群Pi和種群Qi合並成新的種群Ri,種群大小為2N,對種群Ri進行快速非支配排序,分層得到F1,F2,…Fn;

(3)對所有的分層Fi中的個體進行擁擠度排序,選出最優的N個個體組成新的種群Pi+1;

(4)對產生的新種群Pi+1進行精英策略操作再進行交叉變異操作,生成新的子代種群Qi+1;

(5)判斷是否達到終止條件或者已經運行到最大代數,若是,則整個優化過程結束退出,若否,則繼續執行第二步,一直到優化過程終止為止。

3兩級CMOS運放的多目標優化

下麵以一個采用Miller補償的兩級CMOS運放為例,說明上述改進方法。待優化的電路,要考慮的性能指標是單位增益帶寬(UGB)、功耗(Power)、擺率(SR)、麵積(Area)、相位裕度(PM)、單位增益(AV),3dB帶寬(f3dB)等。

電路的設計參數為MOS管的寬度及偏置電流、補償電容,因此x=[W1 W3 W5 W6 W7 W8Cc Ibias];由於對稱性W2=W1,W4=W3。MOS管的長度固定均為1μm,VDD=2.5 V,VSS=-2.5V,CL=10pF。

4結語