呂順風 ,劉 建 ,馬 科
1(中國科學技術大學 管理學院,合肥 230026)2(淮河流域水資源保護局,蚌埠 230000)
面向水生態的閘壩調度方法①
呂順風1,劉 建2,馬 科1
1(中國科學技術大學 管理學院,合肥 230026)2(淮河流域水資源保護局,蚌埠 230000)
淮河流域是我國水環境治理的重點之一.由于淮河流域水情復雜,所以容易發生水污染事件.本文立足于突發水污染情況,研究如何調動閘壩和水庫的生態用水并在最短時間內初步治理水污染問題.閘壩調度問題是組合優化問題,水資源調度效率為目標函數,約束條件包括蓄水、水中物質濃度和閘壩距離等.本文采用人工魚群調度算法(AFSA),并加以約束條件,滿足治水需求.人工魚群算法有快速的跟蹤變化和跳出局部極值的優點,能避免算法初期早熟的問題.實驗結果表明,基于人工魚群算法的生態水調度方法,在處理這類問題,不僅精確有效,并且能在較少的迭代次數內找到滿意解,具有很高的可行性,參考性.
閘壩調度; 水生態; 魚群算法; 組合優化
淮河是我國水環境治理的重點之一.在淮河流域內洪澇災害頻繁,修建的閘壩水庫眾多,流域內的閘壩和水庫不僅僅在防洪方面有著巨大作用,在防污方面也有著深遠影響[1].由于社會經濟發展,淮河流域突發的水污染狀況時有發生,因此,如何優化水資源的調度方法,從而在最短的時間內控制和緩解突發的水污染狀況顯得尤為重要.
傳統的優化問題通常分為線性規劃問題、非線性規劃問題等.在探索這類問題的過程中,人們從生物進化的機理和一些物理現象中受到啟發,提出了各種高效的優化算法,例如:遺傳算法,模擬退火算法等[2].本文針對閘壩調度問題的特性,采用了人工魚群算法.人工魚群算法相比較其他智能算法,在解決這類問題上具有較好的適應性和較短的運算時間.
本文主要分為四個部分:第一部分介紹了人工魚群算法的基本情況以及應用方法; 第二部分則針對文章提出的問題,建立模型,并且通過人工魚群算法尋找滿意解; 第三部分是沙穎河流域的仿真實驗; 第四部分總結結論以及不足.
魚群算法中,人工魚有一下四種行為[3]:
(1)覓食行為:這是生物最基本的一種行為,也是一種趨向于食物的行為.
(2)聚群行為:大量或者少量的魚聚集在一起,通過集體覓食來增加覓食效率和躲避敵害.
(3)追尾行為:當一條或者幾條魚發現并游向食物時,它們身后的魚也為尾隨它們游向食物,從而導致更遠處的魚向食物的方向靠近.
(4)隨機行為:魚在水中自由游動覓食的行為,基本是隨機的,這樣有更大的幾率發向食物和同類.
2.2.1 覓食行為的(prey)
覓食行為的行為選擇為

2.2.2 聚群行為(swarm)
聚群行為的行為選擇為:

Xc表示領域內伙伴的中心位置
2.2.3 追尾行為(follow)
追尾行為的行為選擇:

例如,地點0處發生水污染,需要生態用水5單位,地點0上游有5個水庫可以供水分別編號1到5.各地點距離 di,j如為:d0,1=3; d0,2=1; d2,3=2; d2,4=1; d4,5=1.水庫的蓄水量從 1 到 5 分別為:2; 1; 2; 3; 4.xi,j為 0-1 變量,xi,j=1 表示 j向 i調用水資源,蟻群算法的目標函數為調水的最短路徑.
魚群算法多次迭代后,我們可以得到2個最優解,分別是:

從結果看,最優調度方案為從水庫 1,2,4 或者 1,2,3調水.
傳統算法雖然可以求解,但是我們更希望通過改進算法,提高算法效率,減少迭代次數,更加快速有效的找到滿意解.
而魚群算法中,視野Viusal的大小對算法結果有著重要的影響.較大的Viusal有助于提高魚群的全局搜索能力并且加快收斂速度; 而較小的Viusal則提高了局部搜索能力[3,5].
根據分析,越是復雜的問題,越要加強全局搜索能力,在找到滿意解的大致位置后,需要提高局部搜索能力.針對本文的問題,前期需要人工魚對全局進行粗搜索,而在算法的后期,需要局部搜索來提高算法的尋優精度.所以,本文視野Viusal按下式動態調整:

Visualn為標準視野大小,t為當前迭代次數,Tmax為最大迭代次數,視野在算法初期保持最大值,然后逐漸由大變小,最后保持最小.a的函數變化如圖1所示.
對突發水污染的問題,我們采用人工魚群算法,算法模型的建立以及基本行為方式保持不變,但是為了算法的簡便易行,最優值的獲取方式采用了跟蹤記錄最優個體狀態的方法,引入了公告板用來記錄最優狀態:每條人工魚在尋優過程中,每次移動都將當前狀態的結果與公告板相比較,如果自身狀態優于公告板,則更改公告板的狀態,使公告板始終記錄下歷史最優解[6];而在聚群的過程中,很可能因為聚群行為以及隨機行為的操作,造成了人工魚的狀態不可行,最終難以獲得最優解,這時,我們加入一定的約束條件和約束變量,使不可行的狀態轉變為可行的狀態,從而引入了約束行為[7].

圖1 函數 a 變化趨勢
閘壩和水庫t時刻的蓄水量為Vt,上游t時刻的來水量為Qt,下游t時刻的去水量為qt,水庫閘壩t時刻所必要的備用水量為Ct,t時刻的可用水量為:

那么在t+1時刻,蓄水量可以表示為:

其中 Ii,t表示入閘的水量,Qi,t表示出閘的水量,Wi,t為上游的引水量.公式(3)(4)表示蓄水量和來水量的約束條件,蓄水量要小于最大蓄水量并且大于最小蓄水量,來水量要小于最大來水量大于最小來水量[8].
對于突發的污染狀況,污染地需要一定量的無污染生態水來稀釋被污染的地方,使污染物質的含量降到國家指定水質標準之下,其中主要包含磷,氨氮這類物質.我們把污染處作為有向圖的起始點,用魚群算法尋找滿意解,找尋最優的閘壩和水庫,可以保證在最短的時間內,把足夠的生態水量調用到污染地.根據人工魚群算法,人工魚的狀態為Xi,則污染地為初始狀態X0(0,0),也是人工魚的初始狀態; 目標函數為 Yi,表示能找到的滿意解[9],整個尋優的過程,就是人工魚從起始點出發尋找最優目標函數的過程.
污染點和閘壩水庫以及支流干流之間的關系可以看成有向圖,污染點為起始點,干流直流為有向路徑,閘壩水庫為目標點.對于這類問題,與TSP問題有一定的相似度,TSP問題的求解就是找出最短的路徑通過所有的城市,而魚群算法對于解決TSP問題有著一定的優勢,隨著迭代次數的增加,函數的收斂比較優于遺傳算法和蟻群算法[10].而對于面向水生態的閘壩調度方法這個問題,也可以看成是一個有著特殊條件的,簡化的TSP問題[11]:以污染點為起始點,找尋通過閘壩和水庫的最短路徑,這里不需要每一個閘壩和水庫都通過,只要滿足在通過的閘壩和水庫中,它們能提供的生態用水量能滿足污染點的需求的條件下找尋滿意解即可[12].
如果某處發生突發污染事件,在污染點,污染物a濃度為w,污染水量為V污,污染物正常情況下的標準濃度為γ.那么要想將污染地的污染物濃度降到標準以下,至少需要不含a的純凈水為:

公式(5)表示至少需要的不含a的純凈水量,而對于閘壩和水庫調用的水資源,都含有一定量的標準濃度之下的污染物質a,設閘上水位和閘下水位a的濃度分別為 wi,wi’,水庫的庫容為 Vi那么

