王華俊,卿翠貴,姚文杰
(浙江省工程勘察院,浙江 寧波315012)
由于滑坡的危害大、治理難、費(fèi)用高等特點(diǎn),土坡穩(wěn)定分析成為一個(gè)非常重要的問題[1]。極限平衡法雖然不能考慮土體的應(yīng)力-應(yīng)變關(guān)系,但是由于極限平衡法在工程中長(zhǎng)期應(yīng)用,概念簡(jiǎn)單明確,各行業(yè)中均有大量的經(jīng)驗(yàn)積累,目前在工程界極限平衡法是邊坡穩(wěn)定性分析中最常用的方法[2]。極限平衡法中,確定最小安全系數(shù)以及對(duì)應(yīng)的滑裂面形狀是穩(wěn)定性分析中的關(guān)鍵工作。由于邊坡穩(wěn)定性安全系數(shù)求解涉及到復(fù)雜的邊坡形狀、土體材料參數(shù)和水文地質(zhì)環(huán)境,因此它的目標(biāo)函數(shù)是多峰的或者是很不規(guī)則的優(yōu)化問題,在搜索過程中很容易陷入局部最優(yōu)解[3]。遺傳算法是一種隨機(jī)搜索和優(yōu)化方法,適合求解非線性多極值問題,具有較強(qiáng)的全局搜索能力,因而被廣泛的應(yīng)用于邊坡穩(wěn)定性分析中[4]。
遺傳算法(Genetic Algorithm)是借鑒自然界生物進(jìn)化理論產(chǎn)生的優(yōu)化計(jì)算方法[5]。1975年約翰·霍蘭德首先在其論著[6]中提出遺傳算法的基本概念。在國內(nèi),肖專文和張奇志[7]最早將基本遺傳算法應(yīng)用于邊坡穩(wěn)定性分析,隨后很多學(xué)者對(duì)其進(jìn)行了改進(jìn)[8-10]。邊坡穩(wěn)定性這類工程尋優(yōu)問題,每個(gè)解向量好比一個(gè)染色體,而解向量中的每一個(gè)分量猶如染色體中的每個(gè)基因,在邊坡形狀和土體參數(shù)確定的情況下,邊坡安全系數(shù)完全由旋轉(zhuǎn)中心的橫坐標(biāo)x、旋轉(zhuǎn)中心縱坐標(biāo)y和旋轉(zhuǎn)半徑R這3個(gè)參數(shù)確定,可將x,y,R分別看作是染色體(x,y,R)的一個(gè)基因,解向量(x,y,R)對(duì)應(yīng)的安全系數(shù)Fs越小,認(rèn)為組解對(duì)這個(gè)尋優(yōu)問題的適應(yīng)性越好,給予這組解更大的概率進(jìn)入下一代,從而模擬自然選擇的過程。其計(jì)算流程如圖1所示。
圖1 遺傳算法計(jì)算流程
(1)初始化種群
遺傳算法在計(jì)算之前必須先產(chǎn)生一組初始種群(Initial Population),用于接下來的計(jì)算操作。一般來說初始種群是隨機(jī)產(chǎn)生的決策變量。
(2)選擇操作(Selection)
本文采用比例選擇方式,其特點(diǎn)是:各個(gè)個(gè)體被選中的概率與其適配度大小成正比[11]。也叫賭輪(Roulette Wheel)選擇,和賭博中的賭盤操作原理類似[12]。
(3)交叉操作(Crossover)
根據(jù)預(yù)先設(shè)定的雜交率Pc決定是否進(jìn)行基因交換以產(chǎn)生新的子代。本文采用單點(diǎn)交叉,首先產(chǎn)生一個(gè)在區(qū)間[0,1]上服從均勻分布的隨機(jī)數(shù),若此隨機(jī)數(shù)小于交叉率Pc,則進(jìn)行交叉操作,交叉后的子代基因按下面公式生產(chǎn)。
其中:t是進(jìn)化代數(shù),rand~U(0,1)
(4)變異操作(Mutation)
判斷是否變異和判斷是否雜交的過程一樣,即產(chǎn)生的隨機(jī)數(shù)若小于變異率Pm則進(jìn)行變異操作。變異機(jī)制是產(chǎn)生新個(gè)體的一種方式,避免了提早收斂、陷入局部解的困境,維持物種多樣性。
(5)適配度函數(shù)(Fitness Function)
適配度函數(shù)的作用是評(píng)價(jià)每一個(gè)染色體的好壞,從而對(duì)接下來模擬生物選擇競(jìng)爭(zhēng)提供參考。一般在遺傳算法中規(guī)定,適配度函數(shù)值大于等于零,且越大表示該決策向量越接近最優(yōu)解。
(6)編碼及編碼方式
遺傳算法運(yùn)算對(duì)象是符號(hào)串,因此必須把決策向量編譯成遺傳算法能夠進(jìn)行操作的信息,這個(gè)過程就是編碼(Code)。本文采用十進(jìn)制編碼。
(7)最優(yōu)保存策略
所謂最優(yōu)保存策略[13],有的文獻(xiàn)也將其稱為優(yōu)體克?。?4],即對(duì)適配度最大的若干個(gè)染色體不進(jìn)行雜交和變異,而是完整的復(fù)制到下一代,它避免了最優(yōu)染色體在雜交和變異的過程中丟失,從而使求得的最小安全系數(shù)不會(huì)隨著繁殖代數(shù)的增加出現(xiàn)變大的情況,保證進(jìn)化過程中不會(huì)出現(xiàn)返祖現(xiàn)象。
基本遺傳算法應(yīng)用于邊坡穩(wěn)定性問題中時(shí)存在很多缺陷。一方面,基本遺傳算法局部尋優(yōu)能力較差,對(duì)各種實(shí)際問題搜索空間大小變化適應(yīng)能力差[15],計(jì)算量大,基本遺傳算法搜尋到全局最優(yōu)解需要較大的進(jìn)化代數(shù)和花費(fèi)較長(zhǎng)的計(jì)算時(shí)間。另一方面,邊坡穩(wěn)定性安全系數(shù)求解涉及到復(fù)雜的邊坡形狀、復(fù)雜的土體材料參數(shù)和水文地質(zhì)環(huán)境。因此它的目標(biāo)函數(shù)是多峰的或者是很不規(guī)則的優(yōu)化問題,在搜索過程中很容易陷入局部最優(yōu)解,從而過早收斂。
邊坡穩(wěn)定性最小安全系數(shù)計(jì)算問題中以往對(duì)遺傳算法的改進(jìn)過程,雜交率和變異率是固定不變的,而雜交率和變異率對(duì)遺傳算法來說是兩個(gè)非常關(guān)鍵的運(yùn)行參數(shù),他們直接關(guān)系到遺傳算法的收斂性和運(yùn)算速度。如何確定最合理參數(shù)需要反復(fù)試驗(yàn),這是一件繁瑣的工作。本文采用動(dòng)態(tài)的雜交率和變異率來改進(jìn)遺傳算法在邊坡最小安全系數(shù)搜索的性能。本文認(rèn)為,交叉率和變異率不僅和選中雜交或變異的染色體的適配度在整個(gè)種群的染色體適配度水平有關(guān),還和其所在的進(jìn)化代數(shù)有關(guān)。交叉率或變異率和選中染色體的適配度有關(guān)的原因是:雜交率和變異率決定著種群中的染色體是否被破壞,如果雜交率較高,兩個(gè)被選中用來雜交的染色體被雜交的可能性就高,在同一個(gè)種群中,有的染色體的適配度高,我們希望其染色體盡量少遭到破壞,有的染色體適應(yīng)性不好,希望其通過雜交或變異改善其性能。因而,根據(jù)染色體的適配度在整個(gè)種群中適配度的水平來決定其雜交率和變異率是合理的做法。雜交率和變異率與個(gè)體所處的進(jìn)化階段的原因是:隨著進(jìn)化代數(shù)的增加,種群的平均適配度越來越高,種群的整體素質(zhì)越來越好,因而到進(jìn)化后期,應(yīng)該減小對(duì)優(yōu)秀個(gè)體的破壞,所以雜交率和變異率應(yīng)該越來越小以減小對(duì)后期優(yōu)秀染色體的破壞,從而加快收斂速度。
(1)雜交操作的改進(jìn)
本文對(duì)雜交率的動(dòng)態(tài)調(diào)整公式為:
其中:t是當(dāng)前進(jìn)化代數(shù)(i)是第t代第i組待雜交染色體的動(dòng)態(tài)雜交率是第t代整個(gè)種群的最大雜交率;是第t代整個(gè)種群的最小雜交率是第i組兩個(gè)選中待雜交染色體的適配度的較大值;fmax是整個(gè)種群的最大適配度;favg是整個(gè)種群適配度的平均值。式中,當(dāng)j=1時(shí)即t代整個(gè)種群的最大雜交率,當(dāng)j=2時(shí)即t代整個(gè)種群的最小雜交率即初代種群進(jìn)化時(shí)的最大雜交率是倒數(shù)第二代即第T-1代種群進(jìn)化時(shí)的最大雜交率。同理即初代種群進(jìn)化時(shí)的最小雜交率是倒數(shù)第二代即第T-1代種群進(jìn)化時(shí)的最小雜交率。定義為雜交率伸縮系數(shù)。雜交率的動(dòng)態(tài)調(diào)整圖形如圖2和圖3所示。
圖2 第t代種群動(dòng)態(tài)雜交率調(diào)整曲線
圖3 每代最大(最小)雜交率隨代數(shù)變化
(2)變異操作的改進(jìn)
本文提出動(dòng)態(tài)雜交率的公式為:
首先,本文采用十進(jìn)制編碼方式,將安全系數(shù)的n次方的倒數(shù)作為適配度值,采用最優(yōu)保存策略防止雜交和變異過程中最優(yōu)解被破壞,用C#語言編寫了改進(jìn)遺傳算法的程序。其次采用Fortran語言編寫了條分法邊坡穩(wěn)定性分析的程序。最后用C#語言編寫了邊坡參數(shù)和遺傳算法計(jì)算參數(shù)的輸入窗體和計(jì)算結(jié)果輸出窗體。采用的開發(fā)工具是基于.Net Framework平臺(tái)的VS2010。本程序的特點(diǎn)是應(yīng)用了面向?qū)ο蟮脑O(shè)計(jì)方法,遵循軟件工程中界面邏輯和業(yè)務(wù)邏輯分離的原則,采用了C#和Fortran混合編程方式,充分發(fā)揮C#語言開發(fā)界面上的優(yōu)勢(shì)和Fortran語言科學(xué)計(jì)算上的優(yōu)勢(shì)。
某山體由于開挖形成邊坡,巖土體主要分為3層,頂層為第四系殘坡積層,下面兩層依次是全風(fēng)化凝灰?guī)r和強(qiáng)風(fēng)化凝灰?guī)r。邊坡某剖面如圖4所示。
圖4 邊坡斷面示意圖(單位:m)
該邊坡主要土層參數(shù)如表1所示。
表1 主要土層的物理力學(xué)性質(zhì)參數(shù)
本文采用的安全系數(shù)計(jì)算方法是Bishop法,分別采用區(qū)格搜索法、基本遺傳算法和改進(jìn)遺傳算法搜索最危險(xiǎn)滑動(dòng)面,搜索范圍:X(m):45~60,Y(m):20~35,R(m):15~40。采用基本遺傳算法時(shí),設(shè)置種群尺寸M=100,最終進(jìn)化代數(shù)T=200,雜交率Pc=0.7,變異率Pm=0.01,采用最優(yōu)保存策略,精英染色體的個(gè)數(shù)為2個(gè)。采用改進(jìn)遺傳算法時(shí),設(shè)置種群尺寸M=100,繁殖代數(shù)T=200,雜交率Pc1=0.9,Pc2=0.5,雜交率伸縮系數(shù)α=0.6。變異率Pm1=0.1,Pm2=0.01,變異率伸縮系數(shù)β=0.6,采用最優(yōu)保存策略,精英染色體的個(gè)數(shù)為2個(gè)?;具z傳算法搜索時(shí)平均安全系數(shù)和最小安全系數(shù)隨進(jìn)化代數(shù)變化的圖形如圖5所示,改進(jìn)遺傳算法搜索時(shí)平均安全系數(shù)和最小安全系數(shù)隨進(jìn)化代數(shù)變化的圖形如圖6所示。兩種算法最小安全系數(shù)隨進(jìn)化代數(shù)的變化曲線如圖7所示。
圖5 基本遺傳算法安全系數(shù)隨進(jìn)化代數(shù)變化曲線
圖6 改進(jìn)遺傳算法安全系數(shù)隨進(jìn)化代數(shù)變化曲線
圖7 兩種遺傳算法最小安全系數(shù)隨進(jìn)化代數(shù)變化對(duì)比
基本遺傳算法搜索到的最小安全系數(shù)是1.130,改進(jìn)遺傳算法搜索到的最小安全系數(shù)是1.084。而采用Geo-Slope軟件計(jì)算的傳統(tǒng)區(qū)格搜索法搜索到的最小安全系數(shù)是1.281??梢钥闯霾捎眠z傳算法相比傳統(tǒng)的區(qū)格搜索法能夠搜索到更小的安全系數(shù),而改進(jìn)后的遺傳算法搜索到的安全系數(shù)比基本遺傳算法更小。
(1)遺傳算法能有效的克服傳統(tǒng)方法搜索最小安全系數(shù)可能陷入局部極值的缺陷,在邊坡最小安全系數(shù)搜索中相比傳統(tǒng)的區(qū)格搜索方法具有更好的搜索效果。
(2)改進(jìn)后的遺傳算法在邊坡最危險(xiǎn)滑動(dòng)面搜索中具有更好的性能,有效改善了基本遺傳算法易于陷入早熟的缺點(diǎn),具有更強(qiáng)的全局搜索能力和收斂能力。
[1]楊天鴻,張鋒春,于慶磊,等.露天礦高陡邊坡穩(wěn)定性研究現(xiàn)狀及發(fā)展趨勢(shì)[J].巖土力學(xué),2011,32(5):1437-1451.
[2]朱大勇,盧坤林,臺(tái)佳佳,等.基于數(shù)值應(yīng)力場(chǎng)的極限平衡法及其工程應(yīng)用[J].巖石力學(xué)與工程學(xué)報(bào),2009,28(10):969-975.
[3]萬 文,曹 平,馮 濤,等.一種自由搜索邊坡最危險(xiǎn)滑動(dòng)面的新方法[J].中南大學(xué)學(xué)報(bào):自然科學(xué)版,2006,(4):810-814.
[4]李南生,唐 博,談風(fēng)婕,等.基于統(tǒng)一強(qiáng)度理論的土石壩邊坡穩(wěn)定分析遺傳算法[J].巖土力學(xué),2013,(1):243-249.
[5]韓瑞鋒.遺傳算法原理與應(yīng)用實(shí)例[M].北京:兵器工業(yè)出版社,2010.
[6]Holland J H.Adaptation in natural and artificial systems:An introductory analysis with applications to biology,control,and artificial intelligence[M].U Michigan Press,1975.
[7]肖專文,張奇志,梁 力,等.遺傳進(jìn)化算法在邊坡穩(wěn)定性分析中的應(yīng)用[J].巖土工程學(xué)報(bào),1998,(1):44-46.
[8]金菊良,丁 晶,魏一鳴.加速遺傳算法在地下水位動(dòng)態(tài)分析中的應(yīng)用[J].水文地質(zhì)工程地質(zhì),1999,(5):6-9.
[9]豐土根,劉漢龍,高玉峰,等.加速遺傳算法在邊坡抗震穩(wěn)定性分析中的應(yīng)用[J].水利學(xué)報(bào),2002,(9):89-93.
[10]李延梅.一種改進(jìn)的遺傳算法及應(yīng)用[D].華南理工大學(xué),2012.
[11]闕金生,陳劍平,王 清,等.遺傳算法在土坡穩(wěn)定性分析中的應(yīng)用[J].巖土力學(xué),2008,29(2):415-419.
[12]解可新,韓 健,林友聯(lián).最優(yōu)化方法[M].天津:天津大學(xué)出版社,2004.
[13]畢惟紅,任紅民,吳慶標(biāo).一種新的遺傳算法最優(yōu)保存策略[J].浙江大學(xué)學(xué)報(bào):理學(xué)版,2006,33(1):32-35.
[14]何朋朋,姚磊華,湯榮貴.基于改進(jìn)的遺傳算法邊坡穩(wěn)定性分析方法及其應(yīng)用[J].地質(zhì)災(zāi)害與環(huán)境保護(hù),2007,18(1):100-104.
[15]熊偉清,魏 平,趙杰煜.遺傳算法的早熟現(xiàn)象研究[J].計(jì)算機(jī)應(yīng)用研究,2001,18(9):12-14.