譚 璟,張永祥,張大勝
(北京工業大學建筑工程學院,北京 100124)
導水系數、儲水系數等水文地質參數的確定對地質工程設計、地下水數值模擬、評價具有重要的意義。目前,通過地質鉆探測量或者利用抽水試驗是獲取水文地質參數的主要途徑。確定含水層參數時,采用的抽水試驗的方法又可分兩類,一類是以穩定抽水試驗[1]采用的裘布依公式計算。另一類是以非穩定抽水試驗[2,3],采用如圖解法、配線法等來確定,它是目前確定水文地質參數的主要方法。近年來,隨著智能優化算法的發展,如遺傳算法[4,5]、粒子群優化算法[6]、模擬退火(SA)算法[7]等也可應用于含水層參數的確定。多數人工智能算法的反演雖然便利、快捷,但單一的智能算法在解決實際應用時因為算法的不足影響計算結果和工作效率,例如:遺傳算法[8]存在編碼不規范等問題,粒子群算法[9]易于陷入局部最優解等。本文依據人工魚群和模擬退火兩種算法各自的特點,將兩種算法混合并應用在地下水模型參數反演中。
人工魚群(AF)算法是中國學者李曉磊[10]等2002年首先提出的一種模擬魚群行為的新型智能優化算法,此算法優點是:對初始值要求不高、計算迅速、參數的設定允許有較大的容許范圍等。AF算法的中心策略是在求解最優化問題時,在定義域內不同點對應著不同的食物含量,食物含量最多的區域代表求解問題的最優解,然后各條人工魚分別模仿魚的覓食、聚群、追尾、跟隨4種行為,不同的行為相互進行比較,并選擇食物含量最多的一種行為進行操作,再用公告牌記錄食物最高的點和食物濃度值,通過這樣的尋優方式,實現最優化求解。AF算法通過設定的參數尋優時,雖然具有良好的全局收斂性,但接近最優解時,步長和視野往往制約人工魚的行動,計算結果在最優值附近來回振蕩,難以提高結果精度。
SA算法[11]的原理是將固體加熱至充分高,使固體內部粒子無規律運動,再通過降溫使其變得有序,不同的溫度都存在一個平衡態,最終在常溫時,內能減為最小。在較小的范圍內,SA算法的尋優速度快、收斂精度高,利用粒子不斷降低內能的方式實現最優化求解。SA算法具有在較小的范圍內,它的尋優速度快、收斂精度高等特點,但是尋優的結果受初始值的影響較大。
根據文獻[12]給出的人工魚4種行為描述公式,對AF算法的缺陷進行深入分析后發現,假設AF算法的步長和視野設定為一個固定的常數,如果參數設置較大,AF算法雖可快速收斂到最值點附近,卻難以繼續向最值點靠近;如果參數設置較小,還未到達最值所在區域就已經結束計算了。本文提出了AF算法與SA算法結合的混合優化算法求解最優化問題,該算法設計思路為:先利用AF算法對目標函數進行優化,迭代一定次數后,輸出當前最優值,接著把AF算法的當前最優解作為SA算法的初始值,繼續尋找最優解。SAAF混合算法優化時,前期利用AF算法全局性的優點找到最優值區域,后期利用SA算法良好的局部搜索能力進行局部優化,獲得最優值。兩種算法的混合過程簡單、易實現,只需將AF算法的輸出結果作為SA算法的初始值即可。
SAAF混合算法的尋優步驟為:①給出兩種算法必要的基本參數,如魚群總數N、單條人工魚嘗試的最大次數Number、初始溫度T0、降溫系數等;②在定義域的范圍內隨機生成N條人工魚;③計算魚群個體間各條人工魚的目標函數值,用公告牌記錄下當前最優值;④每條人工魚模擬4種行為,不同的行為相互進行比較,并選擇食物含量最多的一種行為進行操作;⑤人工魚模擬一次行為后均要檢驗自身目標函數值與最優值,并更新公告牌;⑥迭代滿足條件后,輸出AF算法的最優解并作為SA的初始值;⑦執行SA算法,直到迭代滿足條件。
均質、各向同性的條件下承壓含水層, 有一口抽水井以流量Q進行穩定抽水,如果在抽水開始后邊界對井不發生明顯的影響情況下,經過t時刻,在距離抽水井r處的水位降深s可以表示為:
(1)
(2)
式中:u無量綱時間 ;T為含水層導水系數;S為儲水系數;W(u)為泰斯井函數。
W(u)表達式為:
(3)
為了方便計算,通常W(u)將展開成級數形式,通常n取到5:
(4)
利用SAAF混合算法求解優化問題時,通過人工魚給出S、T的值使得目標函數的值最小,即:
(5)

為了驗證方法的可靠性,采用文獻[13]中例4.1給出的原始試驗資料進行數值試驗。試驗中的抽水穩定流量為60 m3/h,抽水時間持續1 185 min,表1給出了抽水開始后距離抽水井為140 m處有觀測孔記錄的降深s的觀測資料,通過編程進行計算,SAAF混合算法相關參數設定如下:魚群的規模N為20條,AF算法的迭代次數Number=50次、擁擠度因子δ=0.2、嘗試次數Try_number為5、步長為3,視野為20、初始溫度為50、降溫系數為0.95、SA迭代次數為100、溫度迭代次數為20、溫度閾值為0.1,S與T的取值范圍分別為(0,0.01)和(0,4 800)。

