一种基于双向蚁群与动态规划的管道布设方法及装置与流程

文档序号:17444129发布日期:2019-04-17 05:16阅读:343来源:国知局
一种基于双向蚁群与动态规划的管道布设方法及装置与流程

本公开涉及人工智能技术领域,具体涉及一种基于双向蚁群与动态规划的管道布设方法及装置。



背景技术:

大部分的水管道都是埋在道路地下,如果规划不当,重新铺设就要挖开道路,铺设完还要填埋、铺好道路,这样会对居民们带来很大的生活不便,无法满足日常的供水量,还会损失大量金钱,和很长的一段时间,既劳民又伤财;如果主水管规划不合理并已经实施了,会影响周边即将要建设的区域,导致进一步的规划错误。所以科学地规划水管道的走向与铺设时十分重要的。

传统蚁群算法:蚂蚁觅食的过程中,发现单个蚂蚁的行为比较简单,但是蚁群整体却可以体现一些智能的行为。蚁群可以在不同的环境下,寻找最短到达食物源的路径。因为蚁群内的蚂蚁可以通过某种信息机制实现信息的传递。蚂蚁会在其经过的路径上释放一种可以称之为“信息素”的物质,蚁群内的蚂蚁对“信息素”具有感知能力,它们会沿着“信息素”浓度较高路径行走,而每只路过的蚂蚁都会在路上留下“信息素”,这就形成一种类似正反馈的机制,这样经过一段时间后,整个蚁群就会沿着最短路径到达食物源了。目前并没有对水管道的调度分布有一个很好的优化预测规划,现有的技术是单一运用动态规划,仅仅是对水资源调度的优化。目前现有的技术是单一的,不加改进的动态规划,并且当前没有对水管道的调度分布提出过优化预测分布,只对水库的调度提出过优化。传统蚁群算法的缺点:蚁群算法适合在图上搜索路径问题,计算开销不很大,当计算的范围比较广阔、内部路径比较复杂,所运用的时间会比较长。



技术实现要素:

本公开提供一种基于双向蚁群与动态规划的管道布设方法及装置,通过双向蚁群算法:双向的蚁群算法是对传统蚁群算法的改进,将蚁群分成两批,从水源头开始出发称为供水蚂蚁群,寻找用水居民,把水资源输送给用水居民;从用水居民出发的称为需水蚁群,寻找水源头,供水蚁群和需水蚁群相遇则出现最有路径。主水管道与分支细小管道并行运行。双向蚁群在主水管道运行的同时,在大型生活区内会有很多细小管道,在规定的生活区域内,也同样有两群蚂蚁,原理相同,双向运动。若需要规划的地区范围比较广阔到后期出现很多分支时,传统的蚁群算法的收敛速度会逐渐减慢,出现只有局部最优解概率会上升,影响了全局最优解。改进后的双向蚁群算法比传统的蚁群算法的运算速度能提高80%。而且减少了出现只有局部最优解的概率,提升了结果的准确性。

为了实现上述目的,根据本公开的一方面,提供一种基于双向蚁群与动态规划的管道布设方法,所述方法包括以下步骤:

步骤1,将所需要规划的地区进行网格化处理并进行管道主干和分支规划得到地区网格;

步骤2,定义地区网格中供水蚁群、需水蚁群;

步骤3,构建双向蚁群算法模型;

步骤4,设置双向蚁群算法模型规则;

步骤5,通过双向蚁群算法模型进行管道动态规划。

进一步地,在步骤1中,将所需要规划的地区进行网格化处理并进行管道主干和分支规划得到地区网格的方法为,将所规划的地区以二维平面图的形式展现出来,再将地区图以规划地区面积/10000米为网格单位把地区图网格化处理。因使用地埋式进行管道施工,所规划地区中障碍区,即不可施工区,对网格进行障碍设置(网格填充黑色),再将需施工区(如:居民区、工厂)进行分区网格化处理,网格单位为施工区/1000米,同样需要设置障碍区。将网格点相互连接,形成交叉网格。对网格定义笛卡尔坐标系,给网络中的点进行取坐标,以网格单位为步长,障碍区阴影不到一格,以一格计算,网格点与网格点之间的距离作为管道网络图上的加权值,每个需水区的规模、面积、用途的不同来决定供水的水流量、水压强度、水流速的不同,不同的需水区都有固定的供水的强度标准。

