物流配送仿真方法及装置与流程

文档序号:15096454发布日期:2018-08-04 14:41阅读:326来源:国知局

本申请涉及互联网技术领域,尤其涉及一种物流配送仿真方法及装置。



背景技术:

随着互联网技术的快速发展,基于互联网的应用越来越多,例如外卖类应用、购物类应用。基于这些应用,用户足不出户即可获取自己所需的物品。这些应用在便利用户的同时,也面临着物品配送问题,于是物流调度系统应运而生。物流调度系统的主要任务是将新订单分配给合适的配送员,并为配送员规划配送路线。

随着业务需求的变化,物流调度系统也会做相应的升级或更新。对于升级或更新后的物流调度系统,开发人员一般会进行代码层级的验证,在验证合格后,直接上线运行,这可以尽快满足业务需求。



技术实现要素:

在物流调度系统升级或更新后的运行过程中,经常出现各种问题,例如可行性较差、调度结果无法满足需求指标等。

对此,本申请发明人提供一种解决方案,主要原理是:在物流调度系统上线之前,通过对其进行仿真,对其性能或可行性进行验证,尽量在上线之前解决各种问题,降低上线后出现各种问题的概率,进而提高基于物流调度系统配送订单的服务质量。

本申请实施例提供一种物流配送仿真方法,包括:

根据当前仿真周期内待仿真订单对应的配送员信息和订单数据,调用物流调度系统中的调度服务,以获得被分配订单与被分配配送员的映射关系;

根据所述被分配订单与被分配配送员的映射关系,调用所述物流调度系统中的路线规划服务,以获取所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点;

根据所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点,获取所述物流调度系统在当前仿真周期的仿真结果。

在一可选实施方式中,在调用所述调度服务之前,所述方法还包括:根据预设的仿真周期和订单生成时间,从选定的历史订单中,获取对应于当前仿真周期的历史订单,作为所述待仿真订单。

在一可选实施方式中,所述待仿真订单包括以独立方式存在的系统订单和以订单组形式存在的非系统订单;在获取所述待仿真订单之前,所述方法还包括:将所述非系统订单聚类为至少一个订单组;为所述至少一个订单组分别添加单独处理标记;将添加单独处理标记的至少一个订单组加入所述历史订单中。

在一可选实施方式中,所述非系统订单为落地配订单;所述将所述非系统订单聚类为至少一个订单组,其中,聚类具体为:根据所述落地配订单的用户地址和订单属性,将所述落地配订单聚类为至少一个订单组。

在一可选实施方式中,所述方法还包括:根据所述物流调度系统在多个仿真周期的仿真结果,获得所述物流调度系统的整体仿真结果。

在一可选实施方式中,在调用所述调度服务之前,所述方法还包括:设置所述待仿真订单的状态为初始状态。

在一可选实施方式中,在不同仿真周期内,所述配送员信息不同。

在一可选实施方式中,所述物流调度系统在当前仿真周期的仿真结果的获取步骤,包括:根据所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点,更新配送状态在当前仿真周期内发生变化的当前仿真周期内的被分配订单的状态,以及相应被分配配送员的动作状态和位置;以及,更新配送状态在当前仿真周期内发生变化的之前仿真周期内的被分配订单的状态以及相应被分配配送员的动作状态和位置。

相应地,本申请实施例还提供一种物流配送仿真装置,包括:

第一调用单元,用于根据当前仿真周期内待仿真订单对应的配送员信息和订单数据,调用物流调度系统中的调度服务,以获得被分配订单与被分配配送员的映射关系;

第二调用单元,用于根据所述被分配订单与被分配配送员的映射关系,调用所述物流调度系统中的路线规划服务,以获取所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点;

仿真单元,用于根据所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点,获取所述物流调度系统在当前仿真周期的仿真结果。

在一可选实施方式中,所述装置还包括:获取单元,用于根据预设的仿真周期和订单生成时间,从选定的历史订单中,获取对应于当前仿真周期的历史订单,作为所述待仿真订单。

在一可选实施方式中,所述待仿真订单包括以独立方式存在的系统订单和以订单组形式存在的非系统订单;所述获取单元还用于:将非系统订单聚类为至少一个订单组;为所述至少一个订单组分别添加单独处理标记;将添加单独处理标记的至少一个订单组加入所述历史订单中。

在一可选实施方式中,所述非系统订单为落地配订单;所述获取单元具体用于:根据所述落地配订单的用户地址和订单属性,将所述落地配订单聚类为至少一个订单组。

在一可选实施方式中,所述仿真单元还用于:根据所述物流调度系统在多个仿真周期的仿真结果,获得所述物流调度系统的整体仿真结果。

在一可选实施方式中,所述装置还包括:初始化单元,用于将所述待仿真订单的状态设置为初始状态。

在一可选实施方式中,在不同仿真周期内,所述配送员信息不同。

在一可选实施方式中,所述仿真单元具体用于:根据所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点,更新配送状态在当前仿真周期内发生变化的第一订单的状态,以及相应被分配配送员的动作状态和位置;以及

更新配送状态在当前仿真周期内发生变化的第二订单的状态,以及相应被分配配送员的动作状态和位置;

其中,所述第一订单是当前仿真周期内的被分配订单;所述第二订单是当前仿真周期之前其它仿真周期内的被分配订单。

在一种可能的设计中,上述物流配送仿真装置的结构中包括处理器和存储器;所述存储器用于存储支持上述物流配送仿真装置执行上述物流配送仿真方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述物流配送仿真装置还可以包括通信接口,用于所述物流配送仿真装置与其他设备或通信网络通信。

本申请实施例还提供了一种计算机存储介质,用于储存上述物流配送仿真装置所用的计算机软件指令,其包含用于执行上述物流配送仿真方法为上述物流配送仿真装置所涉及的程序。

在本申请实施例中,利用待仿真订单对应的配送员信息和订单数据,调用物流调度系统中的调度服务以对待仿真订单进行分配,获得调度服务输出的被分配订单与被分配配送员的映射关系;进而基于该映射关系,调用物流调度系统中的路线规划服务以对被分配配送员进行路线规划,获得路线规划服务输出的配送路线以及被分配订单处于各配送状态的时间点,进而基于这些信息,获得物流调度系统在当前仿真周期的仿真结果,可以实现对物流调度系统的仿真,以便及时验证其性能或可行性,尽量在上线之前解决各种问题,降低上线后出现各种问题的概率,进而提高基于物流调度系统配送订单的服务质量。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1a为本申请一实施例提供的物流调度系统的结构示意图;

图1b为本申请另一实施例提供的物流配送仿真系统的结构示意图;

图2为本申请另一实施例提供的物流配送仿真方法的流程示意图;

图3为本申请又一实施例提供的物流配送仿真方法的流程示意图;

图4为本申请又一实施例提供的物流配送仿真方法的流程示意图;

图5为本申请又一实施例提供的物流配送仿真装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1a为本申请一实施例提供的物流调度系统的结构示意图。如图1a所示,该物流调度系统100主要包括:调度服务101和路线规划服务102。

在该物流调度系统100中,调度服务101主要负责订单分配,即将订单分配给相应地配送员;路线规划服务102主要负责为配送员规划配送路线,并预估订单处于每个配送状态的时间点。

对配送员来说,可根据路线规划服务102规划的配送路线,配送调度服务101分配的订单。

在实际应用中,调度服务101可以采用不同的分配策略或算法进行订单分配。例如,调度服务101可以采用分组分配方式进行订单分配,或者,也可以采用并联分配方式进行订单分配。分组分配方式是指将订单分组,以订单组为单位进行订单分配。并联分配方式是指以单个订单为单位进行订单分配。相应地,路线规划服务102也可以采用不同的路线规划策略或算法进行路线规划。例如,路线规划服务102可以采用最短距离算法进行路线规划;或者,也可以采用最短时间算法进行路线规划;或者也可以采用最小超时率算法进行路线规划。最短距离算法是指以配送员的配送距离最短为目标进行路线规划的算法。最短时间算法是指以配送员的配送时间最短为目标进行路线规划的算法。最小超时率算法是指以配送员的配送超时率最小为目标进行路线规划的算法。

在实际应用中,当业务需求发生变化时,物流调度系统100会适应性变化。物流调度系统100随业务需求的变化而变化,可以是调度服务101采用的分配策略或算法发生变化,或者,可以是路线规划服务102采用的路线规划策略或算法发生变化,当然,也可以是调度服务101和路线规划服务102采用的策略或算法都发生变化。对于变化后的调度服务101和/或路线规划服务102,是否能够满足业务需求,可采用本申请以下仿真系统及方法实施例来验证。

图1b为本申请另一实施例提供的物流配送仿真系统的结构示意图。如图1b所示,该仿真系统包括物流调度系统100和物流配送仿真装置200。如图1a所示,物流调度系统100主要包括:调度服务101和路线规划服务102。

如图1b所示,物流配送仿真装置200分别与调度服务101和路线规划服务102通信连接。所述通信连接可以是无线或有线网络连接。物流配送仿真装置200主要通过调用调度服务101和路线规划服务102,并根据调用结果实现对物流调度系统100的仿真,具体仿真过程可参见下述方法实施例。

图2为本申请另一实施例提供的物流配送仿真方法的流程示意图。本实施例方法可用于对图1所示物流调度系统进行仿真,验证其可行性或调度性能,但并不限于图1所示物理调度系统。如图2所示,该方法包括:

