一种柔性作业车间批量动态调度优化方法技术

技术编号:20221201 阅读:139 留言:0更新日期:2019-01-28 19:54
本发明专利技术公开了一种柔性作业车间批量动态调度优化方法,将批量调度的生产模式和机器故障的动态因素引入到柔性作业车间调度问题中,根据需要延伸其相关的约束,并同时考虑交付期约束,建立以最小化延误时间为目标的BDFJSP问题模型;在问题模型的基础上运用Q学习的方式去训练智能体求解,并根据问题建立合理的状态集、动作集及奖励函数;为了更好的平衡Q学习中的“探索”和“利用”,将ε贪婪搜索结合到Q学习中去,并设立了合理的ε衰减函数;对于求解柔性车间作业调度甚至类似的等离散型优化问题具有重要的意义和显著的工程实际应用价值。

【技术实现步骤摘要】
一种柔性作业车间批量动态调度优化方法
该专利技术涉及以柔性作业车间调度优化
为代表的动态工况下的离散型组合问题的智能优化

技术介绍
柔性作业车间调度问题是制造系统最困难的问题之一,其复杂的加工机器和工件的组合方式导致该问题具备很高的计算复杂度,是非常强的NP难问题。为了在合理的时间范围以内优化,学者们更加倾向于采用元启发式智能算法求得最优解的近似解(满意解),由此开发和改进了许多智能算法,但这些算法大多数都是针对静态的FJSP问题。在实际过程中往往会发生许多不可预知的动态因素,比如机器故障,新工件到达等等,因此以上算法不能直接运用于实际问题中。近年来,许多学者逐渐关注动态调度的问题,希望当动态因素发生时能够选择最合理的调度策略。相较于静态的FJSP问题,动态FJSP问题的复杂程度更高并且对于动态因素的响应速度有一定的要求。元启发式算法优化的时间成本是在所有常用的动态调度策略中比较高的,因此很多学者采用基于优先级规则和启发式规则的动态调度模式,运用于动态调度中也起到了比较好的效果。动态调度的两个关键问题就是在“何时”和“怎样”去响应动态因素引起的变化。对于这两个方面,许多学者进行了研究。Singer针对于目标函数跟交付期相关的中大规模JSP问题,设计了一种基于时间窗口分解的启发式算法,将问题分解为不同的子问题再采用移动瓶颈法求解。以调度成本为目标函数,Shafaei和Brun对比了不同启发式规则求解动态作业车间环境下的性能,并通过滚动时域的方式确定了重调度的时间。同样针对于重调度的时间,Suwa设计了一种新的基于控制限制策略和滚动调度的在线调度方法。对于以最小化延迟为目标,新工件到达为动态因素的调度问题,Chen和Ji将遗传算法和冻结时间间隔的策略结合,降低了整个车间对动态因素的敏感度,提高了其稳定性和鲁棒性。Tokola分析并对比了在动态环境下三种重调度方式的性能:任务自由移动、任务只能向前移动和任务不能移动。Wang分析了有关大规模单机动态调度问题,以效率和稳定性作为指标,提出了一种基于反应式的部分重调度策略。在这种指标下,Fattahi设计了一种基于遗传算法的元启发式算法,验证了该算法在中小型动态调度问题中的有效性。以上所有的动态调度算法均是基于单件的生产模式进行调度,为了提高生产力和减少成本和准备时间,越来越多的工厂采用批量的生产模式取代单件的生产模式,因此批量调度也受到了广泛的关注。Lalitha提出了一种混合线性整数规划模型,来求解流水线的批量调度问题。对于等量分批问题,Edis研究了在不同目标下,不同的产品对运输队列的影响,并设计了一种启发式算法求解不同产品的分批数量;Huang提出了一种蚁群算法提高了求解多目标等量优化时的效率。而白俊杰等采用了粒子群算法求解批量调度问题。以上的文章显示,基于批量生产的动态作业车间调度问题的研究十分稀少,而这种问题在实际生活中又比较常见。同时,通过我们的调研,现有的文献求解作业车间动态调度问题均采用反应式的优先级规则或者元启发式算法,会存在柔性/智能性不够(不能智能化的应对不同的工况)或者需要大量的迭代优化(导致效率降低从而不满足动态调度对反应时间的需求)等缺点。
技术实现思路
为解决上述问题,本专利技术提供一种柔性作业车间批量动态调度优化方法,其具体步骤为:1、构建以最小延误时间为目标的BDFJSP数学模型:传统的FJSP问题存在三个基本集合:工件集J(J1,J2,…,Jn);工序集O(O1,1,O1,2,…O1,p1,…,On,pn),其中pn是指工件i的工序数量;机器集M(M1,M2,…Mm);此BDFJSP数学模型是建立在批量调度的模式之上的,因此设立第四个基本集合:批量集K(K1,1,K1,2,…,K1,k1,…,Kn,kn),其中kn是指工件i的批量;本模型的目标函数为最小延误时间,其公式如式(1)所示式中BNi表示工件i的批次数量;Cik表示第k批工件i的完工时间;Di表示工件i的交付期;针对公式(1)其相关的约束如公式(2)到公式(6)所示1≤BNi≤DMi(2)表示批次数量的范围,式中DMi表示工件i的初始加工批量;指工件i的所有子批的数量之和等于工件i的数量,式中BDik表示批次k中工件i的数量;指的同一工件下,每一个工序必须在其先前工序完工后才能开工,式中Sijkm表示第k批工件i的工序j在机器m上的开始加工时间;Eijkm表示第k批工件i的工序j在机器m上的完工时间;指同一台机器不能在同一时刻加工两个工序;∑xijkm=1i∈J;j∈O;m∈M;k∈K(6)指同一个工序只能由一台机器加工,式中xijkm表示如果第k批工件i的工序j在机器m上加工xijkm=1,否则xijkm=0;2、在BDFJSP数学模型的基础上根据问题建立合理的状态集、动作集及奖励函数:Q学习是一种运用最广泛的无模型强化学习技术,它是不断的学习和评估在不同环境下执行不同动作后环境的变化,使得未来积累奖励最大化,即通过学习和训练智能体,使其在不同状态下选择最合适的动作,使得状态-动作值最大化(Q值,即在不同状态下不同动作对应的累计奖励值)。其基本原理:首先智能体(agent)去感知当前环境的状态s,根据状态s可执行的动作集中选择并执行动作a。动作a会改变当前环境状态,即使状态s转移到状态s’,根据改变的状态和目标函数给与智能体一定的奖励/惩罚值。不断的重复此过程直到最大训练次数或者每个状态的Q值收敛。由原理可以看出Q学习的实现关键就是状态集、动作集和奖励函数的实现,针对于BDFJSP问题,其实现如下:a、动作集为了加快Q值收敛速度和结合目标函数为最小延迟时间,选择三种优先级规则取代随机搜索作为动作集,使动作集缩小且搜索方向更为有效,其包括:最小加工时间规则SPT:选择故障机器上加工时间最短的工序进行调度,其公式如(7)所示:operation=mintijm×DMii∈Jf;j∈Of;m=mf(7)式中operation表示选择的工序集;Jf表示在故障机器上加工的工件集合;Of表示在故障机器上加工的工序集合;mf为故障机器;最小松弛时间规则MST:选择故障机器上松弛时间最小的工序进行调度,即交付期与完工时间的差值最小的工序,其公式如下:operation=minDi-tijm×DMii∈Jf;j∈Of;m=mf(8)最小交付期规则EDD:选择故障机器上交付期最小的工序进行调度,其公式如下:operation=minDii∈Jf(9)b、状态集设置几个变量:BDm表示在故障机器上延误的工件数量;BTm表示机器m的故障时间;BPm:在故障机器m上的剩余工件加工时间之和;DRm表示机器故障时间和故障机器剩余加工工件时间总和的比值,即BTm/BPm;由模型可知,划分状态的变量是BDm和DRm,在此基础上,为了增加算法的稳定性和鲁棒性。设置了一个空状态,即当机床不发生故障或者故障时间不造成工件延迟的情况下,不采取任何调度方式,其余不同工况下对应的Q值如表1所示:表1状态划分及对应Q值表c、奖励函数为了加速Q值收敛,采用常数奖励的方式,即如果调度的结果使得目标函数减少,则给与奖励值r=5,否则给与惩罚值r=-5,其公式如公式(10)所示:式中Delaytime本文档来自技高网
...

