CN116596440A - 一种自动化立体仓库出入库智能调度方法 - Google Patents

一种自动化立体仓库出入库智能调度方法 Download PDF

Info

Publication number
CN116596440A
CN116596440A CN202310542198.5A CN202310542198A CN116596440A CN 116596440 A CN116596440 A CN 116596440A CN 202310542198 A CN202310542198 A CN 202310542198A CN 116596440 A CN116596440 A CN 116596440A
Authority
CN
China
Prior art keywords
warehouse
action
goods
network
shelf
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
CN202310542198.5A
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.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
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 Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN202310542198.5A priority Critical patent/CN116596440A/zh
Publication of CN116596440A publication Critical patent/CN116596440A/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/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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/084Backpropagation, e.g. using gradient descent
    • 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"
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations

Landscapes

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

Abstract

本发明公开了一种自动化立体仓库出入库智能调度方法,包括以下步骤:建立立体仓库货架模型,并建立立体仓库出入库优化目标函数;设计基于DQN的货位分配算法,结合训练集进行立体仓库出入库调度仿真;利用仿真结果对DQN神经网络模型进行训练,将训练后的DQN货位分配算法用于立体仓库出入库货位分配。本发明有效提高了立体仓库出入库效率,并保证了货架稳定与立体仓库的运行安全。

Description