201、根据当前仿真周期内待仿真订单对应的配送员信息和订单数据,调用物流调度系统中的调度服务,以获得被分配订单与被分配配送员的映射关系。

202、根据被分配订单与被分配配送员的映射关系,调用物流调度系统中的路线规划服务,以获取被分配配送员的配送路线以及被分配订单处于各配送状态的时间点。

203、根据被分配配送员的配送路线以及被分配订单处于各配送状态的时间点,获取物流调度系统在当前仿真周期的仿真结果。

在本实施例中,获取当前仿真周期内的待仿真订单以及待仿真订单对应的配送员信息和订单数据,作为物流调度系统的入参,调用物流调度系统中的调度服务。在本实施例中,对调度服务进行了扩展,调度服务需要支持被动调用模式,即可由物流配送仿真装置触发调用。

其中,根据调度服务采用的分配策略或算法的不同,分配订单所需的配送员信息也会有所不同。一般来说,配送员信息可以包括配送员的当前位置、速度、状态、待配送订单量等。相应地,订单数据一般包括待仿真订单的数量、以及每个待仿真订单的详情,例如生成时间、取单地点、送单地点等。

对调度服务来说,可以根据配送员信息和订单数据对待仿真订单进行分配处理,具体采用的分配策略或算法可视应用需求而定。例如,可以采用分组分配方式,或者,也可以采用并联分配方式。

其中,根据调度服务采用的分配策略或算法,在当前调度周期内,调度服务可能会将全部待仿真订单分配给配送员,也能将部分待仿真订单分配给配送员,这意味着,上述被分配订单可能是全部待仿真订单,也可能是部分待仿真订单。上述被分配配送员是指在当前调度周期内分配到订单的配送员。

另外,调度服务在完成对待仿真订单的分配后,会输出被分配订单和被分配配送员的映射关系,所述映射关系可以体现出订单与配送员之间的配送关系,即哪个订单被分配给哪个配送员。在本实施例中,调度服务输出信息流的方向会发生改变,不是输出至配送员的终端,而是输出至物流配送仿真装置。

物流配送仿真装置获取调度服务输出的被分配订单与被分配配送员的映射关系,以该映射关系作为入参,继续调用物流调度系统中的路线规划服务。例如,物流配送仿真装置可以根据被分配订单与被分配配送员的映射关系,获取每个被分配配送员分配到的订单数据,将每个被分配配送员的信息以及分配到的订单数据传入至路线规划服务。

对路线规划服务来说,可以根据被分配配送员的信息以及分配到的订单数据,为被分配配送员规划配送路线,并预估被分配配送分配到的订单(即被分配订单)处于各配送状态的时间点。

其中,根据路线规划服务采用的规划策略或算法的不同,路线规划所需的被分配配送员的信息以及订单数据也会有所不同。一般来说,路线规划所需的被分配配送员的信息主要包括但不限于:被分配配送员的速度、当前位置、当前时间等。相应地,路线规划所需的订单数据主要包括但不限于:订单生成时间、订单的出餐时间、订单的预计送达时间、取单地点、送单地点等。

另外,在本实施例中,路线规划服务需要输出被分配配送员的配送路线以及被分配订单处于各配送状态的时间点,为物流配送仿真装置获取仿真结果提供依据。

对物流配送仿真装置来说,可根据被分配配送员的配送路线以及被分配订单处于各配送状态的时间点,获取物流调度系统在当前仿真周期的仿真结果,实现对物流调度系统的仿真,验证其可行性或调度性能。

图3为本申请又一实施例提供的物流配送仿真方法的流程示意图。如图3所示,所述方法包括:

301、根据仿真需求,选定仿真使用的历史订单。

在对物流调度系统进行仿真之前,可以从历史订单中选定仿真使用的历史订单。选定的历史订单一般为多个。例如,可以选择当前时刻之前某一天内的订单,或者可以选择当前之前某一段时间内的订单。

302、初始化配送员信息以及历史订单的状态。

对物理调度系统进行仿真,首先调用物流调度系统中的调度服务。调用调度服务,需要提供调度服务所需的输入参数,即需要分配的订单数据以及有关配送员的信息。

对调度服务来说,其调度是实时的,只支持对当前生成的订单进行调度,不支持对历史时刻的订单进行调度。因此,在仿真开始之前,可以对仿真使用的历史订单的状态进行初始化,将历史订单的状态设置为初始化状态,例如下单状态,使得调度服务可以正常调度这些历史订单。

另外,可以生成配送员信息文件,该文件主要包括调度服务需要使用的配送员相关信息,例如配送员的状态、数量和位置等,并且还可用于维护仿真过程中配送员的状态、位置等信息。

303、根据预设的仿真周期和订单生成时间,从选定的历史订单中,获取对应于当前仿真周期的历史订单,作为待仿真订单。

