一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种最短路径的生成方法、系统、设备及存储介质与流程

2022-04-30 13:22:56 来源:中国专利 TAG:


1.本发明实施例属于路径规划技术领域,尤其涉及一种最短路径的生成方法、系统、设备及存储介质。


背景技术:

2.最短路径算法是计算图中一个节点中其他所有节点的最短路径的算法,主要特点是以起点为中心向外层层扩展,直到扩展到终点为止。最短路径算法在交通运输、通信、机器人动作规划、计算分子生物学等领域都有着非常广泛的应用。
3.目前,在医院库房耗材管理过程中,库房中有非常多的货架,医护人员在进入耗材库房中寻找医用耗材时,往往需要遍历库房进行寻找,目前的技术无法快速的获取寻找到目标货架的最短路径,使得不能及时的使医护人员拿取到所需的耗材,使用不便,效率比较低,与医护过程的高效率运转不符。


技术实现要素:

4.本发明实施例的目的在于提供一种最短路径的生成方法、系统、设备及存储介质,旨在解决目前技术中无法快速的获取寻找到目标货架的最短路径,使得不能及时的使医护人员拿取到所需的耗材,使用不便,效率比较低的问题。
5.为实现上述目的,本发明的实施例提供了如下的技术方案。
6.第一方面,在本发明提供的一个优选实施方式中,一种最短路径的生成方法,所述方法包括:
7.步骤s100:在初始状态时,将出发点s放进集合s中;
8.步骤s200:当集合v-s中存在货架vi时,计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi];
[0009]
步骤s300:在所述货架vj在集合v-s中时,相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,将货架vj放进集合s中,更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi];
[0010]
步骤s400:重复步骤s300,直至s=v。
[0011]
在本发明提供的一些实施例中,所述步骤s200中还包括:当集合v-s中不再有货架vi时,不再计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi]
[0012]
在本发明提供的一些实施例中,无自环的所述出发点s到自身的最短路径为0。
[0013]
在本发明提供的一些实施例中,所述更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi]的步骤包括:
[0014]
在dist[s,vj] w
i,j
<dist[s,vi]时,将出发点s到货架ui的相对于集合s的最短路径dist[s,vi]更新成出发点s到货架vj的相对于集合s的最短路径dist[s,vj]再加上货架vj到货架vi之间的权值w
i,j

