System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于改进ID3QN算法的随机工时下柔性综合调度方法技术_技高网

基于改进ID3QN算法的随机工时下柔性综合调度方法技术

技术编号:40958368 阅读:2 留言:0更新日期:2024-04-18 20:35
本发明专利技术公开了一种基于改进ID3QN算法的随机工时下柔性综合调度方法,具体为:首先构建随机工时柔性综合调度数学模型;其次从工序、机器及整体层面分别设计了三组状态特征;再采用与工时、加工顺序相关的工序规则以及与优化目标相关的机器规则组成的8组复合调度规则作为动作集,并将平均机器利用率差值作为即时奖励;最后,引入自注意力机制改进ID3QN算法求解数学模型。本发明专利技术充分考虑离散制造车间具有工时不确定的情况对实际车间造成的影响,建立柔性综合调度数学模型,使得排程结果更加符合实际生产场景;采用改进ID3QN算法具有更好的收敛效果和学习性能,同时求解效率与泛化能力更高。

【技术实现步骤摘要】

本专利技术属于柔性综合调度的优化,尤其涉及一种基于改进id3qn算法的随机工时下柔性综合调度方法。


技术介绍

1、柔性综合调度问题是在综合调度问题的基础上考虑设备柔性的调度问题。传统的综合调度问题通常假设工序的设备是指定一台设备或多台设备。因此调度过程中,需要解决的是紧前紧后工序的排序问题,这一假设针对与小规模车间是成立的。然而,实际的生产中的柔性设备会对排产优化产生重大影响。将问题拓展为柔性综合调度是十分有必要,因此柔性综合调度是在综合调度基础上还考虑了设备之间的柔性的约束条件和决策变量,问题的复杂性显著提升。

2、近年来,虽然基于规则、精确求解、智能算法的方法通常被应用于车间排产问题,但却常常受到以下限制而被广泛的讨论。1)基于规则的方法稳定性强但求解精度不高;2)精确求解方法可以达到较高的精度但它通常需要较长的计算时间和大量的计算资源,并且只能得到局部最优解,对于一些非凸优化问题可能并不能得到全局最优解;3)智能算法虽然能够寻找到全局最优解但是要靠近最优解,算法需要进行大量的迭代来进行种群更新或迭代搜索。

3、随着人工智能发展,深度强化学习方法在调度领域也逐渐被应用。深度强化学习是由强化学习和深度学习两部分组成,其目标是通过智能体感知和该问题相关的环境状态,在与环境试探的交互中获取最大累积奖励。但是如果直接使用强化学习求解调度问题,状态数量庞大,使用矩阵存储状态,容易造成维度灾难。而深度学习有较强的非线性拟合性能,已经广泛应用在图像识别等领域,所以采用深度强化学习能够同时解决感知和控制问题,深度强化学习算法在车间调度领域被应用的有基于策略和基于值类型的深度强化学习算法,其中基于值类型的深度强化学习则被更广泛的应用,分别将ddqn(double dqn)应用于柔性作业车间调度、机器装配问题和不确定事件的动态柔性调度问题。优化综合调度对包括航空航天、装备制造业等大型复杂焊接产品行业有着重大意义

4、综上所述,现有研究将深度强化学习应用于柔性作业车间调度的研究较多,且取得了一定的效果,但是如何将该类方法应用于柔性综合调度问题尚缺乏研究。


技术实现思路

1、为克服现有技术在解决随机工时下柔性综合调度存在的不足,本专利技术提供一种改进id3qn算法的随机工时下柔性综合调度方法。

2、本专利技术的一种基于改进id3qn算法的随机工时下柔性综合调度方法,包括以下步骤:

3、步骤1:构建随机工时柔性综合调度数学模型。

4、目标函数为完工时间cmax最小,如下式:

5、f=min(cmax)  (1)

6、约束条件:

7、

8、sh+dih≤sl+l(1-yihl)  (3)

9、

10、

11、

12、

13、sh≥0,ch≥0  (8)