进一步地,在步骤2中,定义地区网格中供水蚁群、需水蚁群的方法为,定义供水蚁群是将供水区视为起点,需水区域,即二次网络区视为终点;需水蚁群是将需水区域视为起点,供水区视为终点;网格线为管道可规划的管道路径,通过双向蚁群算法来规划水管道的分布,其中供水蚁群的蚂蚁就相当于水流,给需水区供应用水,同时需水蚁群的蚂蚁则出发寻找水源;两个蚁群同时出发,假设两个蚁群的蚂蚁的速度都相同,当供水蚂蚁和需水蚂蚁最早相遇时,这些蚂蚁所走过的路径相连接就是供水区到需水区的最短的管道路径,其中,蚂蚁走过的网格线c1,c2,...,cn相当于用水管道路径。

进一步地,在步骤3中,构建双向蚁群算法模型为,设c={}为n个数据点的集合,l={lij|ci,cj∈c}是c中相邻两个数据点时间的路径,用dij表示数据点i和数据点j之间的距离,生成赋权图g=(c,l),tsp的目的是从g中找到对c中n个城市访问且只访问一次的最短封闭曲线,

双向蚁群算法符号说明:

mg:供水蚁群的规模,即水管规划的规模范围;

mx:供水蚁群的规模,即水管规划的规模范围;

hg(0,0):供水蚂蚁初始坐标点;

hx(x0,y0):需水蚂蚁初始坐标点;

hg(x,y):供水蚂蚁在离坐标原点行距为x个网格单位,列距为y个单位;

hx(x,y):水蚂蚁在离坐标原点行距为x个网格单位,列距为y个单位;

bg,i(t):t时刻位于数据点i的供水蚂蚁数目,显然

bx,i(t):t时刻位于数据点i的需水蚂蚁数目,显然

τg,ij(t):供水蚂蚁在网格边lg,ij上的信息素(水流速、水压强、水流量)的含量;

τx,ij(t):需水蚂蚁在网格边lx,ij上的信息素(水流速、水压强、水流量)的含量;

δτg,ij:供水蚂蚁在一次迭代中边lg,ij上的信息素的增量;

δτx,ij:需水蚂蚁在一次迭代中边lx,ij上的信息素的增量;

供水蚂蚁在一次迭代中,第k只供水蚂蚁(即某一时刻)留在边lg,ij上的信息素;

需水蚂蚁在一次迭代中,第k只需水蚂蚁(即某一时刻)留在边lx,ij上的信息素;

t时刻第k只供水蚂蚁从i移动到j的概率,即t时刻水流从数据点i移动到数据点j的及概率;

t时刻第k只需水蚂蚁从i移动到j的概率,即t时刻水流从数据点i移动到数据点j的及概率;

tabug,k:供水蚂蚁k的禁忌表,表示供水蚂蚁k在经过城市i以后,就将i加入到自己的禁忌表tabug,k中,下次不能再选择数据点i

tabux,k:需水蚂蚁k的禁忌表,表示需水蚂蚁k在经过城市i以后,就将i加入到自己的禁忌表tabux,k中,下次不能再选择数据点i

jg,k(i):jg,k(i)={1,2,...,8}-tabug,k,表示供水蚂蚁k下一步选择数据点的集合;

jx,k(i):jx,k(i)={1,2,...,8}-tabux,k,表示需水蚂蚁k下一步选择数据点的集合;

α:供水蚁群和需水蚁群的启发因子相同,表示信息素的相对重要程度相同(α≥0);

