崔東文,包艷飛
(1.云南省文山州水務局,云南 文山 663000; 2.云南省水文水資源局曲靖分局,云南 曲靖 655000)
提高城市需水預測精度對城市建設規劃和供水系統優化調度等具有重要意義。目前需水預測方法主要有人工神經網絡法[1-5]、投影尋蹤回歸法[6]、馬爾可夫鏈模型法[7]、隨機森林法[8]、優選GM(0,N)模型法[9]、組合模型法[10-11]等。生長模型作為趨勢外推法的一種重要方法,除用于描述和預測生物個體的生長發育以外,已在某些技術、經濟特性等領域得到廣泛應用[12]。常用的生長模型有Logistic模型、Richards模型、MMF模型、Hyperbola模型、Korf模型、Weibull模型、Gompertz模型、Usher模型等,已在人口預測[13]、林火預測[14]、地表沉降[15-17]、林分斷面積研究[18]、油氣田產量預測[19]、電能消費量預測[20]、徑流預測[21]等行業領域得到應用,但在需水預測相關研究中應用較少。研究表明,制約生長模型應用的關鍵在于模型相關參數的合理確定,目前主要采用四點法、三段法、最小二乘法等進行參數估算,不但求解復雜,且效率不高。雖然遺傳算法(GA)[22]、粒子群優化(PSO)算法[20,23-24]、果蠅優化算法(FOA)[25]、差分進化(DE)算法[26]已嘗試用于Weibull模型、Gompertz模型、Richards模型、Usher模型參數的選取,具有較好的實際意義,但存在GA、PSO等傳統智能算法收斂速度慢和易陷入局部極值、僅針對單一生長模型參數進行優化、所選用算法缺乏優化性能評估等問題。
為拓展需水預測模型及方法,進一步提高需水預測精度,本文選取Weibull、Richard、Usher 3種單一生長模型進行組合,構建Weibull-Richards-Usher、Weibull-Richards、Weibull-Usher、Richards-Usher 4種組合生長模型,提出基于人工生態系統優化(artificial ecosystem-based optimization,AEO)算法[27]的組合生長需水預測模型,利用AEO算法同時優化各組合生長模型參數和組合權重系數,構建不同組合需水預測模型,以上海市需水預測為例進行驗證,旨在驗證基于AEO算法的組合生長模型應用于城市需水預測的可行性和有效性。
AEO算法是Zhao等[27]于2019年通過模擬地球生態系統中能量流動而提出一種新型元啟發式優化算法,該算法通過生產算子、消費算子和分解算子對生態系統中的生產、消費和分解行為進行模擬來達到求解優化問題的目的。生產算子旨在加強AEO算法勘探和開發之間的平衡能力;消費算子用于改進AEO算法的探索能力;分解算子旨在提升AEO算法的開發性能。與傳統群智能算法相比,AEO算法不但實現簡單,除群體規模和最大迭代次數外,無需調整其他任何參數,且具有較好的尋優精度和全局搜索能力。
AEO算法遵行以下3個準則:①生態系統作為種群包括3種生物:生產者、消費者和分解者,且種群中分別只有一個個體作為生產者和分解者,其他個體作為消費者;②每個個體都具有相同的概率被選擇為食肉動物、食草動物或雜食動物;③群體中每個個體的能量水平通過適應度值進行評價,適應度值按降序排序,適應度值越大表示最小化問題的能量水平越高。參考文獻[27],AEO算法數學描述簡述如下:
a. 生產者。生態系統中,生產者可以利用CO2、水和陽光以及分解者提供的營養來產生食物能量。在AEO算法中,種群中的生產者(最差個體)通過搜索空間上下限和分解者(最優個體)進行更新,更新后的個體將引導種群中的其他個體搜索不同的區域。模擬生產者行為的數學模型如下:
x1,t+1=[1-(1-t/T)r1]xn+(1-t/T)r1xrand,t
(1)
其中
xrand=r(U-L)+L
式中:x1為生產者個體空間位置;xn為當前群體中最佳個體空間位置;n為種群規模;T為最大迭代次數;t為當前迭代次數;xrand為搜索空間中隨機生成的個體空間位置;U、L分別為空間上、下限;r、r1為[0,1]之間的隨機數。
b. 消費者。生產者提供食物能量后,每個消費者均可隨機選擇能量水平較低的消費者或生產者或兩者兼有獲得食物能量。如果消費者被隨機選擇為食草動物,它只以生產者為食;如果消費者被隨機選擇為食肉動物,它只能隨機選擇能量水平較高的消費者為食;如果消費者被隨機選擇為雜食動物,它可以同時選擇能量水平較高的消費者和生產者為食。模擬食草動物、食肉動物、雜食動物消費行為的數學模型分別為
xi,t+1=xi,t+Cxi,t-x1,t(i=2,3,…,n)
(2)
(3)
(4)
其中C=0.5v1/|v2|v1~N(0,1)v2~N(0,1)
式中:xi為第i個消費者個體空間位置;C為具有levy飛行特性的消費因子;N(0,1)為呈正態分布、均值為0、標準差為1的概率密度函數;xj為具有較高能量水平的消費者和生產者;r2為[0,1]范圍內的隨機數。
c. 分解者。就生態系統功能而言,分解是一個非常重要的過程,它為生產者提供必要的養分。為提高算法的開發性能,AEO算法允許每個個體的下一個位置圍繞最佳個體(分解者)傳播,并通過調節分解因子D和權重系數e、h來更新群體中第i個消費者的空間位置。其模擬分解行為的數學模型為
xi,t+1=xn,t+D(exn,t-hxi,t) (i=1,2,…,n)
(5)
其中D=3uu~N(0,1)
e=r3randi(1,2)-1h=2r3-1
式中r3為[0,1]之間的隨機數。
a. Weibull模型。Weibull模型最早由瑞典工程師Waloddi Weibull于1951年提出并逐漸發展而來,目前已在油氣田產量[19]、地基沉降[22]、泥石流預警[28]、藥物溶出曲線評價[29]等領域得到應用。Weibull模型表述形式多樣,本文利用式(6)所示函數模型進行需水預測。
(6)

