基于多粒子群優(yōu)化算法的給水管網(wǎng)傳感器布置優(yōu)化方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及環(huán)境工程技術(shù)領(lǐng)域,尤其涉及一種基于多粒子群優(yōu)化算法的給水管網(wǎng)傳感器布置優(yōu)化方法。
【背景技術(shù)】
[0002]給水管網(wǎng)傳感器布置是一個大規(guī)模優(yōu)化問題。由于城鎮(zhèn)給水管網(wǎng)由成千上萬的管道、節(jié)點、水閥、水栗等組成,規(guī)模十分龐大。以10000個節(jié)點規(guī)模的城鎮(zhèn)管網(wǎng)為例,假定水質(zhì)傳感器采樣時間是10分鐘,整個仿真周期為72小時,則我們需要仿真的污染事件個數(shù)為10000X72X60/10,如果存儲一次污染事件的數(shù)據(jù)占用4個字節(jié),則需要耗費計算機內(nèi)存為172.8GB,若考慮當前的模擬器及單節(jié)點計算機硬件,其中,每次每個污染事件模擬需要4秒鐘,,則需要近200天才能完成所有的污染事件仿真。
[0003]由此可見,目前給水管網(wǎng)傳感器布置優(yōu)化時間長。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例通過提供一種基于多粒子群優(yōu)化算法的給水管網(wǎng)傳感器布置優(yōu)化方法,解決了現(xiàn)有技術(shù)中給水管網(wǎng)傳感器布置優(yōu)化時間長的技術(shù)問題。
[0005]本發(fā)明實施例提供的一種基于多粒子群優(yōu)化算法的給水管網(wǎng)傳感器布置優(yōu)化方法,其特征在于,包括如下步驟:
[0006]建立給水管網(wǎng)的管網(wǎng)拓撲結(jié)構(gòu),獲取所述給水管網(wǎng)中每個管網(wǎng)節(jié)點的復(fù)雜度,并對所述管網(wǎng)拓撲結(jié)構(gòu)進行水力模擬和水質(zhì)模擬得到每個所述管網(wǎng)節(jié)點的可達度和污染物濃度;
[0007]在主計算節(jié)點進行多粒子群優(yōu)化算法的種群初始化,其中,每個所述種群中的每個個體的編碼長度為所述管網(wǎng)節(jié)點的總個數(shù);
[0008]任務(wù)分發(fā)步驟:包括在MAP階段將每個子群映射到一個Mapper計算節(jié)點進行全局搜索;
[0009]在Reduce階段基于每個所述管網(wǎng)節(jié)點的所述復(fù)雜度、所述可達度和所述污染物濃度中的至少一個引導(dǎo)智能單粒子進行局部搜索,得到最新全局最優(yōu)個體;
[0010]判斷所述最新全局最優(yōu)個體的適應(yīng)度是否滿足預(yù)設(shè)收斂條件,如果不滿足所述預(yù)設(shè)收斂條件,則轉(zhuǎn)入所述任務(wù)分發(fā)步驟繼續(xù)進行迭代演化,滿足所述預(yù)設(shè)收斂條件或達到設(shè)定最大迭代演化次數(shù)時結(jié)束迭代演化并輸出最優(yōu)解,從而確定傳感器的布置位置。
[0011]優(yōu)選的,所述在主計算節(jié)點進行多粒子群優(yōu)化算法的種群初始化,具體包括:
[0012]初始化Μ個種群,每個所述種群包含Ν個個體;
[0013]將所述Μ個種群分為子群分配到云計算平臺上,設(shè)置Mapper計算節(jié)點的個數(shù)和所述Reducer計算節(jié)點的個數(shù)。
[0014]優(yōu)選的,所述在MAP階段將每個子群映射到一個Mapper計算節(jié)點進行全局搜索,包括:
[0015]對每個所述子群進行適應(yīng)度計算;
[0016]根據(jù)迭代公式對每個所述子群進行位置更新和速度更新。
[0017]優(yōu)選的,所述在Reduce階段基于每個所述管網(wǎng)節(jié)點的所述復(fù)雜度、所述可達度和所述污染物濃度中的至少一個引導(dǎo)智能單粒子進行局部搜索,得到最新全局最優(yōu)個體,包括:
[0018]根據(jù)每個所述子群中的N個個體編號,得到每個所述子群的適應(yīng)值組;
[0019]對每個所述子群的所述適應(yīng)值組分別進行排序;
[0020]在Reduce階段基于每個所述管網(wǎng)節(jié)點的所述復(fù)雜度、所述可達度和所述污染物濃度中的一個對所述智能單粒子的局部搜索進行引導(dǎo),找到每個所述子群的局部最優(yōu)個體及每個所述局部最優(yōu)個體對應(yīng)的適應(yīng)值;
[0021]根據(jù)每個所述局部最優(yōu)個體對應(yīng)的適應(yīng)值對所述局部最優(yōu)個體進行排序,以得到所述最新全局最優(yōu)個體。
[0022]優(yōu)選的,所述轉(zhuǎn)入所述任務(wù)分發(fā)步驟繼續(xù)進行迭代演化,包括:
[0023]將所述最新全局最優(yōu)個體送往所述控制器,由所述控制器將所述最新最優(yōu)個體與每個所述子群中的個體進行隨機替換,得到下一代種群;
[0024]基于所述下一代種群轉(zhuǎn)入所述任務(wù)分發(fā)步驟進行繼續(xù)迭代演化,迭代次數(shù)增加1。
[0025]優(yōu)選的,所述在Reduce階段基于每個所述管網(wǎng)節(jié)點的所述復(fù)雜度、所述可達度和所述污染物濃度中的至少一個引導(dǎo)智能單粒子進行局部搜索,得到最新全局最優(yōu)個體,包括:
[0026]每個所述管網(wǎng)節(jié)點的所述復(fù)雜度與放置所述傳感器的概率匹配;和/或
[0027]每個所述管網(wǎng)節(jié)點的所述可達度與放置所述傳感器的概率匹配;和/或
[0028]每個所述管網(wǎng)節(jié)點的所述染物濃度與放置所述傳感器的概率匹配
[0029]本發(fā)明實施例中提供的一個或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
[0030]由于本發(fā)明實施例采用了在主節(jié)點進行種群的初始化;然后Map階段采用了多粒子群優(yōu)化算法進行全局搜索,又在Reduce階段采用智能單粒子進行局部搜索,并由是否滿足收斂條件來控制循環(huán)演化迭代,直到確定放置傳感器的較佳位置。從而這種基于Map-Reduce模型的并行計算方法屬于智能計算,不僅精確度高,而且速度較快,可以高效確定放置傳感器的位置,進而有效解決了現(xiàn)有技術(shù)中給水管網(wǎng)傳感器布置優(yōu)化時間長的技術(shù)問題最大化監(jiān)測效果(比如最快的時間檢測污染事件),防范飲用水因污染而引發(fā)的安全風險。
[0031]進一步,為了解決存儲及模擬計算量太大問題,我們利用云計算技術(shù),設(shè)計了基于云平臺的分布式MA (文化基因算法,Memetic Algorithm,)計算方法,可有效提升加速比,節(jié)約計算時間。
【附圖說明】
[0032]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0033]圖1為本發(fā)明實施例中基于多粒子群優(yōu)化算法的給水管網(wǎng)傳感器布置優(yōu)化方法的流程圖;
[0034]圖2為本發(fā)明實施例中并行Memetic算法實現(xiàn)的實現(xiàn)框圖。
【具體實施方式】
[0035]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0036]參考圖1和圖2所示,本發(fā)明實施例提供的一種基于多粒子群優(yōu)化算法的給水管網(wǎng)傳感器布置優(yōu)化方法,包括如下步驟:
[0037]S101、建立給水管網(wǎng)的管網(wǎng)拓撲結(jié)構(gòu),獲取給水管網(wǎng)中每個管網(wǎng)節(jié)點的復(fù)雜度,并對管網(wǎng)拓撲結(jié)構(gòu)進行水力模擬和水質(zhì)模擬,得到每個管網(wǎng)節(jié)點的可達度和污染物濃度。
[0038]具體的,可以利用EPANET2.0(管網(wǎng)平差軟件)繪制管網(wǎng)拓撲結(jié)構(gòu),對給水管網(wǎng)拓撲結(jié)構(gòu)及污染物入侵過程進行仿真。具體的,當模擬污染物從給水管網(wǎng)某個管網(wǎng)節(jié)點入侵時,可以利用EPANET 2.0進行水力水質(zhì)模擬,在此基礎(chǔ)上再對污染物進行水質(zhì)擴散模擬。具體模擬過程可以如下:首先調(diào)用“Openfiles”函數(shù)打開給水管網(wǎng)文件,利用“netsize”函數(shù)計算給水管網(wǎng)的規(guī)模,調(diào)用“allocdata”函數(shù)為給水管網(wǎng)數(shù)據(jù)分配內(nèi)存,然后調(diào)用“ENsolveH”函數(shù)進行各時段水力計算,利用“ENsolvQ”函數(shù)進行各時段的水質(zhì)計算,最后調(diào)用“ENr印ort”函數(shù)創(chuàng)建報告,調(diào)用“Enclose”釋放內(nèi)存和關(guān)閉文件。
[0039]當然,在具體實施過程中并不限定于使用上述EPANET2.0,還可以使用其他高版本的管網(wǎng)平差軟件或其他類似軟件。
[0040]通過上述對管網(wǎng)拓撲結(jié)構(gòu)的繪制以及水力模擬和水質(zhì)模擬,在Map (映射)階段利用EPANET仿真器對水力模擬和水質(zhì)模擬時,也就是Map階段是算法中最耗時的階段,所以采用云計算加速求解,在Reduce (歸約)階段,把影響矩陣(Impact Matrix)存儲在分布式數(shù)據(jù)庫(Hbase)中,從而為多粒子群優(yōu)化算法的適應(yīng)值計算提供了基礎(chǔ)。
[0041]S102、在主計算節(jié)點進行多粒子群優(yōu)化算法的種群初始化,其中,每個種群中的每個個體的編碼長度為管網(wǎng)節(jié)點的總個數(shù)。
[0042]具體的,首先初始化Μ個種群,每個種群包含Ν個個體,將Μ個種群分配到云計算平臺上,設(shè)置Mapper計算節(jié)點的個數(shù)和Reducer計算節(jié)點的個數(shù)。在具體實施過程中設(shè)置20個worker進程提供支撐。比如,可以設(shè)置種群的個數(shù)為1000個,每個種群包含20個個體。并且由控制器保存初始種群的最優(yōu)解、全局最優(yōu)個體、迭代演化次數(shù)。
[0043]然后執(zhí)行任務(wù)分發(fā)步驟:包括在MAP階段將每個子群映射到一個Mapper計算節(jié)點進行全局搜索。
[0044]S103、任務(wù)分發(fā)步驟:包括在MAP階段將每個子群映射到一個Mapper計算節(jié)點,從而分為多個子群進行并行搜索。
[0045]具體的,在Map階段對每個子群進行適應(yīng)度計算;以及根據(jù)迭代公式對每個子群進行位置更新和速度更新。具體的,進行位置更新和速度更新可以參考現(xiàn)有技術(shù),為了說明書的簡介,本文不贅述。
[0046]S104、在Redu