ηi,j(t):启发函数。

进一步地,在步骤4中,所述双向蚁群算法模型规则为,

规则1,双向蚂蚁(水流)根据与数据点间的距离和路径上信息素的含量有关的某一概率函数选择下一个需要访问的数据点;

规则2,每只蚂蚁完成相遇前的一次周游(指蚂蚁走完所有数据点)以前,不允许转到已访问过的数据点;

规则3,蚂蚁在完成相遇前的一次周游时,在走过的边上释放信息素;

构建基于经典蚁群算法的改进—双向蚁群算法为:

步骤4.1,改进启发函数;

经典蚁群算法的启发函数是通过网格化的网格相邻距离确定启发因子的,启发因子表示信息素的重要程度。由于各启发因子α的初始数值是相同的,算法的搜索效率很低。针对这个问题,本算法利用了评价方式来对启发因子进行价值计算,启发函数的值越低评价就越高,则评价最高的启发函数就是下一步大概率选择的路径;

评价函数为当前节点t到可选节点x的代价与从可选节点x和目标节点g的代价之和。表示为公式1,

f(x)=g(x)+h(x),公式1,

式中:g(x)为节点到t到可选节点x的代价;h(x)为可选节点x到目标节点g的代价。则蚁群算法的启发函数可为公式2,

式中di,j为栅格i与栅格j的距离;di,g为栅格j与目标点g的距离。

步骤4.2,改进概率选择策略;

经典蚁群算法在初始阶段搜索路径时,由于蚂蚁会在走过的路径上留下信息素,这样就造成某些路径信息素的积累,从而使得蚂蚁很大概率选择信息素多的路径,因此蚁群算法在初始阶段就失去了选择路径的多样性,陷入局部最优解,针对此问题,对概率选择策略做如公式3和公式4的改进;

式中:为t时刻第k只蚂蚁从i移动到j的概率,即t时刻水流从数据点i移动到数据点j的及概率;tabuk为蚂蚁k的禁忌表,表示蚂蚁k在经过城市i以后,就将i加入到自己的禁忌表tabuk中,下次不能再选择数据点i;q0为边上信息素的蒸发系数(0<ρ<1),1-ρ为信息素的持久性系数;q为(0,1)的取值符号均匀分布的随机数;jk(i)={1,2,...,n}-tabuk为表示蚂蚁k下一步选择数据点的集合;

步骤4.3,改进的双向蚁群策略;

经典蚁群算法的信息素分配规则是当所有蚂蚁走完路程之后才更新全局信息素,在这种信息素更新机制中,把蚂蚁所走过的全部路径都参与到信息素的更新中,这样容易降低算法的收敛速度。

双向的蚁群算法是对传统蚁群算法的改进,将蚁群分成两种蚁群:供给蚁群和需求蚁群。两个蚁群都是处在处理好的交叉网格区域中。供给蚁群从起点出发前去目标地点,需求蚁群从目标地点出发前往起点。定义两群蚂蚁的速度相同的,规模一样,信息素可相互识别。前进的策略为上述的改进蚁群算法策略。当两个蚁群最早相遇的时候,由于两个蚁群之间的信息素可以相互识别,那么可以认为当供求蚁群和需求蚁群最早相遇时蚁群交换信息,则双方返回所需的时间就是最短的,所以最早相遇的两群蚂蚁走过的路径相连接可以视为供给地区和需求地区的最短的路径,则得出两个蚂蚁相遇时为本次迭代时的最优解,也是全局最优解。

若还需继续寻找次优路径,则所有蚂蚁完成一次周游时,将蚂蚁最早相遇点加入禁忌表,各路径上的信息素按照公式5和公式6的规则进行更新:

τij(t+1)=(1-ρ)·τij(t)+δτij,公式5;

式中:τij(t)为在边lij上的信息素的含量;δτij为在一次迭代中边lij上的信息素的增量;为在一次迭代中,第k只蚂蚁(即某一时刻)留在边lij上的信息素;

