趙虎 成盧強 侯曉音 徐明



任何一項工程或一個產品的設計,都需要根據設計要求,合理選擇方案,確定各種參數,以期望達到最佳的設計目標。本文建立了廣義參數優化方法用以解決黑箱系統的參數優化問題,該方法以試驗設計為基礎,進行實驗方案選擇;采用人工神經網絡建立因素與目標的非線性映射關系模型;利用遺傳算法,獲得給定參數區間的Pareto最優解集。提出的方法具有通用性,可廣泛應用于各種基于試驗或虛擬試驗的黑箱系統多目標參數優化問題的求解。
一、確定實驗方案
在有目的的進行試驗、獲得試驗樣本數據中,一般可采用全面試驗方法、正交試驗設計方法和均勻設計方法。
全面試驗方法是在確定試驗樣本中,將每一個因素的不同水平組合做同樣數目的試驗。如在試驗中,當因素為s=4個,每個因素有q=12水平,采用全面試驗方法則至少需作qs=124=20736次試驗。
正交設計方法利用一種規格化的表格正交表安排試驗,使之只做較少次數的試驗就可判斷出較優的條件。其特點是:每個因素的各個不同水平在試驗中都出現相同的次數;任何兩個因素的各種不同水平的搭配,在試驗中都出現了,并且出現的次數相同。即“均勻搭配”、“整齊可比”。用正交試驗安排試驗,則至少要作q2個試驗。當q 較大時,q2將變得很大。例如,對于上述同樣問題, q2 =122=144,這對多數實際問題,要求做的試驗過多。因此正交設計方法只適用于水平數不多的試驗中。
均勻設計方法是一種先進的試驗設計方法,特別適合于多因素多水平的試驗設計。均勻設計方法利用數論中的一致分布理論選取q個點,并且只需進行q次試驗。對于上述同樣問題,其試驗次數僅為12。確定均勻設計試驗點的關鍵是確定均勻設計表Um(qs),其中U表示均勻設計,m表示設計次數(布點數),q表示設計水平數,s表示設計因素。
在確定實驗方案中,從節省時間和成本等方面考慮,一般都希望試驗次數越少越好。但如果試驗樣本過少,會造成后續的建模誤差較大,泛化能力下降,尋優精度降低。因此可根據實際問題的參數(因素)多少和其水平數綜合進行考慮。在因素水平不變的情況下,當希望增加試驗次數,可考慮選擇正交設計方法或全面試驗法;當希望減少試驗次數,可考慮選擇均勻設計方法。
二、建“黑箱”系統模型
本文提出的優化方法運用控制理論中的“黑箱”思想,把整個系統看成一個“黑箱”,按照實驗設計方案安排試驗 \ 虛擬試驗,以此給出的設計參數作為系統的輸入參數,試驗結果數據作為輸出參數。黑箱系統的具體實現采用人工神經BP網絡模型。
BP(Back Propagation)模型是一種輸入信號向前傳播無反饋的多層神經網絡,網絡由一個輸入層、一個或多個隱層和一個輸出層組成。對于三層BP神經網絡,其結構分別為:
(1)輸入層節點i,其輸出等于輸入,xi(i=1,2,…,n)將控制變量值傳輸到第二層。(2) 隱層節點j,其輸入hj,輸出Oj 分別為
輸入信號經過輸入節點傳向隱層各節點,經節點的作用函數作用后,傳送至輸出層節點,最后在輸出節點上得到輸出信號。如果輸出節點的輸出值與學習樣本期望值之間存在誤差,則誤差反向傳播,修正網絡節點的連結權值。
由于人工神經網絡的高度非線性映射能力,利用其網絡的記憶功能形成了一個無明確表達式的虛擬函數,為下一步進行黑箱系統的優化打下了基礎。
三、優化黑箱系統求解算法
多目標優化問題與單目標優化問題有著本質上的不同。多目標優化的解不是唯一的,而是存在一個最優解集合。解決多目標優化問題的最好方法就是得到均勻分布的Pareto最優解集后,根據不同設計要求和意愿,從中選擇最滿意的設計結果。
在本文的直接優化方法中,采用Pareto遺傳算法作為其優化求解器,Pareto遺傳算法尋優過程如圖1所示。
遺傳進化算法首先按照設定的初始種群數目在設計變量取值范圍內用實數編碼的方式進行隨機編碼,生成初始種群,每個個體信息由待優化的設計參數組成。利用導入的神經網絡模型對每一個個體求出目標函數值,根據個體的目標函數值對個體進行Pareto定級,找出級別為1 的一組個體得到Pareto解集,計算其目標函數值,滿足要求為所求優化解。若不滿足要求則對種群的個體進行選擇、再結合、變異、移植等遺傳算子操作,使用小生境方法生成新種群,再進行上述定級等操作生成新的一組Pareto解集,直到求出滿足要求的Pareto解為止。
四、應用實例
由于工程應用的復雜性,獲取理論目標值的難度非常大,作對比分析較困難。為了便于驗證與分析,對FONSECA函數進行Pareto多目標尋優。該函數對兩個目標函數的最小值共有三個Pareto解。這里假設不知道其優化模型,利用函數式來做試驗,按照均勻設計方法安排試驗方案,由此試驗數據通過神經網絡建立數學模型,由訓練好的神經網絡來計算遺傳進化算法中適應值,并進行遺傳算法尋優,最后通過對優化結果的檢驗來測試方法的有效性。
FONSECA函數可描述為:
目標個數為2個,因素個數為2個,選擇均勻設計表U20(202)安排試驗,該表表示有兩個因素(設計變量),每個因素取20個水平,共進行20次試驗。其試驗結果如表1所示。
在獲得試驗數據后,接下來用試驗樣本點訓練神經網絡,建立黑箱模型。當BP網絡隱層神經元數選為7時,訓練循環次數為100,網絡誤差為1e-3,滿足要求。訓練好的網絡可以求出約束變量范圍內任何一組設計變量對應的目標值。
訓練樣本目標值為Train,訓練樣本網絡擬合值為Out1。當隱層神經元數為7個,輸出層神經元數為1個,隱層和輸出層的傳遞函數都定為logsig函數時,網絡的誤差最小。測試樣本目標值為函數計算的精確值,Out2為測試樣本的網絡擬合目標值。BP網絡參數與誤差的關系如表2所示。
在完成上述建模工作基礎上,采用遺傳進化算法進行尋優,程序的輸出結果是最優目標值:〔0.849767,0.824728〕,最優個體是〔-0.1366,-0.4209〕。
遺傳算法求出的Pareto解與理論解之間的誤差為:
五、結論
本文提出了廣義參數優化方法將試驗設計方法、人工神經網絡技術及Pareto GA算法結合在一起,利用神經網絡的高度非線性映射能力、遺傳算法的全局搜索能力、試驗設計方法在試驗范圍內均勻散布等特點,可在試驗區內尋找出最優解或近似最優解。
該方法的應用范圍廣泛,不要求建立具體的優化數學模型,可解決無法構建數學模型的黑箱系統參數優化問題。