掌桥专利:专业的专利平台
掌桥专利
首页

运力分配方法、运力分配设备以及存储介质

文献发布时间:2024-04-18 19:59:31


运力分配方法、运力分配设备以及存储介质

技术领域

本发明涉及数据处理技术领域,尤其涉及运力分配方法、运力分配设备和存储介质。

背景技术

运力分配是物流配送的重要环节。目前,运力分配一般通过人工完成,调度人员接收到客户订单之后,按照经验将客户订单进行组合形成配送任务,再将配送任务下发给对应的承运人员。然而,这样的方式不但效率低下还容易导致相关各方成本比例不均衡,存在配送任务分配合理性低下的问题。

发明内容

本发明的主要目的在于提供一种运力分配方法、运力分配设备以及存储介质,旨在提高运力分配合理性。

为实现上述目的,本发明提供一种运力分配方法,所述运力分配方法包括以下步骤:

获取多个待配送的订单信息和多个备选运力分别对应的运力信息;

根据多个所述运力信息和多个所述订单信息确定初始的运力分配方案作为模拟退火算法初始的候选解和初始的当前最优解;

迭代执行目标流程,直至满足迭代结束条件时输出当前最优解,所述目标流程包括:对当前的候选解施加随机扰动产生新的运力分配方案作为模拟退火算法的新解、并根据所述新解、当前的候选解以及当前最优解分别对应的目标函数值确定模拟退火算法新的当前最优解,当前最优解为当前目标函数值最小的运力分配方案;

根据输出的当前最优解确定目标运力分配方案;

其中,所述目标函数值包括调度成本和劳动力成本,所述运力分配方案包括所述多个备选运力中承运所述多个订单信息的至少两个计划运力和每个所述计划运力对应承运的所述订单信息。

可选地,所述根据所述新解、当前的候选解以及当前最优解分别对应的目标函数值确定模拟退火算法新的当前最优解的步骤包括:

根据所述新解和当前的候选解分别对应的目标函数值确定是否接受所述新解;

当接受所述新解时,确定所述新解为新的候选解,并根据新的候选解和当前最优解分别对应的目标函数值确定新的当前最优解;

当不接受所述新解时,维持当前最优解不变。

可选地,所述根据所述新解和当前的候选解分别对应的目标函数值确定是否接受所述新解的步骤包括:

生成第一随机概率,并根据所述目标流程的迭代进度参数确定第一概率,所述第一概率与所述迭代进度参数呈正相关;

当满足第一条件时,接受所述新解,所述第一条件包括所述新解的劳动力成本小于当前的候选解的劳动力成本或所述新解的调度成本小于当前的候选解的调度成本;

当所述第一随机概率小于或等于所述第一概率、且未满足所述第一条件时,以劳动力成本最小化为目标并通过Metropolis准则确定是否接受所述新解;

当所述第一随机概率大于所述第一概率、且未满足所述第一条件时,以调度成本最小化为目标并通过Metropolis准则确定是否接受所述新解。

可选地,所述根据新的候选解和当前最优解分别对应的目标函数值确定新的当前最优解的步骤包括:

生成第二随机概率,并根据所述目标流程的迭代进度参数确定第二概率,所述第二概率与所述迭代进度参数呈正相关;

当所述第二随机概率小于或等于所述第二概率、且新的候选解对应的劳动力成本小于当前最优解对应的劳动力成本时,或,当所述第二随机概率大于所述第二概率、且新的候选解对应的调度成本小于当前最优解对应的调度成本时,确定新的候选解为新的当前最优解;

当所述第二随机概率小于或等于所述第二概率、且新的候选解对应的劳动力成本大于或等于当前最优解对应的劳动力成本时,或,当所述第二随机概率大于所述第二概率、且新的候选解对应的调度成本大于或等于当前最优解对应的调度成本时,维持当前的最优解不变。

可选地,所述运力分配方案包括多个配送任务,每个所述配送任务包括一个所述计划运力和对应承运的所述订单信息,所述对当前的候选解施加随机扰动产生新的运力分配方案作为模拟退火算法的新解的步骤包括:

按照预设数量随机选择所述候选解中的配送任务获得多个随机任务;

依次生成每个所述随机任务对应的第三随机概率并根据所述第三随机概率移除对应的所述随机任务中的订单信息,确定被移除的订单信息为未分配订单信息,确定订单信息被移除后所述候选解中当前的配送任务为待定任务;

依次确定每个所述未分配订单信息在所有所述待定任务中的可插入位置并以劳动力成本最小或调度成本最小为目标将所述未分配订单信息插入其中一个可插入位置,获得所述新解。

可选地,所述随机任务中的所有订单信息按照预设顺序排列形成对应的订单序列,所述根据所述第三随机概率移除对应的所述随机任务中的订单信息的步骤包括:

当所述第三随机概率小于或等于第三概率时,移除对应的随机任务中的所有订单信息;

当所述第三随机概率大于所述第三概率、且小于或等于第四概率时,按照第一数量随机选取对应的所述订单序列中的第一序列区间,移除所有所述第一序列位置中的所有订单信息;

当所述第三随机概率大于所述第三概率、且大于所述第四概率时,按照第二数量随机选取对应的所述订单序列中的第二序列区间,移除所有所述第二序列位置中的所有订单信息;

其中,所述第四概率大于所述第三概率,所述第一数量与所述第二数量不同。