b. Richards模型。Richards模型是描述生物生長的非線性回歸方程,含有4個參數,目前已在碳排放量預測[30]、人口預測[13]、地表沉降[15]等領域得到應用。Richards模型表述形式多樣,本文利用式(7)所示函數模型進行需水預測。
(7)
式中:W′2為Richards模型需水預測值;a、b、co、d為待優化參數。
c. Usher模型。Usher模型最早由美國學者Usher于1980年提出用于描述增長信息隨時間變化的數學模型,目前已在圍巖變形預測[21]、油田開發[31]、沉降預測[22,32]等領域得到應用。Usher模型表述形式多樣,本文利用式(8)所示函數模型進行需水預測。
(8)
式中:W′3為Usher模型需水預測值;A、B、Co、D為待優化參數。
利用AEO算法對Weibull-Richards-Usher、Weibull-Richards、Weibull-Usher、Richards-Usher模型參數和權重系數進行優化,得到待優化的4種組合生長模型:
W′W-R-U=ωWW′1+ωRW′2+(1-ωW-ωR)W′3
(9)
W′W-R=ωWW′1+(1-ωW)W′2
(10)
W′W-U=ωWW′1+(1-ωW)W′3
(11)
W′R-U=ωRW′2+(1-ωR)W′3
(12)
式中:W′W-R-U、W′W-R、W′W-U、W′R-U分別為Weibull-Richards-Usher、Weibull-Richards、Weibull-Usher、Richards-Usher組合生長模型需水預測值;ωW、ωR分別為Weibull、Richards模型權重系數。
本文實例優化維度有3維、9維、10維、20維、21維、31維和118維,為驗證AEO算法在不同維度條件下的尋優能力,選取Sphere、Schwefel 2.22、Schwefel 1.2、Griewank、Rastrigin、Ackley 6個典型測試函數在5維、10維、20維30維和100維條件下對AEO算法進行仿真驗證,并與當前尋優能力較好的WOA、GWO、TLBO算法和傳統PSO算法的仿真結果進行比較。上述6個函數變量取值范圍分別為[-100,100]、[-10,10]、[-100,100]、[-600,600]、[-5.12,5.12]、[-32,32],理論最優解值均為0。其中,函數Sphere、Schwefel 2.22、Schwefel 1.2為單峰函數,主要用于測試算法的尋優精度;函數Griewank、Rastrigin、Ackley為多峰函數,主要用于測試算法的全局搜索能力?;贛atlab 2018 a M語言實現5種算法對6個標準測試函數的20次尋優,利用平均值對5種算法尋優性能進行評估,見表1。試驗參數設置如下:AEO、WOA、GWO、TLBO、PSO 5種算法最大迭代次數T=1 000,種群規模n=50。其中,WOA對數螺旋形狀常數b=2;TLBO算法參數TF為1~10之間隨機整數;PSO算法慣性權重wmax、wmin分別取值0.9和0.6,自我學習因子、社會學習因子c1、c2均取值2.0。其他參數采用各算法默認值。