在本实施例中,通过仿真周期,将整个仿真过程划分为多个仿真子过程。在每个仿真子过程中,只需对选定的历史订单中的部分历史订单进行仿真。对每个仿真子过程来说,可以按照订单生成时间,依次从选定的历史订单中选择对应于该仿真周期的历史订单,作为待仿真订单。

304、配置当前仿真周期内待仿真订单对应的配送员信息和订单数据。

其中,配送员信息主要是指在当前仿真周期内可供调度服务调度的配送员信息,例如可以包括配送员的状态、数量和位置等。基于此,配置配送员信息主要是指配置配送员的状态、数量和位置等信息。

可选地,考虑到在完成每一次仿真时,配送员的状态、位置以及在岗配送员的数量等都会发生变化,故在每次仿真结束之后,并且在下次仿真开始之前,需要重新设置配送员的状态、位置以及数量。其中,对有订单的配送员,可以根据当前时间相邻的两个订单所处的配送状态,更新配送员的位置,以便模拟配送员的行进过程。

其中,订单数据主要是指在当前仿真周期内可供调度服务调度的订单信息,例如可以包括订单的初始状态、数量等。基于此,配置订单数据主要是指配置订单的初始状态和数量等。

305、根据当前仿真周期内待仿真订单对应的配送员信息和订单数据,调用物流调度系统中的调度服务,以获得被分配订单与被分配配送员的映射关系。

例如,调度服务可以采用分组分配算法,则输出的被分配订单与被分配配送员的映射关系可体现为:被分配订单组与被分配配送员之间的映射关系。

306、根据所述被分配订单与被分配配送员的映射关系,调用物流调度系统中的路线规划服务,以获取被分配配送员的配送路线以及被分配订单处于各配送状态的时间点。

307、根据被分配配送员的配送路线以及被分配订单处于各配送状态的时间点,获取物流调度系统在当前仿真周期的仿真结果。

可选地,在获取物流调度系统在当前仿真周期的仿真结果的过程中,可以根据被分配配送员的配送路线以及被分配订单处于各配送状态的时间点,更新配送状态在当前仿真周期内发生变化的第一订单的状态,以及相应被分配配送员的动作状态和位置;以及,更新配送状态在当前仿真周期内发生变化的第二订单的状态,以及相应被分配配送员的动作状态和位置。其中,第一订单是当前仿真周期内的被分配订单,即在当前仿真周期内调用调度服务时,由调度服务分配的订单;第二订单是当前仿真周期之前其它仿真周期内的被分配订单,即在当前仿真周期之前其它仿真周期内调用调度服务时,由调度服务分配的订单。

例如,假设一个订单的生命周期包含四个阶段:订单创建、取单中、送单中、订单完成,这中间包含三个关键的配送状态:调度分配、取单、送达。对订单的仿真主要是指在订单创建到订单完成的过程中实现上述三个配送状态的切换。在当前仿真周期内,调用调度服务对这些订单进行分配,调度服务会自动将这些订单分配给在岗的配送员,紧接着根据自动调度的结果对新分配订单的配送员调用路线规划服务,规划这些配送员最新的配送路线,以及每个订单处于各个配送状态的时间点。上述操作可实现订单的第一个状态转变。下一步,获取当前仿真周期完成取单的所有订单,修改这些订单的状态,并且记录一些相关信息,更新相应配送员的状态。其中,当前仿真周期完成取单的所有订单可能包括当前仿真周期之前其它仿真周期内的被分配订单。最后,获取当前仿真周期内送达的所有订单,修改这些订单的状态,记录相关信息,更新相应配送员的状态。配送员的状态主要是指与订单配送相关的动作状态,例如配送员处于取单状态,取第几单状态,送单状态,送第几单状态等。其中,当前仿真周期内送达的所有订单可能包括当前仿真周期之前其它仿真周期内的被分配订单。

关于步骤305-307的其它描述,可参见前述方法实施例中相应步骤的描述,在此不再赘述。

308、判断是否达到设定的仿真终止条件;若判断结果为是,则执行步骤309;若判断结果为否,则返回步骤303。

309、根据物流调度系统在多个仿真周期的仿真结果,获得所述物流调度系统的整体仿真结果。

在本实施例中,预先设定仿真终止条件。例如,仿真终止条件可以是仿真时间,当设定的仿真时间到达时,仿真结束。又例如,仿真终止条件可以是仿真次数,当达到设定的仿真次数时,仿真结束。又例如,仿真终止条件可以是选定的历史订单全部被仿真过,则当选定的历史订单全部被仿真过后,仿真结束。

在本实施例中,在每个仿真周期,都会得到物流调度系统的一个仿真结果;因此,当仿真结束时,进一步可以根据物流调度系统在多个仿真周期内的仿真结果,获得物流调度系统整体的仿真结果。