可选地,所述依次确定每个所述未分配订单信息在所有所述待定任务中的可插入位置并以劳动力成本最小或调度成本最小为目标将所述未分配订单信息插入其中一个可插入位置,获得所述新解的步骤包括:

随机选取多个预设排序规则中之一为目标排序规则,并按照所述目标排序规则对所有所述未分配订单信息排序,获得对应的目标排序;

按照所述目标排序依次确定每个所述未分配订单信息在所有所述待定任务中的可插入位置并以劳动力成本最小或调度成本最小为目标将所述未分配订单信息插入其中一个可插入位置,获得所述新解。

可选地,确定所述未分配订单信息在所有所述待定任务中的可插入位置的步骤包括:

分别确定所述未分配订单信息添加至每个所述待定任务后对应形成的新的待定任务是否违反运力约束条件;

确定未违反所述运力约束条件的新的待定任务中的订单位置为所述可插入位置。

可选地,所述运力分配方案包括多个配送任务,每个所述配送任务包括一个所述计划运力和对应承运的订单信息,所述运力分配方案对应的调度成本确定过程如下:

确定所述运力分配方案中每个所述配送任务对应的导航距离;

根据所述导航距离确定每个所述配送任务的子调度成本;

确定所有所述子调度成本的总和为所述调度成本。

可选地,所述根据所述导航距离确定每个所述配送任务的子调度成本的步骤包括:

根据所述导航距离所在的目标距离区间确定基准成本;

根据所述导航距离确定浮动成本,所述浮动成本与所述导航距离呈线性正相关;

根据基准成本和所述浮动成本的总和确定对应的子调度成本。

可选地,所述运力分配方案包括多个配送任务,每个所述配送任务包括一个所述计划运力和对应承运的订单信息,所述运力分配方案对应的劳动力成本确定过程如下:

根据所述运力分配方案中每个配送任务对应的消耗能源费用、导航距离、配送时间、配送地址所属的不同预设分区的总数、调度成本与参考劳动力收入的关系值确定所述劳动力成本。

可选地,所述根据所述运力分配方案中每个配送任务对应的消耗能源费用、导航距离、配送时间、配送地址所属的不同预设分区的总数、调度成本与参考劳动力收入的关系值确定所述劳动力成本的步骤包括:

根据每个所述配送任务中计划运力的运力类型确定所述导航距离对应的第一权值、配送时间对应的第二权值以及所述总数对应的第三权值;

根据每个所述配送任务对应的所述消耗能源费用、所述导航距离和对应的所述第一权值、所述配送时间和对应的第二权值、所述总数和对应的所述第三权值以及所述关系值确定所述劳动力成本。

可选地,所述迭代结束条件包括迭代时长达到最大时长,所述最大时长与所述订单信息的总数呈正相关。

此外,为了实现上述目的,本申请还提出一种运力分配设备,所述运力分配设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的运力分配程序,所述运力分配程序被所述处理器执行时实现如上任一项所述的运力分配方法的步骤。

此外,为了实现上述目的,本申请还提出一种存储介质,所述存储介质上存储有运力分配程序,所述运力分配程序被处理器执行时实现如上任一项所述的运力分配方法的步骤。

本发明提出的一种运力分配方法,该方法采用以调度成本最小化和劳动力成本最小化为多目标的模拟退火算法来处理多个运力信息和多个订单信息来得到目标运力分配方案,此过程综合考虑了调度成本和劳动力成本进行数据分析得到目标运力分配方案,相比于人工经验进行运力分配的方式,有利于提高配送相关的调度单位和劳动力所需成本分配的均衡性,从而有利于提高运力分配的合理性。

附图说明

图1为本发明运力分配设备一实施例运行涉及的硬件结构示意图;

图2为本发明运力分配方法一实施例的流程示意图;

图3为本发明运力分配方法另一实施例的流程示意图;

图4为本发明运力分配方法又一实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提出一种运力分配设备100。例如,运力分配设备100可为台式电脑、笔记本电脑、平板电脑、手机等信息处理装置。

在本发明实施例中,参照图1,运力分配设备100包括:处理器1001,例如CPU,存储器1002,以及数据接口1003。其中,这些部件之间通过通信总线连接通信。存储器1002可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1002可选的还可以是独立于前述处理器1001的存储装置。数据接口1003可用于接收运力分配相关的数据,例如订单信息、运力信息、成本信息、限行信息等等。

在本实施例中,运力分配设备100可包括下列功能模块:

信息采集模块:收集订单系统下发的订单信息、运力系统下发的计费、车辆、限行、最大劳动时间、期望最后卸货地址的信息;

信息预处理模块:①根据订单的发货地址和收货地址,去重后进行排列组合,组成始发地-目的地的配对关系,并且根据地理信息接口获取地址配对关系的货车导航时间和距离,并缓存至数据库;②根据车辆油耗模型、车辆行驶距离以及时间、当地平均收入水平、期望最后卸货地址信息,建立司机劳动力成本模型;

搜索新解模块:基于模拟退火算法建立订单移除算子、未分配订单排序算子、订单插入算子迭代生成一系列的解,其中,算法的解是计算出的运力分配方案。

本领域技术人员可以理解,图1中示出的装置结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1002中可以包括运力分配程序。

在图1所示的装置中,而处理器1001可以用于调用存储器1002中存储的运力分配程序,并执行以下流程:

获取多个待配送的订单信息和多个备选运力分别对应的运力信息;

根据多个所述运力信息和多个所述订单信息确定初始的运力分配方案作为模拟退火算法初始的候选解和初始的当前最优解;