[0015]
其中,dist[s,vj]为货架vj的相对于集合s的最短路径的长度;w
i,j
为货架vj到货架
vi之间的距离;dist[s,vi]为出发点s到货架vi的相对于集合s的最短路径。
[0016]
在本发明提供的一些实施例中,在步骤s400中,所述重复步骤s300,直至s=v的步骤包括:
[0017]
检查集合v-s是否为空集,在所述时,停止重复执行步骤s300。
[0018]
在本发明提供的一些实施例中,所述相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,且所述货架vj在集合v-s中的判断方法如下:
[0019]
在集合v-s中有且仅有一个货架时,将当前仅有的一个货架作为货架vj;
[0020]
在集合v-s中存在至少两个货架时,对每一个货架相对于集合s的最短路径dist[s,vi]的距离进行比较,确定所述至少两个货架中相对于集合s的最短路径dist[s,vi]中距离最短的那个货架作为货架vj。
[0021]
第二方面,在本发明的另一个优选实施方式中,提供了一种最短路径的生成系统,所述的生成系统包括:
[0022]
定义单元,用于在初始状态时,将出发点s放进集合s中;
[0023]
计算单元,用干当集合v-s中存存货架vi时,计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi];
[0024]
更新单元,用于在所述货架vj在集合v-s中时,相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,将货架vj放进集合s中,更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi]。
[0025]
在本发明提供的一些实施例中,所述的生成系统还包括:
[0026]
输出单元,用于将最短路径以预设格式输出。
[0027]
第三方面,在本发明的再一个优选实施方式中,提供了一种计算机设备,所述的计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如第一方面所提供的最短路径的生成方法,其中,所述的最短路径的生成方法包括:
[0028]
步骤s100:在初始状态时,将出发点s放进集合s中;
[0029]
步骤s200:当集合v-s中存在货架vi时,计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi];
[0030]
步骤s300:在所述货架vj在集合v-s中时,相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,将货架vj放进集合s中,更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi];
[0031]
步骤s400:重复步骤s300,直至s=v。
[0032]
第四方面,在本发明的再一个优选实施方式中,提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如第一方面所提供的最短路径的生成方法,其中,所述的最短路径的生成方法包括:
[0033]
步骤s100:在初始状态时,将出发点s放进集合s中;
[0034]
步骤s200:当集合v-s中存在货架vi时,计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi];
[0035]
步骤s300:在所述货架vj在集合v-s中时,相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,将货架vj放进集合s中,更新集合v-s中的货架vi相对于集合s的最短路径
dist[s,vi];
[0036]
步骤s400:重复步骤s300,直至s=v。
[0037]
与现有技术相比,本发明实施例提供的最短路径的生成方法的技术优势在于,在初始状态时,将出发点s放进集合s中;当集合v-s中存在货架vi时,计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi];在所述货架vj在集合v-s中时,相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,将货架vj放进集合s中,更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi],能够解决目前技术中无法快速的获取寻找到目标货架的最短路径,使得不能及时的使医护人员拿取到所需的耗材,使用不便,效率比较低的问题。
附图说明
[0038]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
[0039]
图1为本发明实施例1的最短路径的生成方法的流程图;
[0040]
图2为本发明实施例2的最短路径的生成系统的结构框图;
[0041]
图3为本发明实施例1的最短路径的生成方法的伪码图;
[0042]
图4为本发明实施例的路径生成的场景1示意图;
[0043]
图5为本发明实施例的路径生成的场景2示意图;
[0044]
图6为本发明实施例的路径生成的场景3示意图;
[0045]
图7为本发明实施例的路径生成的场景4示意图;
[0046]
图8为本发明实施例的路径生成的场景5示意图;
[0047]
图9为本发明实施例的路径生成的场景6示意图;
[0048]
图10为本发明实施例3提供的一种计算机设备的结构框图。
具体实施方式
[0049]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0050]
目前,在医院库房耗材管理过程中,库房中有非常多的货架,医护人员在进入耗材库房中寻找医用耗材时,往往需要遍历库房进行寻找,目前的技术无法快速的获取寻找到目标货架的最短路径,使得不能及时的使医护人员拿取到所需的耗材,使用不便,效率比较低,与医护过程的高效率运转不符。
[0051]
为解决上述问题,本发明实施例提供了一种最短路径的生成方法、系统、设备及存储介质,在所述最短路径的生成方法中,在初始状态时,将出发点s放进集合s中;当集合v-s中存在货架vi时,计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi];在所述货架vj在集合v-s中时,相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,将货架vj放进集合s中,更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi],能够解决目前技术中无法快速的获取寻找到目标货架的最短路径,使得不能及时的使医护人员拿取到所需的耗材,使用不便的问题。
[0052]
以下结合具体实施例对本发明的具体实现进行详细描述。
[0053]
实施例1
[0054]
图1示例性的示出了本发明实施例1提供的最短路径的生成方法的实现流程图。
[0055]
如图1所示,在本发明提供的一个优选实施方式中,一种最短路径的生成方法,所述方法包括:
[0056]
步骤s100:在初始状态时,将出发点s放进集合s中;
[0057]
步骤s200:当集合v-s中存在货架vi时,计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi],集合v为所有货架所在点的集合;
[0058]
步骤s300:在所述货架vj在集合v-s中时,相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,将货架vj放进集合s中,更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi];
[0059]
步骤s400:重复步骤s300,直至s=v。
[0060]
在本发明实施例中,首先定义一个集合s,如果集合v\{s}中的某个货架vi在集合s中了,那么就说明从出发点s到货架ui∈v\{s}的最短路径已经被找到,而在算法一升始的时候,集合s中只有出发点s。即:
[0061]
s:={vi∈v:the shortest path of vertex v
i has been found};
[0062]
而且,当且仅当s=v的时候算法执行完毕。此时货架集v中的所有元素都被放进了集合s中,也就是说除了出发点以外的所有从出发点出发到其余所有货架的最短路径已被找到。
[0063]
从出发点s到货架ui∈v的相对于集合s的最短路径。即从出发点s到货架vi∈v的路径中间只能经过已经包含在集合s中的货架,而不能经过其余的还未在集合s中的货架。而这个相对于集合s的最短路径的长度我们记作:
[0064]
dist[s,vi]
[0065]
通过不断计算dist[s,vi]进而不断的扩充集合s,当集合s不断被扩充的时候,相对于集合s的最短路径会越来越短,直到vi入集合s之时,此时便得到了dist[s,vi]。
[0066]
在本发明提供的一些实施例中,所述步骤s200中还包括:当集合v-s中不再有货架vi时,不再计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi]。
[0067]
在本发明提供的一些实施例中,无自环的所述出发点s到自身的最短路径为0。
[0068]
在本发明提供的一些实施例中,所述更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi]的步骤包括:
[0069]
在dist[s,vj] w
i,j
<dist[s,vi]时,将出发点s到货架vi的相对于集合s的最短路径dist[s,vi]更新成出发点s到货架vj的相对于集合s的最短路径dist[s,vj]再加上货架vj到货架vi之间的权值w
i,j

