基于深度强化学习的自适应作业车间调度问题研究
获取更多资讯,赶快关注公众号(名称:智能制造与智能调度,公众号:deeprlscheduler)吧!
文章目录
今天给大家带来一篇我们关于使用深度强化学习求解作业车间调度问题的新作: Han, B. A., & Yang, J. J.(2020). Research on Adaptive Job Shop Scheduling Problems Based on DuelingDouble DQN. Ieee Access, 8,186474-186495. doi:10.1109/ACCESS.2020.3029868.
Research on Adaptive Job Shop Scheduling Problems Based on Dueling Double DQN
视频来源:2020 IEEE Access Best Multimedia Award
摘要:针对传统调度算法实时性较差而难以应对复杂多变的实际生产调度环境等问题,提出一个基于基于析取图分派的深度强化学习调度框架。该框架综合深度卷积神经网络和强化学习实时性、灵活性的优势,直接依据输入的加工状态进行行为策略选取,更贴近实际订单反应式生产制造系统的调度决策过程。通过把利用析取图进行调度求解的过程转化为多阶段决策问题,用深度卷积神经网络模型拟合状态动作值函数,创新性地把制造系统加工状态特征数据表达为多通道图像并输入模型,采用考虑优先级经验回放的竞争双层深度Q网络(DDDQNPR)训练模型,把启发式算法或分配规则作为调度决策候选行为,结合强化学习在线评价-执行机制,从而为每次调度决策选取最优组合行为策略。85个静态案例的实验结果表明,在小规模问题上,所提出的方法可以求得最优解,在大规模问题上,该方法可以求得优于任意单一规则的调度结果,同时与遗传算法的调度性能相当,平均调度分数为90.79%;为了证明算法的泛化性和鲁棒性,在训练代理时使用带有随机初始状态的案例作为验证集以选择泛化性能最优的模型,然后测试学习到的策略在具有不同初始状态的调度案例上的性能,结果表明代理可以自适应地获得较优解,同时对工时不确定的动态案例进行了实验研究,结果表明,该方法在动态环境下仍然快速地获得鲁棒解。
关键词:自适应调度,卷积神经网络,深度强化学习,作业车间调度,规则选择,析取图
1、论文贡献
本研究的贡献在于(1)提出了使用考虑了优先级经验回放的dueling double DQN模型(Dueling Double DQN with prioritized replay,DDDQNPR)来构建调度问题的深度强化学习框架,在该框架中包含了目标网络和估计网络,以解决一般DQN存在的过高估计问题;(2)首次建立了基于析取图模型的强化学习环境,将基于析取图的调度求解过程转化为序列决策过程。在该环境中调度可以从非零的状态开始,即可以先交互式地安排一些工序,然后再对剩余的工序进行优化调度;(3)在每一离散时间步,将调度状态创新性地表示为多通道图像,避免了传统强化学习中手动构造调度特征,卷积神经网络根据输入的状态进行启发式规则选择,从而从当前可调度任务集合中选择最优先的工件;(4)设计了一种新颖的与制造期等效的奖励函数,用来评价每一次分派时对调度目标的影响;(5)提出了一种改进的考虑精英策略的epsilon-decreasing策略,该策略在训练后期将以一定的概率选择当前最优解中的最优规则,实验结果表明,该策略在所有案例上的调度性能平均提升5.92%。(6)进行了大量的实验研究,分析了不同超参数的灵敏度,验证了所提出方法在静态问题上的有效性,以及在反应式调度和工时不确定的动态问题上的泛化性。
2、论文框架
构造了一套基于值函数的深度强化学习算法与析取图相结合的自适应调度架构,如图1所示。
3、调度环境
所以通过析取图来表达调度问题的解,实际上就是在满足顺序约束和能力约束的基础上,确定各个工序的顺序,本质上为序列决策问题,当然就可以通过强化学习进行训练,在下一节中将会详细介绍如何表达调度问题为强化学习问题并进行求解。
4、调度问题转化
状态特征表达
系统动作定义
报酬函数设计
机床平均利用率 U = 1 N M ∑ m = 1 N M ∑ i = 1 N J ∑ h = 1 N O i P i b n C max = P N M ⋅ C max \mathrm{U}=\frac{1}{N M} \sum_{m=1}^{N M} \frac{\sum_{i=1}^{N J} \sum_{h=1}^{N O_{i}} P_{i b n}}{C_{\max }}=\frac{P}{N M \cdot C_{\max }} U=NM1∑m=1NMCmax∑i=1NJ∑h=1NOiPibn=NM⋅CmaxP,令 r k = U ( k ) − U ( k − 1 ) r_{k}=U(k)-U(k-1) rk=U(k)−U(k−1),则有
R = ∑ k = 1 K r k = ∑ k = 1 K U ( k ) − U ( k − 1 ) = U ( 1 ) − U ( 0 ) + U ( 2 ) − U ( 1 ) + ⋯ + U ( k ) − U ( k − 1 ) = U ( k ) − U ( 0 ) = U ( k ) = P N M ⋅ C max ( k ) \begin{aligned} R=\sum_{k=1}^{K} r_{k} &=\sum_{k=1}^{K} U(k)-U(k-1) \\ &=U(1)-U(0)+U(2)-U(1) \\ &+\cdots+U(k)-U(k-1) \\ &=U(k)-U(0)=U(k) \\ &=\frac{P}{N M \cdot C_{\max }(k)} \end{aligned} R=k=1∑Krk=k=1∑KU(k)−U(k−1)=U(1)−U(0)+U(2)−U(1)+⋯+U(k)−U(k−1)=U(k)−U(0)=U(k)=NM⋅Cmax(k)P
探索和利用策略
a = { arg max a ′ Q ( a ′ ) with probability ( 1 − ε ) ∗ 0.5 π best ( s ) with probability ( 1 − ε ) ∗ 0.5 random with probability ε a=\left\{\begin{array}{l} \arg \max _{a^{\prime}} Q\left(a^{\prime}\right) & \text { with probability }(1-\varepsilon)^{*} 0.5 \\ \pi^{\text {best}}(s) & \text { with probability }(1-\varepsilon)^{*} 0.5 \\ \text {random} & \text {with probability }\varepsilon \end{array}\right. a=⎩⎨⎧argmaxa′Q(a′)πbest(s)random with probability (1−ε)∗0.5 with probability (1−ε)∗0.5with probability ε
其中 π best ( s ) \pi^{\text {best}}(s) πbest(s)为目前为止的已知最优策略。