例如,假设物流调度系统在每个仿真周期内的仿真结果包括:被分配订单处于各配送状态的时间点、以及被分配配送员的状态、位置等信息,则综合这些信息,可以统计物流调度系统的一些配送指标,例如订单送达准时率(准时送达订单占总订单量的比例)、总超时时长(所有超时送达订单的超时时间之和)、订单超时率(超时送达订单占总订单量的比例)、配送员行走的总距离、配送员的空跑距离等等;基于这些配送指标,评价物流调度系统的性能或可行性,作为物流调度系统整体的仿真结果。

在一种实际应用场景中,可以探讨系统订单和非系统订单的混合调度。系统订单是指物流调度系统对应应用带来的订单;非系统订单是指物流调度系统对应应用之外的其它应用带来的订单。例如,以百度外卖为例,百度外卖的订单属于系统订单,美团外卖的订单属于非系统订单,一些应用的落地配订单也属于非系统订单。探讨系统订单和非系统订单的混合调度,可以推动不同行业的深入合作,充分发挥物流调度系统的优势。

为了实现系统订单和非系统订单的混合调度,对物流调度系统进行了修改,满足系统订单和非系统订单融合调度的需求。其中,对物流调度系统的改进主要是指对调度服务和路线规划服务的改进。

在对调度服务的一种改进方式中,调度服务采用分组分配方式分配订单,即会以订单组为单位向配送员分配订单;调度服务将非系统订单视为一种特殊的系统订单;另外,为了适应分组分配方式,需要预先将非系统订单聚类为订单组,即对调度服务来说,需要以订单组形式存在。

为了仿真实现融合调度的调度服务的可行性,可采用系统中的历史订单对调度服务进行仿真,但考虑历史订单中尚未存在非系统订单,于是在调用调度服务之前,可以获取非系统订单,将非系统订单聚类为至少一个订单组,为至少一个订单组添加单独处理标记,以供调度服务识别这些订单为非系统订单并直接以带有单独处理标记的订单组为单位进行订单分配;然后,将添加单独处理标记的至少一个订单组添加到历史订单中。这样,后续基于历史订单进行仿真的过程中,可以向调度服务提供系统订单和非系统订单,达到对调度服务的混合调度功能进行仿真的目的。

在对路线规划服务的一种改进方式中,可按照系统订单的处理方式,规划配送路线并预估非系统订单处于各配送状态的时间点,但可结合非系统订单的特殊性,做特殊处理。例如,落地配订单是指传统快递订单,落地配订单的配送主要是指从到达目的地城市的配送站开始,到送达用户手中的配送过程。对一组落地配订单来说,其取单地址均为配送站,所以无需规划取单路线,只需规划送单路线,且落地配订单的配送状态只有起始状态(处于配送站)和送达状态,故只需预估送达状态的时间点即可。

在物流调度系统的一种具体应用场景中,融合调度落地配订单与外卖订单。为了验证物流调度系统对落地配订单和外卖订单进行融合调度的可行性,本申请发明人设计和实现了针对落地配订单与外卖订单融合的仿真方法,如图4所示,该方法包括:

401、根据仿真需求,选定仿真使用的历史订单。

在对物流调度系统进行仿真之前,可以从历史订单中选定仿真使用的历史订单。选定的历史订单为多个。例如,可以选择当前时刻之前某一天的订单,或者可以选择当前时刻之前某段时间内的订单。值得说明的是,这里的历史订单仅包含系统订单,即外卖订单。

402、初始化配送员信息以及历史订单的状态。

对物理调度系统进行仿真,首先需要调用物流调度系统中的调度服务。调用调度服务,需要提供调度服务所需的输入参数,即需要分配的订单数据以及有关配送员的信息。

对调度服务来说,其调度是实时的,只支持对当前生成的订单进行调度,不支持对历史时刻的订单进行调度。因此,在仿真开始之前,可以对仿真使用的历史订单的状态进行初始化,将历史订单的状态设置为初始化状态,例如下单状态,使得调度服务可以正常调度这些历史订单。

另外,可以生成配送员信息文件,该文件主要包括调度服务需要使用的配送员相关信息,例如配送员的状态、数量和位置等,并且还可用于维护仿真过程中配送员的状态、位置等信息。

403、在选定的历史订单中,添加落地配订单,以构建融合订单环境。

在本实施例中,非系统订单具体为落地配订单,系统订单具体为外卖订单称。一种在历史订单中添加落地配订单的方式可以是:将落地配订单聚类为至少一个订单组;为至少一个订单组分别添加单独处理标记;将添加单独处理标记的至少一个订单组加入历史订单中。单独处理标记用于标识该订单组为落地配订单聚类出的订单组,以供调度服务或路线规划服务识别这些订单度需要单独或特殊处理。