其中,信息素增量的计算方式为公式7:

蚂蚁k在本次周游中经过路径lij;lk为第k只蚂蚁在本次周游中所走的路径长度;lt为t时刻两个蚂蚁相遇时的最优路径;lk为t时刻两个蚂蚁相遇时的全局最优路径;为t时刻两个蚂蚁相遇时为本次迭代时的最优解;为全局最优解。

步骤5,通过双向蚁群算法模型进行管道动态规划:

供水蚁群和需水蚁群均使用统一方法,如图2所示为一种基于双向蚁群与动态规划的管道布设方法的流程图,在图2中,“y”表示是,“n”表示否。

初始化,将m只蚂蚁随机投放到n个数据点,同时将每只蚂蚁的禁忌表tabuk的第一个元素设置为它当前所在的数据点,此时各个边上的信息素含量是相同的,并设τij(0)=c,其中,c为常数;

每只蚂蚁根据各条路径的信息素含量选择下一个数据点,t时刻,蚂蚁k从数据点i选择数据点j的转移概率

如果j=jk(i),否则同时将数据点j加入到自己的禁忌表tabuk下次不再选择数据点j,此时jk(i)={1,2,...,n}-tabuk。

当所有n个数据点都加入到禁忌表tabuk中时,蚂蚁k便完成了一次周游,此时,蚂蚁k所走过的路径便是可行解;

当所有蚂蚁完成一次周游时,各路径上的信息素按照下列规则进行更新:

当供水蚂蚁和需水蚂蚁第一次相遇时,则得到管道规划的最短路径,即是最优规划管道路径。

优选地,将欲规划区域进行网格化处理,如果将整个规划同时进行管道动态规划,这个需要规划的管道网络的规模会非常的大,描述根据蚁群算法的(优缺点)。将采用改进的算法为双向蚁群算法,并且会采用并行运算,将居民区范围内再进行相同的网格化细分,主干道与居民区内的细管道会并行运算,再一次节省时间复杂度。

本发明还提供了一种基于双向蚁群与动态规划的管道布设装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:

网格化处理单元,用于将所需要规划的地区进行网格化处理并进行管道主干和分支规划得到地区网格;

蚁群定义单元,用于定义地区网格中供水蚁群、需水蚁群;

模型构建单元,用于构建双向蚁群算法模型;

规则设置单元,用于设置双向蚁群算法模型规则;

动态规划单元,用于通过双向蚁群算法模型进行管道动态规划。

本公开的有益效果为:本发明提供一种基于双向蚁群与动态规划的管道布设方法及装置,针对算法单一、运行速度不够快等缺点,动态规划模型在越来越多的应用在水资源规划中,具有将高维问题化为相对简单的低维问题、对目标函数和约束条件的函数形式限制较宽、处理比较方便等优点。双向的蚁群算法能很好地解决速度问题,改进后的双向蚁群算法比传统的蚁群算法的运算速度能提高80%。而且减少了出现只有局部最优解的概率,提升了结果的准确性,双向蚁群算法是对传统蚁群算法的改进,双向出发效率能提高约60%,主干道与分支道路并行运算,准确性和运算速率预计提高80%。

附图说明

通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:

图1所示为需要规划的地区进行网格化处理的二维平面图;

图2所示为一种基于双向蚁群与动态规划的管道布设方法的流程图;

图3所示为一种基于双向蚁群与动态规划的管道布设装置图。

具体实施方式

以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

如图1所示为需要规划的地区进行网格化处理的二维平面图,图2所示为根据本公开的一种基于双向蚁群与动态规划的管道布设方法的流程图,下面结合图1和图2来阐述根据本公开的实施方式的一种基于双向蚁群与动态规划的管道布设方法。

本公开提出一种基于双向蚁群与动态规划的管道布设方法,具体包括以下步骤:

步骤1,将所需要规划的地区进行网格化处理并进行管道主干和分支规划得到地区网格,如图1所示,图1为需要规划的地区进行网格化处理的二维平面图,黑色方块代表障碍物(如:工厂、变电站等),蚁群在寻找最佳路径时不能穿过障碍物,只能绕过障碍物。将所规划的地区以二维平面图的形式展现出来,再将地区图以规划地区面积/10000米为网格单位把地区图网格化处理。因使用地埋式进行管道施工,所规划地区中障碍区,即不可施工区,对网格进行障碍设置(网格填充黑色),再将需施工区(如:居民区、工厂)进行分区网格化处理,网格单位(施工区/1000)米,同样需要设置障碍区。将网格点相互连接,形成交叉网格。对网格定义笛卡尔坐标系,给网络中的点进行取坐标,以网格单位为步长,障碍区阴影不到一格,以一格计算,网格点与网格点之间的距离作为管道网络图上的加权值,每个需水区的规模、面积、用途的不同来决定供水的水流量、水压强度、水流速的不同,不同的需水区都有固定的供水的强度标准。

步骤2,定义地区网格中供水蚁群、需水蚁群,定义供水蚁群是将供水区视为起点,需水区域,即二次网络区视为终点;需水蚁群是将需水区域视为起点,供水区视为终点;网格线为管道可规划的管道路径,通过双向蚁群算法来规划水管道的分布,其中供水蚁群的蚂蚁就相当于水流,给需水区供应用水,同时需水蚁群的蚂蚁则出发寻找水源;两个蚁群同时出发,假设两个蚁群的蚂蚁的速度都相同,当供水蚂蚁和需水蚂蚁最早相遇时,这些蚂蚁所走过的路径相连接就是供水区到需水区的最短的管道路径,其中,蚂蚁走过的网格线c1,c2,...,cn相当于用水管道路径。

步骤3,构建双向蚁群算法模型;

所述双向蚁群算法模型为,设c={}为n个数据点的集合,l={lij|ci,cj∈c}是c中相邻两个数据点时间的路径,用dij表示数据点i和数据点j之间的距离,生成赋权图g=(c,l),tsp的目的是从g中找到对c中n个城市访问且只访问一次的最短封闭曲线,

双向蚁群算法符号说明:

mg:供水蚁群的规模,即水管规划的规模范围;

mx:供水蚁群的规模,即水管规划的规模范围;

hg(0,0):供水蚂蚁初始坐标点;

hx(x0,y0):需水蚂蚁初始坐标点;

hg(x,y):供水蚂蚁在离坐标原点行距为x个网格单位,列距为y个单位;

hx(x,y):水蚂蚁在离坐标原点行距为x个网格单位,列距为y个单位;

bg,i(t):t时刻位于数据点i的供水蚂蚁数目,显然

bx,i(t):t时刻位于数据点i的需水蚂蚁数目,显然

τg,ij(t):供水蚂蚁在网格边lg,ij上的信息素(水流速、水压强、水流量)的含量;

τx,ij(t):需水蚂蚁在网格边lx,ij上的信息素(水流速、水压强、水流量)的含量;

δτg,ij:供水蚂蚁在一次迭代中边lg,ij上的信息素的增量;

δτx,ij:需水蚂蚁在一次迭代中边lx,ij上的信息素的增量;

供水蚂蚁在一次迭代中,第k只供水蚂蚁(即某一时刻)留在边lg,ij上的信息素;

需水蚂蚁在一次迭代中,第k只需水蚂蚁(即某一时刻)留在边lx,ij上的信息素;

t时刻第k只供水蚂蚁从i移动到j的概率,即t时刻水流从数据点i移动到数据点j的及概率;

t时刻第k只需水蚂蚁从i移动到j的概率,即t时刻水流从数据点i移动到数据点j的及概率;

tabug,k:供水蚂蚁k的禁忌表,表示供水蚂蚁k在经过城市i以后,就将i加入到自己的禁忌表tabug,k中,下次不能再选择数据点i