公式(6)(7)(8)計算了如果從該水庫和閘壩調水,可以調用多少水量.由于每個閘壩和水庫的閘上閘下濃度都不一樣,則每個水庫調水都需要分別計算[13].
在整個運算的過程中,我們的目標是為保證所需生態用水能在最短時間內調用完成,那么只要找到調用的最短路徑,就可以保證整個調度過程在最短時間內完成.則目標函數為:


在模型中,xi,j為 0-1 變量,xi,j=1 表示水庫 j向 i調用水資源,ai表示與i直接相連的閘壩或水庫的數量,di,j表示水庫 j和水庫 i之間的距離.式(9)表示目標函數是最短路徑,式(10)(11)表示下游可以接受多個上游水庫和閘壩的同時供水,式(12)表示,水庫閘壩能提用的水量要滿足污染地所需水量,式(13)(14)(15)為變量約束.
算法步驟:
(1)初始化相應參數,自定義變量 Xi,水庫和閘壩的蓄水量Vi,目標函數Yi.
(2)污染地為 X0(0,0),確定人工魚的數量,公告板以及約束行為,并計算處理水污染所需要的水量,可供水的水庫和閘壩為食物源,目標函數食物濃度為Yi.
(3)每條人工魚通過覓食、聚群、追尾和隨機行為更新自己的位置.
(4)更新Viusal大小,人工魚狀態與公告板比較,更新最優值.
(5)檢查終止條件(達到最大迭代次數或者得到滿意解),若果滿足,則結束算法,輸出最優值; 否則轉到步驟3.
仿真案例:
沙潁河流域在淮河一帶水利調用復雜,調水情況經常發生,污染突發情況下影響巨大,所以,我們以沙潁河流域為例:
假設2014年6月界首監測站上游距離槐店閘25.3 km處發生突發的水污染事件,污染物導致COD(化學需氧量)超標,濃度為 35(mg/L),污染面積為25(萬立方米),而國家規定第三類水質標準應該小于20(mg/L).根據式(5),計算得出污染物處理需要的不含COD生態用水量為18.75(萬立方米),此時,閘壩和水庫的上下游濃度如表1所示.

圖2 沙潁河流域概化圖

表1 污染地上游閘壩上下游濃度(單位:mg/L)
由于水庫上下游的COD濃度基本相同,所以我們簡化水庫的上下游濃度均為6.5(mg/L).閘壩和水庫的庫容如表2所示.

表2 上游閘壩水庫庫容(單位:萬立方米)
通過式(6)(7)計算得出每個閘壩或者水庫能提供的水量如表3所示.
這里為了方便最后的計算,把水庫和水閘的水量看成兩部分,一部分為水庫水閘的水量進行壓縮直到其COD濃度為標準濃度; 另一部分為不含COD的可調用生態用水.在計算結束后,再將實際調用的不含COD的生態用水換算成實際調用水量.
為了對比算法的結果好壞,我們把改進后的魚群算法和傳統魚群算法對比試驗,結果如圖3所示.

表3 上游閘壩水庫可調水量(單位:萬立方米)

