劉淳安,邢 星
(寶雞文理學院數學與信息科學學院,陜西 寶雞 721013)
“以需定供”和“以供定需”的水資源優化配置理論提出的時間最早,為了求解的便利,不統一考慮需求和供給。但基于宏觀經濟的水資源配置理論要求區域經濟發展水平必須和需求供給達到動態平衡。可持續發展配置理論興起最晚,它相較于基于宏觀經濟的水資源配置理論,又有了進一步的發展和進步。它綜合了人口、資源、經濟和環境各方面的要素,強調這些要素的協調發展,但目前該配置理論僅停留在理論分析上。以上就是水資源配置理論的主要體系[1]。
在某個特定流域(區域)內,針對有限的、不同形式的水資源采取工程和非工程的措施,進行科學合理的分配,是水資源優化配置的主要內容。為此流域(區域)的生產、生活、生態等提供優質可靠的水源,從而獲得包括經濟、社會、生態利益在內的更好的綜合效益,讓有限的水資源能夠利用得更加充分合理,同時保障經濟、社會、生態協調發展,進而實現水資源的可持續利用是水資源優化配置的重要目標。
現代工程越來越龐大、復雜,傳統的單一目標的優化已經很難解決同時實現多目標優化的實際工程問題。正因如此,多目標的水資源優化配置需要使用新的智能優化算法。文章利用并行機制、全局優化的微分進化算法的特性,加上全局-局部的思想,將改進的微分進化算法應用到水資源的優化配置中去,結果表明此算法能夠較好地解決此類問題。
打破傳統進化算法的束縛,尋求新的更好的進化算法是人們不斷追求的目標。1995年微分進化算法(differential evolution algorithm,DE)應運而生,這個更加簡單、更加有效的進化算法為求解連續變量的全局優化問題而提出。1996年首屆IEEE進化算法大賽隆重舉辦,最終DE被證明為所有參賽算法中最快的進化算法,由此,DE開始被應用到各個領域。
經典微分進化算法與遺傳算法一樣,都存在交叉、變異和選擇的操作,但又不盡相同[2]。微分進化算法選擇更優的個體,實現種群進化的思路如下:對種群中每個個體,隨機選擇3個點出來(在當前種群中),把其中的某1個點作為基礎,參照另外2個點進行一個擾動,再將所得到的點與個體交叉,進而實現自然淘汰選擇,這就是微分進化算法擇優、進化的方法[3]。換言之,遺傳算法的變異是個體基因輕微擾動的結果,而微分進化算法的變異則是個體算術組合的結果。微分進化算法的原理非常簡單,控制參數也非常少,只有交叉因子、交叉概率和種群大小這三個參數,因此很容易理解掌握,既易于實現,算法收斂速度又快,魯棒性好,進化結果可靠性高,總而言之,微分進化算法優點眾多[4-5]。
盡管微分進化算法優點眾多,但也存在一定的局限性,這主要體現在處理約束優化問題環節[6]。接下來對其進行改進。
約束優化問題如下:

式中:k={1,2,…,q};S為搜索空間。
針對經典微分進化算法不能夠很好地處理約束條件的問題,定義以下2個函數:

H(w)刻畫了個體違反約束條件的程度,函數H(w)的值越大個體越差。如果違反約束程度相同,此時再依據目標函數J(w)值的大小來決定它們的好壞。由此可以定義如下邏輯函數:

通過加入這樣一個邏輯函數,便可解決微分進化算法難以處理約束優化的問題。改進后的約束微分進化算法具有全局搜索能力強的良好性能,但是由于它采用的是達爾文進化論的思想,由此依然屬于智能優化算法。在進化的后期依然存在收斂速度慢、只能找到一個最優解的問題。受到全局-局部算法[7]的啟發,將改進的微分進化算法與自身相結合,采用一種混合進化算法。算法流程如下:
(1)全局進化。①隨機產生初始化種群P(0)={X1,X2,…,XN},其中交叉概率Px,交叉因子xf∈(0,1);②令gen=0;③gen>global_gen,則轉(1)②,否則進行(1)④;④P(gen)中每個個體Xi隨機生成3個互不相同的隨機整數r1,r2,r3∈{1,2,…,N}和隨 機 整 數jrand∈ {1,2,…,n},如果,。如果優于Xi(gen),則將付給Xi(gen+1),否則將Xi(gen)付給Xi(gen+1);⑤gen+1→gen,轉(1)③。
(2)從P(gen)中選取p個不同的個體。①給定ε(一個很小的正數),α(>0)是比例因子;②從P(gen)中選出所有滿足下列條件的個體{X1,X2,…,XP}:都有(定義為歐式距離);③若p>max_num,令ε(1+α)→ε,轉(2)②;若p<min_num,令ε/(1+α)→ε,轉(2)②;否則按照適應值從好到壞對X1,X2,…,XP進行排序。
(3)子空間進化。對i=1,2,…p進行如下并行操作:①定義搜索子空間;②對每個子空間Di,隨機生成N1個個體,構成子種群Pi(0)并置t=0;③若進化代數t>sub_gen或Pi(t)中最差個體Xworst的適應值=最好個體Xbest的適應值,則轉(3)⑤;④對Pi(t)中每個個體Xi隨機生成3個互不相同的隨機整數r1,r2,r3∈{1,2,…,N}和隨機 整 數jrand∈ {1,2,…,n},如果,。如果優于Xi(t),則將付給Xi(t+1),否則將Xi(t)付給Xi(t+1),t=t+1,轉(3)③;⑤。結束并行化操作。
(4)把{X1,X2,…,XP}中相同的解剔除,從而得到優化問題的多個解。
變異操作可以提高種群的多樣性,但為了保證較好的個體不會被淘汰,因此變異的概率通常設置成較小的數值。變異操作雖然可以提高種群的多樣性,但提高的程度比較有限。同樣,交叉操作在尋優的前期,確實能夠很好地提高種群的多樣性,但進入尋優后期,當種群中的個體趨于一致,這時交叉操作提高種群多樣性的程度也就比較有限了。因此在復雜、多峰、多目標的優化問題上,簡單的進化算法無法得到問題的全部最優解,通常只能找到局部最優解或一個全局最優解。而混合進化算法把搜索空間進行劃分,在整體和子空間上都運用一次改進的微分進化算法,種群多樣性得到明顯提高,便于找到問題的全部最優解。
寶雞市河流網分屬黃河、長江兩大水系,并以秦嶺為界。以渭河為干流的渭河水系構成了黃河水系的主要部分,渭河橫貫寶雞市轄內206.1km,多年平均徑流量為35.51億m3。市年平均降水量在590~900mm,是關中降水量最多的地區。文章以2015年為基準年(供需水量參考陜西省2015年年鑒),寶雞不同水平年的可供水量和需水量預測見表1。
由于水資源優化配置問題復雜,多目標,難以求解,有非常多的因素影響著水資源系統,且各個因素往往量綱不同,大小也不成比例,最關鍵的是這些因素通常相互影響、相互制約。基于此,文章主要從經濟、生態、社會三個方面著手進行考慮[8]。
(1)把不同行業用水產生的經濟凈效益達到最大值作為經濟目標:

(2)把BOD排放量總和最小作為生態目標:

(3)把糧食產量與期望產量的差值最小作為社會目標:

式中:C為糧食目標變量;A為實際糧食產量;B為期望糧食產量。
(1)供水約束:

(2)需水約束:

模型根據水資源優化配置的相關原則,設置了經濟、生態、社會三方面目標。其目標函數可以表示為U=opt{maxf(x),min(TBOD),min(C)},然后利用上述混合進化算法對其進行優化。計算結果見表2、表3,水量配置前后供需情況的比對見表4。

表1 寶雞不同水平年的可供水量和需水量預測表 單位:萬m3

表2 2030年寶雞市水資源合理配置方案 單位:萬m3

表3 2040年寶雞市水資源合理配置方案 單位:萬m3

表4 水量配置前后供需情況對照表 單位:萬m3
隨著寶雞經濟的穩步提升,市內供水量有限,而需水量會逐步增加,農業部門和工業部門表現尤為明顯,因此會造成不同程度的缺水。綜上,從水量的供需情況來看,2040年的缺水會比2030年更為嚴重。
經過水資源的優化配置,2030年的供需缺水量減少了5371萬m3,2040年供小于需,但供需缺水量也比優化配置前減少了6580萬m3。這提高了寶雞當地的水資源利用率,保障了當地經濟的快速發展。
水資源規劃的一個極其重要的內容就是水資源優化配置,簡單的進化算法很難處理這個問題。文章對經典微分進化算法的搜索空間進行劃分,既有效避免了陷入局部最優的問題,又很好地繼承了微分進化算法的優點,非常適合處理復雜、多目標、難求解的水資源優化配置問題。將混合進化算法運用到水資源優化配置領域,計算出實例的優化結果,配置結果合理、可行。將此算法應用到更多領域,尤其是復雜、多目標的優化問題中,是相關人員進一步研究的方向。