一种自动化立体仓库出入库智能调度方法
技术领域
本发明涉及仓储货架出入库调度领域,具体涉及一种自动化立体仓库出入库智能调度方法。
背景技术
随着我国智能制造装备、工业软件等整体发展迅速,自动化立体仓库(AS/RS)在现代物流仓储系统中逐渐取得广泛应用。与传统人工作业相比,自动化立体仓库具有占地面积小、仓储容量大、出入库作业效率高等优点,已成为未来发展智能车间,推动智能制造的有力引擎。有效的货位分配策略可以在保证货架稳定性的情况下,有效的减少生产物流中的时间消耗,提高生产系统的运行效率。
目前,国外许多研究机构已对自动化立体仓库进行了大量的技术与理论研究,这也是自动化立体仓储系统在国内外获得迅速发展的原因。而国内对自动化立体仓库的研究起步比较晚,面对随机到达的任务订单自动化立体仓库难以实时分配货位,显著制约了自动化立体仓库出入库效率的提高。
国内外学者针对立体仓库的出入库智能调度问题进行了大量的研究,相关研究多利用遗传算法、模拟退火算法针对仓储货架出入库问题进行货位分配优化,取得了不错的效果,但遗传算法启发式算法,往往更适合处理任务序列已知的情况。随着电子信息与新的消费市场的快速发展,现代供应链中的各个环节之间的联系日益密切,市场因素到企业生产起到愈发重要的影响。因此,在考虑市场需求的情况下,采用由任务订单驱动的出入库方式成为一项很有必要的策略。考虑到订单驱动模式下任务到达往往具有随机性,立体仓库难以提前获取当日出入库任务的完整信息,因此采用遗传算法,模拟退火算法等算法,难以实时对出入库任务进行货位分配,不能很好地满足实际生产的需要。因此,需要提出一种能够处理任务随机到达情况的货位分配算法。
发明内容
本发明的目的在于提供一种自动化立体仓库出入库智能调度方法,其可以解决面对任务订单随机到达的情况下,无法合理有效分配货位的问题,提高了立体仓库出入库效率,同时可以保货架的稳定性。
在本发明的一个方面,本发明提出了一种自动化立体仓库出入库智能调度方法。根据本发明的实施例,包括以下步骤:
步骤1、建立立体仓库货架模型,并建立立体仓库出入库优化目标函数;
步骤2、设计基于DQN的货位分配算法;
步骤3、对DQN神经网络模型进行训练,得到训练后的网络模型;
步骤4、将训练好的神经网络模型应用于自动化立体仓库出入库控制,根据系统状态进行巷道和货位的选择。
另外,根据本发明上述实施例的一种自动化立体仓库出入库智能调度方法,还可以具有如下附加的技术特征:
在本发明的一些实施例中,所述步骤1中,立体仓库货架模型中的参数包括,每排货架的列数I、每排货架的层数J、每个货架上货位的长度a、每个货架上货位的高度b、每个货架上货位的宽度c、立体仓库的巷道数H、巷道的宽度d;每个巷道两侧各一排货架,分为左货架与右货架,货架编号g分别为2h-1与2h,共有2H排货架;货物类型为n,各类货物的重量记为mn
在本发明的一些实施例中,所述步骤1中,货物的出入库效率是货位分配时主要考虑的优化目标,实现最小化一组任务序列的立体仓库运行时间。设任务序列的总出入库任务数为K(k=1,...,K),任务序列号为k,K'为完成K个任务需要的总的出入库动作数,第k'个动作回合的完成时间由操作类型决定。因此,建立出入库优化目标函数如下:
其中,F为出入库任务总运行时间,ck′为第k'个回合的完成时间,tin_sum表示入库任务处理时间,tout表示出库任务处理时间,tw表示等待时间。
在本发明的一些实施例中,所述步骤1中,在使立体仓库出入库运行时间最小化的同时,要保证货架的结构稳定性,应使货架的整体重心最低,通过对货架重心进行评估得到仓库货架稳定性参数M,结合预先设置的货架稳定性阈值Mmax来保证货架的稳定性安全:
M=[M1,M2,…,Mg,…,M2H]
其中,Mg是第g排货架的稳定性参数,为向上取整,/>为第g排货架的第i层j列的货位所存放的货物重量;/>表示第g排货架的第i层j列货位的货物存储状态,若为0代表该货位为空,否则表示该货位存放的货物类型信息。
保证货架稳定性参数小于货架稳定性阈值,概括为:
Mg<Mmax
在本发明的一些实施例中,所述步骤2中,货位分配算法包括对决策时刻所选巷道对应两侧货架的状态信息、堆垛机的动作、环境对智能体的行为给出的反馈、决策时刻进行定义,通过引入神经网络对所有状态-动作的Q值进行拟合,其中Q值是在当前状态下选取某个动作可能获得的奖励,并根据Q值,采用ε-greedy策略进行动作选择。
在本发明的一些实施例中,所述步骤2中,定义决策时刻具体如下,决策时刻定义为当前任务完成时刻,因此在决策时刻必定有至少一个堆垛机属于空闲状态。
在本发明的一些实施例中,所述步骤2中,为了避免输入的状态尺寸过大,不输入包含整个立体仓库的状态矩阵,而是首先选择巷道,优先选择堆垛机为空闲的巷道,当有多个堆垛机空闲时,优先选择离出入库口最近的巷道。将所选巷道h对应的状态输入神经网络,通过不同巷道之间共用一个神经网络,极大地缩减了状态集,加快了神经网络模型的训练速度。
在本发明的一些实施例中,所述步骤2中,为了避免动作空间过大,在设置动作集时,采用的不是具体货位而是不同的出入库规则,根据不同的出入库规则选择货位,这样可以极大缩减动作集。
在本发明的一些实施例中,所述步骤2中,过预先计算每个货位与出入库缓存点之间的距离,与底层中心货位之间的距离,与底层特殊货位之间的距离,并存入性能矩阵L,可以减少重复冗余计算,有效提高程序的运算效率。同时由于各货架规格完全相同,各货架可以共享性能矩阵L,性能矩阵具体设置为:
L=[L1,L2,L3,L4,L5,L6]
L1存储每个货位与入库缓冲口(1,0)之间的欧氏距离,并按照从小到大进行排序。
L2存储每个货位与货位之间的欧氏距离,并按照从小到大进行排序。
L3存储每个货位与货位之间的欧氏距离,并按照从小到大进行排序。
L4存储每个货位与货位之间的欧氏距离,并按照从小到大进行排序。
L5存储每个货位所在的层数,并按照从小到大进行排序。
L6存储每个货位与出库缓存点(1,J+1)之间的欧氏距离,并按照从小到大进行排序。
在本发明的一些实施例中,所述步骤2中,DQN网络模型由二维卷积层与全连接层构成。在当前值Q网络的基础上,另外设置了一个目标值Q网络,目标值Q网络与当前值Q网络的网络结构完全相同,初始化目标值Q网络的网络参数与当前值Q网络也相同,只在参数更新时有所不同,当前值Q网络实时更新,而目标值Q网络参数是每隔T回合后从当前值Q网络完全拷贝过来的,通过滞后更新保证了神经网络训练的稳定性。
在本发明的一些实施例中,所述步骤3中,训练方式具体包括以下步骤:
步骤3.1初始化当前值Q网络,初始化目标值Q网络,其网络参数与当前值Q网络一致,均为θ;
步骤3.2设定总迭代数为E,当前迭代次数记为epoch,初始化epoch=1。
步骤3.3设定一次迭代任务总数为K,K′为完成K个任务需要的总的出入库动作数,当前动作回合数为k′。
步骤3.4初始化k′=1。
步骤3.5随机生成任务序列与仓库初始状态,根据初始仓库状态及任务信息对状态矩阵初始化。
步骤3.6在决策时刻,首先根据堆垛机状态,进行巷道选择,其次进行动作筛选,最终进行动作选择,得到所执行动作。
步骤3.6.1进行巷道选择,根据所选巷道,得到对应的状态信息sh,将sh作为神经网络的输入,得到动作集内各动作对应的Q值,其中Q值是在当前状态下选取某个动作可能获得的奖励。
步骤3.6.2进行动作筛选,最终得到可选动作集。
步骤3.6.3根据Q值,在可选动作集中,采用ε-greedy算法进行动作选择。
步骤3.7执行动作a,根据选择的出入库规则,选择性能矩阵Lz(z=1,...,6),动作az选择Lz性能矩阵,等待动作a7不选择性能矩阵。其中,针对入库过程,按照先后顺序选择性能矩阵对应的可选货位,而针对出库过程则,结合性能矩阵计算出库任务堆垛机运行距离dout,选择使dout取到最小值的货位。之后对S矩阵中相应巷道的对应信息进行更新;同时计算得到动作完成时间ck′,根据动作完成时间内新到达的任务,对S矩阵中可执行任务信息进行更新。并得到奖励r。
步骤3.8设置经验池存储过往经验序列,建立一个容量为D的经验池,存储智能体得到的经验序列。当经验池满后,从经验池中随机抽取一个批次P个经验序列用于学习。
步骤3.9计算损失函数,使用Adam优化器,根据损失函数进行梯度下降来更新当前值Q网络参数。
步骤3.10在训练过程中,随着训练次数的增加,网络趋于完善,探索率ε随深度神经网络训练次数的增加而逐渐降低,直至探索概率ε降低至0.05。
步骤3.11为保证网络训练的稳定性,每隔T回合将当前值Q网络的参数复制给目标值Q网络。
步骤3.12若满足回合数k′<K′,则k′+1赋值给k′,跳转值步骤3.6。否则,表示第epoch次迭代完成。
步骤3.13若满足迭代次数epoch<E,则epoch+1赋值给epoch,跳转值步骤3.4。否则,表示迭代完成,网络训练结束。
步骤3.14在训练过程中,设置了对最优策略神经网络参数的保存复用。通过验证集评估模型效果,保存当前探索到的最优神经网络参数。如果在连续10个epoch的训练中没有得到更优的网络参数,则读取之前保存的最优网络参数,并在此基础上进行后续的网络参数更新。
在本发明的一些实施例中,所述步骤3.6.2中,动作筛选过程具体为:DQN算法通过神经网络拟合所有的状态-动作对的Q值,得到动作集内各动作对应的Q值,在进行动作选择前需要筛选可选动作集。在进行入库操作动作选择时,分别计算执行各个入库动作后货架的稳定性参数Mg,必须保证执行出入库动作后的稳定性参数小于稳定性阈值,来保证货架的稳定性安全。如果执行某个动作后的稳定性参数大于或等于稳定性阈值Mmax,则将该动作标记为不可选动作,最终得到可选动作集。
在本发明的一些实施例中,所述步骤3.6.3中,ε表示进行动作探索的概率,随机生成0到1的随机数,当该随机数小于ε时,将不选择Q值最大的动作,而是从可选动作集中随机选择一个动作a;当该随机数大于或等于ε时,则选择值Q值最大的动作a。
在本发明的一些实施例中,所述步骤4中,DQN神经网络训练好后,将探索率ε置为0,即在行动选择中选取Q值最大的动作,并选择性能矩阵Lz(z=1,...,6),动作az选择Lz性能矩阵,等待动作a7不选择性能矩阵。其中,针对入库过程,按照先后顺序选择性能矩阵对应的可选货位,而针对出库过程则,结合性能矩阵计算出库任务堆垛机运行距离dout,选择使dout取到最小值的货位,并输出货位分配方案。
本发明为了测试算法的性能,使用了货物类型数N=5的算例测试集,单个算例包含随机生成的K=1000个出入库任务。立体仓库模型采用巷道数H为2,每排货架的层数I为26,列数J为18,货位长度a为1,高度b为1的立体仓库,各类型货物重量mn均为1,堆垛机运动速度vd为1,设置货架的稳定性阈值Mmax为5。
基于本发明提出的DQN货位分配算法,DQN参数设置如下:经验池容量D为2000,批容量P为1024,总迭代数E为3000。采用以上介绍的参数设置和训练流程,对每次训练后的DQN货位分配算法通过如上测试集进行评价。由图3与图4可以看出,本发明提出的DQN货位分配算法显著提高了自动化立体仓库任务处理效率,相比于采用固定出入库策略,本发明DQN货位分配算法显著缩短了任务处理时间,约为9%,提升了货位分配效果,同时由图5可以看出,采用固定的出入库策略的货架稳定性参数Mg多次超出稳定性阈值5,存在一定的安全隐患,而采用本发明提出的DQN货位分配算法保证了稳定性参数Mg始终小于稳定性阈值Mmax,保证了货架稳定性与立体仓库的运行安全。
与现有技术相比,本发明的有益效果是:
(1)本发明更好的适应订单驱动的出入库方式,能够实现任务随机到达情况下的货位分配,在难以获取当日完整任务信息的情况下,采用遗传算法等传统启发式算法难以实时对出入库任务进行货位分配,而采用基于DQN的货位分配算法有效实现了实时的货位分配。
(2)本发明采用DQN算法解决实时货位分配问题,与遗传算法等传统启发式算法相比,本发明更好的适应订单驱动的出入库方式,能够实现任务随机到达情况下的实时货位分配。
(3)本发明对状态集与动作集做出了一定改进,为了避免状态集与动作集维度过大,通过不同巷道共用一个DQN神经网络来缩减状态集维度,并通过不采用选择具体货位为动作,而是改为选择不同出入库规则来缩减动作集维度,进一步根据出入库规则得到出入库任务对应的具体货位,在提高立体仓库出入库任务处理效率和保证货架稳定性的同时,有效提升了算法的训练效率。
(4)设置了对最优策略神经网络参数的保存复用,在训练过程中,当神经网络优化陷入瓶颈时,能够跳出局部最优,提高算法的寻优能力。同时通过预先计算并存储性能矩阵,进一步提高了算法的效率。
附图说明
图1是本发明实施例中一种自动化立体仓库货架俯视图;
图2是本发明实施的算法流程图;
图3是本发明方法的任务处理总时间优化曲线;
图4是DQN货位分配算法与固定出入库规则的任务处理总时间对比;
图5是DQN货位分配算法与固定出入库规则的最大货架稳定性参数对比,其中,每组柱状图中从左到右依次为货架1、货架2、货架3、货架4。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种自动化立体仓库出入库智能调度方法,包括以下步骤:
步骤1、建立立体仓库货架模型,并建立立体仓库出入库优化目标函数;
步骤1.1具体建模如下:
如图1所示,假设立体仓库货架为多巷道仓库,共有H个巷道,巷道编号记为h,每个巷道两侧各一排货架,分为左货架与右货架,货架编号g分别为2h-1与2h,立体仓库共有2H排货架。每排货架有I层J列,每个货架位于i层j列货位的坐标为(i,j)(i=1,...,I;j=1,...,J)。立体仓库每个货位的尺寸相同,长度为a,高度为b,巷道的宽度为d,且每个货位只能存放一件货物,货物类型为n(n=1,...,N),各类货物的重量记为mn
立体仓库为单出/入库口的出入库方式,假设立体仓库的货物入库口的坐标为第1巷道左货架(1,0),货物出库点的坐标为第1巷道左货架(1,J+1)。同时在每个巷道前设置出入库缓存点,入库缓存点坐标为第h巷道(1,0),出库缓存点坐标为第h巷道(1,J+1)。每个巷道对应一个堆垛机,将货物在巷道前的出入库缓存点与货架的货位之间移动,将堆垛机当前所在的位置记为(i=1,…,I;j=1,…,J)。出/入库口与缓存点之间通过匀速行驶的传送带运输货物。
建立立体仓库货位分配模型时,假设条件如下;
(1)堆垛机按照直线运动,且堆垛机的运行速度恒定且相同,出入库口到出入库缓存点的传送带的运行速度为vc
(2)货物经过传送带从入库口运送到所选巷道的入库缓存点的运行时间为传送带运转时间th(h=1,…,H);
(3)堆垛机性能完全相同,堆垛机到达指定货位后,完成拣选操作的时间恒定,记为tj
(4)出入库任务按照泊松分布随机到达,各种类货物到达的概率相同。
步骤1.2立体仓库任务执行时间:
步骤1.2.1当执行入库任务时,完成一个入库任务的时间主要包含如下几个过程:
tin_sum=max(th,td)+tin (3)
公式(1)中td表示堆垛机返回入库缓存点时间,即堆垛机从当前所在位置返回到入库缓存口的运行时间。
公式(2)中tin表示入库任务堆垛机从入库缓存口(1,0)到目标货位(i,j)的运行时间,加堆垛机完成拣选操作的时间tj
公式(3)中tin_sum表示入库任务处理时间,即对传送带运转时间th与堆垛机返回入库缓存点时间td进行比较,取两者较大的时间,并加入库任务处理时间tin
步骤1.2.2当执行出库任务时,完成一个出库任务的时间如下:
如公式(4)所示,出库任务处理时间tout,即堆垛机从当前所在的货位到目标货位(i,j)再到出库缓存点的运行时间,加堆垛机完成拣选操作的时间tj
步骤1.2.3当不存在可执行任务,执行等待动作时,根据当前时刻tnow与下一可执行任务到达时刻tnext,可以得到等待时间tw
tw=tnext-tnow (5)
步骤1.3建立出入库优化目标函数
货物的出入库效率是货位分配时主要考虑的优化目标。实现最小化一组任务序列的立体仓库运行时间,设任务序列的总出入库任务数为K(k=1,…,K),任务序列号为k,K'为完成K个任务需要的总的出入库动作数,第k'个动作回合的完成时间由动作类型决定。动作完成时间ck′由tout、tin_sum与tw构成,代表了当前操作的耗时。
因此建立立体仓库优化目标函数如下,其中F为出入库任务总运行时间:
步骤1.4建立货架稳定性目标约束:
在立体仓库中,货架的稳定性主要与重心相关,为了保证货架的结构稳定性,使货架的整体重心最低,应将较轻的货物放于货架的上层,较重的货物放于货架底层。通过对货架重心进行评估得到仓库货架稳定性参数M,结合预先设置的货架稳定性阈值Mmax来保证货架的稳定性安全:
M=[M1,M2,…,Mg,…,M2H] (8)
其中,Ml是第g排货架的稳定性参数,为向上取整,/>为第g排货架的第i层j列的货位所存放的货物重量;/>表示第g排货架的第i层j列货位的货物存储状态,若为0代表该货位为空,否则表示该货位存放的货物类型信息。
为了保证在立体仓库运行过程中的安全性,在每次进行出入库操作时必须对货架进行稳定性目标约束,保证货架稳定性参数小于货架稳定性阈值,概括为:
Mg<Mmax (11)
步骤2、设计基于DQN的货位分配算法
算法通过神经网络拟合所有的状态-动作对的Q值,其中Q值是在当前状态下选取某个动作可能获得的奖励,其决策时刻,状态,动作,奖励设置如下:
步骤2.1决策时刻定义
决策时刻定义为当前任务完成时刻,因此在决策时刻必定有至少一个堆垛机属于空闲状态。
步骤2.2状态定义
状态指当前问题的状态,即决策时刻所选巷道对应两侧货架的状态信息,状态信息包括货位存储状态、堆垛机信息、可执行任务信息。
S=[s1 s2 … sh … sH]Th∈[1,...,H] (12)
其中S矩阵表示所有巷道状态的集合。sh表示第h个巷道货架的状态信息,其中,part1表示第h巷道左侧货架的存储货物信息,part2表示第h巷道右侧货架的存储货物信息,Part3表示该巷道堆垛机位置信息与可执行任务信息。与/>分别表示货架编号g为2h-1与2h的货架的第i层j列货位的货物存储状态,若为0代表该货位为空,否则表示该货位存放的货物类型信息。/>与/>表示第h巷道堆垛机当前位于货架的第/>层与/>列。zo和zi表示当前可执行的出/入库任务信息,若为0代表不存在可执行出入库任务,否则表示可执行出入库任务的货物类型信息。T表示矩阵转置。
步骤2.3为了避免输入的状态尺寸过大,不输入包含整个立体仓库状态的S矩阵,而是首先选择巷道,优先选择堆垛机为空闲的巷道,当有多个堆垛机空闲时,优先选择离出入库口最近的巷道。将所选巷道h对应的状态sh输入神经网络,通过不同巷道之间共用一个神经网络,极大地缩减了状态集,加快了神经网络模型的训练速度。
步骤2.4动作定义
对于大规模的立体仓库,若选择具体货位作为动作,会造成动作空间过大,因此在设置动作集时,采用的不是具体货位而是不同的出入库规则,根据不同的出入库规则选择货位,这样可以极大缩减动作集。针对立体仓库出入库货位分配问题,通过选择几个立体仓库底层的几个特殊货位生成动作规则,选取的特殊货位之间间距相等。选择入库缓存口,底层1/4位点,底层1/2位点,底层3/4位点作为特殊货位点,具体的规则设置如下:
规则1:选择所有空货位中,距离入库缓存口(1,0)最近的货位,若有多个货位距离相同,优先选择层数i最小,列数j最小的货位入库。
规则2:选择所有空货位中,距离最近的货位,若有多个货位距离相同,优先选择层数i最小,列数j最小的货位入库。
规则3:选择所有空货位中,距离最近的货位,若有多个货位距离相同,优先选择层数i最小,列数j最小的货位入库。
规则4:选择所有空货位中,距离最近的货位,若有多个货位距离相同,优先选择层数i最小,列数j最小的货位入库。
规则5:选择所有空货位中,层数i最小的货位,若有多个货位层数i相同,优先选择列数j最小的货位入库。
规则6:选择所有空货位中,堆垛机从当前所在的货位到所选货位(i,j)再到出库缓存点(1,J+1)距离最短的货位,若有多个货位距离相同,优先选择层数i最大,列数j最大的货位出库。
规则7:不选择货位,堆垛机进行等待。
因此,堆垛机的动作集A包含七种动作,如下:
A={a1,a2,a3,a4,a5,a6,a7} (15)
a1代表入库缓存口(1,0)最近距离优先的入库动作,对应规则1;a2代表距底层点最近距离优先的入库动作,对应规则2;a3代表距/>点最近距离优先的入库动作,对应规则3;a4代表距/>点最近距离优先的入库动作,a5代表底层货位优先的入库动作,对应规则5,a6代表出库动作,对应规则6;a7代表等待动作,对应规则7。
步骤2.5计算立体仓库货架的性能矩阵
通过预先计算每个货位与出入库缓存点之间的距离,与底层中心货位之间的距离,与底层特殊货位之间的距离,并存入性能矩阵L,可以减少重复冗余计算,有效提高程序的运算效率。同时由于各货架规格完全相同,各货架可以共享性能矩阵L,性能矩阵具体设置为:
L=[L1,L2,L3,L4,L5,L6] (16)
L1存储每个货位与入库缓冲口(1,0)之间的欧氏距离,并按照从小到大进行排序。
L2存储每个货位与货位之间的欧氏距离,并按照从小到大进行排序。
L3存储每个货位与货位之间的欧氏距离,并按照从小到大进行排序。
L4存储每个货位与货位之间的欧氏距离,并按照从小到大进行排序。
L5存储每个货位所在的层数,并按照从小到大进行排序。
L6存储每个货位与出库缓存点(1,J+1)之间的欧氏距离,并按照从小到大进行排序。
步骤2.6对奖励r进行定义。奖励的主要作用是评价动作的优劣以训练模型,在智能体与环境的交互过程中,奖励规则决定了环境对智能体的行为给出的反馈,该反馈用以指导智能体学习。在该系统中,奖励r分为入库奖励rin,出库奖励rout,与等待奖励rw分别设置如下:
其中tin,max与tin,min为入库任务处理时间tin最大可取数值和最小可取数值。tout,max与tout,min为出库任务处理时间tout最大可取数值和最小可取数值。
步骤2.7DQN网络模型由二维卷积层与全连接层构成。在当前值Q网络的基础上,另外设置了一个目标值Q网络,目标值Q网络与当前值Q网络的网络结构完全相同,初始化目标值Q网络的网络参数与当前值Q网络也相同,只在参数更新时有所不同,当前值Q网络实时更新,而目标值Q网络参数是每隔T回合后从当前值Q网络完全拷贝过来的,通过滞后更新保证了神经网络训练的稳定性。
步骤3、如图2所示,对DQN神经网络模型进行训练,得到训练后的网络模型
步骤3.1初始化当前值Q网络,初始化目标值Q网络,其网络参数与当前值Q网络一致,均为θ;
步骤3.2设定总迭代数为E,当前迭代次数记为epoch,初始化epoch=1。
步骤3.3设定一次迭代任务总数为K,K′为完成K个任务需要的总的出入库动作数,当前动作回合数为k′。
步骤3.4初始化k′=1。
步骤3.5随机生成任务序列与仓库初始状态,根据初始仓库状态及任务信息对S矩阵初始化。
步骤3.6在决策时刻,首先根据堆垛机状态,进行巷道选择,其次进行动作筛选,最终进行动作选择,得到所执行动作。
步骤3.6.1进行巷道选择,根据所选巷道,得到对应的状态信息sh,将sh作为神经网络的输入,得到动作集内各动作对应的Q值,其中Q值是在当前状态下选取某个动作可能获得的奖励。
步骤3.6.2进行动作筛选,DQN算法通过神经网络拟合所有的状态-动作对的Q值,得到动作集内各动作对应的Q值,在进行动作选择前需要筛选可选动作集。在进行入库操作动作选择时,分别计算执行各个入库动作后货架的稳定性参数Mg,必须保证执行出入库动作后的稳定性参数小于稳定性阈值,来保证货架的稳定性安全。如果执行某个动作后的稳定性参数大于或等于稳定性阈值Mmax,则将该动作标记为不可选动作。最终得到可选动作集A'。
步骤3.6.3根据Q值,在可选动作集中,采用ε-greedy算法进行动作选择,ε表示进行动作探索的概率,随机生成0到1的随机数,当该随机数小于ε时,将不选择Q值最大的动作,而是从可选动作集中随机选择一个动作a;当该随机数大于或等于ε时,则选择Q值最大的动作a。
步骤3.7执行动作a,根据选择的出入库规则,选择性能矩阵Lz(z=1,...,6),动作az选择Lz性能矩阵,等待动作a7不选择性能矩阵。其中,针对入库过程,按照先后顺序选择性能矩阵对应的可选货位,而针对出库过程则按照公式(18),结合性能矩阵计算出库任务堆垛机运行距离dout,选择使dout取到最小值的货位。之后对S矩阵中相应巷道的对应信息进行更新;同时根据公式(6)得到动作完成时间ck′,并根据动作完成时间内新到达的任务,对S矩阵中可执行任务信息进行更新。并且根据公式(17)得到奖励r。
步骤3.8设置经验池存储过往经验序列,建立一个容量为D的经验池,存储智能体得到的经验序列(sh,a,r,s′h),其中s′h表示更新后状态信息。当经验池满后,从经验池中随机抽取一个批次P个经验序列用于学习,通过随机抽取,切断了经验序列间的相关性;同时每一条经验可以重复学习多次,提高了经验的利用率。
步骤3.9计算损失函数,通过使损失函数最小化来达到更好的神经网络拟合效果。根据当前动作选择得到的奖励r与下一状态的最大动作价值来进行当前值Q网络参数更新,对于从经验池中随机采样的P个经验序列p=1,…,P,其均方差损失函数如下:
其中γ为折扣因子,衡量未来状态价值的衰减,设置γ=0.9,Q(shp,a′p-)表示目标值Q网络的输出,表示当前值Q网络的输出。
使用Adam优化器,根据损失函数进行梯度下降来更新当前值Q网络的参数。
步骤3.10在训练过程中,随着训练次数的增加,网络趋于完善,探索率ε随深度神经网络训练次数的增加而逐渐降低,直至探索概率ε降低至0.05。
步骤3.11为保证网络训练的稳定性,每隔T回合将当前值Q网络的参数复制给目标值Q网络。
步骤3.12若满足回合数k′<K′,则k′+1赋值给k′,跳转值步骤3.6。否则,表示第epoch次迭代完成。
步骤3.13若满足迭代次数epoch<E,则epoch+1赋值给epoch,跳转值步骤3.4。否则,表示迭代完成,网络训练结束。
步骤3.14在训练过程中,设置了对最优策略神经网络参数的保存复用。通过验证集评估模型效果,保存当前探索到的最优神经网络参数。如果在连续10个epoch的训练中没有得到更优的网络参数,则读取之前保存的最优网络参数,并在此基础上进行后续的网络参数更新。
步骤4、将训练好的神经网络模型应用于自动化立体仓库出入库控制,根据系统状态进行巷道和货位的选择。
神经网络模型训练好后,将探索率ε置为0,即选择Q值最大的动作,并选择性能矩阵Lz(z=1,…,6),动作az选择Lz性能矩阵,等待动作a7不选择性能矩阵。其中,针对入库过程,按照先后顺序选择性能矩阵对应的可选货位,而针对出库过程则按照公式(18),结合性能矩阵计算出库任务堆垛机运行距离dout,选择使dout取到最小值的货位。
以上内容仅仅是对本发明结构所作的举例和说明,所属本技术领域的技术人员对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