表1 函數優化對比結果Table 1 Comparison results of function optimization
對于單峰函數Sphere,AEO算法在不同維度條件下20次尋優均獲得理論最優值0,尋優精度優于WOA、TLBO、GWO算法,遠優于PSO算法;對于具有明顯轉折點的非線性函數Schwefel 2.22,AEO算法在不同維度條件下尋優精度較其他4種算法提高100個數量級以上,具有較好的尋優精度;對于倒錐形非線性函數Schwefel 1.2,AEO算法在不同維度條件下20次尋優均獲得理論最優值0,尋優精度優于TLBO、GWO算法,遠優于WOA、PSO算法。對于上述單峰函數,AEO算法尋優效果基本不受維變化的影響,而隨著維度的增加,WOA、TLBO、GWO、PSO算法尋優精度下降顯著。
對于典型多峰多模態函數Griewank,AEO算法在不同維度條件下20次尋優均獲得了理論最優值0,低維條件下(5維、10維)尋優精度遠優于WOA、TLBO、GWO和PSO算法。隨著維度的增加,TLBO、WOA算法尋優精度不降反升;對于典型易陷入局部極值多峰函數Rastrigin,AEO算法20次尋優獲得理論最優值0,尋優精度優于10維、20維條件下的WOA和高維(30維和100維)條件下的GWO算法,遠優于不同維條件下的PSO算法和10維、20維、30維和100維條件下的TLBO算法;對于連續旋轉不可分多峰函數Ackley,AEO算法在不同維度條件下20次尋優均獲得相對理論最優值8.88×10-16,尋優精度優于WOA、TLBO、GWO算法,遠優于PSO算法。對于上述多峰函數,AEO算法尋優效果不受維變化的影響。
可見,AEO算法在5維、10維、20維、30維和100維條件下對上述6個標準測試函數均獲得理想的尋優效果,尋優精度優于WOA、TLBO、GWO算法,遠優于PSO算法,且尋優精度基本不受維度變化的影響,具有較好的尋優精度和全局搜索能力。
步驟1:選取需水預測影響因子,構造上述4種需水預測組合生長模型的輸入、輸出向量,合理劃分訓練樣本和預測樣本,利用式(13)對實例數據序列進行歸一化處理;設定組合生長模型參數和權重系數搜尋范圍。
(13)
式中:z′為經過歸一化處理的數據;z為原始數據;zmax和zmin分別為序列中的最大值和最小值。
步驟2:確定組合生長模型適應度函數。本文選用訓練樣本均方誤差作為適應度函數,描述如下:
(14)
(15)
(16)
(17)

步驟3:設置AEO算法種群規模n、最大迭代次數T和算法終止條件;隨機初始化生態系統xi,計算適應度值,保留當前最佳個體空間位置xbest。令當前迭代次數t=0。
步驟4:利用式(1)更新生產者空間位置。
步驟5:在[0,1]之間生成隨機數r,若r<1/3,利用式(2)更新消費者個體空間位置;若1/3≤r≤2/3,利用式(3)更新消費者個體空間位置;其他利用式(4)更新消費者個體空間位置。計算每個個體空間位置適應度值,找到并保留當前最佳個體空間位置xbest。
步驟6:利用式(5)更新分解過程中消費者個體空間位置,計算每個個體適應度值,找到并保留當前最佳個體空間位置xbest。
步驟7:比較并保存最佳個體空間位置,即算法最優解xbest。
步驟8:令t=t+1。判斷算法是否達到終止條件,若是,輸出全局最優解xbest,算法結束;否則重復步驟4~8。
步驟9:輸出最優適應度值及全局最優位置xbest,xbest即為各組合生長模型參數和權重系數向量。將參數xbest代入各組合生長模型進行需水預測。
在充分考慮需水預測影響因子和指標獲取難易程度的基礎上,依據2018年上海統計年鑒,以1980—2017年為時間系列,選取7個指標作為上海市需水預測的影響因子:z1為第一產業總產值、z2為第二產業總產值、z3為第三產業總產值、z4為戶籍人口、z5為農業總產值、z6為工業總產、z7為建筑業總產值。利用SPSS軟件分析此7個影響因子與需水量的相關系數分別為0.984、0.906、0.798、0.940、0.988、0.890、0.830。利用1980—2009年統計數據作為訓練樣本,2010—2017年作為預測樣本。
設置4種組合生長模型參數的搜索范圍為[0,10],Weibull、Richards模型權重系數搜索范圍見式(14)~(17);Weibull、Richards、Usher單一模型對應的參數搜索范圍同組合模型;SVM模型懲罰因子P、核函數參數g、不敏感系數ε搜索范圍均為[2-5,25],交叉驗證折數V=3;BP網絡結構為7-13-1,隱含層和輸出層傳遞函數均分別采用logsig和purelin,訓練函數采用trainlm,設定期望誤差為0.001,最大訓練輪回為100次,搜索空間為[-1,1]。AEO算法參數設置同上;SVM、BP模型采用[0.1,0.9]對原始數據進行歸一化處理。
分別構建AEO-Weibull-Richards-Usher、AEO-Weibull-Richards、AEO-Weibull-Usher、AEO-Richards-Usher、AEO-Weibull、AEO-Richards、AEO-Usher、AEO-SVM、AEO-BP模型對實例需水量進行訓練及預測。選取平均相對誤差絕對值REM、平均絕對誤差AEM、最大相對誤差絕對值REMax和適應度值minW作為評價指標,利用此9種模型對實例需水進行預測,結果見表2,并給出9種模型不同系列長度的訓練、預測階段的相對誤差和絕對誤差結果見圖1。