可选地,在非系统订单为落地配订单的情况下,将非系统订单聚类为至少一个订单组可以是:根据落地配订单的用户地址和订单属性,将落地配订单聚类为至少一个订单组。简单来说,可以将比较相似的落地配订单分成一组进行配送。

404、根据预设的仿真周期和订单生成时间,从选定的历史订单中,获取对应于当前仿真周期的历史订单,作为待仿真订单。

在本实施例中,通过仿真周期,将整个仿真过程划分为多个仿真子过程。在每个仿真子过程中,只需对选定的历史订单中的部分历史订单进行仿真。对每个仿真子过程来说,可以按照订单生成时间,依次从选定的历史订单中选择对应于该仿真周期的历史订单,作为待仿真订单。

在本实施例中,当前仿真周期内待仿真订单可能包含以独立方式存在的系统订单(即外卖订单)和以订单组形式存在的非系统订单(即落地配订单),当然,也可能只包含以独立方式存在的系统订单(即外卖订单),或者,只包含以订单组形式存在的非系统订单(即落地配订单)。

405、配置当前仿真周期内待仿真订单对应的配送员信息和订单数据。

其中,配送员信息主要是指在当前仿真周期内可供调度服务调度的配送员信息,例如可以包括配送员的状态、数量和位置等。基于此,配置配送员信息主要是指配置配送员的状态、数量和位置等信息。

可选地,考虑到在完成每一次仿真时,配送员的状态、位置以及在岗配送员的数量等都会发生变化,故在每次仿真结束之后,并且在下次仿真开始之前,需要重新设置配送员的状态、位置以及数量。其中,对有订单的配送员,可以根据当前时间相邻的两个订单所处的配送状态,更新配送员的位置,以便模拟配送员的行进过程。

其中,订单数据主要是指在当前仿真周期内可供调度服务调度的订单信息,例如可以包括订单的初始状态、数量等。基于此,配置订单数据主要是指配置订单的初始状态和数量等。

406、根据当前仿真周期内待仿真订单对应的配送员信息和订单数据,调用物流调度系统中的调度服务,以获得被分配订单与被分配配送员的映射关系。

可选地,以当前待仿真订单包含以独立方式存在的外卖订单和以订单组形式存在的落地配订单为例,则调度服务会根据单独处理标记识别出落地配订单组,直接将落地配订单组分配给某一配送员;对以独立方式存在的外卖订单,采用分组分配方式分配给不同的配送员。基于此,上述被分配订单与被分配配送员的映射关系包含落地配订单组与负责配送该落地配订单组的配送员之间的映射关系以及外卖订单组与负责配送外卖订单组的配送员之间的映射关系。

407、根据被分配订单与被分配配送员的映射关系,调用物流调度系统中的路线规划服务,以获取被分配配送员的配送路线以及被分配订单处于各配送状态的时间点。

可选地,以当前待仿真订单包含以独立方式存在的外卖订单和以订单组形式存在的落地配订单为例,则路线规划服务会根据单独处理标记识别出某配送员负责的落地配订单组和外卖类订单组;对落地配订单组,直接规划负责落地配订单组的配送员的送单路线,并预估落地配订单组中各落地配订单的送达时间;对外卖订单组,规划负责外卖订单组的配送员的取单路线和送单路线,并预估外卖订单组中各外卖订单的取单时间和送达时间。

408、根据被分配配送员的配送路线以及被分配订单处于各配送状态的时间点,获取物流调度系统在当前仿真周期的仿真结果。

关于步骤406-408,可参见前述方法实施例中相应步骤的描述,在此不再赘述。

409、判断是否达到设定的仿真终止条件;若判断结果为是,则执行步骤410;若判断结果为否,则返回步骤404。

410、根据物流调度系统在多个仿真周期的仿真结果,获得物流调度系统的整体仿真结果。

其中,物流调度系统的整体仿真结果可以反应物流调度系统对落地配订单和外卖订单进行融合调度的效果是否符合要求,一些配送指标是否达标,是否需要进一步改进物流调度系统等。在实现形式上,物流调度系统的整体仿真结果可以是一些配送指标,例如订单准时率、总超时时长、配送员的总距离、空跑距离等。

在本实施例中,整个仿真过程以不断迭代的仿真周期为主线,以路线规划服务的结果进行驱动,期间实时更新订单状态以及配送员的状态和位置,实现了对任意时间订单进行仿真的过程,根据仿真结果可以确定物流调度系统是否可以对落地配订单和外卖订单进行融合调度,其配送指标是否满足融合调度的需求。如果仿真结果得到物流调度系统对落地配订单和外卖订单进行融合调度的效果不理想,则可以继续改进物流调度系统并继续仿真,直到达到符合要求的调度效果。由此可见,采用本实施例提供的方法可实现对物流调度系统的仿真,以便及时验证其性能或可行性,尽量在上线之前解决各种问题,降低上线后出现各种问题的概率,进而提高基于物流调度系统配送订单的服务质量。

