基于多粒子群优化算法的给水管网传感器布置优化方法

文档序号:9667851阅读:322来源:国知局
基于多粒子群优化算法的给水管网传感器布置优化方法
【技术领域】
[0001]本发明涉及环境工程技术领域,尤其涉及一种基于多粒子群优化算法的给水管网传感器布置优化方法。
【背景技术】
[0002]给水管网传感器布置是一个大规模优化问题。由于城镇给水管网由成千上万的管道、节点、水阀、水栗等组成,规模十分庞大。以10000个节点规模的城镇管网为例,假定水质传感器采样时间是10分钟,整个仿真周期为72小时,则我们需要仿真的污染事件个数为10000X72X60/10,如果存储一次污染事件的数据占用4个字节,则需要耗费计算机内存为172.8GB,若考虑当前的模拟器及单节点计算机硬件,其中,每次每个污染事件模拟需要4秒钟,,则需要近200天才能完成所有的污染事件仿真。
[0003]由此可见,目前给水管网传感器布置优化时间长。

【发明内容】

[0004]本发明实施例通过提供一种基于多粒子群优化算法的给水管网传感器布置优化方法,解决了现有技术中给水管网传感器布置优化时间长的技术问题。
[0005]本发明实施例提供的一种基于多粒子群优化算法的给水管网传感器布置优化方法,其特征在于,包括如下步骤:
[0006]建立给水管网的管网拓扑结构,获取所述给水管网中每个管网节点的复杂度,并对所述管网拓扑结构进行水力模拟和水质模拟得到每个所述管网节点的可达度和污染物浓度;
[0007]在主计算节点进行多粒子群优化算法的种群初始化,其中,每个所述种群中的每个个体的编码长度为所述管网节点的总个数;
[0008]任务分发步骤:包括在MAP阶段将每个子群映射到一个Mapper计算节点进行全局搜索;
[0009]在Reduce阶段基于每个所述管网节点的所述复杂度、所述可达度和所述污染物浓度中的至少一个引导智能单粒子进行局部搜索,得到最新全局最优个体;
[0010]判断所述最新全局最优个体的适应度是否满足预设收敛条件,如果不满足所述预设收敛条件,则转入所述任务分发步骤继续进行迭代演化,满足所述预设收敛条件或达到设定最大迭代演化次数时结束迭代演化并输出最优解,从而确定传感器的布置位置。
[0011]优选的,所述在主计算节点进行多粒子群优化算法的种群初始化,具体包括:
[0012]初始化Μ个种群,每个所述种群包含Ν个个体;
[0013]将所述Μ个种群分为子群分配到云计算平台上,设置Mapper计算节点的个数和所述Reducer计算节点的个数。
[0014]优选的,所述在MAP阶段将每个子群映射到一个Mapper计算节点进行全局搜索,包括:
[0015]对每个所述子群进行适应度计算;
[0016]根据迭代公式对每个所述子群进行位置更新和速度更新。
[0017]优选的,所述在Reduce阶段基于每个所述管网节点的所述复杂度、所述可达度和所述污染物浓度中的至少一个引导智能单粒子进行局部搜索,得到最新全局最优个体,包括:
[0018]根据每个所述子群中的N个个体编号,得到每个所述子群的适应值组;
[0019]对每个所述子群的所述适应值组分别进行排序;
[0020]在Reduce阶段基于每个所述管网节点的所述复杂度、所述可达度和所述污染物浓度中的一个对所述智能单粒子的局部搜索进行引导,找到每个所述子群的局部最优个体及每个所述局部最优个体对应的适应值;
[0021]根据每个所述局部最优个体对应的适应值对所述局部最优个体进行排序,以得到所述最新全局最优个体。
[0022]优选的,所述转入所述任务分发步骤继续进行迭代演化,包括:
[0023]将所述最新全局最优个体送往所述控制器,由所述控制器将所述最新最优个体与每个所述子群中的个体进行随机替换,得到下一代种群;
[0024]基于所述下一代种群转入所述任务分发步骤进行继续迭代演化,迭代次数增加1。
[0025]优选的,所述在Reduce阶段基于每个所述管网节点的所述复杂度、所述可达度和所述污染物浓度中的至少一个引导智能单粒子进行局部搜索,得到最新全局最优个体,包括:
[0026]每个所述管网节点的所述复杂度与放置所述传感器的概率匹配;和/或
[0027]每个所述管网节点的所述可达度与放置所述传感器的概率匹配;和/或
[0028]每个所述管网节点的所述染物浓度与放置所述传感器的概率匹配
[0029]本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0030]由于本发明实施例采用了在主节点进行种群的初始化;然后Map阶段采用了多粒子群优化算法进行全局搜索,又在Reduce阶段采用智能单粒子进行局部搜索,并由是否满足收敛条件来控制循环演化迭代,直到确定放置传感器的较佳位置。从而这种基于Map-Reduce模型的并行计算方法属于智能计算,不仅精确度高,而且速度较快,可以高效确定放置传感器的位置,进而有效解决了现有技术中给水管网传感器布置优化时间长的技术问题最大化监测效果(比如最快的时间检测污染事件),防范饮用水因污染而引发的安全风险。
[0031]进一步,为了解决存储及模拟计算量太大问题,我们利用云计算技术,设计了基于云平台的分布式MA (文化基因算法,Memetic Algorithm,)计算方法,可有效提升加速比,节约计算时间。
【附图说明】
[0032]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0033]图1为本发明实施例中基于多粒子群优化算法的给水管网传感器布置优化方法的流程图;
[0034]图2为本发明实施例中并行Memetic算法实现的实现框图。
【具体实施方式】
[0035]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036]参考图1和图2所示,本发明实施例提供的一种基于多粒子群优化算法的给水管网传感器布置优化方法,包括如下步骤:
[0037]S101、建立给水管网的管网拓扑结构,获取给水管网中每个管网节点的复杂度,并对管网拓扑结构进行水力模拟和水质模拟,得到每个管网节点的可达度和污染物浓度。
[0038]具体的,可以利用EPANET2.0(管网平差软件)绘制管网拓扑结构,对给水管网拓扑结构及污染物入侵过程进行仿真。具体的,当模拟污染物从给水管网某个管网节点入侵时,可以利用EPANET 2.0进行水力水质模拟,在此基础上再对污染物进行水质扩散模拟。具体模拟过程可以如下:首先调用“Openfiles”函数打开给水管网文件,利用“netsize”函数计算给水管网的规模,调用“allocdata”函数为给水管网数据分配内存,然后调用“ENsolveH”函数进行各时段水力计算,利用“ENsolvQ”函数进行各时段的水质计算,最后调用“ENr印ort”函数创建报告,调用“Enclose”释放内存和关闭文件。
[0039]当然,在具体实施过程中并不限定于使用上述EPANET2.0,还可以使用其他高版本的管网平差软件或其他类似软件。
[0040]通过上述对管网拓扑结构的绘制以及水力模拟和水质模拟,在Map (映射)阶段利用EPANET仿真器对水力模拟和水质模拟时,也就是Map阶段是算法中最耗时的阶段,所以采用云计算加速求解,在Reduce (归约)阶段,把影响矩阵(Impact Matrix)存储在分布式数据库(Hbase)中,从而为多粒子群优化算法的适应值计算提供了基础。
[0041]S102、在主计算节点进行多粒子群优化算法的种群初始化,其中,每个种群中的每个个体的编码长度为管网节点的总个数。
[0042]具体的,首先初始化Μ个种群,每个种群包含Ν个个体,将Μ个种群分配到云计算平台上,设置Mapper计算节点的个数和Reducer计算节点的个数。在具体实施过程中设置20个worker进程提供支撑。比如,可以设置种群的个数为1000个,每个种群包含20个个体。并且由控制器保存初始种群的最优解、全局最优个体、迭代演化次数。
[0043]然后执行任务分发步骤:包括在MAP阶段将每个子群映射到一个Mapper计算节点进行全局搜索。
[0044]S103、任务分发步骤:包括在MAP阶段将每个子群映射到一个Mapper计算节点,从而分为多个子群进行并行搜索。
[0045]具体的,在Map阶段对每个子群进行适应度计算;以及根据迭代公式对每个子群进行位置更新和速度更新。具体的,进行位置更新和速度更新可以参考现有技术,为了说明书的简介,本文不赘述。
[0046]S104、在Redu
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1