陳永政
(重慶工程學院軟件學院, 重慶 401320)
近年來,城市規模的不斷擴大和居民生活用水的增加導致城市供水量持續增長。準確的城市需水量預測是城市供水優化調度、供水管網安全穩定運行的重要環節[1-2]。常規的回歸分析需水預測法要求建立預測量與影響因素之間準確的機理模型,大量的線性化處理易降低模型精度。極限學習機(extreme learning machine,ELM)是改進的前饋神經網絡,因其易獲得更優的預測效果而得到廣泛應用[3-4]。大量研究表明,采用隨機方式初始化輸入層權值和隱層偏置參數易使部分隱層節點無效而降低模型性能。文獻[5-6]指出采用群智能優化技術解決ELM模型參數選擇是一種有效措施。
教與學優化(teaching learning based optimization, TLBO)算法是一種模仿知識傳播自然現象的優秀群智能優化算法[7]。因其具有結構簡單、實現方便、收斂速度快等優點,近年來受到越來越多的關注,并已成功應用于工程優化問題的求解[8-9]。與大部分群智能優化算法一樣,TLBO算法仍存在收斂精度低、易早熟收斂陷入局部最優等缺陷。針對上述問題,文獻[10]在TLBO算法中采用了線性遞減的慣性權值和自適應精英交叉算子并取得了較好效果。文獻[11]采用TLBO-DE方法增強TLBO算法的性能,將其用于Elman神經網絡的優化,并在質子交換膜燃料電池模型參數辨識中成功應用。文獻[12]提出了協同進化TLBO算法,并在求解約束優化問題上取得良好效果。
為進一步提升TLBO算法的全局優化性能,提出一種高效的TLBO算法(effcient TLBO,ETLBO)。在ETLBO中,通過雙種群混洗策略將種群分成兩組,其中一組按照標準TLBO算法進行學生成績的提升,另外一組通過老師單獨對最差學生進行教學過程,兩組完成預先定義的迭代次數后進行全局融合信息交換,快速實現全局最優。4個典型的數值函數優化實驗驗證了ETLBO的優越性。最后,利用改進的ETLBO算法優化選擇ELM模型參數,并構建ETLBO-ELM城市供水預測模型。以1980—2017年上海市供水預測為例,仿真結果驗證了模型的有效性,進一步表明ETLBO算法的改進是成功的。
在教與學優化(TLBO)算法中,學習成績最好的個體被當作老師,老師通過自己的努力來提高班里的平均成績;班里的學生除了跟老師學習外,學生與學生之間進行交流,取長補短,共同進步。TLBO算法有兩個重要的階段,即教學階段和學習階段,描述如下:
(1)教學階段。在教學階段,學生將根據老師的教學操作學習和更新他們的知識。

