?

遺傳算法在微動反演中的應用與研究

2015-12-30 09:19王鵬飛
科技視界 2015年18期
關鍵詞:微動算子遺傳算法

王鵬飛

(桂林電子科技大學信息與通信學院,廣西 桂林541004)

0 引言

微動指來自于地表和底下深處的隨機振動源引起的振幅非常小的地面微弱振動。包括人類等人工源引起的短周期震動和海浪及地球內部活動等自然力引起的長周期震動。

微動探測的主要方法有空間自相關法(SAC)[1]和頻率-波數法(FK)[2]兩種。本文研究的是基于空間自相關法的微動勘探反演算法中遺傳算法的應用于優化。

遺傳算法(Genetic Algorithms,簡稱GA)[3]是一種基于生物自然選擇與遺傳機理的隨機搜索與優化方法,是由美國Michigan大學的John Holland教授創建的。它來源于達爾文的進化論、魏茨曼的物種選擇學說和孟德爾的群體遺傳學說,其基本思想是模擬自然界遺傳機制和生物進化論而形成的一種過程搜索最優解的算法。它本身不僅具有極強的魯棒性,還隱含著并行性,同時還具有全局尋優能力。因此,從一定意義上說,遺傳算法是一種普遍適用于各種問題的簡單而有效的搜索方法。

1 遺傳算法優化研究

1.1 遺傳算法基本原理

基本遺傳算法有五大要素構成:參數的編碼方式、初始種群規模的設定、適應度函數的設計方法、各種遺傳算子的設計和控制參數的設定,他們組成了遺傳算法的核心內容。[4]

(1)編碼:遺傳算法不能直接處理問題空間的參數,必須把它們轉換成遺傳空間的由基因按一定結構組成的染色體或個體。這一轉換操作就叫做編碼。

(2)個體適應度:在遺傳算法中,搜索進化的過程是根據評估函數值來對每個個體進行優劣評估的,這個過程不需要其他外部信息作為參考。這里的評估函數值就是適應度。

(3)算子;遺傳操作中算子主要包括:選擇算子、交叉算子以及變異算子三種類型。

(4)控制參數:遺傳算法中有其運行的基本參數被稱作操作參數,在研究優化問題之前必須提前設定這些參數。主要的參數有4種:

N:種群規模,即種群中個體的數量

T:算法停止條件,即種群進化代數

Pc:交叉概率

Pm:變異概率

圖1 標準遺傳算法流程圖

遺傳算法實質上是一種以群體和遺傳操作為基礎進行繁衍、監測和評價的迭代算法。在搜索之前,將問題的解映射為一個解集空間,解集空間是由一定數量的二進制個體組成的種群,以這些代表問題假設解的種群開始,我們要解決的一個問題就是根據問題的目標函數構造一個適應度函數,以適應度函數為依據,對種群中的個體進行評估,從一大堆數據中尋找一個解。圖1為遺傳算法的流程圖。

1.2 遺傳算法優化研究

憑借遺傳算法具備的非線性全局優化的能力,它已經被廣發的應用到了諸多領域中,在微動面波反演的研究中也引入了此方法。但是在解決反演問題的過程中也暴露了一些不足之處,首先標準遺傳算法的計算過程中有早熟收斂[5]的現象,這一現象致使算法全局尋優的優良性能不能完全顯示出來,其次遺傳算法的收斂速度相比于其他傳統算法比較慢,效率低。因此,針對以上暴露的不足,本文從四個方面入手,提出了遺傳算法的優化策略,具體的策略實施過程如下:

(1)自適應函數的優化

在遺傳算法中目標函數通常會作為評估函數值即適應性函數,在遺傳進化中,超級個體可能會在群體中出現,就是適應值比群體平均值大很多的個體,如果根據適應值的比例選擇時,這類超級個體就會占有群體中的絕對比例,這樣算法在運算時就會過早的收斂于一個局部最優值,這就是所說的早熟現象。下面通過引進一種線性變換來使原有適應性函數得到改變,避免早熟收斂的發生。這里設f為已有的適應值函數,F為改變的適應值函數用線性組合F=af+b表示。并設定