tabux,k:需水蚂蚁k的禁忌表,表示需水蚂蚁k在经过城市i以后,就将i加入到自己的禁忌表tabux,k中,下次不能再选择数据点i

jg,k(i):jg,k(i)={1,2,...,8}-tabug,k,表示供水蚂蚁k下一步选择数据点的集合;

jx,k(i):jx,k(i)={1,2,...,8}-tabux,k,表示需水蚂蚁k下一步选择数据点的集合;

α:供水蚁群和需水蚁群的启发因子相同,表示信息素的相对重要程度相同(α≥0);

ηi,j(t):启发函数。

步骤4,设置双向蚁群算法模型规则:

规则1,双向蚂蚁(水流)根据与数据点间的距离和路径上信息素的含量有关的某一概率函数选择下一个需要访问的数据点;

规则2,每只蚂蚁完成相遇前的一次周游(指蚂蚁走完所有数据点)以前,不允许转到已访问过的数据点;

规则3,蚂蚁在完成相遇前的一次周游时,在走过的边上释放信息素;

构建基于经典蚁群算法的改进—双向蚁群算法为:

步骤4.1,改进启发函数;

经典蚁群算法的启发函数是通过网格化的网格相邻距离确定启发因子的,启发因子表示信息素的重要程度。由于各启发因子α的初始数值是相同的,算法的搜索效率很低。针对这个问题,本算法利用了评价方式来对启发因子进行价值计算,启发函数的值越低评价就越高,则评价最高的启发函数就是下一步大概率选择的路径;

评价函数为当前节点t到可选节点x的代价与从可选节点x和目标节点g的代价之和。表示为公式1,

f(x)=g(x)+h(x),公式1,

式中:g(x)为节点到t到可选节点x的代价;h(x)为可选节点x到目标节点g的代价。则蚁群算法的启发函数可为公式2,

式中di,j为栅格i与栅格j的距离;di,g为栅格j与目标点g的距离。

步骤4.2,改进概率选择策略;

经典蚁群算法在初始阶段搜索路径时,由于蚂蚁会在走过的路径上留下信息素,这样就造成某些路径信息素的积累,从而使得蚂蚁很大概率选择信息素多的路径,因此蚁群算法在初始阶段就失去了选择路径的多样性,陷入局部最优解,针对此问题,对概率选择策略做如公式3和公式4的改进;

式中:为t时刻第k只蚂蚁从i移动到j的概率,即t时刻水流从数据点i移动到数据点j的及概率;tabuk为蚂蚁k的禁忌表,表示蚂蚁k在经过城市i以后,就将i加入到自己的禁忌表tabuk中,下次不能再选择数据点i;q0为边上信息素的蒸发系数(0<ρ<1),1-ρ为信息素的持久性系数;q为(0,1)的取值符号均匀分布的随机数;jk(i)={1,2,...,n}-tabuk为表示蚂蚁k下一步选择数据点的集合;

步骤4.3,改进的双向蚁群策略;

经典蚁群算法的信息素分配规则是当所有蚂蚁走完路程之后才更新全局信息素,在这种信息素更新机制中,把蚂蚁所走过的全部路径都参与到信息素的更新中,这样容易降低算法的收敛速度。

双向的蚁群算法是对传统蚁群算法的改进,将蚁群分成两种蚁群:供给蚁群和需求蚁群。两个蚁群都是处在处理好的交叉网格区域中。供给蚁群从起点出发前去目标地点,需求蚁群从目标地点出发前往起点。定义两群蚂蚁的速度相同的,规模一样,信息素可相互识别。前进的策略为上述的改进蚁群算法策略。当两个蚁群最早相遇的时候,由于两个蚁群之间的信息素可以相互识别,那么可以认为当供求蚁群和需求蚁群最早相遇时蚁群交换信息,则双方返回所需的时间就是最短的,所以最早相遇的两群蚂蚁走过的路径相连接可以视为供给地区和需求地区的最短的路径,则得出两个蚂蚁相遇时为本次迭代时的最优解,也是全局最优解。