迭代执行目标流程,直至满足迭代结束条件时输出当前最优解,所述目标流程包括:对当前的候选解施加随机扰动产生新的运力分配方案作为模拟退火算法的新解、并根据所述新解、当前的候选解以及当前最优解分别对应的目标函数值确定模拟退火算法新的当前最优解,当前最优解为当前目标函数值最小的运力分配方案;

根据输出的当前最优解确定目标运力分配方案;

其中,所述目标函数值包括调度成本和劳动力成本,所述运力分配方案包括所述多个备选运力中承运所述多个订单信息的至少两个计划运力和每个所述计划运力对应承运的所述订单信息。

进一步的,所述根据所述新解、当前的候选解以及当前最优解分别对应的目标函数值确定模拟退火算法新的当前最优解的步骤包括:

根据所述新解和当前的候选解分别对应的目标函数值确定是否接受所述新解;

当接受所述新解时,确定所述新解为新的候选解,并根据新的候选解和当前最优解分别对应的目标函数值确定新的当前最优解;

当不接受所述新解时,维持当前最优解不变。

进一步的,所述根据所述新解和当前的候选解分别对应的目标函数值确定是否接受所述新解的步骤包括:

生成第一随机概率,并根据所述目标流程的迭代进度参数确定第一概率,所述第一概率与所述迭代进度参数呈正相关;

当满足第一条件时,接受所述新解,所述第一条件包括所述新解的劳动力成本小于当前的候选解的劳动力成本或所述新解的调度成本小于当前的候选解的调度成本;

当所述第一随机概率小于或等于所述第一概率、且未满足所述第一条件时,以劳动力成本最小化为目标并通过Metropolis准则确定是否接受所述新解;

当所述第一随机概率大于所述第一概率、且未满足所述第一条件时,以调度成本最小化为目标并通过Metropolis准则确定是否接受所述新解。

进一步的,所述根据新的候选解和当前最优解分别对应的目标函数值确定新的当前最优解的步骤包括:

生成第二随机概率,并根据所述目标流程的迭代进度参数确定第二概率,所述第二概率与所述迭代进度参数呈正相关;

当所述第二随机概率小于或等于所述第二概率、且新的候选解对应的劳动力成本小于当前最优解对应的劳动力成本时,或,当所述第二随机概率大于所述第二概率、且新的候选解对应的调度成本小于当前最优解对应的调度成本时,确定新的候选解为新的当前最优解;

当所述第二随机概率小于或等于所述第二概率、且新的候选解对应的劳动力成本大于或等于当前最优解对应的劳动力成本时,或,当所述第二随机概率大于所述第二概率、且新的候选解对应的调度成本大于或等于当前最优解对应的调度成本时,维持当前的最优解不变。

进一步的,所述运力分配方案包括多个配送任务,每个所述配送任务包括一个所述计划运力和对应承运的所述订单信息,所述对当前的候选解施加随机扰动产生新的运力分配方案作为模拟退火算法的新解的步骤包括:

按照预设数量随机选择所述候选解中的配送任务获得多个随机任务;

依次生成每个所述随机任务对应的第三随机概率并根据所述第三随机概率移除对应的所述随机任务中的订单信息,确定被移除的订单信息为未分配订单信息,确定订单信息被移除后所述候选解中当前的配送任务为待定任务;

依次确定每个所述未分配订单信息在所有所述待定任务中的可插入位置并以劳动力成本最小或调度成本最小为目标将所述未分配订单信息插入其中一个可插入位置,获得所述新解。

进一步的,所述随机任务中的所有订单信息按照预设顺序排列形成对应的订单序列,所述根据所述第三随机概率移除对应的所述随机任务中的订单信息的步骤包括:

当所述第三随机概率小于或等于第三概率时,移除对应的随机任务中的所有订单信息;

当所述第三随机概率大于所述第三概率、且小于或等于第四概率时,按照第一数量随机选取对应的所述订单序列中的第一序列区间,移除所有所述第一序列位置中的所有订单信息;

当所述第三随机概率大于所述第三概率、且大于所述第四概率时,按照第二数量随机选取对应的所述订单序列中的第二序列区间,移除所有所述第二序列位置中的所有订单信息;

其中,所述第四概率大于所述第三概率,所述第一数量与所述第二数量不同。

进一步的,所述依次确定每个所述未分配订单信息在所有所述待定任务中的可插入位置并以劳动力成本最小或调度成本最小为目标将所述未分配订单信息插入其中一个可插入位置,获得所述新解的步骤包括:

随机选取多个预设排序规则中之一为目标排序规则,并按照所述目标排序规则对所有所述未分配订单信息排序,获得对应的目标排序;

按照所述目标排序依次确定每个所述未分配订单信息在所有所述待定任务中的可插入位置并以劳动力成本最小或调度成本最小为目标将所述未分配订单信息插入其中一个可插入位置,获得所述新解。

进一步的,确定所述未分配订单信息在所有所述待定任务中的可插入位置的步骤包括:

分别确定所述未分配订单信息添加至每个所述待定任务后对应形成的新的待定任务是否违反运力约束条件;

确定未违反所述运力约束条件的新的待定任务中的订单位置为所述可插入位置。

进一步的,所述运力分配方案包括多个配送任务,每个所述配送任务包括一个所述计划运力和对应承运的订单信息,所述运力分配方案对应的调度成本确定过程如下:

确定所述运力分配方案中每个所述配送任务对应的导航距离;