公式(1)中k為一個固定的增量系數。

由上式得:

原有適應度經過線性的變換之后他們之間的差距得到了調整,群體內多樣性的個體得到了保證,而且這個方法簡便計算,容易實現。

(2)選擇策略的優化

利用最優保存和賭輪[6]選擇兩種方式相結合的策略作為選擇的方法。在群體中首先找到適應值最佳和最差的個體,把最差的個體用最佳個體替換,然后允許最佳的兩個個體不經過交叉編譯而進入下一代,剩下的個體按正常進行排列,最后再進行賭輪選擇,這樣群體中平均適應值不斷得到提高,而且還使最佳個體的適應值不再減小。

(3)變異策略的優化

在標準遺傳算法中,群體中單一性的產生有一部分原因是近親繁殖造成的,因此為了避免這類事件的發生,可以讓父母A,B多次交叉變異,在產生的不同的多個個體中篩選出最佳個體放入子代中,對上述步驟反復執行,直到子個體數量得到滿足。

(4)遺傳操作算子的優化

遺傳算法有收斂過早的缺點,這一缺點是由于同位基因數目不同概率不等,在進化中某些特定基因越來越少,造成基因缺失,致使收斂過早。針對這一現象,本文引入多元算子到遺傳算法中來。例如對二元字符串結構進行變異,通過同或異或的運算保留了特定基因的多樣性,極大地避免了收斂過早的問題。例如:

10011010 同或后 10111100

11011001 異或后 01000011

經過同或異或后兩種邏輯狀態必定互補。

根據以上優化策略優化后的遺傳算法執行順序如下:

①子群體的個數要首先確定,對子群體初始化,子群體每個的規模是N,進一步對重新分配的子群體確定進化代數;

②根據規則1,把各子群體的父代適應值求解;

③對各個子群進行選擇操作;

④獲取各子群體繁殖的下一代,變異的規則采用二元變異;

⑤查看終止條件是否滿足,如過滿足,就退出;

⑥如果進化代數滿足了重新分配子群體的數量,就開始對子群體重新分配;

⑦回到②。

1.3 實驗測試

遺傳算法的隨機優化計算的特點,使其受參數的影響很大,參數的不同會使算法對問題的計算產生不同的影響,恰當的參數可以加速算法早熟收斂,相反不合適的參數會致使遺傳算法收斂變慢,因此使得計算后無法尋得最優解。然而確定選取什么樣的參數目前還沒有有效的解決辦法。本節從兩個不同的方面對優化后的遺傳算法進行了測試,驗證優化后的效果和其對參數的敏感度。實驗所用函數為

遺傳算法對比實驗

將遺傳算法同優化后的遺傳算法進行對比。種群規模設為100,交叉概率0.72,變異概率0.15。實驗結果如下表。

表1 實驗結果

通過以上實驗,可以看出,優化后的遺傳算法增強了自身的尋優能力,減少了迭代次數,明顯改善了早熟收斂的情況,另外優化后的算法參數的選擇范圍擴大,參數的選擇對算法的影響減小了,使得算法能夠更方便的在實際中應用。

微動反演中遺傳算法的實際應用與優化。

選擇表2中的模型進行反演,理論數據根據knoppoff算法的速度遞增層模型正演計算得到理論頻散曲線。

層狀介質微動面波速度反演中反演參數是橫波速度VS以及厚度d??v波速度VP通過下面關于橫波速度VS與泊松比μ關系的公式計算:

密度ρ根據縱波速度和密度的統計關系得到。因此實際反演中只對各層的橫波速度和層厚度參數反演。因此,輸入參數為各層橫波速度和層厚度的上下限。 算法目標函數計算式為

式中Viobs是第i個頻點上觀測的微動面波速度,Vithe是每代在確定模型參數后,計算得到的同一頻點的微動面波速度值,N是頻點的個數,每次迭代時的每個個體是F,就是模型的參數。

反演結果(表2所示)就是獲得一組模型的參數,此組模型參數讓上式表述的目標數取值達到最小。所以,這里就是求解目標函數的最小值。從表2中可以看到優化后的遺傳算都各參數的反演結果的相對誤差均優于標準遺傳算法,各層的相對誤差均不超過10%。 結合實際,進行多次的試算,具體采用以下參數:種群大小為40-60個,遺傳代數為160代;交叉概率為Pc1=0.92,Pc2=0.75,Pc3=0.6,遺傳概率Pm1=0.1,Pm2=0.09,Pm3=0.01。

表2

由表2和圖2所示可以看出,優化的遺傳算法反演結果的相對誤差均低于標準遺傳算法。從圖3和4中可知,兩種方法一般在40-60代就得到最佳解,其中優化的遺傳算法反演1的收斂速度最快,約在第25代即獲得最佳解的。優化的算法運算速度比標準算法提升了2個數量級。

圖2 橫波速度反演結果對比

圖3 標準遺傳算法兩次反演的目標函數值隨進化代數的變化

圖4 優化的遺傳算法兩次反演的目標函數值隨進化代數的變化

2 小結

本文通過對適應值函數的改進和變異算子的引入,優化了遺傳算法,有效地抑制了遺傳算法收斂過快早熟的缺陷,并將優化后的遺傳算法應用與微動反演中,提高了反演精度。

[1]徐佩芬,李世豪,凌甦群,郭慧麗,田寶卿.利用SPAC法估算地殼S波速度結構[J].地球物理學報,2013,56(11):3846-3854.

[2]丁連靖,冉偉彥.天然源面波頻率-波數法的應用[J].物探與化探,2005.2:183-141.

[3]孫栩,王福林,文士發.遺傳算法的一種改進進化策略[J].數學的實踐與認識,2014(9).

[4]彌寶福.遺傳算法進化策略的改進研究[D].東北農業大學,2014.

[5]付旭輝,康玲.華中科技大學水電與數字化工程學院.遺傳算法的早熟問題探究[J].華中科技大學學報:自然科學版,2003,31(7):53-54.

[6]周濤.基于改進遺傳算法的TSP問題研究[J].微電子學與計算機,2006:104-106.

[7]周國法.具有空間自相關殘差的回歸模型及其應用[J].生物數學學報,1997,12(2):158-163.

[8]彭志勇,鄧世權.遺傳算法的研究及應用[J].計算機光盤軟件與應用,2013:109-110.

[9]宋建萍.函數優化的遺傳算法代碼實現[J].軟件導刊,2013,20(2):40-42.

[10]劉國華,包宏,李文超.用MATLAB實現遺傳算法程序[J].計算機應用研究,2001,18(8):80-82.

[11]蔣冬初,何飛,向繼文.遺傳算法求解函數優化問題的Matlab實現[J].吉首大學學報:自然科學版,2005,26(2).

[12]楊啟文,蔣靜坪,張國宏.遺傳算法優化速度的改進[J].軟件學報,2001,12(2):270-275.

[13]Deb K,Pratap A,Agarwal S,et al.A fast and elitist multiobjective genetic algorithm:NSGA-II[J].Evolutionary Computation,IEEE Transactions on,2002,6(2):182-197.

[14]Zhang W,Gen M,Jo J.Hybrid sampling strategy-based multiobjective evolutionary algorithm for process planning and scheduling problem[J].Journal of Intelligent Manufacturing,2014,25(5):881-897.

[15]Gen M,Lin L.Multiobjective evolutionary algorithm for manufacturing scheduling problems:state-of-the-art survey[J].Journal of Intelligent Manufacturing,2014,25(5):849-866.

猜你喜歡
微動算子遺傳算法
擬微分算子在Hp(ω)上的有界性
各向異性次Laplace算子和擬p-次Laplace算子的Picone恒等式及其應用
一類Markov模算子半群與相應的算子值Dirichlet型刻畫
基于RID序列的微動目標高分辨三維成像方法
基于稀疏時頻分解的空中目標微動特征分析
基于自適應遺傳算法的CSAMT一維反演
一種基于遺傳算法的聚類分析方法在DNA序列比較中的應用
基于遺傳算法和LS-SVM的財務危機預測
Roper-Suffridge延拓算子與Loewner鏈
基于改進的遺傳算法的模糊聚類算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合