劉恒洋,盧 玲,黃賢英
(重慶理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶400054)
預(yù)應(yīng)力二次張拉過程中產(chǎn)生的拐點(diǎn)數(shù)據(jù)在路橋施工中有著非常重要的作用,這些作用主要包括對(duì)預(yù)應(yīng)力器材的質(zhì)量檢測(cè)、自然災(zāi)害的動(dòng)態(tài)檢測(cè)以及工程施工質(zhì)量的驗(yàn)收等[1]。目前預(yù)應(yīng)力二次張拉拐點(diǎn)的識(shí)別方法包括手工識(shí)別和軟件自動(dòng)識(shí)別,手工識(shí)別不僅工作量大效率低(主要集中在根據(jù)測(cè)量數(shù)據(jù)繪制曲線過程上),而且拐點(diǎn)結(jié)果的正確與否極大地依賴于工作人員的工作經(jīng)驗(yàn)[2]。軟件自動(dòng)識(shí)別一般將拐點(diǎn)的識(shí)別過程分為數(shù)據(jù)預(yù)處理和拐點(diǎn)計(jì)算兩個(gè)階段,在數(shù)據(jù)預(yù)處理階段主要是過濾異常數(shù)據(jù)和去除測(cè)量過程中由于外界干擾導(dǎo)致的明顯的非線性數(shù)據(jù);計(jì)算拐點(diǎn)階段是拐點(diǎn)識(shí)別的關(guān)鍵過程,這個(gè)過程中一個(gè)比較主流的做法就是比較測(cè)量過程中的點(diǎn)跟第一個(gè)點(diǎn)組成的直線以及該點(diǎn)跟最后一個(gè)點(diǎn)組成的直線之間的斜率差,如果斜率差最大,則說明該點(diǎn)就是拐點(diǎn)。這種做法的缺點(diǎn)是隨著測(cè)量曲線的非線性坡度的增大,測(cè)量出的拐點(diǎn)位置跟實(shí)際拐點(diǎn)位置存在一定的差距。為了解決拐點(diǎn)計(jì)算過程中精度不夠的問題,本文將遺傳算法應(yīng)用到預(yù)應(yīng)力二次張拉拐點(diǎn)識(shí)別的過程中,以達(dá)到提高拐點(diǎn)識(shí)別精度的目的。
為了檢測(cè)鋼索質(zhì)量,或監(jiān)測(cè)工程狀況,在實(shí)際工程中,常常將鋼索進(jìn)行如圖1所示的錨固安裝。
在圖1中,先將鋼索一端固定在A點(diǎn),在施加指定張力F0使鋼索伸張后在B點(diǎn)通過夾持裝置固定,記AB段鋼索的彈性系數(shù)為k1。同時(shí)在B點(diǎn)外預(yù)留指定長(zhǎng)度L2的鋼索,以便后續(xù)進(jìn)行二次張拉。
圖1 錨索固定與張拉
在對(duì)C點(diǎn)進(jìn)行二次張拉時(shí),若施加的張力小于F0時(shí),僅BC段鋼索進(jìn)行張拉,原始長(zhǎng)度記為L(zhǎng)2,彈性系數(shù)記為k2。當(dāng)施加的張力大于F0時(shí),B點(diǎn)處的夾持裝置松動(dòng),AB段鋼索與BC段鋼索構(gòu)成整體同時(shí)進(jìn)行張拉,根據(jù)胡克定律的串聯(lián)公式,此時(shí)AC段鋼索的彈性系數(shù)為k1k2/(k1+k2),其張力-伸長(zhǎng)量關(guān)系如式(1)所示
圖2 理想二次張拉曲線及拐點(diǎn)
根據(jù)前面的闡述,可以將預(yù)應(yīng)力二次張拉的拐點(diǎn)定義為[3]:在向預(yù)應(yīng)力錨固系統(tǒng)逐漸施加張力過程中,兩段不同彈性系數(shù)張拉曲線之間的交界點(diǎn)。根據(jù)拐點(diǎn)的定義,可將拐點(diǎn)辨識(shí)的本質(zhì)描述為:找到兩條直線方程,使得這兩條直線的軌跡在測(cè)量范圍內(nèi)與實(shí)測(cè)數(shù)據(jù)的軌跡誤差最小,則這兩條直線的交點(diǎn)即為拐點(diǎn)。該問題的數(shù)學(xué)描述如下[4-6]:
搜索參數(shù):k1(直線方程1斜率)、k2(直線方程2斜率)、b1(直線方程1截距)、b2(直線方程2截距)、p(xG,yG)(兩直線預(yù)設(shè)交點(diǎn)坐標(biāo),即實(shí)測(cè)數(shù)據(jù)中的某一點(diǎn))。
使得實(shí)測(cè)數(shù)據(jù):D={d1,…,di,…,dn},其中 di=(fi,si)為實(shí)測(cè)數(shù)據(jù)點(diǎn),fi為實(shí)測(cè)張力值,,si為實(shí)測(cè)伸長(zhǎng)量。
與兩直線方程:y=k1x+b1,y=k2x+b2的離散采樣數(shù)據(jù)
的絕對(duì)誤差最小
則滿足此條件的p(xG,yG)為最優(yōu)拐點(diǎn),k1,k2為兩段不同張拉過程的彈性系數(shù)。
在利用遺傳算法進(jìn)行拐點(diǎn)的優(yōu)化搜索前,首先需要確定前面所總結(jié)的模型中的5個(gè)參數(shù)(k1,k2,b1,b2,p(xG,yG))的可能取值范圍[7]。即根據(jù)數(shù)據(jù)集D的幾何特征,計(jì)算出參數(shù)可能取值范圍的中心點(diǎn)idxo(用 下 標(biāo)idx 來 表 示 拐 點(diǎn) 位 置, 即 p(xG,yG)=didx(fidx,sidx)),其算法步驟如下[8]:
(2)從數(shù)據(jù)點(diǎn)d1(f1,s1)開始對(duì)數(shù)據(jù)集D進(jìn)行遍歷,記當(dāng)前數(shù)據(jù)點(diǎn)為di(fi,si)。
(3)計(jì)算候選參數(shù)中心點(diǎn)k1,k2,b1,b2,ek
(4) 若e′k>ek則,ek=e′k,idxo=i
(5)若已遍歷完De中所有數(shù)據(jù),則轉(zhuǎn)第6步,否則轉(zhuǎn)第2步。
在3.1節(jié)計(jì)算得到了優(yōu)化參數(shù)的可行取值范圍的中心點(diǎn),現(xiàn)以該中心點(diǎn)進(jìn)行擴(kuò)展得到可行區(qū)域如下
式中:α,β∈(0,1),γ ∈ [1,idxo]——搜索區(qū)域擴(kuò)展系數(shù),取值越大則搜索到全局最優(yōu)解的可能性就愈大,但所耗時(shí)間就越長(zhǎng),收斂速度也越慢;反之,取值越小則得到全局最優(yōu)解的可能性就越小,但收斂速度會(huì)更快,耗時(shí)更短。
式(4)中的5個(gè)待優(yōu)化參數(shù):k1,k2,b1,b2,idx分別為遺傳算法中的5個(gè)基因(gene),5個(gè)參數(shù)以實(shí)數(shù)編碼的方式組合構(gòu)成染色體(chromosome),如圖3所示。
圖3 染色體/個(gè)體組成
多個(gè)染色體構(gòu)成種群(population),如圖4所示。
圖4 種群構(gòu)成
而種群的從父代向子代的逐代進(jìn)化過程則構(gòu)成了遺傳算法的參數(shù)優(yōu)化過程,如圖5所示。
圖5 種群進(jìn)化過程
整個(gè)遺傳算法的程序流程圖如圖6所示,主要包括交叉、變異、選擇等操作,下面將對(duì)程序流程中的各個(gè)環(huán)節(jié)逐一闡述。
(1)初始化種群
采用統(tǒng)計(jì)學(xué)中的田口正交實(shí)驗(yàn)方法[9],進(jìn)行種群的初始化操作,以便保證所有的個(gè)體能均勻分布在式(4)所確定的可行解超空間中。本處水平數(shù)為10(levels,即基因的取值范圍被分為幾個(gè)等級(jí)),因素個(gè)數(shù)為5(factors,即基因個(gè)數(shù)或參數(shù)個(gè)數(shù)),則正交表記為L(zhǎng)100(10,5)。種群的初始化算法如式(5)所示
圖6 遺傳算法程序流程
式中:gij——種群中第j個(gè)染色體的第i個(gè)基因的取值,inf(gi)——第i個(gè)基因的取值下界,sup(gi)——第i個(gè)基因的取值上界,L100[i][j]——正交表的第j行i列個(gè)元素。
種群大小設(shè)定為100,即初始化生成的染色體個(gè)數(shù)為100,以后每次經(jīng)過進(jìn)化后生成的下一代種群染色體數(shù)也是100。
(2)計(jì)算適應(yīng)度
在遺傳算法中采用適應(yīng)度函數(shù)來計(jì)算個(gè)體(染色體)的適應(yīng)度值,從而評(píng)價(jià)個(gè)體的適應(yīng)性(優(yōu)劣程度),以便模擬 “優(yōu)勝劣汰”的自然進(jìn)化法則。本處所選取的適應(yīng)度函數(shù)如式(6)所示
(3)交 叉
交+叉環(huán)節(jié)包含兩個(gè)步驟:基于海明距離[10]的配對(duì)操作和可變精度的交叉操作。
基于海明距離的配對(duì)操作[11]:為避免近親繁殖,在進(jìn)行交叉操作前,先計(jì)算個(gè)體之間的海明距離,只有個(gè)體間距離大于給定值時(shí)才能進(jìn)行配對(duì)。兩個(gè)染色體(x={g1x,g2x,g3x,g4x,g5x},y={g1y,g2y,g3y,g4y,g5y})間 的 海 明距離定義如下
當(dāng)兩個(gè)個(gè)體間的海明距離大于等于2時(shí)才能進(jìn)行配對(duì)。
可變精度的交叉操作:兩個(gè)染色體(x={g1x,g2x,g3x,g4x,g5x},y={g1y,g2y,g3y,g4y,g5y})的可變精度交叉操作算法如下:
首先隨機(jī)生產(chǎn)交叉點(diǎn)位置:i=rand(1,5),i∈ [1,5]。
假設(shè)i=3交叉后的新個(gè)體如下
其中:g′3x=g3x+μ(g3y-g3x),g′3y=inf(g3)+μ(sup(g3)-inf(g3)),μ∈ {0.0,0.1,0.2,…,1.0}為隨機(jī)加權(quán)數(shù),inf(g3)表示基因g3的取值下界,sup(g3)表示基因g3的取值上界。為了避免由于基因的多次選擇而導(dǎo)致算法收斂減速,被多次選擇的基因的精度會(huì)逐次增加。
設(shè)定交叉率為0.8,即要進(jìn)行40次交叉配對(duì),生成80個(gè)新的染色體。
(4)變 異
為避免算法早熟收斂,算法中采用了管理學(xué)中的凸集理論—多點(diǎn)變異,即隨機(jī)選擇單個(gè)染色體的多個(gè)基因進(jìn)行凸組合變異,同時(shí)將兩點(diǎn)變異和多點(diǎn)點(diǎn)變異以概率的方式隨機(jī)進(jìn)行,這就極大地增強(qiáng)了變異環(huán)節(jié)的精細(xì)調(diào)節(jié)能力,若染色體x={g1x,g2x,g3x,g4x,g5x}的第2和第4個(gè)基因被選擇進(jìn)行變異,變異生成新的染色體x'={g1x,g′2x,g3x,g′4x,g5x},其中
其中,μ∈ {0.0,0.1,0.2,…,1.0}
(5)選 擇
采用輪盤賭的方式進(jìn)行選擇[12],讓適應(yīng)度較低的個(gè)體也有被選擇的機(jī)會(huì),以維護(hù)種群基因的多樣性。待選擇的范圍為父代的100個(gè)染色體和交叉操作生成的80個(gè)染色體,即從180個(gè)染色體中選擇出100個(gè)染色體作為下一代種群。其中這180個(gè)染色體的最高適應(yīng)度個(gè)體被無條件保留進(jìn)入下一代,即只需要選擇出99個(gè)染色體。算法如下:
生成隨機(jī)數(shù):rnd ∈(0.0,1.0),若rnd ≤P[i]則第i個(gè)染色體被選中,重復(fù)執(zhí)行該操作直到選中99個(gè)染色體。
(6)終止條件
經(jīng)過前面所采用的交叉、變異、選擇操作進(jìn)行逐代進(jìn)化,當(dāng)達(dá)到性能指標(biāo)(即兩直線方程軌跡與實(shí)測(cè)數(shù)據(jù)吻合度達(dá)到指定要求)或進(jìn)化代數(shù)達(dá)到指定值(200代)時(shí)退出遺傳算法。
根據(jù)前面對(duì)遺傳算法的應(yīng)用過程,本文采用C#語言編程實(shí)現(xiàn)了基于遺傳算法的拐點(diǎn)識(shí)別功能(如圖7所示)。
圖7 拐點(diǎn)識(shí)別曲線
圖7(a)中為通過傳統(tǒng)的拐點(diǎn)識(shí)別方法(比較測(cè)量過程中的點(diǎn)跟第一個(gè)點(diǎn)組成的直線以及該點(diǎn)跟最后一個(gè)點(diǎn)組成的直線之間的斜率差的方法)識(shí)別出來的拐點(diǎn)數(shù)據(jù)圖。圖7(b)中為通過本文中描述的遺傳算法計(jì)算得到的拐點(diǎn)圖,圖7(b)的數(shù)據(jù)表明,不論是從拐點(diǎn)數(shù)據(jù)還是擬合出來的直線,都比圖7(a)中的數(shù)據(jù)有所提高。因此,本文描述的將遺傳算法應(yīng)用到預(yù)應(yīng)力二次張拉拐點(diǎn)的識(shí)別過程中能夠提升顯著提升拐點(diǎn)識(shí)別的精度,提高工程施工質(zhì)量。
本文通過分析預(yù)應(yīng)力二次張拉的物理結(jié)構(gòu),建立了預(yù)應(yīng)力二次張拉拐點(diǎn)的數(shù)學(xué)模型;同時(shí)通過分析預(yù)應(yīng)力二次張拉拐點(diǎn)的定義,在拐點(diǎn)識(shí)別過程中引入了遺傳算法,并分別在遺傳算法的初始化、適應(yīng)度計(jì)算、交叉、變異和選擇過程中進(jìn)行優(yōu)化搜索。通過實(shí)驗(yàn)表明,跟傳統(tǒng)的拐點(diǎn)識(shí)別方法相比,通過遺傳算法進(jìn)行搜索后得到的兩條拐點(diǎn)直線,能夠與原來的測(cè)量曲線進(jìn)行很好的逼近,進(jìn)而大大提高了這兩條曲線的交點(diǎn)(即拐點(diǎn))的精度。
[1]SHAO Xudong,LI Xianchao,ZHOU Yadong.Application of twice-prestressed composite structure to high-speed railway bridges [J].Journal of Railway Science and Engineering,2006,3(6):3-5(in Chinese). [邵旭東,李顯潮,周亞棟.二次預(yù)應(yīng)力組合結(jié)構(gòu)在高速鐵路橋梁上的應(yīng)用研究 [J].鐵道科學(xué)與工程學(xué)報(bào),2006,3(6):3-5.]
[2]WU Xiaolu,XU Bin.Analyses of second tension steel strand vertical pre-stressed system [J].New Technologies and Products,2010,18(16):90-91(in Chinese).[吳小陸,許斌.淺析二次張拉鋼絞線豎向預(yù)應(yīng)力錨固系統(tǒng) [J].中國新技術(shù)新產(chǎn)品,2010,18(16):90-91.]
[3]CHEN Yu.The common errors in proof of sufficient conditions of judging inflection point [J].College Mathematics,2010,26(4):187-190(in Chinese).[陳玉.曲線拐點(diǎn)充分條件證明中的常見錯(cuò)誤 [J].大學(xué)數(shù)學(xué),2010,26(4):187-190.]
[4]CAI Z X,WANG Y.A multiobjective optimization-based evolutionary algorithm for constrained optimization [J].IEEE Trans on Evolutionary Computation,2006,10(6):658-675.
[5]WANG Y P,DANG C Y.An evolutionary algorithm for global optimization based on level-set evolution and Latin squares [J].IEEE Trans on Evolutionary Computation,2007,11(5):579-595.
[6]GUO Qingsheng,HUANG Yuanlin,ZHANG Liping.The method of curve bend recognition [J].Geomatics and Information Science of Wuhan University,2008,33(6):596-599(in Chinese). [郭慶勝,黃遠(yuǎn)林,章莉萍.曲線的彎曲識(shí)別方法研究 [J].武漢大學(xué)學(xué)報(bào)信息科學(xué)版,2008,33(6):596-599.]
[7]QANG Yanping,YUAN Jie,SU Xiangfang.Corner invariant and its application to pattern recognition [J].Journal of Image and Graphics,2006,4A(10):854-858(in Chinese).[王延平,袁杰,蘇祥芳.幾種拐點(diǎn)不變量及其在目標(biāo)識(shí)別中的應(yīng)用[J].中國圖像圖形學(xué)報(bào),2006,4A(10):854-858.]
[8]XU Jin,KE Yinglin,QU Weiwei.B-spline vurve approximation based on feature points automatic recognition [J].Journal of Mechanical Engineering,2009,45(11):212-216(in Chinese).[徐進(jìn),柯映林,曲嵬崴.基于特征點(diǎn)自動(dòng)識(shí)別的B樣條曲線逼近技術(shù) [J].機(jī)械工程學(xué)報(bào),2009,45(11):212-216.]
[9]JIANG Zhongyang,CAI Zixing,WANG Yong,Hybridself-adaptive orthogonal genetic algorithm for solving global optimization problems [J].Journal of Software,2010,21(6):1297-1302(in Chinese).[江中央,蔡自興,王勇.求解全局優(yōu)化問題的混合自適應(yīng)正交遺傳算法 [J].軟件學(xué)報(bào),2010,21(6):1297-1302.]
[10]TIAN Feng,YAO Aimin,SUN Xiaoping.Dual population genetic algorithm based on individual similarity [J].Computer Engineering and Design,2011,32(5):1789-1791(in Chinese).[田豐,姚愛民,孫小平等.基于個(gè)體相似度的雙種群遺傳算法 [J].計(jì)算機(jī)工程與設(shè)計(jì)2011,32(5):1789-1791.]
[11]ZHANG Lei.The influence of hamming distance parameter on genetic algorithm based on hamming distance [J].Journal of Beihua University,2010,11(3):286-288(in Chinese).[張雷.海明距離參數(shù)對(duì)基于海明距離遺傳算法的影響 [J].北華大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,11(3):286-288.]
[12]GU Feng,WU Yong.The improvement of genetic algorithm[J].Microcomputer Development,2006,13(6):80-86(in Chinese).[古峰,吳勇,唐俊.遺傳算法的改進(jìn) [J].微機(jī)發(fā)展,2006,13(6):80-86.]