根据所述导航距离确定每个所述配送任务的子调度成本;

确定所有所述子调度成本的总和为所述调度成本。

进一步的,所述根据所述导航距离确定每个所述配送任务的子调度成本的步骤包括:

根据所述导航距离所在的目标距离区间确定基准成本;

根据所述导航距离确定浮动成本,所述浮动成本与所述导航距离呈线性正相关;

根据基准成本和所述浮动成本的总和确定对应的子调度成本。

进一步的,所述运力分配方案包括多个配送任务,每个所述配送任务包括一个所述计划运力和对应承运的订单信息,所述运力分配方案对应的劳动力成本确定过程如下:

根据所述运力分配方案中每个配送任务对应的消耗能源费用、导航距离、配送时间、配送地址所属的不同预设分区的总数、调度成本与参考劳动力收入的关系值确定所述劳动力成本。

进一步的,所述根据所述运力分配方案中每个配送任务对应的消耗能源费用、导航距离、配送时间、配送地址所属的不同预设分区的总数、调度成本与参考劳动力收入的关系值确定所述劳动力成本的步骤包括:

根据每个所述配送任务中计划运力的运力类型确定所述导航距离对应的第一权值、配送时间对应的第二权值以及所述总数对应的第三权值;

根据每个所述配送任务对应的所述消耗能源费用、所述导航距离和对应的所述第一权值、所述配送时间和对应的第二权值、所述总数和对应的所述第三权值以及所述关系值确定所述劳动力成本。

进一步的,所述迭代结束条件包括迭代时长达到最大时长,所述最大时长与所述订单信息的总数呈正相关。

在本实施例中,各流程步骤的细化方案可参见下面运力分配方法对应的实施例,在此不作赘述。

本发明实施例提出的一种运力分配设备,该设备采用以调度成本最小化和劳动力成本最小化为多目标的模拟退火算法来处理多个运力信息和多个订单信息来得到目标运力分配方案,此过程综合考虑了调度成本和劳动力成本进行数据分析得到目标运力分配方案,相比于人工经验进行运力分配的方式,有利于提高配送相关的调度单位和劳动力所需成本分配的均衡性,从而有利于提高运力分配的合理性。

本发明实施例还提供一种运力分配方法,应用于上述运力分配设备。

参照图2,提出本申请运力分配方法一实施例。在本实施例中,所述运力分配方法包括:

步骤S10,获取多个待配送的订单信息和多个备选运力分别对应的运力信息;

订单信息包括待发货地址、收货地址、货物体积和重量,等等。

运力信息包括型号(例如车型等)、限行信息、容量、载重、最大劳动时间以及期望最后卸货地址,等等。每个备选运力对应一个运力信息。

备选运力为当前具有承运能力的运力。在本实施例中,备选运力为车辆。在其他实施例中,备选运力也为飞机或船等。多个备选运力可包括相同的运力或不同的运力。

这里多个订单信息具体可通过接收订单系统发送的数据得到。

步骤S20,根据多个所述运力信息和多个所述订单信息确定初始的运力分配方案作为模拟退火算法初始的候选解和初始的当前最优解,所述运力分配方案包括所述多个备选运力中承运所述多个订单信息的至少两个计划运力和每个所述计划运力对应承运的所述订单信息;

在本实施例中,采用构造启发式算法对多个运力信息和多个订单信息进行处理得到这里初始的运力分配方案。需要说明的是,这里所得到的初始的运力分配方案为可行方案。

步骤S30,迭代执行目标流程,直至满足迭代结束条件时输出当前最优解,所述目标流程包括:对当前的候选解施加随机扰动产生新的运力分配方案作为模拟退火算法的新解、并根据所述新解、当前的候选解以及当前最优解分别对应的目标函数值确定模拟退火算法新的当前最优解,当前最优解为当前目标函数值最小的运力分配方案;其中,所述目标函数值包括调度成本和劳动力成本;

在迭代执行目标流程的过程中,每执行一次目标流程对应获得一个新的当前最优解,在满足迭代结束条件时输出当前最新得到的当前最优解。

当前最优解可理解为在当前迭代执行目标流程的过程中产生的所有运力分配方案中调度成本最小和劳动力成本最小的运力分配方案。

迭代结束条件可包括迭代执行目标流程过程中的迭代次数和/或迭代总时长和/或当前最优解对应的总成本所需达到的条件。

目标流程执行的过程中,可按照随机规则对候选解中不同计划运力所承运的订单信息进行调整,调整后得到新的运力分配方案作为这里的新解。

在一实现方式中,可根据新解对应的调度成本、候选解对应的调度成本以及当前最优解对应的调度成本之间的大小关系或数量关系值、根据新解对应的劳动力成本、候选解对应的劳动力成本以及当前最优解对应的劳动力成本之间的大小关系或数量关系值确定这里的当前最优解。

在另一实现方式中,可根据新解对应的调度成本与劳动力成本的总成本、候选解对应的调度成本与劳动力成本的总成本、当前最优解对应的调度成本与劳动力成本的总成本之间的大小关系或数量关系值确定这里的当前最优解。

步骤S40,根据输出的当前最优解确定目标运力分配方案。

这里的目标运力分配方案可认为是迭代执行目标流程的过程中产生的所有运力分配方案中调度成本最小和劳动力成本最小的运力分配方案。

本发明实施例提出的一种运力分配方法,该方法采用以调度成本最小化和劳动力成本最小化为多目标的模拟退火算法来处理多个运力信息和多个订单信息来得到目标运力分配方案,此过程综合考虑了调度成本和劳动力成本进行数据分析得到目标运力分配方案,相比于人工经验进行运力分配的方式,有利于提高配送相关的调度单位和劳动力所需成本分配的均衡性,从而有利于提高运力分配的合理性。

进一步的,在本实施例中,所述迭代结束条件包括迭代时长达到最大时长,所述最大时长与所述订单信息的总数呈正相关。

这里的迭代时长具体为开始迭代执行目标流程的时长至当前时刻的总时长。

总数为所有待配送的订单信息的总数量。

在本实施例中,最大时长与订单信息的总数呈指数性正相关。在其他实施例中,最大时长与订单信息的总数呈线性正相关。

在本实施例中,通过上述方式,有利于适应于不同待配送订单数量,实现运力分配效率与运力分配合理性的有效兼顾。

进一步的,基于上述实施例,提出本申请运力分配方法另一实施例。在本实施例中,参照图3,所述根据所述新解、当前的候选解以及当前最优解分别对应的目标函数值确定模拟退火算法新的当前最优解的步骤包括:

步骤S21,根据所述新解和当前的候选解分别对应的目标函数值确定是否接受所述新解;

根据新解与当前的候选解分别对应目标函数值之间的大小关系或数量关系值确定是否接受新解。或者,根据新解与当前的候选解分别对应目标函数值、以劳动力成本最小化和调度成本最小化为目标通过Metropolis准则确定是否接受所述新解。

步骤S22,当接受所述新解时,确定所述新解为新的候选解,并根据新的候选解和当前最优解分别对应的目标函数值确定新的当前最优解;

在本实施例中,以劳动力成本最小化和调度成本最小化为目标,根据新的候选解对应的调度成本与当前最优解对应的调度成本之间的大小关系或数量关系值、以及新的候选解对应的劳动力成本与当前最优解对应的劳动力成本之间的大小关系或数量关系值确定这里的新的当前最优解。

步骤S23,当不接受所述新解时,维持当前最优解不变。

在本实施例中,通过上述方式,可保证得到的当前最优解可渐近收敛至满足调度成本最小与劳动力成本最小的目标,从而进一步提高所得到的目标运力分配方案中调度成本与劳动力成本比例的均衡性和全局成本尽量下降,以进一步提高运力分配的合理性和准确性。

进一步的,在本实施例中,所述根据所述新解和当前的候选解分别对应的目标函数值确定是否接受所述新解的步骤包括:生成第一随机概率,并根据所述目标流程的迭代进度参数确定第一概率,所述第一概率与所述迭代进度参数呈正相关;当满足第一条件时,接受所述新解,所述第一条件包括所述新解的劳动力成本小于当前的候选解的劳动力成本或所述新解的调度成本小于当前的候选解的调度成本;当所述第一随机概率小于或等于所述第一概率、且未满足所述第一条件时,以劳动力成本最小化为目标并通过Metropolis准则确定是否接受所述新解;当所述第一随机概率大于所述第一概率、且未满足所述第一条件时,以调度成本最小化为目标并通过Metropolis准则确定是否接受所述新解。

在本实施例中,在[0,1)范围内生成一个随机小数作为第一随机概率。

迭代进度参数具体为表征目标流程当前的迭代进度的参数。在本实施例中,迭代进度参数为上述迭代时长与最大时长的比值。在其他实施例中,迭代进度参数也可为当前迭代次数(也就是目标流程的执行次数)与最大迭代次数之间的比值,等等。

所述第一概率为以劳动力成本最小化为目标接受候选解的概率,在本实施例中,第一概率P

P

在本实施例中,a、b为常数。例如,a为0.8,b为5。

Metropolis准则具体为:若ΔT<0则不接受新解,维持当前最优解不变;否则以概率exp(-ΔT/T)接受新解。其中,以劳动力成本最小化为目标时,ΔT根据当前候选解与新解分别对应的劳动力成本确定;以调度成本最小化为目标时,ΔT根据当前候选解与新解分别对应的调度成本确定。

在本实施例中,通过上述方式,在迭代过程的前中期,主要以调度成本最小化为导向进行求解,在迭代过程的后期,根据当前搜到调度成本最低的最优解,在调度成本波动较小的解中搜到劳动力成本低的解,从而实现分阶段多目标求解,从而保证迭代结束后得到的目标运力分配方案可兼顾调度成本最小和劳动力成本最小,以进一步提高运力分配的合理性。

进一步的,在本实施例中,所述根据新的候选解和当前最优解分别对应的目标函数值确定新的当前最优解的步骤包括:生成第二随机概率,并根据所述目标流程的迭代进度参数确定第二概率,所述第二概率与所述迭代进度参数呈正相关;当所述第二随机概率小于或等于所述第二概率、且新的候选解对应的劳动力成本小于当前最优解对应的劳动力成本时,或,当所述第二随机概率大于所述第二概率、且新的候选解对应的调度成本小于当前最优解对应的调度成本时,确定新的候选解为新的当前最优解;当所述第二随机概率小于或等于所述第二概率、且新的候选解对应的劳动力成本大于或等于当前最优解对应的劳动力成本时,或,当所述第二随机概率大于所述第二概率、且新的候选解对应的调度成本大于或等于当前最优解对应的调度成本时,维持当前的最优解不变。

在本实施例中,在[0,1)范围内生成一个随机小数作为第二随机概率。