[0070]
其中,dist[s,vj]为货架vj的相对于集合s的最短路径的长度;w
i,j
为货架vj到货架vi之间的距离;dist[s,vi]为出发点s到货架vi的相对于集合s的最短路径。
[0071]
在本发明提供的一些实施例中,在步骤s400中,所述重第步骤s300,直至s=v的步骤包括:
[0072]
检查集合v-s是否为空集,在所述时,停止重复执行步骤s300。
[0073]
在本发明提供的一些实施例中,所述相对于集合s的最短路径dist[s,vi]中距离
最短的货架vj,且所述货架vj在集合v-s中的判断方法如下:
[0074]
在集合v-s中有且仅有一个货架时,将当前仅有的一个货架作为货架vj;
[0075]
在集合v-s中存在至少两个货架时,对每一个货架相对于集合s的最短路径dist[s,vi]的距离进行比较,确定所述至少两个货架中相对于集合s的最短路径dist[s,vi]中距离最短的那个货架作为货架vj。
[0076]
下面为本发明实施例最短路径的生成方法的设计思想:
[0077]
输入:赋权有向图g=(v,e,w),v={v1,v2,...,vn},s:=v1;
[0078]
输出:从源点s到所有vi∈v\{s}的最短路径。
[0079]
具体的:
[0080]
步骤i、初始s={v1};
[0081]
步骤ii、对于vi∈v-s,计算dist[s,vi];
[0082]
步骤iii、选择并将vj放进集合s中,更新集合v-s中的顶点的dist值;
[0083]
步骤iv、重复步骤i,直到s=v。
[0084]
如图3所示,示例性的示出了本发明实施例最短路径的生成方法的伪码。以下对所述伪码进行说明:
[0085]
1.算法初始,将选择的出发点s放进集合s中;
[0086]
2.无自环的出发点s到自己的最短路径为0;
[0087]
3.当货架vi不在集合s中时(此时集合s中仍只有出发点s),开始进入循环;
[0088]
4.将出发点s与点vi之间的权值赋给dist[s,vi]。由于是有向图,所以当出发点s不指向任何其他集合s外的货架时,dist[s,vi]=∞。可以理解为此时从出发点s出发,暂时是达到不了vi的。不过后来随着集合s的扩充,从出发点s出发一定能到达所有的货架。此时第一个for循环结束。
[0089]
5.如果集合v-s不是空集,则进入循环;
[0090]
6.选出经过第一个for循环之后的,在集合v-s中的,且相对于集合s的最短路径中距离最短的那个货架vj;
[0091]
7.将这个货架vj并入集合s,从而达到扩充集合s的目的;
[0092]
8.将货架vj并入集合s之后可能会对其他货架相对于集合s的最短路的长度会有影响,所以进入内for循环对有影响的进行更新;
[0093]
9.即如果从出发点s到我们在第6步选出的货架vj的相对于集合s的最短路径的长度再加上货架vj到货架vi之间的距离w
i,j
还要小于出发点s到货架vi的相对于集合s的最短路径的长度还要短的话;
[0094]
10.则将出发点s到货架vi的相对于集合s的最短路径更新成出发点s到我们在第6步选出的货架vj的相对于集合s的最短路径再加上货架vj到货架vi之间的权值w
i,j