Claims (10)

1.一种自动化立体仓库出入库智能调度方法,其特征在于,包括以下步骤:
步骤1、建立立体仓库货架模型,并建立立体仓库出入库优化目标函数;
步骤2、设计基于DQN的货位分配算法;
步骤3、对DQN神经网络模型进行训练,得到训练后的网络模型;
步骤4、将训练好的神经网络模型应用于自动化立体仓库出入库控制,根据系统状态进行巷道和货位的选择。
2.根据权利要求1所述的一种自动化立体仓库出入库智能调度方法,其特征在于:所述步骤1中,立体仓库货架模型中的参数包括,每排货架的列数I、每排货架的层数J、每个货架上货位的长度a、每个货架上货位的高度b、每个货架上货位的宽度c、立体仓库的巷道数H、巷道的宽度d;每个巷道两侧各一排货架,分为左货架与右货架,货架编号g分别为2h-1与2h,共有2H排货架;货物类型为n,各类货物的重量记为mn
3.根据权利要求1所述的一种自动化立体仓库出入库智能调度方法,其特征在于:所述步骤1中,出入库优化目标函数的建立方式如下,设任务序列的总出入库任务数为K(k=1,...,K),任务序列号为k,K'为完成K个任务需要的总的出入库动作数,第k'个动作回合的完成时间由操作类型决定,建立出入库优化目标函数如下:
其中,F为出入库任务总运行时间,ck′为第k'个回合的完成时间,tin_sum表示入库任务处理时间,tout表示出库任务处理时间,tw表示等待时间。
4.根据权利要求1所述的一种自动化立体仓库出入库智能调度方法,其特征在于:所述步骤1中,通过对货架重心进行评估得到仓库货架稳定性参数M,结合预先设置的货架稳定性阈值Mmax来保证货架的稳定性安全:
M=[M1,M2,…,Mg,…,M2H]
其中,Mg是第g排货架的稳定性参数,为向上取整,/>为第g排货架的第i层j列的货位所存放的货物重量;/>表示第g排货架的第i层j列货位的货物存储状态,若为0代表该货位为空,否则表示该货位存放的货物类型信息;
保证货架稳定性参数小于货架稳定性阈值:
Mg<Mmax
5.根据权利要求1所述的一种自动化立体仓库出入库智能调度方法,其特征在于,所述步骤2中:
货位分配算法通过神经网络拟合所有的状态-动作对的Q值,其中Q值是在当前状态下选取某个动作可能获得的奖励,并根据Q值,采用ε-greedy策略进行动作选择,包括对决策时刻所选巷道对应两侧货架的状态信息、堆垛机的动作、环境对智能体的行为给出的反馈、决策时刻进行定义;
决策时刻定义为当前任务完成时刻,决策时刻至少有一个堆垛机属于空闲状态;
为了避免输入的状态尺寸过大,不输入包含整个立体仓库的状态矩阵,而是首先选择巷道,优先选择堆垛机为空闲的巷道,当有多个堆垛机空闲时,优先选择离出入库口最近的巷道,将所选巷道h对应的状态输入神经网络,通过不同巷道之间共用一个神经网络,极大地缩减了状态集,加快了神经网络模型的训练速度;
设置动作集时,采用不同的出入库规则,根据不同的出入库规则选择货位,这样可以极大缩减动作集。
6.根据权利要求1所述的一种自动化立体仓库出入库智能调度方法,其特征在于:所述步骤2中,通过预先计算每个货位与出入库缓存点之间的距离,与底层中心货位之间的距离,与底层特殊货位之间的距离,并存入性能矩阵L,同时由于各货架规格完全相同,各货架可以共享性能矩阵L,性能矩阵具体设置为:
L=[L1,L2,L3,L4,L5,L6]
L1存储每个货位与入库缓冲口(1,0)之间的欧氏距离,并按照从小到大进行排序;
L2存储每个货位与货位之间的欧氏距离,并按照从小到大进行排序;
L3存储每个货位与货位之间的欧氏距离,并按照从小到大进行排序;
L4存储每个货位与货位之间的欧氏距离,并按照从小到大进行排序;
L5存储每个货位所在的层数,并按照从小到大进行排序;
L6存储每个货位与出库缓存点(1,J+1)之间的欧氏距离,并按照从小到大进行排序。
7.根据权利要求1所述的一种自动化立体仓库出入库智能调度方法,其特征在于:所述步骤2中,DQN网络模型由二维卷积层与全连接层构成,在当前值Q网络的基础上,另外设置了一个目标值Q网络,目标值Q网络与当前值Q网络的网络结构完全相同,初始化目标值Q网络的网络参数与当前值Q网络也相同,只在参数更新时有所不同,当前值Q网络实时更新,而目标值Q网络参数是每隔T回合后从当前值Q网络完全拷贝过来的,通过滞后更新保证了神经网络训练的稳定性。
8.根据权利要求1所述的一种自动化立体仓库出入库智能调度方法,其特征在于,所述步骤3中,训练方式具体包括以下步骤:
步骤3.1初始化当前值Q网络,初始化目标值Q网络,其网络参数与当前值Q网络一致,均为θ;
步骤3.2设定总迭代数为E,当前迭代次数记为epoch,初始化epoch=1;
步骤3.3设定一次迭代任务总数为K,K′为完成K个任务需要的总的出入库动作数,当前动作回合数为k′;
步骤3.4初始化k′=1;
步骤3.5随机生成任务序列与仓库初始状态,根据初始仓库状态及任务信息对状态矩阵初始化;
步骤3.6在决策时刻,首先根据堆垛机状态,进行巷道选择,其次进行动作筛选,最终进行动作选择,得到所执行动作;
步骤3.6.1进行巷道选择,根据所选巷道,得到对应的状态信息sh,将sh作为神经网络的输入,得到动作集内各动作对应的Q值,其中Q值是在当前状态下选取某个动作可能获得的奖励;
步骤3.6.2进行动作筛选,最终得到可选动作集;
步骤3.6.3根据Q值,在可选动作集中,采用ε-greedy算法进行动作选择;
步骤3.7执行动作a,根据选择的出入库规则,选择性能矩阵Lz(z=1,...,6),动作az选择Lz性能矩阵,等待动作a7不选择性能矩阵;其中,针对入库过程,按照先后顺序选择性能矩阵对应的可选货位,而针对出库过程则结合性能矩阵计算出库任务堆垛机运行距离dout,选择使dout取到最小值的货位,之后对S矩阵中相应巷道的对应信息进行更新;同时计算得到动作完成时间ck′,根据动作完成时间内新到达的任务,对S矩阵中可执行任务信息进行更新,并得到奖励r;
步骤3.8设置经验池存储过往经验序列,建立一个容量为D的经验池,存储智能体得到的经验序列,当经验池满后,从经验池中随机抽取一个批次P个经验序列用于学习;
步骤3.9计算损失函数,使用Adam优化器,根据损失函数进行梯度下降来更新当前值Q网络参数;
步骤3.10在训练过程中,随着训练次数的增加,网络趋于完善,探索率ε随深度神经网络训练次数的增加而逐渐降低,直至探索概率ε降低至0.05;
步骤3.11为保证网络训练的稳定性,每隔T回合将当前值Q网络的参数复制给目标值Q网络;
步骤3.12若满足回合数k′<K′,则k′+1赋值给k′,跳转值步骤3.6,否则,表示第epoch次迭代完成;
步骤3.13若满足迭代次数epoch<E,则epoch+1赋值给epoch,跳转值步骤3.4,否则,表示迭代完成,网络训练结束;
步骤3.14在训练过程中,设置了对最优策略神经网络参数的保存复用,通过验证集评估模型效果,保存当前探索到的最优神经网络参数,如果在连续10个epoch的训练中没有得到更优的网络参数,则读取之前保存的最优网络参数,并在此基础上进行后续的网络参数更新。
9.根据权利要求8所述的一种自动化立体仓库出入库智能调度方法,其特征在于,所述步骤3.6.2中:
动作筛选过程具体为,DQN算法通过神经网络拟合所有的状态-动作对的Q值,得到动作集内各动作对应的Q值,在进行动作选择前需要筛选可选动作集,在进行入库操作动作选择时,分别计算执行各个入库动作后货架的稳定性参数Mg,必须保证执行出入库动作后的稳定性参数小于稳定性阈值,来保证货架的稳定性安全,如果执行某个动作后的稳定性参数大于或等于稳定性阈值Mmax,则将该动作标记为不可选动作,最终得到可选动作集。
10.根据权利要求1所述的一种自动化立体仓库出入库智能调度方法,其特征在于:所述步骤4中,DQN神经网络训练好后,将探索率ε置为0,即在行动选择中选取Q值最大的动作,并选择性能矩阵Lz(z=1,...,6),动作az选择Lz性能矩阵,等待动作a7不选择性能矩阵;其中,针对入库过程,按照先后顺序选择性能矩阵对应的可选货位,而针对出库过程则结合性能矩阵计算出库任务堆垛机运行距离dout,选择使dout取到最小值的货位,并输出货位分配方案;
CN202310542198.5A 2023-05-15 2023-05-15 一种自动化立体仓库出入库智能调度方法 Pending CN116596440A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310542198.5A CN116596440A (zh) 2023-05-15 2023-05-15 一种自动化立体仓库出入库智能调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310542198.5A CN116596440A (zh) 2023-05-15 2023-05-15 一种自动化立体仓库出入库智能调度方法