迭代进度参数具体为表征目标流程当前的迭代进度的参数。在本实施例中,迭代进度参数为上述迭代时长与最大时长的比值。在其他实施例中,迭代进度参数也可为当前迭代次数(也就是目标流程的执行次数)与最大迭代次数之间的比值,等等。

所述第二概率为以劳动力成本最小化为目标接受候选解的概率,第二概率大于上述的第一概率。在本实施例中,第二概率P

P

在本实施例中,c、d为常数。c小于上述的a,d小于上述的b。例如,c为0.5,d为2。

在本实施例中,通过上述方式,有利于保证所确定的新的当前最优解在当前搜索到的最优解中所对应的调度成本或劳动力成本最优,以进一步提高目标运力分配方案的准确性,以进一步提高运力分配的合理性。

进一步的,基于上述任一实施例,提出本申请运力分配方法又一实施例。在本实施例中,所述运力分配方案包括多个配送任务,每个所述配送任务包括一个所述计划运力和对应承运的所述订单信息,参照图4,所述对当前的候选解施加随机扰动产生新的运力分配方案作为模拟退火算法的新解的步骤包括:

步骤S201,按照预设数量随机选择所述候选解中的配送任务获得多个随机任务;

这里的预设数量小于候选解中配送任务的总数。

步骤S202,依次生成每个所述随机任务对应的第三随机概率并根据所述第三随机概率移除对应的所述随机任务中的订单信息,确定被移除的订单信息为未分配订单信息,确定订单信息被移除后所述候选解中当前的配送任务为待定任务;

每个随机任务被移除的订单信息的数量为至少两个,所获得的被移除的订单信息的数量为多个。

在每个随机任务的订单信息移除过程中:在[0,1)区间内生成随机小数作为第三随机概率。第三随机概率的大小不同,则对应的订单信息的移除方式不同,根据第三随机概率确定目标移除方式,根据目标移除方式移除当前随机任务中的订单信息,在完成当前随机任务中订单信息的移除后再重复上述步骤移除下一个随机任务中的订单信息,直至所有随机任务中的订单信息均移除完毕。

所有随机任务的订单信息被移除后可获得多个未分配订单信息。

待定任务的数量与移除订单信息之前候选解中配送任务的数量相同。待定任务可为移除订单信息之前候选解中随机任务以外的其他任务,也就是未被移除订单信息的配送任务,或待定任务为被移除订单信息后的随机任务。

其中,当随机任务中全部订单信息被移除时,对应的待定任务中可包括一个计划运力且不存在未被移除的订单信息。当随机任务中部分订单信息被移除时,对应的待定任务可包括一个计划运力和对应未被移除的订单信息。

步骤S203,依次确定每个所述未分配订单信息在所有所述待定任务中的可插入位置并以劳动力成本最小或调度成本最小为目标将所述未分配订单信息插入其中一个可插入位置,获得所述新解。

每个未分配订单信息可对应一个或多于一个可插入位置。需要说明的是,将未分配订单信息插入可插入位置之后,未分配订单信息的总数减小,在所有未分配订单信息均插入到对应的可插入位置之后得到的所有配送任务可作为新解。

每个未分配订单信息对应的可插入位置的数量可为一个或多于一个。其中,可插入位置的数量多于一个时,可计算每个可插入位置对应的参考劳动力收入和调度成本,依次将每个可插入位置作为参考位置,在所有待定任务中将未分配订单信息插入参考位置、且参考位置以外的可插入位置不插入其他订单信息时,可获得当前的多个配送任务,计算当前的多个配送任务对应的劳动力成本为当前参考位置对应的参考劳动力收入,计算当前的多个配送任务对应的调度成本为当前参考位置对应的参考调度成本,将参考调度成本最低的可插入位置或参考劳动力收入最低的可插入位置作为目标位置,将当前的未分配订单信息插入到目标位置。

其中,可生成随机概率,随机概率小于或等于上述第二概率时,以劳动力成本最小为目标将所述未分配订单信息插入其中一个可插入位置;随机概率大于第二概率时,以调度成本最小为目标将所述未分配订单信息插入其中一个可插入位置。

在本实施例中,通过上述方式,有利于进一步提高模拟退火算法输出最优解的准确性,从而进一步提高运力分配的合理性。

进一步的,在本实施例中,所述随机任务中的所有订单信息按照预设顺序排列形成对应的订单序列。在本实施例中,这里的预设顺序为随机任务中不同订单信息中收货地址的访问顺序。所述根据所述第三随机概率移除对应的所述随机任务中的订单信息的步骤包括:当所述第三随机概率小于或等于第三概率时,移除对应的随机任务中的所有订单信息;当所述第三随机概率大于所述第三概率、且小于或等于第四概率时,按照第一数量随机选取对应的所述订单序列中的第一序列区间,移除所有所述第一序列位置中的所有订单信息;当所述第三随机概率大于所述第三概率、且大于所述第四概率时,按照第二数量随机选取对应的所述订单序列中的第二序列区间,移除所有所述第二序列位置中的所有订单信息;其中,所述第四概率大于所述第三概率,所述第一数量与所述第二数量不同。

在本实施例中,第三概率根据迭代进度参数确定。第四概率为预先设置的固定参数,为间隔移除的概率。

其中,在本实施例中,第二概率P

P

在本实施例中,e、f为常数。e小于或等于上述的c,f小于或等于上述的d。例如,e为0.1,f为2。