i=1,2,…,N
(1)
(2)學習階段。學生通過與任意選擇的第k個學生Xk交流、討論等相互作用以提升自身成績。
(2)
式(2)中:ri為[0,1]隨機數;f(Xi)為第i個學生成績,即適應度值。
TLBO的優勢在于善于利用已知信息(當前最佳解、平均解等)在當前最優解附件探索最佳解決方案。然而,在處理復雜函數問題時,TLBO易發生早熟收斂并陷入局部最優。為提高算法全局優化性能,提出一種高效的TLBO算法ETLBO。在ETLBO中,采用雙種群混洗策略,通過局部搜索和全局信息交換機制獲取更優解決方案。
雙種群混洗策略的基本思想是:班級學生按照成績劃分為具有相同數量的2個小組,每一個小組執行各自教學任務。每個小組在完成一次教、學任務后,將2個子群混合進行經驗交流,完成全局信息交換。局部教學與全局信息交換使TLBO算法具有優良的全局搜索能力。
雙種群混洗策略數學模型描述如下:在學生數量為N=2×n,在可行解空間生成N個學生{Ui,i=1,…,N}。將所有學生按照學生成績f(Ui)從大到小排列,按式(3)將學生劃分成2個小組X1和X2,每個小組中有n個學生。具體方法為第1個學生分到第1組,第2個學生分到第2組,第3個學生分到第1組,如此下去,直到劃分完畢。
Xk={Xi(k),f(Xi(k)|Xi(k)=U(k+2(i-1)),
fi(Xi(k))=f(U(k+2(i-1))),
i=1,…,n;k=1或2}
(3)
在子群X1中,按照標準TLBO進行迭代優化。在子群X2中,按照式(4)進行迭代優化。
(4)

X1和X2兩個小組執行預定義次數的局部搜索后,將X1和X2再次合并到U中,并重新排序,更新最優位置Xg,然后重復執行局部教學與全局信息交換,直到滿足終止條件為止。
為了測試ETLBO算法的優化性能,采用表1中4個經典函數進行測試,其中f1(Sphere)、f2(Schwefel1.2)為單峰高維函數;f3(Ackley)、f4(Griewank)為多峰高維函數。將ETLBO與標準TLBO、人工蜂群(artificial bee colony, ABC)算法[13]、萬有引力搜索算法(gravitational search algorithm, GSA)[14]進行對比。種群規模均為40、最大迭代次數為1 000、優化維度分別設置為10、30和50;ABC算法中,Limit為200;GSA中,引力常數G0=100、系數α=20。每個測試函數獨立運行30次,其平均值(Mean)和反映算法穩定性的標準差(standard deviation, S.D.)記錄在表2中。

表1 測試函數Table 1 Test function

表2 4種算法性能比較Table 2 Performance comparison of four algorithms
注:加粗顯示的數據為最優值。
從表2可以看出,ETLBO算法是4種算法中性能最優的,尤其是針對復雜函數f1和f4,ETLBO搜索到最優解0。觀察標準差(S.D.)指標可以發現,除了ETLBO均為0外,其余3種算法大部分情況均為非0,且隨著維度由10到50變化中,S.D.指標呈現增加的趨勢,表明ETLBO算法更穩定。相比TLBO、ABC和GSA算法,TLBO性能略勝一籌。比較ETLBO和TLBO,在10、30和50維下,ETLBO精度均是最高的,平均值指標最小,尤其是針對單峰測試函數f1,TLBO由1.699 0×10-222、8.016 0×10-211、1.793 5×10-209提升到0,優化精度顯著提升;在求解復雜多模態Griewank函數時,在50維情況下,TLBO由1.59×10-2提升到0。綜上,ETLBO算法在優化性能上取得了較大提升。
極限學習機(ELM)是單隱層前饋神經網絡的一種變體,典型結構如圖1所示。ELM通過輸入權重和偏置計算得到相應的輸出權重,學習速度快。

圖1 ELM典型結構Fig.1 ELM typical structure
ELM學習的目標是使得輸出的誤差最小。
(5)
式(5)中:S=(ωi,bi,i=1,2,…,M),包含了網絡輸入權值及隱層節點閾值;β為輸出權值矩陣;oj和tj分別為樣本j的模型輸出與實際值。
ELM的訓練目標就是尋求最優的S、β。min[E(S、β)]可進一步描述為

(6)

(7)
在ELM算法中,輸入權重ai和隱層偏置bi一旦確定,隱層的輸出矩陣H就被唯一確定。因此,單隱層神經網絡的訓練轉換為線性系統的求解為
(8)
式(8)中:H-1是矩陣H的Moore-Penrose廣義逆。

以上海市自來水供水為例,表3給了1980—2017年上海市自來水供水總量,數據來源于上海市統計年鑒。隨機選取34組樣本中的30組為訓練樣本,余下的4組用來測試算法性能。在進行模型訓練之前,樣本數據通過下式進行歸一化處理。
(9)

表3 上海市自來水供水總量Table 3 Total amount of water supply in Shanghai
圖2和圖3給出了ETLBO-ELM供水總量和預測絕對誤差。表4給出了4組測試樣本的模型性能指標。從圖2可以看出,ELM模型的需水預測曲線與真實值曲線的變化趨勢一致,針對后4組測試樣本ELM預測值存在一定偏差;經過ETLBO優化后的ELM模型預測值幾乎與真實值完全重合,預測效果明顯優于ELM模型。從圖3預測絕對誤差曲線中可以看出,ETLBO-ELM模型的誤差總體上小于ELM模型,進一步驗證了ETLBO算法優化模型參數的有效性。從表4可以看出,ETLBO-ELM模型的預測結果更加接近真實值,其最大絕對誤差為0.22,而ELM最大絕對誤差為1.02,且針對4個測試樣本,ELM模型的絕對誤差均要大于ETLBO-ELM模型。從相對誤差指標來看,經過ETLBO算法優化后,誤差指標由3.21%、2.34%、2.40%和2.29%提升到0.47%、0.32%、0.44%和0.71%,效果明顯。綜上所述,ETLBO具有較強的競爭優勢,優化模型ETLBO-ELM的城市需水預測效果更為理想。

圖2 需水預測結果Fig.2 Prediction results of water demand

圖3 需水預測誤差Fig.3 Prediction error of water demand

表4 模型性能指標對比Table 4 Comparison of model performance indexes
針對教與學優化算法收斂精度不高、易陷入局部最優的不足,引入雙種群混洗策略,提出一種高效的教與學優化算法,即ETLBO算法。采用4個典型包括單峰多維和多峰多維測試函數驗證ETLBO算法性能,ETLBO在10、30和50維情況下均取得了良好效果。為了提升極限學習機(ELM)模型城市需水預測的精度,采用ETLBO算法優化選擇模型的輸入權值和隱層偏置模型參數,并構建ETLBO-ELM城市需水預測模型。以上海供水為例,仿真結果表明ETLBO優化后的模型預測性能更佳,驗證了ETLBO算法的有效性。