圖3 迭代結果
輸出結果為槐店閘、周口閘、沙河節制閘、馬灣攔河閘,水量為 5.88、1.41、0、11.46.通過計算,則實際的調用生態水量為:10、2、0、13.8(單位:萬立方米).
其中,黑色實線表示的是傳統的魚群算法,黑色虛線表示的是改進的魚群算法.
通過最后的計算可以看出,改進后的人工魚群算法對于目標函數,有較快的收斂速度和較高的算法效率,在更少的迭代次數下,能夠很好的滿足約束條件,并且找到合適的滿意解.
人工魚群算法提供了一種新的思路,對于一定問題的一定求解過程中,取得了一定成果.算法具有以下幾個特點:(1)算法只需要比較目標函數值,對目標函數的性質要求不高; (2)算法對參數設定的要求不高,有較大的容許范圍; (3)算法具備并行處理的能力,尋優速度較快[14].
人工魚群算法提供了一個靈活的框架,可以通過不同的問題性質來調整框架,例如在面對小規模的問題是,我們可以簡化某些算法甚至可以忽略某些條件來達到簡化算法,提高效率的目的; 而對于較為復雜的規模較大問題是,我們可以添加一定的行為和參數來達到更加精準的結果,例如:行為約束,視野以及公告板的使用等等.
進一步的研究:在本文的案例中,并沒有考慮到生態用水的儲備問題,只考慮了在最短的時間內緩解水污染的情況,這樣雖然可以迅速控制住污染問題,但是也加大了水庫和水閘的風險,以及面對突發用水情況的應變能力.
1葛繼志,陳巨華,萬一.淮河水污染及其治理的現狀和展望.安徽大學學報(自然科學版),2000,24(2):103–106.
3李曉磊,邵之江,錢積新.一種基于動物自治體的尋優模式:魚群算法.系統工程理論與實踐,2002,22(11):32–38.[doi:10.3321/j.issn:1000-6788.2002.11.007]
4Li XL,Qian JX.Studies on artificial fish swarm optimization algorithm based on decomposition and coordination techniques.Journal of Circuits and Systems,2003,8(1):1–6.
5李曉磊,路飛,田國會,等.組合優化問題的人工魚群算法應用.讓東大學學報(工學版),2004,34(5):64–67.
6胡中功,李靜.群智能算法的研究進展.自動化技術與應用,2008,27(2):13–15.
7傅春,楊志峰,劉昌明.水利現代化的內涵及評價指標體系的建立.水科學進展,2002,13(4):502–506.
8張梅鳳,邵誠,甘勇,等.基于變異算子與模擬退火混合的人工魚群優化算法.電子學報,2006,34(8):1381–1385.
9郭旭寧,胡鐵松,呂一兵,等.跨流域供水水庫群聯合調度規則研究.水利學報,2012,43(7):757–766.
10王聯國,洪毅,趙付青,等.一種改進的人工魚群算法.計算機工程,2008,34(19):192–194.[doi:10.3969/j.issn.1000-3428.2008.19.065]
11高海昌,馮博琴,朱利.智能優化算法求解 TSP 問題.控制與決策,2006,21(3):241–247,252.
12李曉磊,薛云燦,路飛,等.基于人工魚群算法的參數估計方法.讓東大學學報(工學版),2004,34(3):84–87.
13廖四輝,程緒水,施勇,等.淮河生態用水多層次分析平臺與多目標優化調度模型研究.水力發電學報,2010,29(4):14–19,27.
14范玉軍,王冬冬,孫明明.改進的人工魚群算法.重慶師范大學學報(自然科學版),2007,24(3):23–26.
Dam Scheduling Method Oriented to Aquatic Ecosystems
LV Shun-Feng1,LIU Jian2,MA Ke11(The School of Management,University of Science and Technology of China,Hefei 230026,China)2(Huaihe River Resources Protection Bureau,Bengbu 230000,China)
Huaihe River basin is one of the key areas for the water environment control.Due to its complicated water situation,water pollution is easy to happen.This paper considers the situation of emergent water pollution and how to schedule the ecological water in the dams and reservoirs to control the pollution in the shortest time.Dam scheduling problem is the combinatorial optimization problem,and the efficiency of scheduling is the objective function.The constraints include water storage capacity,concentration of water and dam distance.In this paper,the artificial fish swarm algorithm (AFSA)is applied to water pollution control requirements,which is adopted and satisfied.AFSA has the advantage of fast track change and jumping out of local extremum,and can avoid possible premature problems at initial stage.Experimental results show that the water ecological scheduling method based on AFSA performs accurately and efficiently in dealing with such problems.It can find near optimal solutions within fewer iterations,and the results have better feasibility and referential.
dam scheduling; water ecology; artificial fish swarm algorithm; portfolio optimization
10.3969/j.issn.1674-098X.2012.24.019]
呂順風,劉建,馬科.面向水生態的閘壩調度方法.計算機系統應用,2017,26(10):161–165.http://www.c-s-a.org.cn/1003-3254/6027.html
國家科技重大專項(2014ZX07204006)
2017-01-12; 采用時間:2017-03-02