第一数量与第二数量可为预先设置的固定数量,也可为根据迭代过程的实际状态确定的参数。例如,可根据当前最优解对应的总成本确定这里的第一数量和第二数量。在本实施例中,第一数量大于第二数量。在其他实施例中,第一数量也可小于第二数量。

当所述第三随机概率大于所述第三概率、且小于或等于第四概率时,根据随机任务中当前订单信息的总数,从小到大生成4个不重复的序列号分别为O

当所述第三随机概率大于所述第三概率、且大于所述第四概率时,根据随机任务中当前订单信息的总数,从小到大生成2个不重复的序列号分别为O

在本实施例中,通过上述方式,有利于提高所获得新解的多样性,从而进一步提高最终输出最优解的准确性,以进一步提高运力分配的准确性。

进一步的,在本实施例中,所述依次确定每个所述未分配订单信息在所有所述待定任务中的可插入位置并以劳动力成本最小或调度成本最小为目标将所述未分配订单信息插入其中一个可插入位置,获得所述新解的步骤包括:随机选取多个预设排序规则中之一为目标排序规则,并按照所述目标排序规则对所有所述未分配订单信息排序,获得对应的目标排序;按照所述目标排序依次确定每个所述未分配订单信息在所有所述待定任务中的可插入位置并以劳动力成本最小或调度成本最小为目标将所述未分配订单信息插入其中一个可插入位置,获得所述新解。

在本实施例中,多个预设排序规则包括:① 按订单货物重量升序;② 按订单货物重量降序;③ 按订单货物体积降序;④ 按订单货物体积升序;⑤ 按订单始发地-目的地的油耗量降序;⑥ 按订单始发地-目的地的油耗量升序;⑦ 按订单始发地-目的地的行驶里程降序;⑧ 按订单始发地-目的地的行驶里程升序;⑨ 按订单始发地-目的地的行驶时间降序;⑩ 按订单始发地-目的地的行驶时间升序。

在本实施例中,按照上述方式,有利于进一步提高模拟退火算法输出最优解的准确性,从而进一步提高运力分配的合理性。

进一步的,在本实施例中,确定所述未分配订单信息在所有所述待定任务中的可插入位置的步骤包括:分别确定所述未分配订单信息添加至每个所述待定任务后对应形成的新的待定任务是否违反运力约束条件;确定未违反所述运力约束条件的新的待定任务中的订单位置为所述可插入位置。

在本实施例中,运力约束条件包括下列至少一个:

新的待定任务中订单货物重量是否大于对应的计划运力允许的最大载重;

新的待定任务中订单货物体积是否大于对应的计划运力允许的最大容积;

新的待定任务中订单收货地址是否为对应的计划运力限制进入区域;

新的待定任务中配送时长是否大于对应的计划运力允许的最大服务时长。

在本实施例中,通过上述方式,有利于提高所获得的新解中运力分配方案的可行性,从而进一步提高目标运力分配的准确性和合理性。

进一步的,基于上述任一实施例,提出本申请运力分配方法再一实施例。在本实施例中,所述运力分配方案包括多个配送任务,每个所述配送任务包括一个所述计划运力和对应承运的订单信息,所述运力分配方案对应的调度成本确定过程如下:确定所述运力分配方案中每个所述配送任务对应的导航距离;根据所述导航距离确定每个所述配送任务的子调度成本;确定所有所述子调度成本的总和为所述调度成本。

这里的导航距离具体为配送任务中运力的始发地和最终到达的目的地之间的导航路径的长度。每个配送任务可对应一个导航距离,每个导航距离对应确定一个子调度成本。

具体的,可预先建立导航距离与子调度成本之间的对应关系,对应关系可包括计算关系、映射关系等形式,基于该对应关系可确定当前导航距离所对应的子调度成本。例如,可将导航距离代入预设公式中计算得到子调度成本;或者,确定导航距离所在的数值区间,根据数值区间确定子调度成本。

在本实施例中,根据所述导航距离所在的目标距离区间确定基准成本;根据所述导航距离确定浮动成本,所述浮动成本与所述导航距离呈线性正相关;根据基准成本和所述浮动成本的总和确定对应的子调度成本。

具体的,可预先划分有多个预设距离区间,多个预设距离区间可为连续的或不连续的区间。不同的预设距离区间对应关联不同的预设成本,在多个预设距离区间中确定当前导航距离所在的预设距离区间为目标距离区间,将目标距离区间关联的预设成本作为基准成本。

具体的,可预先建立表示导航距离与浮动成本之间线性关系的关系式,将导航距离代入该关系式中可计算得到浮动成本。

例如,每个子调度成本可按照下列算法模型确定:

其中,x为变量,表示配送任务的导航距离;costi、Xi、α均为常量,costi表示配送任务的导航距离在区间[Xi,Xi+1)内的起步价(也就是基准成本);Xi为导航距离区间的端点(km);α为单位距离成本;调度成本=

在本实施例中,按照上述方式确定调度成本,有利于提高调度成本的准确性,从而提高运力分配的合理性。

进一步的,基于上述任一实施例,提出本申请运力分配方法另一可选实施例。在本实施例中,所述运力分配方案包括多个配送任务,每个所述配送任务包括一个所述计划运力和对应承运的订单信息,所述运力分配方案对应的劳动力成本确定过程如下:根据所述运力分配方案中每个配送任务对应的消耗能源费用、导航距离、配送时间、配送地址所属的不同预设分区的总数、调度成本与参考劳动力收入的关系值确定所述劳动力成本。