[0095]
图4示例性的示出了本发明实施例提供的一种最短路径的生成方法的示意图:
[0096]
如图4所示,初始位置为0号出发点,计算从0号出发点到其他货架位置最短距离;
[0097]
在图4中,货架0为初始位置自动再s中。
[0098]
首先是选择vi为原点s,那么在算法的开始,s={0}。之后计算除了0点以外的其余货架到s=0的距离dist[

,0]~diet[

,0],即寻找所有的除了0以外的所有货架相对于
集合s的最短路,即从0出发,到达所有货架且只允许通过货架0(因为此时集合s中只有0这一个元素)的最短路径。这是算法中的第一个for循环在做的事情。这时发现想要只通过货架0而到达货架
②③④⑤⑥⑧
都是不可能的,所以有:
[0099]
dist[0,

]=w0,1=4
ꢀꢀꢀꢀꢀꢀ
dist[0,

]=w0,2=∞;
[0100]
dist[0,

]=w0,3=∞
ꢀꢀꢀꢀꢀ
dist[0,

]=w0,4=∞;
[0101]
dist[0,

]=w0,5=∞
ꢀꢀꢀꢀꢀ
dist[0,

]=w0,6=∞;
ꢀꢀꢀ
(1)
[0102]
dist[0,

]=w0,7=8
ꢀꢀꢀꢀꢀꢀ
dist[0,

]=w0,8=∞;
[0103]

②③④⑤⑥⑧
就是算法中所说的暂时到达不了的货架了。现在算法的前四步已经结束,现在开始第五步检验集合v-s是否是空集,这里显然不是,这里:
[0104]
v-s={













};
[0105]
现在进行第六步。第六步是选出经过第一个for循环之后的,在集合v-s中的,且相对于集合s的最短路径中距离最短的那个货架vj。看看在式(1)中那个货架距离出发点0最短就好了,显然是

,所以,这里选择的vj=


[0106]
那么第七步就是将

放进集合s中了。
[0107]
此时集合s={0,

}。这就是说明从出发点0出发,到货架

的最短路径已经被找到了。
[0108]
如图5所示,为1号货架被放入到集合s中的示意图。
[0109]
如图5所示:被椭圆框选的货架

被加进集合s中。
[0110]
此时:s={0,

};
[0111]
这就说明接下来在找相对于集合s的最短路径时s中就有两个点可以被通过了,这样就会使得一些原来到达不了的货架由于可以多经过一个点而到达,这也就是算法中所说的当将一个新的货架并入集合s之后,其他的在集合v-s以外的货架的相对于集合s的最短路径的长度可能会发生改变,因为有些原来暂时到达不了的货架现在可以到达了。具体有:
[0112]
dist[0,

]=w0,1=4
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w1,2=12;
[0113]
dist[0,

]=w0,3=∞
ꢀꢀꢀꢀ
dist[0,

]=w0,4=∞;
[0114]
dist[0,

]=w0,5=∞
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w7,6=9;(2)
[0115]
dist[0,

]=w0,7=8
ꢀꢀꢀꢀ
dist[0,

]=w0,8=∞
[0116]
这个更新步骤详细一下,这是算法第八到第十步所做的事情。比如dist[0,

],一开始在集合s中只有出发点0,而找到

相对于集合s的最短路径只能通过货架0,这样我们在式(1)中所得到dist[0,

]=w0,1=4。但是当货架

也进入到集合s之后我们再找

相对于集合s的最短路径时就可以先通过货架然后到货架

,最后再到


[0117]
现在这两种走法都可以,但是算法究竟选择哪种算法还是要判断哪种走法距离最短,即比较:
[0118]
dist[0,

],dist[0,

] w7,1;
[0119]
之间的大小关系,谁小算法就选择谁。经过比较发现:
[0120]
dist[0,

]=4<dist[0,

] w7,1=19;
[0121]
所以选择前者。再比如原来达到不了的

,现在由于集合s中多了货架

变得可以达到了,即:
[0122]
dist[0,

]=∞>>dist[0,

]=dist[0,

] w1,2=12;
[0123]
所以算法选择前者。不过此时算法没得可选,先要到达货架

