CN116645019A - 一种物品装拣方法及装置 - Google Patents

一种物品装拣方法及装置 Download PDF

Info

Publication number
CN116645019A
CN116645019A CN202310445729.9A CN202310445729A CN116645019A CN 116645019 A CN116645019 A CN 116645019A CN 202310445729 A CN202310445729 A CN 202310445729A CN 116645019 A CN116645019 A CN 116645019A
Authority
CN
China
Prior art keywords
articles
sorted
picked
sorting
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310445729.9A
Other languages
English (en)
Inventor
屈鹏展
田鑫源
祁宏升
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202310445729.9A priority Critical patent/CN116645019A/zh
Publication of CN116645019A publication Critical patent/CN116645019A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/22Devices influencing the relative position or the attitude of articles during transit by conveyors
    • B65G47/26Devices influencing the relative position or the attitude of articles during transit by conveyors arranging the articles, e.g. varying spacing between individual articles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G65/00Loading or unloading
    • B65G65/30Methods or devices for filling or emptying bunkers, hoppers, tanks, or like containers, of interest apart from their use in particular chemical or physical processes or their application in particular machines, e.g. not covered by a single other subclass
    • B65G65/32Filling devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mechanical Engineering (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Business, Economics & Management (AREA)
  • Warehouses Or Storage Devices (AREA)
  • Game Theory and Decision Science (AREA)

Abstract

本申请实施例公开一种物品装拣方法及装置。其中,物品装拣方法包括:确定打排在同一装载工具上的多个待装拣物品;构建与多个待装拣物品相关的图神经网络;图神经网络包括:按照所述多个待装拣物品的打排顺序以多个待装拣物品为第一类节点构建的第一子网络;及在所述第一子网络的基础上形成的多个第二子网络;每一个第二子网络包括第一子网络中的某一第一类节点和与某一第一类节点连接的至少一个第二类节点;基于图神经网络对多个第一类节点和多个第二类节点进行聚类,获得聚类结果;根据聚类结果和第一优化目标进行强化学习,获得对多个待装拣物品的拣取策略。

Description

一种物品装拣方法及装置
技术领域
本申请涉及物流运输技术领域,尤其涉及一种物品装拣方法及装置。
背景技术
随着物流行业的迅速发展,对物流运输效率的要求越来越高,而物品装车是物流运输中必不可少的环节。在物品装车过程中,需要通过叉车将待运输的物品运输到打排区进行打排,以便后续装车。由于叉车的运载能够有限且物品又比较多、比较分散,如何节省运载时间及合理使用有限的缓存区是目前亟需解决的问题。
发明内容
本申请实施例提供一种物品装拣方法及装置。
第一方面,本申请实施例提供一种物品装拣方法,包括:
确定打排在同一装载工具上的多个待装拣物品;
构建与所述多个待装拣物品相关的图神经网络;其中,所述图神经网络包括:按照所述多个待装拣物品的打排顺序以所述多个待装拣物品为第一类节点构建的第一子网络;及在所述第一子网络的基础上形成的多个第二子网络;每一个第二子网络包括所述第一子网络中的某一第一类节点和与所述某一第一类节点连接的至少一个第二类节点;每一个第二类节点对应的待装拣物品与所述某一第一类节点对应的待装拣物品之间的距离小于目标阈值;
基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得聚类结果;所述聚类结果中的每一类表示每次需要通过运载工具由存储区运输至装载区的待装拣物品;
根据所述聚类结果和第一优化目标进行强化学习,获得对所述多个待装拣物品的拣取策略;所述第一优化目标为最小化所述运载工具的运输总里程,或,所述第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积。
在上述方案中,其中,所述装载区包括打排区,或者,所述装载区包括打排区和缓存区;
其中,所述聚类结果中的每一类包含的第一类节点对应的待装拣物品通过所述运载工具由所述存储区运输至所述打排区;所述聚类结果中的每一类包含的第二类节点对应的待装拣物品通过所述运载工具由所述存储区运输至所述打排区或者所述缓存区;
其中,所述根据所述聚类结果和第一优化目标进行强化学习,获得对所述多个待装拣物品的拣取策略,包括:
构建强化学习网络并确定所述第一优化目标;
将所述聚类结果输入所述强化学习网络进行强化学习,获得达到所述第一优化目标时的所述拣取策略。
在上述方案中,其中,所述构建与所述多个待装拣物品相关的图神经网络,包括:
确定所述多个待装拣物品的所述打排顺序;
以所述多个待装拣物品中的每一个待装载物品为第一类节点,根据所述打排顺序将多个所述第一类节点依次连接,构建所述第一子网络;
以所述第一子网络的每一个第一类节点作为基础节点构建多个所述第二子网络;其中,每一个所述第二子网络包括一个基础节点和与所述基础节点连接的至少一个第二类节点;每一个所述第二类节点对应的待装拣物品与所述基础节点对应的待装拣物品之间的距离小于所述目标阈值;
其中,所述第一子网络和所述多个第二子网络形成所述图神经网络。
在上述方案中,其中,所述基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得聚类结果,包括:
确定所述图神经网络中每一节点的节点信息;
基于所述每一节点的节点信息,确定所述图神经网络中各节点之间的相关程度;
按照所述打排顺序和所述相关程度获得所述聚类结果;
其中,所述节点信息至少包括节点对应的待装拣物品的体积、重量及在所述存储区的位置中的一种。
在上述方案中,其中,所述确定所述多个待装拣物品的所述打排顺序,包括:
获取所述多个待装拣物品中每一个所述待装拣物品包含的长度、宽度、高度及重量;
根据所述每一个所述待装拣物品包含的长度、宽度、高度及重量和第二优化目标进行强化学习,获得所述待装拣物品的所述打排顺序;其中,所述第二优化目标为最小化所述多个待装拣物品的打排体积;所述打排体积表征所述多个待装拣物品按照所述打排顺序打排至所述装载工具上的总体积。
在上述方案中,其中,所述将所述聚类结果输入所述强化学习网络进行强化学习,获得达到所述第一优化目标时的所述拣取策略,包括:
若所述第一优化目标为最小化所述运载工具的运输总里程,逐步迭代进行强化学习,若确定在某一次迭代获得的拣取策略下在某一次运输到所述缓存区的待装拣物品所占体积超过所述缓存区的容量,重新基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得新的聚类结果;重新将所述聚类结果输入所述强化学习网络进行强化学习,获得对所述多个待装拣物品的新的拣取策略;
若在所述新的拣取策略下在某一次运输到所述缓存区的待装拣物品所占体积仍超过所述缓存区的容量,需要再重新获取所述拣取策略,直到在获得的所述拣取策略下每一次运输到所述缓存区的待装拣物品所占总体积均未超过所述缓存区的容量为止,获得达到所述第一优化目标时的所述拣取策略;
或者,所述将所述聚类结果输入所述强化学习网络进行强化学习,获得达到所述第一优化目标时的所述拣取策略,包括:
若所述第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积,获得第一次迭代的拣取策略,将所述第一次迭代的拣取策略每一次运输到所述打排区的待装拣物品打排至所述装载工具,且所述第一次迭代的拣取策略中每一次运输到所述缓存区的待装拣物品摆满所述缓存区后剩余的待装拣物品打排至所述装载工具上,直到将所述多个待装拣物品中的每一个待装拣物品打排至所述装载工具;
逐步迭代进行强化学习,直到在某次迭代获得的拣取策略下运输且打排所述多个待装拣物品能够使所述多个待装拣物品的打排体积及所述运载工具的运输总里程达到所述第一优化目标为止。
在上述方案中,其中,所述确定打排在同一装载工具上的多个待装拣物品,包括:对所述存储区的多个物品进行近邻聚类,获得多类待运输物品,其中,每一类待运输物品为打排在同一所述装载工具上的多个待装拣物品;
所述对所述存储区的多个物品进行近邻聚类,获得多类待运输物品,包括:
确定所述多个物品中每一个物品对应的长度、宽度、高度及重量;
将所述每一个物品对应的长度、宽度、高度及重量输入到神经网络,获得与所述神经网络相关的自注意力矩阵;其中,所述自注意力矩阵中包含的元素均为非负的常数;
根据所述自注意力矩阵的倒数对所述多个物品进行近邻聚类,获得多类待运输物品。
在上述方案中,其中,获得所述多个待装拣物品的打排顺序,包括:
从所述自注意力矩阵中获得所述多个待装拣物品对应的子矩阵;
基于所述子矩阵获得所述多个待装拣物品中第一个打排至所述装载工具上的待装拣物品;
从所述子矩阵中删除所述第一个打排至所述装载工具上的待装拣物品对应的元素,获得第一中间矩阵;
基于所述第一中间矩阵获得所述多个待装拣物品中第二个打排至所述装载工具上的待装拣物品;
逐步从所述子矩阵中剔除所述多个待装拣物品中已经打排至所述装载工具上的待装拣物品对应的元素,直到所述多个待装拣物品全部打排在所述装载工具,获得所述打排顺序。
在上述方案中,其中,所述方法还包括:
确定在所述拣取策略下所述多个待装拣物品的打排体积;
判断在所述打排体积下所述多个待装拣物品的摆放高度是否超过目标高度;
若判定所述打排体积超过所述目标高度,重新确定打排在所述装载工具上的多个待装拣物品,以重新获得所述多个待装拣物品的拣取策略;
其中,若所述装载工具具有限高结构,所述目标高度与所述限高结构的高度相关;若所述装载工具不具有限高结构,所述目标高度与所述装载工具的底面大小相关。
第二方面,本申请实施例还提供一种物品装拣装置,包括:确定单元、构建单元、聚类单元和强化学习单元,其中;
所述确定单元,用于确定打排在同一装载工具上的多个待装拣物品;
所述构建单元,用于构建与所述多个待装拣物品相关的图神经网络;其中,所述图神经网络包括:按照所述多个待装拣物品的打排顺序以所述多个待装拣物品为第一类节点构建的第一子网络;及在所述第一子网络的基础上形成的多个第二子网络;每一个第二子网络包括所述第一子网络中的某一第一类节点和与所述某一第一类节点连接的至少一个第二类节点;每一个第二类节点对应的待装拣物品与所述某一第一类节点对应的待装拣物品之间的距离小于目标阈值;
所述聚类单元,用于基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得聚类结果;所述聚类结果中的每一类表示每次需要通过运载工具由存储区运输至装载区的待装拣物品;
所述强化学习单元,用于根据所述聚类结果和第一优化目标进行强化学习,获得对所述多个待装拣物品的拣取策略;所述第一优化目标为最小化所述运载工具的运输总里程,或,所述第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积。
在上述方案中,其中,所述装载区包括打排区,或者,所述装载区包括打排区和缓存区;其中,所述聚类结果中的每一类包含的第一类节点对应的待装拣物品通过所述运载工具由所述存储区运输至所述打排区;所述聚类结果中的每一类包含的第二类节点对应的待装拣物品通过所述运载工具由所述存储区运输至所述打排区或者所述缓存区;其中,所述强化学习单元,具体用于:构建强化学习网络并确定所述第一优化目标;将所述聚类结果输入所述强化学习网络进行强化学习,获得达到所述第一优化目标时的所述拣取策略。
在上述方案中,所述构建单元,具体用于:确定所述多个待装拣物品的所述打排顺序;以所述多个待装拣物品中的每一个待装载物品为第一类节点,根据所述打排顺序将多个所述第一类节点依次连接,构建所述第一子网络;以所述第一子网络的每一个第一类节点作为基础节点构建多个所述第二子网络;其中,每一个所述第二子网络包括一个基础节点和与所述基础节点连接的至少一个第二类节点;每一个所述第二类节点对应的待装拣物品与所述基础节点对应的待装拣物品之间的距离小于所述目标阈值;其中,所述第一子网络和所述多个第二子网络形成所述图神经网络。
在上述方案中,其中,所述聚类单元,具体用于:确定所述图神经网络中每一节点的节点信息;基于所述每一节点的节点信息,确定所述图神经网络中各节点之间的相关程度;按照所述打排顺序和所述相关程度获得所述聚类结果;其中,所述节点信息至少包括节点对应的待装拣物品的体积、重量及在所述存储区的位置中的一种。
在上述方案中,所述构建单元,还用于:获取所述多个待装拣物品中每一个所述待装拣物品包含的长度、宽度、高度及重量;根据所述每一个所述待装拣物品包含的长度、宽度、高度及重量和第二优化目标进行强化学习,获得所述待装拣物品的所述打排顺序;其中,所述第二优化目标为最小化所述多个待装拣物品的打排体积;所述打排体积表征所述多个待装拣物品按照所述打排顺序打排至所述装载工具上的总体积。
在上述方案中,所述强化学习单元,具体用于:若所述第一优化目标为最小化所述运载工具的运输总里程,逐步迭代进行强化学习,若确定在某一次迭代获得的拣取策略下在某一次运输到所述缓存区的待装拣物品所占体积超过所述缓存区的容量,重新基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得新的聚类结果;重新将所述聚类结果输入所述强化学习网络进行强化学习,获得对所述多个待装拣物品的新的拣取策略;若在所述新的拣取策略下在某一次运输到所述缓存区的待装拣物品所占体积仍超过所述缓存区的容量,需要再重新获取所述拣取策略,直到在获得的所述拣取策略下每一次运输到所述缓存区的待装拣物品所占总体积均未超过所述缓存区的容量为止,获得达到所述第一优化目标时的所述拣取策略;
或者,所述强化学习单元,具体用于:若所述第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积,获得第一次迭代的拣取策略,将所述第一次迭代的拣取策略每一次运输到所述打排区的待装拣物品打排至所述装载工具,且所述第一次迭代的拣取策略中每一次运输到所述缓存区的待装拣物品摆满所述缓存区后剩余的待装拣物品打排至所述装载工具上,直到将所述多个待装拣物品中的每一个待装拣物品打排至所述装载工具;逐步迭代进行强化学习,直到在某次迭代获得的拣取策略下运输且打排所述多个待装拣物品能够使所述多个待装拣物品的打排体积及所述运载工具的运输总里程达到所述第一优化目标为止。
在上述方案中,其中,所述确定单元,具体用于:对所述存储区的多个物品进行近邻聚类,获得多类待运输物品,其中,每一类待运输物品为打排在同一所述装载工具上的多个待装拣物品;其中,所述对所述存储区的多个物品进行近邻聚类,获得多类待运输物品,包括:确定所述多个物品中每一个物品对应的长度、宽度、高度及重量;将所述每一个物品对应的长度、宽度、高度及重量输入到神经网络,获得与所述神经网络相关的自注意力矩阵;其中,所述自注意力矩阵中包含的元素均为非负的常数;根据所述自注意力矩阵的倒数对所述多个物品进行近邻聚类,获得多类待运输物品。
在上述方案中,其中,所述确定单元,还用于:从所述自注意力矩阵中获得所述多个待装拣物品对应的子矩阵;基于所述子矩阵获得所述多个待装拣物品中第一个打排至所述装载工具上的待装拣物品;从所述子矩阵中删除所述第一个打排至所述装载工具上的待装拣物品对应的元素,获得第一中间矩阵;基于所述第一中间矩阵获得所述多个待装拣物品中第二个打排至所述装载工具上的待装拣物品;逐步从所述子矩阵中剔除所述多个待装拣物品中已经打排至所述装载工具上的待装拣物品对应的元素,直到所述多个待装拣物品全部打排在所述装载工具,获得所述打排顺序。
在上述方案中,其中,所述物品装拣装置还包括:第二判断单元;其中,
所述确定单元,还用于:确定在所述拣取策略下所述多个待装拣物品的打排体积;
所述第二判断单元,还用于:判断在所述打排体积下所述多个待装拣物品的摆放高度是否超过目标高度;若判定所述打排体积超过所述目标高度,重新确定打排在所述装载工具上的多个待装拣物品,以重新获得所述多个待装拣物品的拣取策略;其中,若所述装载工具具有限高结构,所述目标高度与所述限高结构的高度相关;若所述装载工具不具有限高结构,所述目标高度与所述装载工具的底面大小相关。
本申请实施例提供一种物品装拣方法及装置。其中,所述物品装拣方法包括:确定打排在同一装载工具上的多个待装拣物品;构建与所述多个待装拣物品相关的图神经网络;其中,所述图神经网络包括:按照所述多个待装拣物品的打排顺序以所述多个待装拣物品为第一类节点构建的第一子网络;及在所述第一子网络的基础上形成的多个第二子网络;每一个第二子网络包括所述第一子网络中的某一第一类节点和与所述某一第一类节点连接的至少一个第二类节点;每一个第二类节点对应的待装拣物品与所述某一第一类节点对应的待装拣物品之间的距离小于目标阈值;基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得聚类结果;所述聚类结果中的每一类表示每次需要通过运载工具由存储区运输至装载区的待装拣物品;根据所述聚类结果和第一优化目标进行强化学习,获得对所述多个待装拣物品的拣取策略;所述第一优化目标为最小化所述运载工具的运输总里程,或,所述第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积。本申请实施例提供的物品装拣方法,通过对装载在同一装载工具上的多个待装拣物品构建图神经网络,且根据图神经网络对该多个待装拣物品进行聚类,以每一类作为每一次通过运载工具从存储区运输至装载区的待装拣物品,最后,以聚类结果和确定的第一优化目标进行强化学习,获得达到该第一优化目标的物品的拣取策略,以此方式获得最优的拣取策略,以合理使用有限的缓存区的同时最小化打排至同一装载工具上的待装拣物品的打排总体积及运载工具运送待装拣物品至打排区的运输总里程。
附图说明
在不一定按比例绘制的附图中,相同的标号可以描述不同视图中的类似组件。具有不同字母后缀的相同数字可表示类似组件的不同实例。附图以实例而非限制的方式一般性地说明了本文档中讨论的各种实施例。
图1是本申请实施例提供的物品装拣的一种场景的示意图;
图2是本申请实施例提供的一种物品装拣方法的一个可选的流程示意图;
图3是本申请实施例提供的图2中步骤S104的细化流程示意图;
图4是本申请实施例提供的强化学习网络的一种结构示意图;
图5是本申请实施例提供的图3中步骤S1042的一种细化流程示意图;
图6是本申请实施例提供的图3中步骤S1042的另一种细化流程示意图;
图7是本申请实施例提供的图神经网络和强化学习迭代的一个示意图;
图8是本申请实施例提供的图2中步骤S102的细化流程示意图;
图9是本申请实施例提供的对于步骤S1021的细化流程示意图;
图10是本申请实施例提供的多个待装拣物品打排至托盘上的一个示例的示意图;
图11是本申请实施例提供的构建的图神经网络的一个结构示意图;
图12是本申请实施例提供的对于步骤S103的细化流程示意图;
图13是本申请实施例提供的图10所示的图神经网络的聚类结果的一种展示图;
图14是本申请实施例提供的对于步骤S101的细化流程示意图;
图15是本申请实施例提供的获得所述多个待装拣物品的打排顺序的一个可选的流程示意图;
图16是本申请实施例提供的对图14至图15的处理过程的展示图;
图17是本申请实施例提供的一种物品装拣方法的再一个可选的流程示意图;
图18是本申请实施例提供的物品装拣方法的一种应用场景下的流程示意图;
图19是本申请实施例提供的物品装拣方法的另一种应用场景下的流程示意图;
图20是本申请实施例提供的一种物品装拣装置的结构示意图;
图21是本申请实施例提供一种电子设备的硬件结构示意图。
具体实施方式
为了更清楚地阐述本申请实施例的目的、技术方案及优点,以下将结合附图对本申请实施例的实施例进行详细的说明。应当理解,下文对于实施例的描述旨在对本申请实施例的总体构思进行解释和说明,而不应当理解为是对本申请实施例的限制。在说明书和附图中,相同或相似的附图标记指代相同或相似的部件或构件。为了清晰起见,附图不一定按比例绘制,并且附图中可能省略了一些公知部件和结构。
下面结合附图详细的说明本申请的技术方案。
参见图1,图1是本申请实施例提供的物品装拣的一种场景示意图。图1所示的场景100可以发生在一个物流公司的仓库。该仓库比较大,其可以包括多个物品存储区域,每一个物品存储区域有很多的货架,每一个货架上可以存放很多的物品。在该仓库中还设置打排区和缓存区。其中,打排区可放置一个用于放置被打排的物品的托盘,以便将物品打排在该托盘中;缓存区用于放置非本次打排的物品。
其中,对于物品的运输,其流程可以包括:在物品被运输之前,对于同一运单内的物品,首先需要从仓库的货架上拣取该运单内的物品,通过叉车将物品运送至打排区,之后,在打排区将物品打排到托盘上,然后,将托盘放置在货车上,用货车进行运输。在一种场景中,一个运单内的物品比较多,需要多个托盘装载。而由于场地(打排区及缓存区)及人工的限制,物品装载的流程是串行的,也即:装载完成一个托盘后,再装载下一个托盘。又由于仓库比较大,且同一运单内的物品可能分散在不同的存储区域的多个货架上,互相距离比较远。而打排区通常仅能放置一个托盘,叉车的运载能力是有限的,一次也许不能将放置在同一托盘的物品运送至打排区;并且打排区附近的缓存区的容量也是有限的。对于这种情况下,如何使得暂存于缓存区的物品不超过缓存区的容量,且打排至同一托盘上的物品的体积最优及叉车运送该同一托盘上的物品的运输总里程也是最优的是亟需解决的技术问题。
为了解决上述技术问题,如图2所示,本申请实施例提供一种物品装拣方法。具体地,如图2所示,所述物品装拣方法可以包括:
S101:确定打排在同一装载工具上的多个待装拣物品;
S102:构建与所述多个待装拣物品相关的图神经网络;其中,所述图神经网络包括:按照所述多个待装拣物品的打排顺序以所述多个待装拣物品为第一类节点构建的第一子网络;及在所述第一子网络的基础上形成的多个第二子网络;每一个第二子网络包括所述第一子网络中的某一第一类节点和与所述某一第一类节点连接的至少一个第二类节点;每一个第二类节点对应的待装拣物品与所述某一第一类节点对应的待装拣物品之间的距离小于目标阈值;
S103:基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得聚类结果;所述聚类结果中的每一类表示每次需要通过运载工具由存储区运输至装载区的待装拣物品;
S104:根据所述聚类结果和第一优化目标进行强化学习,获得对所述多个待装拣物品的拣取策略;所述第一优化目标为最小化所述运载工具的运输总里程,或,所述第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积。
需要说明的是,这里所说的装载工具可以为:具有限高结构的装载工具和不具限高结构的装载工具,其中,所说的具有限高结构的装载工具可以但不限于为:带盖子的货箱;所说的不具有限高结构的装载工具可以但不限于为:托盘。所说的运载工具可以但不限于为叉车。如图1中描述的技术方案仅是对打排至同一装载工具上的物品的处理。应该理解的是,对于同一运单内,打排至不同装载工具上的物品的处理流程可以是一样的,因此,在没有特别说明的情况下,以下描述均是针对打排至同一装载工具上的物品。
本申请实施例提供的物品装载方法的实现流程具体可以包括:首先确定打排在同一装载工具上的多个待装拣物品;然后,根据这些待装拣物品构建图神经网络,其中,该图神经网络可以包括:按照该多个待装拣物品的打排顺序以该多个待装拣物品中的每一个待装拣物品为第一类节点构建第一子网络;以及在所述第一子网络的基础上形成多个第二子网络,这里,每一个第二子网络中的节点包括所述第一子网络中的某一个第一类节点和与所述某一个第一类节点连接的至少一个第二类节点,其中,每一个第二类节点对应的待装拣物品与所述某一第一类节点对应的待装拣物品之间的距离小于目标阈值;然后,再根据所述图神经网络对多个所述第一类节点和多个第二类节点进行聚类,获得聚类结果,其中,所述聚类结果中的每一类表示每次需要通过运载工具由存储区运输至装载区的待装拣物品;之后,再根据所述聚类结果和第一优化目标进行强化学习,获得对所述多个待装拣物品的拣取策略,其中,所述第一优化目标与所述多个待装拣物品的打排体积及所述运载工具的运输总里程相关。
其中,在一些实施例中,所述装载区包括打排区,或者,所述装载区包括打排区和缓存区;
其中,所述聚类结果中的每一类包含的第一类节点对应的待装拣物品通过所述运载工具由所述存储区运输至所述打排区;所述聚类结果中的每一类包含的第二类节点对应的待装拣物品通过所述运载工具由所述存储区运输至所述打排区或者所述缓存区。
这里,若所述聚类结果中某一类中仅包含第一子网络中打排顺序相邻的第一类节点或者某一类中包含第一子网络中的第一类节点及与第二子网络中与所述第一类节点对应的待装拣物品的打排顺序相邻的第二类节点时,所述装载区仅包括打排区,也即该次运输的待装拣物品均需打排至装载工具上的,没有要放置缓存区的待装拣物品。
举例来说,假设打排到同一装载工具(如托盘)上的多个待装拣物品为100个,这些物品的打排顺序为:1、2、3、……、100。
这里,若所述聚类结果中某一类仅包含了第一子网络中打排顺序相邻的第一类节点:节点1、节点2、节点3、节点4,则这些第一类节点对应的物品均需运载到打排区;也即,所述装载区仅包含打排区。再者若所述聚类结果中某一类包含了第一子网络中的第一类节点(比如,节点1、节点4)和与所述第一类节点对应的待装拣物品的打排顺序相邻的第二类节点(节点1的第二类节点:节点2、节点3),则这些第一类节点和第二类节点对应的物品均需运载至打排区,也即,所述装载区仅包含打排区。
这里,若所述聚类结果中的某一类包含第一子网络中的第一类节点和第二子网络中的第二类节点(对应的物品的打排顺序与第一类节点对应的物品的打排顺序不相邻)时,所述装载区包括打排区和缓存区,也即:该次运输的待装拣物品中的第一类节点对应的待装拣物品需打排至装载工具,第二类节点对应的待装拣物品需暂时放置在缓存区。
举例来说,以前述的100个物品且打排顺序为:1、2、3、……、100。若所述聚类结果中的某一类包含第一子网络中的第一类节点(比如节点1)和第二子网络中的第二类节点(节点1的第二类节点:节点5、节点10),此时,第一类节点对应的待装拣物品需运载到打排区,第二类节点对应的待装拣物品需运载到缓存区,也即所述装载区包括打排区和缓存区。
基于上述描述,对于步骤S104,如图3所示,可以包括:
S1041:构建强化学习网络并确定所述第一优化目标;
S1042:将所述聚类结果输入所述强化学习网络进行强化学习,获得达到所述第一优化目标时的所述拣取策略。
这里,基于前述图1中描述的场景及技术问题,构建强化学习网络并确定所述第一优化目标,其中,所述第一优化目标可以是最小化所述运载工具的运输总里程或,所述第一优化目标也可以为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积。
具体地,第一优化目标可以采用如下公式(1)或(2)表示:
L1 = Lost2 (1)
或者,
L1 = Lost1+ w * Lost2 (2)
其中,L1为第一优化目标;Lost1为所述多个待装拣物品的打排体积;Lost2为所述运载工具的运输总里程;w为一个超参。
对于所述强化学习网络40的结构可以如图4所示,包括:动作子网络401和决策子网络402,其中,动作子网络401可以是指学习一个策略来得到尽量高的回报,用于获得动作和环境交互;决策子网络402可以是指对当前策略进行估计,及评估动作子网络401的好坏,且被用于指导动作子网络下一阶段的动作。对于动作子网络401和决策子网络402可以使用不同的神经网络来实现。
定义强化学习网络中的基础元素,包括智能体、状态和奖励值,具体如下:
智能体:一辆车就是一个智能体,从起始状态开始,智能体将依照策略选择下一步的动作,在每一步动作完成后,智能体将根据得到的数据反馈进而更新策略;
状态:状态分为静态状态和动态状态;静态状态为随着时间不改变的属性,包括每个节点的坐标;动态状态为随着训练过程会发生改变的属性,包括:多个待装拣物品的聚类结果,每个节点的需求量;
奖励值:强化学习网络的训练目标是最大化奖励值,而第一优化目标是最小化所述多个待装拣物品的打排体积和所述运载工具的运输总里程L,将-L作为奖励值。
在构建好强化学习网络及确定好第一优化目标后,将获得的聚类结果作为输入,输入到该强化学习网络,逐步进行迭代,以进行强化训练,获得达到所述第一优化目标的对所述多个待装拣物品的拣取策略。对于不同的第一优化目标,具体的强化训练步骤不同,具体的,如图5和如图6所示。
在一种实施例中,参见图5,对于S1042,可以包括:
S1042A:若所述第一优化目标为最小化所述运载工具的运输总里程,逐步迭代进行强化学习,若确定在某一次迭代获得的拣取策略下在某一次运输到所述缓存区的待装拣物品所占体积超过所述缓存区的容量,重新基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得新的聚类结果;重新将所述聚类结果输入所述强化学习网络进行强化学习,获得对所述多个待装拣物品的新的拣取策略;
S1042B:若在所述新的拣取策略下在某一次运输到所述缓存区的待装拣物品所占体积仍超过所述缓存区的容量,需要再重新获取所述拣取策略,直到在获得的所述拣取策略下每一次运输到所述缓存区的待装拣物品所占总体积均未超过所述缓存区的容量为止,获得达到所述第一优化目标时的所述拣取策略。
需要说明的是,上述步骤S1042A和S1042B可以是本申请实施例在第一优化目标为最小化所述运载工具的运输总里程时的基于图神经网络的聚类结果的强化学习过程。在该强化学习过程中,所述多个待装拣物品的打排至所述装载工具上的打排顺序为最优打排顺序,且在整个强化学习过程中,所述多个待装拣物品的最优打排顺序是不变的,也即,所述多个待装拣物品的打排总体积是不变的。在这种情况下,图5所示的强化学习过程中在所述多个待装拣物品的打排总体积固定且使得每一次运输到所述缓存区的待装拣物品所占总体积均未超过所述缓存区的容量的情况下,进行多次迭代强化学习,获得能够达到所述运载工具的运输总里程最小化的拣取策略。
具体强化学习的过程如下:在某一次迭代过程中获得拣取策略后,该拣取策略下,若确定在某一次运输到所述缓存区的待装拣物品所占体积超过所述缓存区的容量时,重新基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得新的聚类结果;重新将所述聚类结果输入所述强化学习网络进行强化学习,获得对所述多个待装拣物品的新的拣取策略;若在新的拣取策略下在某一次运输到所述缓存区的待装拣物品所占体积仍超过所述缓存区的容量,需要再重新获取所述拣取策略,直到在获得的所述拣取策略下每一次运输到所述缓存区的待装拣物品所占总体积均未超过所述缓存区的容量为止,此时,获得的拣取策略是所需的最优拣取策略。通俗来讲就是,通过多次迭代的强化学习,获得一种拣取策略,使得每一次运输的需暂存在缓存区的待装拣物品的体积不超过缓存区的容量,并且运载工具的运输总里程最优。
在另一些实施例中,参见图6,对于S1042,可以包括:
S1042C:若所述第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积,获得第一次迭代的拣取策略,将所述第一次迭代的拣取策略每一次运输到所述打排区的待装拣物品打排至所述装载工具,且所述第一次迭代的拣取策略中每一次运输到所述缓存区的待装拣物品摆满所述缓存区后剩余的待装拣物品打排至所述装载工具上,直到将所述多个待装拣物品中的每一个待装拣物品打排至所述装载工具;
S1042D:逐步迭代进行强化学习,直到在某次迭代获得的拣取策略下运输且打排所述多个待装拣物品能够使所述多个待装拣物品的打排体积及所述运载工具的运输总里程达到所述第一优化目标为止。
需要说明的是,上述步骤S1042C和S1042D可以是本申请实施例提供的在第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积时的基于图神经网络的聚类结果的强化学习过程。该强化学习过程主要描述的过程可以包括:获得第一次迭代的拣取策略,将所述第一次迭代的拣取策略每一次运输到所述打排区的待装拣物品打排至所述装载工具,且所述第一次迭代的拣取策略中每一次运输到所述缓存区的待装拣物品摆满所述缓存区后剩余的待装拣物品打排至所述装载工具上,直到将所述多个待装拣物品中的每一个待装拣物品打排至所述装载工具,之后逐步迭代进行强化学习,至少某一次迭代获得的拣取策略,在该拣取策略下,将每一次运输到所述打排区的待装拣物品打排至所述装载工具,且将每一次运输到所述缓存区的待装拣物品摆满所述缓存区后剩余的待装拣物品打排至所述装载工具,将所有待装拣物品打排至所述装载工具后,所述多个待装拣物品能够使所述多个待装拣物品的打排体积及所述运载工具的运输总里程达到第一优化目标为止,也即,在满足每次运输至缓存区的待装拣物品的体积不超过缓存区的容量的同时,所述多个待装拣物品能够使所述多个待装拣物品的打排体积及所述运载工具的运输总里程最小。
不论上述强化学习的第一优化目标采用何种,前述已经描述,缓存区的容量是有限的。若根据前述方式获得的拣取策略使得至少有一次缓存区的物品所占体积超过了缓存区的容量的话,这个拣取策略并不可取。也就是说,本申请实施例想要达到的目标是:在尽量合理利用缓存区的容量的前提下,最小化所述运载工具的运输总里程;或最小化所述多个待装拣物品的打排体积和所述运载工具的运输总里程(运载工具的运输范围在存储区到装载区之间往返)。
换句话说,需要达到本申请实施例的目标,要逐渐迭代前述的图神经网络和强化学习,具体地,可以如图7所示的示意图。在获得多个待装拣物品的打排顺序后,逐步迭代图神经网络的聚类和强化学习获得拣取策略,以获得最优的拣取策略,达到在尽量合理利用缓存区的容量的前提下,最小化所述运载工具的运输总里程;或最小化所述多个待装拣物品的打排体积和所述运载工具的运输总里程的目标。
在一些实施例中,对于步骤S102,如图8所示,可以包括:
S1021:确定所述多个待装拣物品的所述打排顺序;
S1022:以所述多个待装拣物品中的每一个待装载物品为第一类节点,根据所述打排顺序将多个所述第一类节点依次连接,构建所述第一子网络;
S1023:以所述第一子网络的每一个第一类节点作为基础节点构建多个所述第二子网络;其中,每一个所述第二子网络包括一个基础节点和与所述基础节点连接的至少一个第二类节点;每一个所述第二类节点对应的待装拣物品与所述基础节点对应的待装拣物品之间的距离小于所述目标阈值;
其中,所述第一子网络和所述多个第二子网络形成所述图神经网络。
这里,所说的打排顺序可以是指将所述多个待装拣物品打排至所述装载工具上的先后顺序。
对于如何确定所述多个待装拣物品的所述打排顺序,在一些实施例中,对于步骤S1021,如图9所示,可以包括:
S1021A:获取所述多个待装拣物品中每一个所述待装拣物品包含的长度、宽度、高度及重量;
S1021B:根据所述每一个所述待装拣物品包含的长度、宽度、高度及重量和第二优化目标进行强化学习,获得所述待装拣物品的所述打排顺序;其中,所述第二优化目标为最小化所述多个待装拣物品的打排体积;所述打排体积表征所述多个待装拣物品按照所述打排顺序打排至所述装载工具上的总体积。
具体地,第二优化目标可以采用如下公式(3)表示:
L2 = Lost1 (3)
其中,L2为第二优化目标;Lost1为所述多个待装拣物品的打排体积。
具体地,步骤S1021A和S1021B描述的过程也就是,以所述多个待装拣物品中的每一个待装拣物品的长度、宽度、高度及重量为输入数据,输入到构建的强化学习网络,以进行强化学习,进而获得达到第二优化目标的所述多个待装拣物品的打排顺序。
举例来说,假设打排到同一装载工具(如托盘)上的多个待装拣物品为100个,按照前述描述的强化学习获得的打排顺序为:1、2、3、……、100。上述100个待装拣物品的打排好的示意图,如图10所示。
应该理解的是,这里的强化学习网络与前述的具有第一优化目标的强化学习网络的结构可以是不一样的。
对于图神经网络的构建,先按照前述获得的多个待装拣物品的打排顺序以所述多个待装拣物品中的每一个待装拣物品为第一类节点构建第一子网络;然后,以所述第一子网络的每一个第一类节点作为基础节点构建多个所述第二子网络。其中,第一子网络可以为单链有向图;每一个第二子网络为无向图,包括一个基础节点和与所述基础节点连接的至少一个第二类节点;每一个所述第二类节点对应的待装拣物品与所述基础节点对应的待装拣物品之间的距离小于所述目标阈值。这里,目标阈值可以是根据实际情况人为设定的。需要说明的是,在刚构建的且没有进行训练的图神经网络中包含第一类节点对应的待装拣物品和第二类节点对应待装拣物品有部分对应的是同一待装拣物品。
举例来说,假设还是以前述100个待装拣物品为例。所述打排顺序也如前述描述的按照1到100的顺序进行打排。在这种情况下,构建的图神经网络,如图11所示。在图11中,单链有向图中的节点为第一类节点,其对应的待装拣物品分别为1至100号物品。并且单链有向图中的每一个节点又作为基础节点,比如,1号物品对应的第一类节点;在这些基础节点的基础上形成多个第二子网络(多个无向图),每一个无向图中包含一个基础节点和与该基础节点连接的至少一个第二类节点;每一个第二类节点对应的待装拣物品与该基础节点对应的待装拣物品的距离小于目标阈值,如与1号物品对应的无向图,包含基础节点为1号物品对应的第一类节点;第二类节点包括与该1号物品距离小于目标阈值的30号物品、15号物品、10号物品对应的第二类节点。其中,单链有向图中的第一类节点与多个无向图中的第二类节点中对应的待装拣物品有部分可能是一样的,比如,与1号物品(第一类节点)连接的30号物品、15号物品、10号物品(第二类节点)也在单链有向图作为第一类节点。
在一些实施例中,对于步骤S103,如图12所示,可以包括:
S1031:确定所述图神经网络中每一节点的节点信息;
S1032:基于所述每一节点的节点信息,确定所述图神经网络中各节点之间的相关程度;
S1033:按照所述打排顺序和所述相关程度获得所述聚类结果;
其中,所述节点信息至少包括节点对应的待装拣物品的体积、重量及在所述存储区的位置中的一种。
需要说明的是,这里所说的每一节点可以是指前述描述的第一类节点和第二类节点。所说的节点信息可以至少包括节点对应的待装拣物品的体积、重量及在所述存储区的位置中的至少一种。
具体地,根据所述每一节点的节点信息,确定所述图神经网络中各节点之间的相关程度,之后,按照前述的打排顺序和所述相关程度获得所述聚类结果。这里实现的具体过程可以如下:以这些节点的节点信息为输入数据,输入到图神经网络中进行多次训练,以确定所述图神经网络中各节点之间的相关程度,按照打排顺序和所述相关程度进行聚类,获得聚类结果。其中,所说的相关程度可以以图神经网络中两个节点之间的权重值大小来表征。比如,一种可选的表征方式为:图神经网络中两个节点之间的权重值越大,两个节点之间的相关程度越大;图神经网络中两个节点之间的权重值越小,两个节点之间的相关程度越小。所说的按照打排顺序和所述相关程度进行聚类获得聚类结果可以是指按照打排顺序的先后顺序,将相关程度大的待装拣物品聚成一类,以形成聚类结果,其中,在图神经网络中的表现可以是相关程度大的两个节点的连接边保留、相关程度不大的两个节点的连接边断开连接,以最终形成聚类结果。
举例说明,以图11所示的图神经网络为例进行说明。按照前述聚类方式进行聚类,得到的一种聚类结果可以如图13所示。在图13中,按照打排顺序和相关程度将单链有向图中1号物品对应的第一类节点及2号物品对应的第一类节点、以及1号物品对应的第二类节点(对应30号物品、15号物品)聚为了一类;3号物品对应的第一类节点及3号物品对应的第二类节点聚为了一类,依次类推。需要说明的是,30号物品、15号物品对应的第一类节点与两侧连接的第一类节点之间的连接边是断开的。
前述描述的内容针对的是打排到同一装载工具的多个待装拣物品的一些处理步骤。在一些实施例中,对于如何获得所述多个待装拣物品。具体地,步骤S101,可以包括:
对所述存储区的多个物品进行近邻聚类,获得多类待运输物品,其中,每一类待运输物品为打排在同一所述装载工具上的多个待装拣物品。
具体地,如图14所示,所述对所述存储区的多个物品进行近邻聚类,获得多类待运输物品,包括:
S1011:确定所述多个物品中每一个物品对应的长度、宽度、高度及重量;
S1012:将所述每一个物品对应的长度、宽度、高度及重量输入到神经网络,获得与所述神经网络相关的自注意力矩阵;其中,所述自注意力矩阵中包含的元素均为非负的常数;
S1013:根据所述自注意力矩阵的倒数对所述多个物品进行近邻聚类,获得多类待运输物品。
需要说明的是,这里的聚类操作是基于神经网络的近邻聚类。具体过程包括:先确定存储区的多个物品中每一个物品对应的长度、宽度、高度及重量,然后,将这些数据作为输入,输入到神经网络,经神经网络的计算,获得自注意力矩阵,其中,该自注意力矩阵包含的元素均为非负的常数;之后,根据这个自注意力矩阵的倒数对所述多个物品进行近邻聚类,获得多类待运输物品,其中,每一类待运输物品即为所述多个待装拣物品。
这里,所述多个物品可以是同一运单内的物品。
这里,所述神经网络的结构可以如下:前面为全连接层和多头注意力层交替;最后一层为特殊的注意力层,设最后一层输入为该注意力层参数为通过上述神经网络按照下述公式(4)、(5)、(6)计算本申请实施例中的自注意力矩阵:
Q←WqX+bq1T(4)
K←WkX+bk1T(5)
S←QTK+KTQ+C1T(6)
其中,超参数C表示使注意力矩阵所有元素非负的常数。
在得到自注意力矩阵S后,将1/S看作距离矩阵,使用k近邻聚类,将前述的多个物品分为多类待运输物品。
按照前述图14所示的将多个物品分为多类待运输物品后,在一些实施例中,如图15所示,获得所述多个待装拣物品的打排顺序,包括:
S1501:从所述自注意力矩阵中获得所述多个待装拣物品对应的子矩阵;
S1502:基于所述子矩阵获得所述多个待装拣物品中第一个打排至所述装载工具上的待装拣物品;
S1503:从所述子矩阵中删除所述第一个打排至所述装载工具上的待装拣物品对应的元素,获得第一中间矩阵;
S1504:基于所述第一中间矩阵获得所述多个待装拣物品中第二个打排至所述装载工具上的待装拣物品;
S1505:逐步从所述子矩阵中剔除所述多个待装拣物品中已经打排至所述装载工具上的待装拣物品对应的元素,直到所述多个待装拣物品全部打排在所述装载工具,获得所述打排顺序。
需要说明的是,上述图15中描述的打排顺序的获得方式与前述图9所描述的打排顺序的获得方式是不一样的。该图15中的打排顺序的获取是基于前述获得的自注意力矩阵来逐渐获得打排在同一装载工具上的待装拣物品,直到将所述多个待装拣物品全部打排到所述装载工具为止,以获得所述多个待装拣物品的打排顺序。
这里,由于所述自注意力矩阵是针对前述多个物品的,因此,要仅针对所述多个待装拣物品,并获得所述多个待装拣物品的打排顺序,需从自注意力矩阵中获得所述多个待装拣物品对应的子矩阵;之后,根据所述子矩阵获得第一个打排至所述装载工具上的待装拣物品;之后,从所述子矩阵中剔除第一个打排至所述装载工具上的待装拣物品对应的元素,获得第一中间矩阵,基于第一中间矩阵得到第二个打排至所述装载工具上的待装拣物品。此后,按照上述过程,逐步将所述多个待装拣物品打排至所述装载工具上为止,获得所述多个待装拣物品的打排顺序。
在一些实施例中,对于步骤S1504,可以包括:
对所述子矩阵中的每一个元素进行归一化处理,获得归一化后的子矩阵;
对所述归一化后的子矩阵的每一列进行求和处理,获得第二中间矩阵;
对所述第二中间矩阵进行二分类处理,获得所述多个待装拣物品对应的概率向量;
基于所述概率向量确定所述多个待装拣物品中第一个打排至所述装载工具上的待装拣物品。
需要说明的是,这里仅描述了第一个打排至所述装载工具上的待装载物品的处理过程。在实际应用过程中,每一个打排至所述装载工具上的待装拣物品的处理过程均如上述过程。
具体地,需要对子矩阵中的每一行进行归一化处理,实际上,是对子矩阵中的每一个元素进行归一化处理。之后,对归一化后的子矩阵的每一列进行求和,获得第二中间矩阵;对所述第二中间矩阵进行二分类(softmax)处理,得到所述多个待装拣物品对应的概率向量,之后,根据概率向量确定所述多个待装拣物品中第一个打排至所述装载工具上的待装拣物品。其中,选择概率最大的物品为第一个打排至所述装载工具上的待装拣物品。之后,将第一个打排至所述装载工具上的待装拣物品对应的元素从所述子矩阵中剔除,获得第一中间矩阵,按照上述过程选择第二个打排至所述装载工具上的待装载物品,依次类推,将所述多个待装拣物品中的每一个待装拣物品依次打排至所述装载工具上,从而获得所述多个待装拣物品的打排顺序。
为了理解上述图14至图15的处理过程,可参见图16所示的示意图。在图14中,X为输入;Q、K为经神经网络计算的中间参数;S为自注意力矩阵;S1’为子矩阵;S2’为第一中间矩阵;……;Sk’为后面所需的中间矩阵。
在一些实施例中,如图17所示,所述方法还可以包括:
S105:确定在所述拣取策略下所述多个待装拣物品的打排体积;
S106:判断在所述打排体积下所述多个待装拣物品的摆放高度是否超过目标高度;
S107:若判定所述打排体积超过所述目标高度,重新确定打排在所述装载工具上的多个待装拣物品,以重新获得所述多个待装拣物品的拣取策略;
其中,若所述装载工具具有限高结构,所述目标高度与所述限高结构的高度相关;若所述装载工具不具有限高结构,所述目标高度与所述装载工具的底面大小相关。
需要说明的是,由于装载工具对于能够装载物品的高度有要求,因此,在实际应用过程中,还需考虑在获得的拣取策略下所述多个待装拣物品在所述装载工具上摆放高度,并判断该摆放高度是否超过目标高度;若超过了,还需重新确定打排至该装载工具上的待装拣物品,再重新聚类,及获得拣取策略。其中,若所述装载工具具有限高结构,所述目标高度与所述限高结构的高度相关;所说的限高结构的高度可以是指限高结构的下端面距离所述装载工具的上端面的高度。若所述装载工具不具有限高结构,所述目标高度与所述装载工具的底面大小相关,其中,底面大小越小,所述目标高度越小,底面大小越大,所述目标高度越大。
为了理解本申请描述的技术方案,如图18和图19示出两个具体地实施例来说明。
实施例一,在物流拣货打排系统中的应用
在该实施例一中,在该物流拣货打排系统中,其背景如图1所示的场景。在该场景下,本申请实施例的技术方案的主要思想是利用多层级图神经网络及强化学习方法,使得每辆叉车选择最邻近的待装拣物品,同时运输至打排区和缓存区,使得缓存区的待打排物品所占体积不超过缓存区的容量,同时叉车行驶的总里程最短。
具体实现过程如图18所示,包括:
S1801:使用强化学习构建多个打排至同一装载工具上的多个待装拣物品的最优的打排顺序。
也即,利用强化学习网络获得所述多个待装拣物品的最优的打排顺序。具体参见图9或图15所描述的打排顺序的获得方式。在最优的打排顺序下,所述多个待装拣物品打排至所述装载工具上的打排体积最小。
S1802:根据所述多个待装拣物品构建图神经网络。
具体地,对所有待装拣物品构建图神经网络,图神经网络的节点是待装拣物品,利用待装拣物品的尺寸,重量,及所在存储区(比如货架)的位置作为图神经网络的节点信息;按照待装拣物品的最优的打排顺序,以所述多个待装拣物品作为第一类节点构建单链有向图,并设定边的初始值;再设定超参数阈值A,对于与第一类节点对应的待装拣物品的物理距离小于A的所有待装拣物品作为第二类节点,添加边到对应的第一类节点上,形成无向图,该无向图的边的初始值可以设定为物理距离。用这种方式构建图神经网络。具体地构建方式还可以参见前述图8和图11所描述的步骤。
S1803:利用所述图神经网络中的每一个节点的节点信息对所述图神经网络进行训练,获得对所述多个待装拣物品的聚类结果。
其中,所述聚类结果中的每一类表示每次需要通过运载工具由存储区运输至装载区的待装拣物品。对于如何聚类参见前述图12所描述的步骤。
S1804:将聚类结果输入强化学习网络进行强化学习,以获得所述多个待装拣物品的拣取策略;
S1805:迭代图神经网络的聚类和强化学习网络的强化学习,以获得达到第一优化目标的拣取策略。
需要说明的是,对于步骤S1804和S1805的具体理解,可参见图8和图5、6所描述的步骤。
在本实施例中,本申请实施例提供了一套物品装拣方法,能够充分利用缓存区的容量,暂时存储待打排物品,并且使得叉车行驶的总时间最短。
实施例二,在飞机托运行李时运费的计算问题
在该实施例二中,在飞机托运行李的场景下,我们需要把一堆长方体物体放在托盘上,托盘的长,宽,高和重量固定,托盘上方的空间有最大高度限制,因此我们可以把托盘上方看作一个高度不固定但有最大高度限制的箱子。大多数情况下,运费以托盘上物体的总重量结算,但如果托盘上的物体很轻,但体积很大,空运公司会按照体积收费。如何使总费用最小是我们要解决的问题。目前常用的方式主要有启发式算法和基于神经网络的算法。启发式算法能处理很多物体,但得到的解的质量没有保证;基于神经网络的传统方法是用强化学习的架构,并使用transformer的Encoder,Decoder结构,求出所有物品的排序,再按照排序装物品。但是,对于物品数量较大(如,>200个物品)的装物品问题,这样的传统架构就显得比较无力。因为物品的所有排序空间过于巨大,会出现训练困难和收敛慢的情况。
基于此,本申请实施例提供的方法可以应用中该类问题的解决上。具体地,如图19所示,包括:
S1901:通过启发式算法计算同一运单内的物品所需的装载工具的数量。
其中,我们可以用s表示输入,s∈R^(n×4),其中n表示同一运单内的物品的个数,4表示物体的长,宽,高和重量这4个特征。
S1902:对同一运单内的多个物品进行聚类,获得多类待运输物品,其中,每一类待运输物品即为打排至同一装载工具上的多个待装拣物品。
具体地,将s输入神经网络,该神经网络前面为全连接层和多头注意力层交替,最后一层为特殊的注意力层。设最后一层输入为该注意力层参数为通过上述神经网络按照公式Q←WqX+bq1T;K←WkX+bk1T;S←QTK+KTQ+C1T计算,自注意力矩阵S。其中,超参数C表示使注意力矩阵所有元素非负的常数。我们将1/S看作距离矩阵,使用k近邻聚类,将同一运单内的物品分为多类待运输物品。
这里,步骤S1902的理解也可如何实现参见图14所示的处理步骤。在此不再赘述。
S1903:对于每一类待运输物品按照图15所示的步骤进行处理,获得打排顺序。
具体地,对于第一类待运输物品的打排顺序获取过程如何:根据记录这第一类待运输物品中所有物品的索引(i1,i2,…,iN),利用该索引从自注意力矩阵S的第i1,i2,…,iN)行和第i1,i2,…,iN)列组成新的子矩阵S’。先对S’的每一行做归一化,然后用乘S’,相当于求S’的列和。对于得到的结果做softmax,得到的就是第一类待运输物品中各物品的概率向量(p1,p2,…,pn),pi表示这一步我们选择物品ij的概率。按照概率向量选好第一个打排至所述装载工具上的物品j后,从S’中删除该物品对应的行和列,即删除S’中的第j行和第j列;再对S’的每一行做归一化,然后用(/> 乘S’,对于得到的结果做softmax,得到的就是第一类待运输物品中各物品(不包含第一个打排至所述装载工具上的物品)的概率向量,选好第二个打排至所述装载工具上的物品后,从S’中删除该物体对应的行和列,再重复上述步骤直到没有剩余物品。
S1904:打排完成后,如果高度超出最大高度限制,那么对运费做额外的惩罚性修正,反之,正常计算运费。完成所有类的运费计算后,得到总运费。这里的实现方案,在强化学习的框架下进行,在完成上述步骤S1901至S1904之后,更新网络参数。
在实施例二中,提供了一种新型的强化学习装物品方法,过多的物品不能放在一个托盘上,需要分开放置。所以可以先对物品聚类,每个类别代表同一个托盘。然后,再对同一类别内的物品排序。这样可以将原始非常复杂的打排至托盘的问题转化为相对简单的多个子问题。我们利用transformer架构中的自注意力矩阵,构建物品的聚类。通过一定变换,使自注意力矩阵对称且每个元素非负,利用此矩阵聚类。聚类的结果表示这一类的物品都应装在一个托盘里。对每个类里,也使用自注意力矩阵作为物品打排至托盘的顺序的概率向量。能处理大量物体的打排至托盘问题,获得比原来更优的解;在求解速度上比原来的方法显著提升。
本申请实施例提供的物品装拣方法,通过通过对装载在同一装载工具上的多个待装拣物品构建图神经网络,且根据图神经网络对该多个待装拣物品进行聚类,以每一类作为每一次通过运载工具从存储区运输至装载区的待装拣物品,最后,以聚类结果和确定的第一优化目标进行强化学习,获得达到该第一优化目标的物品的拣取策略,以此方式获得最优的拣取策略,以合理使用有限的缓存区的同时最小化打排至同一装载工具上的待装拣物品的打排总体积及运载工具运送待装拣物品至打排区的运输总里程。
本申请实施例还提供一种物品装拣装置200,如图20所示,可以包括:确定单元2001、构建单元2002、聚类单元2003和强化学习单元2004,其中;
所述确定单元2001,用于确定打排在同一装载工具上的多个待装拣物品;
所述构建单元2002,用于构建与所述多个待装拣物品相关的图神经网络;其中,所述图神经网络包括:按照所述多个待装拣物品的打排顺序以所述多个待装拣物品为第一类节点构建的第一子网络;及在所述第一子网络的基础上形成的多个第二子网络;每一个第二子网络包括所述第一子网络中的某一第一类节点和与所述某一第一类节点连接的至少一个第二类节点;每一个第二类节点对应的待装拣物品与所述某一第一类节点对应的待装拣物品之间的距离小于目标阈值;
所述聚类单元2003,用于基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得聚类结果;所述聚类结果中的每一类表示每次需要通过运载工具由存储区运输至装载区的待装拣物品;
所述强化学习单元2004,用于根据所述聚类结果和第一优化目标进行强化学习,获得对所述多个待装拣物品的拣取策略;所述第一优化目标为最小化所述运载工具的运输总里程或所述第一优化目标为最小化所述运载工具的运输总里程和所述多个待装拣物品的打排体积。
在一些实施例中,其中,所述装载区包括打排区,或者,所述装载区包括打排区和缓存区;其中,所述聚类结果中的每一类包含的第一类节点对应的待装拣物品通过所述运载工具由所述存储区运输至所述打排区;所述聚类结果中的每一类包含的第二类节点对应的待装拣物品通过所述运载工具由所述存储区运输至所述打排区或者所述缓存区;其中,所述强化学习单元,具体用于:构建强化学习网络并确定所述第一优化目标;将所述聚类结果输入所述强化学习网络进行强化学习,获得达到所述第一优化目标时的所述拣取策略。
在一些实施例中,所述构建单元,具体用于:确定所述多个待装拣物品的所述打排顺序;以所述多个待装拣物品中的每一个待装载物品为第一类节点,根据所述打排顺序将多个所述第一类节点依次连接,构建所述第一子网络;以所述第一子网络的每一个第一类节点作为基础节点构建多个所述第二子网络;其中,每一个所述第二子网络包括一个基础节点和与所述基础节点连接的至少一个第二类节点;每一个所述第二类节点对应的待装拣物品与所述基础节点对应的待装拣物品之间的距离小于所述目标阈值;其中,所述第一子网络和所述多个第二子网络形成所述图神经网络。
在一些实施例中,其中,所述聚类单元,具体用于:确定所述图神经网络中每一节点的节点信息;基于所述每一节点的节点信息,确定所述图神经网络中各节点之间的相关程度;按照所述打排顺序和所述相关程度获得所述聚类结果;其中,所述节点信息至少包括节点对应的待装拣物品的体积、重量及在所述存储区的位置中的一种。
在一些实施例中,所述构建单元,还用于:获取所述多个待装拣物品中每一个所述待装拣物品包含的长度、宽度、高度及重量;根据所述每一个所述待装拣物品包含的长度、宽度、高度及重量和第二优化目标进行强化学习,获得所述待装拣物品的所述打排顺序;其中,所述第二优化目标为最小化所述多个待装拣物品的打排体积;所述打排体积表征所述多个待装拣物品按照所述打排顺序打排至所述装载工具上的总体积。
在一些实施例中,所述强化学习单元,具体用于:若所述第一优化目标为最小化所述运载工具的运输总里程,逐步迭代进行强化学习,若确定在某一次迭代获得的拣取策略下在某一次运输到所述缓存区的待装拣物品所占体积超过所述缓存区的容量,重新基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得新的聚类结果;重新将所述聚类结果输入所述强化学习网络进行强化学习,获得对所述多个待装拣物品的新的拣取策略;若在所述新的拣取策略下在某一次运输到所述缓存区的待装拣物品所占体积仍超过所述缓存区的容量,需要再重新获取所述拣取策略,直到在获得的所述拣取策略下每一次运输到所述缓存区的待装拣物品所占总体积均未超过所述缓存区的容量为止,获得达到所述第一优化目标时的所述拣取策略;
或者,所述强化学习单元,具体用于:若所述第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积,获得第一次迭代的拣取策略,将所述第一次迭代的拣取策略每一次运输到所述打排区的待装拣物品打排至所述装载工具,且所述第一次迭代的拣取策略中每一次运输到所述缓存区的待装拣物品摆满所述缓存区后剩余的待装拣物品打排至所述装载工具上,直到将所述多个待装拣物品中的每一个待装拣物品打排至所述装载工具;逐步迭代进行强化学习,直到在某次迭代获得的拣取策略下运输且打排所述多个待装拣物品能够使所述多个待装拣物品的打排体积及所述运载工具的运输总里程达到所述第一优化目标为止。
在一些实施例中,其中,所述确定单元,具体用于:对所述存储区的多个物品进行近邻聚类,获得多类待运输物品,其中,每一类待运输物品为打排在同一所述装载工具上的多个待装拣物品;其中,所述对所述存储区的多个物品进行近邻聚类,获得多类待运输物品,包括:确定所述多个物品中每一个物品对应的长度、宽度、高度及重量;将所述每一个物品对应的长度、宽度、高度及重量输入到神经网络,获得与所述神经网络相关的自注意力矩阵;其中,所述自注意力矩阵中包含的元素均为非负的常数;根据所述自注意力矩阵的倒数对所述多个物品进行近邻聚类,获得多类待运输物品。
在一些实施例中,其中,所述确定单元,还用于:从所述自注意力矩阵中获得所述多个待装拣物品对应的子矩阵;
基于所述子矩阵获得所述多个待装拣物品中第一个打排至所述装载工具上的待装拣物品;
从所述子矩阵中删除所述第一个打排至所述装载工具上的待装拣物品对应的元素,获得第一中间矩阵;
基于所述第一中间矩阵获得所述多个待装拣物品中第二个打排至所述装载工具上的待装拣物品;
逐步从所述子矩阵中剔除所述多个待装拣物品中已经打排至所述装载工具上的待装拣物品对应的元素,直到所述多个待装拣物品全部打排在所述装载工具,获得所述打排顺序。
在一些实施例中,其中,所述物品装拣装置还包括:第二判断单元;其中,
所述确定单元,还用于:确定在所述拣取策略下所述多个待装拣物品的打排体积;
所述第二判断单元,还用于:判断在所述打排体积下所述多个待装拣物品的摆放高度是否超过目标高度;若判定所述打排体积超过所述目标高度,重新确定打排在所述装载工具上的多个待装拣物品,以重新获得所述多个待装拣物品的拣取策略;其中,若所述装载工具具有限高结构,所述目标高度与所述限高结构的高度相关;若所述装载工具不具有限高结构,所述目标高度与所述装载工具的底面大小相关。
需要说明的是,本申请实施例提供的物品装拣装置是基于前述物品装拣方法的装置,在装置中实现的名词,在前述已经详细说明,可参考前述描述,在次不再赘述。
本申请实施例还提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序处理器被处理器执行时实现上述方法实施例的步骤,而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行存储在存储器中的上述方法实施例的步骤。
图21是本申请实施例电子设备的一种硬件结构示意图,该电子设备210包括:至少一个处理器2101、存储器2102和至少一个通信接口2103,电子设备210中的各个组件通过总线系统2104耦合在一起,可理解,总线系统2104用于实现这些组件之间的连接通信。总线系统2104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图21中将各种总线都标为总线系统2104。
可以理解,存储器2102可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read OnlyMemory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器2102旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例中的存储器2102用于存储各种类型的数据以支持电子设备210的操作。这些数据的示例包括:用于在电子设备210上操作的任何计算机程序,如确定打排在同一装载工具上的多个待装拣物品等,实现本申请实施例方法的程序可以包含在存储器2102中。
上述本申请实施例揭示的方法可以应用于处理器2101中,或者由处理器2101实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子设备210可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行上述方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种物品装拣方法,包括:
确定打排在同一装载工具上的多个待装拣物品;
构建与所述多个待装拣物品相关的图神经网络;其中,所述图神经网络包括:按照所述多个待装拣物品的打排顺序以所述多个待装拣物品为第一类节点构建的第一子网络;及在所述第一子网络的基础上形成的多个第二子网络;每一个第二子网络包括所述第一子网络中的某一第一类节点和与所述某一第一类节点连接的至少一个第二类节点;每一个第二类节点对应的待装拣物品与所述某一第一类节点对应的待装拣物品之间的距离小于目标阈值;
基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得聚类结果;所述聚类结果中的每一类表示每次需要通过运载工具由存储区运输至装载区的待装拣物品;
根据所述聚类结果和第一优化目标进行强化学习,获得对所述多个待装拣物品的拣取策略;所述第一优化目标为最小化所述运载工具的运输总里程,或,所述第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积。
2.根据权利要求1所述的方法,其中,所述装载区包括打排区,或者,所述装载区包括打排区和缓存区;
其中,所述聚类结果中的每一类包含的第一类节点对应的待装拣物品通过所述运载工具由所述存储区运输至所述打排区;所述聚类结果中的每一类包含的第二类节点对应的待装拣物品通过所述运载工具由所述存储区运输至所述打排区或者所述缓存区;
其中,所述根据所述聚类结果和第一优化目标进行强化学习,获得对所述多个待装拣物品的拣取策略,包括:
构建强化学习网络并确定所述第一优化目标;
将所述聚类结果输入所述强化学习网络进行强化学习,获得达到所述第一优化目标时的所述拣取策略。
3.根据权利要求1所述的方法,其中,所述构建与所述多个待装拣物品相关的图神经网络,包括:
确定所述多个待装拣物品的所述打排顺序;
以所述多个待装拣物品中的每一个待装载物品为第一类节点,根据所述打排顺序将多个所述第一类节点依次连接,构建所述第一子网络;
以所述第一子网络的每一个第一类节点作为基础节点构建多个所述第二子网络;其中,每一个所述第二子网络包括一个基础节点和与所述基础节点连接的至少一个第二类节点;每一个所述第二类节点对应的待装拣物品与所述基础节点对应的待装拣物品之间的距离小于所述目标阈值;
其中,所述第一子网络和所述多个第二子网络形成所述图神经网络。
4.根据权利要求1所述的方法,其中,所述基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得聚类结果,包括:
确定所述图神经网络中每一节点的节点信息;
基于所述每一节点的节点信息,确定所述图神经网络中各节点之间的相关程度;
按照所述打排顺序和所述相关程度获得所述聚类结果;
其中,所述节点信息至少包括节点对应的待装拣物品的体积、重量及在所述存储区的位置中的一种。
5.根据权利要求3所述的方法,其中,所述确定所述多个待装拣物品的所述打排顺序,包括:
获取所述多个待装拣物品中每一个所述待装拣物品包含的长度、宽度、高度及重量;
根据所述每一个所述待装拣物品包含的长度、宽度、高度及重量和第二优化目标进行强化学习,获得所述待装拣物品的所述打排顺序;其中,所述第二优化目标为最小化所述多个待装拣物品的打排体积;所述打排体积表征所述多个待装拣物品按照所述打排顺序打排至所述装载工具上的总体积。
6.根据权利要求2所述的方法,其中,所述将所述聚类结果输入所述强化学习网络进行强化学习,获得达到所述第一优化目标时的所述拣取策略,包括:
若所述第一优化目标为最小化所述运载工具的运输总里程,逐步迭代进行强化学习,若确定在某一次迭代获得的拣取策略下在某一次运输到所述缓存区的待装拣物品所占体积超过所述缓存区的容量,重新基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得新的聚类结果;重新将所述聚类结果输入所述强化学习网络进行强化学习,获得对所述多个待装拣物品的新的拣取策略;
若在所述新的拣取策略下在某一次运输到所述缓存区的待装拣物品所占体积仍超过所述缓存区的容量,需要再重新获取所述拣取策略,直到在获得的所述拣取策略下每一次运输到所述缓存区的待装拣物品所占总体积均未超过所述缓存区的容量为止,获得达到所述第一优化目标时的所述拣取策略;
或者,所述将所述聚类结果输入所述强化学习网络进行强化学习,获得达到所述第一优化目标时的所述拣取策略,包括:
若所述第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积,获得第一次迭代的拣取策略,将所述第一次迭代的拣取策略每一次运输到所述打排区的待装拣物品打排至所述装载工具,且所述第一次迭代的拣取策略中每一次运输到所述缓存区的待装拣物品摆满所述缓存区后剩余的待装拣物品打排至所述装载工具上,直到将所述多个待装拣物品中的每一个待装拣物品打排至所述装载工具;
逐步迭代进行强化学习,直到在某次迭代获得的拣取策略下运输且打排所述多个待装拣物品能够使所述多个待装拣物品的打排体积及所述运载工具的运输总里程达到所述第一优化目标为止。
7.根据权利要求1所述的方法,其中,所述确定打排在同一装载工具上的多个待装拣物品,包括:对所述存储区的多个物品进行近邻聚类,获得多类待运输物品,其中,每一类待运输物品为打排在同一所述装载工具上的多个待装拣物品;
所述对所述存储区的多个物品进行近邻聚类,获得多类待运输物品,包括:
确定所述多个物品中每一个物品对应的长度、宽度、高度及重量;
将所述每一个物品对应的长度、宽度、高度及重量输入到神经网络,获得与所述神经网络相关的自注意力矩阵;其中,所述自注意力矩阵中包含的元素均为非负的常数;
根据所述自注意力矩阵的倒数对所述多个物品进行近邻聚类,获得多类待运输物品。
8.根据权利要求7所述的方法,其中,获得所述多个待装拣物品的打排顺序,包括:
从所述自注意力矩阵中获得所述多个待装拣物品对应的子矩阵;
基于所述子矩阵获得所述多个待装拣物品中第一个打排至所述装载工具上的待装拣物品;
从所述子矩阵中删除所述第一个打排至所述装载工具上的待装拣物品对应的元素,获得第一中间矩阵;
基于所述第一中间矩阵获得所述多个待装拣物品中第二个打排至所述装载工具上的待装拣物品;
逐步从所述子矩阵中剔除所述多个待装拣物品中已经打排至所述装载工具上的待装拣物品对应的元素,直到所述多个待装拣物品全部打排在所述装载工具,获得所述打排顺序。
9.根据权利要求8所述的方法,其中,所述方法还包括:
确定在所述拣取策略下所述多个待装拣物品的打排体积;
判断在所述打排体积下所述多个待装拣物品的摆放高度是否超过目标高度;
若判定所述打排体积超过所述目标高度,重新确定打排在所述装载工具上的多个待装拣物品,以重新获得所述多个待装拣物品的拣取策略;
其中,若所述装载工具具有限高结构,所述目标高度与所述限高结构的高度相关;若所述装载工具不具有限高结构,所述目标高度与所述装载工具的底面大小相关。
10.一种物品装拣装置,包括:确定单元、构建单元、聚类单元和强化学习单元,其中;
所述确定单元,用于确定打排在同一装载工具上的多个待装拣物品;
所述构建单元,用于构建与所述多个待装拣物品相关的图神经网络;其中,所述图神经网络包括:按照所述多个待装拣物品的打排顺序以所述多个待装拣物品为第一类节点构建的第一子网络;及在所述第一子网络的基础上形成的多个第二子网络;每一个第二子网络包括所述第一子网络中的某一第一类节点和与所述某一第一类节点连接的至少一个第二类节点;每一个第二类节点对应的待装拣物品与所述某一第一类节点对应的待装拣物品之间的距离小于目标阈值;
所述聚类单元,用于基于所述图神经网络对多个所述第一类节点和多个所述第二类节点进行聚类,获得聚类结果;所述聚类结果中的每一类表示每次需要通过运载工具由存储区运输至装载区的待装拣物品;
所述强化学习单元,用于根据所述聚类结果和第一优化目标进行强化学习,获得对所述多个待装拣物品的拣取策略;所述第一优化目标为最小化所述运载工具的运输总里程,或,所述第一优化目标为最小化所述运载工具的运输总里程及所述多个待装拣物品的打排体积。
CN202310445729.9A 2023-04-23 2023-04-23 一种物品装拣方法及装置 Pending CN116645019A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310445729.9A CN116645019A (zh) 2023-04-23 2023-04-23 一种物品装拣方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310445729.9A CN116645019A (zh) 2023-04-23 2023-04-23 一种物品装拣方法及装置

Publications (1)

Publication Number Publication Date
CN116645019A true CN116645019A (zh) 2023-08-25

Family

ID=87614374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310445729.9A Pending CN116645019A (zh) 2023-04-23 2023-04-23 一种物品装拣方法及装置

Country Status (1)

Country Link
CN (1) CN116645019A (zh)

Similar Documents

Publication Publication Date Title
CN106934580B (zh) 库存控制方法以及装置
CN112001535B (zh) 物流装箱方法、装置、设备及存储介质
Forster et al. A tree search procedure for the container relocation problem
Vahdani Assignment and scheduling trucks in cross-docking system with energy consumption consideration and trucks queuing
CN108647810A (zh) 订单运输的分配方法及装置、计算机可读介质
CN111027902B (zh) 无人仓货品运输匹配方法及装置
Jiang et al. Picking-replenishment synchronization for robotic forward-reserve warehouses
CN101417732A (zh) 搬运命令自动生成系统及方法
US20220129840A1 (en) System And Method For Reinforcement-Learning Based On-Loading Optimization
CN112132522A (zh) 一种物料入库方法、装置及管理设备
CN111507644B (zh) 一种多点卸货约束的三维多容器装载方法
CN109359905B (zh) 一种自动化无人仓货位分配方法、装置和存储介质
CN116203959A (zh) 基于hac算法的机器人路径规划方法及系统
CN112132520A (zh) 一种物料入库方法、装置及管理设备
CN116645019A (zh) 一种物品装拣方法及装置
CN111461395B (zh) 临时配送中心的选址方法和系统
Li et al. Pareto and niche genetic algorithm for storage location assignment optimization problem
CN115660556A (zh) 一种用于电商仓库的拣货方法与系统
CN114742267A (zh) 物流运输路由规划方法、系统、设备及存储介质
CN115409448A (zh) 仓储调度决策方法、装置、终端设备以及存储介质
CN115099617A (zh) 烟草工业品物流调度方法
CN113077070B (zh) 基于属性预测的动态abc分类仓储策略优化方法及实现系统
CN113034083A (zh) 一种仓储合托优化方法、装置及系统
CN113780942A (zh) 物品运输控制方法、装置、设备及存储介质
CN113537675B (zh) 装载方案输出方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination