掌桥专利:专业的专利平台
掌桥专利
首页

一种基于里程限制的多层次线路铺设路线优化方法及系统

文献发布时间:2023-06-19 10:06:57


一种基于里程限制的多层次线路铺设路线优化方法及系统

技术领域

本发明属于图论线路优化领域,具体涉及一种基于里程限制的多层次线路铺设路线优化方法及系统。

背景技术

随着时代发展社会进步,国家基础建设网络将愈加复杂,如果不能进行紧贴时代潮流发展信息化,将造成巨大的资源浪费,而国家电网和自来水管道的铺设在其中起着基石般的作用。

现有自来水管道安装完成后,技术人员运用过去传统的方法对其水力进行计算,造成在具体的实际使用中,管网的压力不能满足用户的需要,不利于用户的正常用水。在计算管网的过程中,技术人员要建立一个微防的模型,但在具体的实际工作,虽建立了此种模型,但缺少一定的安全与可靠性,实施就非常的困难。技术人员运用过去的网络模式对供水网系统进行安装,因为这种模式所涉及到的泵比较多,且工作的周期比较长,在安装的过程中很容易受到磨损,维修起来也很不容易,增加了管网的施工能力。

发明内容

本发明的目的在于提供一种基于里程限制的多层次线路铺设路线优化方法及系统,用以解决现有技术中的传统管网铺设方法实施困难,不能满足用户需要的问题。

为了实现上述任务,本发明采用以下技术方案:

一种基于里程限制的多层次线路铺设路线优化方法,包括如下步骤:

步骤1:获取需要铺设线路的所有节点,所述节点包括一级节点、二级节点和三级节点,所述的一级节点数<二级节点数<三级节点数,所述任意一个二级节点和其最邻近的一级节点的距离小于等于里程限制阈值K,所述任意一个三级节点和其最邻近的一级节点的距离大于K;

步骤2:对所有一级和二级节点构建最小生成树路径,获得每个二级节点和其所属的一级节点之间的最终路径;对所有二级和三级节点构建最小生成树路径,获得每个三级节点和其所属的二级节点之间的原始路径;

步骤3:获得所有二级节点的重心,并以重心为圆心以重心到各二级节点的距离为半径画圆,得到各二级节点的范围圆;

步骤4:对每个二级节点的范围圆外的三级节点依次进行深度优先遍历,再对每个二级节点的范围圆内的三级节点依次进行广度优先遍历,获得每个二级节点与三级节点的所属关系,包括如下子步骤:

步骤4.1:对任一个二级节点的范围圆外的三级节点依次进行深度优先遍历,若完成深度优先遍历时,该二级节点连接三级节点的原始路径之和小于K,则标记该二级节点为用于接纳的二级节点,并保留经过深度优先遍历的三级节点与该二级节点之间的所属关系;

若未完成深度优先遍历时,该二级节点连接三级节点的原始路径之和大于等于K,则停止遍历,保留经过深度优先遍历的三级节点与该二级节点的所属关系,并将未经过深度优先遍历的三级节点就近连接用于接纳的二级节点,获得未经过深度优先遍历的三级节点的所属关系;

步骤4.2:对任一个二级节点的范围圆内的所有三级节点同时进行广度优先遍历,若完成广度优先遍历时,该二级节点连接三级节点的原始路径之和小于K,则标记该二级节点为用于接纳的二级节点,并保留经过广度优先遍历的三级节点与该二级节点之间的所属关系;

若未完成广度优先遍历时,该二级节点连接三级节点的原始路径之和大于等于K,则停止遍历,保留经过广度优先遍历的三级节点到该二级节点的所属关系,并将未经过广度优先遍历的三级节点就近连接用于接纳的二级节点,获得未经过广度优先遍历的三级节点的所属关系;

步骤5:根据每个二级节点与三级节点的所属关系进行判断,若所有三级节点都存在其所属的二级节点,则对每个二级节点及其所属三级节点构建最小生成树路径,得到所有二级节点到三级节点之间的最终路径;