就必须走这条路。
[0124]
其余发生变化的货架分析类似,现在算法从头到尾被执行了一遍了,然后回到第五步判断while循环的条件还是否为真,此时:
[0125][0126]
所以再执行while循环,由第六步从式(2)中选择出属于集合v-s,且相对于集合s的最短路径中距离最短的那个货架为vj,所以,这里我们选择的vj=

。然后第七步将

放进集合s。此时,集合s={





}:
[0127]
如图6所示,被椭圆框选的货架

架被放进集合s中。
[0128]
此时有:
[0129]
dist[0,

]=w0,1=4
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w1,2=12;
[0130]
dist[0,

]=w0,3=∞
ꢀꢀꢀꢀ
dist[0,

]=w0,4=∞;
[0131]
dist[0,

]=w0,5=∞
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w7,6=9;(3)
[0132]
dist[0,

]=w0,7=8
ꢀꢀꢀꢀ
dist[0,

]=w0,8=∞;
[0133]
可见这次没有发生更新,且此时的:
[0134][0135]
所以再执行while循环,由第六步从式(3)中选择出属于集合v-s,且相对于集合s的最短路径中距离最短的那个货架为vj,所以,这里选择的vj=

。然后第七步将

放进集合s。此时,集合s={







}:
[0136]
如图7所示,被椭圆框选的货架

&

被放进集合s中。
[0137]
此时有:
[0138]
dist[0,

]=w0,1=4
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w1,2=12;
[0139]
dist[0,

]=w0,3=∞
ꢀꢀꢀꢀ
dist[0,

]=w0,4=∞;
[0140]
dist[0,

]=w0,5=∞
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w7,6=9;(3)
[0141]
dist[0,

]=w0,7=8
ꢀꢀꢀꢀ
dist[0,

]=w0,8=∞;
[0142]
而此时可以通过

到达

也可以通过

到达

这两条路径都可以实现目标;所以还要要判断哪种走法距离最短,即比较:
[0143]
dist[0,

] w1,2 w2,8和dist[0,

] w7,6 w6,8之间的大小关系,谁小算法就选择谁。经过比较发现:
[0144]
dist[0,

] w1,2 w2,8=14<dist[0,

] w7,6 w6,8=15;
[0145]
所以选择前者。再比如原来达到不了的

&

现在由于集合s中多了货架



变得可以达到了,即:
[0146]
dist[0,

]=∞>>dist[0,

]=dist[0,

] w1,2 w2,3=19;
[0147]
dist[0,

]=∞>>dist[0,

]=dist[0,

] w7,6 w6,5=11;
[0148]
所以算法选择前者,其余发生变化的货架分析类似。
[0149]
现在算法从头到尾被执行了一遍了,然后回到第五步判断while循环的条件还是否为真,此时:
[0150][0151]
所以再执行while循环,由第六步从式(2)中选择出属于集合v-s,且相对于集合s的最短路径中距离最短的那个货架为vj,所以,这里我们选择的vj=

&

。然后第七步将

&

放进集合s。此时,集合s={











}:
[0152]
如图8所示,被椭圆框选的货架

&

被放进集合s中。
[0153]
此时有:
[0154]
dist[0,

]=w0,1=4
ꢀꢀꢀꢀ
dist[0,

]=w0,4=∞;
[0155]
dist[0,

]=dist[0,

] w1,2=12
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w1,2 w2,3=19;
[0156]
dist[0,

]=dist[0,

] w7,6 w6,5=11
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w7,6=9;
[0157]
dist[0,

]=w0,7=8
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w7,6 w6,8=15;
[0158]
可见这次没有发生更新,且此时的:
[0159][0160]
所以再执行while循环,由第六步从式(5)中选择出属于集合v-s,且相对于集合s的最短路径中距离最短的那个货架为vj,所以,这里选择的vj=

(至剩下

可以被选择了)。然后第七步将

放进集合s。
[0161]
此时,集合s={













}:
[0162]
如图9所示:被椭圆框选的货架

