姜斌雄
(1 長沙理工大學 長沙市 410000; 2 常德市水利水電勘測設(shè)計院 常德市 415000)
目前,常用的大壩變形模型有統(tǒng)計模型、確定性模型和混合模型,這些模型或者為經(jīng)驗模型,或者對大壩的物理力學性質(zhì)進行了簡化[1],加之隨機因素和時效因素的影響,用上述模型對監(jiān)測數(shù)據(jù)進行擬合,其精度一般不是很高。
20 世紀80年代以來,人工神經(jīng)網(wǎng)絡(luò)技術(shù)因其強大的自我學習修正誤差的能力以及能夠逼近任何非線性系統(tǒng)的特點,在水利水電工程的眾多領(lǐng)域得到了廣泛的應用[2]。楊杰等[3]以福建水口混凝土重力壩變形監(jiān)測為例,利用BP 神經(jīng)網(wǎng)絡(luò)建立的模型對壩頂垂直位移進行了預報;吳云芳等[4]對大壩神經(jīng)網(wǎng)絡(luò)模型和大壩統(tǒng)計回歸預報模型進行了比較,其結(jié)果表明BP 神經(jīng)網(wǎng)絡(luò)模型在大壩變形監(jiān)測預報方面優(yōu)于回歸預報模型。然而,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)存在學習速度慢,易于收斂到局部最優(yōu)點,以及網(wǎng)絡(luò)規(guī)模和拓撲結(jié)構(gòu)參數(shù)取值的不確定性等問題,常常采用經(jīng)驗、試算等手段,因此其精度和速度受到了較大的限制[5]。
遺傳算法作為一種新的全局優(yōu)化搜索方法,具有通用簡單、魯棒性強、適于并行處理的優(yōu)點,尤其適用于處理傳統(tǒng)搜索方法難以解決的復雜和非線性優(yōu)化問題。文中引入遺傳算法,對BP 神經(jīng)網(wǎng)絡(luò)進行設(shè)計和訓練,以提高和拓寬BP 神經(jīng)網(wǎng)絡(luò)的學習速度和適用性,從而快速合理地建立大壩變形監(jiān)控神經(jīng)網(wǎng)絡(luò)模型。
遺傳算法(Genetic Algorithm,GA)是借鑒生物進化過程中的遺傳規(guī)律而產(chǎn)生的一種優(yōu)化搜索技術(shù)[6],它通過遺傳操作不斷地進行迭代計算,從而逐步逼近問題的最優(yōu)解[7]。遺傳算法以群體中的所有個體為對象,對這些個體進行選擇、交叉和變異,根據(jù)個體的適應度值,對個體進行“優(yōu)勝劣汰”,以保證種群的優(yōu)越性和先進性。遺傳算法中包含如下基本要素:
(1)參數(shù)編碼。遺傳算法的關(guān)鍵部分是對參數(shù)進行編碼,即將問題的解空間表示成編碼空間的染色體,編碼方式常用的有二進制編碼、十進制編碼、浮點數(shù)編碼等。
(2)初始群體生成。由若干初始解組成了遺傳算法的初始群體。
(3)適應度評價。遺傳算法在搜索進化過程中需要判斷個體優(yōu)良與否,該依據(jù)即為評價函數(shù)值(適應度),通過適應度對個體進行“優(yōu)勝劣汰”。
(4)選擇。選擇操作是指在群體中選擇生命力強的個體產(chǎn)生新的群體的過程。選擇操作的用途是用來確定重組或交叉的個體,目的是保證優(yōu)秀的父代基因傳給下一代。
(5)交叉。交叉操作是指隨機選出兩個染色體,按某種方式相互交換其部分基因,從而形成兩個具有兩個父代特征的新的個體。
(6)變異。變異操作是指隨機選擇個體染色體,將染色體編碼串中某些基因值用其他等位基因來代替,從而產(chǎn)生新個體。變異操作主要有兩個目的:一是增強遺傳算法的局部搜索能力;二是挖掘種群的多樣性,防止陷入局部最優(yōu)解。
BP 神經(jīng)網(wǎng)絡(luò)是一種前饋網(wǎng)絡(luò),采用誤差反向傳播進行自我學習和誤差修正。網(wǎng)絡(luò)的組成部分分為輸入層、隱含層和輸出層。輸入層和輸出層各自只包含一層,隱含層可以包含一層或多層。通過基本理論可以得到證明:一個三層的神經(jīng)網(wǎng)絡(luò)模型能夠以任意精度實現(xiàn)任意連續(xù)函數(shù)的映射[8]。網(wǎng)絡(luò)中不同層之間的神經(jīng)元的拓撲結(jié)構(gòu)通過網(wǎng)絡(luò)權(quán)(闕)函數(shù)相互連接,層內(nèi)的神經(jīng)元沒有連接,其拓撲結(jié)構(gòu)如圖1 所示。
圖1 BP 神經(jīng)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)
基于圖1 所示的BP 神經(jīng)網(wǎng)絡(luò)構(gòu)建拱壩變形模型,輸入量選擇對壩體位移影響顯著的因素,比如上游水位1~4 次方、溫度(水溫,大氣溫度等)和時效等因素,影響因子的個數(shù)即為輸入層神經(jīng)元個數(shù)N1。輸出量為壩體位移的預測值,其個數(shù)即為輸出層神經(jīng)元個數(shù)N2??梢愿鶕?jù)經(jīng)驗采用不同的數(shù)值進行網(wǎng)絡(luò)仿真實驗,從而確定隱含層神經(jīng)元個數(shù)和學習速率,并構(gòu)建大壩變形監(jiān)控的BP 預報模型。
構(gòu)建大壩變形監(jiān)控的BP 預報模型是一個學習過程,該學習過程由兩個過程組成:監(jiān)測信號的正向傳播與位移誤差反向傳播。進行正向傳播時,輸入樣本通過輸入層,經(jīng)過隱含層處理之后到達輸出層。如果實測位移值和輸出層輸出的位移值不相符,則轉(zhuǎn)入誤差反向傳播過程。所謂的誤差反向傳播是指通過隱含層以某種形式向輸入層反傳輸出誤差,該誤差由處理層的各個單元分攤,根據(jù)各單元分攤的誤差的大小對網(wǎng)絡(luò)權(quán)(闕)值進行修正。BP神經(jīng)網(wǎng)絡(luò)的學習過程即為不斷的進行監(jiān)測信號的正向傳播和位移誤差反向傳播,當達到網(wǎng)絡(luò)訓練次數(shù)的上限值或輸出的位移誤差達到允許值時終止學習。
(1)選擇水位、溫度和時效為模型決策變量。
(2)對輸入數(shù)據(jù)和輸出數(shù)據(jù)進行數(shù)據(jù)歸一化處理。
(3)確定遺傳算法中設(shè)計變量的編碼方式和遺傳算法中的適應度函數(shù)。設(shè)計變量采用浮點編碼,目標函數(shù)為:
式中 yi(i=1,2,…,m)——實際結(jié)果;
ymi——期望結(jié)果。
個體適應度函數(shù)為:
(4)建立BP 神經(jīng)網(wǎng)絡(luò),并設(shè)置訓練參數(shù)(包括最大訓練次數(shù)、訓練要求精度、學習速率、限時訓練迭代過程等)。
(5)確定算法中的控制參數(shù)和運行參數(shù):群體大小M、個體數(shù)量N、進化中止的代數(shù)T。
(6)初始群體的產(chǎn)生。在定義域內(nèi),對每個個體的決策變量進行隨機取值。
(7)調(diào)用Matlab 自帶Gaot 工具箱進行遺傳算法操作。
(8)選取隱含層神經(jīng)元個數(shù),進行網(wǎng)格訓練,計算最優(yōu)的權(quán)值和閾值。
(9)用最優(yōu)的權(quán)值和閾值進行新的網(wǎng)格訓練,得到最優(yōu)網(wǎng)格。
(10)建立基于遺傳算法優(yōu)化的BP 神經(jīng)網(wǎng)絡(luò)的拱壩變形模型(GA-BP),輸出結(jié)果。
(11)用遺傳算法優(yōu)化后的BP 神經(jīng)網(wǎng)絡(luò)對預報輸入數(shù)據(jù)進行仿真預報。
某水電站位于云南省西部南澗縣與鳳慶縣交界的瀾滄江中游河段,在干流河段與支流黑惠江交匯處下游1.5 km 處,系瀾滄江中下游河段規(guī)劃8個梯級中的第二級,是瀾滄江中下游河段的龍頭水庫。工程以發(fā)電為主兼有防洪等綜合利用效益,水庫具有不完全多年調(diào)節(jié)能力。本工程屬大(Ⅱ)型一等工程,永久性主要水工建筑物為1 級建筑物。水庫正常蓄水位1 240 m,設(shè)計洪水位1 238.10 m,校核洪水位1 243.00 m,死水位1 166.00 m。
(1)輸入神經(jīng)元:水壓因子取4 項,即H-H0、(H-H0)2、(H-H0)3、(H-H0)4; 溫度因子取兩項,即; 時效因子選擇兩項,即θ-θ0、1nθ-1nθ0,共8 個決策變量。
式中 H、H0——為監(jiān)測日、始測日對應的上游水頭;
t——為監(jiān)測日到始監(jiān)測日的累計天數(shù);
t0——為建模資料系列第一個監(jiān)測日到始測日的累計天數(shù);
θ——監(jiān)測日至始測日的累計天數(shù)t 除以100;
θ0——建模資料系列第一個測值日到始測日的累計天數(shù)除以100。
(2)標準化訓練樣本數(shù)據(jù),設(shè)Xmax、Xmin為每組樣本數(shù)據(jù)的最大值與最小值,則相應的標準化后變量為:
這樣樣本數(shù)據(jù)將在[0.1,0.9]之間,可以大大加快學習速度,而數(shù)據(jù)間的聯(lián)系并不減少。
(3)建立BP 神經(jīng)網(wǎng)絡(luò):網(wǎng)絡(luò)為三層網(wǎng)絡(luò),其中輸入層8 個神經(jīng)元,輸出層1 個神經(jīng)元,隱含層s 個神經(jīng)元,s 取14,15,16,17,18,19 進行訓練。
(4)GA 算法的染色體的基因總長度為(10*s+1)個,種群有150 個個體,最大進化代數(shù)取為200代,調(diào)用Matlab 自帶GAOT 工具箱進行遺傳操作。
(5)進行網(wǎng)格訓練,得隱含層最優(yōu)神經(jīng)元個數(shù)為16 個。計算最優(yōu)的權(quán)值和閾值,利用新的權(quán)值和閾值進行訓練,得到基于遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的拱壩變形模型。
(6)網(wǎng)絡(luò)訓練結(jié)果繪制擬合曲線如圖2 所示,擬合均方差s=0.491 mm,R=0.99,精度較高,可用作某拱壩22 壩段壩頂水平徑向變形預報。
圖2 壩頂徑向水平位移GA-BP 模型實測~擬合~殘差過程線
(7)由GA-BP 模型得到的某拱壩22#拱冠梁壩頂徑向水平位移實測、擬合、殘差線過程線見圖3。
由圖2、圖3 可以看出,GA-BP 模型的擬合值與實測值擬合程度較統(tǒng)計模型要高,這是因為遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)作為一種全局優(yōu)化搜索的方法,具有簡單通用、魯棒性強、適于并行處理的優(yōu)點,尤其適用于處理傳統(tǒng)搜索方法難以解決的復雜和非線性優(yōu)化問題[9-10]。經(jīng)過實例分析證明,用遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)建立的GA-BP 模型較傳統(tǒng)模型具有更好的擬合效果和預報能力。
圖3 壩頂徑向水平位移統(tǒng)計模型實測~擬合~殘差過程線
GA-BP 神經(jīng)網(wǎng)絡(luò)的預報相當于輸入的決策變量經(jīng)過1 個黑箱子操作后輸出1 個預報值。附表為2013年2月1 之后一個多月的預報值,從表中可以看出預報值與實測值較接近,說明GA-BP 模型可用于實際工程的預報。
本文利用遺傳算法克服了BP 神經(jīng)網(wǎng)絡(luò)學習速度慢、易收斂到局部最優(yōu)點等缺點,建立了GA-BP模型,并經(jīng)過實例分析證明,GA-BP 模型較傳統(tǒng)模型具有更好的擬合效果和預報能力。當然,遺傳算法在大壩安全監(jiān)控神經(jīng)網(wǎng)絡(luò)預報模型建立中的應用尚屬起步階段,僅限于前饋網(wǎng)絡(luò)的設(shè)計,對于更復雜的神經(jīng)網(wǎng)絡(luò)應用問題,還需要作進一步的努力,以提高算法的效率和適應能力。
[1] 吳中如.水工建筑物安全監(jiān)控理論及其應用[M].南京:河海大學出版社,2003.
[2] 蘇懷智,吳中如,溫志萍等.遺傳算法在大壩安全監(jiān)控神經(jīng)網(wǎng)絡(luò)預報模型建立中的應用[J].水利學報,2001(8):44-48.
[3] 楊杰,吳中如,顧時沖.大壩變形監(jiān)測的BP 網(wǎng)絡(luò)模型與預報研究[J].西安理工大學學報,2001,17(1):25-29.
[4] 吳云芳,李珍照.大壩神經(jīng)網(wǎng)絡(luò)預報模型與大壩回歸預報模型的比較[J].長江科學院院報,2003,20(2):50-53.
[5] 文靳.神經(jīng)網(wǎng)絡(luò)理論與應用研究[M].成都:西南交通大學出版社,1996.
[6] Goldberg D E. Genetic Algorithms in Search,Optimization and Machine Learning [M]. Addison Wesley Publishing Company,1989.
[7] 王小平、曹立明.遺傳算法理論、應用與軟件實現(xiàn)[M].西安:西安交通大學出版社,2002.
[8] 李人厚.智能監(jiān)控理論和方法[M].西安:西安電子科技大學出版社,1999.
[9] Wilis N J. Artificial neural networks in process estimation and control[J]. Automatica,1992,28:1181-1187.
[10] Karr C L. Design of an Adaptive Fuzzy Logic Controller Using a Genetic Algorithm [J]. Proc ICGA 4,1991:450-457.