一种并行均衡的多路线规划方法与流程

文档序号:15493394发布日期:2018-09-21 21:06阅读:228来源:国知局

本发明涉及一种并行均衡的多路线规划方法,属于信息技术领域。



背景技术:

旅行商问题(travelingsalesmanproblem,tsp)是典型的组合优化问题,已被证明属于np-hard问题。tsp问题是指:有n个城市,要求旅行商到达每个城市且仅有一次,并回到起点,使得总路线最短,它在许多领域都有着相当广泛的应用,而一些复杂的实际应用问题不能归纳为tsp问题,其中涉及到多个任务的分配与优化,问题就演变为多旅行商问题(multipletravelingsalesmanproblem,mtsp)。mtsp问题是指:有n个城市,要求m个旅行商各自从一个城市出发,每个旅行商访问其中一定数量的城市,最后回到其出发城市,要求每个城市有且仅有一次被一位旅行商访问,使得多个旅行商访问的总路线长度最短。mtsp的应用性十分广泛,包括:应急车辆调度、配送车辆分派、管道铺设路线选择、通讯网络拓扑设计、快递配送路线规划、工业流程生产调度等,都可以抽象为mtsp问题。由于mtsp的复杂度更高,求解难度也更大,且目前对于mtsp问题的研究也相对较少。因此,社会发展的需求导致mtsp问题逐渐成为新的研究热点。

对于多旅行商问题(multipletravelingsalesmanproblem,mtsp),目前主要存在以下几个难点:

(1)对于旅行商访问节点的合理分配问题,不合理的节点分配,直接导致旅行商访问结果的差异化较大,影响总体访问效率。因此,需要对每个旅行商的访问任务进行均衡合理分配。

(2)多旅行商问题的复杂度高于传统旅行商问题,其求解难度也更大,需要找到一种可靠稳定的算法,能够在保证求解效率的同时,提升求解的质量。

(3)随着多旅行商问题规模的扩大,其计算复杂度呈指数级增加,需要合理控制搜索范围和规模,在保证收敛速度的同时,增强算法的全局搜索能力。



技术实现要素:

本发明所要解决的技术问题是提供一种能够有效提高求解效率,缩短多个旅行商访问总路线长度,使每个旅行商的访问任务得到合理分配的并行均衡的多路线规划方法,。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种并行均衡的多路线规划方法,基于各个旅行商,实现多目标位置节点的集合划分,以及各集合中目标位置节点的路径规划;其中,多目标位置节点的数量大于旅行商的数量,其特征在于,包括如下步骤:

步骤a.初始化目标位置节点集合v={vn|n=1,…,n},n表示目标位置节点的数量;以及初始化各个旅行商分别一一对应的c1、…、cm、…、cm各访问集合,并针对各个访问集合cm,定义访问集合上限容量为m表示旅行商的数量,然后进入步骤b;

步骤b.定义m=1,由目标位置节点集合v中随机选择一个目标位置节点,作为cm访问集合的集合中心,并在目标位置节点集合v中删除该目标位置节点,然后进入步骤c;

步骤c.判断m+1是否大于m,是则即针对所有访问集合,获得各个访问集合cm的集合中心,并进入步骤f;否则进入步骤d;

步骤d.分别针对目标位置节点集合v中的各个目标位置节点,获得目标位置节点分别到各个具有集合中心的访问集合的欧几里得距离dnm,并获得其中的最短欧几里得距离,作为该目标位置节点所对应的最短欧几里得距离,进而获得目标位置节点集合v中各目标位置节点所对应最短欧几里得距离之和sum,然后进入步骤e;

步骤e.在0至sum范围中任取一个整数值ram,并按目标位置节点集合v中各目标位置节点的标号顺序,以及各个具有集合中心的访问集合的标号顺序,依次遍历目标位置节点集合v中各目标位置节点分别对应各具有集合中心的访问集合的欧几里得距离dnm,若ram-dnm的值小于或等于0,则直接将该dnm所对应的目标位置节点,作为cm+1访问集合的集合中心,并停止遍历,以及在目标位置节点集合v中删除该目标位置节点,然后针对m的值进行加1更新,并返回步骤c;

