一种用于非字型货架的立体仓库货位分配优化方法

文档序号:33644213发布日期:2023-03-29 03:02阅读:63来源:国知局
一种用于非字型货架的立体仓库货位分配优化方法

1.本发明涉及智能仓储行业技术领域,特别涉及一种用于非字型货架的立体仓库货位分配优化方法。


背景技术:

2.自动化立体仓库以其低占地面积、高吞吐效率和智能化集成控制的特点被广泛应用于工业仓储环节,而非字型货架的立体仓库在物流行业中应用最为常见。非字型货架是一种将货架设计成外层两侧单列、内部双列的货架类型,而影响非字型货架存取作业效率的因素中,主要是货位分配问题。由于不可控的外部因素及非字型货架本身的特性,货物在入库存储时若货位分配不当,会增加出入库运行的距离和作业时间,降低出入库效率和物流企业效益。目前国内对智能立体仓储研究起步比较晚,针对于大规模物流的动态存储仍然发展缓慢,尤其缺乏适用于非字型货架货位分配的优化控制研究。
3.现有技术的不足之处在于,目前有提出设定规则的货位分配方法,如根据该货物的周转率的比值对货位的摆放位置进行优化,部分研究者以货物出入库频率和货架稳定性为优化目标建立适应度函数,并通过启发式算法进行优化,但现有的立体仓库货位分配优化方法有一定的局限性:现有方法考虑的现实因素少,对物流场景建模与现实情况存在偏差;需要人为设计目标函数和约束条件,对先验知识的要求较高;只能考虑到当前时间点的仓库最优情况,无法进行出入库动态规划。


技术实现要素:

4.本发明的目的克服现有技术存在的不足,为实现以上目的,采用一种用于非字型货架的立体仓库货位分配优化方法,以解决上述背景技术中提出的问题。
5.一种用于非字型货架的立体仓库货位分配优化方法,具体步骤包括:
6.步骤s1、构建基于dqn框架的强化学习模型,并定义强化学习模型中的智能体、状态空间、动作空间、奖励回报,以及其优化目标;
7.步骤s2、对强化学习模型的所有参数值和策略进行初始化,并随机生成出入库任务;
8.步骤s3、将基于泊松到达过程的所述出入库任务输入强化学习模型,对构建的强化学习模型进行训练;
9.步骤s4、利用反向传播算法对策略梯度进行求导,计算梯度下降更新dqn网络参数;
10.步骤s5、重复上述步骤s3和s4,得到训练完成的强化学习模型,并应用于立体仓库进行货位智能优化。
11.作为本发明的进一步的方案:所述步骤s1的具体步骤包括:
12.s11、状态空间定义:
13.获取立体仓库货位的信息,包括货位存储货物信息、堆垛机信息,以及可执行任务
信息,同时对每个货位进行编码,编码表示为:
14.s=(p
1,
p
2,
p
3,

t,
d,e)∈[1,

,t];
[0015]
其中,pi代表货物种类,t代表货位个数,i代表每个货位对应的唯一编码,d代表堆垛机信息,e代表当前可执行任务信息;
[0016]
s12、动作空间定义:
[0017]
采用不同的出入库规则设置动作空间,同时通过预先计算每个货位与出入库点之间的距离,存入距离矩阵,动作空间设置四类动作,包括选择移动距离最近的货格进行出库、选择最短距离的空货格进行入库、选择靠近底层中间位置的空货格进行入库、无可执行出入库任务,等待新任务到达;
[0018]
s13、奖励回报定义:
[0019]
获取奖励回报决定状态对智能体的动作给出的反馈,并将该反馈用以指导智能体学习,设定优化目标是获得的奖励回报最大化;
[0020]
所述奖励回报设置为,对任务完成时间进行归一化,并以其相反数作为奖励回报。
[0021]
作为本发明的进一步的方案:所述步骤s2的具体步骤包括:
[0022]
随机生成货格,以及货物,随机取n个货格位置;
[0023]
生成货格状态,以及堆垛机状态,其中,货格状态表示货格中货物的有或无,初始货物类型为0,表示未选择。
[0024]
作为本发明的进一步的方案:所述步骤s3的具体步骤包括:
[0025]
首先扫描获取当前的已到达任务,判断是否可以执行;
[0026]
采取入库任务或出库任务,基于dqn网络和贪心策略,选择最短距离的空货格进行入库或靠近底层中间位置的空货格进行入库;
[0027]
同时实时更新任务执行期间是否有到达的新任务,若无则等待,若有则执行新任务;
[0028]
获得奖励回报r和新的状态s',并存储到dqn网络中预设的经验池中。
[0029]
作为本发明的进一步的方案:所述步骤s4的具体步骤包括:
[0030]
s41、优先经验抽取:
[0031]
首先从经验池中采样一个批量数据,通过概率方式进行抽取经验,则每个经验的实际抽取概率为:
[0032][0033]
其中,j=|δ
t
+|,j为经验池中的经验的个数,δ
t
为td偏差,设定非均匀抽样概率pj正比于td偏差δ
t
,对pj的进行归一化处理得到每个经验的实际抽样概率p(j);
[0034]
通过相应调整学习率α,消除偏差,表达式为:
[0035]
α

