一种任务组合方法、数据处理方法和装置
技术领域
本发明涉及计算机领域,尤其涉及任务组合方法、数据处理方法和装置。
背景技术
随着电子商务的发展,越来越多的用户通过电子商务平台进行交易,电子商务平台每日会接收到用户大量的订单任务。虽然用户下单具有随机性,但是订单的出库发货具备一定的时间规律,该时间规律即物流公司提货车辆的班次。为了保证订单配送时效,就需要让尽可能多的、下单时间在提货车辆班次之前的订单生产出来,以赶上提货车辆的班次。为了满足上述需求,目前大部分仓库采用人工组单的方式,来灵活的控制订单生产节奏,满足现场的各种突发情况。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
(1)需要熟练并了解现场情况的员工操作,操作难度大,很难控制生产均衡;
(2)组单工作量大,人工操作任务繁重且效率低。
发明内容
有鉴于此,本发明实施例提供一种任务组合方法、数据处理方法和装置,该任务组合方法中,通过预先配置的任务组合规则和组合约束条件,对任务池中的任务数据进行组合拆分,之后结合目标函数即可得到最终任务集合。上述方式在满足任务组合灵活性的前提下,实现了任务的自动组合、降低了任务组合难度、提高了任务组合效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种任务组合方法。
本发明实施例的一种任务组合方法,包括:根据任务组合规则拆分任务池的任务数据,得到至少一个初始任务集合;按照预设的组合约束条件,从所述初始任务集合中选取任务数据,以生成与所述初始任务集合相对应的至少一组优化任务集合;确定满足预先建立的目标函数的优化任务集合,将满足所述目标函数的优化任务集合作为最终任务集合。
可选地,所述任务组合规则中设置有支持组合的任务属性数据和不支持组合的任务属性数据;所述根据任务组合规则拆分任务池的任务数据,包括:从任务池的任务数据中获取任务属性数据,将支持组合的任务属性数据对应的任务数据进行组合,将不支持组合的任务属性数据对应的任务数据单独处理。
可选地,所述优化任务集合包括至少一个优化任务子集;从所述初始任务集合中选取任务数据,以生成与所述初始任务集合相对应的至少一组优化任务集合,包括:选取当前初始任务集合中最晚组合时间最早的任务数据作为当前基础任务数据,为所述当前基础任务数据建立当前优化任务子集;选择添加:从所述当前初始任务集合中选择与所述当前基础任务数据之间满足所述组合约束条件的任务数据,将选择的任务数据添加到所述当前优化任务子集;选取建立:选取所述当前初始任务集合的剩余任务数据中最晚组合时间最早的任务数据作为下一基础任务数据,为所述下一基础任务数据建立下一优化任务子集;更新循环:将所述下一基础任务数据作为所述当前基础任务数据,将所述下一优化任务子集作为所述当前优化任务子集,重复执行所述选择添加步骤、所述选取建立步骤和所述更新循环步骤,直至所述当前初始任务集合的剩余任务数据为空,得到的优化任务子集即为一组优化任务集合。
可选地,所述方法还包括:确定时效影响因素,以基于所述时效影响因素建立所述目标函数;其中,所述时效影响因素包括下列一个或者多个:拣货路径时长、最晚组合时间、所述优化任务集合的优化任务子集的任务数量以及所述优化任务子集的总货物数量与平均拣货数量的差值。
可选地,所述组合约束条件包括下列一个或者多个:所述优化任务集合的优化任务子集对应的总货物重量小于等于设定的最大货物重量;所述优化任务集合的优化任务子集对应的总货物体积小于等于设定的最大货物体积。
为实现上述目的,根据本发明实施例的另一个方面,提供了一种数据处理方法。
本发明实施例的一种数据处理方法,包括:利用任务组合方法生成任务组合数据;根据所述任务组合数据的待处理产品数量和处理效率,确定预计处理时长;在所述预计处理时长满足预设产能阈值时,开始下发所述任务组合数据或者停止下发所述任务组合数据。
可选地,所述确定预计处理时长,包括:确定拣货环节、复核环节和打包环节中至少一个环节的预计处理时长;在所述预计处理时长满足预设产能阈值时,开始下发所述任务组合数据或者停止下发所述任务组合数据,包括:若所述拣货环节的预计处理时长小于等于拣货时间最低阈值,则开始下发所述任务组合数据;若所述拣货环节的预计处理时长大于等于拣货时间最高阈值,所述复核环节的预计处理时长大于等于复核时间阈值,或者所述打包环节的预计处理时长大于等于打包时间阈值,则停止下发所述任务组合数据。
可选地,确定所述拣货环节的预计处理时长,包括:统计拣货中的任务数据对应的待处理产品数量,结合对应的拣货效率,计算拣货中的任务数据对应的第一预计处理时长;统计待拣货的任务数据对应的待拣货产品数量,结合对应的拣货效率、拣货人员数量和拣货设备数量,计算待拣货的任务数据对应的第二预计处理时长;将拣货中对应的第一预计处理时长与待拣货对应的第二预计处理时长求和,得到所述拣货环节的预计处理时长。
可选地,所述方法还包括:若所述拣货环节的预计处理时长小于等于所述拣货时间最低阈值,获取拣货人员数量和拣货设备数量;根据所述拣货人员数量和所述拣货设备数量,确定当次下发的任务组合数据的数量。
为实现上述目的,根据本发明实施例的另一方面,提供了一种任务组合装置。
本发明实施例的一种任务组合装置,包括:拆分模块,用于根据任务组合规则拆分任务池的任务数据,得到至少一个初始任务集合;生成模块,用于按照预设的组合约束条件,从所述初始任务集合中选取任务数据,以生成与所述初始任务集合相对应的至少一组优化任务集合;确定模块,用于确定满足预先建立的目标函数的优化任务集合,将满足所述目标函数的优化任务集合作为最终任务集合。
可选地,所述任务组合规则中设置有支持组合的任务属性数据和不支持组合的任务属性数据;所述拆分模块,还用于:从任务池的任务数据中获取任务属性数据,将支持组合的任务属性数据对应的任务数据进行组合,将不支持组合的任务属性数据对应的任务数据单独处理。
可选地,所述优化任务集合包括至少一个优化任务子集;所述生成模块包括:选取模块、添加模块、建立模块和循环模块,所述选取模块,用于选取当前初始任务集合中最晚组合时间最早的任务数据作为当前基础任务数据,为所述当前基础任务数据建立当前优化任务子集;所述添加模块,用于从所述当前初始任务集合中选择与所述当前基础任务数据之间满足所述组合约束条件的任务数据,将选择的任务数据添加到所述当前优化任务子集;所述建立模块,用于选取所述当前初始任务集合的剩余任务数据中最晚组合时间最早的任务数据作为下一基础任务数据,为所述下一基础任务数据建立下一优化任务子集;所述循环模块,用于将所述下一基础任务数据作为所述当前基础任务数据,将所述下一优化任务子集作为所述当前优化任务子集,重复执行所述添加模块、所述建立模块和所述循环模块的执行过程,直至所述当前初始任务集合的剩余任务数据为空,得到的优化任务子集即为一组优化任务集合。
为实现上述目的,根据本发明实施例的另一方面,提供了一种数据处理装置。
本发明实施例的一种数据处理装置,包括:数据生成模块,用于利用任务组合装置生成任务组合数据;时长确定模块,用于根据所述任务组合数据的待处理产品数量和处理效率,确定预计处理时长;数据下发模块,用于在所述预计处理时长满足预设产能阈值时,开始下发所述任务组合数据或者停止下发所述任务组合数据。
为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备。
本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种任务组合方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种任务组合方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备。
本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种数据处理方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种数据处理方法。
上述发明中的一个实施例具有如下优点或有益效果:通过预先配置的任务组合规则和组合约束条件,对任务池中的任务数据进行组合拆分,之后结合目标函数即可得到最终任务集合,在满足任务组合灵活性的前提下,实现了任务的自动组合、降低了任务组合难度、提高了任务组合效率;基于任务属性确定任务是否能够组合,并结合影响任务生产效率的因素确定目标函数,以在满足现场灵活性的前提下,进一步降低任务组合难度、提高任务组合效率;在组合完成后,基于任务组合数据对应的预计处理时长,确定开始下发人物组合和停止下发任务组合的时机,实现了对任务组合数据下发节奏的自动控制,保证了仓库的均衡稳定生产;基于拣货人员数量和拣货设备数量确定当次下发任务组合数据的数量,进一步保证了仓库的均衡稳定生产。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的任务组合方法的主要步骤的示意图;
图2是根据本发明实施例的任务组合方法的主要流程示意图;
图3是根据本发明实施例的生成优化任务集合的主要流程示意图;
图4是根据本发明实施例的数据处理方法的主要流程示意图;
图5是根据本发明实施例的下发任务组合数据的主要流程示意图;
图6是根据本发明实施例的任务组合装置的主要模块的示意图;
图7是根据本发明实施例的数据处理装置的主要模块的示意图;
图8是本发明实施例可以应用于其中的示例性系统架构图;
图9是适用于来实现本发明实施例的电子设备的计算机装置的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
订单的货物存放在仓库的储位,需要拣货人员或者拣货设备将需要的货物拣选出来。为了更高效的将订单生产出来,在自动组单时,需要考虑的影响因素可以包括以下任意一个或者多个:拣货路径最短,货物的重量和体积在拣货设备的可承受范围内,一个组单尽可能由一个拣货人员或者拣货设备一次性完成拣货,满足配送车辆的要求和个性化订单的要求。本发明实施例结合上述情况,配置了任务组合规则、组合约束条件和目标函数,并结合上述配置内容,从任务池中抽取出了可以组合、且组合时效高的任务数据,实现了自动化任务组合,降低了任务组合难度,提高了任务组合效率。
图1是根据本发明实施例的任务组合方法的主要步骤的示意图。如图1所示,本发明实施例的任务组合方法,主要包括如下步骤:
步骤S101:根据任务组合规则拆分任务池的任务数据,得到至少一个初始任务集合。其中,任务组合规则中设置有支持组合的任务属性数据和不支持组合的任务属性数据,从任务池的任务数据中获取任务属性数据,将支持组合的任务属性数据对应的任务数据进行组合,将不支持组合的任务属性数据对应的任务数据单独处理。
步骤S102:按照预设的组合约束条件,从所述初始任务集合中选取任务数据,以生成与所述初始任务集合相对应的至少一组优化任务集合。组合约束条件用于对任务集合的任务数据进行限制,比如限制任务集合中所有任务的总货物重量、总货物体积等。该步骤中可以将初始任务集合中的任务数据按照最晚组合时间进行排序,之后每次选取任务数据时,优先选取当前初始任务集合中最晚组合时间最早的任务数据,并且在选取任务数据时需满足组合约束条件。由于各任务数据的最晚组合时间可能相同,而且满足组合约束条件的任务数据可能有多种选择,故最终得到的优化任务集合可以有多组结果。
步骤S103:确定满足预先建立的目标函数的优化任务集合,将满足所述目标函数的优化任务集合作为最终任务集合。预先确定时效影响因素,基于时效影响因素建立目标函数。其中,时效影响因素是指影响组合时效的因素,包括下列一个或者多个:拣货路径时长、最晚组合时间、优化任务集合的优化任务子集的任务数量以及优化任务子集的总货物数量与平均拣货数量的差值。相应的,目标函数的具体表达式与确定的时效影响因素相关。为了保证组合时效,需要通过目标函数从至少一组优化任务集合中选择出满足拣货路径时长最短、最晚组合时间最早、组合结果的任务数量最多、组合结果的总货物数量最多且与平均拣货数量最接近中的任意一项或者多项的优化任务集合,该优化任务集合即为最终任务集合。
图2是根据本发明实施例的任务组合方法的主要流程示意图。如图2所示,本发明实施例的任务组合方法,主要包括如下步骤:
步骤S201:配置任务组合规则和组合约束条件。实际工业生产中,个性化任务比较多,故需基于任务属性数据制定一个列表,将支持组合的任务属性数据用“或”的关系连接,将不支持组合的任务数据用“并”的关系连接。比如,仓库A中的个性化订单任务包括时效订单任务、大客户订单任务和特殊包装订单任务,时效订单任务和大客户订单任务可以一起组合(对于订单任务,其组合即为组单),特殊包装订单任务需要单独组单。
在基于订单任务进行拣货时一般需使用拣货工具,通常为一个拣货小车,该拣货小车存放货物的体积和重量是有限制的,因此,一个组单中所有货物的体积和重量必须在拣货小车可以承受的体积和重量范围内。故实施例中上述组合约束条件可以包括下列一个或者多个:优化任务集合对应的总货物重量小于等于设定的最大货物重量(即拣货小车可以承受的最大货物重量);优化任务集合对应的总货物体积小于等于设定的最大货物体积(即拣货小车可以承受的最大货物体积)。
步骤S202:确定时效影响因素,以基于时效影响因素建立目标函数。其中,时效影响因素可以是多个方面的,比如拣货路径时长、最晚组合时间的先后、组合结果中任务数量的多少、组合结果中总货物数量与平均拣货数量的接近程度等。其中,平均拣货数量是控制任务组合平衡的指标,该指标可以基于对历史拣货数据的分析获得。另外,由于样本数量越大,计算出的结果会与实际情况越接近,所以后续可以结合新的拣货数据不断修正。相应的,目标函数的具体表达式与确定的时效影响因素的具体方面相关。比如,为了保证拣货路径最优,则确定时效影响因素为拣货路径时长,相应的目标函数为最短拣货路径对应的表达式;如果确定的时效影响因素为拣货路径时长和最晚组合时间,则目标函数为最短拣货路径和最晚组合时间最靠前(即最早)对应的表达式。
实施例中,为了保证组合时效最高,建立了拣货路径时长最短、最晚组合时间最早、组合结果的总货物数量最多且与平均拣货数量最接近的目标函数。该目标函数可以用如下公式表示:
式中,F代表目标函数,(A
i,B
i)为优化任务集合中第i个货物所在储位,Z为优化任务集合中各任务的最晚组合时间,X为优化任务集合的任务数量,Y
i为优化任务集合的优化任务子集中第i个货物的货物数量,
为平均拣货数量,n为优化任务集合的优化任务子集的货物种类数量。其中,dist函数为欧式距离加权函数(Euclidean distance weightfunction),可以计算样本集中多个样本两两之间的距离。
在另一优选的实施例中,每个仓库的储位对应一个可视化地图,因此在计算拣货路径时长时,还可以根据储位在可视化地图的坐标值和拣货路径,计算组合结果中储位与储位之间的距离总和,该距离总和的值即为拣货路径时长。
步骤S203:根据任务组合规则拆分任务池的任务数据,得到至少一个初始任务集合。仍旧以订单任务为例,任务池用于存储用户下单后生成的订单任务数据,该任务数据中包括任务属性数据,该任务属性数据包括但不限于任务号、重量、体积、个性化标识、数量、最晚组合时间、任务创建时间等。其中,个性化标识可以用于判定订单任务数据是否可以组合。另外,每个订单任务都有时效要求(即订单任务的完成时间要求),普通的非时效订单任务根据站点的派车时间有时间要求,特殊的时效订单任务则需在用户下单的几分钟内完成订单生产,上述时效要求由最晚组合时间来体现。
该步骤从任务池的订单任务数据中获取任务属性数据,根据任务属性数据的个性化标识,将支持组合的任务属性数据对应的订单任务数据进行组合,将不支持组合的任务属性数据对应的订单任务数据单独处理。本发明实施例中仓库A的任务池结构如表1所示。
表1为仓库A的任务池结构
根据表1中的个性化标识数据,将仓库A中的任务池拆分为两个初始任务集合,一个是大客户订单任务和时效订单任务组成的集合,另一个是特殊包装订单任务组成的集合。
实施例一中,仓库A的任务池中有10条任务数据,分别为任务1-任务10,这些任务数据经拆分后得到的初始任务集合为:初始任务集合1和初始任务集合2,初始任务集合1={任务1、任务2、任务4、任务5、任务8},初始任务集合2={任务3、任务6、任务7、任务9、任务10}。
步骤S204:按照组合约束条件,从初始任务集合中选取任务数据,以生成与初始任务集合相对应的至少一组优化任务集合。各拣货小车设定有最大货物体积和最大货物重量。本步骤中,从各初始任务集合中分别选择一个基础任务,若该基础任务的任务数据满足组合约束条件,即基础任务对应的货物体积未超过设定的最大货物体积,且货物重量未超过设定的最大货物重量,则再从该初始任务集合中选择下一任务;若该基础任务与该下一任务的任务数据满足组合约束条件,即这两个任务对应的总货物体积未超过设定的最大货物体积,且总货物重量未超过设定的最大货物重量,则再从该初始任务集合中选择下一任务;如此循环,直至所有各初始任务集合的任务数据均被分配,即可得到一组优化任务集合。具体实现过程见图3的描述。
在为基础任务选择满足组合约束条件的下一任务时,可选取的任务数据可能不止一种,每种选取结果均会对应一组优化任务集合,因此最终得到的优化任务集合可以有多组结果。
在一优选的实施例中,组合约束条件可用如下方式表示:
式中,m为优化任务集合的优化任务子集的所有任务的货物数量,weighti为优化任务子集的第i个货物的重量,volumei为优化任务子集的第i个货物的体积。
在一优选的实施例中,为了进一步提高组合时效,选择初始任务集合中最晚组合时间最靠前(即最早)的任务数据作为基础任务。选择下一任务时,也优先选择与基础任务的最晚组合时间最接近的任务数据。
实施例一中,在重量和体积的限制下,初始任务集合1和初始任务集合2经组合拆分后,分别得到两种组合结果(即两组优化任务集合)。初始任务集合1对应的第一种优化任务集合包括:优化任务子集1和优化任务子集2,其中,优化任务子集1={任务1、任务2},优化任务子集2={任务4、任务5、任务8};第二种优化任务集合包括:优化任务子集1和优化任务子集2,其中,优化任务子集1={任务1、任务2、任务4},优化任务子集2={任务5、任务8}。
初始任务集合2对应的第一种优化任务集合包括:优化任务子集3和优化任务子集4,其中,优化任务子集3={任务3、任务6},优化任务子集4={任务7、任务9、任务10};第二种优化任务集合包括:优化任务子集3至优化任务子集5,其中,优化任务子集3={任务3、任务6},优化任务子集4={任务7、任务9},优化任务子集5={任务10}。
步骤S205:分别计算各优化任务集合的时效影响因素值,将时效影响因素值输入目标函数,基于目标函数值确定最终任务集合。计算每组优化任务集合的时效影响因素值,之后分别输入目标函数(即公式1),以输出目标函数值;基于预先确定的时效影响因素的优先级和目标函数值,从至少一组优化任务集合中确定出最终任务集合。
实施例中,时效影响因素的优先级从高到低可以为:最晚组合时间最早、拣货路径最短、任务数量最多、任务中的总货物数量与平均拣货数量最接近。此时,可以将最晚组合时间最早对应的优化任务集合作为最优先的组合结果;若最优先的组合结果仍有多个,则可以其中拣货路径最短的优化任务集合作为组合结果;按照上述优先级即可确定最终任务集合。
实施例一中,以拣货路径时长最短为目标函数,则初始任务集合1的第二种组合结果对应为最小目标函数值,初始任务集合2的第一种组合结果对应为最小目标函数值,则输出的最终任务集合为:{任务1、任务2、任务4},{任务5、任务8},{任务3、任务6}和{任务7、任务9、任务10}。
在一优选的实施例中,为了方便按照最晚组合时间的先后选择任务数据,在步骤S203之前还可以先将任务中的任务数据按照最晚组合时间进行正向排序,之后再经步骤S203对排序结果进行拆分。在步骤S205之后还可以将最终任务集合的任务数据按照最晚组合时间进行正向排序,之后循环执行步骤S203至步骤S205,以对任务池的剩余任务继续进行组合。
图3是根据本发明实施例的生成优化任务集合的主要流程示意图。如图3所示,本发明实施例的生成优化任务集合的具体实现过程(即步骤S204),主要包括如下步骤:
步骤S301:选取当前初始任务集合中最晚组合时间最早的任务数据作为当前基础任务数据,为当前基础任务数据建立当前优化任务子集。其中,当前初始任务集合的初始值为步骤S203得到的初始任务集合。获取任务数据中任务属性数据的最晚组合时间,将最晚组合时间最靠前的任务数据作为基础任务数据,以便能够将尽可能多的任务在最晚组合时间之前完成任务生产。以基础任务数据建立的优化任务子集中,最初仅包括基础任务数据这一个任务数据,在后续步骤中,优化任务子集包含的任务数量的数量会逐渐增加。
步骤S302:从当前初始任务集合中选择与当前基础任务数据之间满足组合约束条件的任务数据,将选择的任务数据添加到当前优化任务子集。在为基础任务数据选择其他任务数据时,优选考虑最晚组合时间相同或者接近的任务数据。判断当前所选择的其他任务数据和基础任务数据对应的总货物重量是否小于等于设定的最大货物重量,总货物体积是否小于等于设定的最大货物体积,如果均能满足上述组合约束条件,则继续增加任务数据,如果不能满足,则剔除该任务数据。
步骤S303:判断当前初始任务集合的剩余任务数据是否为空,如果不是,则执行步骤S304;如果是,则执行步骤S306。其中,剩余任务数据是指当前初始任务集合中未被选中的任务数据。如果当前初始任务集合的剩余任务数据为空,则说明当前初始任务集合的所有任务已经完成组合。如果当前初始任务集合的剩余任务数据不为空,则说明当前初始任务集合中仍旧有任务数据需要进行组合操作。
步骤S304:选取当前初始任务集合的剩余任务数据中最晚组合时间最早的任务数据作为下一基础任务数据,为下一基础任务数据建立下一优化任务子集。在剩余任务数据中重新选择基础任务数据,并建立对应的优化任务子集。
步骤S305:将下一基础任务数据作为当前基础任务数据,将下一优化任务子集作为当前优化任务子集,执行步骤S302。该步骤更新基础任务数据后,为新的基础任务数据选择其他任务数据,并添加到对应的优化任务子集。
步骤S306:将得到的优化任务子集进行组和,得到一组优化任务集合。本步骤中,可以在循环结束后,将每一轮得到优化任务子集添加到优化任务集合。还可以预先建立一个优化任务集合,初始为空,每一轮得到优化任务子集后,将其添加到当前优化任务集合,上述过程循环结束后,即可得到优化任务集合。
通过本发明实施例的任务组合方法可以看出,通过预先配置的任务组合规则和组合约束条件,对任务池中的任务数据进行组合拆分,之后结合目标函数即可得到最终任务集合,在满足任务组合灵活性的前提下,实现了任务的自动组合、降低了任务组合难度、提高了任务组合效率;基于任务属性确定任务是否能够组合,并结合影响任务生产效率的因素确定目标函数,以在满足现场灵活性的前提下,进一步降低任务组合难度、提高任务组合效率。
图4是根据本发明实施例的数据处理方法的主要流程示意图。如图4所示,本发明实施例的数据处理方法,主要包括如下步骤:
步骤S401:利用本发明实施例的任务组合方法生成任务组合数据。此处所述的任务组合数据即为步骤S205中得到的最终任务集合。
步骤S402:根据任务组合数据的待处理产品数量和处理效率,确定预计处理时长。在确定预计处理时长时需要考虑拣货环节、复核环节和打包环节中至少一个环节的预计处理时长。各环节的预计处理时长均包括处理中的任务数据对应的第一预计处理时长和待处理的任务数据对应的第二预计处理时长。拣货环节包括待拣货(已经形成但还未进行拣货操作的任务)和拣货中(正在进行拣货操作的任务),复核环节包括待复核(拣货完成但还未进行复核操作的任务)和复核中(正在进行复核操作的任务),打包环节包括待打包(复核完成但还未进行打包操作的任务)和打包中(正在进行打包操作的任务)。
相应的,拣货环节的预计处理时长包括拣货中的任务数据对应的第一预计处理时长和待拣货的任务数据对应的第二预计处理时长。其中,第一预计处理时长的计算公式如下:
第一预计处理时长=min(每个拣货人员的预计处理时长) 公式5
其中,每个拣货人员的预计处理时长的计算公式如下:
每个拣货人员的预计处理时长=拣货中任务剩余的货物数量/拣货人员的平均历史拣货效率 公式6
第二预计处理时长的计算公式如下:
第二预计处理时长=(待拣货的货物数量/单仓单拣货人员的平均历史拣货效率)/(拣货人员数量+拣货设备数量) 公式7
公式6和公式7中的平均历史拣货效率由某个仓库一段时间内的总拣货数量与拣货时间相除得到。另外,每个仓库的拣货数据(包括人工拣货数据和设备拣货数据)会存储在一张数据表中,在计算平均历史拣货效率时,可以不区分拣货人员和拣货设备,而是把拣货设备看作一个拣货人员。
复核环节的预计处理时长包括复核中的任务数据对应的第一预计处理时长和待复核的任务数据对应的第二预计处理时长。其中,第一预计处理时长的计算公式如下:
第一预计处理时长=min(每个复核台的预计处理时长) 公式8
其中,每个复核台的预计处理时长的计算公式如下:
每个复核台的预计处理时长=复核中任务剩余的货物数量/复核台的平均历史复核效率 公式9
第二预计处理时长的计算公式如下:
第二预计处理时长=(待复核的货物数量/单仓单复核台的平均历时复核效率)/开启中的复核台数量 公式10
打包环节的预计处理时长包括打包中的任务数据对应的第一预计处理时长和待打包的任务数据对应的第二预计处理时长。其中,第一预计处理时长的计算公式如下:
第一预计处理时长=min(每个打包台的预计处理时长) 公式11
其中,每个打包台的预计处理时长的计算公式如下:
每个打包台的预计处理时长=打包中任务剩余的货物数量/打包台的平均历史打包效率 公式12
第二预计处理时长的计算公式如下:
第二预计处理时长=(待打包的货物数量/单仓单打包台的平均历时复核效率)/开启中的打包台数量 公式13
拣货中、复核中、打包中的任务数量和每个任务中的货物数量,待拣货、待复核和待打包的任务数量和每个任务的货物数量均可以从数据库中获取;单复核台的复核效率(件/时)、单打包台的复核效率(件/时)也可以获取,比如从产品说明书中得到。
在一优选的实施例中,可以将各环节的预计处理时长通过一张数据表输出,具体如表2(该表中的数据仅用于解释说明表的结构)。
表2为各环节的预计处理时长
状态 |
任务数量 |
货物数量 |
第一预计处理时长 |
第二预计处理时长 |
待拣货 |
3 |
10 |
|
15min |
拣货中 |
2 |
8 |
10min |
|
待复核 |
2 |
5 |
|
3min |
复核中 |
3 |
7 |
5min |
|
待打包 |
3 |
15 |
|
25min |
打包中 |
2 |
5 |
8min |
|
步骤S403:在预计处理时长满足预设产能阈值时,开始下发任务组合数据或者停止下发任务组合数据。各环节的预计处理时长为第一预计处理时长和第二预计处理时长的和,比如拣货环节的预计处理时长等于拣货中对应的第一预计处理时长与待拣货对应的第二预计处理时长的和。预先配置产能阈值,其中,产能阈值包括:拣货时间阈值、复核时间阈值和打包时间阈值,且上述时间阈值均可以为阈值区间。各阈值在配置时可以人工经验设定,也可以根据拣货环节、复核环节和打包环节的预计处理时长并结合仓库的生产节奏来分别设定。若拣货环节的预计处理时长小于等于拣货时间最低阈值,则开始下发任务组合数据;若拣货环节的预计处理时长大于等于拣货时间最高阈值,复核环节的预计处理时长大于等于复核时间阈值,或者打包环节的预计处理时长大于等于打包时间阈值,则停止下发任务组合数据。具体实现过程见图5的描述。
该步骤中,假设步骤S401得到的任务组合数据包括10个任务数据,拣货时间阈值为[10min,20min]。若仓库A的拣货环节的预计处理时长小于等于拣货时间最低阈值,即小于等于10分钟,则开始下发任务组合数据。若仓库A的拣货环节的预计处理时长大于等于拣货时间最高阈值,即大于等于20分钟,则停止下发任务组合数据;或者复核环节的预计处理时长大于等于复核时间阈值,比如3小时,则停止下发任务组合数据;或者打包环节的预计处理时长大于等于打包时间阈值,比如5小时,则停止下发任务组合数据。
在一优选的实施例中,单次下发的任务组合数据的数量需要小于等于拣货人员和拣货设备的数量之和。每次下发任务组合数据后重新计算拣货环节、复核环节、打包环节的预计处理时长。若重新计算后的预计处理时长高于对应的拣货时间最高阈值或者复核时间阈值或者打包时间阈值,则停止下发任务组合数据。实施例中,后台可以每5分钟轮巡计算,判定是否下发任务组合数据。
图5是根据本发明实施例的下发任务组合数据的主要流程示意图。如图5所示,本发明实施例中下发任务组合数据(即步骤S403)的具体实现过程,主要包括以下步骤:
步骤S501:判断拣货环节的预计处理时长是否小于等于拣货时间最低阈值,如果是,则执行步骤S502;否则,结束本流程。如果拣货环节的预计处理时长到达拣货时间最低阈值,则开始下发任务组合数据。
步骤S502:获取拣货人员数量和拣货设备数量。若仓库使用部分人工拣货,部分设备拣货,则需获取仓库中的拣货人员数量和拣货设备数量;如果仓库全部使用人工拣货,则仅需获取仓库中的拣货人员数量;如果仓库全部使用设备拣货,则仅需获取仓库中的拣货设备数量。
步骤S503:确定当次下发的任务组合数据的数量,开始下发任务组合数据。其中,下发的任务组合数据的数量需小于等于拣货人员和拣货设备的数量之和。
步骤S504:重新计算拣货环节、复核环节和打包环节对应的预计处理时长。具体计算过程见步骤S402。每次下发任务组合数据后,重新计算拣货环节、复核环节、打包环节的预计处理时长。
步骤S505:判断拣货环节、复核环节和打包环节对应的预计处理时长中是否有任意一个能够满足对应的产能阈值,如果是,则执行步骤S506;如果不是,则执行步骤S501。重新计算后,判断此时拣货环节的预计处理时长是否大于等于拣货时间最高阈值,复核环节的预计处理时长是否大于等于复核时间阈值,或者打包环节的预计处理时长是否大于等于打包时间阈值,如果上述判断中有任何一个能够满足对应的阈值,则停止下发任务组合数据;如果上述判断均未能满足对应的阈值,则重新执行步骤S501。
步骤S506:停止下发任务组合数据。之后即可结束本流程。
通过本发明实施例的数据处理方法可以看出,在组合完成后,基于任务组合数据对应的预计处理时长,确定开始下发人物组合和停止下发任务组合的时机,实现了对任务组合数据下发节奏的自动控制,保证了仓库的均衡稳定生产;基于拣货人员数量和拣货设备数量确定当次下发任务组合数据的数量,进一步保证了仓库的均衡稳定生产。
图6是根据本发明实施例的任务组合装置的主要模块的示意图。如图6所示,本发明实施例的任务组合装置600,主要包括:
拆分模块601,用于根据任务组合规则拆分任务池的任务数据,得到至少一个初始任务集合。其中,任务组合规则中设置有支持组合的任务属性数据和不支持组合的任务属性数据,从任务池的任务数据中获取任务属性数据,将支持组合的任务属性数据对应的任务数据进行组合,将不支持组合的任务属性数据对应的任务数据单独处理。
生成模块602,用于按照预设的组合约束条件,从所述初始任务集合中选取任务数据,以生成与所述初始任务集合相对应的至少一组优化任务集合。组合约束条件用于对任务集合的任务数据进行限制,比如限制任务集合中所有任务的总货物重量、总货物体积等。该步骤中可以将初始任务集合中的任务数据按照最晚组合时间进行排序,之后每次选取任务数据时,优先选取当前初始任务集合中最晚组合时间最早的任务数据,并且在选取任务数据时需满足组合约束条件。由于各任务数据的最晚组合时间可能相同,而且满足组合约束条件的任务数据可能有多种选择,故最终得到的优化任务集合可以有多组结果。
确定模块603,用于确定满足预先建立的目标函数的优化任务集合,将满足所述目标函数的优化任务集合作为最终任务集合。预先确定时效影响因素,基于时效影响因素建立目标函数。其中,时效影响因素是指影响组合时效的因素,包括下列一个或者多个:拣货路径时长、最晚组合时间、优化任务集合的优化任务子集的任务数量以及优化任务子集的总货物数量与平均拣货数量的差值。相应的,目标函数的具体表达式与确定的时效影响因素相关。为了保证组合时效,需要通过目标函数从至少一组优化任务集合中选择出满足拣货路径时长最短、最晚组合时间最早、组合结果的任务数量最多、组合结果的总货物数量最多且与平均拣货数量最接近中的任意一项或者多项的优化任务集合,该优化任务集合即为最终任务集合。
另外,本发明实施例的任务组合装置600还可以包括:函数建立模块(图6中未示出),该模块用于确定时效影响因素,以基于所述时效影响因素建立所述目标函数;其中,所述时效影响因素包括下列一个或者多个:拣货路径时长、最晚组合时间、所述优化任务集合的优化任务子集的任务数量以及所述优化任务子集的总货物数量与平均拣货数量的差值。
从以上描述可以看出,通过预先配置的任务组合规则和组合约束条件,对任务池中的任务数据进行组合拆分,之后结合目标函数即可得到最终任务集合,在满足任务组合灵活性的前提下,实现了任务的自动组合、降低了任务组合难度、提高了任务组合效率;基于任务属性确定任务是否能够组合,并结合影响任务生产效率的因素确定目标函数,以在满足现场灵活性的前提下,进一步降低任务组合难度、提高任务组合效率。
图7是根据本发明实施例的数据处理装置的主要模块的示意图。如图7所示,本发明实施例的数据处理装置700,主要包括:
数据生成模块701,用于利用任务组合装置600,生成任务组合数据。此处所述的任务组合数据即为确定模块603中得到的最终任务集合。
时长确定模块702,用于根据所述任务组合数据的待处理产品数量和处理效率,确定预计处理时长。在确定预计处理时长时需要考虑拣货环节、复核环节和打包环节中至少一个环节的预计处理时长。各环节的预计处理时长均包括处理中的任务数据对应的第一预计处理时长和待处理的任务数据对应的第二预计处理时长。拣货环节包括待拣货和拣货中,复核环节包括待复核和复核中,打包环节包括待打包和打包中。预计处理时长为对应环节的第一预计处理时长和第二预计处理时长之和。
数据下发模块703,用于在所述预计处理时长满足预设产能阈值时,开始下发所述任务组合数据或者停止下发所述任务组合数据。预先配置产能阈值,其中,产能阈值包括:拣货时间阈值、复核时间阈值和打包时间阈值,且上述时间阈值均可以为阈值区间。各阈值在配置时可以人工经验设定,也可以根据拣货环节、复核环节和打包环节的预计处理时长并结合仓库的生产节奏来分别设定。若拣货环节的预计处理时长小于等于拣货时间最低阈值,则开始下发任务组合数据;若拣货环节的预计处理时长大于等于拣货时间最高阈值,复核环节的预计处理时长大于等于复核时间阈值,或者打包环节的预计处理时长大于等于打包时间阈值,则停止下发任务组合数据。
另外,本发明实施例的数据处理装置700还可以包括:数量确定模块(图7中未示出),用于若所述拣货环节的预计处理时长小于等于所述拣货时间最低阈值,获取拣货人员数量和拣货设备数量;以及根据所述拣货人员数量和所述拣货设备数量,确定当次下发的任务组合数据的数量。
从以上描述可以看出,在组合完成后,基于任务组合数据对应的预计处理时长,确定开始下发人物组合和停止下发任务组合的时机,实现了对任务组合数据下发节奏的自动控制,保证了仓库的均衡稳定生产;基于拣货人员数量和拣货设备数量确定当次下发任务组合数据的数量,进一步保证了仓库的均衡稳定生产。
图8示出了可以应用本发明实施例的任务组合方法或任务组合装置的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
服务器805可以是提供各种服务的服务器,例如对管理员利用终端设备801、802、803所提供的任务数据进行处理的后台管理服务器。后台管理服务器可以对接收到的任务数据进行拆分、组合等处理,并将处理结果(例如最终任务集合)反馈给终端设备。
需要说明的是,本申请实施例所提供的任务组合方法一般由服务器805执行,相应地,任务组合装置一般设置于服务器805中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
根据本发明的实施例,本发明还提供了一种电子设备和一种计算机可读介质。
本发明的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种任务组合方法。
本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种任务组合方法。
下面参考图9,其示出了适用于来实现本发明实施例的电子设备的计算机系统900的结构示意图。图9示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有计算机系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文主要步骤图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括拆分模块、生成模块和确定模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,拆分模块还可以被描述为“根据任务组合规则拆分任务池的任务数据,得到至少一个初始任务集合的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:根据任务组合规则拆分任务池的任务数据,得到至少一个初始任务集合;按照预设的组合约束条件,从所述初始任务集合中选取任务数据,以生成与所述初始任务集合相对应的至少一组优化任务集合;确定满足预先建立的目标函数的优化任务集合,将满足所述目标函数的优化任务集合作为最终任务集合。
从以上描述可以看出,通过预先配置的任务组合规则和组合约束条件,对任务池中的任务数据进行组合拆分,之后结合目标函数即可得到最终任务集合,在满足任务组合灵活性的前提下,实现了任务的自动组合、降低了任务组合难度、提高了任务组合效率;基于任务属性确定任务是否能够组合,并结合影响任务生产效率的因素确定目标函数,以在满足现场灵活性的前提下,进一步降低任务组合难度、提高任务组合效率。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。