基于dual Q-learning 的装配时间不确定装配作业车间自适应调度

《Adaptive scheduling for assembly job shop with uncertain assembly times based on dual Q-learning》

International journal of production research/2021

1 摘要

        针对装配作业车间生产环境的不确定性,结合强化学习的实时性,针对装配作业车间调度问题,提出了一种双Q学习(dual Q learning,D-Q)方法,通过自学习来增强对环境变化的适应性。在最小化总加权提前惩罚完工时间成本的目标函数的基础上,顶层Q-学习着眼于局部目标,以求最小机器闲置和均衡机器负载的调度策略;底层Q-学习,侧重于全局目标,以学习最优调度策略,使所有作业的整体提前时间最小。理论分析和仿真实验表明,在不同条件下产品到达频率不同的情况下,该算法总体上比单一Q学习(SQ)和其他调度规则获得了更好的结果,并表现出良好的自适应性能。

2 介绍

        装配作业车间(AJSSP)可以被认为是一种特殊形式的作业车间调度,涉及加工和装配操作。AJSSP中的产品具有复杂的装配结构,具有多层子组件。每个产品都有组件和子组件的树形结构,只有在前面所有较低级别的组件和/或子组件都完成后,才能组装较高级别的组件。同时,在AJSSP的特定操作中,较早完成的操作必须等待其并行操作以进行汇编,从而导致超前操作,而不是对作业执行的所有操作的严格顺序。对于某些操作,存在不同的机器选择。因此,AJSSP比传统的作业车间更复杂、更具挑战性,比AFSSP更具灵活性。

        在不确定的装配环境下,如何减少各工序装配的等待时间,从而使提前总成本最小是装配作业车间优化的主要目标,也是一类重要的调度问题。为了方便地描述问题,产品的试制、拆卸和试制时间都服从负指数分布,不考虑准备时间。

        为了解决不确定生产环境下装配作业车间调度的自适应问题,结合RL的实时性特点,针对AJSSP问题,提出了一种双重Q-学习方法(D-Q),其中顶层Q学习集中在局部目标上,以寻找最小机器闲置和均衡机器负荷的调度策略;下层Q学习集中在全局目标上,学习最优调度策略,使所有作业的整体提前期最小。D-Q学习系统的自适应调度机制如图所示。

3 顶层Q-learning

        顶层Q-learning的任务是将全局缓冲区的任务分配给合适的机器。根据当前工作的特点和每台可用机器的负载,设计顶层Q-learning,通过合理选择加工机器,提高机器利用率,平衡机器当前负载,顶层Q-learning的算法流程如图3所示。

 3.1 动作

        根据顶层Q-学习的目标和装配作业车间的特点,选择LL(即LLC+LPT)和LS(即LLC+SPT)调度规则作为顶层Q-学习动作集中的动作,具体定义如下:

(1)LL规则:先用LLC选择BOM中编码最低的全局缓冲区的操作,再用LPT选择加工时间最短的操作,打破同级编码的操作之间的平局。

 (2)LS规则:先用LLC选择BOM中编码最低的全局缓冲区的操作,SPT进一步用于选择加工时间最短的操作,以打破具有相同级别代码的操作之间的联系。

一旦选择了工序,它将分配给机器进行加工。如果有一台可选的机器,将选择这台机器。然而,如果操作可以在多台机器上进行,那么将选择负载最小的机器。通过应用q学习,选择合适的调度策略,对系统状态变化时等待启动的作业进行调度,从而实现装配作业车间的自适应调度。

3.2 顶层Q learning的奖励函数

        在顶层Q学习目标的基础上,采用当前所有机器剩余加工时间的方差作为负载平衡因子。由于Q-学习收敛到最大值,这里使用的是相反的数字,顶层Q-学习的奖励函数设计如下:

         z_{q}:机器q当前剩余加工时间;\overline{z}当前所有机器的平均加工时间,m:机器数量。

顶层Q学习的必要性:

定义1 :假设装配作业车间的机器负荷为ω,用机器缓冲区中工件的加工时间表示;当前可加工的机器缓冲区的总加工时间为ωt。

动作1:在顶层的Q学习中,适当地将其分配给并行机的全局缓冲区,可以提高并行机的利用率,平衡并行机的当前负载,从而提高了并行机的利用率。

4 底层Q-learning

        当产品的所有工序都被分配到合适的机器缓冲区时,Q学习的底层集中在全局目标上,以学习最优调度策略,从而使所有作业的整体提前期最小化。底层Q学习的算法流程图如图7所示。

 4.1 动作

        根据底层Q-学习的目标和装配作业车间的特点,选择LL(即LLC+LPT)、LS(即LLC+SPT)、LPL(即LPT+LLC)和SL(即SPT+LLC)四种调度规则组成底层Q-学习的动作集,其中LL和LS规则的定义与顶层Q-学习相同,LPL和SL规则表示如下:

(1)LPL规则:先用LPT选择BOM中加工时间最长的工序,再用LLC选择编码较低的工序,打破加工时间相同的工序之间的平局。

(2)LPL规则:先用LPT选择BOM中加工时间最长的工序,再用LLC选择编码较低的工序,打破加工时间相同的工序之间的平局。

4.2 奖励函数

设τiδjk(T)表示操作Oiδjk的提前信息的指示函数,定义如下:

 于是,然后将下一步决策时的奖励函数定义为:

 N_{t_{u}}^{a}[t_{u-1},t_{u}]到达的装配任务的数量,t_{u}是第u步决策对应的时间。

5 状态

定义了4中状态形式:

(1)状态1:描述当前队列中所有类型的的工件数

 NJ:在等待队列中的工件数;f_{1}\in [0,1].

(2)状态2:反映下一到达产品的紧急程度

 I_{t}^{a}:当前时间与产品最新到货时间之间的间隔时间;e_{t}产品到达的间隔时间;E(e_{t})是随机变量e_{t}的平均值.

(3)状态3:描述了当前所有装配team的相对工作量

 L_{t _{q}}:表示team q的剩余处理时间;\overline{Lt}是所有装配team的平均剩余处理时间;

(4)状态4:反映当前时刻的团队利用率

 \sum_{q=1}^{m}w_{q}表示当前非空闲加工团队的team数量。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码丽莲梦露

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值