发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,提出一种实现最短哈密尔顿回路的路径规划方法、设备及存储介质,能兼顾稳定和唯一的最短哈密尔顿回路的路径规划。
第一方面,根据本申请实施例提供了一种实现最短哈密尔顿回路的路径规划方法,包括:
1)设定先知条件:
确定起止点以及多个途经点,并将所述起止点Ps、多个所述途经点组合得到点集KP;其中,所述途经点的个数m大于等于10;
根据点集KP中任意两点之间的最短路程,生成最短路程矩阵PTP;
2)途经点降序处理:
根据最短路程矩阵PTP,对多个所述途经点降序处理,得到序列集PS;
3)直角坐标转换处理:
从所述序列集PS取出途经点PS[i]作为分界点;其中,PS[i]表示所述序列集PS第i个途经点;
建立以所述起止点Ps为原点、分界点PS[i]为x坐标轴点的新直角坐标系;
通过所述坐标组合公式,计算得到所述点集KP在所述新直角坐标系下对应的点集NKP=Ps'∪{PS'[j]},j=1,2,3...,m;其中,坐标组合公式如下:
Ps'.x=cs×(Ps.x-Ps.x)+sn×(Ps.y-Ps.y) (3)
Ps'.y=-sn×(Ps.x-Ps.x)+cs×(Ps.y-Ps.y) (4)
P'[j].x=cs×(P[j].x-Ps.x)+sn×(P[j].y-Ps.y) (5)
P'[j].y=-sn×(P[j].x-Ps.x)+cs×(P[j].y-Ps.y) (6)
其中,PS[i]为分界点,PS[i].x、PS[i].y分别表示PS[i]的x坐标值和y坐标值;Ps'为所述新直角坐标系的原点坐标,Ps'.x、Ps'.y分别表示Ps'的x坐标值和y坐标值;P'[j],j=1,2,3...,m为待计算的途经点P[j]在所述新直角坐标系中的坐标;P'[j].x、P'[j].y分别表示P'[j]的x坐标值和y坐标值;
4)分类处理:
根据所述点集NKP中途经点在所述新直角坐标系的象限分布,将多个所述途经点分为下象限点集合DKP以及上象限点集合UKP;
5)下象限规划处理:
按照所述下象限点集合DKP中每个元素的x坐标值进行升序处理,得到路径规划矩阵NM1i和下象限路径规划图GPA1i;
6)上象限规划处理:
按照所述上象限点集合UKP中每个元素的x坐标值进行降序处理,得到路径规划矩阵NM2i和上象限路径规划图GPA2i;
7)合并处理:
合并所述路径规划矩阵NM1i以及所述路径规划矩阵NM2i,得到所述分界点PS[i]对应的路径规划结果矩阵NMR1i;
合并下象限路径规划图GPA1i、上象限路径规划图GPA2i,得到分界点PS[i]对应的路径规划图GAi;
根据所述路径规划结果矩阵NMR1i、对应的所述路径规划图GAi,计算得到所述分界点PS[i]对应的总路程值Si;
8)最短路径计算:
重复执行步骤3)至步骤7)直至所述序列集PS中所有途径点都已经被选取过,以得到所述序列集PS中每个途经点对应的总路程值Si以及路径规划图GAi;
在所有所述途经点对应的总路程值Si中,选择最短的总路程值Sst以及所述最短的总路程值Sst对应的路径规划图GAst作为最短哈密尔顿回路的路径规划结果。
第二方面,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时如第一方面任意一项所述的实现最短哈密尔顿回路的路径规划方法。
第三方面,本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行第一方面任意一项所述的实现最短哈密尔顿回路的路径规划方法。
根据本申请的上述实施例,至少具有如下有益效果:通过对设定的点集KP进行降序以及生成对应的最短路程矩阵PTP,并对排序后的点集KP中每一途经点进行直角坐标转换处理、分类处理、下象限规划处理、上象限规划处理以及合并处理,以得到每一途经点对应的总路程值Si以及路径规划图GAi,从而根据所有的总路程值Si以及路径规划图GAi计算得到稳定且唯一的最短的总路程值Sst以及最短的总路程值Sst对应的路径规划图GAst。相对于现有技术,本申请对于每个途经点均进行了计算,在多次计算后得到的最短哈密尔顿回路的路径规划均相同,因此本申请的实施例能实现兼顾稳定和唯一的最短哈密尔顿回路的路径规划。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。需要理解的是,涉及到步骤说明,仅是为了便于描述本申请,而不是对本申请中执行顺序的限制。需说明的是,涉及到若干,则表示至少一个。
路径规划,尤其是多目的地址的回路规划,如旅游,从初始地出发,经过多个旅游目的地后回到初始地,又或是快递配送,从快递站出发经过多个派送地后回到快递站等,通常借助于算法对输入的地理位置信息进行路径规划,以更加高效稳定的计算出路程最短的路径规划。传统的路径规划大致分为5类,具体如下:
(一)各种规律算法,如节省里程算法、最近点算法等,它们虽然高效,但都不能稳定的找到最短路径。
(二)全排列相关的算法,如全排列法、分支界限法等,其中全排列算法是最先能找到最短路径的方法,但它效率很低,而其它的算法都是它的衍生的算法,它们都是稳定的能找到最短路径的方法,但效率较低,无法满足现实需求。
(三)各模拟算法,如蚁群算法、鱼群算法、粒子群算法、退火算法等,它都是模拟现实现象算法,它的特点就是,如果想高效,那么它们找到最短路径的机率就很低,如果要提高找到最短路径的机率,那么该方法的效率就很低。
(四)人工智能算法,效果与上面的算法类似,但它需要人为对机器进行训练,依赖于人为提供样本的数量,训练过程十分困难。
(五)各种随机算法,该算法是通过上述其中一个算法的结果,在结果中多次随机变换路径,以求找到最短路径,该方法具有随机性,相同地址输入其路径的输出不同,因此其路径规划的稳定性不强。
因此,本申请实施例提供一种实现最短哈密尔顿回路的路径规划方法及相关装置,能兼顾稳定和唯一的最短哈密尔顿回路的路径规划,可广泛应用与旅游、物流等行业。
参照图1所示的实施例,本申请实施例提供一种实现最短哈密尔顿回路的路径规划方法,包括:
1)设定先知条件:
步骤一:确定起止点以及多个途经点,并将起止点Ps、多个途经点组合得到点集KP;其中,途经点的个数m大于等于10。
需说明的是,点集KP中每个点均对应一个地理位置信息,如经纬度,可采用坐标进行处理。
示例性的,以途径点设置有11个为例,参照图1所示,起止点Ps和11个途经点P[1]~P[11]可形成一个完全图且为平面图。图1中所有的边都是直线,路程代表直线的长度。起止点Ps坐标为Ps(78,59),11个途经点坐标分别为P[1](62,96)、P[2](76,113)、P[3](91,97)、P[4](111,116)、P[5](129,96)、P[6](144,71)、P[7](125,55)、P[8](128,35)、P[9](81,31)、P[10](54,45)、P[11](150,89)。
步骤二、根据点集KP中任意两点之间的最短路程,生成最短路程矩阵PTP。
需说明的是,最短路程矩阵PTP的每一行、每一列均与点集KP中的元素点一一对应,假设参照图1所示的实施例,最短路程矩阵PTP如下:
以PTP[P[1],P[2]]为例,其表示P[1]到P[2]的距离为16。
2)途经点降序处理:
根据最短路程矩阵PTP,对多个途经点降序处理,得到序列集PS。
参照图1所示的实施例,序列集PS中所有元素依次为PS[1](150,89)、PS[2](144,71)、PS[3](111,116)、PS[4](129,96)、PS[5](128,35)、PS[6](76,113)、PS[7](125,55)、PS[8](62,96)、PS[9](91,97)、PS[10](54,45)、PS[11](81,31)。
3)直角坐标转换处理:
步骤一:从序列集PS取出途经点PS[i]作为分界点;其中,PS[i]表示序列集PS第i个途经点。
需说明的是,对于每个重复处理过程中,分界点PS[i]是依次从序列集PS中提取的,如第一次提取第一个元素,即对于第一次提取而言,分界点PS[i]为PS[1](150,89)。
步骤二:建立以起止点Ps为原点、分界点PS[i]为x坐标轴点的新直角坐标系。
步骤三、通过坐标组合公式,计算得到点集KP在新直角坐标系下对应的点集NKP=Ps'∪{P'[j]},j=1,2,3...,m。其中,坐标组合公式如下:
Ps'.x=cs×(Ps.x-Ps.x)+sn×(Ps.y-Ps.y) (3)
Ps'.y=-sn×(Ps.x-Ps.x)+cs×(Ps.y-Ps.y) (4)
P'[j].x=cs×(P[j].x-Ps.x)+sn×(P[j].y-Ps.y) (5)
P'[j].y=-sn×(P[j].x-Ps.x)+cs×(P[j].y-Ps.y) (6)
其中,PS[i]为分界点,PS[i].x、PS[i].y分别表示PS[i]的x坐标值和y坐标值;Ps'为新直角坐标系的原点坐标,Ps'.x、Ps'.y分别表示Ps'的x坐标值和y坐标值;P'[j]为待计算的途经点P[j]在新直角坐标系中的坐标;P'[j].x、P'[j].y分别表示P'[j]的x坐标值和y坐标值。
需说明的是,当分界点PS[i]确定后,可以确定sn、cs的值,通过该公式可以提升计算机的计算效率。当sn、cs确定后,可以通过公式(3)~公式(4)计算得到该新直角坐标系下起止点Ps对应的坐标Ps',通过公式(5)、公式(6)可以计算得到该新直角坐标系下每个途经点P[j]对应的坐标P'[j]。
示例性的,参照图1所示的实施例,以分界点PS[1](150,89)为例,此时点集NKP中的元素坐标依次为Ps'(0,0)、P'[1](-0.6,40.3)、P'[2](18.9,50.6)、P'[3](26.6,30.1)、P'[4](52.4,39.9)、P'[5](61.3,14.6)、P'[6](65.5,-14.3)、P'[7](41.9,-21.7)、P'[8](36.9,-41.4)、P'[9](-7,-27)、P'[10](-27.5,-3.7)、P'[11](78,0);其分别对应了Ps(78,59)、P[1](62,96)、P[2](76,113)、P[3](91,97)、P[4](111,116)、P[5](129,96)、P[6](144,71)、P[7](125,55)、P[8](128,35)、P[9](81,31)、P[10](54,45)、P[11](150,89)。此时,起止点、各途经点在新直角坐标系中的位置如图2所示。
4)分类处理:
根据点集NKP中途经点在新直角坐标系的象限分布,将多个途经点分为下象限点集合DKP以及上象限点集合UKP。
需说明的是,将位于第3和第4象限的点以及坐标轴上的点组合得到下象限点集合DKP,将位于第1和第2象限的点以及坐标轴上的点组合得到上象限点集合UKP。参照图2所示的象限分布图,分界点PS[1](150,89)对应的下象限点集合DKP={Ps,P[6],P[7],P[8],P[9],P[10],P[11]},分界点PS[1](150,89)对应的上象限点集合UKP={Ps,P[1],P[2],P[3],P[4],P[5],P[11]}。
5)下象限规划处理:
按照下象限点集合DKP中每个元素的x坐标值进行升序处理,得到路径规划矩阵NM1i和下象限路径规划图GPA1i。
示例性的,参照图2所示,则根据下象限点集合DKP中每个元素的x坐标值进行升序排序后,按照升序排序的顺序依次连接下象限点集合DKP中每个元素,则可以得到如图3所示的下象限路径规划图GPA11。
示例性的,参照升序排序的顺序,可以得到分界点PS[1](150,89)对应的路径规划矩阵NM11如下:
6)上象限规划处理:
按照上象限点集合UKP中每个元素的x坐标值进行降序处理,得到路径规划矩阵NM2i和上象限路径规划图GPA2i。
示例性的,参照图2所示,则根据上象限点集合UKP中每个元素的x坐标值进行降序排序后,按照降序排序的顺序依次连接上象限点集合UKP中每个元素,则可以得到如图4所示的下象限路径规划图GPA21。
示例性的,参照降序排序的顺序,可以得到分界点PS[1](150,89)对应的路径规划矩阵NM21如下:
7)合并处理:
步骤一:合并路径规划矩阵NM1i以及路径规划矩阵NM2i,得到分界点PS[i]对应的路径规划结果矩阵NMR1i。
需说明的是,通过矩阵的加法可以将路径规划矩阵NM1i以及路径规划矩阵NM2i合并。示例性的,参照图3、图4所示的实施例,可以得到分界点PS[1](150,89)对应的路径规划结果矩阵NMR11如下:
步骤二、合并下象限路径规划图GPA1i、上象限路径规划图GPA2i,得到分界点PS[i]对应的路径规划图GAi。
需说明的是,参照图3、图4所示的实施例,得到分界点PS[1](150,89)对应的路径规划图GA1如图5所示。需说明的是,图3、图4、图5所示的箭头方向表示的途经点之间的相对方向,实际应用中,也可以参照图5所示的规划进行逆向出行。
步骤三、根据路径规划结果矩阵NMR1i、对应的路径规划图GAi,计算得到分界点PS[i]对应的总路程值Si。
需说明的是,将路径规划结果矩阵NMR1i中有值的矩阵元素进行累加,可以得到总路程值Si。以分界点PS[1](150,89)为例,计算得到的总路程值S1为250公里。
8)最短路径计算:
步骤一、重复执行步骤3)至步骤7)直至序列集PS中所有途径点都已经被选取过,以得到序列集PS中每个途经点对应的总路程值Si以及路径规划图GAi。
步骤二、在所有途经点对应的总路程值Si中,选择最短的总路程值Sst以及最短的总路程值Sst对应的路径规划图GAst作为最短哈密尔顿回路的路径规划结果。
示例性的,参照图1至图4所示的实施例,则当途经点P[1]~P[11]分别作为分界点时,可以得到P[1]对应的总路程值S1=250以及图5所示的路径规划图GA1,P[2]对应的总路程值S2=268以及图6所示的路径规划图GA2,P[3]对应的总路程值S3=305以及图7所示的路径规划图GA3,P[4]对应的总路程值S4=250以及图8所示的路径规划图GA4,P[5]对应的总路程值S5=304以及图9所示的路径规划图GA5,P[6]对应的总路程值S6=275以及图10所示的路径规划图GA9,P[7]对应的总路程值S7=280以及图11所示的路径规划图GA7,P[8]对应的总路程值S8=292以及图12所示的路径规划图GA8,P[9]对应的总路程值S9=291以及图13所示的路径规划图GA9,P[10]对应的总路程值S10=361以及图14所示的路径规划图GA10,P[11]对应的总路程值S11=326以及图15所示的路径规划图GA11。因此,可以得知S1和S4路程最短,其对应的路径规划图相同。
需说明的是,实际应用中,可以将计算出的所有总路程值均输出,并将最短的作为推荐路线输出。在另一些实施例中,将该方法应用于导航时,会根据路径规划图显示出每个途经点之间的经过顺序。
因此,通过对设定的点集KP进行降序以及生成对应的最短路程矩阵PTP,并对排序后的点集KP中每一途经点进行直角坐标转换处理、分类处理、下象限规划处理、上象限规划处理以及合并处理,以得到每一途经点对应的总路程值Si以及路径规划图GAi,从而根据所有的总路程值Si以及路径规划图GAi计算得到稳定且唯一的最短的总路程值Sst以及最短的总路程值Sst对应的路径规划图GAst。相对于现有技术,本申请对于每个途经点均进行了计算,在多次计算后得到的最短哈密尔顿回路的路径规划均相同,因此本申请的实施例能实现兼顾稳定和唯一的最短哈密尔顿回路的路径规划。
需说明的是,以点集KP的数量为12为例,本申请实施例的计算复杂度与传统算法比较如下:
(一)全排列算法的计算复杂度:
1、本实例总共有12个点,但由于起止点Ps在排列中的位置是不变的,所以,实质上在排列的过程中,只有11个点在进行排列。
2、11个点的全排列的序列数为11!=11*10*9*8*7*6*5*4*3*2*1=39916800。
3、每个序列都要计算11次加法才知道路程,因此计算量为11!*11=439084800次约为4亿次。
4、所有路程计算完毕后,再选出最小值,最小值对应的路径序列就是最短路径,这个步骤需要比较39916800-1次。
所以总的计算次数为39916800+439084800+39916800-1=518,918,399≈5.2亿次。
(二)本方法的计算复杂度:
1、在步骤2)中的途经点降序处理,排序中需要对数值进行比较,比较次数为10+9+8+7+6+5+4+3+2+1=55(次)。
2、在步骤3)直角坐标转换处理,其中计算sn和cs的值需要进行计算的次数为:6+6=12(次);计算Ps'.x和Ps'.y的坐标值需要进行计算的次数为:5+5=10(次);计算每一个点PS'[j]的坐标值需要进行计算的次数是10*11=110(次)。
3、在步骤4)中,对途经点进行分类,分为下象限点集合及上象限点集合;
对10个点的值进行判断,比较次数为10*1=10(次)。
4、在步骤5)下象限规划处理中,需要进行数值比较,比较次数为4+3+2+1=10(次)。
5、在步骤6)上象限路径规划中需要进行数值比较,比较次数为4+3+2+1=10(次)。
6、在步骤7)合并处理中,将把NM1i和NM2i相加,得路径规划结果矩阵NMR1i;这里要进行6次加法运算,NMR1i中的路程值进行求和得总路程值Si;这里要进行11次加法运算,因次计算11(次)。
7、步骤8)最短路径计算中重复步骤3)至7),需要(12+10+110+10+10+10+6+11)*11=1969次,且在进行最短的总路程值Sst比较时,需要10次,因此,总共需要计算1969+55+10=2034次。
综上所述,本申请实施例的计算方式远小于1亿,因此和传统的全排列算法对比,本申请的实施例计算效率更高。
可理解的是,步骤2)中根据最短路程矩阵PTP,对多个途经点降序处理,得到序列集PS,包括:
设定集合PsTP={PsTP[k](d,n)|PsTP[k].d=PTP[Ps,P[k]],PsTP[k].n=k},其中,1≤k≤m;P[k]表示点集KP中第k个途经点;PsTP[k](1,n)表示集合PsTP中第k个元素;PsTP[k].d表示P[k]到所述起止点Ps的最短路程,PsTP[k].n表示集合PsTP中第k个元素的k值。设定序列集MaxP={MaxP[k](d,n)},其中,1≤k≤m,MaxP[1]=MAX(PsTP),
1<j≤m;MaxP[1]=MAX(PsTP)表示将路程值最大的元素赋值给序列集MaxP的第一个元素;
表示在集合PsTP中找到路程值第j大的元素赋值给序列集MaxP的第j个元素。根据序列集MaxP,计算得到序列集PS={PS[j](x,y)|PS[j].x=P[MaxP[j].n].x,PS[j].y=P[MaxP[j].n].y},其中,1≤j≤m;PS[j](x,y)表示分界点PS[j],(x,y)表示坐标值。
需说明的是,集合PsTP中有m个元素,每个元素均包括两个值,以第k个元素为例,其包括PsTP[k].d以及PsTP[k].n两个值,其中,PsTP[k].d表示途经点P[k]到起止点Ps的路程值,PsTP[k].n代表是点集KP中第k个途经点的索引值。
需说明的是,MaxP={MaxP[k](d,n)}在初始设定时值为空,通过对序列集MaxP进行计算,从而给MaxP中每一元素赋值。
需说明的是,MAX()函数的意思是:对括号里的集合找最大值元素,而MAX(PsTP)的意思是,根据集合PsTP中的元素的路程值,找到路程值最大的元素。
需说明的是,
的意思是,在PsTP中找到路程值第j大的元素,并将其给与序列集MaxP中的第j个元素,这一赋给是整个元素的赋给,它包括路程值d和n的值。假设j的值为2,那么它相当于在PsTP找到一个除了路程值最大值外的另外一个最大的元素(即第2大的元素)。
可理解的是,步骤5)中,按照下象限点集合DKP中每个元素的x坐标值进行升序处理,得到路径规划矩阵NM1
i和下象限路径规划图GPA1
i,包括:设定集合GPAL={GPX(x,P)|GPX.x=GPX.P.x,GPX.P∈DKP};其中,GPX.x表示点P的x坐标值,GPX.P表示所述下象限点集合DKP的元素P;设定序列GPAR={GP[k](x,P)|1≤k≤card(DKP)};通过GP[1]=MIN(GPAL)以及
j=2,3,4,.......,card(DKP)确定下象限点集合DKP中所有元素的排列顺序;其中,GP[1]=MIN(GPAL)表示将集合GPAL中x坐标值最小的元素赋值给序列GPAR中第一个元素;
表示在集合GPAL中找到x坐标值第j小的元素赋值给GPAR中第j个元素;根据下象限点集合DKP中所有元素的排列顺序,生成下象限路径规划图GPA1
i。根据最短路程矩阵PTP,得到集合DKP对应的路径规划矩阵NM1
i。
需说明的是,GPX(x,P)表示集合GPAL的元素,每个GPX(x,P)均包括两个值,分别为x、P,其中,GPX.P表示下象限点集合DKP中的一个元素,GPX.P.x表示点P的x坐标值。GPAR集合的结构与GPAL一样,它是个数组,初始设定的时候,GPAR的每个元素为空,当经过GP[1]=MIN(GPAL)以及
j=2,3,4,.......,card(DKP)确定后进行赋值。MIN()函数的意思是:对括号里的集合找最小值元素,而MIN(GPAL)的意思是:根据GPAL集合中的元素的x坐标值,找到坐标值最小的元素。GP[1]=MIN(GPAL)的意思是:把坐标值最小的元素赋给GP[1],这一赋给是整个元素的赋给,它包括坐标值x和P点。
的意思是,在GPAL中找到坐标值第j小的元素,并给与GPAR中的第j个元素,假设j的值为2,那么它相当于在GPAL找到一个除了坐标值最小值外的另外一个最小的元素(即第2小的元素)。
可理解的是,步骤6)中根据最短路程矩阵PTP,对上象限点集合UKP降序处理,得到路径规划矩阵NM2i和上象限路径规划图GPA2i,包括:
设定集合BPAL={BPX(x,P)|BPX.x=BPX.P.x,BPX.P∈UKP};设定序列BPAR={BP[k](x,P)|1≤k≤card(UKP)};通过BP[1]=MAX(BPAL)以及
j=2,3,4,.......,card(UKP)确定上象限点集合UKP中所有元素的排列顺序;BP[1]=MAX(BPAL)表示将集合BPAL中最大的元素赋值给序列BPAR的第一个元素;
表示在集合BPAL中找到x坐标值第j大的元素赋值给序列BPAR中第j个元素;根据上象限点集合UKP中所有元素的排列顺序,生成上象限路径规划图GPA2
i;根据最短路程矩阵PTP,得到集合UKP对应的路径规划矩阵NM2
i。
需说明的是,BPX(x,P)表示集合BPAL的元素,每个BPX(x,P)均包括两个值,分别为x、P,其中,BPX.P表示上象限点集合UKP中的一个元素,BPX.P.x表示点P的x坐标值。BPAR集合的结构与BPAL一样,它是个数组,初始设定的时候,BPAR的每个元素为空,当经过BP[1]=MAX(BPAL)以及
j=2,3,4,.......,card(UKP)确定后进行赋值。MAX()函数的意思是:对括号里的集合找最大值元素,而MAX(BPAL)的意思是:根据BPAL集合中的元素的x坐标值,找到坐标值最大的元素。BP[1]=MAX(BPAL)的意思是:把坐标值最大的元素赋给BP[1],这一赋给是整个元素的赋给,它包括坐标值x和P点。
的意思是,在BPAL中找到坐标值第j大的元素,并给与BPAR中的第j个元素,假设j的值为2,那么它相当于在BPAL找到一个除了最大值外的另外一个最大的元素(即第2大的元素)。
可理解为,本发明实施例还提出一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时上述实现最短哈密尔顿回路的路径规划方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
需要说明的是,本实施例中的网络设备,可以应用为如图1所示实施例的实现最短哈密尔顿回路的路径规划方法具有相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
可理解为,本发明还提供一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述实现最短哈密尔顿回路的路径规划方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施例,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
上面结合附图对本申请实施例作了详细说明,但是本申请不限于上述实施例,在所述技术领域普通技术人员所具备的知识范围内,还可以在不脱离本申请宗旨的前提下做出各种变化。