值得说明的是,在上述各实施例中,在不同仿真周期内,可以设置不同的配送员信息。例如,在不同仿真周期,可以设置不同的配送员数量,还可以设置不同的配送员速度,以通过多个周期的仿真结果,寻找最优的人员配置方案。

需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤203的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203的执行主体可以为设备B;等等。

图5为本申请又一实施例提供的物流配送仿真装置的结构示意图。如图5所示,装置包括:第一调用单元51、第二调用单元52和仿真单元53。

第一调用单元51,用于根据当前仿真周期内待仿真订单对应的配送员信息和订单数据,调用物流调度系统中的调度服务,以获得被分配订单与被分配配送员的映射关系。

第二调用单元52,用于根据被分配订单与被分配配送员的映射关系,调用物流调度系统中的路线规划服务,以获取被分配配送员的配送路线以及被分配订单处于各配送状态的时间点。

仿真单元53,用于根据被分配配送员的配送路线以及被分配订单处于各配送状态的时间点,获取物流调度系统在当前仿真周期的仿真结果。

在一可选实施方式中,所述装置还包括:获取单元,用于根据预设的仿真周期和订单生成时间,从选定的历史订单中,获取对应于当前仿真周期的历史订单,作为待仿真订单。

在一可选实施方式中,待仿真订单包括以独立方式存在的系统订单和以订单组形式存在的非系统订单。获取单元还用于:将非系统订单聚类为至少一个订单组;为至少一个订单组分别添加单独处理标记;将添加单独处理标记的至少一个订单组加入历史订单中。在历史订单中,添加以订单组形式存在的非系统订单,以构建融合订单环境。

在一可选实施方式中,非系统订单为落地配订单;获取单元在将非系统订单聚类为至少一个订单组时,所述聚类具体用于:根据落地配订单的用户地址和订单属性,将落地配订单聚类为至少一个订单组。

在一可选实施方式中,仿真单元53还用于:根据物流调度系统在多个仿真周期的仿真结果,获得物流调度系统的整体仿真结果。

在一可选实施方式中,待仿真订单可由获取单元从选定的历史订单中获取。对此,所述装置还包括:初始化单元,用于在第一调度单元51调用调度服务之前,将待仿真订单的状态设置为初始状态,以供调度服务可以正常调度待仿真订单。

在一可选实施方式中,在不同仿真周期内,配送员信息不同。例如,在不同仿真周期,可以设置不同的配送员数量,还可以设置不同的配送员速度,以通过多个周期的仿真结果,寻找最优的人员配置方案。

在一可选实施方式中,仿真单元53具体用于:根据被分配配送员的配送路线以及被分配订单处于各配送状态的时间点,更新配送状态在当前仿真周期内发生变化的第一订单的状态,以及相应被分配配送员的动作状态和位置;以及

更新配送状态在当前仿真周期内发生变化的第二订单的状态,以及相应被分配配送员的动作状态和位置;

其中,第一订单是当前仿真周期内的被分配订单,即在当前仿真周期内调用调度服务时,由调度服务分配的订单;第二订单是当前仿真周期之前其它仿真周期内的被分配订单,即在当前仿真周期之前其它仿真周期内调用调度服务时,由调度服务分配的订单。

本实施例提供的物流配送仿真装置,可用于执行上述方法实施例的流程,在此不再赘述。

本实施例提供的物流配送仿真装置,可以实现对物流调度系统的仿真,以便及时验证其性能或可行性,尽量在上线之前解决各种问题,降低上线后出现各种问题的概率,进而提高基于物流调度系统配送订单的服务质量。

在一种可能的设计中,上述物流配送仿真装置的结构中包括处理器和存储器;存储器用于存储支持上述物流配送仿真装置执行上述物流配送仿真方法的程序,处理器被配置为用于执行存储器中存储的程序,以用于:

根据当前仿真周期内待仿真订单对应的配送员信息和订单数据,调用物流调度系统中的调度服务,以获得被分配订单与被分配配送员的映射关系;

根据所述被分配订单与被分配配送员的映射关系,调用所述物流调度系统中的路线规划服务,以获取所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点;

根据所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点,获取所述物流调度系统在当前仿真周期的仿真结果。

存储器还可被配置为存储其它各种数据以支持在推荐装置上的操作。这些数据的示例包括用于在物流配送仿真装置上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

可选地,物流配送仿真装置还可以包括通信接口,用于物流配送仿真装置与其他设备或通信网络通信。通信组件被配置为便于物流配送仿真装置和其他设备之间有线或无线方式的通信。物流配送仿真装置可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

本申请实施例还提供了一种计算机存储介质,用于储存上述物流配送仿真装置所用的计算机软件指令,其包含用于执行上述物流配送仿真方法为上述物流配送仿真装置所涉及的程序。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

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

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