若存在没有所属的二级节点的三级节点,则对没有所属的二级节点的三级节点进行升级,将剩余没有所属的二级节点的三级节点连接升级后得到的二级节点,对每个二级节点及其所属三级节点构建最小生成树路径,得到所有二级节点到三级节点之间的最终路径。

进一步的,步骤3中获得所有二级节点的重心s(s

进一步的,步骤3中范围圆采用式Ⅰ获得:

其中,R

进一步的,步骤5中对没有所属的二级节点的三级节点进行升级包括如下子步骤:

对没有所属的二级节点的三级节点构建最小生成树路径并获得路径的总长度m;计算每个没有所属的二级节点的三级节点与最邻近的一级节点的距离并按从小到大排序,将前m/K个没有所属的二级节点的三级节点升级为二级节点。

一种基于里程限制的多层次线路铺设路线优化系统,包括节点位置设计模块、节点分配模块和路径规划模块;

所述节点位置设计模块用于获取需要铺设线路的所有节点,所述节点包括一级节点、二级节点和三级节点,所述的一级节点数<二级节点数<三级节点数,所述任意一个二级节点和其最邻近的一级节点的距离小于等于里程限制阈值K,所述任意一个三级节点和其最邻近的一级节点的距离大于K;

所述节点分配模块用于获得所有二级节点的重心,并以重心为圆心以重心到各二级节点的距离为半径画圆,得到各二级节点的范围圆;对每个二级节点的范围圆外的三级节点依次进行深度优先遍历,再对每个二级节点的范围圆内的三级节点依次进行广度优先遍历,获得每个二级节点与三级节点的所属关系;所述节点分配模块包括基于深度遍历的节点分配子模块和基于广度遍历的节点分配子模块;

所述基于深度遍历的节点分配子模块用于对任一个二级节点的范围圆外的三级节点依次进行深度优先遍历,若完成深度优先遍历时,该二级节点连接三级节点的原始路径之和小于K,则标记该二级节点为用于接纳的二级节点,并保留经过深度优先遍历的三级节点与该二级节点之间的所属关系;若未完成深度优先遍历时,该二级节点连接三级节点的原始路径之和大于等于K,则停止遍历,保留经过深度优先遍历的三级节点与该二级节点的所属关系,并将未经过深度优先遍历的三级节点就近连接用于接纳的二级节点,获得未经过深度优先遍历的三级节点的所属关系;

所述基于广度遍历的节点分配子模块用于对任一个二级节点的范围圆内的所有三级节点同时进行广度优先遍历,若完成广度优先遍历时,该二级节点连接三级节点的原始路径之和小于K,则标记该二级节点为用于接纳的二级节点,并保留经过广度优先遍历的三级节点与该二级节点之间的所属关系;若未完成广度优先遍历时,该二级节点连接三级节点的原始路径之和大于等于K,则停止遍历,保留经过广度优先遍历的三级节点到该二级节点的所属关系,并将未经过广度优先遍历的三级节点就近连接用于接纳的二级节点,获得未经过广度优先遍历的三级节点的所属关系;

所述路径规划模块用于对节点位置设计模块的所有一级和二级节点构建最小生成树路径,获得每个二级节点和其所属的一级节点之间的最终路径;对节点位置设计模块的所有二级和三级节点构建最小生成树路径,获得每个三级节点和其所属的二级节点之间的原始路径并传输给节点分配模块;

还用于根据节点分配模块传输的每个二级节点与三级节点的所属关系进行判断,若所有三级节点都存在其所属的二级节点,则对每个二级节点及其所属三级节点构建最小生成树路径,得到所有二级节点到三级节点之间的最终路径;若存在没有所属的二级节点的三级节点,则对没有所属的二级节点的三级节点进行升级,将剩余没有所属的二级节点的三级节点连接升级后得到的二级节点,对每个二级节点及其所属三级节点构建最小生成树路径,得到所有二级节点到三级节点之间的最终路径。

进一步的,所述获得所有二级节点的重心s(s

进一步的,所述范围圆采用式Ⅰ获得:

其中,R

进一步的,路径规划模块中对没有所属的二级节点的三级节点进行升级是指:

对没有所属的二级节点的三级节点构建最小生成树路径并获得路径的总长度m;计算每个没有所属的二级节点的三级节点与最邻近的一级节点的距离并按从小到大排序,将前m/K个没有所属的二级节点的三级节点升级为二级节点。

本发明与现有技术相比具有以下技术特点:

1、本方法将针对铺设线路进行优化,核心为最小生成树算法,并进行多种算法的叠加使用,例如深度优先和广度优先算法,围绕众多次级节点的重心进行线路铺设,以期达到最优的铺设线路,最少的资源浪费和线路冗余。本方法还可以为供水站/电的建设位置提供合理化备选建议。

2、突破了原有技术对节点建设层级的限制,并充分考虑实际情况下水压的里程数限制,为中途增压的次级节点提供最优的解决方案。首先本产品的最优解决方案建立在局部与全局共同最优的基础之上,对于局部的节点使用prime算法匹配路径,对于全局来说引入范围圆概念,逐层级分配节点优化。

附图说明

图1为初始最小生成路径图;

图2为次级节点供水站供水辐射图;

图3为超出里程数限制的点集标注图;

图4为第三次节点分配图;

图5为一种含里程限制的多层次线路铺设路线优化方法的最终供水管道铺设图。

具体实施方式

首先解释在本实施方式中出现的技术词汇的含义:

节点:本实施方式中的节点指是送水站或变电站。

普里姆算法(Prim算法):图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。

在本实施例中公开了一种基于里程限制的多层次线路铺设路线优化方法,包括如下步骤:

步骤1:获取需要铺设线路的所有节点,所述节点包括一级节点、二级节点和三级节点,所述的一级节点数<二级节点数<三级节点数,所述任意一个二级节点和其最邻近的一级节点的距离小于等于里程限制阈值K,所述任意一个三级节点和其最邻近的一级节点的距离大于K;

步骤2:对所有一级和二级节点构建最小生成树路径,获得每个二级节点和其所属的一级节点之间的最终路径;对所有二级和三级节点构建最小生成树路径,获得每个三级节点和其所属的二级节点之间的原始路径;

步骤3:获得所有二级节点的重心,并以重心为圆心以重心到各二级节点的距离为半径画圆,得到各二级节点的范围圆;

步骤4:对每个二级节点的范围圆外的三级节点依次进行深度优先遍历,再对每个二级节点的范围圆内的三级节点依次进行广度优先遍历,获得每个二级节点与三级节点的所属关系,包括如下子步骤:

步骤4.1:对任一个二级节点的范围圆外的三级节点依次进行深度优先遍历,若完成深度优先遍历时,该二级节点连接三级节点的原始路径之和小于K,则标记该二级节点为用于接纳的二级节点,并保留经过深度优先遍历的三级节点与该二级节点之间的所属关系;

若未完成深度优先遍历时,该二级节点连接三级节点的原始路径之和大于等于K,则停止遍历,保留经过深度优先遍历的三级节点与该二级节点的所属关系,并将未经过深度优先遍历的三级节点就近连接用于接纳的二级节点,获得未经过深度优先遍历的三级节点的所属关系;

步骤4.2:对任一个二级节点的范围圆内的所有三级节点同时进行广度优先遍历,若完成广度优先遍历时,该二级节点连接三级节点的原始路径之和小于K,则标记该二级节点为用于接纳的二级节点,并保留经过广度优先遍历的三级节点与该二级节点之间的所属关系;

若未完成广度优先遍历时,该二级节点连接三级节点的原始路径之和大于等于K,则停止遍历,保留经过广度优先遍历的三级节点到该二级节点的所属关系,并将未经过广度优先遍历的三级节点就近连接用于接纳的二级节点,获得未经过广度优先遍历的三级节点的所属关系;

步骤5:根据每个二级节点与三级节点的所属关系进行判断,若所有三级节点都存在其所属的二级节点,则对每个二级节点及其所属三级节点构建最小生成树路径,得到所有二级节点到三级节点之间的最终路径;

若存在没有所属的二级节点的三级节点,则对没有所属的二级节点的三级节点进行升级,将剩余没有所属的二级节点的三级节点连接升级后得到的二级节点,对每个二级节点及其所属三级节点构建最小生成树路径,得到所有二级节点到三级节点之间的最终路径。

在本发明的步骤4中先对该二级节点范围圆外的点进行深度优先遍历,这样尽可能多得将远离重心的点进行匹配,有助于达到整体的最优。然后对该二级节点范围圆内部的三级节点进行广度优先遍历,即多条线路同时开始遍历,这样优先匹配该二级节点周围的三级节点,这样有助于达到最终的总体最优解。

在本发明中,步骤4实际包括四次分配:

第一次分配:对范围圆外的三级节点进行含里程限制的深度优先遍历,各相连管道长度标记为l,二级点连接的总里程标记为L,遍历过的节点算作分配给该的节点,后面将不予讨论;

若该二级节点对自身所连通的范围圆外的三级节点深度优先遍历过后依旧未满里程数限制则进行标注,留作第二次分配的接纳节点;

若该二级节点未完成对所有范围圆外的节点遍历之前就已经达到了里程数限制则将范围圆外剩余的节点进行标注,留做第二次分配;

第二次分配:将范围圆外的剩余三级节点就近分配给未满里程数限制的二级节点;

第三次分配:经过第二次分配后依旧未满里程数限制的二级节点,可对范围圆内的分支进行广度优先匹配;

第四次分配:经过第三次分配后未满里程数限制的二级节点可就近接纳周围离散的三级节点;

若所有三级节点都存在其所属的二级节点则对每个二级节点及其所属三级节点进行一次最小生成树,各二级节点的里程数或许会被压缩,则重复第四次分配,直到无法压缩为止。

经过四次分配后理论上不存在范围圆外的未分配三级节点,若测试中出现了未匹配点,则说明二级节点过少或里程数限制过于严苛,不足以接纳所有的点。

具体的,步骤3中获得所有二级节点的重心s(s

具体的,步骤3中范围圆采用式Ⅰ获得:

其中,R

具体的,步骤5包括如下子步骤:

步骤5.1:根据每个二级节点与三级节点的所属关系进行判断,若所有三级节点都存在其所属的二级节点,则对每个二级节点及其所属三级节点构建最小生成树路径,此时各二级节点的里程数或许会被压缩,若被压缩则新产生的未满里程数限制的二级节点可就近接纳周围离散的三级节点获得新的二级节点与三级节点的所属关系,对当前的每个二级节点及其所属三级节点构建最小生成树路径,重复步骤5.1直到无法压缩为止,得到所有二级节点到三级节点之间的最终路径;

步骤5.2:若存在没有所属的二级节点的三级节点,在里程限制不变的前提下可以说明现有的二级节点不足,则对没有所属的二级节点的三级节点进行升级,将剩余没有所属的二级节点的三级节点连接升级后得到的二级节点,对每个二级节点及其所属三级节点构建最小生成树路径,得到所有二级节点到三级节点之间的最终路径。

具体的,步骤5中对没有所属的二级节点的三级节点进行升级包括如下子步骤:

对没有所属的二级节点的三级节点构建最小生成树路径并获得路径的总长度m;计算每个没有所属的二级节点的三级节点与最邻近的一级节点的距离并按从小到大排序,将前m/K个没有所属的二级节点的三级节点升级为二级节点,然后将升级成为二级节点的点连接到一级节点。

具体的,所述二级节点连接三级节点的原始路径之和L=l

本实施例还公开了一种基于里程限制的多层次线路铺设路线优化系统,包括节点位置设计模块、节点分配模块和路径规划模块;

所述节点位置设计模块用于获取需要铺设线路的所有节点,所述节点包括一级节点、二级节点和三级节点,所述的一级节点数<二级节点数<三级节点数,所述任意一个二级节点和其最邻近的一级节点的距离小于等于里程限制阈值K,所述任意一个三级节点和其最邻近的一级节点的距离大于K;

所述节点分配模块用于获得所有二级节点的重心,并以重心为圆心以重心到各二级节点的距离为半径画圆,得到各二级节点的范围圆;对每个二级节点的范围圆外的三级节点依次进行深度优先遍历,再对每个二级节点的范围圆内的三级节点依次进行广度优先遍历,获得每个二级节点与三级节点的所属关系;所述节点分配模块包括基于深度遍历的节点分配子模块和基于广度遍历的节点分配子模块;

所述基于深度遍历的节点分配子模块用于对任一个二级节点的范围圆外的三级节点依次进行深度优先遍历,若完成深度优先遍历时,该二级节点连接三级节点的原始路径之和小于K,则标记该二级节点为用于接纳的二级节点,并保留经过深度优先遍历的三级节点与该二级节点之间的所属关系;若未完成深度优先遍历时,该二级节点连接三级节点的原始路径之和大于等于K,则停止遍历,保留经过深度优先遍历的三级节点与该二级节点的所属关系,并将未经过深度优先遍历的三级节点就近连接用于接纳的二级节点,获得未经过深度优先遍历的三级节点的所属关系;

所述基于广度遍历的节点分配子模块用于对任一个二级节点的范围圆内的所有三级节点同时进行广度优先遍历,若完成广度优先遍历时,该二级节点连接三级节点的原始路径之和小于K,则标记该二级节点为用于接纳的二级节点,并保留经过广度优先遍历的三级节点与该二级节点之间的所属关系;若未完成广度优先遍历时,该二级节点连接三级节点的原始路径之和大于等于K,则停止遍历,保留经过广度优先遍历的三级节点到该二级节点的所属关系,并将未经过广度优先遍历的三级节点就近连接用于接纳的二级节点,获得未经过广度优先遍历的三级节点的所属关系;

所述路径规划模块用于对节点位置设计模块的所有一级和二级节点构建最小生成树路径,获得每个二级节点和其所属的一级节点之间的最终路径;对节点位置设计模块的所有二级和三级节点构建最小生成树路径,获得每个三级节点和其所属的二级节点之间的原始路径并传输给节点分配模块;

还用于根据节点分配模块传输的每个二级节点与三级节点的所属关系进行判断,若所有三级节点都存在其所属的二级节点,则对每个二级节点及其所属三级节点构建最小生成树路径,得到所有二级节点到三级节点之间的最终路径;若存在没有所属的二级节点的三级节点,对没有所属的二级节点的三级节点构建最小生成树路径,得到所有二级节点到三级节点之间的最终路径。

具体的,所述获得所有二级节点的重心s(s

具体的,所述范围圆采用式Ⅰ获得:

其中,R

具体的,节点的选择不做限定,可任意更替类型,本发明既可作为线路铺设提供最优解,亦可为输水管道等铺设提供解决方案。

具体的,使用者只需要输入节点坐标即可完成路线的铺设,操作步骤简单,后期可实现excel表格导入数据。

实施例1

本实施例公开了一种基于里程限制的多层次自来水线路铺设路线优化方法,在本实施例中,一级节点为中心供水站,可为二级节点输送自来水,且与二级节点之间无里程数限制;二级节点为一级供水站,可为三级节点(终点)输送自来水;三级节点为二级供水站。一级和二级节点的路径为一型管道即图中较粗的路径,二级和三级节点的路径为二型管道即图中较细的路径。在上述实施方式的基础上,还公开了如下技术特征:

在本实施例中,采用Prim算法构建最小生成树路径。

如图1所示,步骤1中设置1个一级节点即图中节点A,12个二级节点即标号为1-12的阿拉伯数字的节点,168个三级节点数量,里程数限制为40km。

如图2所示,步骤2中在不考虑里程数限制的情况下所有二级和三级节点构建的二型管道总里程共120.941公里,每个三级节点所的数字即为所属的二级节点。

步骤3中,二级节点的重心位置坐标为(23.83,37.83)。

如图3所示,超出里程数限制的点集用空心圆圈标注,如图4所示,第三次节点分配后二级节点和三级节点构建最小生成树路径共416.2869公里,具体如下表所示:

如图5所示,步骤5中存在离散三级节点,故需要升级的三级节点下表:

本实施例优先对远离次级节点重心的节点进行线路铺设,以保证剩余的节点相对靠近重心,方便进行新的节点建设以及线路铺设。

相关技术
  • 一种基于里程限制的多层次线路铺设路线优化方法及系统
  • 一种基于自适应NSGAII的物流路线优化方法和系统
技术分类

06120112422568