1.本技术实施例涉及计算机技术领域,具体涉及出库排序方法、电子设备和计算机可读介质。
背景技术:
2.由于各行业越来越注重土地资源的合理利用,密集式仓储技术日益受到广泛关注。密集式仓储是指利用特殊的存取方式或货架结构,实现货架深度上货物的连续存储以达到存储密度最大化的仓储模式。
3.在对仓库中的物品进行出库时,通常需要实现同一sku(stock keeping unit,库存量单位)的箱子在货车中集中码放,因此需要设定sku的出库顺序。现有技术中,在实现上述需求时,通常无法充分利用仓库中的出库作业设备,导致出库效率较低。
技术实现要素:
4.本技术实施例提出了出库排序方法、电子设备和计算机可读介质,以解决现有技术中出库效率低的技术问题。
5.第一方面,本技术实施例提供了一种出库排序方法,该方法包括:获取仓库中各库存量单位sku的分配相关信息和各出库作业设备的当前作业信息,所述当前作业信息包括已分配但未完成的任务数量;将所述分配相关信息输入至序列决策模型中的编码网络,将所述编码网络输出的所述分配相关信息的编码结果信息和所述当前作业信息输入至所述序列决策模型中的解码网络,得到解码网络通过计算各sku的出库概率所确定的sku子序列;按照所述sku子序列中各sku的排列顺序,生成对所述sku子序列中的各sku进行出库的出库任务。
6.第二方面,本技术实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中所描述的方法。
7.第三方面,本技术实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中所描述的方法。
8.第四方面,包括计算机程序,该计算机程序被处理器执行时实现如第一方面中所描述的方法。
9.本技术实施例提供的出库排序方法、电子设备和计算机可读介质,首先获取仓库中各sku的分配相关信息和各出库作业设备的当前作业信息;而后将分配相关信息输入至序列决策模型中的编码网络,将编码网络输出的编码结果信息和当前作业信息输入至序列决策模型中的解码网络,得到解码网络通过计算各sku的出库概率所确定的sku子序列;最后按照sku子序列中各sku的排列顺序,生成对sku子序列中的各sku进行出库的出库任务。由于sku子序列基于各出库作业设备的当前作业信息确定,因此可在针对出库排序需求求解时,充分考虑仓库中的出库作业设备,避免了仓库中的出库作业设备空闲的情况,由此提
高了出库效率。
附图说明
10.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
11.图1是根据本技术的出库排序方法的一个实施例的流程图;
12.图2是根据本技术的序列决策模型的训练过程的流程图;
13.图3是根据本技术的出库排序装置的一个实施例的结构示意图;
14.图4是用于实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
15.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
16.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
17.随着物联网、人工智能、大数据等智能化技术的发展,利用这些智能化技术对传统物流业进行转型升级的需求愈加强劲,智慧物流(intelligent logistics system)成为物流领域的研究热点。智慧物流利用人工智能、大数据以及各种信息传感器、射频识别技术、全球定位系统(gps)等物联网装置和技术,广泛应用于物料的运输、仓储、配送、包装、装卸和信息服务等基本活动环节,实现物料管理过程的智能化分析决策、自动化运作和高效率优化管理。物联网技术包括传感设备、rfid技术、激光红外扫描、红外感应识别等,物联网能够将物流中的物料与网络实现有效连接,并可实时监控物料,还可感知仓库的湿度、温度等环境数据,保障物料的储存环境。通过大数据技术可感知、采集物流中所有数据,上传至信息平台数据层,对数据进行过滤、挖掘、分析等作业,最终对业务流程(如运输、入库、存取、拣选、包装、分拣、出库、盘点、配送等环节)提供精准的数据支持。人工智能在物流中的应用方向可以大致分为两种:1)以ai技术赋能的如无人卡车、agv、amr、叉车、穿梭车、堆垛机、无人配送车、无人机、服务机器人、机械臂、智能终端等智能设备代替部分人工;2)通过计算机视觉、机器学习、运筹优化等技术或算法驱动的如运输设备管理系统、仓储管理、设备调度系统、订单分配系统等软件系统提高人工效率。随着智慧物流的研究和进步,该项技术在众多领域展开了应用,例如零售及电商、电子产品、烟草、医药、工业制造、鞋服、纺织、食品等领域。
18.在密集式仓储场景中,为增加存储容量,通常需要在有限面积的仓库中提高存储密度。例如,通常可通过增加仓库层数和巷道深度的方式提高存储密度。其中,每个巷道可包含若干储位。储位可用于放置托盘。托盘可用于承载货物。货物可按照箱进行存储,每个托盘可承载一箱或多箱货物。每箱货物对应一个sku。每个托盘所承载的多箱货物可对应一个或多个sku。托盘可由穿梭车通过过道移动至整托出库站点、拆零出库站点等位置。
19.仓库中物品的出库方式包括整托出库和拆零出库。其中,整托出库是指将托盘通过托盘线运送至整托出库站进行拣选。拆零出库是指将托盘运送至拆零出库站进行拣选,
再通过箱线分拨给各车。在对仓库中的物品进行出库时,通常需要实现同一sku的箱子在货车中集中码放,因此需要设定sku的出库顺序。现有技术中,在实现上述需求时,通常无法充分利用仓库中的出库作业设备,即出库作业过程中存在部分出库作业设备空闲,导致出库效率较低。
20.请参考图1,其示出了根据本技术的出库排序方法的一个实施例的流程100。该出库排序方法可应用于各种具有控制功能的电子设备,如服务器、便携计算机、台式计算机、移动终端等。上述电子设备可部署有仓库控制系统(warehouse control system,wcs)。仓库控制系统是一种管理仓库实时任务的软件。仓库控制系统可包括通信模块、数据库模块、任务引擎等。仓库控制系统是介于wms(warehouse management system,仓库管理系统)和底层plc(programmable logic controller,可编程逻辑控制器)之间的一层管理控制系统。其可与wms进行信息交互,接受wms的任务,并将指令下达到底层plc,从而驱动自动化设备动作。该出库排序方法的执行主体可以是上述仓库控制系统。
21.该出库排序方法,包括以下步骤:
22.步骤101,获取仓库中各sku的分配相关信息和各出库作业设备的当前作业信息,当前作业信息包括已分配但未完成的任务数量。
23.步骤102,将分配相关信息输入至序列决策模型中的编码网络,将编码网络输出的分配相关信息的编码结果信息和当前作业信息输入至序列决策模型中的解码网络,得到解码网络通过计算各sku的出库概率所确定的sku子序列。
24.步骤103,按照sku子序列中各sku的排列顺序,生成对sku子序列中的各sku进行出库的出库任务。
25.在本实施例中,分配相关信息可以包括与sku的分配相关的各种信息。出库作业设备可以是用于执行出库作业的运输设备。出库作业设备的当前作业信息可以包括已分配但未完成的任务数量,如已分配但未完成的托盘数量。
26.在本实施例中,序列决策模型可以用于对出库sku的顺序进行预测。序列决策模型可以采用强化学习方法对端到端模型(sequence to sequence,seq2seq)训练得到。序列决策模型中可包括编码网络(encoder)和解码网络(decoder)。上述执行主体可以将分配相关信息输入至序列决策模型中的编码网络,将编码网络输出的编码结果信息和当前作业信息输入至序列决策模型中的解码网络,得到解码网络通过计算各sku的出库概率所确定的sku子序列。
27.需要说明的是,上述步骤101至步骤103可采用轮询的方式重复多次执行。上述执行主体可维护一sku序列。该sku序列可随着轮询次数的增多而逐渐增长。执行上述步骤的时间间隔可根据需要预先设定,如可设定为30秒。每执行一次时,解码网络可通过若干步(step)运算选取若干sku,得到sku子序列。具体地,上述解码网络在每一步运算时,可计算上述仓库中的各sku的出库概率,从而选取该步出库概率值最大的sku,进而通过依次将各步运算所选取的sku汇总以输出上述sku子序列。每执行一次上述步骤101至步骤103时,可将各step计算出的sku(即所构成的sku子序列)添加至上述执行主体所维护的sku序列的尾部,以更新所维护的sku序列。实践中,某次执行上述步骤101至步骤103后所计算出的sku子序列也可为空。
28.对于每次执行,在进行每一step运算时,解码网络可通过如下步骤选取sku。首先,
可获取当前的上下文信息。其中,上下文信息可包括步骤101所获取的当前作业信息以及本次执行中已运算的各step运算后更新的作业信息。而后,根据编码网络输出的编码结果信息和上述上下文信息,确定各sku的出库概率。最后,选取出库概率最大值对应的sku。
29.解码网络在进行每步运算后,可通过如下步骤更新作业信息:首先,获取出库概率最大值对应的sku的独热编码(onehot);而后,基于独热编码,确定以下至少一项目标信息:当前选择的每货车新追加的托盘数量和箱数、当前选择的拆零机械臂新追加的托盘数量、当前选择的每楼层新追加的托盘数量;最后,基于至少一项目标信息,更新作业信息。在一些示例中,作业信息可通过如下步骤更新:首先,对当前step选择的sku生成独热编码;接着,根据独热编码计算当前step选择的每货车新追加的托盘数量和箱数;接着,更新当前每货车空闲整托机械臂信息;接着,根据onehot计算当前step选择的拆零机械臂新追加的托盘数量;接着,更新当前空闲拆零机械臂信息;接着,根据onehot计算当前step选择的每楼层新追加的托盘数量;最后更新当前每楼层空闲穿梭车信息。
30.在本实施例中,当上述执行主体所维护的sku序列更新时,即可根据sku序列中新增的sku(即最新生成的sku子序列)添加新的出库任务。上述执行主体可以控制出库作业设备执行各个出库任务。
31.本技术上述实施例提供的出库排序方法,首先获取仓库中各sku的分配相关信息和各出库作业设备的当前作业信息;而后将分配相关信息输入至序列决策模型中的编码网络,将编码网络输出的编码结果信息和当前作业信息输入至序列决策模型中的解码网络,得到解码网络通过计算各sku的出库概率所确定的sku子序列;最后按照sku子序列中各sku的排列顺序,生成对sku子序列中的各sku进行出库的出库任务。由于sku子序列基于各出库作业设备的当前作业信息确定,因此可在针对出库排序需求求解时,充分考虑仓库中的出库作业设备,避免了仓库中的出库作业设备空闲的情况,由此提高了出库效率;另外,本技术实施例所提供的方案,预先通过强化学习的方式训练序列决策模型,基于序列决策模型实现sku出库排序,简化了出库排序流程。
32.在一些可选的实施例中,分配相关信息可以包括但不限于以下至少一项:sku与货车的分配关系信息、sku与拆零机械臂的分配关系信息、sku与楼层分配关系信息。其中,sku与货车的分配关系信息包括以下至少一项:整托托盘数量、整箱数量。sku与拆零机械臂的分配关系信息可以指sku对拆零机械臂的分配托盘数量。sku与楼层分配关系信息可以包括sku对每楼层的分配托盘数量。
33.在一些可选的实施例中,出库作业设备可以包括但不限于以下至少一项:整托出库站点、拆零出库站点、穿梭车(如四向穿梭车)。其中,出库作业设备除可进行出库作业外,还可在其他场景中进行其他作业,如入库作业、中转作业等。相应地,出库作业设备的当前作业信息可以包括但不限于以下至少一项:各整托机械臂已分配但未完成的托盘数量、各拆零机械臂已分配但未完成的托盘数量、各楼层已分配但未完成的托盘数量。
34.在一些可选的实施例中,序列决策模型可通过两个阶段进行训练。第一阶段为预训练阶段。第二阶段为微调优化阶段。具体地,参见图2所示。包括:子步骤s11,基于仓库中各sku的第一分配相关信息和各出库作业设备的第一作业信息,采用强化学习方法对端到端神经网络进行预训练,得到预训练模型。其中,第一分配相关信息和第一作业信息可随机生成,例如可基于仿真数据或者真实数据的概率分布随机生成,因此可以实时生成,成本较
低。子步骤s12,基于仓库中各sku的第二分配相关信息和各出库作业设备的第二作业信息,采用强化学习方法对预训练模型的参数进行调整,得到序列决策模型。其中,第二分配相关信息和第二作业信息可从仿真数据或真实数据中获取。预训练阶段所得到的与训练模型,其性能可等同于采用其他相关技术解决相同问题所使用的模型或决策。微调优化阶段可使模型性能得到进一步提升,得到更优策略,得到计算代价小又由于现有技术的模型。
35.在一些可选的实现方式中,上述执行主体可以采用强化学习方法对端到端神经网络进行预训练,得到预训练模型,具体包括:首先,将第一分配相关信息输入至端到端模型中的编码网络,将端到端模型中的编码网络输出的编码结果信息和第一作业信息输入至端到端模型中的解码网络,基于端到端模型中的解码网络每一步(step)计算出的各sku的出库概率,确定上述端到端模型的第一奖励值。而后,基于第一奖励值更新端到端模型的参数,得到预训练模型。
36.在确定第一奖励值时,可以首先基于各sku分配至各货车中的托盘数量和箱数,确定各sku针对各货车的代价(上述代价为表征sku出库难易程度的数值,如托盘数量和箱数的加权和)。而后基于出库概率、代价和奖励函数,确定上述端到端模型的第一奖励值。其中,奖励函数可包括奖励项和惩罚项。作为示例,奖励函数可以表示为:
[0037][0038]
其中,i为sku的序号,j为货车序号,yi表示是否选择skui,c
ij
为skui在货车j的代价,cover表示是否skui是当前货车j的第一个sku,为整托机械臂的惩罚项,为拆零机械臂的惩罚项,其余部分为奖励项。若整托机械臂资源空闲,则为正数,若拆零机械臂资源空闲则为正数。其中,α和β为预设的权重系数。和为具体的惩罚值,可预先设置。
[0039]
需要说明的是,惩罚项可根据需要进行设置,若仓库中仅配置了整托机械臂而未配置拆零机械臂,则可以仅包含整托机械臂的惩罚项。反之,若仓库中仅配置了拆零机械臂而未配置整托机械臂,则可以仅包含拆零机械臂的惩罚项。通过引入惩罚项,能够考虑到出库作业设备空闲情况,使得在这种情况下奖励值降低,达到惩罚的目的,从而兼顾出库排序需求和出库效率。
[0040]
在基于第一奖励值更新端到端模型的参数时,可将奖励值的相反数作为代价值,将代价值代入至损失函数,得到损失值。而后基于损失值,通过反向传播算法更新模型参数,得到预训练模型。作为示例,损失函数可参考如下:
[0041]
loss=sum[((cost-bl_val)*log_likelihood)]
[0042]
其中,cost为代价值,为第一奖励值的相反数。bl_val为强化学习的baseline评估代价。log_likelihood为模型计算出的概率对数梯度。loss为损失值。sum为求和函数,用于对基于各sku计算出的损失进行求和。
[0043]
在一些可选的实现方式中,上述执行主体可以采用强化学习方法对预训练模型的参数进行调整,得到序列决策模型。具体包括:首先,将第二分配相关信息输入至预训练模型中的编码网络,将预训练模型中的编码网络输出的编码结果信息和第二作业信息输入至
预训练模型中的解码网络,基于预训练模型中的解码网络输出的sku子序列生成出库任务。而后,基于目标时段的出库任务完成情况,确定目标时段的吞吐效率。之后,基于吞吐效率确定上述预训练模型的第二奖励值。最后,基于第二奖励值更新预训练模型的参数,得到序列决策模型。
[0044]
其中,目标时段的吞吐效率即为目标时段中单位时间的出库托盘数量。可以将所确定出的吞吐效率与平均吞吐效率的差值,作为第二奖励值。平均吞吐效率可以是预设数值。基于实际的吞吐效率来确定奖励值,从而基于该奖励值进行强化学习,可提高奖励值的准确性,进而提高序列决策模型输出的sku子序列的准确性。
[0045]
进一步地,在预训练阶段数据可以实时生成,训练数据获取成本较低。因此在强化学习过程中,在进行策略梯度时,可随时搜集数据随时更新策略。但在微调优化阶段,数据为真实的运营数据,获取成本很高。如果数据在搜集之后只使用一次后就丢弃,将会带来极高的成本。因此,还可以考虑离线计算策略梯度。例如,可以记录预训练模型根据状态信息s
t
输出动作a
t
的概率p’(a
t
|s
t
),并记录奖励值a’。状态信息s
t
可以是真实数据中的信息,如上述第二分配相关信息和第二作业信息。微调时,可对预训练模型不断优化成新模型,记录新模型下根据状态信息s
t
输出动作a
t
的概率p(a
t
|s
t
),并记录奖励值a。而后,采用梯度函数π
θ'
计算策略梯度,如:
[0046][0047]
在一些可选的实施例中,序列决策模型可以为采用注意力(attention)机制的转换模型(transformer模型)。编码网络可以为图注意力网络(graph attention network,gat)。图注意力网络可以以各sku为节点。图注意力网络可包括多个注意力层,每个注意力层包括多头注意力子层和全连接前馈子层。每个子层使用残差连接和批归一化。解码网络可包括多个网络结构层,各网络结构层包括两层自注意力(self-attention)子层和一层全连接子层。解码网络可采用transformer模型中的解码器结构。由于attention机制模仿了生物观察行为的内部过程,此可时模型在数据计算过程中更加关注重点,从而简化模型和优化算法。
[0048]
进一步参考图3,作为对上述各图所示方法的实现,本技术提供了一种出库排序装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0049]
如图3所示,本实施例的出库排序装置300包括:获取单元301,用于获取仓库中各库存量单位sku的分配相关信息和各出库作业设备的当前作业信息,上述当前作业信息包括已分配但未完成的任务数量;子序列生成单元302,用于将上述分配相关信息输入至序列决策模型中的编码网络,将上述编码网络输出的编码结果信息和上述当前作业信息输入至上述序列决策模型中的解码网络,得到解码网络通过计算各sku的出库概率所确定的sku子序列;任务生成单元303,用于按照上述sku子序列中各sku的排列顺序,生成对上述sku子序列中的各sku进行出库的出库任务。
[0050]
在本实施例的一些可选的实现方式中,上述序列决策模型通过如下步骤训练得到:基于仓库中各sku的第一分配相关信息和各出库作业设备的第一作业信息,采用强化学
习方法对端到端神经网络进行预训练,得到预训练模型,上述第一分配相关信息和第一作业信息随机生成;基于仓库中各sku的第二分配相关信息和各出库作业设备的第二作业信息,采用强化学习方法对上述预训练模型的参数进行调整,得到序列决策模型,上述第二分配相关信息和第二作业信息从仿真数据或真实数据中获取。
[0051]
在本实施例的一些可选的实现方式中,上述基于仓库中各sku的第一分配相关信息和各出库作业设备的第一作业信息,采用强化学习方法对端到端神经网络进行预训练,得到预训练模型,包括:将上述第一分配相关信息输入至端到端模型中的编码网络,将上述端到端模型中的编码网络输出的编码结果信息和上述第一作业信息输入至上述端到端模型中的解码网络,基于上述端到端模型中的解码网络每一步计算出的各sku的出库概率,确定上述端到端模型的第一奖励值;基于上述第一奖励值更新上述端到端模型的参数,得到预训练模型。
[0052]
在本实施例的一些可选的实现方式中,上述基于上述出库概率,确定上述端到端模型的第一奖励值,包括:基于各sku在各货车中的托盘数量和箱数,确定各sku在各货车的代价,上述代价为表征sku出库难易程度的数值;基于上述出库概率、上述代价和奖励函数,确定上述端到端模型的第一奖励值,上述奖励函数包括奖励项和惩罚项。
[0053]
在本实施例的一些可选的实现方式中,上述基于仓库中各sku的第二分配相关信息和各出库作业设备的第二作业信息,采用强化学习方法对上述预训练模型的参数进行调整,得到序列决策模型,包括:将上述第二分配相关信息输入至预训练模型中的编码网络,将上述预训练模型中的编码网络输出的编码结果信息和上述第二作业信息输入至上述预训练模型中的解码网络,基于上述预训练模型中的解码网络输出的sku子序列生成出库任务;基于目标时段的出库任务完成情况,确定上述目标时段的吞吐效率;基于上述吞吐效率确定上述预训练模型的第二奖励值;基于上述第二奖励值更新上述预训练模型的参数,得到序列决策模型。
[0054]
在本实施例的一些可选的实现方式中,上述解码网络通过如下过程确定上述sku子序列:在每一步运算时计算上述仓库中的各sku的出库概率,选取该步对应的出库概率最大的sku;将各步所选取的sku汇总以输出上述sku子序列。
[0055]
在本实施例的一些可选的实现方式中,上述解码网络在进行每步运算时通过如下步骤选取sku:获取当前的上下文信息,上述上下文信息包括上述当前作业信息和在上述解码网络已运算的各步运算后更新的作业信息;根据编码网络输出的编码结果信息和上述上下文信息,确定各sku的出库概率;选取出库概率最大值对应的sku。
[0056]
在本实施例的一些可选的实现方式中,上述解码网络在进行每步运算后,还执行如下步骤:获取上述出库概率最大值对应的sku的独热编码;基于上述独热编码,确定以下至少一项目标信息:当前选择的每货车新追加的托盘数量和箱数、当前选择的拆零机械臂新追加的托盘数量、当前选择的每楼层新追加的托盘数量;基于上述至少一项目标信息,更新作业信息。
[0057]
在本实施例的一些可选的实现方式中,上述序列决策模型为采用注意力机制的转换模型;上述编码网络为图注意力网络,上述图注意力网络包括多个注意力层,每个注意力层包括多头注意力子层和全连接前馈子层;上述解码网络包括多个网络结构层,各网络结构层包括两层自注意力子层和一层全连接子层。
[0058]
在本实施例的一些可选的实现方式中,上述分配相关信息包括以下至少一项:sku与货车的分配关系信息、sku与拆零机械臂的分配关系信息、sku与楼层的分配关系信息;其中,上述sku与货车的分配关系信息包括以下至少一项:整托托盘数量、整箱数量。
[0059]
在本实施例的一些可选的实现方式中,上述当前作业信息包括以下至少一项:各整托机械臂已分配但未完成的托盘数量、各拆零机械臂已分配但未完成的托盘数量、各楼层已分配但未完成的托盘数量。
[0060]
本技术的上述实施例提供的装置,首先获取仓库中各sku的分配相关信息和各出库作业设备的当前作业信息;而后将分配相关信息输入至序列决策模型中的编码网络,将编码网络输出的编码结果信息和当前作业信息输入至序列决策模型中的解码网络,得到解码网络通过计算各sku的出库概率所确定的sku子序列;最后按照sku子序列中各sku的排列顺序,生成对sku子序列中的各sku进行出库的出库任务。由于sku子序列基于各出库作业设备的当前作业信息确定,因此可在针对出库排序需求求解时,充分考虑仓库中的出库作业设备,避免了仓库中的出库作业设备空闲的情况,由此提高了出库效率。
[0061]
下面参考图4,其示出了用于实现本技术的一些实施例的电子设备的结构示意图。图4示出的电子设备仅仅是一个示例,不应对本技术的实施例的功能和使用范围带来任何限制。
[0062]
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储装置408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、rom 402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
[0063]
通常,以下装置可以连接至i/o接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置407;包括例如磁盘、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图4中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
[0064]
本技术实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述出库排序方法。
[0065]
特别地,根据本技术的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从rom 402被安装。在该计算机程序被处理装置401执行时,执行本技术的一些实施例的方法中限定的上述功能。
[0066]
本技术实施例还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现上述出库排序方法。
[0067]
需要说明的是,本技术的一些实施例所述的计算机可读介质可以是计算机可读信
号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0068]
在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transferprotocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
[0069]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取仓库中各sku的分配相关信息和各出库作业设备的当前作业信息,所述当前作业信息包括已分配但未完成的任务数量;将分配相关信息输入至序列决策模型中的编码网络,将编码网络输出的编码结果信息和当前作业信息输入至序列决策模型中的解码网络,得到解码网络通过计算各sku的出库概率所确定的sku子序列;按照sku子序列中各sku的排列顺序,生成对sku子序列中的sku的出库任务。
[0070]
可以以一种或多种程序设计语言或其组合来编写用于执行本技术的一些实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c ;还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接),上述网络包括局域网(lan)或广域网(wan)。
[0071]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上
可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0072]
描述于本技术的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一确定单元、第二确定单元、选取单元和第三确定单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0073]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0074]
以上描述仅为本技术的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
转载请注明原文地址:https://tc.8miu.com/read-687.html