一種基于多種群協(xié)同算法的給水管網(wǎng)污染源定位方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及控制科學(xué)技術(shù)領(lǐng)域,尤其涉及一種基于多種群協(xié)同算法的給水管網(wǎng)污 染源定位方法。
【背景技術(shù)】
[0002] -方面,由于污染事件是隨機的,可以在任意的時間內(nèi)以隨機的質(zhì)量注入到給水 管網(wǎng)的任意節(jié)點,因此,在一個傳感網(wǎng)絡(luò)的檢測中,如果傳感器的數(shù)目遠(yuǎn)小于節(jié)點數(shù)目,則 傳感器所獲得的信息是不足以定位到精確的污染源。另一方面,污染源定位問題一般發(fā)生 在水質(zhì)傳感器檢測污染物的濃度超過一定閾值后,這個時候說明已經(jīng)發(fā)生了污染,因此,需 要快速實時確定污染源的狀態(tài),比如污染源的位置、注入時間、注入質(zhì)量等信息。隨著給水 管網(wǎng)的規(guī)模增大時,計算量呈現(xiàn)級數(shù)的增長級,因此現(xiàn)有技術(shù)很難快速精確定位到大規(guī)模 給水管網(wǎng)中污染源。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明實施例通過提供一種基于多種群協(xié)同算法的給水管網(wǎng)污染源定位方法,解 決了現(xiàn)有技術(shù)很難快速精確定位到大規(guī)模給水管網(wǎng)中污染源的技術(shù)問題。
[0004] 本發(fā)明實施例提供了一種基于多種群協(xié)同算法的給水管網(wǎng)污染源定位方法,包括 如下步驟:
[0005] 獲取給水管網(wǎng)中每個水質(zhì)傳感器檢測到的污染物濃度;
[0006] 利用多種群協(xié)同算法隨機產(chǎn)生多個初始污染事件;
[0007] 污染物濃度模擬步驟:基于污染事件進行水力模擬和水質(zhì)模擬,以得出污染物濃 度模擬結(jié)果;
[0008] 將所述污染物濃度與所述污染物濃度模擬結(jié)果進行匹配,獲得匹配誤差;
[0009] 在所述匹配誤差大于設(shè)定誤差時,利用所述多種群協(xié)同算法根據(jù)所述匹配誤差調(diào) 整優(yōu)化方向進行循環(huán)搜索,直到找到全局最優(yōu)解;
[0010] 所述匹配誤差在所述設(shè)定誤差范圍內(nèi)時確定找到污染源位置。
[0011] 優(yōu)選的,所述利用多種群協(xié)同算法隨機產(chǎn)生多個初始污染事件,包括:
[0012] 確定種群規(guī)模、最大迭代次數(shù)和平分子群個數(shù);
[0013] 在主節(jié)點上初始化種群,其中,將所述種群平分為P個子群,所述種群中的粒子個 體的編碼包括管網(wǎng)節(jié)點位置、污染物質(zhì)量向量、污染發(fā)生時間和污染截止時間;
[0014] 計算所述種群中每個粒子個體的適應(yīng)值,并保存所述種群的最優(yōu)解和最優(yōu)個體。
[0015] 優(yōu)選的,所述在所述匹配誤差大于設(shè)定誤差時,利用所述多種群協(xié)同算法根據(jù)所 述匹配誤差調(diào)整優(yōu)化方向進行循環(huán)搜索,直到找到全局最優(yōu)解,包括:
[0016] 利用所述種群在所述主節(jié)點上并行優(yōu)化,找到包含所述最優(yōu)解的N個種群,其中, 每個所述子群包括多個粒子個體;
[0017] 將所述P個子群分配給N個子節(jié)點;
[0018] 在Hadoop云計算平臺下運行Map-Reduce模型進行如下步驟:
[0019] a、在Mapper上運行單粒子群局部精度搜索算法進行局部搜索:所述N個子節(jié)點 分別進行局部極值點的維度搜索,并對每個所述粒子個體進行位置更新和速度更新;b、在 Reducer上對所述局部搜索的結(jié)果進行規(guī)約存儲;
[0020] 將所述局部搜索的結(jié)果合并得到的最優(yōu)解集合與上一次迭代結(jié)果進行對比;
[0021] 若對比結(jié)果小于或等于所述設(shè)定誤差,則確定找到所述污染源位置,否則產(chǎn)生N 個新污染事件送往所述主節(jié)點,迭代次數(shù)加1后返回所述污染物濃度模擬步驟。
[0022] 優(yōu)選的,所述產(chǎn)生N個新污染事件送往所述主節(jié)點,具體為:
[0023] 檢測需水量或水流模式是否發(fā)生改變;
[0024] 若所述需水量或所述水流模式發(fā)生改變,則直接對所述局部極值點進行柯西變異 來產(chǎn)生所述N個新污染事件;
[0025] 將所述N個新污染事件送入所述主節(jié)點。
[0026] 優(yōu)選的,所述利用所述種群在所述主節(jié)點上并行優(yōu)化,找到包含所述最優(yōu)解的N 個種群,具體為:
[0027] 通過所述種群的最優(yōu)個體之間距離判斷所述種群的聚集程度,以給出局部極值 點。
[0028] 優(yōu)選的,所述通過所述種群的最優(yōu)個體之間距離,判斷所述種群的聚集程度,以給 出局部極值點,具體為:
[0029] 所述種群的規(guī)模為20個時,當(dāng)有3-5個種群之間距離小于設(shè)定閾值σ時,把所述 3-5個種群中最優(yōu)個體的位置設(shè)置為斥力場中心點,通過如下公式建立斥力場:
[0031] 其中,表示斥力場,τι是位置增益系數(shù),Ρ是所述斥力場外的種群到所述局部 極值點的距離,P。即為排斥半徑的閾值;在所述閾值設(shè)定的超球內(nèi)產(chǎn)生斥力;
[0032] 在所述斥力場外的種群繼續(xù)并行搜索,以發(fā)現(xiàn)新的全局極值點。
[0033] 優(yōu)選的,所述對每個所述粒子個體進行位置更新和速度更新,具體為:
[0034] 把每個所述粒子個體的位置矢量分成一定數(shù)量的子矢量,根據(jù)前一代粒子個體的 速度更新情況調(diào)整所述粒子個體的速度和位置。
[0035] 本發(fā)明實施例中提供的一個或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
[0036] 本發(fā)明實施例由于利用了多種群協(xié)同算法對污染源定位問題進行求解,當(dāng)污染事 件發(fā)生后,可以快速精確定位到污染源,進而能夠提供精確的污染信息,有效解決了現(xiàn)有技 術(shù)很難快速精確定位到大規(guī)模給水管網(wǎng)中污染源的技術(shù)問題,從而消除污染事件引發(fā)的各 類風(fēng)險,減小經(jīng)濟損失及降低社會影響。
[0037] 進一步,以Hadoop云計算為平臺提出的基于Map-Reduce模型的多種群并行協(xié)同 優(yōu)化方法,基于云平臺的分布式多種群協(xié)同計算可有效提升加速比,節(jié)約計算時間,進一步 提高了污染源定位效率。
【附圖說明】
[0038] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù) 提供的附圖獲得其他的附圖。
[0039] 圖1為本發(fā)明實施例中基于多種群協(xié)同算法的給水管網(wǎng)污染源定位方法的流程 圖;
[0040] 圖2為本發(fā)明實施例中給水管網(wǎng)的實例示意圖。
【具體實施方式】
[0041] 為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員 在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0042] 參考圖1所示,本發(fā)明實施例提供的一種基于多種群協(xié)同算法的給水管網(wǎng)污染源 定位方法,包括如下步驟:
[0043] S101、獲取給水管網(wǎng)中每個水質(zhì)傳感器檢測到的污染物濃度。
[0044] 具體的,如圖2所示,以給水管網(wǎng)有97個管網(wǎng)節(jié)點,2個水源,3個水池,117根管線 為例。假定在該給水管網(wǎng)放置了 3個水質(zhì)傳感器,分別放置在編號為119、187、211的管網(wǎng) 節(jié)點處,由這3個水質(zhì)傳感器檢測污染物濃度信息。
[0045] S102、利用多種群協(xié)同算法隨機產(chǎn)生多個初始污染事件。
[0046] 利用多種群協(xié)同算法隨機產(chǎn)生多個初始污染事件是在Hadoop云計算平臺上利用 多種群協(xié)同算法產(chǎn)生的。具體的,通過如下步驟隨機產(chǎn)生多個初始污染事件:
[0047] 步驟1、設(shè)定種群規(guī)模、最大迭代次數(shù),平分子群個數(shù)。
[0048] 步驟2、在Hadoop(海杜普)云計算平臺下運行Map-Reduce模型,以在主節(jié)點 (Name Node)上初始化Μ個種群,每個種群中的粒子個體編碼包括管網(wǎng)節(jié)點位置、污染物質(zhì) 量向量、污染發(fā)生時間和污染截止時間。具體的,Map-Reduce模型是一種編程模型,用于大 規(guī)模數(shù)據(jù)集(大于1TB)的并行運算。概念Map (映射)和Reduce (歸約)都是從函數(shù)式編 程語言里借來的。
[0049] 比如,在主節(jié)點上初始化20個種群,每個粒子個體的編碼如下:{:節(jié)點位置,污染 物質(zhì)量向量,污染發(fā)生時間,污染截止時間}。將20個種群平分為Ml,M2, M3…Mp共P個子 群。
[0050] 計算Μ個種群中每個粒子個體的適應(yīng)值,并保存Μ個種群的全局最優(yōu)解和全局最 優(yōu)個體。具體的,根據(jù)適應(yīng)度函數(shù)計算出每個粒子個體的適應(yīng)值,所使用的適應(yīng)度函數(shù)具體 參考如下公式:
[0053] n e {1,N} (3)
[0054] Ts (4)
[0055] 其中,N是管網(wǎng)節(jié)點總數(shù),Ns表示水質(zhì)傳感器的數(shù)目,T 3表示仿真周期,M表示污染 物注入向量,η表示污染源注入的管網(wǎng)節(jié)點序號,、表示注入污染物的初始時間,c (t)表示 在時間t時水質(zhì)傳感器j的污染物濃度,它是(Μ, n, 的函數(shù),c/(t)表示在時間t時水質(zhì) 傳感器j的實際檢測的污染物濃度。優(yōu)化的目標(biāo)即求(Μ,η,、)使得方差最小。
[0056] S103、污染物濃度模擬步驟:基于污染事件進行水力模擬和水質(zhì)模擬,以得出污染 物濃度模擬結(jié)果。具體的,使用網(wǎng)平差軟件(ΕΡΑΝΕΤ)進行水力模擬和水質(zhì)模擬從而得出 污染物濃度模擬結(jié)果。在具體實施過程中,在每次迭代中,所使用的污染事件互不相同,在 0次迭代中,所使用污染事件為S102中隨機生成的初始污染事件,在之后的迭代次數(shù)中,所 使用污染事件為每次迭代中進行柯西變異來產(chǎn)生的新污染事件,本文后續(xù)對柯西變異來產(chǎn) 生的新污染事件進行詳細(xì)描述。
[0057] S104、將污染物濃度與污染物濃度模擬結(jié)果進行匹配,獲得匹配誤差;
[0058] S105、在匹配誤差大于設(shè)定誤差時,利用多種群協(xié)同算法根據(jù)匹配誤差調(diào)整優(yōu)化 方向進行循環(huán)搜索,直到找到全局最優(yōu)解確定為污染源位置,匹配誤差在設(shè)定誤差值范圍 內(nèi)確定