【技术保护点】
1.一种柔性作业车间批量动态调度优化方法,其特征在于,包括以下步骤:A、构建以最小延误时间为目标的BDFJSP数学模型:传统的FJSP问题存在三个基本集合:工件集J(J1,J2,…,Jn);工序集O(O1,1,O1,2,…O1,p1,…,On,pn),其中pn是指工件i的工序数量;机器集M(M1,M2,…Mm);此BDFJSP数学模型是建立在批量调度的模式之上的,因此设立第四个基本集合:批量集K(K1,1,K1,2,…,K1,k1,…,Kn,kn),其中kn是指工件i的批量;本模型的目标函数为最小延误时间,其公式如式(1)所示

【技术特征摘要】
1.一种柔性作业车间批量动态调度优化方法,其特征在于,包括以下步骤:A、构建以最小延误时间为目标的BDFJSP数学模型:传统的FJSP问题存在三个基本集合:工件集J(J1,J2,…,Jn);工序集O(O1,1,O1,2,…O1,p1,…,On,pn),其中pn是指工件i的工序数量;机器集M(M1,M2,…Mm);此BDFJSP数学模型是建立在批量调度的模式之上的,因此设立第四个基本集合:批量集K(K1,1,K1,2,…,K1,k1,…,Kn,kn),其中kn是指工件i的批量;本模型的目标函数为最小延误时间,其公式如式(1)所示式中BNi表示工件i的批次数量;Cik表示第k批工件i的完工时间;Di表示工件i的交付期;针对公式(1)其相关的约束如公式(2)到公式(6)所示1≤BNi≤DMi(2)表示批次数量的范围,式中DMi表示工件i的初始加工批量;指工件i的所有子批的数量之和等于工件i的数量,式中BDik表示批次k中工件i的数量;指的同一工件下,每一个工序必须在其先前工序完工后才能开工,式中Sijkm表示第k批工件i的工序j在机器m上的开始加工时间;Eijkm表示第k批工件i的工序j在机器m上的完工时间;指同一台机器不能在同一时刻加工两个工序;∑xijkm=1i∈J;j∈O;m∈M;k∈K(6)指同一个工序只能由一台机器加工,式中xijkm表示如果第k批工件i的工序j在机器m上加工xijkm=1,否则xijkm=0;B、在BDFJSP数学模型的基础上根据问题建立合理的状态集、动作集及奖励函数:针对于BDFJSP问题,Q学习的实现关键就是状态集、动作集和奖励函数的实现,其实现如下:a、动作集为了加快Q值收敛速度和结合目标函数为最小延迟时间,选择三种优先级规则取代随机搜索作为动作集,其包括:最小加工时间规则SPT:选择故障机器上加工时间最短的工序进行调度,其公式如(7)所示:operation=mintijm×DMii∈Jf;j∈Of;m=mf(7)式中operation表示选择的工序集;Jf表示在故障机器上加工的工件集合;Of表示在故障机器上加工的工序集合;mf为故障机器;最小松弛时间规则MST:选择故障机器上松弛时间最小的工序进行调度,即交付期与完工时间的差值最小的工序,其公式如下:operation=minDi-tijm×DMii∈Jf;j∈Of;m=mf(8)最小交付期规则EDD:...

【专利技术属性】
技术研发人员:贾广跃陈浩杰韩磊张剑杨龙付建林
申请(专利权)人:中车青岛四方机车车辆股份有限公司西南交通大学
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1