表1 抽水試驗觀測資料Tab.1 Pumping test data
3.2.1 SAAF混合算法可靠性分析
表2計算出了SAAF混合算法求得的含水層參數(S為2.51×10-4,T為193.37 m2/d)、目標函數值及在不同時刻下計算水位與實測水位中最大相對誤差值、平均相對誤差,求解參數與文獻中采用的其他方法所計算的結果數值相近,SAAF混合算法求解的目標函數值為1.19×10-3均小于表2中其他方法計算的目標函數值(范圍在1.75×10-3~35.26×10-3),最大相對誤差和平均相對誤差較傳統方法有一定的降低。因此SAAF混合算法的計算結果更可靠、求解精度更高,把反演的參數T與S代入公式(1)后計算降深值更符合實測降深值,見圖1。

表2 多種的計算結果對比Tab.2 Comparison of the variety of calculation results

圖1 多種方法的實際值與計算值的比較Fig.1 Comparison of the actual and calculated values of various methods
3.2.2 SAAF混合算法穩定性分析
表3給出了AF算法和SAAF混合算法在連續運行5次的計算結果。AF算法在運行5次過程中,人工魚可以收斂至最優值區域,由于步長和視野的限制,使AF算法計算結果在最值點來回振蕩,難以提高收斂精度,最終AF算法的目標函數值也僅有兩次低于10-2;SAAF算法充分發揮了兩種算法的優點,多次計算結果穩定。通過數理統計分析發現:目標函數值小于10-2的置信度為0.95條件下,AF算法至少要連續運行6次,SAAF混合算法僅需1次。

表3 連續運行5次下的AF算法與SAAF混合算法計算結果對比Tab.3 Comparison of AFSA and AAFSA of calculation results by running 5 times continuously
表4給出了AF算法與SAAF混合算法在迭代150次條件下,迭代至50次、70次、100次、150次的目標函數、導水系數、儲水系數以及運行時間,AF算法在迭代132次時,函數收斂,為了獲得可靠的參數需要連續運行6次,用時為25.14 s。SAAF混合算法迭代76次時收斂,見圖2,用時為2.22 s,比AF算法求解含水層參數節省時間約23 s。因此SAAF混合算法不僅收斂速度更快而且運行時間更短。

表4 AF算法與SAAF混合算法計算結果對比Tab.4 Comparison of AFSA and AAFSA of calculation results
SAAF混合算法是SA算法和AF算法混合的隨機尋優算法,它具有前期全局尋優強、后期收斂速度快、求解精度高等優點。本文先利用AF算法對初始參數不敏感、快速收斂至最值區域的特點,再將AF的當前最優值作為SA算法的初始值,SA算法利用其良好的局部搜索能力,使目標函數可以快速收斂,混合算法結合過程簡單、易于實現。應用證實:
(1)通過表2所列方法求得的含水層參數代入泰斯公式求得的計算水位與實測水位相比,SAAF混合算法求解的E(S,T)為1.19×10-3,在本文對比的方法中目標函數的值最小,計算降深值也更符合實測值,因此SAAF混合算法求解的參數更符合實際水文地質工程的要求。
(2)SAAF混合算法計算的目標函數為1.19×10-3。SAAF混合算法在尋優的過程中,充分發揮了兩種算法的特點,計算結果精度更高。
(3)多次運行算法時,AF算法計算結果在最優值附近來回振蕩,SAAF混合算法多次運行計算結果一致;單次運行時,AF算法在迭代到第132次時,目標函數收斂,SAAF混合算法在迭代到第76次時。利用AF算法反演出較為可靠的參數需要至少運行6次,用時超過25 s,SAAF算法只要運行一次大約2.2 s,因此SAAF算法計算結果更穩定、求解含水層參數時,計算效率更高。
□

圖2 目標函數的收斂曲線圖Fig.2 The convergent curve of the objective function
參考文獻:
[1] 萬 力. 裘布依公式與泰斯公式中滲透系數間的關系[J]. 水文地質工程地質,1987,(2):61-62,56.
[2] 郭建青,周宏飛,李 彥. 分析含水層水位恢復數據的多次直線解析法[J]. 巖土力學,2008,29(12):3 246-3 250.
[3] 廖梓龍,魏永富,郭中小,等. 一種基于MATLAB的滲透系數確定方法[J]. 水資源與水工程學報,2012,23(2):175-178.
[4] 高志亮,陳 石,高 鵬. 基于遺傳算法的地下水非穩定流求參方法[J]. 西安科技大學學報,2004,(4):434-437.
[5] Manoj P Samuel, Madan K Jha. Estimation of aquifer parameters from pumping test data by genetic algorithm optimization technique[J]. Journal of Irrigation and Drainage Engineering, 2003,129(5):348-359.
[6] 周秀秀,常安定,郭建青,等. 混沌粒子群優化算法在確定含水層參數中的應用[J]. 水資源與水工程學報,2013,24(1):96-99.
[7] 張娟娟,郭建青,韓淑敏,等. 基于改進模擬退火算法反演水文地質參數[J]. 中國農村水利水電,2005,(9):5-8.
[8] 雷 亮,汪同慶,彭 軍,等. 改進的自適應遺傳算法應用研究[J]. 計算機科學,2009,36(6):203-205,247.
[9] 袁 華,劉元會,郭建青,等. 基于改進的粒子群優化算法確定河流水質參數[J]. 西北農林科技大學學報(自然科學版),2014,42(11):220-224.
[10] 李曉磊. 一種新型的智能優化方法-人工魚群算法[D].杭州:浙江大學,2003.
[11] 康立山. 非數值并行算法(第1冊)模擬退火算法[M].北京:科學出版社,1994.
[12] 江銘炎,袁東風. 人工魚群算法及其應用[M]. 北京:科學出版社,2012.
[13] 薛禹群,吳吉春.地下水動力學[M]. 3版. 北京:地質出版社,2010.