鄧麗娟
(新疆水利水電科學(xué)研究院,新疆烏魯木齊830049)
基于改進(jìn)粒子群算法的區(qū)域水資源配置研究
鄧麗娟
(新疆水利水電科學(xué)研究院,新疆烏魯木齊830049)
本文基于公平性原則構(gòu)建水資源優(yōu)化配置模型,針對模型特點,將模型可行解進(jìn)行粒子化處理,利用基于粒子群(PSO)和差分進(jìn)化(DE)的混合算法(PSODE)對模型進(jìn)行求解,大大降低了求解陷入局部最優(yōu)的風(fēng)險。此外,還采用了一種粒子變異機(jī)制進(jìn)一步提高PSODE算法的性能,并通過新疆迪那河流域水資源配置實例表明PSODE算法比PSO和DE算法收斂速度更快、準(zhǔn)確度更高。
粒子群算法;差分進(jìn)化算法;水資源配置;迪那河流域
由于人口與水資源的分布不協(xié)調(diào),以及人類不合理的開發(fā)利用,特別是現(xiàn)代生活所帶來的污染問題,影響了水資源的循環(huán)周期[1],因此使得原本可再生的水資源成為一種稀缺資源。在缺水地區(qū),時常因爭奪水資源而產(chǎn)生群體性沖突事件[2]。針對這一現(xiàn)狀,在缺水地區(qū),除了提倡節(jié)約用水、保護(hù)水資源外,在技術(shù)層面進(jìn)行合理的水資源配置是防止水資源沖突、保障地區(qū)和諧的前提。
水資源系統(tǒng)的復(fù)雜性使得水資源優(yōu)化配置模型往往涉及多目標(biāo),多層次。傳統(tǒng)的線性規(guī)劃、非線性規(guī)劃、動態(tài)規(guī)劃等方法[3]對模型的求解效率低下,過程繁瑣。而近年來發(fā)展起來的進(jìn)化算法在解決此類問題中顯示出優(yōu)越性,模擬鳥群覓食過程中的遷徙和群集行為的粒子群優(yōu)化(PSO)算法[4]是其中的佼佼者。然而,現(xiàn)有的關(guān)于PSODE算法的研究大多通過標(biāo)準(zhǔn)測試函數(shù)證明其有效性,實際應(yīng)用的案例比較少。筆者將其應(yīng)用于水資源優(yōu)化配置模型,并將基于PSODE算法的求解結(jié)果與原始PSO和DE算法的求解結(jié)果進(jìn)行比較,突出其精確性。
1.1 基本粒子群算法
粒子群優(yōu)化算法的原理:首先在搜索空間內(nèi)初始化一群粒子,在每一次迭代過程中,粒子依據(jù)自身迄今為止的最優(yōu)解和群體中目前的最優(yōu)解來更新自己的位置。
式中:w為慣性權(quán)重;r1、r2為(0,1)之間的隨機(jī)數(shù);c1、c2為學(xué)習(xí)因子;分別為個體最優(yōu)位置與全局最優(yōu)位置。
1.2 差分進(jìn)化算法
差分進(jìn)化算法原理:首先在搜索空間內(nèi)隨機(jī)產(chǎn)生初始種群,種群中的個體在每次迭代過程中,通過變異、雜交、選擇來更新種群。第t代第i個粒子表示為,變異過程表達(dá)式為:
式中:r1,r2,r3∈(1,2,…,M),為隨機(jī)數(shù),且互不相等;M為種群包含的個體數(shù);F∈[0,2]為加權(quán)因子。
雜交過程表達(dá)式為:式中:r andb(j)∈[0,1],為同一隨機(jī)數(shù)發(fā)生器的第j個值,j∈[1,D];C R∈[0,1],為變異概率;r andr(j)∈[1,2,…,D],為隨機(jī)選擇指數(shù)。
選擇過程表達(dá)式為:
1.3 基于P S O與DE的混合P S ODE算法
為防止PSO和DE種群中的任意一個粒子在進(jìn)化中出現(xiàn)停滯現(xiàn)象,在算法迭代過程中對停滯的粒子進(jìn)行變異操作,即若,則:
式中:F*為適應(yīng)度函數(shù)的全局最優(yōu)值;P為最大迭代次數(shù);(Xmin,Xmax)為允許搜尋范圍。
2.1 目標(biāo)函數(shù)
本模型的目標(biāo)函數(shù)采用公平性原則,選擇用水部門之間滿意度(實際配水量與需水量之比)差別最小作為目標(biāo),即任意單個用水部門與其他用水部門在各個時段之間的滿意度之差絕對值的平均值最小,目標(biāo)函數(shù)為:
式中:S(k)為第k個用水部門的分配水量;D(k)為第k個用水部門的需水量;S(k')為第k'個用水部門的分配水量;D(k')為第k'個用水部門的需水量;N為用水部門個數(shù)。
2.2 約束條件
(1)用水部門最大、最小配水量約束:
(2)用水部門需水約束:
(3)可分配水量約束:
式中:B為總的可分配水量;λmin(k)、λmax(k)為第k個用水部門的最小、最大水量分配系數(shù)。
3.1 粒子的編碼與適應(yīng)度函數(shù)的構(gòu)造
根據(jù)所建立的優(yōu)化配置模型的特點,將模型的可行解粒子化,單個粒子采用一維數(shù)組編碼,即為第i個粒子第t代分配給第k個用水部門的水量。模型的目標(biāo)函數(shù)作為PSODE算法的適應(yīng)度函數(shù)。
3.2 約束條件的處理
(1)初始種群中對第i個粒子的位置處理:
式(12)中:r and(0,1)為[0,1]之間的隨機(jī)數(shù);式(13)通過可行解修正函數(shù)法[5],使得粒子滿足約束條件式(11)。
(2)每一代更新后對第i個粒子的位置處理。
式(14)和式(15)保證了粒子更新后仍然滿足約束條件式(9)至式(10)。式(16)的修正方法同上,保證更新后的粒子滿足約束條件式(11)。
3.3 求解步驟
步驟1:讀取配置時段內(nèi)的來水量B、用水部門總數(shù)N,每個用水部門的需水量D(k)以及最大、最小分配系數(shù)λmax(k)、λmin(k),將變量輸入模型。
步驟2:設(shè)置PSODE的基本參數(shù),包括群體規(guī)模M、最大迭代次數(shù)Maxiter、學(xué)習(xí)因子c1和c2,慣性權(quán)重w、加權(quán)因子F、變異概率C R等。
步驟3:將群體等分成兩個種群POPPSO和POPDE,且兩個種群的初始化的位置不相重疊。
步驟4:根據(jù)式(12)和式(13)對兩個種群的初始位置進(jìn)行約束處理。
步驟5:根據(jù)式(1)和式(2)對POPPSO群體中所有個體進(jìn)行速度、位置更新。
步驟6:對POPPSO種群中所有粒子,根據(jù)式(14)至式(16)進(jìn)行約束處理。
步驟7:根據(jù)式(3)至式(5)對POPDE群體中每個個體執(zhí)行變異、雜交、選擇操作。
步驟8:對DE種群中所有粒子,根據(jù)式(14)至式(16)進(jìn)行約束處理。
步驟9:將兩個種群中的粒子代入適應(yīng)度函數(shù),選出POPPSO種群中最佳個體GPSOBEST,POPDE種群中最佳個體GDEBEST。
步驟10:比較GPSOBEST、GDEBEST的優(yōu)劣,選擇最佳個體作為POPPSO和POPDE下一代的進(jìn)化依據(jù)。
步驟11:記錄當(dāng)前整個群體中最佳個體,如果滿足精度要求或整個進(jìn)化已達(dá)到最大迭代次數(shù),則終止算法;否則轉(zhuǎn)至步驟5。
步驟12:輸出最優(yōu)配置結(jié)果。
將PSODE算法應(yīng)用于新疆迪那河流域國民經(jīng)濟(jì)各產(chǎn)業(yè)水資源配置模型的求解。研究區(qū)需水過程年內(nèi)分布不均,用水比較緊張的時期主要是每年的春灌期,在用水較多的5、6月份,來水情況也有所不同,3月份的來水量明顯比4月份小。因此,將配置時間段定在3月份,以現(xiàn)狀年需水和枯水年來水為情景進(jìn)行配置。
PSO、DE和PSODE算法計算結(jié)果對比見表1??梢钥闯?,PSO算法在迭代576次時陷入局部最優(yōu);DE算法在迭代438次時陷入局部最優(yōu);而PSODE算法收斂速度比PSO、DE快,在迭代約225次時陷入局部最優(yōu),并且適應(yīng)度值遠(yuǎn)遠(yuǎn)優(yōu)于PSO與DE的適應(yīng)度值,說明PSODE在迭代過程中很好地保持了種群的多樣性,避免了優(yōu)化過程過早地陷入局部最優(yōu)。
TV213
A
1672-2469(2015)10-0027-02
10.3969/j.issn.1672-2469.2015.10.09
鄧麗娟(1980年—),女,高級工程師。