在本实施例中,运力为车辆,消耗能源费用可包括油费或氢气能源费用或电费等。

导航距离为对应的计划运力从取货点开始依次到各个运力分配方案中送货地址送货之后到最后一个送货地址时所行驶的总距离。

消耗能源费用为对应的计划运力从取货点开始依次到各个运力分配方案中送货地址送货之后到最后一个送货地址时所消耗能源的总费用。

配送时间为对应的计划运力从取货点开始依次到各个运力分配方案中送货地址送货之后到最后一个送货地址完成卸货时所需总时长。这里的配送时间包括运力在途的导航时长和卸货时长的总和,其中,卸货时长可按照下列公式计算:

卸货时长=

其中,T

在本实施例中,不同预设分区基于三级地址进行划分。在其他实施例中,也可根据实际需求按照其他分区规则进行分区。例如,配送任务中所有配送地址分别属于三个不同的预设分区,则总数为3。

关系值可包括差值或比值等。在本实施例中,参考劳动力收入为运力分配方案涉及的配送区域中运力相关的劳动力的平均收入。

在本实施例中,将参考劳动力收入与调度成本的差值的绝对值作为这里的关系值。

在确定每个配送任务对应的劳动力成本之后,可将所有配送任务对应的劳动力成本的总和作为运力分配方案的劳动力成本。

在本实施例中,通过上述方式确定劳动力成本,有利于提高劳动力成本的准确性,从而提高运力分配的合理性。其中,在劳动力成本计算过程中应用参考劳动力收入(如上述平均收入)与调度成本的差值的绝对值,有利于避免配送任务对应的劳动力收入偏离参考劳动力收入过多,有利于保证所获得的目标运力分配方案可有效提高劳动力的黏性,保证配送任务相关的劳动力不会由于收入过低而流失。

进一步的,在本实施例中,根据每个所述配送任务中计划运力的运力类型确定所述导航距离对应的第一权值、配送时间对应的第二权值以及所述总数对应的第三权值;根据每个所述配送任务对应的所述消耗能源费用、所述导航距离和对应的所述第一权值、所述配送时间和对应的第二权值、所述总数和对应的所述第三权值以及所述关系值确定所述劳动力成本。

其中,不同的运力类型对应不同的第一权值、第二权值以及第三权值。例如,不同的车型对应不同的第一权值、第二权值以及第三权值。

在本实施例中,每个配送任务对应的劳动力成本按照下列算法模型计算得到:

劳动力成本=油费+θ

其中,θ

在本实施例中,通过上述方式,有利于进一步提高运力分配方案对应的劳动力成本的准确性。

进一步的,在本实施例中,消耗能源费用为油费,油费=油耗量*平均油价。这里的油耗量可按照下列模型计算得到:

油耗量=

油耗量(L)表示计划运力完成一次配送任务所需要耗费的油量。其中,

进一步的,基于上述实施例,在本实施例中,上述实施例中涉及的导航距离和导航时长可按照下列方式获取:

根据所有订单信息中的发货地址、收货地址以及计划运力对应的目标卸货地址进行组合形成多个地址组合列表,根据地址组合列表获取对应的距离和时长。

具体的,将所有发货地址、所有收货地址以及目标卸货地址进行地址去重,获得地址集合,将地址集合中的地址进行两两组合,每两个地址组合形成一个地址组合,基于此,可获得多个地址组合。例如地址集合中地址数量为n,则可组合得到n*(n+1)个地址组合。

预先设置有本地数据库,本地数据库包括多个预存地址组合和每个预存地址组合对应的两个地址之间所需的行驶距离和行驶时长。根据上述获得的多个地址组合中每个地址组合依次查询本地数据库,当地址组合在本地数据库中具有匹配的预存地址组合时,将对应的行驶距离和行驶时长作为对应的地址组合的导航距离和导航时长。当地址组合在本地数据库中不具有匹配的预存地址组合时,调用第三方接口获取地址组合对应的导航距离和导航时长,并将获取的导航距离和导航时长关联地址组合后保存至数据库中。这里先查询本地数据库,本地数据库中没有相应的距离信息和时间信息时,再调用第三方接口,由第三方接口获取相应的距离信息和时间信息,有利于减少调用第三方接口的次数,降低调用接口成本的同时提高数据的复用性。

基于此,可确定每个配送任务对应的配送路径,确定配送路径中的所有地址组合,将所有地址组合对应的导航时长的总和作为配送任务对应的导航时长,将所有地址组合对应的导航距离的总和作为配送任务对应的导航距离。

在本实施例中,通过上述方式,有利于提高获取导航时长和导航距离的效率和准确性,从而进一步提高运力分配的准确性和效率。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有运力分配程序,所述运力分配程序被处理器执行时实现如上运力分配方法任一实施例的相关步骤。

在本实施例中,存储介质应用上述运力分配方法,该方法采用以调度成本最小化和劳动力成本最小化为多目标的模拟退火算法来处理多个运力信息和多个订单信息来得到目标运力分配方案,此过程综合考虑了调度成本和劳动力成本进行数据分析得到目标运力分配方案,相比于人工经验进行运力分配的方式,有利于提高配送相关的调度单位和劳动力所需成本分配的均衡性,从而有利于提高运力分配的合理性。基于此,存储介质可有效提高配送相关的调度单位和劳动力所需成本分配的均衡性,从而有利于提高运力分配的合理性。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,运力分配设备,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术分类

06120116520977