买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】基于深度强化学习的流水车间新订单插入优化方法_福州大学_202211546673.8 

申请/专利权人:福州大学

申请日:2022-12-02

公开(公告)日:2023-03-14

公开(公告)号:CN115793583A

主分类号:G05B19/418

分类号:G05B19/418

优先权:

专利状态码:在审-实质审查的生效

法律状态:2023.03.31#实质审查的生效;2023.03.14#公开

摘要:本发明涉及一种基于深度强化学习的流水车间新订单插入优化方法。在制造实践中常有新工单紧急插单生产,扰乱事先制定好的生产计划,有可能造成工单延误、产线闲置、设备利用率降低等问题。本发明基于事先制定的生产计划方案,重调度采用基于深度强化学习的方法,提取状态特征,以最小化新订单插入对调度目标(延误、闲置等)和系统稳定性的影响为目标,建立以机器为对象的状态特征,利用现有最优调度规则和调度理论形成动作空间,然后依据状态特征变化情况进行行为策略选取,快速调整生成满足生产需求的生产方案。

主权项:1.一种基于深度强化学习的流水车间新订单插入优化方法,其特征在于,在现有的生产计划方案下,根据新订单的到达情况,采用基于深度强化学习的方法,依据输入状态选取行为策略,生成更贴近实际制造系统加工状态响应式的生产调度方案,这个过程需要满足两个相互冲突的目标,分别为效率度量和稳定性度量,前者用于评估期望目标函数值的满意度,后者则用来评估中断前后时间表之间的变化量;具体包括以下步骤:步骤S1、流水车间问题FSP描述为:现有的工件需要在M={M1,M2,...Mm}台机器上进行加工,每个工件经由相同的工艺路线,即在机器M1上开始加工,经过机器M2,...,直到最后一台机器Mm;调度决策就是安排工件通过每台机器的加工顺序;假设如下:1每台机器每个时刻只允许加工一道工序且不存在其他工序抢占情况;2每个工件都有对应机器上的加工时间,加工路径不变;3每台机器前的等待队列容量足够大以满足重新排列工件加工顺序的需要;4一个工件不能同时在不同机器上加工;5工件准备时间包含在加工时间内或可忽略不计;根据以上约束,流水车间重调度问题描述为:在已有原始生产计划s0的基础上,J表示原始生产计划中的所有工件,T时刻到达的新工件集合为N,T已经包含新工件的备料时间,此时一部分工件的某些工序可能已经加工完成即称为完工工件或者正在加工即称为在制工件,对于正在加工的情况,如约束1所述,需要将该工件的当前工序加工完成后才能生产别的工件;因此,原始工件中所有未开始生产的工序和新到达的所有工件构成重调度的对象;步骤S2、将工件的加工信息和每台机器的加工情况输入数据管理模块,根据步骤S1中的约束和假设构造以最小化工件总延迟和系统不稳定性为目标的重调度模型:目标函数: 约束条件: 式中,表示原始调度中工件j在机器m上的开始加工时间;表示原始调度中工件j在机器m上的完工时间;表示原始调度中工件j在机器m上的加工次序;Sm表示如果mwipT为空,Sm=T,否则smj表示工件j在机器m上的开始加工时间;pmj表示工件j在机器m上的加工时间;cmj表示工件j在机器m上的完工时间;omj表示工件j在机器m上的加工次序;ymjj’表示在机器m上,如果工件j排在工件j′之前,则ymjj′=1,否则ymjj′=0;zmj表示如果则zmj=0,否则zmj=1;cj表示工件j的完工时间,cj=max1≤m≤M{cmj};dj表示工件j的交期;U表示一个特别大的正数;T表示新作业到达的时间;J表示还未加工完成的原始工件的集合;N表示所有的新工件的集合;n表示所有工件的集合,包括原始工件和新工件;nm表示机器m上参与重调度的工件的集合,包括新工件和未加工的原始工件;Pm表示机器m上参与重调度的工件的加工时间总和,mfpT表示T时刻机器m上的完工工件集合,若没有则为空;mwipt表示t时刻机器m上在制工件,若没有则为空;Qmt表示t时刻还未在机器m上开始加工的工件的集合;Fmt表示t时刻机器m上已经分配过的工件;表示t时刻机器m上的在制品工件已经加工的时间;其中,目标函数1是工件总延迟系统不稳定性的加权和;约束2表示系统不稳定性采用原始工件在重调度前后每台机器上开始加工时间的总偏差进行衡量;约束345678表示在重调度中T时刻机器m上的在制工件和完工工件的生产时间与原始调度保持一致;约束9表示对于一个工件的两道连续工序,只有在前一道工序完成后才能开始下一道工序;约束10表示工件在该台机器上的完工时间为开始加工时间加上加工时长;约束111213描述了机器容量限制,对于同一台机器连续处理的两个工件,只有在前一个工件完成后才能开始下一个工件;约束14表示参与重调度的工件需要在该机器将当前加工的工件加工完成才可以加工,15表示所有工件的延迟总和,延迟等于该工件的完工时间减去该工件的交期;步骤S3、将步骤S2描述的流水车间重调度问题转化为一个半马尔科夫决策过程SMDP问题;首先根据目标提取多个状态特征作为重新调度点的生产状态,同时作为目标的映射,然后将多种调度规则构成动作空间,状态特征和动作空间的定义与调度问题的目标和特征紧密相关,同时考虑到连续的生产状态,设计一个深度Q网络DQN,将连续状态特征作为DQN的输入,获得每个调度规则的状态-动作值即Q值,并通过设置另外一个网络,通过梯度下降和反向传播更新目标网络的参数,减少过拟合现象,最后通过迭代积累奖励选择最优动作获得最优的重调度方案;考虑两种目标即调度成本和重调度的中断成本,前者以最小化工件总延迟表示,后者代表系统不稳定性,以机器为对象定义状态特征如下:1fm,1t=Qmt||nm|,队列Qm中的工件数与总的工件数的比值;2队列Qm中所有工件的平均加工时间与Pm的比值;3队列Qm中所有工件在机器m上的加工时间最大值与Pm的比值;4队列Qm中所有工件在机器m上的加工时间最小值与Pm的比值;5机器m上的在制品工件的剩余加工时间与Pm的比值;6队列Qm中所有工件在当前工序之前包括当前工序的总加工时间与需要在该机器上加工的所有工件的最大值的比值;7队列Qm中所有工件在当前工序之前包括当前工序的总加工时间与需要在该机器上加工的所有工件的最小值的比值;8机器m上加工的原始工件在原始调度和重调度中的开始加工时间偏差最大值;9机器m上加工的原始工件在原始调度和重调度中的开始加工时间偏差总和;10机器m上加工的原始工件在原始调度和重调度中的加工次序偏差最大值;11机器m上加工的原始工件在原始调度和重调度中的加工次序偏差总和;状态特征作为目标的映射,与调度问题的目标和紧密相关,这里状态特征1描述不同机器上的工件数量的分布;状态特征2描述当前分配在各机器上的工作负荷;状态特征3、4描述了当前在各个队列中的加工时间最值;如步骤S1的假设1所述,每台机器每个时刻只允许加工一道工序且不存在其他工序抢占情况,所以状态特征5表示当前机器正在加工的工件的剩余加工时间比重,从而表征机器的忙碌状态;状态特征6、7表示机器上等待加工的工件的最长或最短剩余加工时间;以上状态代表调度问题的调度成本目标,而状态特征8-11表示原始调度和重调度的偏差,用来衡量步骤S2重调度的稳定性目标;步骤S4、给每台机器定义候选动作集合,动作空间构成如下:1FCFS:选择队列中最先到达的工件;2SPT:选择队列中工序加工时间最短的工件;3LPT:选择队列中工序加工时间最长的工件;4LWKR:选择队列中剩余加工时间最短的工件;5MWKR:选择队列中剩余加工时间最长的工件;6SPTTWK:选择队列中工序加工时间与总加工时间比值最小的工件;7LPTTWK:选择队列中工序加工时间与总加工时间比值最大的工件;8SPTTWKR:选择队列中工序加工时间与剩余加工时间比值最小的工件;9LPTTWKR:选择队列中工序加工时间与剩余加工时间比值最大的工件;10SRM:选择队列中除当前考虑工序外剩余加工时间最短的工件;11LRM:选择队列中除当前考虑工序外剩余加工时间最长的工件;12SSO:选择队列中后继工序加工时间最短的工件;13LSO:选择队列中后继工序加工时间最长的工件;14SPT+SSO:选择队列中当前工序加工时间与后继工序加工时间最短的工件;15LPT+LSO:选择队列中当前工序加工时间与后继工序加工时间最长的工件;16SPTLSO:选择队列中当前工序加工时间与后继工序加工时间比值最小的工件;17LPTSSO:选择当前工序加工时间与后继工序加工时间比值最大的工件;18等待:不选择任何工件进行加工;步骤S5、根据目标特性设置状态转移和报酬函数;开始加工时刻,调度系统处于初始状态s0,此时所有工件位于第一个机器的等候队列Q1,并且所有机器处于空闲状态,然后第一台机器选择一个动作a,其他机器由于等候加工队列为空选择行为a18;之后每当某一台机器完成了一道工序的加工,系统转移到一个新的状态,记作st,此状态下每台机器同时选择一个可行的行为,当接下来又有某一道工序被完成时,系统转移到下一个状态,记作st+1,并且智能体获得一次回报rt+1,该回报可以通过两个状态之间的时间间隔计算;当系统到达终止状态时,意味着所有队列全为空且所有工件全部加工完成,即获得完整一个调度方案;由于在每一个决策时刻,所有机器同时选择行为,实际上系统实施了一次由m个子行为组合而成的多维行为a1,a2,...,am;智能体根据实施合成行为后系统状态变化结果和报酬函数获得相应报酬,报酬反馈行为的即时影响,与行为的即时报酬联系密切;步骤S6、构造智能体感知加工状态特征的深度神经网络结构,包括输入层,隐藏层,输出层;输入层个数对应于状态特征个数,输出层个数对应于动作数,隐藏层采用RELU激活函数,节点个数为30个。

全文数据:

权利要求:

百度查询: 福州大学 基于深度强化学习的流水车间新订单插入优化方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。