处理多任务运行路径冲突的方法、装置、设备及介质与流程

文档序号:35028042发布日期:2023-08-05 15:59阅读:83来源:国知局
处理多任务运行路径冲突的方法、装置、设备及介质与流程

本技术涉及路径规划领域,特别是涉及一种处理多任务运行路径冲突的方法、装置、设备及介质。


背景技术:

1、路径规划在很多领域都具有广泛的应用。在运输领域的路径规划实践中,对于一个运输任务,已知该任务的起点和目的地,需要规划该任务从地点到目的地的最优路径。“最优”的标准根据任务的不同有所不同,如果仅仅计算任务起点与目的地的最短距离,在真实的场景中可能并不是最优的选择。例如,在运输任务场景中,选择红绿灯少并且几乎不会拥堵的高速环线执行运输任务,会比选择路程虽短,但是红绿灯多且经常性拥堵的市区内路段更快到达目的地。在这个过程中,对路径的不同选择可以看作是任务在路径中的不同的路径代价,而到达时间不同则可以看作任务完成后获得的不同的收益。在实际应用中,往往需要考虑任务的收益最大化来确定任务运行的最优路径。

2、对单个任务的最优规划相对来说比较容易,但是当多个任务同时规划路径时,如果使用单个任务的路径规划方法,计算出的每个任务各自的路径之间可能会出现冲突。任务路径之间的冲突可能表现为多种形式,例如,多个任务路径之间对共同的路径网络节点同时占用,又或者两个任务之间存在一些运行规章限制带来的冲突,比如运输任务规定两个任务彼此的载具间隔不得小于100米,则某个时间点两个任务间隔小于100米即会产生冲突。因此,需要找到一种方法,在对多任务同时规划路径时,处理所有任务路径间冲突的同时尽量使所有任务的总收益最大化。


技术实现思路

1、有鉴于此,本技术旨在提出一种处理多任务运行路径冲突的方法、装置、设备及介质,以解决传统的路径规划方法难以在处理多任务间冲突的同时保证任务收益的问题。

2、为达到上述目的,本技术的技术方案是这样实现的:

3、本技术实施例第一方面提供一种处理多任务运行路径冲突的方法,所述方法包括:

4、计算每一个任务在单独运行时的最优路径,作为初始最优路径,并记录初始路径对应的初始收益;所述最优路径为任务能够获得最大收益所对应的任务运行路径;

5、构建初始为空的优先级队列,将所有任务放入所述优先级队列,并按照所述初始路径收益的大小排序;所述任务的初始路径收益越高,所述任务的优先级越高;

6、设置初始的最优方案的代价为正无穷,从所述优先级队列中,按优先级从高到低依次出队任务,查找所述出队的任务对应的当前路径中是否存在冲突点;若不存在,则标记所述当前路径中所有互斥网络区域内的路径点;若存在,则对所述冲突点进行处理;所述处理为执行以下任一动作:在冲突点强制停留或选用备用路径;所述最优方案的代价为所有任务的最优路径的路径代价之和;

7、当所述优先级队列中,所有任务对应的路径中的冲突点全部处理完毕时,计算所有任务对应的当前路径的路径代价之和,作为动态方案的代价;

8、比较所述动态方案的代价与当前的最优方案的代价的大小,选择代价更小的方案,作为最优方案。

9、可选地,对所述冲突点进行处理,包括:

10、去掉所述冲突点,计算所述出队的任务对应的最优路径,作为所述备用路径,计算所述备用路径的路径代价;

11、计算所述出队的任务对应的当前路径中,所述任务在所述冲突点上强制停留的停留代价;

12、将所述备用路径的路径代价与所述当前的最优路径的路径代价作差,并将差值与所述停留代价进行比较;若所述差值小于所述停留代价,则将所述备用路径的路径代价,作为所述当前的最优路径的路径代价,并将所述备用路径作为当前的最优路径;若所述差值大于或等于所述停留代价,则在所述当前的最优路径中,添加在所述冲突点上强制停留的动作,将所述停留代价加入所述当前的最优路径的路径代价中,并更新所述当前的最优路径。

13、可选地,所述处理多任务运行路径冲突的方法,还包括:

14、构建初始为空的已完成任务列表;所述已完成任务列表用于存储已经处理完冲突点的任务;所述冲突点为至少两个任务进入相同的互斥网络区域的时间点;所述互斥网络区域为指定的运输载具在运行时的最小间隔距离作为半径的圆形区域;

15、当所述出队的任务对应的当前路径中不存在冲突点时,将所述任务添加到所述已完成任务列表的末尾。

16、可选地,所述处理多任务运行路径冲突的方法,还包括:

17、构建初始为空的强制停留字典;所述强制停留字典用于存储路径中的冲突点与在所述冲突点停留的任务的映射关系;所述强制停留字典中,一个冲突点对应一个任务冲突列表,所述任务冲突列表中存在一个或多个在所述冲突点强制停留的任务;

