发明内容
为解决较大规模具有组批特征,以最小化平均流经时间为调度目标的微电子生产线调度问题,本发明针对具有组批特征的微电子生产线调度问题的特点,提出一种属性论域的动态模糊划分方法,基于此,给出一种新的模糊调度规则形式及基于Aprior算法的模糊调度规则智能挖掘方法。在每条模糊调度规则中,每个条件属性具有两个语言变量,输出为一个分类标签,用于表示待加工两个操作的调度优先级。与第一个语言变量对应的属性论域采用三角模糊数进行属性论域的简单模糊划分,而与第二个语言变量对应的属性论域基于第一个语言变量的取值进行动态三段式模糊划分,使得所获取的模糊调度规则具有更高的逼近精度和更少的规则数。考虑到属性论域划分和规则挖掘过程中的一些关键参数对所获得的模糊调度规则的性能影响较大,设计了一种和声搜索算法对上述关键参数进行优化学习。将本发明应用于以最小化平均流经时间为调度目标的微电子生产线调度问题可产生较好的调度效果。
(一)问题描述
以最小化平均流经时间为调度目标、具有组批特征的微电子生产过程调度问题可描述如下:
设调度问题包含I个Lot和K台机器,分别组成Lot集合J={Ji|i=1,2,...,I}和机器集合M={Mk|k=1,2,...,K},ri≥0为LotJi的释放时刻。LotJi(j=1,2,...,ni)由ni个操作{Oij|j=1,2,...,ni}组成。O={Oij|i=1,2,...,I;j=1,2,...,ni}为调度问题所有操作组成的集合。在微电子生产过程,Lot的每一步加工都有一定的处理规范,用菜单表示,每个Lot的每个操作均具有某一菜单,而每台机器仅能加工具有某些菜单的操作。设P={ρl|l=1,2,...,L}为所有菜单的集合,操作Oij(i=1,2,...,I;j=1,2,...,ni)的菜单为ρij∈P,机器Mk(k=1,2,...,K)可加工的菜单组成集合,从而当且仅当ρij∈Pk时,操作Oij可以在机器Mk上加工,相应的加工时间仅由其加工机器和具有的菜单唯一确定。根据机器的组批能力,所有的机器可分为组批加工机器和串行加工机器,在任一串行加工机器上,每个时刻仅能加工一个操作,在任一组批加工机器上,每一时刻可加工一个或多个操作,同时加工的操作形成一批,能同时加工的最大操作数称为机器的组批能力,设Blk为菜单ρl(l=1,2,...,L)在机器Mk(k=1,2,...,K)上的组批能力。不失一般性,对于串行加工机器Mk∈Ms和菜单ρl∈Pk,相应的组批能力Blk=1。另外,在机器Mk(k=1,2,…,K)上,若即将加工操作的菜单ρl与上一个加工操作的菜单不同,则需要一个额外的Setup时间ul。
对上述微电子生产过程调度问题,要获得一个可行的调度(即可行解)需要确定以下决策变量:
Mk(i,j):操作Oij的加工机器;
sij:操作Oij的加工开始时间;
若时刻tLotJi在机器Mk上加工,则,否则,
若时刻t在机器Mk上加工的菜单为ρl,则否则,
若在机器Mk上操作Oij先于操作Omn加工,则否则,
设ci为Lot Ji的完工时间,为极大的正数。微电子生产过程调度问题的数学模型可表述如下:
在上述模型中,式(1)为调度的目标函数:最小化平均流经时间;式(2)给出了工艺路径约束和Setup时间约束;式(3)给出了不可中断约束;式(4)给出了在同一台机器上两个操作的先后加工顺序约束;式(5)表明任一台机器同一时刻只能加工一个菜单;式(6)表明一个操作只能在一台机器上加工;式(7)给出了组批约束,特别地当机器Mk为串行加工机器时,式(7)显示同一时刻一台串行机器只能加工一个操作;式(8)给出了释放时间约束。
(二)基于论域动态划分和学习的模糊调度规则挖掘方法
本发明所提方法是针对上述以最小化平均流经时间为调度目标、具有组批特征的较大规模微电子生产线调度问题的一种调度方法,且所述方法是在计算机上依次按如下步骤实现的:
步骤(1):初始化,设定如下基本变量
设定问题变量和算法参数:
d:用于描述每个操作的属性个数
aj:第j(j=1,2,...,d)个属性
N:用于模糊调度规则(dFACRs)学习的训练样本规模
tsj: 第j(j=1,2,...,N)个训练样本
属性aj对应的频繁2维模糊网格集合
FFG:所有频繁模糊网格组成的集合
R:模糊调度规则
R′:规则R的逆规则
规则R的分类标签
CF(R):规则R的确定度
minFS:模糊规则的最小支撑度
Γi:模糊调度规则集
ACC(Γi):Γi对训练样本的分类精确度
HMS:和声库规模
HMCR:和声库考虑概率
PAR:微调扰动概率
Rand:服从于0-1正态分布的随机数
和声库中第i(i=1,2,...,HMS)个和声的第j(j=1,2,...,d+1)个和声向量
与第i(i=1,2,...,HMS)个和声对应的第j(j=1,2,...,d)个属性采用简单模糊划分进行模糊划分的模糊数
wa和wc:加权系数
Tmax:算法最大迭代次数
Tmin:和声库中最好和声连续未改进的最大迭代次数
步骤(2):采集包括上述工序数、品种数、各Lot的工艺路径和所包含的Lot数、机器数、各操作在各机器上的加工菜单及加工时间、各机器上菜单间切换的Setup时间、各菜单在各机器上的最大组批等在内的调度相关信息并存储至调度数据库中,并形成待求解的微电子生产线调度问题实例。
步骤(3):生成训练样本
分别采用最短剩余加工时间优先(Shortest Remaining Processing Time,SRPT)、最长剩余加工时间优先(Largest Remaining Processing Time,LRPT)最先进入队列的优先(First In First Out,FIFO),最短加工时间优先(Shortest Processing Time,SPT)、最长加工时间优先(LongestProcessing Time,LPT)及随机规则(RANDOM)生成初始调度,然后随机选择任意一台机器上相邻被加工的两个操作,交换其调度优先级,从而生成一个新的调度;根据上述两个调度中对应相对较小平均流经时间的调度,由被交换调度优先级两个操作的属性生成一个训练样本,重复上面流程直到获得N个训练样本;
设是上述具有较高调度优先级操作的d个属性值,d=5,为操作的加工时间;为当前时刻空闲机器中除了被选择机器外与其上上一个加工操作具有相同加工菜单的机器总数;当操作在被选择机器上加工需要Setup时间时为1,否则为0;为当前操作后续操作的加工机器的平均负载,即所有在被选择机器前等待加工操作的加工时间总和;是另一个操作的d个相应属性值,那么,所生成的训练样本为基于此,生成训练样本 在上述训练样本中,每个属性有两个取值,分别对应两个不同的操作;
对上述生成的训练样本进行如下归一化处理:
k=1,2
步骤(4):初始化
初始化包含HMS个和声向量的和声库,每一个和声向量由d+1个属于[0,1]的随机数表示的和声变量组成,即
步骤(5):计算每个和声Xi(i=1,2,...,HMS)对应的目标函数值
步骤(5.1):转换Xi为其中,为第j(j=1,2,...,d)个属性采用简单模糊划分进行模糊划分的模糊数,考虑到简单模糊划分方法中,最小的模糊划分数为3,另外,本发明中设定最大模糊划分为10,从而,按下式将Xi转换为Si
其中,Round(·)为四舍五入运算符。
步骤(5.2):在所提模糊调度规则中,每个条件属性取值为由两个模糊集组成的2维模糊网格,分别对应两个不同的操作,其对应的属性论域分别采用简单模糊划分方法和动态模糊划分方法进行划分;对其中第一个操作第j(j=1,2,...,d)个属性aj的属性论域采用简单模糊划分方法划分为个模糊数,如论域划分为和如图3所示。
步骤(5.3):基于与第一个操作对应属性的取值,对第二个操作第j(j=1,2,...,d)个属性aj的属性论域,采用动态模糊划分方法划分为三个模糊数,若第一个操作对应属性的取值,则第二个操作属性aj的属性论域划分 和其中 和分别为左半和右半梯形模糊数;如:若第一个操作第j(j=1,2,...,d)个属性aj取值为则第二个操作属性aj的属性论域划分如图4b)所示,其中特别当第一个操作第j(j=1,2,…,d)个属性aj取值为则第二个操作属性aj的属性论域划分如图4d)所示,其中,当第一个操作第j(j=1,2,...,d)个属性aj取值为则第二个操作属性aj的属性论域划分如图4f)所示,其中,
基于上述属性论域的动态模糊划分方法,所提出的模糊调度规则具有如下形式:
R:if
...
...
then D iswith CF(R)
步骤(5.4):发现所有频繁的2维模糊网格 (i=1,2,...,d),其中,ni是对应第i个属性的频繁模糊网格总数;对任意2k维模糊网格 其模糊支撑度可通过下式计算
其中,(·)和(·)分别为模糊数和对应的隶属度函数若FS(fg)≥minFS,则2k维模糊网格fg是频繁的;
步骤(5.5):设|FFG|是包含在FFG频繁模糊网格的总数;
步骤(5.6):发现所有频繁的2k(k=1,2,…,d)维模糊网格FFG
步骤(5.7):根据FFG生成形如步骤(5.3)给出的模糊调度规则
根据FFG中的每个频繁模糊网格,生成对应的规则前件,并增加分类标签1作为规则后件;同时,将对应频繁模糊网格的支撑度作为相应规则R的确定度CF(R);
步骤(5.8):对所生成的每条规则R,构造其逆规则R′
R′:if
...
...
then D isCF(R′)
其中,为另一个分类标签0;CF(R′)为规则R′的确定度,且CF(R′)=CF(R)
步骤(5.9):基于训练样本集 (j=1,2,...,N)计算所生成模糊调度规则(dFACRs)集Γi,即和声Xi(i=1,2,...,HMS)对应的目标函数值,其中,Γi由上述所有的R和R′组成
f(Xi)=waACC(Γi)+wc|Ri|
其中,ACC(Γi)是Γi对训练样本的分类精确度,|Γi|是包含在Γi中模糊调度规则的总数,wa和wc是加权系数
步骤(6):和声改进
通过如下流程生成新的和声
步骤(7):和声更新
若f(Xnew)≤f(Xworst),则令Xwores=Xnew,其中,Xworst是当前和声库中的最差和声
步骤(8):和声库重新初始化
若连续Tmin次迭代最好和声均未得到改进,则随机生成HMS/2个新和声替换掉和声库中较差的HMS/2个和声
步骤(9):终止条件判断
若迭代次数达到最大迭代次数Tmax,则算法终止,否则返回步骤(5);
根据上述基于论域动态划分和学习的模糊调度规则挖掘方法,本发明做了大量的数值计算实验,从数值计算结果可看出,本发明对较大规模具有组批特征、以最小化平均流经时间作为优化目标的微电子生产线调度问题,具有较好的调度效果。
具体实施方式
本发明调度方法依赖于相关数据采集系统,有调度系统客户端和调度服务器实现。在实际微电子生产线调度中应用本发明的软硬件架构示意图如图1所示,本发明的实施方式如下。
步骤(1):采集包括上述工序数、品种数、各Lot的工艺路径和所包含的Lot数、机器数、各操作在各机器上的加工菜单及加工时间、各机器上菜单间切换的Setup时间、各菜单在各机器上的最大组批等在内的调度相关信息并存储至调度数据库中,并形成待求解的微电子生产线调度问题实例;
步骤(2):初始化,设定如下基本变量
设定算法相关参数:
N:用于模糊调度规则(dFACRs)学习的训练样本规模
HMS:和声库规模
HMCR:和声库考虑概率
PAR:微调扰动概率
wa和wc:加权系数
Tmax:算法最大迭代次数
Tmin:和声库中最好和声连续未改进的最大迭代次数
步骤(3):采用发明内容步骤(3)给出的方法生成训练样本
步骤(4):初始化和声库
初始化包含HMS个和声向量的和声库,每一个和声向量由d+1个属于[0,1]的随机数表示的和声变量组成,即
步骤(5):计算每个和声Xi(i=1,2,...,HMS)对应的目标函数值
步骤(5.1):转换Xi为其中,为第j(j=1,2,...,d)个属性采用简单模糊划分进行模糊划分的模糊数
其中,Round(·)为四舍五入运算符;
步骤(5.2):采用发明内容中步骤(5.2)中给出的方法对其中一个操作的每个属性aj的属性论域进行简单划分。
步骤(5.3):采用发明内容中步骤(5.3)中给出的方法对另一个操作的每个属性aj的属性论域进行动态划分。
步骤(5.4):采用发明内容步骤(5.4)给出的方法发现所有频繁的2维模糊网格
步骤(5.5):设|FFG|是包含在FFG频繁模糊网格的总数;
步骤(5.6):采用发明内容步骤(5.6)给出的流程发现所有频繁的2k(k=1,2,…,d)维模糊网格FFG。
步骤(5.7):根据FFG生成形如步骤(5.3)给出的模糊调度规则
根据FFG中的每个频繁模糊网格,生成对应的规则前件,并增加分类标签1作为规则后件;同时,将对应频繁模糊网格的支撑度作为相应规则R的确定度CF(R);
步骤(5.8):对所生成的每条规则R,构造其逆规则R′。
步骤(5.9):基于训练样本集 (j=1,2,…,N)计算所生成模糊调度规则(dFACRs)集Γi,即和声Xi(i=1,2,...1HMS)对应的目标函数值,其中,Γi由上述所有的R和R′组成
f(Xi)=-waACC(Γi)+wc|Ri|
其中,ACC(Γi)是Γi对训练样本的分类精确度,|Γi|是包含在Γi中模糊调度规则的总数,wa和wc是加权系数
步骤(6):采用发明内容步骤(6)中的方法对和声进行改进生成新的和声
步骤(7):和声更新
若f(Xnew)≤f(Xworst),则令Xworst=Xnew,其中,Xworst是当前和声库中的最差和声
步骤(8):和声库重新初始化
若连续Tmin次迭代最好和声都没得到改进,则随机生成HMS/2个新和声替换掉和声库中较差的HMS/2个和声
步骤(9):终止条件判断
若迭代次数达到最大迭代次数Tmax,则算法终止,否则返回步骤(5);
基于论域动态划分和学习的模糊调度规则挖掘方法的参数选择如下:用于模糊调度规则(dFACRs)学习的训练样本规模N为10000,和声库规模HMS为50,和声库考虑概率HMCR为0.7,微调扰动概率PAR为0.1,加权系数wa和wc分别为1000和1,算法最大迭代次数Tmax为100,和声库最好和声连续未改进的最大迭代次数Tmin为5。
根据上述所提出的基于属性论域动态划分和自适应学习的模糊调度规则智能挖掘方法,本发明做了大量的数值计算,运行的硬件环境为:Inter(R)CoreTMi5-3337U 1.8GHz CPU,4.00GB RAM,操作系统为Windows 8.1。
由于篇幅所限,仅列出针对某微电子生产线调度过程实际数据的部分数值计算结果,其中,有117台机器,其中77台属于批处理机器,其余的为串行处理机器,批处理机器中最大组批能力为8个Lots,最小组批能力为2个Lots。
实验一:相关算法参数对所获得模糊调度规则性能的影响:表1和表2分别给出了采用简单模糊划分方法对属性论域进行划分时选取不同的模糊数和不同的minFS下,所获取模糊调度规则的分类能力和规则条数,其中,6为划分模糊数。从中可以看出,上述参数对所获得模糊调度规则性能具有重要的影响。
表1 模糊调度规则的分类能力
表2 模糊调度规则的包含的规则数
实验二:模糊调度规则与常用启发式调度规则的调度性能比较。表3给出了针对具有500、1000、2000、3000和5000个Lot的调度问题实例采用各种常用启发式调度规则所获得的平均流经时间的平均值。其中每类问题包含10个问题实例,用于比较的常用启发式调度规则包括最短剩余加工时间优先(Shortest RemainingProcessing Time,SRPT)、最长剩余加工时间优先(Largest Remaining ProcessingTime,LRPT)最先进入队列的优先(First In First Out,FIFO),最短加工时间优先(Shortest Processing Time,SPT)、最长加工时间优先(Longest Processing Time,LPT),随机调度(RANDOM)。从中可看出,在平均流经时间指标上,本发明提出的模糊调度规则(dFACRs)均优于其它常用的启发式调度规则。
表3 本发明方法与常用启发式调度规则的调度性能比较