订单处理方法和装置
技术领域
本申请涉及仓储技术领域,具体涉及订单处理方法和装置。
背景技术
无人仓储库房是集成了更多先进的自动化物流设备,由少量维护人员参与的智能化库房。一套完整的自动化仓储系统,一般包括堆垛机、物流管理软件、输送系统、货架系统等。货物从自动卸货、自动验收、自动拆箱到机器人码箱、货物入存储库、货物入拣选库、出库、机器人拣货,接着货物完成自动包装、自动分拣,最后装车发货,全部自动化完成。
在自动化设备的无人仓储库房中,需要规划合理的搬运指派关系,即指派哪辆运输车将哪个货架搬运到哪个工作台。从成本和出库效率的角度上,需要考虑使用尽量少的运输成本满足尽量多的出库量,即需要提升“机器人人效”。
发明内容
本申请实施例提出了订单处理方法和装置。
第一方面,本申请实施例提供了一种订单处理方法,包括:响应于检测到存在空闲的工作台,获取待分配的至少一个订单、至少一个货架的货架信息、空闲的工作台的位置信息,其中,货架信息包括货架位置和货架状态,货架状态包括以下至少一种:回库搬运状态、在储位状态、出库搬运状态;对于至少一个订单中的每个订单,从至少一个货架中根据货架位置和空闲的工作台的位置信息选择针对该订单的搬运成本最低的目标货架;对于至少一个订单中的每个订单,根据针对该订单的不同状态的目标货架的数量、各目标货架与空闲的工作台的距离为该订单打分;从至少一个订单中选择打分最低的订单作为目标订单。
在一些实施例中,该方法还包括:若目标订单对应的目标货架的货架状态为在储位状态,则获取至少一个空闲的运输车的位置信息,根据目标订单对应的目标货架的位置信息和各空闲的运输车的位置信息,从至少一个空闲的运输车中选择与目标订单对应的目标货架之间距离最近的运输车作为用于运输目标订单对应的目标货架的目标运输车。
在一些实施例中,货架信息还包括用于指示货架要运往的工作台、待拣选的物品名称和数量的任务信息;以及该方法还包括:若目标订单对应的目标货架的货架状态为回库搬运状态或出库搬运状态,则更新目标订单对应的目标货架的货架状态和任务信息。
在一些实施例中,货架位置包括当前位置和目的位置,货架信息包括存储的物品信息;以及从至少一个货架中根据货架位置和空闲的工作台的位置信息选择针对该订单的搬运成本最低的目标货架,包括:根据各货架存储的物品信息从至少一个货架中确定出存储该订单涉及的物品的至少一个货架;将存储该订单涉及的物品的至少一个货架中当前位置为工作台或目的位置为工作台的货架确定为针对该订单的搬运成本最低的目标货架。
在一些实施例中,订单包括目标物品的待出库量,物品信息包括物品数量;以及该方法还包括:从至少一个货架中确定货架状态为回库搬运状态、并且存储该订单涉及的物品的至少一个第一候选货架;将待出库量与该订单对应的目标货架存储的目标物品的数量之差确定为剩余待出库量;若剩余待出库量大于0,则执行如下回库货架确定步骤:对于至少一个第一候选货架每个第一候选货架,根据该第一候选货架与空闲的工作台之间的距离、待出库量与该第一候选货架存储的目标物品的数量之差确定该第一候选货架的搬运成本;从至少一个第一候选货架中确定出搬运成本最低的第一目标货架,并将该第一目标货架的货架号添加到第一货架号集合中;根据第一目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第一候选货架中过滤掉第一目标货架;若更新后的剩余待出库量大于0,并且还存在货架状态为回库搬运状态、并且存储该订单涉及的物品的第一候选货架,则继续执行上述回库货架确定步骤。
在一些实施例中,该方法还包括:从至少一个货架中确定货架状态为在储位状态、并且存储该订单涉及的物品的至少一个第二候选货架;若更新后的剩余待出库量大于0,则执行如下在储位货架确定步骤:对于至少一个第二候选货架每个第二候选货架,根据该第二候选货架与空闲的工作台之间的距离、待出库量与该第二候选货架存储的目标物品的数量之差确定该第二候选货架的搬运成本;从至少一个第二候选货架中确定出搬运成本最低的第二目标货架,并将该第二目标货架的货架号添加到第二货架号集合中;根据第二目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第二候选货架中过滤掉第二目标货架;若更新后的剩余待出库量大于0,并且还存在货架状态为在储位状态、并且存储该订单涉及的物品的第二候选货架,则继续执行上述在储位货架确定步骤。
在一些实施例中,该方法还包括:从至少一个货架中确定货架状态为出库搬运状态、并且存储该订单涉及的物品的至少一个第三候选货架,其中,第三候选货架的目的位置为除空闲的工作台之外的工作台;若更新后的剩余待出库量大于0,则执行如下出库搬运货架确定步骤:对于至少一个第三候选货架每个第三候选货架,根据该第三候选货架与空闲的工作台之间的距离、待出库量与该第三候选货架存储的目标物品的数量之差确定该第三候选货架的搬运成本;从至少一个第三候选货架中确定出搬运成本最低的第三目标货架,并将该第三目标货架的货架号添加到第三货架号集合中;根据第三目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第三候选货架中过滤掉第三目标货架;若更新后的剩余待出库量大于0,并且还存在货架状态为在储位状态、并且存储该订单涉及的物品的第三候选货架,则继续执行上述出库搬运货架确定步骤。
在一些实施例中,根据针对该订单的不同状态的目标货架的数量、各目标货架与空闲的工作台的距离为该订单打分,包括:确定第一货架号集合中元素数量、第二货架号集合中元素数量、第三货架号集合中元素数量的加权和;确定各第一目标货架与空闲的工作台之间的距离之和作为第一距离;确定各第二目标货架与空闲的工作台之间的距离之和作为第二距离;根据加权和、第一距离、第二距离三者之和与该订单涉及的物品数量的比值为该订单打分。
在一些实施例中,至少一个空闲的运输车中选择与目标订单对应的目标货架之间距离最近的运输车作为用于运输目标订单对应的目标货架的目标运输车,包括:根据线性规划方法从至少一个空闲的运输车中确定距离订单对应的目标货架最近的运输车作为用于运输目标订单对应的目标货架的目标运输车。
在一些实施例中,该方法还包括:将目标订单分配给目标订单对应的目标货架;对于至少一个订单中除目标订单之外的每个订单,若该订单对应的目标货架与目标订单对应的目标货架不同,则将该订单分配给该订单对应的目标货架。
第二方面,本申请实施例提供了一种订单处理装置,包括:获取单元,配置用于响应于检测到存在空闲的工作台,获取待分配的至少一个订单、至少一个货架的货架信息、空闲的工作台的位置信息,其中,货架信息包括货架位置和货架状态,货架状态包括以下至少一种:回库搬运状态、在储位状态、出库搬运状态;货架确定单元,配置用于对于至少一个订单中的每个订单,从至少一个货架中根据货架位置和空闲的工作台的位置信息选择针对该订单的搬运成本最低的目标货架;打分单元,配置用于对于至少一个订单中的每个订单,根据针对该订单的不同状态的目标货架的数量、各目标货架与空闲的工作台的距离为该订单打分;订单确定单元,配置用于从至少一个订单中选择打分最低的订单作为目标订单。
在一些实施例中,装置还包括运输车确定单元,配置用于:若目标订单对应的目标货架的货架状态为在储位状态,则获取至少一个空闲的运输车的位置信息,根据目标订单对应的目标货架的位置信息和各空闲的运输车的位置信息,从至少一个空闲的运输车中选择与目标订单对应的目标货架之间距离最近的运输车作为用于运输目标订单对应的目标货架的目标运输车。
在一些实施例中,货架信息还包括用于指示货架要运往的工作台、待拣选的物品名称和数量的任务信息;以及该装置还包括更新单元,配置用于:若目标订单对应的目标货架的货架状态为回库搬运状态或出库搬运状态,则更新目标订单对应的目标货架的货架状态和任务信息。
在一些实施例中,货架位置包括当前位置和目的位置,货架信息包括存储的物品信息;以及货架确定单元进一步配置用于:根据各货架存储的物品信息从至少一个货架中确定出存储该订单涉及的物品的至少一个货架;将存储该订单涉及的物品的至少一个货架中当前位置为工作台或目的位置为工作台的货架确定为针对该订单的搬运成本最低的目标货架。
在一些实施例中,订单包括目标物品的待出库量,物品信息包括物品数量;以及货架确定单元进一步配置用于:从至少一个货架中确定货架状态为回库搬运状态、并且存储该订单涉及的物品的至少一个第一候选货架;将待出库量与该订单对应的目标货架存储的目标物品的数量之差确定为剩余待出库量;若剩余待出库量大于0,则执行如下回库货架确定步骤:对于至少一个第一候选货架每个第一候选货架,根据该第一候选货架与空闲的工作台之间的距离、待出库量与该第一候选货架存储的目标物品的数量之差确定该第一候选货架的搬运成本;从至少一个第一候选货架中确定出搬运成本最低的第一目标货架,并将该第一目标货架的货架号添加到第一货架号集合中;根据第一目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第一候选货架中过滤掉第一目标货架;若更新后的剩余待出库量大于0,并且还存在货架状态为回库搬运状态、并且存储该订单涉及的物品的第一候选货架,则继续执行上述回库货架确定步骤。
在一些实施例中,货架确定单元进一步配置用于:从至少一个货架中确定货架状态为在储位状态、并且存储该订单涉及的物品的至少一个第二候选货架;若更新后的剩余待出库量大于0,则执行如下在储位货架确定步骤:对于至少一个第二候选货架每个第二候选货架,根据该第二候选货架与空闲的工作台之间的距离、待出库量与该第二候选货架存储的目标物品的数量之差确定该第二候选货架的搬运成本;从至少一个第二候选货架中确定出搬运成本最低的第二目标货架,并将该第二目标货架的货架号添加到第二货架号集合中;根据第二目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第二候选货架中过滤掉第二目标货架;若更新后的剩余待出库量大于0,并且还存在货架状态为在储位状态、并且存储该订单涉及的物品的第二候选货架,则继续执行上述在储位货架确定步骤。
在一些实施例中,货架确定单元进一步配置用于:从至少一个货架中确定货架状态为出库搬运状态、并且存储该订单涉及的物品的至少一个第三候选货架,其中,第三候选货架的目的位置为除空闲的工作台之外的工作台;若更新后的剩余待出库量大于0,则执行如下出库搬运货架确定步骤:对于至少一个第三候选货架每个第三候选货架,根据该第三候选货架与空闲的工作台之间的距离、待出库量与该第三候选货架存储的目标物品的数量之差确定该第三候选货架的搬运成本;从至少一个第三候选货架中确定出搬运成本最低的第三目标货架,并将该第三目标货架的货架号添加到第三货架号集合中;根据第三目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第三候选货架中过滤掉第三目标货架;若更新后的剩余待出库量大于0,并且还存在货架状态为在储位状态、并且存储该订单涉及的物品的第三候选货架,则继续执行上述出库搬运货架确定步骤。
在一些实施例中,打分单元进一步确定用于:确定第一货架号集合中元素数量、第二货架号集合中元素数量、第三货架号集合中元素数量的加权和;确定各第一目标货架与空闲的工作台之间的距离之和作为第一距离;确定各第二目标货架与空闲的工作台之间的距离之和作为第二距离;根据加权和、第一距离、第二距离三者之和与该订单涉及的物品数量的比值为该订单打分。
在一些实施例中,运输车确定单元进一步配置用于:根据线性规划装置从至少一个空闲的运输车中确定距离订单对应的目标货架最近的运输车作为用于运输目标订单对应的目标货架的目标运输车。
在一些实施例中,该装置还包括分配单元,配置用于:将目标订单分配给目标订单对应的目标货架;对于至少一个订单中除目标订单之外的每个订单,若该订单对应的目标货架与目标订单对应的目标货架不同,则将该订单分配给该订单对应的目标货架。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面中任一的方法。
本申请实施例提供的订单处理方法和装置,通过查找空闲的工作台作为目标工作台,并从待分配的至少一个订单中确定出搬运成本最低的订单作为目标订单。从而提高了工作台的使用效率并降低了订单涉及的物品出库时的搬运成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的订单处理方法的一个实施例的流程图;
图3是根据本申请的订单处理方法的一个应用场景的示意图;
图4是根据本申请的订单处理方法的又一个实施例的流程图;
图5是根据本申请的订单处理装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的订单处理方法或订单处理装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102,服务器103,运输车104、105、106,货架107、108、109、储位110和工作台111、112、113、114。终端设备101、102和服务器103之间,运输车104、105、106和服务器103之间,通过网络连接,网络可以包括各种连接状态,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102通过网络与服务器103交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。例如,用户通过终端设备101、102的购物类应用发送订单信息给服务器103。服务器103指示运输车运输装载物品的货架到工作台并指示工作人员或者机器手臂按照订单从货架拣货,放入工作台的槽位中,并在拣货完毕后更新订单的物流状态以便终端设备101、102查询。
其中方框圈出的是物品存储区,其中每一格表示一个储位,每一个储位上可以放一个货架,货架上可以放置一种或多种物品。物品入库时,运输车104、105、106用于将装有待入库的物品的货架107、108、109搬运到储位110。物品出库时,运输车104、105、106用于将装有待出库的物品的货架107、108、109搬运到工作台111、112、113、114,通过人工或者机器手臂根据订单信息中的货物的种类和数量从货架上取下相应种类和数量的货物放入工作台的槽位中。
服务器103可以是提供各种服务的服务器,例如对终端设备101、102上显示的物流信息提供支持的管理服务器。管理服务器可以对接收到的订单请求等数据进行分析等处理,按照订单信息选取待搬运的货架、运输车、工作台和槽位,在运输车将货架搬至工作台并分拣完货物后,将处理结果(例如物流状态)反馈给终端设备。
服务器103可以根据订单确定出从哪个货架上取货,以及用哪个运输车将该货架移动到哪个工作台的搬运成本最低,从而为订单定位目标货架、目标运输车和目标工作台。运输车上可操作地耦合有通信设备,可与服务器进行信息交互。服务器可向运输车发送包括货架标识的指令通知目标运输车进行货架搬运。货架上贴有货架标识,目标运输车通过扫描货架标识找到目标货架,将目标货架搬运到目标工作台。运输车还可将运输车的当前位置返回给服务器。服务器还向目标工作台发送指令,通知目标工作台按照订单从货架拣选物品。目标工作台也可将拣选结果返回给服务器。
需要说明的是,本申请实施例所提供的订单处理方法一般由服务器103执行,相应地,订单处理装置一般设置于服务器103中。
应该理解,图1中的终端设备、服务器、车辆、货架和工作台的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、服务器、车辆、货架、工作台。
继续参考图2,示出了根据本申请的订单处理方法的一个实施例的流程200。该订单处理方法,包括以下步骤:
步骤201,响应于检测到存在空闲的工作台,获取待分配的至少一个订单、至少一个货架的货架信息、空闲的工作台的位置信息。
在本实施例中,订单处理方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从用于拣选物品的工作台接收工作台的状态信息。当工作台检测到有任何一个槽位空置时,工作台向服务器发送状态信息,通知服务器工作台目前是空闲的,还可以通知服务器哪个槽位空闲。服务器接收到空闲的工作台发送的状态信息后,获取待分配的至少一个订单、至少一个货架的货架信息和空闲的工作台的位置信息,其中,订单中指示了待出库的物品和物品的出库量。货架状态包括以下至少一种:回库搬运状态、在储位状态、出库搬运状态。货架最初状态是在储位状态,货架被搬运到工作台时货架状态是出库搬运状态。当货架从工作台返回到储位时,货架状态是回库搬运状态。当某一工作站空出一个槽位时,在订单池中查看最早截单时间或者优先级最高的订单,如果没有则等待;如果只有一个则直接绑定,按照下面的描述确定货架以及搬运车和货架的匹配关系。如果有多个最早截单时间或者最高优先级的订单,则对每一个订单o(如果可选订单过多,可以先考虑最早截单时间或者最高优先级的部分订单)状态信息中可包括工作台编号。可通过工作台的编号查询到预先固定布置好的工作台的位置。订单可能有很多个,用订单编号进行区分。
步骤202,对于至少一个订单中的每个订单,从至少一个货架中根据货架位置和空闲的工作台的位置信息选择针对该订单的搬运成本最低的目标货架。
在本实施例中,货架上贴有货架标识,如果货架没有被搬运,则货架的位置处于原始分配的储位。如果货架被运输车搬运,则可通过运输车扫描到的货架标识和运输车的位置确定货架的位置。物品在出库和入库时都会在服务器记录。因此服务器记录了各货架上的物品信息。服务器可查询到哪些货架上存储了订单的物品信息所指示的物品。对于每个待分配的订单,可从至少一个可选货架选出距离空闲的工作台最近的货架作为该订单的搬运成本最低的目标货架。每个订单的目标货架可以是一个或多个。各订单的目标货架也可能是冲突的,此时的目标货架只是预分配,当选择出合适的目标订单时才给目标订单正式分配之前预分配的目标货架。
在本实施例的一些可选的实现方式中,货架位置包括当前位置和目的位置,货架信息包括存储的物品信息,从至少一个货架中根据货架位置和空闲的工作台的位置信息选择针对该订单的搬运成本最低的目标货架,包括:根据各货架存储的物品信息从至少一个货架中确定出存储该订单涉及的物品的至少一个货架;将存储该订单涉及的物品的至少一个货架中当前位置为工作台或目的位置为工作台的货架确定为针对该订单的搬运成本最低的目标货架。在该工作台等待拣选和正在去往该工作台的货架上能直接追加的量,更新订单待出库量。在已经搬运到工作台或者去往工作台的途中的货架直接追加订单的搬运成本最低,不需要重新调货架来工作台。如果已经搬运的货架上的物品不能满足订单要求,则仍需要将处于储位的其它货架作为目标货架。
步骤203,对于至少一个订单中的每个订单,根据针对该订单的不同状态的目标货架的数量、各目标货架与空闲的工作台的距离为该订单打分。
在本实施例中,对于至少一个订单中的每个订单,针对该订单的目标货架可以有多个,按照优先级的先后顺序为可用于追加订单的货架、回库搬运状态的货架、在储位状态的货架、出库搬运状态的货架。为订单分配货架时,尽量选择数量少并且距离工作台近的目标货架。如果订单的目标货架数量越少、并且目标货架距离工作台越近,则打分越低。
步骤204,从至少一个订单中选择打分最低的订单作为目标订单。
在本实施例中,将打分低的订单作为目标订单优先进行生产。其它订单还需要再进行步骤201-203的步骤从中选择出下一个待生产的目标订单。将选择的在储位状态的货架加入到等待生产的队列中,其他状态货架直接向承载该状态货架的运输车下发搬运任务,更新货架状态和挂载任务数量。从等待生产的队列中取出前面不超过当前空闲运输车数量的等待货架的货架号,进入下面的运输车匹配流程,确定货架和搬运运输车的匹配关系。
在本实施例的一些可选的实现方式中,该方法还包括:将目标订单分配给目标订单对应的目标货架;对于至少一个订单中除目标订单之外的每个订单,若该订单对应的目标货架与目标订单对应的目标货架不同,则将该订单分配给该订单对应的目标货架。即,将目标订单正式分配给标订单对应的目标货架,计算出目标货架中可以拣选出的物品的数量并通知工作台。对于订单池中除目标订单之外的订单,虽然之前找到了预分配的目标货架,但如果其它订单的目标货架与目标订单的目标货架相同,则其它订单需要重新选择目标货架,如果其它订单的目标货架与目标订单的目标货架不同,则可将之前预分配的目标货架正式分配给其它订单。
在本实施例的一些可选的实现方式中,若目标订单对应的目标货架的货架状态为在储位状态,则获取至少一个空闲的运输车的位置信息,根据目标订单对应的目标货架的位置信息和各空闲的运输车的位置信息,从至少一个空闲的运输车中选择与目标订单对应的目标货架之间距离最近的运输车作为用于运输目标订单对应的目标货架的目标运输车。运输车安装有通信装置,当运输车搬运货架时扫描了货架上的货架标识,运输车将货架标识和车号发送给服务器,服务器可根据接收到的货架标识和车号确定哪个运输车搬运了哪个货架。并且运输车实时地将运输车的位置信息发送给服务器。运输车一次只能搬一个货架,没有搬货架的运输车即为空闲的运输车。各空闲的运输车的位置不同,根据目标货架的位置信息和各空闲的运输车的位置信息,从至少一个空闲的运输车中选择与目标货架之间距离最近的运输车作为用于运输目标货架的目标运输车。
在本实施例的一些可选的实现方式中,若目标订单对应的目标货架的货架状态为回库搬运状态或出库搬运状态,则更新目标订单对应的目标货架的货架状态和任务信息。如果目标货架已经被搬运到工作台或在搬往工作台的途中,则目标运输车为正在搬运目标货架的运输车。目标货架如果是多个,则需要多个目标运输车搬运。任务信息用于指示货架要运往的工作台、待拣选的物品名称和数量。服务器将任务信息挂载到目标货架,可通知运输车按照任务信息将货架搬运到任务信息中指示的工作台,并通知工作台按任务信息拣选物品。
在本实施例的一些可选的实现方式中,从至少一个空闲的运输车中选择与目标订单对应的目标货架之间距离最近的运输车作为用于运输目标订单对应的目标货架的目标运输车,包括:根据线性规划方法从至少一个空闲的运输车中确定距离订单对应的目标货架最近的目标运输车。线性规划(Linear programming,LP)是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。研究线性约束条件下线性目标函数的极值问题的数学理论和方法。
可选的,线性规划的数学模型可如下式所示,相同的符号代表相同的含义:
1.目标函数
其中:Y是线性规划的数学模型的目标函数;
i是运输车的车号;
j是货架的货架号;
I表示所有可选的运输车的集合;
J为所有货架的集合;
xij=1表示指定运输车i去搬运货架j;
Lij表示运输车i和货架j之间的距离。
2.约束条件
xij∈{0,1} (约束3)
约束1表示一辆运输车最多只能搬运一个货架;
约束2表示要给每一个货架指派一辆运输车;
约束3是变量的取值:
当运输车i服务于货架j时,xij=1;其他情况,xij=0;
可选的,在确定出目标货架,目标运输车之后,向目标运输车发送将确定出的货架搬运到空闲的工作台的指令。
继续参见图3,图3是根据本实施例的信息输出方法的应用场景的一个示意图。在图3的应用场景中,用户通过终端向服务器发送的订单,服务器接收到订单后查找是否有空闲的工作台,如果没有则将订单放入订单池。当工作台303的槽位3031和3032以及工作台304的槽位3041都被占用,而工作台304的槽位3042空闲时,在订单池中查看最早截单时间或者优先级最高的订单,如果没有则等待;如果只有一个则直接绑定该订单与工作台304。如果有多个订单,则给每个订单打分选择出打分最低的目标订单。确定出距离工作台304最近的且存储目标订单涉及的物品的货架301作为目标货架,然后再确定出距离货架301最近的运输车302作为运输目标货架的目标运输车。
本申请的上述实施例提供的方法通过将空闲的工作台和订单、货架、运输车相关联,提高了工作台的使用效率并降低了订单涉及的物品出库时的搬运成本。
进一步参考图4,其示出了订单处理方法的又一个实施例的流程400。该订单处理方法的流程400,包括以下步骤:
步骤401,响应于检测到存在空闲的工作台,获取待分配的至少一个订单、至少一个货架的货架信息、空闲的工作台的位置信息。
步骤402,对于至少一个订单中的每个订单,从至少一个货架中根据货架位置和空闲的工作台的位置信息选择针对该订单的搬运成本最低的目标货架。
步骤401-402与步骤201-202基本相同,因此不再赘述。
步骤403,从至少一个货架中确定货架状态为回库搬运状态、并且存储该订单涉及的物品的至少一个第一候选货架。
在本实施例中,通过获取到的货架信息,可从中确定出货架的状态和存储的物品信息。对于每个订单,第一候选货架为从至少一个货架的货架信息中选取出货架状态为回库搬运状态并且存储该订单涉及的物品的货架。
步骤404,将待出库量与该订单对应的目标货架存储的目标物品的数量之差确定为剩余待出库量。
在本实施例中,订单包括目标物品的待出库量。货架可以存储多种物品,与订单中的物品一致的物品即为目标物品。目标货架为步骤203确定的可以追加订单的货架。目标货架存储的目标物品的数量可能并不能满足订单要求,则需要计算通过计算待出库量与目标货架存储的目标物品的数量之差,来确定还差多少件物品才能满足订单。例如,订单要求10件物品A,而目标货架中只有5件,则10-5=5是剩余待出库量。
步骤405,若剩余待出库量大于0,则执行回库货架确定步骤。
在本实施例中,回库货架确定步骤,包括:对于至少一个第一候选货架每个第一候选货架,根据该第一候选货架与空闲的工作台之间的距离、待出库量与该第一候选货架存储的目标物品的数量之差确定该第一候选货架的搬运成本;从至少一个第一候选货架中确定出搬运成本最低的第一目标货架,并将该第一目标货架的货架号添加到第一货架号集合中;根据第一目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第一候选货架中过滤掉第一目标货架。
若剩余待出库量大于0,则说明目标货架上的目标物品不满足订单要求,还需要从别的货架上取货。服务器可通过运输车搬运的货架确定出货架的目的位置。例如运输车搬运货架回库过程中,货架的目的位置为预定存储区域,即储位。服务器可获得至少一个货架的当前位置和目的位置。根据该第一候选货架与空闲的工作台之间的距离、待出库量与该第一候选货架存储的目标物品的数量之差确定该第一候选货架的搬运成本,确定搬运成本最低的货架为第一目标货架。下面举例说明:
方案一、对于订单剩余待出库量,首先考虑回库搬运中的货架(存放有待出库物品的货架)
A、对于每一个回库搬运中的货架i,计算成本:
其中,i是货架的货架号;
Ci是将货架i搬运到空闲的工作台的成本;
s表示待出库的物品;
S表示待出库物品集合;
rs表示物品s的要求出库量;
qis表示货架i上存放的物品s的量;
Li表示货架i距离空闲的工作台的距离;
α1表示平衡参数。
B、选择成本Ci最低的货架,加入到集合中;
C、更新订单待出库量,过滤掉所选择的回库搬运中的货架,以后选择时不再考虑;
D、如果还有待出库量并且有可选回库搬运中的货架,则重复上述方案一的选择流程来选择回库搬运中的货架。
步骤406,若更新后的剩余待出库量大于0,并且还存在货架状态为回库搬运状态、并且存储该订单涉及的物品的第一候选货架,则继续执行上述回库货架确定步骤。
在本实施例中,步骤405中一次选择出一个第一目标货架,如果仍不能满足订单需求,则需要再从第一候选货架中选择第一目标货架。如果不存在第一候选货架,则从其它状态的货架中选择可用于满足订单的货架。
在本实施例的一些可选的实现方式中,该方法还包括:从至少一个货架中确定货架状态为在储位状态、并且存储该订单涉及的物品的至少一个第二候选货架;若更新后的剩余待出库量大于0,则执行如下在储位货架确定步骤:对于至少一个第二候选货架每个第二候选货架,根据该第二候选货架与空闲的工作台之间的距离、待出库量与该第二候选货架存储的目标物品的数量之差确定该第二候选货架的搬运成本;从至少一个第二候选货架中确定出搬运成本最低的第二目标货架,并将该第二目标货架的货架号添加到第二货架号集合中;根据第二目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第二候选货架中过滤掉第二目标货架;若更新后的剩余待出库量大于0,并且还存在货架状态为在储位状态、并且存储该订单涉及的物品的第二候选货架,则继续执行上述在储位货架确定步骤。下面举例说明:
方案二、如果订单还有剩余待出库量,考虑在储位的货架(存放有待出库物品的货架)
A、对于每一个在储位的货架j,计算成本:
其中,j是货架的货架号;
Cj是将货架j搬运到空闲的工作台的成本;
s表示待出库的物品;
S表示待出库物品集合;
rs表示物品s的要求出库量;
qjs表示货架j上存放的物品s的量;
Lj表示货架j距离工作台的距离;
α1表示平衡参数。
B、选择成本Cj最低的货架,加入到集合中;
C、更新订单待出库量,过滤掉所选择的在储位的货架,以后选择时不再考虑;
D、如果还有待出库量并且有可选在储位的货架,则重复上述方案二中的选择流程来选择在储位的货架;
在本实施例的一些可选的实现方式中,该方法还包括:从至少一个货架中确定货架状态为出库搬运状态、并且存储该订单涉及的物品的至少一个第三候选货架,其中,第三候选货架的目的位置为除空闲的工作台之外的工作台;若更新后的剩余待出库量大于0,则执行如下出库搬运货架确定步骤:对于至少一个第三候选货架每个第三候选货架,根据该第三候选货架与空闲的工作台之间的距离、待出库量与该第三候选货架存储的目标物品的数量之差确定该第三候选货架的搬运成本;从至少一个第三候选货架中确定出搬运成本最低的第三目标货架,并将该第三目标货架的货架号添加到第三货架号集合中;根据第三目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第三候选货架中过滤掉第三目标货架;若更新后的剩余待出库量大于0,并且还存在货架状态为在储位状态、并且存储该订单涉及的物品的第三候选货架,则继续执行上述出库搬运货架确定步骤。下面举例说明:
方案三、如果订单还有剩余待出库量,最后考虑当前目的地是其他工作台的出库搬运中的货架或者在其他工作台等待拣选的货架(存放有待出库物品的货架)
A、对于每一个这类货架k,计算成本:
其中,k是货架的货架号;
Ck是将货架k搬运到空闲的工作台的成本;
s表示待出库的物品;
S表示待出库物品集合;
rs表示物品s的要求出库量;
qks表示货架k上存放的物品s的量;
Nk表示货架k上挂载的出库任务数量,即货架k要去几个工作台;
α2表示平衡参数。
B、选择成本Ck最低的货架,加入到集合中;
C、更新订单待出库量,过滤掉此次所选择的货架,以后选择时不再考虑;
D、如果还有待出库量并且有可选货架,则重复上述方案三的选择流程来选择货架。
如果此时还有待出库量,则订单定位失败,标记库存不足。
在本实施例的一些可选的实现方式中,该方法还包括:根据针对该订单的不同状态的目标货架的数量、各目标货架与空闲的工作台的距离为该订单打分,包括:确定第一货架号集合中元素数量、第二货架号集合中元素数量、第三货架号集合中元素数量的加权和;确定各第一目标货架与空闲的工作台之间的距离之和作为第一距离;确定各第二目标货架与空闲的工作台之间的距离之和作为第二距离;根据加权和、第一距离、第二距离三者之和与该订单涉及的物品数量的比值为该订单打分。第一货架号集合中元素数量、第二货架号集合中元素数量、第三货架号集合中元素数量分别与第一权重、第二权重、第三权重相对应。三个权重可以相等,也可设置不同的值。为了优先选择回库搬运状态的货架,则可将第一权重设置的最小。权重与优先级成反比。
考虑每一个可选订单o,根据下式选择出成本最小的订单分配给该工作台,该订单选择的出库货架即为上面流程确定的货架。
其中,CO是将承载订单O涉及的物品的货架搬运到空闲的工作台的成本;
i,j是货架号;
是方案一中确定的成本Ci最低的货架的第一货架号集合,表示第一货架号集合中元素的数量;
是方案二中确定的成本Cj最低的货架的第二货架号集合,表示第二货架号集合中元素的数量;
是方案三中确定的成本Ck最低的货架的第三货架号集合,表示第三货架号集合中元素的数量;
No表示订单o中的待出库物品的总件数;
Li表示货架i距离空闲的工作台的距离;
Lj表示货架j距离工作台的距离;
β1、β2、β3是配置参数,即权重,用来平衡各项成本的重要性。
步骤407,对于至少一个订单中的每个订单,根据针对该订单的不同状态的目标货架的数量、各目标货架与空闲的工作台的距离为该订单打分。
步骤408,从至少一个订单中选择打分最低的订单作为目标订单。
步骤407-步骤408与步骤201-202基本相同,因此不再赘述。
从图4中可以看出,与图2对应的实施例相比,本实施例中的订单处理方法的流程400突出了对正在回库过程中的货架追加订单的步骤。由此,本实施例描述的方案可以提高运输车的运输效率,从而降低搬运成本。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种订单处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的订单处理装置500包括:获取单元501、货架确定单元502、打分单元503和订单确定单元504。其中,获取单元501配置用于响应于检测到存在空闲的工作台,获取待分配的至少一个订单、至少一个货架的货架信息、空闲的工作台的位置信息,其中,货架信息包括货架位置和货架状态,货架状态包括以下至少一种:回库搬运状态、在储位状态、出库搬运状态;货架确定单元502配置用于对于至少一个订单中的每个订单,从至少一个货架中根据货架位置和空闲的工作台的位置信息选择针对该订单的搬运成本最低的目标货架;打分单元503配置用于对于至少一个订单中的每个订单,根据针对该订单的不同状态的目标货架的数量、各目标货架与空闲的工作台的距离为该订单打分;订单确定单元504配置用于从至少一个订单中选择打分最低的订单作为目标订单。
在本实施例中,订单处理装置500的获取单元501、货架确定单元502、打分单元503和订单确定单元504的具体处理可以参考图2对应实施例中的步骤201、步骤202、步骤203、步骤204。
在本实施例的一些可选的实现方式中,装置500还包括运输车确定单元,配置用于:若目标订单对应的目标货架的货架状态为在储位状态,则获取至少一个空闲的运输车的位置信息,根据目标订单对应的目标货架的位置信息和各空闲的运输车的位置信息,从至少一个空闲的运输车中选择与目标订单对应的目标货架之间距离最近的运输车作为用于运输目标订单对应的目标货架的目标运输车。
在本实施例的一些可选的实现方式中,货架信息还包括用于指示货架要运往的工作台、待拣选的物品名称和数量的任务信息;以及装置500还包括更新单元(未示出),配置用于:若目标订单对应的目标货架的货架状态为回库搬运状态或出库搬运状态,则更新目标订单对应的目标货架的货架状态和任务信息。
在本实施例的一些可选的实现方式中,货架位置包括当前位置和目的位置,货架信息包括存储的物品信息;以及货架确定单元502进一步配置用于:根据各货架存储的物品信息从至少一个货架中确定出存储该订单涉及的物品的至少一个货架;将存储该订单涉及的物品的至少一个货架中当前位置为工作台或目的位置为工作台的货架确定为针对该订单的搬运成本最低的目标货架。
在本实施例的一些可选的实现方式中,订单包括目标物品的待出库量,物品信息包括物品数量;以及货架确定单元502进一步配置用于:从至少一个货架中确定货架状态为回库搬运状态、并且存储该订单涉及的物品的至少一个第一候选货架;将待出库量与该订单对应的目标货架存储的目标物品的数量之差确定为剩余待出库量;若剩余待出库量大于0,则执行如下回库货架确定步骤:对于至少一个第一候选货架每个第一候选货架,根据该第一候选货架与空闲的工作台之间的距离、待出库量与该第一候选货架存储的目标物品的数量之差确定该第一候选货架的搬运成本;从至少一个第一候选货架中确定出搬运成本最低的第一目标货架,并将该第一目标货架的货架号添加到第一货架号集合中;根据第一目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第一候选货架中过滤掉第一目标货架;若更新后的剩余待出库量大于0,并且还存在货架状态为回库搬运状态、并且存储该订单涉及的物品的第一候选货架,则继续执行上述回库货架确定步骤。
在本实施例的一些可选的实现方式中,货架确定单元502进一步配置用于:从至少一个货架中确定货架状态为在储位状态、并且存储该订单涉及的物品的至少一个第二候选货架;若更新后的剩余待出库量大于0,则执行如下在储位货架确定步骤:对于至少一个第二候选货架每个第二候选货架,根据该第二候选货架与空闲的工作台之间的距离、待出库量与该第二候选货架存储的目标物品的数量之差确定该第二候选货架的搬运成本;从至少一个第二候选货架中确定出搬运成本最低的第二目标货架,并将该第二目标货架的货架号添加到第二货架号集合中;根据第二目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第二候选货架中过滤掉第二目标货架;若更新后的剩余待出库量大于0,并且还存在货架状态为在储位状态、并且存储该订单涉及的物品的第二候选货架,则继续执行上述在储位货架确定步骤。
在本实施例的一些可选的实现方式中,货架确定单元502进一步配置用于:从至少一个货架中确定货架状态为出库搬运状态、并且存储该订单涉及的物品的至少一个第三候选货架,其中,第三候选货架的目的位置为除空闲的工作台之外的工作台;若更新后的剩余待出库量大于0,则执行如下出库搬运货架确定步骤:对于至少一个第三候选货架每个第三候选货架,根据该第三候选货架与空闲的工作台之间的距离、待出库量与该第三候选货架存储的目标物品的数量之差确定该第三候选货架的搬运成本;从至少一个第三候选货架中确定出搬运成本最低的第三目标货架,并将该第三目标货架的货架号添加到第三货架号集合中;根据第三目标货架存储的目标物品的数量更新剩余待出库量,从至少一个第三候选货架中过滤掉第三目标货架;若更新后的剩余待出库量大于0,并且还存在货架状态为在储位状态、并且存储该订单涉及的物品的第三候选货架,则继续执行上述出库搬运货架确定步骤。
在本实施例的一些可选的实现方式中,打分单元503进一步确定用于:确定第一货架号集合中元素数量、第二货架号集合中元素数量、第三货架号集合中元素数量的加权和;确定各第一目标货架与空闲的工作台之间的距离之和作为第一距离;确定各第二目标货架与空闲的工作台之间的距离之和作为第二距离;根据加权和、第一距离、第二距离三者之和与该订单涉及的物品数量的比值为该订单打分。
在本实施例的一些可选的实现方式中,运输车确定单元进一步配置用于:根据线性规划装置从至少一个空闲的运输车中确定距离订单对应的目标货架最近的运输车作为用于运输目标订单对应的目标货架的目标运输车。
在本实施例的一些可选的实现方式中,装置500还包括分配单元(未示出),配置用于:将目标订单分配给目标订单对应的目标货架;对于至少一个订单中除目标订单之外的每个订单,若该订单对应的目标货架与目标订单对应的目标货架不同,则将该订单分配给该订单对应的目标货架。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、货架确定单元、打分单元和订单确定单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“响应于检测到存在空闲的工作台,获取待分配的至少一个订单、至少一个货架的货架信息、所述空闲的工作台的位置信息的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:响应于检测到存在空闲的工作台,获取待分配的至少一个订单、至少一个货架的货架信息、空闲的工作台的位置信息,其中,货架信息包括货架位置和货架状态,货架状态包括以下至少一种:回库搬运状态、在储位状态、出库搬运状态;对于至少一个订单中的每个订单,从至少一个货架中根据货架位置和空闲的工作台的位置信息选择针对该订单的搬运成本最低的目标货架;对于至少一个订单中的每个订单,根据针对该订单的不同状态的目标货架的数量、各目标货架与空闲的工作台的距离为该订单打分;从至少一个订单中选择打分最低的订单作为目标订单。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。