被放进集合s中。
[0163]
此时有:
[0164]
dist[0,

]=w0,1=4
ꢀꢀꢀꢀ
dist[0,

]=w0,4=∞;
[0165]
dist[0,

]=dist[0,

] w1,2=12
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w1,2 w2,3=19;
[0166]
dist[0,

]=dist[0,

] w7,6 w6,5=11
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w7,6=9;
[0167]
dist[0,

]=w0,7=8
ꢀꢀꢀꢀ
dist[0,

]=dist[0,

] w7,6 w6,8=15;
[0168]
由于到货架

点存在多条路径,所以算法第八到第十步会判断比较个路径直接距离选择最小路径。要从0到

只有经过点

或点

才能到达,再之前的计算中已经计算出dist[0,

]与dist[0,

]到0的最短距离再此基础上再增加他们之间到

的距离进行比较即可,即比较:
[0169]
dist[0,

] w3,4和dist[0,

] w5,4之间的大小关系,谁小算法就选择谁。经过比较发现:
[0170]
dist[0,

] w3,4=28>dist[0,

] w5,4=21;
[0171]
所以选择后者。
[0172]
现在算法从头到尾被执行了一遍了,然后回到第五步判断while循环的条件还是否为真,这是最后一次了,且这次并未发生更新,且此时的:
[0173][0174]
则不满足算法中的while循环的条件,循环结束,算法结束。显然,此时有v=s。
[0175]
实施例2
[0176]
图2示例性的示出了本发明实施例2提供的最短路径的生成系统的结构框图。
[0177]
如图2所示,在本发明的优选实施方式中,提供了一种最短路径的生成系统,所述的生成系统包括:
[0178]
定义单元201,用于在初始状态时,将出发点s放进集合s中;
[0179]
计算单元202,用于当集合v-s中存在货架vi时,计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi];
[0180]
更新单元203,用于在所述货架vj在集合v-s中时,相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,将货架vj放进集合s中,更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi]。
[0181]
在本发明提供的一些实施例中,所述的生成系统还包括:
[0182]
输出单元,用于将最短路径以预设格式输出。
[0183]
实施例3
[0184]
图10示例性的示出了本发明实施例3提供的计算机设备的结构框图。
[0185]
如图10所示,在本发明的再一个优选实施方式中,提供了一种计算机设备,所述的计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述实施例所提供的最短路径的生成方法,其中,所述的最短路径的生成方法包括:
[0186]
步骤s100:在初始状态时,将出发点s放进集合s中;
[0187]
步骤s200:当集合v-s中存在货架vi时,计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi];
[0188]
步骤s300:在所述货架vj在集合v-s中时,相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,将货架vj放进集合s中,更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi];
[0189]
步骤s400:重复步骤s300,直至s=v。
[0190]
此外,本发明实施例提供的所述计算机设备300还可具有通讯接口303,用于接收控制指令。
[0191]
实施例4
[0192]
在本发明实施例中,提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述实施例所提供的最短路径的生成方法,其中,所述的最短路径的生成方法包括:
[0193]
步骤s100:在初始状态时,将出发点s放进集合s中;
[0194]
步骤s200:当集合v-s中存在货架vi时,计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi];
[0195]
步骤s300:在所述货架vj在集合v-s中时,相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,将货架vj放进集合s中,更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi];
[0196]
步骤s400:重复步骤s300,直至s=v。
[0197]
综上所述,本发明实施例提供的最短路径的生成方法的技术优势在于,在初始状态时,将出发点s放进集合s中;当集合v-s中存在货架vi时,计算出发点s到货架vi的相对于集合s的最短路径dist[s,vi];在所述货架vj在集合v-s中时,相对于集合s的最短路径dist[s,vi]中距离最短的货架vj,将货架vj放进集合s中,更新集合v-s中的货架vi相对于集合s的最短路径dist[s,vi],能够解决目前技术中无法快速的获取寻找到目标货架的最短路
径,使得不能及时的使医护人员拿取到所需的耗材,使用不便,效率比较低的问题。
[0198]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0199]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0200]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0201]
在本发明的一个典型的配置中,终端、服务网络的设备和计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0202]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0203]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
[0204]
计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0205]
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0206]
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分或全部技术特征进行等同替换;这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
[0207]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开的实施例旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的
公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
[0208]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献