張曉周+盧玉東+郭建青



摘要:將混沌序列優化算法應用在第一類越流系統含水層非穩定流井流問題上,進行抽水試驗數據的分析、含水層參數的求解,并就算法的搜索能力和結果與給定含水層各參數取值范圍的關系進行探討。結果表明:(1)求解越流條件下含水層參數的計算問題能用混沌序列優化算法得到很好的解決;(2)除越流因數上限取值會降低越流因數搜索結果的準確性外,儲水系數、導水系數、越流因數上限取值對算法的搜索能力和搜索結果沒有太明顯的影響。相較于其他方法,混沌序列優化算法易于編程、運算簡單、運算結果不被人為因素干擾等特點更為突出。
關鍵詞:混沌序列優化算法;越流系統;越流因數
中圖分類號:TV139.14 文獻標識碼:A 文章編號:1672-1683(2017)05-0116-05
標準曲線對比法、拐點法、切線法在確定含水層參數的過程中得到了廣泛的應用,但是在實際操作中,由于人為的隨意性與作圖時的差異性,使得不同人得出的結果不盡相同。針對于此,石志遠等利用神經網絡和遺傳算法等不同新型方法對水文地質參數進行求解,一定程度上規避了人為因素的干擾。郭建青教授以泰斯井流為例,對比了混沌序列優化算法、泰斯配線法、Sushil簡單法等不同的求解水文地質參數方法,發現混沌序列優化算法結果可靠,并且,由于混沌序列優化算法可以直接進行隨機搜索,目標函數簡單等特點,其具有較廣的應用領域;此外混沌序列優化算法的搜索過程是通過編寫程序完成的,整個過程涉及到的人為干擾因素很少,其計算結果具有客觀性、穩定性、時效性,與傳統的配線法相比具有很大的優勢。然而,文獻[6]僅對無越流條件下的單孔數據進行了分析,對于混沌序列優化算法在具有越流含水層條件下的應用并未進行研究。因此,筆者以分析第一類越流系統的單孔抽水試驗資料,確定含水層參數的問題為例,進一步探究混沌序列優化算法在確定含水層參數中的應用。
1混沌序列優化算法的思路
算法的整個運行過程包括以下兩個階段。
首先確定一個能夠得出遍歷性軌跡的迭代方法,使得此軌跡能夠對整個混沌序列進行搜索。當達到一定的限定條件后停止此階段搜索,并認為該搜索的最優結果已接近含水層參數的最優值,并以該結果作為下一搜索階段的搜索起點,此為粗搜索階段。然后,以上一過程求得的參數值作為基準值,并附加一個微小的干擾進行進一步的搜索,直至完成整個搜索過程,此為細搜索階段。通過高斯分布、均勻分布產生的隨機變量,按梯度下降機制得出的混沌變量均可作為此處附加的微小擾動。
通過與載波相似的思想,將優化變量選為由Logistie映射生成的混沌變量,定義域選為混沌運動的搜索空間,進而對待求參數在混沌變量中實施搜索過程,其詳細步驟如下:
3算例
3.1數據來源
采用文獻[19]中一眼觀測井(距主抽水井1219m,抽水流量為2936 m3/d)的抽水數據來驗證混沌序列優化算法在第一類越流系統中的應用。由于文中采用的漢圖什計算方法時,是將觀測井363 min到850 min之間的7個相關性較好的數據放在一起計算的。所以,在進行混沌序列優化算法的時候也采用同樣的數據。
3.2結果對比
通過VB編程對含水層各個參數進行優化計算時,給出的參數初始取值和其它因子的取值分別為:導水系數為0.4~1.99,儲水系數為0~0.015,越流因數為15 800~16 000,粗搜索收斂值為0.000 051,細搜索收斂值為0.000 05。當粗搜索次數為2,混沌序列長度為400時,最后的細搜索次數為4,其它搜索結果及降深的歷時曲線見表1、表2及圖1。
如表1中所示,用混沌序列優化算法的搜索結果與漢圖什近似計算法的結果是極其接近的,參數計算結果相對漢圖什近似計算結果的最大誤差為8.8%,導水系數的結果尤為準確,誤差僅僅為4.1%。
在表2參數結果計算準確的前提下模擬出來的水井降深結果與實際觀測值相比,相對誤差除初始值外,其余均在2%之內。由圖1降深曲線對比圖也可以看出,在抽水試驗的400 min、441 min、476min與850 min,模擬值與觀測值幾乎重疊,說明混沌序列優化算法對水井降深的模擬結果也是非常準確的。
4算法參數的控制
4.1收斂值的影響
收斂值的大小在混沌序列優化算法中直接決定了搜索的精度與速度,在水文地質初始參數與前文不變,粗搜索次數限定在100,混沌序列長度為500,細搜索的收斂值設為0.000 043的條件下,收斂值與搜索次數的關系見表3:無論是粗搜索次數還是細搜索次數,都隨著粗搜索收斂值的減小而減小,這是由于當粗搜索收斂值與細搜索收斂值相差較大時,在限定的100次搜索次數完成后,細搜索仍達不到收斂值的要求而重新進行新的搜索造成的。在實際應用中,粗收斂值與細收斂值越接近越好,以便更快的完成整個計算過程。
4.2混沌序列長度的影響
混沌序列的長度是在Logistic的迭代下實現的,狀態空間的大小是由混沌序列的大小來反映的。混沌序列長度越長,可供算法搜索的空間就越大,搜索就越充分,并且越不會輕易偏離實際值。理論上說,序列長度在無窮大的時候,搜索的精度達到最高,但這樣必然會加大搜索時間,況且在實際應用中這也是不現實的,為此,在本算例中,混沌序列的長度選定在50~1000之間的8組數據進行試驗分析。搜索結果見表4。
從表4中可以看出,在同一粗搜索次數下,細搜索次數隨著序列長度的增加有明顯的減小,尤其在序列長度較小時,細搜索次數減小的最快。這是由于在粗搜索過程中,經過的序列長度越長,搜索的也越充分,得出的結果也越接近參數的真實值。但是,當長度超過600時,搜索程度已經足夠充分,這種變化就不再明顯。就本文實例來說,搜索長度控制在100~600之間較為適宜。
4.3粗搜索次數的控制
表4中,序列長度在50~400之間時,細搜索次數并沒有隨著粗搜索次數的增加而有明顯的變化趨勢(增加或減少),說明在此序列長度范圍內,影響細搜索過程的主要因子并不是粗搜索次數。也就是在有限的序列長度內,少次數的粗搜索已使算法達到很充分的搜索程度,增加粗搜索次數不會再提高粗搜索階段結束時的搜索精度,對于細搜索階段的影響小于序列長度的影響。當序列長度達到500后,細搜索次數在粗搜索次數增加時呈現出減小的趨勢,這是由于序列長度的增加使得少次數的粗搜索過程滿足不了搜索的精度造成的。
4.4待估參數初值范圍的影響
為了避免傳統梯度搜索算法在求解非線性函數優化問題時,由于待估參數初值選取不當,造成搜索失敗或者搜索結果不唯一的情況出現,我們在探究混沌序列優化算法中待估參數初值范圍選取對搜索能力和結果的影響時,首先限定儲水系數和越流因數的初始取值范圍與前文一致,而將導水系數下限取為0.4保持不變,上限分別取為1.99的2~5000倍之間的12個值進行試驗分析,細搜索次數與導水系數計算結果分別見表5、表6。
從表5中可以看出,無論是在相同搜索次數不同序列長度的情況下,還是相同序列長度不同搜索次數的情況下,隨著導水系數初值的增加細搜索次數雖有波動,但都有逐漸增大的趨勢。值得注意的是,由表6中的數據顯示,混沌序列優化算法的搜索過程均未出現不收斂的情況,導水系數的搜索結果均在0.693~0.744之間,與漢圖什計算的結果十分接近。說明參數初值的選取雖會影響算法的搜索速度,但對其搜索能力與搜索結果沒太明顯的影響。
儲水系數和越流因數采用相同的處理方法后,也有同樣的結果,只是越流因數的搜索結果的波動會隨著初值的增大而增大,從而降低了搜索結果的準確性。
5結論
通過以上算法步驟的介紹以及實際案例的驗證分析,能夠得出以下結論:(1)函數粗搜索收斂值和細搜索收斂值要足夠小并且越接近越好;(2)選定混沌序列長度在100~600之間、粗搜索次數在2~20之間對本案例較為適合;(3)算法的收斂性不受待估含水層參數初值范圍的影響,鑒于越流因數對搜索結果的影響,含水層各參數初值范圍應盡量與待估參數參考值接近。所以,對于分析第一類越流系統含水層抽水試驗、確定含水層參數的問題,混沌序列優化算法是一種新的選擇。