14、其中,sh为产品第h道工序开始加工时间,dih为产品第h道工序在机器i的实际加工时间,xih为决策变量,工序oh是否选择机器i,ph为产品第h道工序的直接紧前工序集合,yihl为决策变量,工序oih是否先于oil加工,l为一个足够大的正数,ch为产品第h道工序加工完成时间;i为机器序号,i=1,2,3,...,m,m为机器总数;h,l为工序索引号,h,l=1,2,3,...,n,n为产品工序总数。

15、其中,公式(2)表示工序间先后顺序约束;公式(3)与(4)表示同一个时刻同一台机器只能加工一道工序;式(5)表示机器约束,即同一时刻同一道工序只能被一台机器加工;公式(6)和(7)分别表示存在每台机器上可以循环操作;公式(8)表示各个参数变量必须是正数。

16、步骤2:从工序、机器及整体层面分别提取状态特征。

17、(1)在工序层首先需要使用三个一维矩阵分别表示工序加工状态、加工时间及当前时刻工序的入度值;其中,入度值表示当前工序的前置工序数量;使用布尔量0和1表示工序加工状态,0代表改工序没有被调度,1代表改工序已被调度;如果该工序被加工,则更新该工序状态,并在加工时间矩阵对应的位置记录工序加工时间,最后更新所有工序的入度值。

18、(2)对于机器层面,使用两个一维矩阵分别表示每一台当前的机器利用率和当前时刻空闲状态;其中在机器状态中布尔量0和1分别表示机器是否空闲,机器利用率这个矩阵数值表示当前机器利用率。

19、(3)从整体层面引入了三个状态特征,具体描述如下:

20、croave表示当前状态工序完工率:

21、

22、uave表示当前状态平均机器利用率:

23、

24、ustd表示当前状态机器利用率的标准差:

25、

26、步骤3:动作集与奖励函数设定。

27、动作设定:

28、在选取规则时,优先选择与工时相关的工序和机器规则组成的复合调度规则;工序规则从工时、加工顺序及结构树三个方面选取的spt、lpt、fifo、fcfs、层级优先规则,在机器层面的规则选择与优化目标相关的spt、lpt规则,最后由工序规则和机器规则组成8组复合调度规则作为动作集,即:

29、spt+spt:选择工序采用最短工时的工序,选择加工时间最短的机器;

30、lpt+lpt:选择工序采用最短工时的工序,选择加工时间最长的机器;

31、fifo+spt:选择工序采用先进先出规则,选择加工时间最短的机器;

32、fifo+lpt:选择工序采用先进先出规则,选择加工时间最长的机器;

33、fcfs+spt:选择工序采用先到先服务规则,选择加工时间最短的机器;

34、fcfs+lpt:选择工序采用先到先服务规则,选择加工时间最长的机器;

35、层级优先+spt:优先选择工序所在工艺树结构中的层数小的工序,选择加工时间最短的机器;

36、层级优先+lpt;优先选择工序所在工艺树结构中的层数小的工序,选择加工时间最长的机器。

37、奖励函数设定:

38、采用机器平均利用率之差的即时奖励,如下奖励函数所示:

39、r=uave-uave_last(12)

40、其中,r表示奖励值,uave表示当前状态机器平均利用率,uave_last表示上一个状态机器平均利用率。

41、步骤4:基于改进id3qn算法求解数学模型。

42、改进id3qn算法分别搭建自注意力机制层、一维卷积层和噪声层作为隐藏层。

43、(1)自注意力机制层:第一层采用自注意力机制层,计算方法如下:

44、

45、该式表示将一个查询向量q、一组键-值对k和v,映射为一个输出,输出权重向量是由值的加权与softmax函数计算得到;q、k和v为设计的状态特征向量,dk是特征向量的维数。

46、(本文档来自技高网...

【技术保护点】

1.一种基于改进ID3QN算法的随机工时下柔性综合调度方法,其特征在于,包括以下步骤:

【技术特征摘要】

1.一种基于改进id3qn算法的随机工时下柔...

【专利技术属性】
技术研发人员:张剑李想胡明珠李继伟张维维
申请(专利权)人:西南交通大学
类型:发明
国别省市:

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

1