运力分配方法、电子设备及存储介质与流程

文档序号:33002236发布日期:2023-01-18 01:35阅读:21来源:国知局
1.本技术涉及自动化物流
技术领域
:,特别涉及一种运力分配方法、电子设备及存储介质。
背景技术
::2.在自动化物流场景中,机器人的使用以及调度是重要内容,而运力分配是其中一个重要环节。其中,运力分配,即为任务分配可用的运力,这里的任务一般代指搬运任务,即对物品或容器的搬运,运力一般代指搬运机器人或者自动引导运输车(automatedguidedvehicle,agv)。在实际应用中,有的机器人例如四向穿梭车同一时间仅可搬运一个容器,对应单车单任务情景;有的机器人例如箱式机器人可同时搬运多个容器,对应单车多任务场景,其中单车多任务是相对更加复杂的场景。3.目前,相关技术中的运力分配方法虽然可以保证候选任务集合中的任务得到分配,但也存在一些问题,例如,一些运力的行驶距离较远,行驶时间较长,导致整体作业效率较低。技术实现要素:4.本技术实施例提供一种运力分配方法、电子设备及存储介质,以解决在为单车多任务场景进行运力分配时,相关技术中存在的运力整体作业效率较低的技术问题。5.根据本技术的第一方面,公开了一种运力分配方法,所述方法包括:6.获取目标仓库中的运力集合和任务集合,其中,所述任务集合中包括多个待搬运的目标任务,所述运力集合中包括用于搬运所述目标任务的多个可用运力;7.根据所述任务集合中的目标任务与所述运力集合中的可用运力之间的距离以及所述任务集合中的各目标任务之间的距离,为所述运力集合中的可用运力分配所述任务集合中的目标任务,得到目标分配关系。8.根据本技术的第二方面,公开了一种运力分配装置,所述装置包括:9.获取模块,用于获取目标仓库中的运力集合和任务集合,其中,所述任务集合中包括多个待搬运的目标任务,所述运力集合中包括用于搬运所述目标任务的多个可用运力;10.分配模块,用于根据所述任务集合中的目标任务与所述运力集合中的可用运力之间的距离以及所述任务集合中的各目标任务之间的距离,为所述运力集合中的可用运力分配所述任务集合中的目标任务,得到目标分配关系。11.根据本技术的第三方面,公开了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如第一方面中的运力分配方法。12.根据本技术的第四方面,公开了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面中的运力分配方法。13.根据本技术的第五方面,公开了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面中的运力分配方法。14.本技术实施例中,获取目标仓库中的运力集合和任务集合,其中,任务集合中包括多个待搬运的目标任务,运力集合中包括用于搬运目标任务的多个可用运力;根据任务集合中的目标任务与运力集合中的可用运力之间的距离以及任务集合中的各目标任务之间的距离,为运力集合中的可用运力分配任务集合中的目标任务,得到目标分配关系。可见,本技术实施例中,在为单车多任务场景进行运力分配时,不仅考虑运力和任务的距离,同时考虑任务到任务的距离,综合以上两个因素得到运力与任务的分配关系,可在全局层面综合考虑距离因素,使得在满足完成任务的情况下,有效缩减运力的行驶距离,使得所有运力的综合行驶距离最短,行驶时间最少,从而提高整体作业效率。附图说明15.图1是采用相关技术的运力分配方法所产生的运力分配结果的示例图;16.图2是本技术实施例提供的一种运力分配方法的流程图;17.图3是采用本技术实施例的运力分配方法所产生的运力分配结果的示例图;18.图4是本技术实施例提供的步骤2021的一种实施方式的流程图;19.图5是本技术实施例提供的迭代算子的示例图之一;20.图6是本技术实施例提供的迭代算子的示例图之二;21.图7是本技术实施例提供的一种运力分配装置的结构示意图;22.图8是本技术实施例提供的一种电子设备的结构框图。具体实施方式23.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。24.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术实施例并不受所描述的动作顺序的限制,因为依据本技术实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本技术实施例所必须的。25.随着物联网、人工智能、大数据等智能化技术的发展,利用这些智能化技术对传统物流业进行转型升级的需求愈加强劲,智慧物流(ils,intelligentlogisticssystem)成为物流领域的研究热点。智慧物流利用人工智能、大数据以及各种信息传感器、射频识别技术、全球定位系统(gps,globalpositioningsystem)等物联网装置和技术,广泛应用于物料的运输、仓储、配送、包装、装卸和信息服务等基本活动环节,实现物料管理过程的智能化分析决策、自动化运作和高效率优化管理。物联网技术包括传感设备、射频识别(rfid,radiofrequencyidentification)技术、激光红外扫描、红外感应识别等,物联网能够将物流中的物料与网络实现有效连接,并可实时监控物料,还可感知仓库的湿度、温度等环境数据,保障物料的储存环境。通过大数据技术可感知、采集物流中所有数据,上传至信息平台数据层,对数据进行过滤、挖掘、分析等作业,最终对业务流程(如运输、入库、存取、拣选、包装、分拣、出库、盘点、配送等环节)提供精准的数据支持。人工智能在物流中的应用方向可以大致分为两种:1)以人工智能技术赋能的如无人卡车、自动导引运输车(agv,automatedguidedvehicle)、自主移动机器人(amr,autonomousmobilerobot)、叉车、穿梭车、堆垛机、无人配送车、无人机、服务机器人、机械臂、智能终端等智能设备代替部分人工;2)通过计算机视觉、机器学习、运筹优化等技术或算法驱动的如运输设备管理系统、仓储管理、设备调度系统、订单分配系统等软件系统提高人工效率。随着智慧物流的研究和进步,该项技术在众多领域展开了应用,例如零售及电商、电子产品、烟草、医药、工业制造、鞋服、纺织、食品等领域。26.以自动化物流场景为例,对于单车多任务场景,在不考虑其他因素的情况下,进行运力分配时,一般希望为某个运力尽量分配距离较近的任务,以减少运力空驶距离并尽快完成搬运任务。相关技术中,在进行运力分配时,依据任务集合与某个运力的距离,按照从近到远的原则为该运力逐一选择任务,直到达到该运力的承载上限。27.相关技术中的运力分配方法虽然可以保证候选任务集合中的任务得到分配,但也存在整体作业效率低的问题,其原因在于仅考虑运力和任务的距离,而不考虑任务之间的距离,可能会出现如图1所示的运力分配情况,其中,虚线大圆圈代表圈内的任务被分配给圈内的运力,也就是,为某个运力分配的多个任务可能离该运力较近,但多个任务彼此的距离较远。由于运力在分配到任务后,会逐一行驶到这些任务的起始点并将这些任务对应的容器驮运,当所有任务的容器均驮运完成后再驶向终点,因此如果多个任务之间的距离较远,那么运力的行驶时间会延长,从而无法保证整体作业效率。28.为了解决上述技术问题,本技术实施例提供了一种运力分配方法、电子设备及存储介质。29.下面首先对本技术实施例提供的一种运力分配方法进行介绍。30.图2是本技术实施例提供的一种运力分配方法的流程图,如图2所示,该方法可以包括以下步骤:步骤201和步骤202;31.在步骤201中,获取目标仓库中的运力集合和任务集合,其中,任务集合中包括多个待搬运的目标任务,运力集合中包括用于搬运目标任务的多个可用运力。32.本技术实施例中,运力集合中可用运力的总容量大于或者等于任务集合中目标任务的个数,其中,可用运力的容量指的是该可用运力在同一时间最多可以驮运目标任务的个数。33.本技术实施例中,可用运力为仓储物流中的机器人,目标任务为对物品或容器的搬运任务,在实际应用中,该机器人可以为搬运机器人或者agv。34.在步骤202中,根据任务集合中的目标任务与运力集合中的可用运力之间的距离以及任务集合中的各目标任务之间的距离,为运力集合中的可用运力分配任务集合中的目标任务,得到目标分配关系。35.本技术实施例中,可用运力与目标任务之间的距离,以及目标任务之间的距离均指的是直线距离。36.本技术实施例中,目标分配关系可以包括:每个可用运力与其分配到的目标任务的目标对应关系,以及每个可用运力执行所分配到的目标任务的目标先后次序。37.本技术实施例中,运力集合中的各可用运力按照目标分配关系,驮运任务集合中的目标任务,可以使所有可用运力的综合行驶距离最短,行驶时间最少。38.在一个例子中,仍以图1所示的单车多任务场景为例,任务集合中包括:任务1~任务9,运力集合中包括:运力1和运力2,图中的虚线大圆圈代表圈内的任务被分配给圈内的运力。39.从图1中可以看出,任务5因为距离运力2更近,被分配给了运力2,但是任务5距离运力2已分配到的其他任务6~任务9很远,运力2驮运任务5~任务9的行驶距离较远,因此该分配方式并不是较优的分配方式。40.经过本技术实施例中步骤202的处理,可以得到如图3所示的运力分配情况,从图3中可以看出,将任务5分配给运力1,运力1分配到的各任务之间的距离较近,运力2分配到的各任务之间的距离也较近,使得运力1和运力2驮运任务的行驶距离较短,也就是,为运力分配时任务,兼顾该运力与任务的距离以及任务彼此之间的距离,在全局层面综合考虑距离因素,使得在满足完成任务的情况下,所有运力的综合行驶距离最短。41.由上述实施例可见,该实施例中,获取目标仓库中的运力集合和任务集合,其中,任务集合中包括多个待搬运的目标任务,运力集合中包括用于搬运目标任务的多个可用运力;根据任务集合中的目标任务与运力集合中的可用运力之间的距离以及任务集合中的各目标任务之间的距离,为运力集合中的可用运力分配任务集合中的目标任务,得到目标分配关系。可见,本技术实施例中,在为单车多任务场景进行运力分配时,不仅考虑运力和任务的距离,同时考虑任务到任务的距离,综合以上两个因素得到运力与任务的分配关系,可在全局层面综合考虑距离因素,使得在满足完成任务的情况下,有效缩减运力的行驶距离,使得所有运力的综合行驶距离最短,行驶时间最少,从而提高整体作业效率。42.在本技术提供的另一个实施例中,对于单车多任务场景,可以针对以下三个目标进行优化:目标一,为单个可用运力分配的所有目标任务离该可用运力尽量在距离上接近;目标二,为单个可用运力分配的所有目标任务互相在距离上接近;目标三,在单次运力分配中,综合考虑每个可用运力对于以上目标一和目标二的情况,使得整体的距离成本最小。43.相应地,上述步骤202包括以下步骤:步骤2021;44.在步骤2021中,根据任务集合中的目标任务与运力集合中的可用运力之间的距离、任务集合中的各目标任务之间的距离,以及运力分配策略,为运力集合中的可用运力分配任务集合中的目标任务,得到目标分配关系;45.其中,运力分配策略包括:单个可用运力分配到的目标任务与单个可用运力之间的距离,小于单个可用运力分配到的目标任务与其他可用运力之间的距离;以及单个可用运力分配到的目标任务之间的距离,小于单个可用运力分配到的目标任务与其他可用运力分配到的目标任务之间的距离。46.也就是,在为运力集合中的可用运力分配任务集合中的目标任务时,为单个可用运力分配的所有目标任务在距离上接近该单个可用运力,以及为该单个可用运力分配的所有目标任务在距离上互相接近。47.可见,本技术实施例中,由于对于单个可用运力来说,其分配到目标任务不但距离该单个可用运力较近,并且该单个可用运力分配到的各目标任务彼此之间也较近,在全局层面综合考虑距离因素,因此可以实现在满足完成目标任务的情况下,所有可用运力的综合行驶距离最短。48.在本技术提供的另一个实施例中,可以首先基于可用运力与目标任务之间的距离,生成可用运力-目标任务的初始分配关系,之后基于目标任务彼此之间的距离,将初始匹配关系中可用运力已分配到的个别距离其他目标任务较远的目标任务,在运力间进行再分配,得到可用运力-目标任务的目标分配关系,如图4所示,上述步骤202可以包括以下步骤:步骤401和步骤402;49.在步骤401中,对于运力集合中的每个可用运力,根据任务集合中的目标任务与可用运力之间的距离,按照从近到远的原则为可用运力逐一分配目标任务,直至完成任务集合中所有目标任务的分配,得到初始分配关系。50.本技术实施例中,初始分配关系包括:每个可用运力与其分配到的目标任务的初始对应关系,以及每个可用运力执行所分配到的目标任务的初始先后次序;其中,初始对应关系是基于目标任务与可用运力之间的距离生成的,初始先后次序可以为随机的次序,也可以为用户指定的次序。51.本技术实施例中,可以基于启发式算法或者图模型,生成可用运力-目标任务的初始分配关系,以启发式算法为例,由于启发式算法的搜索成本比较低,因此可以应对大规模的运力初始分配问题。52.其中,启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计,启发式算法以仿自然体算法为主,主要有蚁群算法、模拟退火法以及神经网络等。53.可选地,在一个实施方式中,上述步骤401可以包括以下步骤:步骤4011、步骤4012和步骤4013;54.在步骤4011中,通过寻路算法,计算运力集合中的每个可用运力与任务集合中的每个目标任务之间的距离,得到距离集合。55.在步骤4012中,从距离集合中的最短距离开始,将最短距离对应的目标任务分配给最短距离对应的可用运力,在分配完成后,将距离集合中的次短距离对应的目标任务分配给次短距离对应的可用运力,重复上述分配过程,直至完成任务集合中所有目标任务的分配。56.在步骤4013中,为每个可用运力所分配到的目标任务随机设置执行的前后次序,得到初始分配关系。57.通过上述步骤4011~步骤4013,可以得到所有目标任务和所有可用运力之间的初始匹配关系以及每个可用运力执行所分配目标任务的先后次序。58.在步骤402中,将初始分配关系中每个可用运力分配到的满足再分配条件的目标任务,在其他可用运力间进行再分配,直至每个可用运力分配到的目标任务中不存在满足再分配条件的目标任务,得到目标分配关系;其中,单个可用运力分配到的满足再分配条件的目标任务与单个可用运力分配到的其他目标任务之间的距离,大于单个可用运力分配到的满足再分配条件的目标任务与其他可用运力分配到的目标任务之间的距离。59.本技术实施例中,对于单个可用运力来说,该单个可用运力分配到的满足再分配条件的目标任务,在距离上与该单个可用运力分配到的其他任务不接近。也就是,满足再分配条件的目标任务虽然距离单个可用运力较近,但距离该单个可用运力的其他目标任务较远。对于这类目标任务,将这类目标任务在其他可用运力间进行再次分配。60.本技术实施例中,目标分配关系对应的所有可用运力综合行驶距离,小于初始分配关系对应的所有可用运力综合行驶距离。61.本技术实施例中,可以基于元启发式搜索算法,将目标分配关系对应的所有可用运力综合行驶距离最短作为搜索目标,将已分配的、满足再分配条件的目标任务在可用运力间进行再分配,得到目标分配关系。由于元启发式搜索算法的搜索成本比较低,因此可以应对大规模的任务再分配问题,又由于元启发式搜索算法的搜索具有随机性,因此可以从全局层面上完成任务的再分配,提高运力的整体作业效率。62.其中,元启发式搜索算法是启发式算法的改进,它是随机算法与局部搜索算法相结合的产物,元启发式算法可以包括禁忌搜索算法、模拟退火算法、遗传算法、蚁群优化算法、粒子群优化算法、人工鱼群算法、人工蜂群算法以及人工神经网络算法等。63.在一个例子中,仍以图1和图3所示的运力分配结果为例,首先通过上述步骤401的处理,可以得到图1所示的分配结果,即初始分配关系。之后,通过上述步骤402的处理,例如,经过元启发式搜索框架的不断迭代,分配结果会不断收敛到图3所示的分配结果,即目标分配关系。64.可见,本技术实施例中,对于单车多任务的运力分配场景,可以首先基于可用运力与目标任务之间的距离生成可用运力-目标任务的初始分配关系,之后基于目标任务彼此之间的距离,将初始分配关系中可用运力已分配到的目标任务在可用运力间进行再分配,得到目标分配关系。由于不仅考虑运力和任务的距离,同时考虑任务到任务的距离,综合运力-任务和任务-任务两个距离因素得到运力与任务的距离成本最低的最终分配关系,可以在保证任务有效分配的前提下有效缩减运力的行驶距离,从而提高整体作业效率。65.在本技术提供的另一个实施例中,在基于初始分配关系,将已分配的目标任务在可用运力间进行再分配时,可以通过禁忌搜索方法实现,相应地,上述步骤402可以包括以下步骤:步骤4021和步骤4022;66.在步骤4021中,将初始分配关系作为初始解,并基于初始解初始化禁忌表;其中,禁忌表用于记录由初始解迭代至目标解的过程中目标任务执行次序的变换信息。67.本技术实施例中,禁忌表用于防止搜索出现循环,记录前若干步走过的点、方向或目标值,禁止返回。禁忌表是动态更新的——把最新的解记入,最老的解从表中释放,也就是,随着迭代的进行,禁忌表不断更新,经过一定的迭代次数后,最早进入禁忌表的移动就从禁忌表中解禁退出。68.本技术实施例中,禁忌表为一个矩阵,其中,矩阵的行对应于初始分配关系中的各个任务,矩阵的列也对应于初始分配关系中的各个任务,矩阵中的一个元素值与该元素所在行的任务和所在列的任务是否发生交换相关。69.例如,若初始分配关系中包括3个任务:任务1、任务3和任务3,则禁忌表为一个3×3的矩阵,矩阵的行可以分别对应任务1、任务2和任务3,矩阵的行也可以分别对应任务1、任务2和任务3,在初始化禁忌表后,禁忌表中各元素的值均为0。在不断的迭代过程中,禁忌表中的元素的值也会发生变化,例如,对于最近发生交换的两个任务,可以其所对应的禁忌表中的元素值设置为一个大于零的整数,等下一次迭代时,可以通过查看禁忌表中的元素值来决定是否进行两个任务的执行次序交换,如果元素值等于0,则可以进行这两个任务的执行次序交换,如果元素值大于0,则不进行这两个任务的执行次序交换,以获得更多的搜索区域。70.例如,当任务1与任务3的执行次序交换生效时,禁忌表中第一列第三行的元素的数值可以由0设置为10。此外,每进行一次解的迭代,禁忌表中元素的值减一,以逐步释放之前发生的交换。71.在步骤4022中,基于初始解、禁忌表和迭代算子进行迭代处理,直至连续m次迭代处理的迭代成本保持不变,得到目标解;其中,迭代算子为用于对两个目标任务之间的执行次序进行交换的函数,m为迭代次数的上限值,目标解为目标分配关系。72.本技术实施例中,迭代算子可以包括以下至少一项:用于对跨运力的目标任务之间进行执行次序交换的第一函数,例如图5所示,以及用于对单个可用运力内部的目标任务之间进行执行次序交换的第二函数,例如图6所示。73.可选地,在一个实施方式中,每一次迭代处理的过程包括以下步骤(图中未示出):步骤301、步骤302、步骤303、步骤304和步骤305;74.在步骤301中,选定迭代算子。75.在步骤302中,遍历当前解中的任意两个目标任务,根据禁忌表确定最近m次迭代处理中两个目标任务是否按照迭代算子发生执行次序的交换。76.本技术实施例中,若根据禁忌表确定最近m次迭代处理中两个目标任务按照迭代算子发生执行次序的交换,则不交换这两个目标任务的执行次序。77.在步骤303中,若否,则计算两个目标任务按照迭代算子发生执行次序交换所产生的成本增量和成本减量,并根据成本增量和成本减量,计算两个目标任务按照迭代算子发生执行次序交换的第一迭代成本。78.本技术实施例中,当步骤301中所选定的迭代算子为第一函数时,两个目标任务按照迭代算子发生执行次序交换所产生的成本增量为:成本减量为:79.本技术实施例中,当步骤301中所选定的迭代算子为第二函数时,两个目标任务按照迭代算子发生执行次序交换所产生的成本增量为:成本减量为:其中,和分别代表两个目标任务,d(a,b)代表从a到b的距离,p(a)代表a的父节点,k(a)代表a的子节点。80.在步骤304中,若第一迭代成本低于目标迭代成本,则按照迭代算子交换两个目标任务的执行次序,更新当前解,将更新信息记录到禁忌表中,并将目标迭代成本更新为第一迭代成本。81.本技术实施例中,更新当前解,指的是根据交换之前的解和发生交换的两个目标任务的交换情况,生成交换后的解。82.本技术实施例中,将更新信息记录到禁忌表中,指的是将发生交换的两个目标任务在禁忌表中对应的元素值设置为一个大于零的整数例如10,以避免后续几次迭代处理时该元素对应的两个目标任务发生执行次序的交换。83.在步骤305中,对所有发生执行次序交换的第一迭代成本进行求和运算,得到本次迭代处理的迭代成本。84.本技术实施例中,如果连续m次迭代处理的迭代成本保持不变,则将第m次迭代处理得到的解,确定为最终的目标解,即目标分配关系。85.为了便于对上述步骤301~步骤305进行理解,下面结合一个例子对任务的再分配进行描述。86.首先,初始化禁忌表tabutable,预设整形参数tabuhorizon例如为10,预设迭代次数上限m例如为50;87.之后,当迭代次数不超过上限时:88.1.选定迭代算子;89.2.遍历任意2个任务点对和90.a)如果任意一个任务在该轮被搜索,则跳过;91.b)如果和中任意一个在禁忌表中对应的元素值大于0,则跳过;92.c)计算和发生执行次序交换的成本增量addcost和成本减量minuscost;93.d)计算和发生执行次序交换的成本swapcost=addcost–minuscost;94.e)如果swapcost<bestcost,则交换生效,bestcost=swapcost;95.3.将禁忌表中所有的元素值减一;96.4.和在禁忌表中对应的元素值加上tabuhorizon;97.5.如果bestcost未变化的迭代次数超过上限m,则终止,将最后一次迭代处理得到的解,确定为目标解。98.可见,本技术实施例中,可以基于初始解运用元启发式搜索进行任务再分配,通过设计精确的搜索范式,以保证解的优越性,得到距离成本最低的最终解,在保证任务有效分配的前提下有效缩减运力的行驶距离,从而提高整体作业效率。99.在本技术提供的另一个实施例中,考虑到带优先级的任务的分配,上述步骤201可以包括以下步骤:步骤2011、步骤2012、步骤2013和步骤2014;100.在步骤2011中,获取运力集合。101.在步骤2012中,计算运力集合对应的可用运力总容量n。102.例如,运力集合中包括3个运力,3个运力的容量分别为3、4和5,则该运力集合的运力总容量n=3+4+5=12。103.在步骤2013中,在待搬运的任务的个数大于n的情况下,按照优先级由高到低的顺序,对所有待搬运的任务进行排序。104.本技术实施例中,任务的优先级可以通过数值表示,例如,数值越低,优先级越高。为更高优先级的任务分配运力时先于更低优先级的任务。105.在步骤2014中,获取排在前n位的任务,得到运力集合对应的任务集合,其中,任务集合中的目标任务为排在前n位的任务。106.例如,运力集合的运力总容量n为12,待搬运的任务的个数为15,由于15大于12,因此,按照这15个待搬运的任务的优先级,从高到低对这15个待搬运的任务进行排序,选取排在前12位的任务,作为任务集合中的目标任务。107.可见,本技术实施例中,对于带优先级的任务,任务优先级更高,会保证在运力比任务少的情况下,优先分配高优先级的任务,也就是,高优先级的任务一定比低优先级任务更先分配运力,使得高优先级的任务可以得到优先地处理。108.图7是本技术实施例提供的一种运力分配装置的结构示意图,如图7所示,运力分配装置700,可以包括:获取模块701和分配模块702;109.获取模块701,用于获取目标仓库中的运力集合和任务集合,其中,所述任务集合中包括多个待搬运的目标任务,所述运力集合中包括用于搬运所述目标任务的多个可用运力;110.分配模块702,用于根据所述任务集合中的目标任务与所述运力集合中的可用运力之间的距离以及所述任务集合中的各目标任务之间的距离,为所述运力集合中的可用运力分配所述任务集合中的目标任务,得到目标分配关系。111.由上述实施例可见,该实施例中,获取目标仓库中的运力集合和任务集合,其中,任务集合中包括多个待搬运的目标任务,运力集合中包括用于搬运目标任务的多个可用运力;根据任务集合中的目标任务与运力集合中的可用运力之间的距离以及任务集合中的各目标任务之间的距离,为运力集合中的可用运力分配任务集合中的目标任务,得到目标分配关系。可见,本技术实施例中,在为单车多任务场景进行运力分配时,不仅考虑运力和任务的距离,同时考虑任务到任务的距离,综合以上两个因素得到运力与任务的分配关系,可在全局层面综合考虑距离因素,使得在满足完成任务的情况下,有效缩减运力的行驶距离,使得所有运力的综合行驶距离最短,行驶时间最少,从而提高整体作业效率。112.可选地,作为一个实施例,所述分配模块702包括:113.分配子模块,用于根据所述任务集合中的目标任务与所述运力集合中的可用运力之间的距离、所述任务集合中的各目标任务之间的距离,以及运力分配策略,为所述运力集合中的可用运力分配所述任务集合中的目标任务,得到目标分配关系;114.其中,所述运力分配策略包括:单个可用运力分配到的目标任务与所述单个可用运力之间的距离,小于所述单个可用运力分配到的目标任务与其他可用运力之间的距离;以及所述单个可用运力分配到的目标任务之间的距离,小于所述单个可用运力分配到的目标任务与其他可用运力分配到的目标任务之间的距离。115.可选地,作为一个实施例,所述分配子模块包括:116.初始分配单元,用于对于所述运力集合中的每个可用运力,根据所述任务集合中的目标任务与所述可用运力之间的距离,按照从近到远的原则为所述可用运力逐一分配目标任务,直至完成所述任务集合中所有目标任务的分配,得到初始分配关系;117.再分配单元,用于将所述初始分配关系中每个可用运力分配到的满足再分配条件的目标任务,在其他可用运力间进行再分配,直至每个可用运力分配到的目标任务中不存在所述满足再分配条件的目标任务,得到目标分配关系;118.其中,单个可用运力分配到的所述满足再分配条件的目标任务与所述单个可用运力分配到的其他目标任务之间的距离,大于所述单个可用运力分配到的所述满足再分配条件的目标任务与其他可用运力分配到的目标任务之间的距离。119.可选地,作为一个实施例,所述再分配单元包括:120.初始化子单元,用于将所述初始分配关系作为初始解,并基于所述初始解初始化禁忌表;121.迭代子单元,用于基于所述初始解、所述禁忌表和迭代算子进行迭代处理,直至连续m次迭代处理的迭代成本保持不变,得到目标解;122.其中,所述禁忌表用于记录由所述初始解迭代至所述目标解的过程中目标任务执行次序的变换信息,所述迭代算子为用于对两个目标任务之间的执行次序进行交换的函数,m为迭代次数的上限值,所述目标解为目标分配关系。123.可选地,作为一个实施例,所述迭代子单元的每一次迭代处理的过程包括以下步骤:124.选定所述迭代算子;125.遍历当前解中的任意两个目标任务,根据所述禁忌表确定最近m次迭代处理中所述两个目标任务是否按照所述迭代算子发生执行次序的交换;126.若否,则计算所述两个目标任务按照所述迭代算子发生执行次序交换所产生的成本增量和成本减量,并根据所述成本增量和所述成本减量,计算所述两个目标任务按照所述迭代算子发生执行次序交换的第一迭代成本;127.若所述第一迭代成本低于目标迭代成本,则按照所述迭代算子交换所述两个目标任务的执行次序,更新当前解,将更新信息记录到所述禁忌表中,并将所述目标迭代成本更新为所述第一迭代成本;128.对所有发生执行次序交换的第一迭代成本进行求和运算,得到本次迭代处理的迭代成本。129.可选地,作为一个实施例,所述迭代算子包括以下至少一项:130.用于对跨运力的目标任务之间进行执行次序交换的第一函数,以及用于对单个可用运力内部的目标任务之间进行执行次序交换的第二函数。131.可选地,作为一个实施例,当所述迭代算子为第一函数时,两个目标任务按照所述迭代算子发生执行次序交换所产生的成本增量为:成本减量为:132.当所述迭代算子为第二函数时,两个目标任务按照所述迭代算子发生执行次序交换所产生的成本增量为:成本减量为:133.其中,和分别代表两个目标任务,d(a,b)代表从a到b的距离,p(a)代表a的父节点,k(a)代表a的子节点。134.可选地,作为一个实施例,所述初始分配单元包括:135.计算子单元,用于通过寻路算法,计算所述运力集合中的每个可用运力与所述任务集合中的每个目标任务之间的距离,得到距离集合;136.分配子单元,用于从所述距离集合中的最短距离开始,将所述最短距离对应的目标任务分配给所述最短距离对应的可用运力,在分配完成后,将所述距离集合中的次短距离对应的目标任务分配给所述次短距离对应的可用运力,重复上述分配过程,直至完成所述任务集合中所有目标任务的分配;137.设置子单元,用于为每个可用运力所分配到的目标任务随机设置执行的前后次序,得到初始分配关系。138.可选地,作为一个实施例,所述目标分配关系包括:每个可用运力与其分配到的目标任务的目标对应关系,以及每个可用运力执行所分配到的目标任务的目标先后次序。139.可选地,作为一个实施例,所述获取模块701包括:140.第一获取子模块,用于获取运力集合;141.计算子模块,用于计算所述运力集合对应的可用运力总容量n;142.排序子模块,用于在待搬运的任务的个数大于n的情况下,按照优先级由高到低的顺序,对所有待搬运的任务进行排序;143.第二获取子模块,用于获取排在前n位的任务,得到所述运力集合对应的任务集合,其中,所述任务集合中的目标任务为所述排在前n位的任务。144.本技术提供的运力分配方法的实施例中的任意一个步骤和任意一个步骤中的具体操作均可以由运力分配装置中的相应的模块完成运力分配装置中的各个模块完成的相应的操作的过程参考在运力分配方法的实施例中描述的相应的操作的过程。145.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。146.图8是本技术的一个实施例的一种电子设备的结构框图。电子设备包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理组件822执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述方法。147.电子设备还可以包括一个电源组件826被配置为执行电子设备的电源管理,一个有线或无线网络接口850被配置为将电子设备连接到网络,和一个输入输出(i/o)接口858。电子设备可以操作基于存储在存储器832的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。148.根据本技术的再一个实施例,本技术还提供了计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任意一个实施例所述的运力分配方法中的步骤。149.根据本技术的再一个实施例,本技术还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任意一个实施例所述的运力分配方法中的步骤。150.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。151.本领域内的技术人员应明白,本技术实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本技术实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。152.本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。153.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。154.尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。155.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。156.以上对本技术所提供的一种运力分配方法、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1