步骤f.获得目标位置节点集合v中各个目标位置节点分别到各个访问集合cm的集合中心的欧几里得距离,并进入步骤g;

步骤g.以单次循环方式,依次针对各个访问集合,基于访问集合中已存在目标位置节点的数量,以及访问集合上限容量为b,将距离该访问集合cm的集合中心、最小欧几里得距离所对应的一个目标位置节点,加入至该访问集合cm当中,并在目标位置节点集合v中删除该目标位置节点;如此依次进行各个单次循环,直至目标位置节点集合v为空集;即完成目标位置节点集合v中所有目标位置节点,向各个访问集合的分配,然后进入步骤h;

步骤h.基于各个访问集合cm分别所包含的目标位置节点,分别获得各个访问集合cm中的新集合中心,然后判断是否存在原集合中心与新集合中心彼此不一致的访问集合,是则进入步骤i;否则进入步骤j;

步骤i.分别针对各个访问集合cm,首先采用新集合中心替换原集合中心,接着将访问集合中除集合中心以外的全部目标位置节点,加入至目标位置节点集合v当中,并删除该访问集合中除集合中心以外的全部目标位置节点,进而更新所有访问集合,然后返回步骤f;

步骤j.计算获得各个访问集合cm分别所对应的全局最优路线访问顺序,最后由各个旅行商分别针对其所对应的访问集合,按访问集合所对应的全局最优路线访问顺序,针对访问集合中各个目标位置节点依次进行访问。

作为本发明的一种优选技术方案:所述步骤d中,分别针对目标位置节点集合v中的各个目标位置节点,按如下公式:

获得目标位置节点分别到各个具有集合中心的访问集合的欧几里得距离dnm,其中,表示第m个访问集合的集合中心,dnm表示目标位置节点集合v中第n个目标位置节点与第m个访问集合的集合中心之间的欧几里得距离。

作为本发明的一种优选技术方案,所述步骤g包括如下步骤:

步骤g1.判断目标位置节点集合v是否为空集,是则即完成目标位置节点集合v中所有目标位置节点,向各个访问集合的分配,然后进入步骤h;否则进入步骤g2;

步骤g2.定义m=1,并进入步骤g3;

步骤g3.判断访问集合cm中已存在目标位置节点的数量,是否等于访问集合上限容量为b,是则进入步骤g4;否则将距离访问集合cm、最小欧几里得距离所对应的一个目标位置节点,加入至访问集合cm当中,并在目标位置节点集合v中删除该目标位置节点,然后进入步骤g4;

步骤g4.判断m是否等于m,是则返回步骤g1;否则针对m的值进行加1更新,并返回步骤g3。

作为本发明的一种优选技术方案:所述步骤h中,基于各个访问集合cm分别所包含的目标位置节点,按如下公式:

分别获得各个访问集合cm中的新集合中心,其中,表示属于第m个访问集合的第n个目标位置节点的横坐标,表示属于第m个访问集合的第n个目标位置节点的纵坐标,表示第m个访问集合的集合中心的横坐标,表示第m个访问集合的集合中心的纵坐标,表示第m个访问集合中目标位置节点的个数。

作为本发明的一种优选技术方案,所述步骤j中,分别针对各个访问集合cm,可并行执行如下步骤j1至步骤j7,分别获得各个访问集合cm分别所对应的全局最优路线访问顺序,最后由各个旅行商分别针对其所对应的访问集合,按访问集合所对应的全局最优路线访问顺序,针对访问集合中各个目标位置节点依次进行访问;

步骤j1.初始化参数,设置粒子为xi,i=1,2,…,i,访问集合cm中目标位置节点的个数为粒子个体的感知范围吸引系数β、最大迭代次数tmax参数,然后进入步骤j2;

步骤j2.采用切比雪夫混沌映射生成由i个粒子组成的初始种群,分别针对各粒子xi,获得粒子xi所对应一组解路径为代表粒子xi所对应解路径中、途经的第l个城市,根据如下公式:

计算各粒子xi所对应解路径长度f(xi),再根据如下公式:

计算各粒子xi的绝对吸引度然后进入步骤j3;

步骤j3.根据如下公式:

计算粒子xp和粒子xq之间的距离其中,p=1,2,…,i,q=1,2,…,i,粒子xp所对应一组解路径为粒子xq所对应一组解路径为

再根据如下公式:

计算群体中各粒子之间的相对吸引度然后进入步骤j4;其中,l0表示粒子绝对吸引度的初值,由绝对吸引度的目标函数所决定,β表示预设吸引系数,且β∈[0,1],e表示自然对数的底数;

步骤j4.根据如下公式:

计算各粒子xp移向邻域集内粒子xq的选择概率其中,表示粒子xp在t时刻邻居的集合,t表示迭代次数,然后进入步骤j5;

步骤j5.通过轮盘赌的方式进行位置选择,计算更新粒子的位置,重新计算各粒子之间的相对吸引度然后进入步骤j6;

步骤j6.计算各粒子所对应解路径长度,并判断是否满足最大迭代次数tmax,是则获得全局最优值,以及访问集合cm所对应的全局最优路线访问顺序;否则进入步骤j7;

步骤j7.针对各粒子分别所对应的解路径,调用c2opt算子进行局部调整优化,然后返回步骤j3。

本发明所述一种并行均衡的多路线规划方法采用以上技术方案与现有技术相比,具有以下技术效果:

(1)本发明所设计并行均衡的多路线规划方法,先通过集合划分的方式将mtsp问题转化为tsp问题,在划分的同时考虑到节点数量的合理分配,保证旅行商访问任务的均衡性,再通过路线规划算法对多个tsp问题进行快速有效求解,具有较高的实用性;

(2)本发明所设计并行均衡的多路线规划方法中,通过引入任务均分的概念,加入集合容量限制,使得分配后的集合中节点个数较为均匀,实现多旅行商任务的均衡分配,保证了总体访问效率。此外,通过引入切比雪夫映射,对粒子进行初始化操作,提高初始解的分布质量和种群的多样性,并引入c2opt算子进行局部调整优化,增强算法的收敛速度,缩短多个旅行商访问的总路线长度和访问时间,实现每个旅行商都能够快速访问多个节点并回到起始节点,使算法性能得到保证。

附图说明

图1是本发明所设计并行均衡的多路线规划方法的流程图;

图2a至图2d是本发明所适用的任务均分的多旅行商问题示意图;

图3是本发明所适用的c2opt算子的操作过程。

具体实施方式

下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。

本发明设计了一种并行均衡的多路线规划方法,对多旅行商问题想快速有效求解,此算法所适用的多旅行商问题,如图2a至图2d所示。其基本思想是先通过集合划分的方式将mtsp问题转化为tsp问题,在划分的同时考虑到节点数量的合理分配,保证旅行商访问任务的均衡性,再通过路线规划算法对多个tsp问题进行快速有效求解,实现每个旅行商都能够快速访问多个节点并回到起始节点。

如图1所示,本发明设计了一种并行均衡的多路线规划方法,基于各个旅行商,实现多目标位置节点的集合划分,以及各集合中目标位置节点的路径规划;其中,多目标位置节点的数量大于旅行商的数量,实际应用中,具体包括如下步骤:

步骤a.初始化目标位置节点集合v={vn|n=1,…,n},n表示目标位置节点的数量;以及初始化各个旅行商分别一一对应的c1、…、cm、…、cm各访问集合,并针对各个访问集合cm,定义访问集合上限容量为m表示旅行商的数量,然后进入步骤b。

步骤b.定义m=1,由目标位置节点集合v中随机选择一个目标位置节点,作为cm访问集合的集合中心,并在目标位置节点集合v中删除该目标位置节点,然后进入步骤c。

步骤c.判断m+1是否大于m,是则即针对所有访问集合,获得各个访问集合cm的集合中心,并进入步骤f;否则进入步骤d。

步骤d.分别针对目标位置节点集合v中的各个目标位置节点,按如下公式:

获得目标位置节点分别到各个具有集合中心的访问集合的欧几里得距离dnm,并获得其中的最短欧几里得距离,作为该目标位置节点所对应的最短欧几里得距离,进而获得目标位置节点集合v中各目标位置节点所对应最短欧几里得距离之和sum,然后进入步骤e。其中,表示第m个访问集合的集合中心,dnm表示目标位置节点集合v中第n个目标位置节点与第m个访问集合的集合中心之间的欧几里得距离。

步骤e.在0至sum范围中任取一个整数值ram,并按目标位置节点集合v中各目标位置节点的标号顺序,以及各个具有集合中心的访问集合的标号顺序,依次遍历目标位置节点集合v中各目标位置节点分别对应各具有集合中心的访问集合的欧几里得距离dnm,若ram-dnm的值小于或等于0,则直接将该dnm所对应的目标位置节点,作为cm+1访问集合的集合中心,并停止遍历,以及在目标位置节点集合v中删除该目标位置节点,然后针对m的值进行加1更新,并返回步骤c。

步骤f.获得目标位置节点集合v中各个目标位置节点分别到各个访问集合cm的集合中心的欧几里得距离,并进入步骤g。

步骤g.以单次循环方式,依次针对各个访问集合,基于访问集合中已存在目标位置节点的数量,以及访问集合上限容量为b,将距离该访问集合cm的集合中心、最小欧几里得距离所对应的一个目标位置节点,加入至该访问集合cm当中,并在目标位置节点集合v中删除该目标位置节点;如此依次进行各个单次循环,直至目标位置节点集合v为空集;即完成目标位置节点集合v中所有目标位置节点,向各个访问集合的分配,然后进入步骤h。

上述步骤g具体实际应用中,包括如下步骤:

步骤g1.判断目标位置节点集合v是否为空集,是则即完成目标位置节点集合v中所有目标位置节点,向各个访问集合的分配,然后进入步骤h;否则进入步骤g2。

步骤g2.定义m=1,并进入步骤g3。

步骤g3.判断访问集合cm中已存在目标位置节点的数量,是否等于访问集合上限容量为b,是则进入步骤g4;否则将距离访问集合cm、最小欧几里得距离所对应的一个目标位置节点,加入至访问集合cm当中,并在目标位置节点集合v中删除该目标位置节点,然后进入步骤g4。

步骤g4.判断m是否等于m,是则返回步骤g1;否则针对m的值进行加1更新,并返回步骤g3。

步骤h.基于各个访问集合cm分别所包含的目标位置节点,按如下公式:

分别获得各个访问集合cm中的新集合中心,然后判断是否存在原集合中心与新集合中心彼此不一致的访问集合,是则进入步骤i;否则进入步骤j。其中,表示属于第m个访问集合的第n个目标位置节点的横坐标,表示属于第m个访问集合的第n个目标位置节点的纵坐标,表示第m个访问集合的集合中心的横坐标,表示第m个访问集合的集合中心的纵坐标,表示第m个访问集合中目标位置节点的个数。

步骤i.分别针对各个访问集合cm,首先采用新集合中心替换原集合中心,接着将访问集合中除集合中心以外的全部目标位置节点,加入至目标位置节点集合v当中,并删除该访问集合中除集合中心以外的全部目标位置节点,进而更新所有访问集合,然后返回步骤f。

步骤j.计算获得各个访问集合cm分别所对应的全局最优路线访问顺序,最后由各个旅行商分别针对其所对应的访问集合,按访问集合所对应的全局最优路线访问顺序,针对访问集合中各个目标位置节点依次进行访问。

上述步骤j在实际具体应用中,分别针对各个访问集合cm,可并行执行如下步骤j1至步骤j7,分别获得各个访问集合cm分别所对应的全局最优路线访问顺序,最后由各个旅行商分别针对其所对应的访问集合,按访问集合所对应的全局最优路线访问顺序,针对访问集合中各个目标位置节点依次进行访问;

步骤j1.初始化参数,设置粒子为xi,i=1,2,…,i,访问集合cm中目标位置节点的个数为粒子个体的感知范围吸引系数β、最大迭代次数tmax参数,然后进入步骤j2。

