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

一种外卖派送路径规划方法、系统及存储介质与流程

2022-03-23 02:19:53 来源:中国专利 TAG:


1.本发明主要涉及路径规划技术领域,具体涉及一种外卖派送路径规划方法、系统及存储介质。


背景技术:

2.外卖是目前与人们生活息息相关的一个事物,有效的外卖派送路线规划对提高外卖小哥行程安排的合理性、点餐用户的时效性、外卖商户的效益最大化以及保证城市交通路径规划的科学性来说,具有重要的参考价值。路径规划问题是指,在给定的环境中,搜索出一条从起始点到目标点之间的总代价最小路径,这里的代价可以是距离最短、耗时最少、安全性最高或是费用最少等。目前外卖派送路径大都是工作人员通过经验规划,难以保证所选择的外卖派送路径是最佳的。


技术实现要素:

3.本发明所要解决的技术问题是针对现有技术的不足,提供一种外卖派送路径规划方法、系统及存储介质。
4.本发明解决上述技术问题的技术方案如下:一种外卖派送路径规划方法,包括如下步骤:
5.将外卖派送起点、外卖途径点和外卖派送终点作为路径节点,将外卖派送员作为蚂蚁,通过所述路径节点和所述蚂蚁建立外卖派送的路径轨迹模型;
6.基于最大最小蚂蚁算法mmas在路径上设置用于引导所述蚂蚁进行路径节点移动的信息素,根据所述信息素对所述路径轨迹模型进行路径遍历,确定最优路径和最优路径蚂蚁;
7.根据轮盘选择算法选择路径节点以更新所述信息素,并按照设置的迭代次数和更新后的信息素将所述最优路径蚂蚁在所述最优路径上进行路径遍历,当完成迭代次数时,输出最优目标规划路径。
8.本发明的有益效果是:将各个派送节点作为路径节点,外卖派送员作为蚂蚁,来构建路径轨迹模型,通过最大最小蚂蚁算法mmas设置路径节点的信息素,以得到最优路径和最优路径蚂蚁,并结合轮盘选择算法选择路径节点以更新信息素,并进行多次迭代,输出最优目标规划路径,使外卖派送路径规划效率明显提升,并且相比于人工规划,其路径选择也更为优化。
9.在上述技术方案的基础上,本发明还可以做如下改进。
10.进一步,所述基于最大最小蚂蚁算法mmas,在路径上设置用于引导所述蚂蚁进行路径节点移动的信息素,具体为:
11.根据式(1)在路径遍历过程中在路径上设置用于引导所述蚂蚁进行路径节点移动的信息素,所述式(1)为:
[0012][0013]
其中,τ
ij
为信息素,f(s
best
)为最优路径蚂蚁经历的路径长度,ρ为信息素残留系数,t代表当前路径遍历,t 1代表下一次路径遍历,t代表当前路径遍历。
[0014]
采用上述进一步方案的有益效果是:通过设置的信息素来引导蚂蚁移动,来进行路径遍历,从而确定最优路径和最优路径蚂蚁。
[0015]
进一步,所述根据轮盘选择算法选择路径节点以更新所述信息素,具体为:
[0016]
在概率区间[0,1]设置随机数r,用随机数r减去第一预设值,若差值结果小于或等于0,则选择随机数r对应的路径节点作为下一个移动的路径节点,通过式(1)更新所述下一个移动的路径节点的信息素;
[0017]
若大于0,则用差值结果再减去第二预设值,直至差值结果小于或等于0,将最后一次减去第二预设值得到的差值结果所对应的路径节点作为下一个移动的路径节点,通过式(1)更新所述下一个移动的路径节点的信息素。
[0018]
采用上述进一步方案的有益效果是:通过轮盘选择算法来选择路径节点进行更新信息素,且尽量避免算法陷入停滞。
[0019]
进一步,在更新所述信息素的过程中,还包括步骤:
[0020]
当最大最小蚂蚁算法mmas停滞时,根据式(2)重新设置路径节点的信息素,所述式(2)为:
[0021][0022]
其中,为重新设置的信息素,f是全局最优解蚂蚁的路径长度,ρ是信息素残留系数,τ
ij
为信息素,0<δ<1。
[0023]
采用上述进一步方案的有益效果是:针对信息素平滑策略,在求解规模比较大的问题或者迭代次数比较多的时候,当算法陷入停滞的时候,可以重新设置环境信息素。
[0024]
本发明解决上述技术问题的另一技术方案如下:一种外卖派送路径规划系统,包括:
[0025]
模型建立模块,用于将外卖派送起点、外卖途径点和外卖派送终点作为路径节点,将外卖派送员作为蚂蚁,通过所述路径节点和所述蚂蚁建立外卖派送的路径轨迹模型;
[0026]
处理模块,用于基于最大最小蚂蚁算法mmas在路径上设置用于引导所述蚂蚁进行路径节点移动的信息素,根据所述信息素对所述路径轨迹模型进行路径遍历,确定最优路径和最优路径蚂蚁;
[0027]
按照设置的迭代次数将所述最优路径蚂蚁在所述最优路径上进行路径遍历,根据轮盘选择算法选择路径节点以更新所述信息素,当完成迭代次数时,输出最优目标规划路径。
[0028]
本发明解决上述技术问题的另一技术方案如下:一种外卖派送路径规划系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的外卖派送路径规划方法。
[0029]
本发明解决上述技术问题的另一技术方案如下:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的外卖派送路径规划方法。
附图说明
[0030]
图1为本发明实施例提供的外卖派送路径规划方法的流程示意图;
[0031]
图2为本发明实施例提供的外卖派送路径规划系统的功能模块框图。
具体实施方式
[0032]
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0033]
实施例1:
[0034]
如图1所示,一种外卖派送路径规划方法,包括如下步骤:
[0035]
将外卖派送起点、外卖途径点和外卖派送终点作为路径节点,将外卖派送员作为蚂蚁,通过所述路径节点和所述蚂蚁建立外卖派送的路径轨迹模型;
[0036]
基于最大最小蚂蚁算法mmas在路径上设置用于引导所述蚂蚁进行路径节点移动的信息素,根据所述信息素对所述路径轨迹模型进行路径遍历,确定最优路径和最优路径蚂蚁;
[0037]
根据轮盘选择算法选择路径节点以更新所述信息素,并按照设置的迭代次数和更新后的信息素将所述最优路径蚂蚁在所述最优路径上进行路径遍历,当完成迭代次数时,输出最优目标规划路径。
[0038]
应理解地,在本发明实施例中,利用最大最小蚂蚁算法mmas对外卖派送进行路径规划之前,需要预先建立全面真实的外卖派送路径轨迹模型。具体的,针对外卖派送模型,至少需要各个派送点的坐标,以及周边的道路环境。
[0039]
建立全面真实的外卖派送路径轨迹模型之后,在路径规划过程中,应在系统建立多个外卖派送节点、外卖派送起点、外卖派送终点;同理,在某一区域内,外卖派送员的数量也可以是多个,然后规划最优外卖路径。所有蚁群算法都会设置蚂蚁来进行路径遍历,同时蚂蚁会设置信息素,不同的蚁群算法对路径规划原则和信息素更新规则各有不同。最大最小蚁群算法的特点是:在每次循环之后,只有最优的蚂蚁可以进行信息素更新。最优解可以是迭代最优解,也可以是全局最优解,也可以是两者的混合策略,一般使用全局最优解。
[0040]
当完成迭代次数时,输出最优目标规划路径,具体为:
[0041]
每次迭代完成时(即路径遍历完成时),判断是否完成预设的迭代次数,
[0042]
若否,获取历史最优的从外卖派送起点经过多个外卖派送节点并到达外卖派送终点对应的节点顺序,以及根据最大最小蚁群算法计算得到的从外卖派送起点经过多个外卖派送节点并到达外卖派送终点对应的节点顺序;
[0043]
将两条外卖节点顺序派送路径中路径长度小的标记为历史最优;
[0044]
根据设置的信息素的量值,选取目标路径点;
[0045]
根据所述目标路径点获得目标规划路径。
[0046]
若是,则从多个目标规划路径中,选择路径长度最小的目标规划路径,作为最优目
标规划路径,并输出最优目标规划路径。
[0047]
也就是说,每次迭代完成时会得到目标规划路径,并判断是否完成预设的迭代次数,若是,则输出所述目标规划路径,若否,则根据轮盘选择算法选择路径节点以更新所述信息素,并按照设置的迭代次数和更新后的信息素将所述最优路径蚂蚁在所述最优路径上进行路径遍历,从而得到目标规划路径,直至满足预设的迭代次数,从而输出最优目标规划路径。
[0048]
上述实施例中,将各个派送节点作为路径节点,外卖派送员作为蚂蚁,来构建路径轨迹模型,通过mmas算法设置路径节点的信息素,以得到最优路径和最优路径蚂蚁,并结合轮盘选择算法选择路径节点以更新信息素,并进行多次迭代,输出最优目标规划路径,使外卖派送路径规划效率明显提升,并且相比于人工规划,其路径选择也更为优化。
[0049]
具体地,所述基于最大最小蚂蚁算法mmas,在路径上设置用于引导所述蚂蚁进行路径节点移动的信息素,具体为:
[0050]
根据式(1)在路径遍历过程中在路径上设置用于引导所述蚂蚁进行路径节点移动的信息素,所述式(1)为:
[0051][0052]
其中,τ
ij
为信息素,f(s
best
)为最优路径蚂蚁经历的路径长度,ρ为信息素残留系数,t代表当前路径遍历,t 1代表下一次路径遍历。
[0053]
上述实施例中,通过设置的信息素来引导蚂蚁移动,来进行路径遍历,从而确定最优路径和最优路径蚂蚁。
[0054]
具体地,所述根据轮盘选择算法选择路径节点以更新所述信息素,具体为:
[0055]
在概率区间设置随机数r,用随机数r减去第一预设值,若差值结果小于或等于0,则选择随机数r对应的路径节点作为下一个移动的路径节点,通过式(1)更新所述下一个移动的路径节点的信息素;
[0056]
若大于0,则用差值结果再减去第二预设值,直至差值结果小于或等于0,将最后一次减去第二预设值得到的差值结果所对应的路径节点作为下一个移动的路径节点,通过式(1)更新所述下一个移动的路径节点的信息素。
[0057]
应理解地,应理解地,在mmas算法每次路径在选择最佳蚂蚁时,引入了轮盘选择算法。现有的蚁群算法在路径选择时引入了轮盘选择的机制,以避免像贪心算法、爬山算法等算法过早陷入局部最优的问题,因为按照蚁群算法的特征,在经过一定次数的迭代搜索后,所有的蚂蚁在大概率上都会陷入同一解,也就是局部最优值。本发明针对这一思路,对于最大最小蚁群算法,在每次循环结束后,挑选最佳蚂蚁时,也引入了轮盘选择。核心思想是将最佳的蚂蚁数量设置一定的比例(比如:n/4),轮盘选择这条只蚂蚁中的一只作为“最佳蚂蚁”,在这种情况下就不一定是路径最佳的蚂蚁。这一改进策略会增加最大最小蚂蚁算法mmas中的随机性,避免算法过早陷入停滞。
[0058]
在每次遍历完成后,根据最大最小蚁群算法选择得到最优路径的蚂蚁,然后根据该蚂蚁的信息素来更新各外卖节点的信息素。而在下一次遍历开始后,蚂蚁在到达一个外卖节点后,在选择下一个的外卖节点时,虽然下一站的外卖节点会有信息素的顺序排列,但
根据轮盘赌在选择下一次的外卖节点。
[0059]
蚁群算法是带有正反馈的随机搜索算法,随机性和正反馈是算法的核心,丢失任何一个都会使算法失去作用。正反馈是通过信息素来实现的,而随机性正是通过轮盘选择来实现的。轮盘选择,也称轮盘赌算法等。
[0060]
假设蚂蚁在d点,abc为已经去过的点,efg为没去过的点,现在蚂蚁要在efg中选择一个点作为下一步要到达的点,已知表1中的信息。根据信息素除以距离,再比较整体的概率,可得d点前往这三个点的实际概率(表1第四列),因此按照常理应该选f点为d点的下一个点。
[0061]
表1
[0062][0063]
但是如果每只蚂蚁到了d点都会选择f点作为下一个点,那样最终每只蚂蚁所走过的路径都是相同的,这样算法陷入停滞。为了避免这个问题,通常采用轮盘选择来决定下一个去往的路径节点,方法如下:
[0064]
在[0,1]之间取一个随机数r。然后用r减pe(d点前往e点的概率),如果减去后的结果小于等于0就选e作为下一个去往的路径节点,如果减去后还大于0,就继续再减去pf(d点前往f点的概率),直到减去后的结果小于等于0。然后用最后减去时的那个概率值对应的点作为下一个去往的路径节点。
[0065]
上述实施例中,通过轮盘选择算法来选择路径节点进行更新信息素,且尽量避免算法陷入停滞。
[0066]
具体地,在更新所述信息素的过程中,还包括步骤:
[0067]
当算法停滞时,根据式(2)重新设置路径节点的信息素,所述式(2)为:
[0068][0069]
其中,为重新设置的信息素,f是全局最优解蚂蚁的路径长度,ρ是信息素残留系数,τ
ij
为信息素,0<δ<1,t代表当前路径遍历。
[0070]
上述实施例中,针对信息素平滑策略,在求解规模比较大的问题或者迭代次数比较多的时候,当算法陷入停滞的时候,可以重新设置环境信息素。
[0071]
本发明保留了mmas算法的核心思想,继承了mmas的优点,使得路径规划更为有效。
[0072]
实施例2:
[0073]
如图2所示,一种外卖派送路径规划系统,包括:
[0074]
模型建立模块,用于将外卖派送起点、外卖途径点和外卖派送终点作为路径节点,将外卖派送员作为蚂蚁,通过所述路径节点和所述蚂蚁建立外卖派送的路径轨迹模型;
[0075]
处理模块,用于基于最大最小蚂蚁算法mmas在路径上设置用于引导所述蚂蚁进行路径节点移动的信息素,根据所述信息素对所述路径轨迹模型进行路径遍历,确定最优路径和最优路径蚂蚁;
[0076]
按照设置的迭代次数将所述最优路径蚂蚁在所述最优路径上进行路径遍历,根据轮盘选择算法选择路径节点以更新所述信息素,当完成迭代次数时,输出最优目标规划路径。
[0077]
具体地,所述处理模块中,所述基于最大最小蚂蚁算法mmas,在路径上设置用于引导所述蚂蚁进行路径节点移动的信息素,具体为:
[0078]
根据式(1)在路径遍历过程中在路径上设置用于引导所述蚂蚁进行路径节点移动的信息素,所述式(1)为:
[0079][0080]
其中,τ
ij
为信息素,f(s
best
)为最优路径蚂蚁经历的路径长度,ρ为信息素残留系数,t代表当前路径遍历,t 1代表下一次路径遍历。
[0081]
具体地,所述处理模块中,所述根据轮盘选择算法选择路径节点以更新所述信息素,具体为:
[0082]
在概率区间设置随机数r,用随机数r减去第一预设值,若差值结果小于或等于0,则选择随机数r对应的路径节点作为下一个移动的路径节点,通过式(1)更新所述下一个移动的路径节点的信息素;
[0083]
若大于0,则用差值结果再减去第二预设值,直至差值结果小于或等于0,将最后一次减去第二预设值得到的差值结果所对应的路径节点作为下一个移动的路径节点,通过式(1)更新所述下一个移动的路径节点的信息素。
[0084]
具体地,所述处理模块,还用于:
[0085]
当mmas算法停滞时,根据式(2)重新设置路径节点的信息素,所述式(2)为:
[0086][0087]
其中,为重新设置的信息素,f是全局最优解蚂蚁的路径长度,ρ是信息素残留系数,τ
ij
为信息素,0<δ<1,t代表当前路径遍历。
[0088]
实施例3:
[0089]
一种外卖派送路径规划系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的外卖派送路径规划方法。
[0090]
实施例4:
[0091]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的外卖派送路径规划方法。
[0092]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0093]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0094]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0095]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
[0096]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0097]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0098]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献