萬 東
(廣東交通職業(yè)技術(shù)學(xué)院,廣東 廣州 510650)
隨機優(yōu)化問題通常因為缺少結(jié)構(gòu)信息而存在不確定因素,并且優(yōu)化目標(biāo)的精確解析表達式很難得到,固難于高效實現(xiàn)全局優(yōu)化。另外,優(yōu)化決策空間很大,且往往是連續(xù)量和離散量、邏輯量并存,優(yōu)化涉及多個目標(biāo),并存在多個極小點,這更增大了此類問題的優(yōu)化難度。因此,對隨機優(yōu)化問題的研究已成為國際學(xué)術(shù)界的一個重要研究課題[1-3],許多學(xué)者都在尋找一種高效、魯棒的優(yōu)化算法。
近年來,出現(xiàn)了幾種智能優(yōu)化算法,如模擬退火算法、遺傳算法、免疫算法、演化算法、粒子群算法等。但這些算法絕大多數(shù)是針對確定性優(yōu)化問題的。社會認知算法SCO(Social Cognitive Optimization)是一種群體智能算法[4-5],是基于社會認知理論的集群智能優(yōu)化算法,它對目標(biāo)函數(shù)的解析性質(zhì)沒有要求,適合于大規(guī)模的約束問題的處理,該算法已經(jīng)表現(xiàn)出了良好的效果[6-7]。本文結(jié)合社會認知算法,提出了解隨機優(yōu)化問題的社會認知算法。該算法易理解,并易于程序?qū)崿F(xiàn),是一種高效的、魯棒的優(yōu)化算法。這不僅為隨機優(yōu)化問題的求解提供了一種新的途徑,還為社會認知算法的應(yīng)用拓展了新的空間。數(shù)值仿真結(jié)果表明了該方法的有效性。
社會認知優(yōu)化是基于社會認知理論(Society Cognitive Theory)發(fā)展起來的一種智能優(yōu)化算法。社會認知理論認為:人格是綜合遺傳、環(huán)境和認知而形成的,特別重視環(huán)境和認知的作用,強調(diào)人際之間社會學(xué)習(xí)的重要性。社會認知優(yōu)化是通過競爭選擇和領(lǐng)域搜索來模擬社會認知理論中的社會學(xué)習(xí)能力,用代理代表社會中的人,用知識庫代表社會中的知識,通過代理與知識庫之間不斷的交互來模擬人類的社會學(xué)習(xí)過程,從而達到優(yōu)化學(xué)習(xí)的目的。
知識點(Knowledge point):知識點是位于搜索空間中對位置及其適應(yīng)度水平的描述所構(gòu)成的點。
庫(Library):庫是含有一系列知識點且具有大小的表。
學(xué)習(xí)代理(Learning agent):學(xué)習(xí)代理是一個行為個體,支配庫中的知識點。
整個優(yōu)化過程如圖1所示。
圖1 社會認知優(yōu)化原理圖
假設(shè)庫中知識點為Npop,學(xué)習(xí)代理的數(shù)量是Nc,一般選擇Npop=3Nc。實現(xiàn)過程步驟如下:
(1)初始化過程
①隨機生成Npop個知識點;
②給每個學(xué)習(xí)代理分別隨機分配庫中不同的知識點。
(2)替代學(xué)習(xí)過程
①模仿學(xué)習(xí):在庫中隨機選擇2個不同的知識點,采用競爭的原則在兩者中選出一個好的知識點;
②觀察學(xué)習(xí):把選擇出來的知識點和代理自身的知識點進行對比,取水平較好的點作為中心點,取較差的點作為參考點,基于領(lǐng)域搜索的原則將這兩個點移動到一個新的知識點,儲存新的知識點。
(3)從庫中去掉1個最差水平的知識點。
(4)重復(fù)步驟(2)~(4),直到滿足停止條件。
本文采用非凸二維隨機Rosenbrock函數(shù)和多極小的隨機Goldstein-Price函數(shù)進行仿真研究。文中參數(shù)選取如下:Npop=350,Nc=70,T=1 000。最大截止代數(shù)見表 1,精度為1×10-6。對下述問題進行 50次計算,用 VC++6.0編程,計算結(jié)果見表1。
(1)隨機 Rosenbrock函數(shù)
其中:η為噪聲幅度,取為 0.01和0.05;ξ為隨機噪聲,在此令其服從[0,1]的均勻分布。 顯然 E[L(x1,x2,ξ)]的最優(yōu)解為(1,1),其最優(yōu)值為 0。
(2)隨機 Goldstein-Price函數(shù)
表1 隨機優(yōu)化問題的社會認知算法數(shù)值結(jié)果
其中:η為噪聲幅度,取為 0.01和0.05;ξ為隨機噪聲,在此令其服從[0,1]的均勻分布。顯然 E[L(x1,x2,ξ)]的最優(yōu)值為3。
基于以上仿真結(jié)果,本文可得如下結(jié)論:(1)社會認知算法求解隨機優(yōu)化問題具有良好的魯棒性。最大截止代數(shù)增大時,隨機仿真結(jié)果與理論上的最優(yōu)解較接近。(2)當(dāng)噪聲幅度較大時,相同參數(shù)下的隨機仿真結(jié)果變得較差。
本文把社會認知算法應(yīng)用于求解隨機優(yōu)化問題,并通過數(shù)值仿真進行了驗證。結(jié)果表明,社會認知算法具有有效性和魯棒性,在求解隨機優(yōu)化問題方面具有很強的優(yōu)勢和應(yīng)用價值。文中用到的隨機噪聲為均勻分布,但現(xiàn)實中遇到的噪聲復(fù)雜得多,所以社會認知算法應(yīng)用于求解隨機優(yōu)化問題還有待進一步研究。研究方向包括:通過把社會認知算法和其他技巧相結(jié)合來進一步提高算法的效率和精度;進一步研究高效的適合高維隨機優(yōu)化問題的群體智能算法;針對隨機組合優(yōu)化問題推廣研究此類算法,進一步拓廣其應(yīng)用領(lǐng)域。
[1]王凌,張亮,鄭大鐘.仿真優(yōu)化研究進展[J].控制與決策,2003,18(3):257-262.
[2]王凌,鄭大鐘.隨機優(yōu)化問題的一類基于假設(shè)檢驗的模擬退火算法[J].控制與決策,2004,19(2):183-186.
[3]張亮,王凌,鄭大鐘.隨機優(yōu)化問題基于假設(shè)檢驗的遺傳算法[J].控制理論與應(yīng)用,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]蘇俊霞.社會認識優(yōu)化在非線性規(guī)劃問題中的應(yīng)用[J].計算機仿真,2007,24(9):261-264.
[7]張建科,孫家澤,寇曉麗.求解分式規(guī)劃的社會認知算法[J].計算機工程與設(shè)計,2008,29(21):5543-5545.