Publications (1)

Publication Number Publication Date
CN116596440A true CN116596440A (zh) 2023-08-15

Family

ID=87604011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310542198.5A Pending CN116596440A (zh) 2023-05-15 2023-05-15 一种自动化立体仓库出入库智能调度方法

Country Status (1)

Country Link
CN (1) CN116596440A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117933666A (zh) * 2024-03-21 2024-04-26 壹号智能科技(南京)有限公司 一种密集仓储机器人调度方法、装置、介质、设备及系统
CN118239165A (zh) * 2024-05-27 2024-06-25 中国电器科学研究院股份有限公司 一种自动化立体物流仓库及其运行方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117933666A (zh) * 2024-03-21 2024-04-26 壹号智能科技(南京)有限公司 一种密集仓储机器人调度方法、装置、介质、设备及系统
CN118239165A (zh) * 2024-05-27 2024-06-25 中国电器科学研究院股份有限公司 一种自动化立体物流仓库及其运行方法

Similar Documents

Publication Publication Date Title
CN110909930B (zh) 一种面向冷库的移动式货架仓储系统货位分配方法
CN116596440A (zh) 一种自动化立体仓库出入库智能调度方法
CN113222293B (zh) 一种智能立体仓库优化调度方法
CN108550007B (zh) 一种制药企业自动化立体仓库的货位优化方法及系统
CN111626516B (zh) 考虑倒货策略的双深位四向穿梭车系统订单排序优化方法
CN107341629A (zh) 库位分配方法和装置
CN109583660B (zh) 一种动态拣货策略的实现方法
CN106651086B (zh) 一种考虑组装工艺的自动化立体仓库调度方法
CN105858043A (zh) 一种升降机与穿梭车结合的仓储系统优化调度方法
CN114595607A (zh) 一种数字孪生纺织条桶输送方法及系统
CN116902449A (zh) 用于智能立体库房的工业物联网、控制方法及其存储介质
CN113762563A (zh) 基于订单灰色关联分析的仓储货位优化布局方法及系统
CN115421448A (zh) Agv拣货路径规划方法及系统
CN116976231B (zh) 一种基于遗传算法的平面地堆库agv理库作业优化方法
CN116796910B (zh) 基于货物分配策略的订单分批优化方法
Luo et al. Scheduling storage process of shuttle-based storage and retrieval systems based on reinforcement learning
CN116664053A (zh) 一种商品库存管理方法
CN116342039A (zh) 一种立体仓库的货物分配和拣选的优化方法
CN116468372A (zh) 一种储位分配方法、系统及存储介质
CN115409448A (zh) 仓储调度决策方法、装置、终端设备以及存储介质
CN115860239A (zh) 一种用于非字型货架的立体仓库货位分配优化方法
CN113313447B (zh) 一种基于寄居蟹算法的立体仓库货位分配方法
CN114493181A (zh) 一种智能仓储环境下的多负载agv任务调度方法
CN113034083A (zh) 一种仓储合托优化方法、装置及系统
Merkuryev et al. Warehouse order picking process

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