步骤j2.采用切比雪夫混沌映射生成由i个粒子组成的初始种群,分别针对各粒子xi,获得粒子xi所对应一组解路径为代表粒子xi所对应解路径中、途经的第l个城市,根据如下公式:

计算各粒子xi所对应解路径长度f(xi),再根据如下公式:

计算各粒子xi的绝对吸引度然后进入步骤j3;绝对吸引度表示粒子xi对其他粒子产生的吸引程度,代表着解的优劣程度,路线长度越小,粒子的绝对吸引度越大。

步骤j3.在tsp问题中,每个粒子代表一组经过bcm个节点的随机序列,根据如下公式:

计算粒子xp和粒子xq之间的距离其中,p=1,2,…,i,q=1,2,…,i,粒子xp所对应一组解路径为粒子xq所对应一组解路径为

再根据如下公式:

计算群体中各粒子之间的相对吸引度然后进入步骤j4;其中,l0表示粒子绝对吸引度的初值,由绝对吸引度的目标函数所决定,β表示预设吸引系数,且β∈[0,1],e表示自然对数的底数。

步骤j4.每个粒子xp在其感知范围内,选择吸引度比自己大的粒子组成其领域集因此,粒子xp按照如下公式:

计算各粒子xp移向邻域集内粒子xq的选择概率其中,表示粒子xp在t时刻邻居的集合,t表示迭代次数,然后进入步骤j5。

步骤j5.通过轮盘赌的方式进行位置选择,计算更新粒子的位置,重新计算各粒子之间的相对吸引度然后进入步骤j6。

步骤j6.计算各粒子所对应解路径长度,并判断是否满足最大迭代次数tmax,是则获得全局最优值,以及访问集合cm所对应的全局最优路线访问顺序;否则进入步骤j7。

步骤j7.针对各粒子分别所对应的解路径,调用c2opt算子进行局部调整优化,然后返回步骤j3。

如图3所示,说明c2opt算子的操作过程。

设v={vi|i=1,2,…,bcm}表示待访问节点,d(vi,vj)表示任意两个节点vi和vj之间的距离,c2opt算子实现的步骤描述如下:

步骤1.选取一路径v={v1,…,vi,vi+1,…,vj,vj+1,…,vb}。开始时,i=j=1。

步骤2.选取一条边记为no.1:(vi,vi+1),其中i<b。

步骤3.选取一条边记为no.2:(vj,vj+1),其中j<b。

步骤4.若|j-(i+1)|≥2且d(vi,vj)+d(vi+1,vj+1)<d(vi,vi+1)+d(vj,vj+1),则用2-opt算子删除边(vi,vi+1)和(vj,vj+1);然后,分别连接边(vi,vj)和边(vi+1,vj+1),且分别以相反箭头指向顶点vi+1和vj;

步骤5.以vj作为no.2边遍历开始的节点,置j=j+1,重复执行步骤3和步骤4,直到j=b;

步骤6.以vi作为no.1边遍历开始的节点,置i=i+1,重复执行步骤2至步骤5,直到i=b;

步骤7.重复执行步骤2至6,直到所选取路径无交叉边为止。

本发明所设计一种并行均衡的多路线规划方法,能够对复杂的多出发点多旅行商问题进行快速有效的求解。通过引入任务均分的概念,加入集合容量限制,在划分集合的同时,考虑到为每个旅行商访问节点进行合理分配,使得分配后的集合中节点个数较为均匀,同时考虑到节点分配的均衡性,保证了总体访问效率;而且通过引入切比雪夫映射,对粒子进行初始化操作,提高初始解的分布质量和种群的多样性,合理控制搜索范围和规模,增强算法的全局搜索能力,并引入c2opt算子进行局部调整优化,增强算法的收敛速度,能够有效提高多出发点多旅行商问题的求解精度和收敛速度,缩短多个旅行商访问的总路线长度和访问时间,实现每个旅行商都能够快速访问多个节点并回到起始节点,找到访问节点的最短路径,使算法性能得到保证。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

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