李茂軍+賈玲
收稿日期:2013-09-18
作者簡介:李茂軍(1964—),男,湖南寧鄉人,教授,博士,研究方向:智能控制與智能計算。
文章編號:1003-6199(2014)02-0085-04
摘 要:傳統進化算法主要通過選擇、重組和變異這三種遺傳操作實現種群的進化。在進化過程中通常需要設定群體規模、交叉概率和變異概率等參數,而且它們的值會直接影響計算結果及精度。為了簡化操作過程,設計一種基于離散系統狀態空間模型的進化算法,這種算法采用實數編碼方式,構造一個狀態進化矩陣來實現重組和變異的功能,提高算法的可操作性和可靠性。并將該算法應用于求解無約束全局優化問題,對幾種典型的測試函數進行仿真,結果表明:這種新的進化算法具有搜索能力強、收斂速度快、計算精度高、操作簡單等優點,對相關研究有參考作用。
關鍵詞:進化算法;狀態空間模型;實數編碼;狀態進化矩陣
中圖分類號:TP301.6文獻標識碼:A
An Evolutionary Algorithm Based on StatespaceModel
LI Maojun,JIA Ling
(College of Electrical and Information Engineering, Changsha University of Science & Technology, Changsha,Hunan 410114,China)
Abstract:The traditional evolutionary algorithm primarily through three genetic operators: selection, recombination and mutation operations, to achieve the evolution of the population. In the process of evolution, it usually needs to set the crossover probability and mutation probability, which will directly affect the results and precision. In order to simplify the procedure, we design a new evolutionary algorithm, which based on discrete state-space model system and using real-encoding method. The algorithm constructs a state evolution matrix to achieve the function of recombination and mutation, and improve the operability and reliability of the algorithm. We do some simulation based on several typical test functions, the results shows that: this new evolutionary algorithm has many advantages, such as strong search capability, rapid convergence, high precision, simple operation, etc. It has useful reference for relevant studies.
Key words:evolutionary algorithm; state-space model ; real-encoding; state evolution matrix
1 引 言
進化算法(EA)是一類模擬生物進化機制的智能優化方法,如遺傳算法(GA)[1]、蟻群算法(ACO)[2]、模擬退火算法(SA)[3]等。同傳統的梯度法、牛頓法、窮舉法等優化算法相比,進化計算具有自組織、自適應、自學習、不受問題性質限制的優點,因此進化算法常用來解決復雜的工程優化問題[4]。隨著科學的發展和應用需求的增加,傳統進化算法已不能滿足工程應用需要。幾十年來,許多學者嘗試了很多方法來更好地解決優化問題,如對傳統進化算法進行改進、引入新的理論、結合兩種或兩種以上進化算法等來處理優化問題,取得了一定的效果[5-7]。
文獻[8]提出一種改進的遺傳算法,為了避免連續函數優化過程中的早熟收斂和搜索遲鈍,在簡單遺傳算法基礎上提出了劃分尋優區間、基于排序和最佳保留的輪盤賭選擇算子, 并采用擇優交叉算子和二元變異算子,提高了算法的運行效率和收斂速度,并可避免陷入局部最優;文獻[9] 針對粒子群算法(PSO)算法存在進化后期收斂速度慢、易陷入局部最優點的缺點,提出了一種多向學習型的粒子群優化算法,該算法中粒子通過同時追隨自己找到的最優解、隨機的其他粒子同維度的最優解和整個群的最優解來完成速度更新,通過判別區域邊界來完成位置優化更新,通過對全局最優位置進行小范圍擾動,以增強算法跳出局部最優的能力。明顯改善了全局搜索能力,并且能夠有效避免早熟收斂問題。文獻[10]提出了一種結合免疫克隆算子的量子遺傳算法(QGA),采用免疫克隆操作及交叉策略提高抗體成熟力及親和性,增強抗體群分布的多樣性及穩定性,有效克服了量子遺傳算法容易陷于局部最優及計算緩慢的不足。
傳統進化算法存在的問題有:一、編程過程比較復雜,算法開始要先對所求問題進行編碼,最后對找到最優解還要進行解碼;二、遺傳算子和初始種群的選擇對解的品質影響很大,大部分需要依靠經驗來選擇;三、搜索速度比較慢,要得到精確度高的解需要花很長時間;四、容易出現早熟收斂現象,陷入局部最優解而無法跳出。
針對傳統進化算法的存在的問題,本文提出一種基于狀態空間模型的進化算法(SEA),這種算法采用實數編碼方式,構造一個狀態進化矩陣來實現種群進化,并通過選種池中的選擇操作實現優勝劣汰的自然選擇機制。通過對幾種典型函數的測試結果表明,該算法具有很強的搜索能力和很高的搜索精度,能快速地找到問題的全局最優解。
2 基于狀態空間模型的進化算法
算法基于離散系統狀態空間模型,引入進化計算的基本思想,構造一種基于狀態空間模型X'(k+1)=GX(k)(其中X(k)為第k個采樣時刻的狀態向量,G為狀態進化矩陣)的進化算法。在這種算法中,進化算法的群體表示為狀態向量X(k),X(k)表示第k代群體,狀態向量X(k)包含N個分量,每個分量均表示1個個體(這里的個體是按傳統進化算法中的實數編碼方法而得到的),每個個體包含M個變量。在這里,狀態向量X(k)實際上是一個N×M矩陣,該矩陣的每一行表示一個個體,每一個元素是變量的實數值。群體進化通過狀態進化矩陣G實現,G是一個N×N的矩陣。可基于進化算法中群體進化的基本方法來構造狀態進化矩陣G,也可以通過其它途徑來構造狀態進化矩陣G。本文主要基于進化計算中群體進化的基本思想來構造狀態進化矩陣G。其計算模型如圖1所示。
計算技術與自動化2014年6月
第33卷第2期李茂軍等:一種基于狀態空間模型的進化算法
圖1 基于狀態空間模型的進化算法計算模型
2.1 初始種群
設種群規模為N,待優化問題的變量有M個,則第k代群體X(k)為
X(k)=x11x12…x1Mx21x22…x2M…xN1xN2…xNM (1)
其中Xi=(xi1,xi2,…,xiM),i=1,2,…,N為優化問題的一組可行解,xij∈[αj,βj],i=1,2,…,N,j=1,2,…,M。
在算法初始化階段,用隨機函數產生N組、每組M個分別在αj,βj(j=1,2,…,M)上服從均勻分布的實數構成初始種群X0。
2.2 狀態進化矩陣
本算法采用一個狀態進化矩陣G來模擬進化算法中的重組與變異操作過程,這使得算法操作起來非常簡單,因此,狀態進化矩陣的構造是算法的重點。本文按照式(2)構造狀態進化矩陣G
G=g11g12…g1Ng21g22…g2N…gN1gN2…gNN (2)
其中0≤gij≤1,i,j=1,2,…,N,且∑nj=1gij≤1 ,矩陣G中元素gij(i,j=1,2,…,N)的值是隨機確定的,本文中G為滿足上述條件的隨機常數矩陣,具體構造流程如圖2所示。
2.3 選種池和選擇操作
同傳統進化算法類似,選擇操作是一個擇優的過程,體現了優勝劣汰的進化思想,本文按最小化優化問題尋優。如圖1所示,從初始群體X(0)開始,按照X'(k+1)=GX(k)迭代,可依次得到一系列群體X'(1),X'(2),X'(3),……。群體X'(k+1)和X(k)(k= 0,1,2,…)同時進入選種池,按照適應度函數f()計算選種池中每個群體的適應度值Y(k),按照從小到大排列,選擇前N個個體組成新一代群體X(k+1),如此反復,直到算法滿足停機條件。
圖2 狀態進化矩陣構造流程圖
2.4 算法描述
Step 1. 初始化種群 X(0),并計算初始種群的適應度值;
Step 2. 根據圖2流程得到狀態進化矩陣G;
Step 3. 進行進化操作,X'(k+1)=G?X(k),并計算種群X'(k+1)適應度值;
Step 4. 將種群X(k),X'(k+1)同時放入選種池,按適應度值從小到大排列,選擇前N個個體作為新一代的群體X(k+1);
Step 5. 是否滿足終止條件:若是,則結束;否則,轉到Step 3。
3 仿真實驗與性能分析
實驗仿真平臺為Matlab 7.1。本實驗采用了3個經典測試函數,這些測試函數為高維多模函數,具有大量的局部最優點,是優化領域中公認的較難優化的函數。
1)Shubert函數
f1=∑5i=1icos [(i+1)x+i]?
∑5i=1icos [(i+1)y+i]-10≤x,y≤10 (3)
有多個極小值點,但只有一個全局最小值-186.73。
2)Schwefel's函數
f2=-xsin (x)-ysin (y)-500≤x,y≤500(4)
是一個具有典型欺騙問題的函數,有1個全局極小值點取值近似為-837.9658,在(420.96 87,420. 9687)處,距離另一個局部最優點很遠,因此如果陷入局部最優就很難跳出。
(3)GoldsteinPrice函數
f3=[1+(x+y+1)2(19-14x+3x2-14y+6xy+3y2)]?[30+(2x-3y)2(18-32x+12x2+48y-36xy+27y2)]-2≤x,y≤2(5)
這是一個多模函數,有多個極小值點,但只有一個全局最小值3,極小值點為(0,-1)。
在測試中,將種群大小設置為500,每次運行代數為60代,每個測試函數運行測試50次。表1顯示了函數f1~f3運行50次的實驗結果,包括平均最優值、標準差和平均收斂代數。全局最優值為f1~f3理論最優值,平均最優值fmav按照公式(6)計算得到(其中fmi為第i次運用本算法求解f1~f3優化問題得到的最優解對應的適應度函數值),標準差為平均最優值與全局最優值之差,平均收斂代數為每次實驗找到最優解所需要的最少代數的平均值。
fmav=∑50i=1fmi/50,i=1,2,…,50(6)
表1 算法對3個測試函數50次實驗的結果
函數
全局最優值
平均最優值
標準差
平均收斂代數
f1
-186.7316
-186.7316
0
9
f2
-837.9658
-837.9658
0
12
f3
3.0000
3.0000
0
8
圖3~5分別顯示了運用本算法求解函數f1~f3優化問題所得到的最優解對應的適應度函數值隨進化代數變化曲線。
圖3 算法求解f1優化問題適應度函數值變化曲線
圖4 算法求解f2優化問題適應度函數值變化曲線
圖5 算法求解f3優化問題適應度函數值變化曲線
從表1和圖3~5可以看出,本文提出的算法在3個函數優化中取得了良好的效果,找到最優解的成功率高,收斂速度快。通過50次實驗結果可以看出,基于狀態空間模型的進化算法穩定性好,成功率高。
4 結 論
本文設計了一種基于離散系統狀態空間模型的進化算法,以基本進化算法的思想為基礎,借鑒矩陣理論和實數編碼方法,通過構造一個狀態進化矩陣,來實現種群的進化,提高了算法的可操作性和可靠性。通過對3個經典優化測試函數進行優化實驗,結果表明:本文提出的算法增強了防止陷入局部最優的能力,能夠較大地提高收斂速度和精度,而且穩定性能很好。
雖然算法的仿真結果是令人滿意的,但是由于實驗條件的局限性和實驗次數的有限性,算法收斂性和遍歷性還需要通過進一步的數學證明。如何構造更好的狀態進化矩陣,是需要進一步研究的問題。
參考文獻
[1] 劉鯖潔,陳桂明,劉小方. 基于矩陣編碼的遺傳算法研究[J].計算機工程:2011, 37(13):160-162.
[2] IRINA CIORNEI, ELIAS KYRIAKIDES. Hybrid Ant Colony-Genetic Algorithm (GAAPI) for Global Continuous Optimization [J]. Systems, Man, and Cybernetics, part B, 2012, 42(1), 34-245.
[3] 董麗麗,龔光紅,李妮,等.基于云模型的自適應并行模擬退火遺傳算法[J].北京航空航天大學學報:2011,37 (9):1132-1136.
[4] 劉正龍,楊艷梅.基于遺傳算法的數值優化約束問題的研究[J].計算機系統應用:2013,22(5):139-142.
[5] 王巍,趙文紅,王宇平.一種有效的解無約束全局優化的進化算法[J].控制理論與應用:2010,27 (5):570-574.
[6] 陳曉峰,楊廣明,黃明.一種實數編碼的量子差分進化算法[J].小型微型計算機系統:2013,34(5):1141-1146.
[7] YUSUKE T,YOSHIFUMIO,SHINJIW, et al. BinaryBased Topology Optimization of Magnetostatic Shielding by a Hybrid Evolutionary Algorithm Combining Genetic Algorithm and ExtendedCompact Genetic Algorithm [J]. Magnetics:2013,49 (5) :2093-2096.
[8] 王越,許全文,黃麗豐.基于改進遺傳算法的連續函數優化[J].重慶理工大學學報:2011,25(2):62-67.
[9] 闞超豪.多向學習自適應的粒子群算法[J].計算機工程與應用:2013,49(6):23-28.
[10]徐雪松,王四春.基于免疫量子遺傳算法的多峰函數尋優[J].計算機應用:2012,32(6):1674-1677.
計算技術與自動化2014年6月
第33卷第2期李茂軍等:一種基于狀態空間模型的進化算法
圖1 基于狀態空間模型的進化算法計算模型
2.1 初始種群
設種群規模為N,待優化問題的變量有M個,則第k代群體X(k)為
X(k)=x11x12…x1Mx21x22…x2M…xN1xN2…xNM (1)
其中Xi=(xi1,xi2,…,xiM),i=1,2,…,N為優化問題的一組可行解,xij∈[αj,βj],i=1,2,…,N,j=1,2,…,M。
在算法初始化階段,用隨機函數產生N組、每組M個分別在αj,βj(j=1,2,…,M)上服從均勻分布的實數構成初始種群X0。
2.2 狀態進化矩陣
本算法采用一個狀態進化矩陣G來模擬進化算法中的重組與變異操作過程,這使得算法操作起來非常簡單,因此,狀態進化矩陣的構造是算法的重點。本文按照式(2)構造狀態進化矩陣G
G=g11g12…g1Ng21g22…g2N…gN1gN2…gNN (2)
其中0≤gij≤1,i,j=1,2,…,N,且∑nj=1gij≤1 ,矩陣G中元素gij(i,j=1,2,…,N)的值是隨機確定的,本文中G為滿足上述條件的隨機常數矩陣,具體構造流程如圖2所示。
2.3 選種池和選擇操作
同傳統進化算法類似,選擇操作是一個擇優的過程,體現了優勝劣汰的進化思想,本文按最小化優化問題尋優。如圖1所示,從初始群體X(0)開始,按照X'(k+1)=GX(k)迭代,可依次得到一系列群體X'(1),X'(2),X'(3),……。群體X'(k+1)和X(k)(k= 0,1,2,…)同時進入選種池,按照適應度函數f()計算選種池中每個群體的適應度值Y(k),按照從小到大排列,選擇前N個個體組成新一代群體X(k+1),如此反復,直到算法滿足停機條件。
圖2 狀態進化矩陣構造流程圖
2.4 算法描述
Step 1. 初始化種群 X(0),并計算初始種群的適應度值;
Step 2. 根據圖2流程得到狀態進化矩陣G;
Step 3. 進行進化操作,X'(k+1)=G?X(k),并計算種群X'(k+1)適應度值;
Step 4. 將種群X(k),X'(k+1)同時放入選種池,按適應度值從小到大排列,選擇前N個個體作為新一代的群體X(k+1);
Step 5. 是否滿足終止條件:若是,則結束;否則,轉到Step 3。
3 仿真實驗與性能分析
實驗仿真平臺為Matlab 7.1。本實驗采用了3個經典測試函數,這些測試函數為高維多模函數,具有大量的局部最優點,是優化領域中公認的較難優化的函數。
1)Shubert函數
f1=∑5i=1icos [(i+1)x+i]?
∑5i=1icos [(i+1)y+i]-10≤x,y≤10 (3)
有多個極小值點,但只有一個全局最小值-186.73。
2)Schwefel's函數
f2=-xsin (x)-ysin (y)-500≤x,y≤500(4)
是一個具有典型欺騙問題的函數,有1個全局極小值點取值近似為-837.9658,在(420.96 87,420. 9687)處,距離另一個局部最優點很遠,因此如果陷入局部最優就很難跳出。
(3)GoldsteinPrice函數
f3=[1+(x+y+1)2(19-14x+3x2-14y+6xy+3y2)]?[30+(2x-3y)2(18-32x+12x2+48y-36xy+27y2)]-2≤x,y≤2(5)
這是一個多模函數,有多個極小值點,但只有一個全局最小值3,極小值點為(0,-1)。
在測試中,將種群大小設置為500,每次運行代數為60代,每個測試函數運行測試50次。表1顯示了函數f1~f3運行50次的實驗結果,包括平均最優值、標準差和平均收斂代數。全局最優值為f1~f3理論最優值,平均最優值fmav按照公式(6)計算得到(其中fmi為第i次運用本算法求解f1~f3優化問題得到的最優解對應的適應度函數值),標準差為平均最優值與全局最優值之差,平均收斂代數為每次實驗找到最優解所需要的最少代數的平均值。
fmav=∑50i=1fmi/50,i=1,2,…,50(6)
表1 算法對3個測試函數50次實驗的結果
函數
全局最優值
平均最優值
標準差
平均收斂代數
f1
-186.7316
-186.7316
0
9
f2
-837.9658
-837.9658
0
12
f3
3.0000
3.0000
0
8
圖3~5分別顯示了運用本算法求解函數f1~f3優化問題所得到的最優解對應的適應度函數值隨進化代數變化曲線。
圖3 算法求解f1優化問題適應度函數值變化曲線
圖4 算法求解f2優化問題適應度函數值變化曲線
圖5 算法求解f3優化問題適應度函數值變化曲線
從表1和圖3~5可以看出,本文提出的算法在3個函數優化中取得了良好的效果,找到最優解的成功率高,收斂速度快。通過50次實驗結果可以看出,基于狀態空間模型的進化算法穩定性好,成功率高。
4 結 論
本文設計了一種基于離散系統狀態空間模型的進化算法,以基本進化算法的思想為基礎,借鑒矩陣理論和實數編碼方法,通過構造一個狀態進化矩陣,來實現種群的進化,提高了算法的可操作性和可靠性。通過對3個經典優化測試函數進行優化實驗,結果表明:本文提出的算法增強了防止陷入局部最優的能力,能夠較大地提高收斂速度和精度,而且穩定性能很好。
雖然算法的仿真結果是令人滿意的,但是由于實驗條件的局限性和實驗次數的有限性,算法收斂性和遍歷性還需要通過進一步的數學證明。如何構造更好的狀態進化矩陣,是需要進一步研究的問題。
參考文獻
[1] 劉鯖潔,陳桂明,劉小方. 基于矩陣編碼的遺傳算法研究[J].計算機工程:2011, 37(13):160-162.
[2] IRINA CIORNEI, ELIAS KYRIAKIDES. Hybrid Ant Colony-Genetic Algorithm (GAAPI) for Global Continuous Optimization [J]. Systems, Man, and Cybernetics, part B, 2012, 42(1), 34-245.
[3] 董麗麗,龔光紅,李妮,等.基于云模型的自適應并行模擬退火遺傳算法[J].北京航空航天大學學報:2011,37 (9):1132-1136.
[4] 劉正龍,楊艷梅.基于遺傳算法的數值優化約束問題的研究[J].計算機系統應用:2013,22(5):139-142.
[5] 王巍,趙文紅,王宇平.一種有效的解無約束全局優化的進化算法[J].控制理論與應用:2010,27 (5):570-574.
[6] 陳曉峰,楊廣明,黃明.一種實數編碼的量子差分進化算法[J].小型微型計算機系統:2013,34(5):1141-1146.
[7] YUSUKE T,YOSHIFUMIO,SHINJIW, et al. BinaryBased Topology Optimization of Magnetostatic Shielding by a Hybrid Evolutionary Algorithm Combining Genetic Algorithm and ExtendedCompact Genetic Algorithm [J]. Magnetics:2013,49 (5) :2093-2096.
[8] 王越,許全文,黃麗豐.基于改進遺傳算法的連續函數優化[J].重慶理工大學學報:2011,25(2):62-67.
[9] 闞超豪.多向學習自適應的粒子群算法[J].計算機工程與應用:2013,49(6):23-28.
[10]徐雪松,王四春.基于免疫量子遺傳算法的多峰函數尋優[J].計算機應用:2012,32(6):1674-1677.
計算技術與自動化2014年6月
第33卷第2期李茂軍等:一種基于狀態空間模型的進化算法
圖1 基于狀態空間模型的進化算法計算模型
2.1 初始種群
設種群規模為N,待優化問題的變量有M個,則第k代群體X(k)為
X(k)=x11x12…x1Mx21x22…x2M…xN1xN2…xNM (1)
其中Xi=(xi1,xi2,…,xiM),i=1,2,…,N為優化問題的一組可行解,xij∈[αj,βj],i=1,2,…,N,j=1,2,…,M。
在算法初始化階段,用隨機函數產生N組、每組M個分別在αj,βj(j=1,2,…,M)上服從均勻分布的實數構成初始種群X0。
2.2 狀態進化矩陣
本算法采用一個狀態進化矩陣G來模擬進化算法中的重組與變異操作過程,這使得算法操作起來非常簡單,因此,狀態進化矩陣的構造是算法的重點。本文按照式(2)構造狀態進化矩陣G
G=g11g12…g1Ng21g22…g2N…gN1gN2…gNN (2)
其中0≤gij≤1,i,j=1,2,…,N,且∑nj=1gij≤1 ,矩陣G中元素gij(i,j=1,2,…,N)的值是隨機確定的,本文中G為滿足上述條件的隨機常數矩陣,具體構造流程如圖2所示。
2.3 選種池和選擇操作
同傳統進化算法類似,選擇操作是一個擇優的過程,體現了優勝劣汰的進化思想,本文按最小化優化問題尋優。如圖1所示,從初始群體X(0)開始,按照X'(k+1)=GX(k)迭代,可依次得到一系列群體X'(1),X'(2),X'(3),……。群體X'(k+1)和X(k)(k= 0,1,2,…)同時進入選種池,按照適應度函數f()計算選種池中每個群體的適應度值Y(k),按照從小到大排列,選擇前N個個體組成新一代群體X(k+1),如此反復,直到算法滿足停機條件。
圖2 狀態進化矩陣構造流程圖
2.4 算法描述
Step 1. 初始化種群 X(0),并計算初始種群的適應度值;
Step 2. 根據圖2流程得到狀態進化矩陣G;
Step 3. 進行進化操作,X'(k+1)=G?X(k),并計算種群X'(k+1)適應度值;
Step 4. 將種群X(k),X'(k+1)同時放入選種池,按適應度值從小到大排列,選擇前N個個體作為新一代的群體X(k+1);
Step 5. 是否滿足終止條件:若是,則結束;否則,轉到Step 3。
3 仿真實驗與性能分析
實驗仿真平臺為Matlab 7.1。本實驗采用了3個經典測試函數,這些測試函數為高維多模函數,具有大量的局部最優點,是優化領域中公認的較難優化的函數。
1)Shubert函數
f1=∑5i=1icos [(i+1)x+i]?
∑5i=1icos [(i+1)y+i]-10≤x,y≤10 (3)
有多個極小值點,但只有一個全局最小值-186.73。
2)Schwefel's函數
f2=-xsin (x)-ysin (y)-500≤x,y≤500(4)
是一個具有典型欺騙問題的函數,有1個全局極小值點取值近似為-837.9658,在(420.96 87,420. 9687)處,距離另一個局部最優點很遠,因此如果陷入局部最優就很難跳出。
(3)GoldsteinPrice函數
f3=[1+(x+y+1)2(19-14x+3x2-14y+6xy+3y2)]?[30+(2x-3y)2(18-32x+12x2+48y-36xy+27y2)]-2≤x,y≤2(5)
這是一個多模函數,有多個極小值點,但只有一個全局最小值3,極小值點為(0,-1)。
在測試中,將種群大小設置為500,每次運行代數為60代,每個測試函數運行測試50次。表1顯示了函數f1~f3運行50次的實驗結果,包括平均最優值、標準差和平均收斂代數。全局最優值為f1~f3理論最優值,平均最優值fmav按照公式(6)計算得到(其中fmi為第i次運用本算法求解f1~f3優化問題得到的最優解對應的適應度函數值),標準差為平均最優值與全局最優值之差,平均收斂代數為每次實驗找到最優解所需要的最少代數的平均值。
fmav=∑50i=1fmi/50,i=1,2,…,50(6)
表1 算法對3個測試函數50次實驗的結果
函數
全局最優值
平均最優值
標準差
平均收斂代數
f1
-186.7316
-186.7316
0
9
f2
-837.9658
-837.9658
0
12
f3
3.0000
3.0000
0
8
圖3~5分別顯示了運用本算法求解函數f1~f3優化問題所得到的最優解對應的適應度函數值隨進化代數變化曲線。
圖3 算法求解f1優化問題適應度函數值變化曲線
圖4 算法求解f2優化問題適應度函數值變化曲線
圖5 算法求解f3優化問題適應度函數值變化曲線
從表1和圖3~5可以看出,本文提出的算法在3個函數優化中取得了良好的效果,找到最優解的成功率高,收斂速度快。通過50次實驗結果可以看出,基于狀態空間模型的進化算法穩定性好,成功率高。
4 結 論
本文設計了一種基于離散系統狀態空間模型的進化算法,以基本進化算法的思想為基礎,借鑒矩陣理論和實數編碼方法,通過構造一個狀態進化矩陣,來實現種群的進化,提高了算法的可操作性和可靠性。通過對3個經典優化測試函數進行優化實驗,結果表明:本文提出的算法增強了防止陷入局部最優的能力,能夠較大地提高收斂速度和精度,而且穩定性能很好。
雖然算法的仿真結果是令人滿意的,但是由于實驗條件的局限性和實驗次數的有限性,算法收斂性和遍歷性還需要通過進一步的數學證明。如何構造更好的狀態進化矩陣,是需要進一步研究的問題。
參考文獻
[1] 劉鯖潔,陳桂明,劉小方. 基于矩陣編碼的遺傳算法研究[J].計算機工程:2011, 37(13):160-162.
[2] IRINA CIORNEI, ELIAS KYRIAKIDES. Hybrid Ant Colony-Genetic Algorithm (GAAPI) for Global Continuous Optimization [J]. Systems, Man, and Cybernetics, part B, 2012, 42(1), 34-245.
[3] 董麗麗,龔光紅,李妮,等.基于云模型的自適應并行模擬退火遺傳算法[J].北京航空航天大學學報:2011,37 (9):1132-1136.
[4] 劉正龍,楊艷梅.基于遺傳算法的數值優化約束問題的研究[J].計算機系統應用:2013,22(5):139-142.
[5] 王巍,趙文紅,王宇平.一種有效的解無約束全局優化的進化算法[J].控制理論與應用:2010,27 (5):570-574.
[6] 陳曉峰,楊廣明,黃明.一種實數編碼的量子差分進化算法[J].小型微型計算機系統:2013,34(5):1141-1146.
[7] YUSUKE T,YOSHIFUMIO,SHINJIW, et al. BinaryBased Topology Optimization of Magnetostatic Shielding by a Hybrid Evolutionary Algorithm Combining Genetic Algorithm and ExtendedCompact Genetic Algorithm [J]. Magnetics:2013,49 (5) :2093-2096.
[8] 王越,許全文,黃麗豐.基于改進遺傳算法的連續函數優化[J].重慶理工大學學報:2011,25(2):62-67.
[9] 闞超豪.多向學習自適應的粒子群算法[J].計算機工程與應用:2013,49(6):23-28.
[10]徐雪松,王四春.基于免疫量子遺傳算法的多峰函數尋優[J].計算機應用:2012,32(6):1674-1677.