基于指标预报和解相似度分析的光刻工序动态调度方法
技术领域
本发明属于先进制造、自动化和信息领域,具体涉及一种面向半导体生产线光刻工序调度、 基于指标预报和解相似度分析的光刻工序动态调度方法。
背景技术
本发明所针对的半导体生产线光刻工序调度问题是以总加权流经时间之和为优化目标、带有 机器适配性约束和顺序相关准备时间的单工序调度问题。光刻工序是半导体生产线的关键工序 之一,其调度效果对整个生产线的生产性能指标有较大影响。针对该类问题,已有的调度方法 主要包括精确优化方法、经典人工智能方法、启发式规则和智能优化方法等。然而,已有调度 方法在处理较大规模的上述调度问题时,调度性能仍然不够理想,因此,提出具有较好性能的 光刻工序动态调度方法具有重要意义。
发明内容
为解决半导体生产线光刻工序以最小化总加权流经时间为优化目标的调度问题,本发明提 出一种基于指标预报和解相似度分析的光刻工序动态调度方法(以下简称为PASM)。
本发明所针对的半导体生产线光刻工序调度问题是以总加权流经时间之和为优化目标、带 有机器适配性约束和顺序相关准备时间的单工序调度问题,在本发明中,首先将上述调度问题 分解为设备选择调度子问题和工件排序调度子问题,在此基础上,针对工件排序调度子问题, 构建其性能指标预报模型。上述调度子问题性能指标预报模型的作用是,在不求解该调度子问 题的前提下,通过分析该调度子问题的特征信息来预报该调度子问题对应较优解的性能优劣。 在上述调度子问题性能指标预报模型基础上,提出基于解相似度分析的差分进化算法来求解设 备选择调度子问题,其中,工件排序调度子问题性能指标预报模型用于对设备选择调度子问题 的解进行全局调度性能的快速评价,从而改善全局优化性能。
(一)问题描述
半导体生产线光刻工序调度问题可具体描述如下:
光刻工序有m台光刻机,n个待调度的工件,分别记为M={1,2,...,m}和N={1,2,...,n}。每 个工件需要在某台光刻机上进行加工,工件j(j∈N)在机器l上的加工时间、权重、释放时间 记为pl,j,wj和rj,另外,工件j还对应一个可加工的光刻机集合μj以及光刻板型号bj,只有该 集合内的光刻机才可加工此工件,且在加工时,如果上一个加工任务对应的光刻板型号与本次 任务对应的光刻板型号相同,则所需的切换时间为0,否则需要一个固定的光刻板切换时间。另 外,还考虑如下假设:同一个机器一个时刻只能加工一个工件,同一个工件一个时刻只能在一 个机器上加工,而且一旦开始加工,不可中断直至加工完成。现需要安排工件在光刻机上加工, 使得总加权流经时间最短。
假设amj(amj∈M)为工件j所指派的加工机器,fj为工件j的加工完成时间,S为工件间切换 时间矩阵,S={spq}n×n,其中,spq为工件p与工件q在同一个光刻机上相邻加工时所需的切换 时间。就本发明所针对的光刻工序动态调度问题而言,若两个工件采用相同的光刻板,则二者 之间的切换时间为零,否则需要一定的切换时间。上述光刻工序调度问题可采用混合整数规划 模型描述,具体如下:
min TFT = Σ j = 1 n w j f j - - - ( 1 ) ]]>
s.t.
stj≥rj,j=1,2,…,n (2)
amj∈μj,j=1,2,…,n (3)
stl,j-stl,i≥pl,i+sij∪stl,i-stl,j≥pl,j+sji
k=1,2,…,m,i,j=1,2,…,n,i≠j (4)
其中,(1)表示优化目标,(2)表示工件释放时间约束,(3)表示机器适配性约束,(4)表示设备 唯一性约束和工件切换时间约束。
(二)问题分解
为求解上述调度模型,本发明首先将上述调度问题进行分解,将原调度问题分解为设备选 择调度子问题和工件排序调度子问题,两个调度子问题可描述如下:
(1)设备选择调度子问题
设Θk为指定到光刻机k上所有工件的集合,f(Θk)为集合Θk中工件对应的总加权流经时间, 则设备选择调度子问题的数学模型描述如下:
min TFT = Σ k = 1 m f ( Θ k ) - - - ( 5 ) ]]>
s.t.
amj∈μj,j=1,2,…,n (6)
式(5)为该模型对应的目标函数,式(6)表示工件的设备分配方案应满足设备适配性约束。可以 看到与原问题相比,该模型的搜索空间大大缩小,因为不需给出具体的工件排序方案。
(2)工件排序调度子问题
给定了设备选择调度子问题的解,即Θk(k=1,2,…,m)给定,工件排序调度子问题可看作是m 个相互独立的子优化问题,其中,第k个子优化问题可描述如下:
min TFT k = Σ j ∈ Θ k w j f j - - - ( 7 ) ]]>
s.t.
stj≥rj,j∈Θk (8)
stl,j-stl,i≥pl,i+sij∪stl,i-stl,j≥pl,j+sji
i,j∈Θk,i≠j (9)
式(7)设备k对应的目标函数(即总加权流经时间),式(8)表示工件的释放时间约束,式(9)表示 设备唯一性约束和准备时间约束。
(三)调度子问题性能指标预报模型构建
在上述问题分解完成以后,在本发明中将建立工件排序调度子问题的性能指标预报模型。 需要说明的是,在本发明中,该性能指标预报模型并非是以给定的工件排序调度子问题的解作 为输入,而是直接以该工件排序调度子问题对应的关键特征作为输入来进行调度子问题性能指 标预报。
本发明采用最小范数极限学习机(MN-ELM)来建立上述调度子问题的性能指标预报模型。
首先进行输入特征提取。我们在分析了上述工件排序调度子问题的特征之后,结合大量的 数值计算实验,确定了如下问题特征量作为预报给定机器的工件排序调度子问题性能指标的输 入:
●分配至该机器l的工件的总加权加工时间:
●光刻板类别数量:NB
●指派到当前光刻机的工件释放时间的集中程度:Cr
●采用最小加权加工时间规则所获得的目标函数值:TWFTswpt
●区间i对应工件的总数量:|Ωi|,i=1,2,…,I.
●区间i对应工件的总加权加工时间:i=1,2,…,I.
其中,pl,j,wj和rj分别为工件j在光刻机l上的加工时间、权重、释放时间,j=1,2,…,n, Ωi为分配到区间i的工件集合,区间的划分方法为:把整个调度时间轴划分为I个区间,I为 整数,每个区间的长度为u=(ri,max+pi,max-ri,min)/I,pi,max为所有工件中加工时间的最 大值,ri,max和ri,min为所有工件释放时间的最大值和最小值,区间的起始时刻为ri,min;
按照上述特征选择方法,对给定机器的工件排序调度子问题,用于构建调度子问题性能指 标预测模型的特征共有2I+4个,其中,根据问题规模的不同,I的取值在[4,8]区间预测效果较 好。Cr是反映该机器前是否会存在拥堵的指标,该值越大,表明存在拥堵的可能性越大。
Cr的计算步骤如下:
1)令Li(i=1,2,…,I)表示第i个区间的总负载,Li,j为工件j对Li的贡献。
2)对工件j(j∈Ωi),令stj=rj,则cj=rj+pl,j,通过式(10)计算Li,j:
L i , j = 0 i × u ≤ st j i × u - st j ( i - 1 ) × u < st j ≤ i × u u st j < i × u ≤ c j c j - ( i - 1 ) × u ( i - 1 ) × u < c j ≤ i × u 0 c j < i × u - - - ( 10 ) ]]>
3)计算第i个区间的总负载
4)通过式(11)计算Cr:
Cr = Σ i = 1 I ( max ( L i - u , 0 ) ) 2 - - - ( 11 ) ]]>
两个与区间相关的属性,|Ωi|和其计算方式如下。
1)将所有工件按其释放时间由小到大的顺序排序,不失一般性,记j′1,j′2,…,j′n为排序后的各 个工件,r′1,r′2,…,r′n为对应的释放时间。
2)对工件j′k(i=1,2,…,n),如果iu≤r′k<(i+1)u成立,其中i为时间窗口的序号,则j′k属于第i个 时间窗口对应的工件集合。
3)对每个时间窗口,|Ωi|为该时间窗口对应的工件数量,为该时间窗口对应工件 的加权加工时间之和。
在采用上述输入特征属性的基础上,基于极限学习机(ELM)模型框架,采用如下步骤建 立调度子问题性能指标预报模型。需要说明的是,由于调度子问题性能指标预报模型训练过程 所需的训练数据是随着算法的运行逐步得到的,因此,所采用的极限学习机应基于在线学习框 架。
步骤(1):模型参数初始化
对于给定的N个样本,其输入记为其中xi表示每i个样本,由2I+4维数据 组成的向量;N个样本输入相对应的输出记为yi为相应调度子问题的性能指标 值;
给定基于结构风险最小化的极限学习机的隐层节点数L,采用径向基函数作为特征 变换函数,函数形式为i=1,2,…,L,其中ai,bi为径向基函数的 参数,ai维数为2I+3维,该值从[-1 1]中随机选取,bi为1维,取值为从 1 100 13 300 ]]>随 机选取;根据极限学习机算法的逼近理论,只要隐层节点数足够大,算法能够以任意精 度逼近任意的函数,因此本发明中隐层节点数选取一个相对较大的值即可,如L>20。
于是,生成的极限学习机特征映射矩阵H(X)为:
H ( X ) = G ( a 1 , b 1 , x 1 ) G ( a 2 , b 2 , x 1 ) . . . G ( a L , b L , x 1 ) G ( a 1 , b 1 , x 2 ) G ( a 2 , b 2 , x 2 ) . . . G ( a L , b L , x 2 ) . . . . . . . . . . . . G ( a 1 , b 1 , x N ) G ( a 2 , b 2 , x N ) . . . G ( a L , b L , x N ) ]]>
步骤(2):算法初始化
对于时刻t而言,极限学习机ELM的权值参数Wt初始化值为:
W t = [ 1 v + H ( X t ) T H ( X t ) ] - 1 H ( X t ) T Y t ]]>
其中:
Xt表示t时刻已经获得的样本,样本数量为N,于是产生的极限学习机映射矩阵为:
H ( X t ) = G ( a 1 , b 1 , x 1 ) G ( a 2 , b 2 , x 1 ) . . . G ( a L , b L , x 1 ) G ( a 1 , b 1 , x 2 ) G ( a 2 , b 2 , x 2 ) . . . G ( a L , b L , x 2 ) . . . . . . . . . . . . G ( a 1 , b 1 , x N ) G ( a 2 , b 2 , x N ) . . . G ( a L , b L , x N ) ]]>
Y t = y 1 y 2 . . . y N ]]>
v为惩罚系数;
步骤(3):在线学习过程
对于t+1时刻,假定新到达样本的数量为k个,新到达样本对应的输入为输出为 Y IC = y N + 1 Y N + 2 . . . y N + k , ]]>于是由新到达的样本数据形成的极限学习机映射矩阵为:
H ( X IC ) = G ( a 1 , b 1 , x N + 1 ) G ( a 2 , b 2 , x N + 1 ) . . . G ( a L , b L , x N + 1 ) G ( a 1 , b 1 , x N + 2 ) G ( a 2 , b 2 , x N + 2 ) . . . G ( a L , b L , x N + 2 ) . . . . . . . . . . . . G ( a 1 , b 1 , x N + k ) G ( a 2 , b 2 , x N + k ) . . . G ( a L , b L , x N + k ) ]]>
t+1时刻极限学习机权值参数Wt+1按照如下方式更新:
Wt+1=KtWt+KtAt-1H(XIC)TYIC
其中:
Kt=I-At-1H(XIC)T[H(XIC)At-1H(XIC)T+Ik×k]-1H(XIC)
A t - 1 = [ 1 v + H ( X t ) T H ( X t ) ] - 1 ]]>
At+1-1=KtAt-1
Ik×k为对角线为1的单位矩阵;
Kt、At-1为引入的中间变量,从而简化更新后权值参数Wt+1的表达形式;
步骤(4):训练过程终止
当所有的训练数据都参与训练后,训练过程终止,此时输出训练完成后的极限学习机权 值参数W;
(四)基于性能指标预报模型和解相似度分析的差分进化算法
本发明提出了基于性能指标预报模型和解相似度分析的差分进化算法,用来求解原光刻工 序动态调度问题,动态地给出调度方案。所提出的差分进化算法在计算机上由如下步骤进行:
步骤(1):算法初始化
每个设备选择调度子问题的解可表示为:
A=[r1,r2,…,rn]
其中,rj为表示工件j对应加工机器的实数,rj∈(0,|μj|]。
在算法初始化中,首先产生NP个设备选择调度子问题的解形成初始解集合(也可称为初始 种群),产生方法为:为每个工件,从其对应的可选设备集合μj中随机选择一台设备作为其加 工设备。同时,设定差分进化算法(DE)中的若干参数,包括交叉率CR,缩放因子F。在本发 明中,CR∈[0,1],F∈[0.5,1]。算法的停止条件为算法运行时间达到运行时间限制为止。
在算法初始化中,还需要训练产生初始的调度子问题性能指标预报模型。在本发明所针对 的问题中,一旦解集合中设备选择调度子问题的解给定,那么,排序子问题中的各个参数也即 确定。本发明采用分枝定界算法(B&B)(Rabia Nessah,Imed Kacem.Branch-and-bound method for minimizing the weighted completion time scheduling problem on a single machine with release dates.Computers & Operations research,2012,39:471-478)来分别求解各个排序子问题,从而获取 相应的每个设备选择调度子问题解的性能指标值。上述求解过程完成后,即可使用所获得的数 据,采用前述第三节的方法训练产生初始的调度子问题性能指标预报模型。在算法初始化阶段, 进行精确评价的解的数量为N0个,在本发明中,选择N0=NP/2。
步骤(2):差分变异
针对给定解集合中的各个解,首先计算解的相似度矩阵:
M d = | | A g 1 , A g 2 | | | | A g 1 , A g 2 | | . . . | | A g 1 , A g NP | | | | A g 2 , A g 1 | | | | A g 2 , A g 2 | | . . . | | A g 2 , A g NP | | . . . . . . . . . . . . | | A g NP , A g 1 | | | | A g NP , A g 2 | | . . . | | A g NP , A g NP | | ]]>
其中,表示解i和解j之间的距离,表示第g代解集合中的第i个解。进一步, 该举例被定义为:其中1(·)为指示函数,若成立,则 否则距离越小,表明两个解之间的相似度越高。
在上述解相似度矩阵Md基础上,计算选择概率矩阵Mp:
M p ( i , j ) = 1 - d ( i , j ) Σ i d ( i , j ) ]]>
其中,i,j=1,2,…,NP。从当前解集合中随机选择一个解,记为基于选择概率矩阵Mp可 得到选择概率向量Mp(r1,·)(即选择概率矩阵Mp的第r1行),针对该选择概率向量,实施轮盘赌 方法,选择2个互不相同的解(即选择概率与其距离近似成反比)。不失一般性,记所选中的 另两个解为采用如下公式来获得变异后的解:
V g i = A g r 1 + F ( A g r 2 - A g r 3 ) ]]>
步骤(3):交叉操作
在本发明中,采用如下方法进行解的交叉操作:分别对于步骤(2)产生的变异后解的每 个元素,随机产生一个实数r∈[0,1],如果r≤CR,则该元素替换目标解中相应位置的元素,否则保留 目标解中相应位置的元素。
步骤(4):评价与选择
在上述寻优操作完成之后,本发明需要对解集合中的所有目标解进行评价。评价过程分成 两个阶段,首先进行粗评价,其次进行精确评价。在粗评价阶段,采用前述建立的调度子问题 性能评价模型对解集合中的每个设备选择调度子问题的解(同时也是差分进化算法解集合中的 每个解)进行性能评价,在此基础上,选择前p的较好解(即对应的总加权流经时间较小的解), 采用前述分枝定界算法进行对其进行精确评价。精确评价所获得的数据同时用于调度子问题性 能评价模型的在线训练,在线训练的方法如第三节所述。在评价过程完成以后,采用标准轮盘 赌方法从解集合中选择出新的下一代解集合。
附图说明
图1:基于指标预报和解相似度分析的光刻工序动态调度方法硬件系统结构示意图。
图2:基于指标预报和解相似度分析的光刻工序动态调度方法流程示意图。
具体实施方式
本发明提出的动态调度方法依赖于相关数据采集系统,由调度系统客户端和调度服务器实 现。在实际半导体生产线光刻区动态调度中应用本发明的软硬件架构示意图如图1所示,本发 明的实施方式如下。
步骤(1):获取上述半导体生产线光刻区动态调度问题对应的数据。
包括设备数量、各设备的释放时间、待加工的工件的释放时间/加工时间/优先级/可加工机器 组信息,并存储至调度数据库中,并采用“发明内容”第一节的方法,形成待求解的半导体生 产线光刻区动态调度问题实例。
步骤(2):光刻区动态调度问题分解
针对所获得的光刻区动态调度问题实例,采用“发明内容”第二节的方法,将该实例分解为 设备选择调度子问题和工件排序调度子问题。在后续的步骤中,上述两个子问题迭代求解,形 成最终的光刻区动态调度方案。
步骤(3):光刻区动态调度问题求解
针对上述光刻区动态调度问题实例,采用“发明内容”第三节和第四节的方法,求解上述问 题,形成动态调度方案。
步骤(3.1):差分进化算法初始化
设定差分进化算法与调度子问题性能指标预报模型的相关参数:
差分进化算法中的解集合规模:NP=30;
差分进化算法中的缩放因子:F=0.95;
差分进化算法中的交叉率:CR=0.5;
差分进化算法中的精确评价比例:p=20%;
差分进化算法中的停止条件:需要根据不同的问题场景,设定不同的算法运行时间限制,具 体见后续实验结果说明;
步骤(3.2):调度子问题性能指标预报模型初始化
调度子问题性能指标预报模型中的区间划分参数:I=6;
调度子问题性能指标预报模型中的径向基函数的参数:ai维数为2I+3维,其每一维的取值 从[-1 1]中随机选取,bi为1维,取值为从 1 100 13 300 ]]>随机选取;
调度子问题性能指标预报模型中的隐层节点数:L=20;
调度子问题性能指标预报模型中的惩罚因子v,按经验取2-15;
在上述参数设置基础上,采用本发明“发明内容”第四节步骤(2)的方法,产生设备选择 调度子问题的NP个初始解形成初始解集合,然后,随机选择NP/2个解,采用分枝定界算法进行 精确评价,获得各个解对应的调度目标函数值(即总加权流经时间)。在此基础上,采用“发 明内容”第三节的预报模型学习方法,利用所获得的调度子问题及其对应的目标函数值的数据, 获得初始的调度子问题性能指标预报模型。
步骤(3.3):差分变异和交叉
采用“发明内容”第四节步骤(3)和步骤(4)的方法,对解集合中的解,首先进行差分变 异操作,然后进行交叉操作。操作完成后,形成新的解集合。
步骤(3.4):评价与选择
采用“发明内容”第四节步骤(5)的方法,对解集合中的解,首先采用调度子问题性能指 标预报模型进行粗评价,在此基础上,选择前p%的较好解进行精确评价,然后,采用标准轮盘 赌方法进行选择,形成新一代解集合。
步骤(3.5):在线训练更新预报模型参数,形成新的调度子问题性能指标预报模型
采用“发明内容”第三节的方法,结合步骤(3.4)中获得的前p%的较好解的精确评价数据, 在线训练,更新原预报模型参数,形成新的调度子问题性能指标预报模型。
步骤(3.6):算法终止条件判别
若算法运行时间已达到设定值,则停止;否则转步骤(3.3)进行迭代优化。
根据上述所提出的基于指标预报和解相似度分析的光刻工序动态调度方法,本发明做了大量 的仿真试验,运行的硬件环境为:P4 2.8GHz CPU,4G RAM,操作系统为Windows 7。由于篇 幅所限,仅列出部分实验结果。首先,基于实际光刻区的生产数据,随机产生若干动态调度问 题实例,其中,工件的加工时间、权重、释放时间按如下方式产生:
pl,j~U[1,20]
wj~U[1,10]
r j ~ U [ 0 , n m × avg ( p j ) × δ ] ]]>
其中,δ(δ∈R+)为阻塞系数,反映该问题中工件释放间隔时间的密集程度;n为工件数重, m为机器数量,U[·,·]表示给定范围的均匀分布,avg(pl,j)为所有加工时间的平均值。为验证本 发明方法的有效性,在数值计算中对上述已产生的问题实例基础上对工件的加工时间、释放时 间参数施加了随机扰动。表1列出了本发明所提出的调度方法(简记为SM-DE)与文献中的典 型差分进化优化算法(M.G.Epitropakis,D.K.Tasoulis,N.G.Pavlidis,V.P.Plagianakos,M.N. Vrahatis.Enhancing differential evolution utilizing proximity-based mutation operators.IEEE Transactions on Evolutionary Computation,2011,15(1):99-119,简记为Pro-DE)在所随机产生的调 度问题实例上的应用对比。
表1实验结果对比
在表1中,avgTFT,stdTFT分别为调度问题实例采用相应算法求解20次得到的总加权流经 时间的平均值和方差,算法允许运行时间为100秒,在表1中较好的解标注为“加黑”状态。 可以看出,在算法允许运行时间相同的条件下,SM-DE在绝大多数的情况都优于Pro-DE算法。