表2 需水預測各模型測結果Table 2 Test results of various models for water demand prediction
由表2及圖1可見,4種組合生長模型對實例訓練樣本擬合的REM、AEM分別在1.56%~2.22%、0.26億~0.40億m3之間,擬合精度均優于3種單一生長模型和AEO-SVM模型;對實例預測樣本的REM、AEM分別在0.94%~1.17%、0.30億~0.37億m3之間,尤以AEO-Weibull-Richards-Usher模型預測精度最高,其REM、AEM分別達到了0.94%和0.30億m3,4種組合生長模型預測精度均優于AEO-Weibull、AEO-Richards、AEO-Usher、AEO-SVM、AEO-BP模型,具有較好的預測精度和泛化能力,表明Weibull、Richards、Usher模型間具有互補性,AEO算法能同時有效優化各組合生長模型參數和權重系數,基于AEO算法的組合生長模型用于需水預測是可行和有效的。

(a) 相對誤差

(b) 絕對誤差圖1 9種模型不同系列長度的訓練、預測階段的相對誤差和絕對誤差Fig.1 Relative error and absolute error results of training and prediction stages of 9 models with different series lengths
從各組合生長模型參數和權重系數優化結果來看,對于AEO-Weibull-Richards-Usher模型,Usher權重系數為0.424 2,大于0.33,表明Usher占主導地位;對于AEO-Weibull-Richards模型,Weibull權重系數0.955 9,大于0.5,表明Weibull占絕對主導地位;對于AEO-Weibull-Usher模型,Usher權重系數0.679 3,大于0.5,表明Usher占主導地位;對于AEO-Richards-Usher模型,Usher權重系數0.836 1,大于0.5,表明Usher占主導地位。3種含有Usher的組合模型中,Usher模型均占主導地位,表明Usher模型對該實例具有較好的擬合-預測效果(從AEO-Usher模型的擬合、預測結果亦可看出)。
AEO-Weibull、AEO-Richards、AEO-Usher 3種單一生長模型的預測效果在伯仲之間,其對實例2010—2017年需水預測的REM、AEM分別在1.35%~1.42%、0.43億~0.45億m3之間,預測精度優于AEO-SVM、AEO-BP模型,表明單一生長模型在需水預測中同樣具有較好的預測效果,其關鍵之處在于合理選取模型的相關參數。相對而言,AEO-Weibull模型擬合效果劣于AEO-Richards、AEO-Usher模型。
從AEO-SVM、AEO-BP模型擬合、預測結果來看,AEO-SVM模型擬合、預測精度均不佳,存在“欠擬合”現象;AEO-BP模型擬合精度較好,但預測效果較差,存在“過擬合”現象。經筆者反復調試,AEO-SVM、AEO-BP模型均不能獲得較好的預測效果,原因在于輸入向量,即7個需水預測影響因子均隨時間呈逐年增加趨勢,影響因子間相關性較好,存在多重共線性問題。
本實例雖然采用AEO算法對BP、SVM模型關鍵參數進行優化,具有一定的智能化水平,但BP模型的隱層節點數、隱含層和輸出層傳遞函數、期望誤差等參數均需人為設定,在一定程度上影響了模型的預測精度;SVM模型的交叉驗證折數V需人為設定,V值過大或過小均會導致模型出現“過擬合”或“欠擬合”現象,從而影響AEO-SVM模型的預測效果。本文提出的AEO-Weibull-Richards-Usher、AEO-Weibull-Richards、AEO-Weibull-Usher、AEO-Richards-Usher組合生長模型所有參數和權重系數均由AEO算法優化獲得,無須人為設定,具有較高的智能化水平和較好的實際應用價值。
a. 在不同維度條件下,AEO算法尋優精度優于WOA、GWO、TLBO算法,遠優于PSO算法,具有較好的尋優精度和全局搜索能力。
b. 4種組合生長模型的預測精度均優于AEO-Weibull等5種模型,表明Weibull、Richards、Usher模型間具有互補性,AEO算法能同時有效優化各組合生長模型參數和權重系數,基于AEO算法的組合生長模型用于需水預測是可行和有效的,組合生長模型具有較好的預測精度和泛化能力,模型及方法可為需水預測及其他相關預測研究提供新的途徑和方法。
c. 解決了各組合模型及Weibull、Richards、Usher單一生長模型參數選取困難的實際問題,各組合生長模型權重系數由AEO算法優化獲得,無需人為計算或設定,具有較高的智能化水平和較好的實際應用價值。