α
·
(np
t
)-β
[0036]
其中,n为参与抽样的经验数,β∈(0,1];
[0037]
s42、价值网络更新:
[0038]
引入一个目标网络,从目标网络估计td目标值,用于进行dqn网络的更新,通过使用新的dqn网络更新目标网络,根据采样的经验(s
t
,a,r
t
,s
t+1
)来更新dqn网络,具体公式如下:
[0039]
td目标值:
[0040]
td偏差:δ
t
=q(s
t
,a
t
;w)-y
t
[0041]
梯度下降:
[0042]
其中,s
t
表示t时刻的状态,a表示动作选择,a
t
表示t时刻的动作选择,q(s
t
,a
t
;w)表示目标网络对当前t时刻的状态动作选择的价值估计,r
t
是t时刻当前动作选择得到的立即回报,γ∈(0,1]代表对未来状态价值估计的衰减,s
t+1
表示下一状态,表示t+1时刻的最大状态动作选择的价值估计,α代表算法更新的学习率,w表示梯度下降。
[0043]
作为本发明的进一步的方案:所述步骤s5的具体为,通过设置训练和测试轮数,以及每轮包含的任务数,再对强化学习模型进行训练。
[0044]
与现有技术相比,本发明存在以下技术效果:
[0045]
采用上述的技术方案,通过构建基于dqn框架的强化学习模型,再改进训练机制,调整学习参数,简化了动作空间,考虑非字型货架特性增加在靠近底层中间位置入库的动作,以及预先计算每个货位与出入库点之间的距离并存入距离矩阵,减少了重复冗余计算。
[0046]
利用经验回放更新的方法,采用经验回放池进行采样,并用于参数更新。通过设置经验池随机抽取,可以切断经验的相关性,每一条经验可以重复学习多次,提高了经验的利用率。
[0047]
最后还引入一个目标网络,从目标网络估计td目标值,然后用于进行dqn网络的更新,一段时间后,使用新的dqn网络更新目标网络。
附图说明
[0048]
下面结合附图,对本发明的具体实施方式进行详细描述:
[0049]
图1为本技术公开实施例的分配优化方法的步骤示意图;
[0050]
图2为本技术公开实施例的强化学习模型的流程框图。
具体实施方式
[0051]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052]
请参考图1和图2,本发明实施例中,一种用于非字型货架的立体仓库货位分配优化方法,具体步骤包括:
[0053]
步骤s1、构建基于dqn框架的强化学习模型,并定义强化学习模型中的智能体、状态空间、动作空间、奖励回报,以及其优化目标,具体步骤包括:
[0054]
s11、状态空间s定义:
[0055]
获取立体仓库货位的信息,包括货位存储货物信息、堆垛机信息,以及可执行任务信息,同时对每个货位进行编码,编码表示为:
[0056]
s=(p
1,
p
2,
p
3,

t,
d,e)∈[1,

,t];
[0057]
其中,pi代表货物种类,t代表货位个数,i代表每个货位对应的唯一编码,d代表堆
垛机信息,e代表当前可执行任务信息;
[0058]
s12、动作空间定义:
[0059]
在设置动作空间时,采用的不是具体货位而是不同的出入库规则设置动作空间,同时通过预先计算每个货位与出入库点之间的距离,存入距离矩阵,有效降低了程序的计算时间。动作空间设置四类动作,包括选择移动距离最近的货格进行出库、选择最短距离的空货格进行入库、选择靠近底层中间位置的空货格进行入库、无可执行出入库任务,等待新任务到达;
[0060]
s13、奖励回报定义:
[0061]
获取奖励回报决定状态对智能体的动作给出的反馈,并将该反馈用以指导智能体学习,设定优化目标是获得的奖励回报最大化;
[0062]
所述奖励回报设置为,对任务完成时间进行归一化,并以其相反数作为奖励回报;
[0063]
步骤s2、对强化学习模型的所有参数值和策略进行初始化,并随机生成出入库任务,具体步骤包括:
[0064]
步骤s21、随机生成货格,以及货物,随机取n个货格位置;
[0065]
步骤s22、生成货格状态,以及堆垛机状态,其中,货格状态表示货格中货物的有或无,初始货物类型为0,表示未选择,堆垛机的初始行动设为5,用于区分第一次作业。
[0066]
步骤s3、将基于泊松到达过程的所述出入库任务输入强化学习模型,对构建的强化学习模型进行训练,具体步骤包括:
[0067]
首先扫描获取当前的已到达任务,判断是否可以执行;
[0068]
采取入库任务或出库任务,基于dqn网络和贪心策略,选择最短距离的空货格进行入库或靠近底层中间位置的空货格进行入库;
[0069]
同时实时更新任务执行期间是否有到达的新任务,若无则等待,若有则执行新任务;
[0070]
获得奖励回报r和新的状态s',并将得到参数(s,a,r,s')存储到dqn网络中预设的经验池中,经验池是dqn算法的基本设计,本实施例中的改进在于经验池的优先提取和double dqn。
[0071]
步骤s4、利用反向传播算法对策略梯度进行求导,计算梯度下降更新dqn网络参数,具体步骤包括:
[0072]
s41、优先经验抽取:
[0073]
首先从经验池中采样一个批量数据,为了不让网络过拟合,通过概率方式进行抽取经验,则每个经验的实际抽取概率为:
[0074][0075]
其中,j=|δ
t
+|,δ
t
为td偏差,设定非均匀抽样概率pj正比于td偏差δ
t
,对pj的进行归一化处理得到每个经验的实际抽样概率p(k),∈是一个很小的值,防止td偏差为0的经验被抽取到的概率不会为0;
[0076]
由于使用不同概率抽取经验,则dqn预测有偏差;
[0077]
通过相应调整学习率α,消除偏差,表达式为:
[0078]
α

