綜合性遺傳算法用于水質(zhì)模型參數(shù)估值
李海英1,秦肖生2
(1.中南大學(xué)資源環(huán)境建筑工程學(xué)院,湖南長沙 410083;2.湖南大學(xué)環(huán)境工程系,湖南長沙 410082)
摘 要:將一種具有更高收斂速度、更少迭代次數(shù)的綜合性遺傳算法應(yīng)用于水環(huán)境模型參數(shù)估值之中,通過與簡單遺傳算法計(jì)算結(jié)果的對比驗(yàn)證了新方法的有效性。
關(guān)鍵詞: 遺傳算法;優(yōu)化;水質(zhì)模型;參數(shù)估值
中圖分類號:TU991.21
文獻(xiàn)標(biāo)識碼:B
文章編號:1000-4602(2002)05-0028-03
遺傳算法(SGA)應(yīng)用于環(huán)境科學(xué)領(lǐng)域的研究主要集中在對各種非線性水質(zhì)模型的參數(shù)估計(jì)[1]、水質(zhì)及水污染非線性規(guī)劃的求解[2]等,但簡單的遺傳算法在求解中存在不少問題[3],尤其對類似水質(zhì)非線性規(guī)劃等復(fù)雜的多變量優(yōu)化問題則效率并不高,有時(shí)并不收斂或者出現(xiàn)“早熟現(xiàn)象”[4],故提出一種綜合性遺傳算法(MAGA)。
1 遺傳算法和綜合遺傳算法
在利用遺傳算法求解問題時(shí),問題的每個(gè)可能的解都被編碼成一個(gè)“染色體”,即若干個(gè)體構(gòu)成了群體(所有可能解)。算法開始時(shí)總是隨機(jī)地產(chǎn)生一些個(gè)體(即初始解),根據(jù)預(yù)定的 目標(biāo)函數(shù)對每個(gè)個(gè)體進(jìn)行評價(jià)后得出一個(gè)適應(yīng)度值;基于此適應(yīng)度值選擇個(gè)體用來復(fù)制下一代,選擇操作體現(xiàn)了“適者”生存的原理,“好”的個(gè)體被復(fù)制,“壞”的則被淘汰;然后選擇出來的個(gè)體經(jīng)交叉和變異進(jìn)行再組合生成新一代,這一群新個(gè)體由于繼承了上一代的一些優(yōu)良性狀,因而在性能上要優(yōu)于上一代,這樣逐步朝著更優(yōu)解方向進(jìn)化5]。基本流程見圖1。
盡管傳統(tǒng)遺傳算法可以找到全局最優(yōu),但在求解許多實(shí)際問題時(shí)其收斂速度還不盡人意,且操作參數(shù)的選取對結(jié)果影響巨大,故許多學(xué)者對簡單的遺傳算法進(jìn)行了改進(jìn)[6、7],在此提出一種效率較高的綜合遺傳算法。
?、?選擇操作的改進(jìn)
利用基于馬爾科夫鏈的定量的數(shù)學(xué)證明認(rèn)為,簡單的遺傳算法不是全局收斂的,而帶有最優(yōu)個(gè)體保留的遺傳算法則是全局收斂的[6],故在選擇操作中采用杰出個(gè)體保護(hù)策略。?
根據(jù)目標(biāo)函數(shù)值決定將被復(fù)制的數(shù)字串,設(shè)種群中有N個(gè)個(gè)體,將這N個(gè)個(gè)體解碼得N個(gè)適應(yīng)性函數(shù)值fi(i=1,2,3,…,N),按下述步驟復(fù)制:
a.令P=隨機(jī)數(shù)×∑fi?
則復(fù)制第k個(gè)數(shù)字串。
將N個(gè)個(gè)體f值先按從大到小的順序排列,復(fù)制出N/2個(gè)個(gè)體到匹配池中等待交叉操作,將選出的N/2個(gè)個(gè)體進(jìn)行交叉操作后放回到匹配池中,頂替排在后面的N/2個(gè)個(gè)體(即將排在后面的N/2個(gè)個(gè)體清除掉)。對匹配池中的N個(gè)個(gè)體重新按大到小的順序排列,采用杰出個(gè)體保護(hù)策略,即將父代中最優(yōu)個(gè)體放回到匹配池中頂替重新排列后的最后一個(gè)個(gè)體以保持種群中優(yōu)秀個(gè)體的存在。
?、?適應(yīng)值函數(shù)調(diào)整?
在遺傳進(jìn)化初期,通常會出現(xiàn)一些超常的個(gè)體,為避免“早熟現(xiàn)象”,應(yīng)將適應(yīng)函數(shù)值進(jìn)行適當(dāng)調(diào)整以降低選擇強(qiáng)度,在此采用Paul L.Stoffa提出的模擬退火法對適應(yīng)值函數(shù)進(jìn)行拉伸[7]:
式中 ?fi——第i個(gè)個(gè)體適合度?
?N——種群個(gè)體總數(shù)?
?g——遺傳代數(shù)序號?
?T——溫度?
?T0——初始溫度
從式(1)、(2)可以看出,在溫度高時(shí)(即進(jìn)化前期),適合度相近的個(gè)體產(chǎn)生后代的概率相近,而當(dāng)溫度不斷下降后,拉伸作用加強(qiáng)使得適合度相近的個(gè)體適合度差異放大,從而使優(yōu)秀的個(gè)體優(yōu)勢更明顯。
?、?交叉操作的改進(jìn)?
以單點(diǎn)交叉、兩點(diǎn)交叉和交叉位置的非等概率選取相結(jié)合作為交叉操作。當(dāng)染色體位串長度較短時(shí),可采用整串的兩點(diǎn)交叉操作;而當(dāng)染色體位串長度較長時(shí),特別是子串位數(shù)較多時(shí)可采用各個(gè)子串分別進(jìn)行單點(diǎn)交叉操作,并引進(jìn)交叉位置的非等概率選取?! 、?自適應(yīng)調(diào)整Pc和Pm
在簡單遺傳算法中,交換概率Pc和變異概率Pm一般取為恒定值,在進(jìn)行復(fù)雜多變量優(yōu)化問題時(shí),效率并不高,主要是因?yàn)镻c越大個(gè)體被破壞的可能性就會增加,使得具有高適應(yīng)值的個(gè)體結(jié)構(gòu)很快被破壞,Pc過小會使搜索緩慢而停滯不前;Pm過大遺傳算法就變成了純粹的隨機(jī)搜索算法,Pm過小又不易產(chǎn)生新的個(gè)體,因此如何選擇Pc和Pm是保證算法成功的關(guān)鍵。
有學(xué)者提出Pc和Pm隨適應(yīng)度值自動改變的方法。對于高于平均適應(yīng)值 的解,令Pc和Pm取值小一些,使解受破壞的可能性小,而對低于平均適應(yīng)值的解,令Pc和Pm取值大一些以防止遺傳算法陷入局部解。因此按參考文獻(xiàn)[8]提出的方法進(jìn)行調(diào)整:
式中 ?Pc1=0.9,Pc2=0.7,Pm1=0.01,Pm2=0.001。?
⑤ 變量區(qū)間優(yōu)化(動態(tài)變量編碼)?
一般來說,自變量參數(shù)(即所求未知參數(shù))的范圍越小搜索的速度就越快,也就更加容易確定最優(yōu)解。設(shè)新求出的優(yōu)化變量值為?x′,將-|x′|以及|x′|值作為下一次x求解的取值區(qū)間的上下限,重新進(jìn)行計(jì)算。?
?、?終止條件的選擇
經(jīng)典的方法是固定遺傳代數(shù),到達(dá)后即終止,本文采用改進(jìn)的方法,即根據(jù)連續(xù)幾代個(gè)體平均適合度不變(其差小于某個(gè)極小的閾值)作為終止的條件。
2 實(shí)例驗(yàn)證
利用文獻(xiàn)[9]中水質(zhì)模型的參數(shù)估值一實(shí)例來比較綜合遺傳算法與簡單遺傳算法優(yōu)化性能的不同。
某河流各斷面溶解氧實(shí)測值如表1所示。
水質(zhì)參數(shù)為:飽和溶解氧濃度Cs=10mg/L,初始段面濃度C0=Cs,初始斷面BOD濃度L0=20mg/L,流速u=4km/h要求估計(jì)BOD衰減系數(shù)K1、大氣復(fù)氧系數(shù)K2,使得下式的優(yōu)化準(zhǔn)則函數(shù)取得極小值:?
為運(yùn)用綜合遺傳算法,參數(shù)設(shè)定如下[7]:
串長L=20;?
種群個(gè)數(shù)N=50;?
初始溫度T0=50 ℃;
簡單遺傳算法Pc=0.6,Pm=0.003;
綜合遺傳算法Pc1=0.8,Pc2=0.5,Pm1=0.005,Pm2=0.001。
文獻(xiàn)[9]計(jì)算結(jié)果為Fmin=0.49,K1=0.056h-1,K2=0.209 5h-1,本題將適應(yīng)值函數(shù)的平均值不再變化作為算法的收斂判據(jù)。兩種算法的計(jì)算 結(jié)果見表2,收斂率與遺傳代數(shù)的關(guān)系曲線見圖2。
由圖2可見,經(jīng)過25次迭代MAGA的收斂率達(dá)到100%,而SGA僅為40%,可見綜合遺傳算法既發(fā)揮了最優(yōu)個(gè)體保護(hù)的優(yōu)勢,又克服了異常個(gè)體充斥群體的弊端,同時(shí)還進(jìn)行了交換變異概率的自適應(yīng)調(diào)整,收斂效率要高得多。另外為驗(yàn)證綜合遺傳算法的準(zhǔn)確性,還與文獻(xiàn)[6]中梯度法的計(jì)算結(jié)果進(jìn)行了對比(見表3)。
從表3看出MAGA算法的精度非常高。
3 結(jié)論
綜合性遺傳算法在交叉、變異、適應(yīng)值函數(shù)等方面都對簡單遺傳算法的相關(guān)操作進(jìn)行了改進(jìn),具有精度更高、收斂更快的特點(diǎn)。在水環(huán)境模型參數(shù)估值的應(yīng)用實(shí)例中,其優(yōu)勢得到了驗(yàn)證。
參考文獻(xiàn):
?。?]席裕賡.遺傳算法綜述[J].控制理論與應(yīng)用,1996,13(6):697-708.
?。?]金菊良,楊曉華.非線性環(huán)境模型優(yōu)化的一種數(shù)值方法[J].環(huán)境科學(xué)進(jìn)展,1997,12(增刊): 108-112.
?。?]Dewdney K A.Exploring the field of genetic algorithms in primordial computer sea full of flibs[J].Scientific American,1985,253(5):21-32.
?。?]樊會元,王尚錦.遺傳算法引入進(jìn)化方向算子的一個(gè)改進(jìn)及應(yīng)用[J].西安交通大學(xué)學(xué)報(bào),19 99,33(5):45-48.
?。?]王慧,劉寶坤.一種改進(jìn)的遺傳算法及應(yīng)用[J].天津理工學(xué)院學(xué)報(bào),1998,14(4):62-66.
?。?]段玉倩,賀家李.遺傳算法及其改進(jìn)[J].電力系統(tǒng)及其自動化學(xué)報(bào),1998,10(1):39-51.
?。?]丁承民, 張傳生,等.遺傳算法縱橫談[J].信息與控制,1997,26(1):40-48.
[8]Srinivas M,Patnaik L M.Adaptive probability of crossover and mutation in genetic algorithms[J].IEEE Trans on SMC,1994,24(4):656-667.
?。?]程聲通,陳毓齡.環(huán)境系統(tǒng)分析[M].北京:高等教育出版社,1996.
電 話:(0731)8830832(H)?
收稿日期:2001-09-28
論文搜索
月熱點(diǎn)論文
論文投稿
很多時(shí)候您的文章總是無緣變成鉛字。研究做到關(guān)鍵時(shí),試驗(yàn)有了起色時(shí),是不是想和同行探討一下,工作中有了心得,您是不是很想與人分享,那么不要只是默默工作了,寫下來吧!投稿時(shí),請以附件形式發(fā)至 paper@h2o-china.com ,請注明論文投稿。一旦采用,我們會為您增加100枚金幣。