若还需继续寻找次优路径,则所有蚂蚁完成一次周游时,将蚂蚁最早相遇点加入禁忌表,各路径上的信息素按照公式5和公式6的规则进行更新:

τij(t+1)=(1-ρ)·τij(t)+δτij,公式5;

式中:τij(t)为在边lij上的信息素的含量;δτij为在一次迭代中边lij上的信息素的增量;为在一次迭代中,第k只蚂蚁(即某一时刻)留在边lij上的信息素;

其中,信息素增量的计算方式为公式7:

蚂蚁k在本次周游中经过路径lij;lk为第k只蚂蚁在本次周游中所走的路径长度;lt为t时刻两个蚂蚁相遇时的最优路径;lk为t时刻两个蚂蚁相遇时的全局最优路径;为t时刻两个蚂蚁相遇时为本次迭代时的最优解;为全局最优解。

步骤5,通过双向蚁群算法模型进行管道动态规划:

供水蚁群和需水蚁群均使用统一方法,如图2所示为一种基于双向蚁群与动态规划的管道布设方法的流程图,在图2中,“y”表示是,“n”表示否。

初始化,将m只蚂蚁随机投放到n个数据点,同时将每只蚂蚁的禁忌表tabuk的第一个元素设置为它当前所在的数据点,此时各个边上的信息素含量是相同的,并设τij(0)=c,其中,c为常数;

每只蚂蚁根据各条路径的信息素含量选择下一个数据点,t时刻,蚂蚁k从数据点i选择数据点j的转移概率

如果j=jk(i),否则同时将数据点j加入到自己的禁忌表tabuk下次不再选择数据点j,此时jk(i)={1,2,...,n}-tabuk。

当所有n个数据点都加入到禁忌表tabuk中时,蚂蚁k便完成了一次周游,此时,蚂蚁k所走过的路径便是可行解;

当所有蚂蚁完成一次周游时,各路径上的信息素按照下列规则进行更新:

当供水蚂蚁和需水蚂蚁第一次相遇时,则得到管道规划的最短路径,即是最优规划管道路径。

优选地,将欲规划区域进行网格化处理,如果将整个规划同时进行管道动态规划,这个需要规划的管道网络的规模会非常的大,描述根据蚁群算法的(优缺点)。将采用改进的算法为双向蚁群算法,并且会采用并行运算,将居民区范围内再进行相同的网格化细分,主干道与居民区内的细管道会并行运算,再一次节省时间复杂度。

本公开的实施例提供的一种基于双向蚁群与动态规划的管道布设装置,如图3所示为本公开的一种基于双向蚁群与动态规划的管道布设装置图,该实施例的一种基于双向蚁群与动态规划的管道布设装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于双向蚁群与动态规划的管道布设装置实施例中的步骤。

所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:

网格化处理单元,用于将所需要规划的地区进行网格化处理并进行管道主干和分支规划得到地区网格;

蚁群定义单元,用于定义地区网格中供水蚁群、需水蚁群;

模型构建单元,用于构建双向蚁群算法模型;

规则设置单元,用于设置双向蚁群算法模型规则;

动态规划单元,用于通过双向蚁群算法模型进行管道动态规划。

所述一种基于双向蚁群与动态规划的管道布设装置可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种基于双向蚁群与动态规划的管道布设装置,可运行的装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种基于双向蚁群与动态规划的管道布设装置的示例,并不构成对一种基于双向蚁群与动态规划的管道布设装置的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种基于双向蚁群与动态规划的管道布设装置还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种基于双向蚁群与动态规划的管道布设装置运行装置的控制中心,利用各种接口和线路连接整个一种基于双向蚁群与动态规划的管道布设装置可运行装置的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种基于双向蚁群与动态规划的管道布设装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1