α
·
(np
t
)-β
[0079]
其中,n为参与抽样的经验数,β∈(0,1]。
[0080]
s42、价值网络更新:
[0081]
引入一个目标网络,从目标网络估计td目标值,用于进行dqn网络的更新,通过使用新的dqn网络更新目标网络,根据采样的经验(s
t
,a,r
t
,s
t+1
)来更新dqn网络,具体公式如下:
[0082]
td目标值:
[0083]
td偏差:δ
t
=q(s
t
,a
t
;w)-y
t
[0084]
梯度下降:
[0085]
其中,s
t
表示t时刻的状态,a表示动作选择,a
t
表示t时刻的动作选择,q(s
t
,a
t
;w)表示目标网络对当前t时刻的状态动作选择的价值估计,r
t
是t时刻的当前动作选择得到的立即回报,γ∈(0,1]代表对未来状态价值估计的衰减,s
t+1
表示下一状态,表示t+1时刻的最大状态动作选择的价值估计,α代表了算法更新的学习率,w表示梯度下降。
[0086]
步骤s5、重复上述步骤s3和s4,得到训练完成的强化学习模型,并应用于立体仓库进行货位优化,具体实施方式是通过设置具体的训练和测试轮数,以及每轮包含的任务数,再对强化学习模型进行训练。
[0087]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1