本申请公开A1、一种物流配送仿真方法,包括:

根据当前仿真周期内待仿真订单对应的配送员信息和订单数据,调用物流调度系统中的调度服务,以获得被分配订单与被分配配送员的映射关系;

根据所述被分配订单与被分配配送员的映射关系,调用所述物流调度系统中的路线规划服务,以获取所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点;

根据所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点,获取所述物流调度系统在当前仿真周期的仿真结果。

A2、如A1所述的方法中,在调用所述调度服务之前,还包括:根据预设的仿真周期和订单生成时间,从选定的历史订单中,获取对应于当前仿真周期的历史订单,作为所述待仿真订单。

A3、如A2所述的方法中,所述待仿真订单包括以独立方式存在的系统订单和以订单组形式存在的非系统订单;在获取所述待仿真订单之前,还包括:将所述非系统订单聚类为至少一个订单组;为所述至少一个订单组分别添加单独处理标记;将添加单独处理标记的至少一个订单组加入所述历史订单中。

A4、如求A3所述的方法中,所述非系统订单为落地配订单;所述将所述非系统订单聚类为至少一个订单组,其中,聚类具体为:根据所述落地配订单的用户地址和订单属性,将所述落地配订单聚类为至少一个订单组。

A5、如A2所述的方法,还包括:根据所述物流调度系统在多个仿真周期的仿真结果,获得所述物流调度系统的整体仿真结果。

A6、如A5所述的方法中,在不同仿真周期内,所述配送员信息不同。

A7、如A2所述的方法中,在调用所述调度服务之前,还包括:将所述待仿真订单的状态设置为初始状态。

A8、如A1-A7任一项所述的方法中,所述物流调度系统在当前仿真周期的仿真结果的获取步骤,包括:根据所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点,更新配送状态在当前仿真周期内发生变化的第一订单的状态,以及相应被分配配送员的动作状态和位置;以及,更新配送状态在当前仿真周期内发生变化的第二订单的状态,以及相应被分配配送员的动作状态和位置;

其中,所述第一订单是当前仿真周期内的被分配订单;所述第二订单是当前仿真周期之前其它仿真周期内的被分配订单。

本申请还公开了B9、一种物流配送仿真装置,包括:

第一调用单元,用于根据当前仿真周期内待仿真订单对应的配送员信息和订单数据,调用物流调度系统中的调度服务,以获得被分配订单与被分配配送员的映射关系;

第二调用单元,用于根据所述被分配订单与被分配配送员的映射关系,调用所述物流调度系统中的路线规划服务,以获取所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点;

仿真单元,用于根据所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点,获取所述物流调度系统在当前仿真周期的仿真结果。

B10、如B9所述的装置,还包括:获取单元,用于根据预设的仿真周期和订单生成时间,从选定的历史订单中,获取对应于当前仿真周期的历史订单,作为所述待仿真订单。

B11、如B10所述的装置中,所述待仿真订单包括以独立方式存在的系统订单和以订单组形式存在的非系统订单;所述获取单元还用于:将所述非系统订单聚类为至少一个订单组;为所述至少一个订单组分别添加单独处理标记;将添加单独处理标记的至少一个订单组加入所述历史订单中。

B12、如B11所述的装置中,所述非系统订单为落地配订单;所述获取单元具体用于:根据所述落地配订单的用户地址和订单属性,将所述落地配订单聚类为至少一个订单组。

B13、如B10所述的装置中,所述仿真单元还用于:根据所述物流调度系统在多个仿真周期的仿真结果,获得所述物流调度系统的整体仿真结果。

B14、如B13所述的装置中,在不同仿真周期内,所述配送员信息不同。

B15、如B10所述的装置,还包括:初始化单元,用于将所述待仿真订单的状态设置为初始状态。

B16、如B9-B15任一项所述的装置中,所述仿真单元具体用于:根据所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点,更新配送状态在当前仿真周期内发生变化的第一订单的状态,以及相应被分配配送员的动作状态和位置;以及

更新配送状态在当前仿真周期内发生变化的第二订单的状态,以及相应被分配配送员的动作状态和位置;

其中,所述第一订单是当前仿真周期内的被分配订单;所述第二订单是当前仿真周期之前其它仿真周期内的被分配订单。

本发明还公开了C17、一种电子设备,包括存储器和处理器;其中,

所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;

所述处理器用于:根据当前仿真周期内待仿真订单对应的配送员信息和订单数据,调用物流调度系统中的调度服务,以获得被分配订单与被分配配送员的映射关系;

根据所述被分配订单与被分配配送员的映射关系,调用所述物流调度系统中的路线规划服务,以获取所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点;

根据所述被分配配送员的配送路线以及所述被分配订单处于各配送状态的时间点,获取所述物流调度系统在当前仿真周期的仿真结果。

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