萬 東
(廣東交通職業技術學院,廣東 廣州 510650)
隨機優化問題通常因為缺少結構信息而存在不確定因素,并且優化目標的精確解析表達式很難得到,固難于高效實現全局優化。另外,優化決策空間很大,且往往是連續量和離散量、邏輯量并存,優化涉及多個目標,并存在多個極小點,這更增大了此類問題的優化難度。因此,對隨機優化問題的研究已成為國際學術界的一個重要研究課題[1-3],許多學者都在尋找一種高效、魯棒的優化算法。
近年來,出現了幾種智能優化算法,如模擬退火算法、遺傳算法、免疫算法、演化算法、粒子群算法等。但這些算法絕大多數是針對確定性優化問題的。社會認知算法SCO(Social Cognitive Optimization)是一種群體智能算法[4-5],是基于社會認知理論的集群智能優化算法,它對目標函數的解析性質沒有要求,適合于大規模的約束問題的處理,該算法已經表現出了良好的效果[6-7]。本文結合社會認知算法,提出了解隨機優化問題的社會認知算法。該算法易理解,并易于程序實現,是一種高效的、魯棒的優化算法。這不僅為隨機優化問題的求解提供了一種新的途徑,還為社會認知算法的應用拓展了新的空間。數值仿真結果表明了該方法的有效性。
社會認知優化是基于社會認知理論(Society Cognitive Theory)發展起來的一種智能優化算法。社會認知理論認為:人格是綜合遺傳、環境和認知而形成的,特別重視環境和認知的作用,強調人際之間社會學習的重要性。社會認知優化是通過競爭選擇和領域搜索來模擬社會認知理論中的社會學習能力,用代理代表社會中的人,用知識庫代表社會中的知識,通過代理與知識庫之間不斷的交互來模擬人類的社會學習過程,從而達到優化學習的目的。
知識點(Knowledge point):知識點是位于搜索空間中對位置及其適應度水平的描述所構成的點。
庫(Library):庫是含有一系列知識點且具有大小的表。
學習代理(Learning agent):學習代理是一個行為個體,支配庫中的知識點。

整個優化過程如圖1所示。

圖1 社會認知優化原理圖
假設庫中知識點為Npop,學習代理的數量是Nc,一般選擇Npop=3Nc。實現過程步驟如下:
(1)初始化過程
①隨機生成Npop個知識點;
②給每個學習代理分別隨機分配庫中不同的知識點。
(2)替代學習過程
①模仿學習:在庫中隨機選擇2個不同的知識點,采用競爭的原則在兩者中選出一個好的知識點;
②觀察學習:把選擇出來的知識點和代理自身的知識點進行對比,取水平較好的點作為中心點,取較差的點作為參考點,基于領域搜索的原則將這兩個點移動到一個新的知識點,儲存新的知識點。
(3)從庫中去掉1個最差水平的知識點。
(4)重復步驟(2)~(4),直到滿足停止條件。
本文采用非凸二維隨機Rosenbrock函數和多極小的隨機Goldstein-Price函數進行仿真研究。文中參數選取如下:Npop=350,Nc=70,T=1 000。最大截止代數見表 1,精度為1×10-6。對下述問題進行 50次計算,用 VC++6.0編程,計算結果見表1。
(1)隨機 Rosenbrock函數

其中:η為噪聲幅度,取為 0.01和0.05;ξ為隨機噪聲,在此令其服從[0,1]的均勻分布。 顯然 E[L(x1,x2,ξ)]的最優解為(1,1),其最優值為 0。
(2)隨機 Goldstein-Price函數

表1 隨機優化問題的社會認知算法數值結果

其中:η為噪聲幅度,取為 0.01和0.05;ξ為隨機噪聲,在此令其服從[0,1]的均勻分布。顯然 E[L(x1,x2,ξ)]的最優值為3。
基于以上仿真結果,本文可得如下結論:(1)社會認知算法求解隨機優化問題具有良好的魯棒性。最大截止代數增大時,隨機仿真結果與理論上的最優解較接近。(2)當噪聲幅度較大時,相同參數下的隨機仿真結果變得較差。
本文把社會認知算法應用于求解隨機優化問題,并通過數值仿真進行了驗證。結果表明,社會認知算法具有有效性和魯棒性,在求解隨機優化問題方面具有很強的優勢和應用價值。文中用到的隨機噪聲為均勻分布,但現實中遇到的噪聲復雜得多,所以社會認知算法應用于求解隨機優化問題還有待進一步研究。研究方向包括:通過把社會認知算法和其他技巧相結合來進一步提高算法的效率和精度;進一步研究高效的適合高維隨機優化問題的群體智能算法;針對隨機組合優化問題推廣研究此類算法,進一步拓廣其應用領域。
[1]王凌,張亮,鄭大鐘.仿真優化研究進展[J].控制與決策,2003,18(3):257-262.
[2]王凌,鄭大鐘.隨機優化問題的一類基于假設檢驗的模擬退火算法[J].控制與決策,2004,19(2):183-186.
[3]張亮,王凌,鄭大鐘.隨機優化問題基于假設檢驗的遺傳算法[J].控制理論與應用,2004,21(6):883-889.
[4]XIE X F, ZHANG W J, YANG Z L.Social cognitive optimization fornonlinearprogramming problems[C].Beijing,China:Int Confon Machine Learning and Cybernetics,2002:779-783.
[5]XIE X F,ZHANG W J.Solving engineering design prob-lems by social cognitive optimization[J].Genetic and Evolutionary Computation Conference,2004:261-262.
[6]蘇俊霞.社會認識優化在非線性規劃問題中的應用[J].計算機仿真,2007,24(9):261-264.
[7]張建科,孫家澤,寇曉麗.求解分式規劃的社會認知算法[J].計算機工程與設計,2008,29(21):5543-5545.