18、判断所述冲突点是否存在于所述强制停留字典中;若不存在,则将所述冲突点与所述出队的任务的映射关系,添加到所述强制停留字典的末尾;若存在,则将所述出队的任务,添加到所述强制停留字典中所述冲突点对应的任务冲突列表的末尾。

19、可选地,选择代价更小的方案,作为最优方案,包括:

20、若所述动态方案的代价大于或等于所述当前的最优方案的代价,则当前的最优方案保持不变;

21、若所述动态方案的代价小于所述当前的最优方案的代价,则将所述动态方案作为所述当前的最优方案。

22、可选地,所述处理多任务运行路径冲突的方法,还包括:

23、在所述最优方案对应的强制停留字典中,遍历每一个冲突点及其对应的任务冲突列表,将所述冲突列表中的任务随机排序,计算所述当前的最优方案的竞争方案;

24、比较所述竞争方案的代价与所述当前的最优方案的代价的大小,选择代价更小的方案作为所述当前的最优方案。

25、可选地,计算所述当前的最优方案的竞争方案,包括:

26、按加入所述强制停留字典的顺序,遍历所述强制停留字典中的每一个冲突点;按加入所述冲突点对应的任务冲突列表的顺序,遍历所述任务冲突列表中的每一个任务;若所述任务冲突列表中,排在任一冲突点之后的所有任务的所述初始收益之和,大于所述任务的所述初始收益,则将所述任务作为临界任务;

27、构建初始为空的随机子队列,将所述临界任务及之后的所有任务随机排序,加入所述随机子队列中;构建初始为空的已完成任务子列表,将所述临界任务之前的任务加入所述已完成任务子列表中;

28、从所述随机子队列中依次出队任务,重新对所述随机子队列中的所有任务进行冲突处理,并将处理完毕的任务添加到所述已完成任务子列表的末尾;

29、当所述随机子队列中所有任务的冲突都处理完毕时,计算当前所有任务的最优路径的路径代价之和,作为所述竞争方案的代价。

30、根据本技术实施例的第二方面,提供一种处理多任务运行路径冲突的装置,用于实现本技术实施例的第一方面所提供的处理多任务运行路径冲突的方法,所述装置包括:

31、初始收益计算模块,被配置为计算每一个任务在单独运行时的最优路径,作为初始最优路径,并记录初始路径对应的初始收益;所述最优路径为任务能够获得最大收益所对应的任务运行路径;

32、队列生成模块,被配置为构建初始为空的优先级队列,将所有任务放入所述优先级队列,并按照所述初始路径收益的大小排序;所述任务的初始路径收益越高,所述任务的优先级越高;

33、冲突处理模块,被配置为设置初始的最优方案的代价为正无穷,从所述优先级队列中,按优先级从高到低依次出队任务,查找所述出队的任务对应的当前路径中是否存在冲突点;若不存在,则标记所述当前路径中所有互斥网络区域内的路径点;若存在,则对所述冲突点进行处理;所述处理为执行以下任一动作:在冲突点强制停留或选用备用路径;所述最优方案的代价为所有任务的最优路径的路径代价之和;

34、代价计算模块,被配置为当所述优先级队列中,所有任务对应的路径中的冲突点全部处理完毕时,计算所有任务对应的当前路径的路径代价之和,作为动态方案的代价;

35、筛选模块,被配置为比较所述动态方案的代价与当前的最优方案的代价的大小,选择代价更小的方案,作为最优方案。

36、根据本技术实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如本技术第一方面所述的方法中的步骤。

37、根据本技术实施例的第四方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本技术第一方面所述的方法中的步骤。

38、采用本技术所提供的处理多任务运行路径冲突的方法,分别计算每个任务在单独运行情况下收益最大时对应的初始最优路径,按照任务在初始最优路径中单独运行的情况下对应的收益,划分任务的优先级,按照优先级从高到低排序。从优先级最高的任务开始,一次出队任务进行冲突处理,其中,任务在冲突点上有两种选择,原地等待或者绕道行进。通过对任务在每个冲突点上的路径代价进行比较,选择路径代价更小的作为优选方案,当所有任务中的冲突点都处理完毕后,获取多任务同时规划路径下保证路径收益最大化的最优方案。

39、本技术提供的处理多任务运行路径冲突的方法,根据任务的初始路径收益划分任务的优先级,让优先级高的任务在冲突点上先行进,优先级低的任务在冲突点上后行进,通过比较冲突点上任务选择等待或是绕道的选择所对应的路径代价的大小,最终选择路径代价最小的方案作为最优方案。本技术的方案克服了目前多任务的路径规划中,传统的路径规划方法难以在处理多任务间冲突的同时保证任务收益的困难,在对多任务同时进行路径规划时,能够在合理处理任务路径间冲突的同时保证所有任务的总收益最大化。

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