大规模生产过程一种基于迭代式分解和流松驰的调度方法

文档序号:6321063阅读:246来源:国知局
专利名称:大规模生产过程一种基于迭代式分解和流松驰的调度方法
技术领域
本发明属于自动控制、信息技术和先进制造领域,针对以最小化制造周期为调度目标、工件具有可分类特征的大规模生产过程,公开了一种基于迭代式分解和流松弛的调度方法。

背景技术
生产过程优化调度是提高制造企业生产管理和控制水平的重要手段,其目的是在满足各类资源约束和工艺约束的条件下,通过合理安排各加工任务(工件)在各机器前的加工顺序,使某项或多项生产指标达到最优。生产过程调度水平的提高对企业缩短制造周期、提高机器利用率、降低生产成本,进而提高企业生产效率、经济效益和市场竞争力均具有重要作用。目前,常见的生产过程调度方法包括启发式方法、运筹学方法、软计算方法和人工智能方法等。但由于实际生产过程调度涉及的工件和操作数量多(工件达数百至上千个,操作达数千至上万个),且生产约束较为复杂,已有方法在实际大规模生产过程调度中的应用效果不够理想。
在实际微电子、机械等行业大型制造企业中,其生产任务(工件)常具有可分类特性,即在一次调度过程中,所有工件可根据工艺路径及相应操作的加工时间的不同划分为若干类,同类工件具有较大的相似性,且同类工件数量较多。同时,最小化制造周期是上述企业常见的调度目标。本发明即是针对该类以最小化制造周期为调度目标、工件具有可分类特征的大规模生产过程,提供一种基于迭代式分解和流松弛的调度方法。在上述行业大中型企业以最小化制造周期为调度目标、工件具有可分类特征的大规模生产过程中应用本调度方法,可有效缩短制造周期、提高生产效率。
另一方面,目前上述行业大多企业均已实施了MES、ERP等系统,已具备采集订单、工艺、进度、设备等信息的基础条件,这为实施本发明提供了可能。


发明内容
本发明针对以最小化制造周期为调度目标、工件具有可分类特征的大规模生产过程,公开了一种基于迭代式分解和流松弛的调度方法。该方法通过迭代式分解机制把大规模调度问题动态分解为多个阶段进行求解(每个阶段对应一个规模较小的调度子问题),并在求解每个阶段对应的调度子问题前,首先采用一种基于MD(Macro Distance)距离的工件聚类算法对所有待调度工件进行聚类,在此基础上,基于流松弛手段构建当前阶段调度子问题的全局调度指标预测模型,其可实现对当前调度子问题解全局性能的快速评价,进而,将上述预测模型应用于当前调度子问题的求解过程中,以提高求解效果。
该调度方法的基本流程如图1所示,具体实现步骤说明如下 步骤(1)初始化,设定如下基本变量 工件集合Jn个工件{Ji}i=1n; 机器集合M所有机器共分为K个机器组,记为{Gk}k=1K,其中机器组Gk中的机器数为mk,分别为gk,1,gk,2,…,

同时,M=G1∪Gk∪…∪GK; 工件Ji需经过ni个机器组的加工,其工艺路径Ri记为

其中Ji在机器组Gki上加工的操作记为Qi,k,其加工时间为pi,k; 所有操作的集合记为O; 步骤(2)采集包括上述工件个数、机器组个数、各机器组中的机器个数、各工件的工艺路径、各操作的加工时间在内的调度相关信息并存储至调度数据库中; 步骤(3)从上述调度数据库中读取包括工件个数、机器组个数、各机器组中的机器个数、各工件的工艺路径、各操作的加工时间在内的调度相关信息,建立生产过程调度模型(又可称为“原调度问题”),所建立的调度模型可表示为如下形式 s.t.
其中,Ci为工件Ji的预计完工时间;sti,k为操作Qi,k的预计开始加工时间;Ai为工件Ji工艺路径上所有相邻操作对的集合;Ek,l为在机器gk,l上待加工的所有操作对的集合; 步骤(4)基于时间分解机制将原调度问题迭代地分解为多个阶段进行求解,并在每个求解阶段,首先基于工件聚类和流松弛手段建立全局调度指标预测模型,该预测模型涉及工件加工进度特征指标预测和全局调度性能指标预测,然后,将该预测模型用于形成和求解当前阶段调度子问题过程中;该过程按如下步骤进行 步骤(4.1)采用基于MD(Macro Distance)距离的K-均值聚类算法,将当前阶段所有待调度工件划分为c个聚类,其中,c为聚类数;该聚类过程采用如下流程进行 步骤(4.1.1)计算工件距离矩阵(md(Ji,Jj))n×n,其中,md(Ji,Jj)表示工件Ji和Jj之间的距离;md(Ji,Jj)的计算方式如下 其中,d(Ri,Rj,k)=|posk,i-posk,j|表示机器组Gk在工件Ji和Jj的工艺路径Ri和Rj中的相对位置之差,posk,i表示机器组Gk在工件Ji的工艺路径Ri中所处的相对位置,其计算方法为 其中,Ind(Ri,Gk)为机器组Gk在工艺路径Ri中所处的绝对位置序号,即若该机器组位于Ri中的第一位,则Ind(Ri,Gk)=1,若第二位,则Ind(Ri,Gk)=2,以此类推;Len(Ri)为工件Ji的总操作数; 步骤(4.1.2)设定初始聚类中心点 从所有工艺路径中随机挑选c个工件,将其设为初始聚类中心点,记为J(0)1,J(0)2,…,J(0)c;令k=0; 步骤(4.1.3)将各工件划分至各聚类 依次对每个工件Ji,记

将工件Ji划分至聚类中心点Jjc对应的聚类中;其中,Jjc为第j个聚类中心点; 步骤(4.1.4)重新计算各聚类的聚类中心点 在将各工件分别划分至各聚类中后,重新计算各聚类中心点;聚类中心点的计算方法为在该聚类中,若某工件与其它工件的平均MD距离最短,则该工件为该聚类的中心点; 步骤(4.1.5)若所有聚类的聚类中心点未改变,则转步骤(4.1.7); 步骤(4.1.6)k=k+1,转步骤(4.1.3); 步骤(4.1.7)若聚类后某些类中的工件数量小于给定最小值NCmin,则将该类并入最近的其它聚类中(以聚类中心点之间的MD距离的大小来衡量各聚类之间的距离的远近),并重新计算新聚类的中心点; 步骤(4.2)在步骤(4.1)所得到的聚类结果基础上,将各聚类内的所有待调度工件均用其聚类中心点对应的工件取代,然后,建立当前阶段待调度问题的流松弛模型并求其最优解; 该步骤的具体流程如下 步骤(4.2.1)将各聚类内的所有工件均用其所属聚类的中心点对应的工件取代,此时,原调度问题转化为一个具有多类工件、每类工件内部各工件完全相同的调度问题; 步骤(4.2.2)对步骤(4.2.1)所形成的调度问题,基于流松弛假设,建立相应的流松弛模型;在流松弛模型中,各类工件以“流”方式存在,即工件可分解为无限小的“碎片”分别进行加工;在上述假设下,加工过程中由于工件的各“碎片”可能同时处于不同的机器组,因此,i类工件(由ci个聚类工件组成)的加工进度状况可用非负实数组

描述;其中,xi,k(t)为t时刻位于机器组Gk缓冲区(包括所有前续操作已完成,当前操作尚未开始的工件)中i类工件的待加工量(以相应操作的加工时间之和表示),该值为一非负实数;基于上述假设,所建立的流松弛模型具有如下形式 subject to 其中,Gk为机器组Gk可加工的所有操作的集合;pi,k为i类工件在机器组Gk上的平均加工时间;μi,k=1/pi,k为i类工件在机器组Gk中任一台机器上的加工速度;Ti,k(t)为在时间区间
内i类工件在机器组Gk中已完成的加工量(用已完成操作的加工时间之和表示);1(·)为指示函数,满足 步骤(4.2.3)上述流松弛模型所对应的一种最优解为如下形式(其证明过程略) i=1,2,…,c k=1,2,…,ni i=1,2,…,c xi,k(t)=0 i=1,2,…,c k=2,3,…,ni 其中,Ωk为机器组Gk中每台机器的平均负载,即 步骤(4.3)基于上述流松弛模型的最优解,确定预测工件加工进度特征指标所需的相关参数;当前阶段对应的工件加工进度特征指标f(Θ)为如下形式 其中,Θ表示当前调度子问题的求解策略,Ti,k(tend)表示基于当前调度子问题解对原调度问题进行仿真(仿真起始时间为上一阶段调度子问题对应时间窗口的结束时刻,仿真结束时间为当前阶段调度子问题对应时间窗口的结束时刻tend),i类工件于当前阶段调度子问题对应时间窗口结束时刻tend在机器组Gk上的实际加工完成量(采用已调度工件加工时间之和表示);调度特征指标f(Θ)反映了在调度子问题对应的时间窗口长度T内,基于调度子问题解获得的各类工件的加工完成量和流松弛模型最优解对应各类工件理论完成量的偏差; 步骤(4.4)选择全局调度性能指标预测所需的若干调度规则; 步骤(4.5)确定当前调度子问题对应时间窗口的长度,在此基础上采用基于问题特征的遗传算法形成并求解该调度子问题,并在调度子问题中采用基于全局调度指标预测模型得到的工件加工进度特征指标预测值和全局调度性能指标预测值对当前调度子问题解性能进行全局评价;当前阶段调度子问题对应的数学模型可表示如下 s.t.
其中,tq为第q个求解阶段开始的时刻;Jq为在时刻tq所有未完成的工件集合;Oq为在第q个求解阶段所有需要给出调度策略的操作集合;Aiq为第q个求解阶段属于工件Ji的所有相邻操作对集合;Ek,lq为在机器gk,l上待加工的所有相邻操作对集合;

为该调度子问题的优化目标函数,为最小化预测得到的最大完工时间; 求解当前调度子问题的基于问题特征的遗传算法主要环节描述如下 a)编码 采用基于规则的编码方法,编码形式为 Ch={r1,r2,…,rk,…,rK} 其中,rk表示机器组Gk所采用的调度规则; b)译码 按时间推进当前阶段调度子问题的仿真过程,并在每个仿真时刻,处理相应的调度事件;工件在各机器组上进行加工时,加工顺序由该机器组对应的调度规则确定;当存在多个可加工机器空闲时,随机选择一台机器上机;同时,遵循活动调度策略,即在存在等待加工的操作时,不允许相应的可加工机器出现空闲;在本调度方法中,调度子问题对应的时间窗口长度由下式确定 其中,Q为时间窗口长度系数,其大小反映了该调度子问题对应的时间窗口的长度; c)初始种群产生 对各机器组,从适用于优化制造周期目标的较好调度规则,包括SPT/WINQ/NINQ/LRPT/FIFO/MOPNR等6种调度规则中随机选出一条规则作为该机器组对应编码位相应的调度规则; 各调度规则的含义介绍如下 ●SPT操作加工时间最小者优先; ●WINQ下道工序缓冲区内等待操作加工时间总和最少的工件优先; ●NINQ下道工序缓冲区内等待操作个数最少的工件优先; ●LRPT剩余加工时间最大者优先; ●FIFO先到的工件优先; ●MOPNR操作数最多的工件优先; d)交叉和变异 按概率Pc对随机选定的两个个体采用两点交叉方法进行交叉;在对个体进行变异时,采用单点变异方法按概率Pm进行变异; e)评价和选择 对调度子问题解,采用如下两项指标进行性能评价 ●f(Θ)工件加工进度特征指标预测值; ●

全局调度性能指标预测值; 其中,全局调度性能指标预测值

通过如下流程获得 1)首先基于当前调度子问题解,对原调度问题进行仿真(仿真起始时间为上一阶段调度子问题对应时间窗口的结束时刻,仿真结束时间为当前阶段调度子问题对应时间窗口的结束时刻tend); 2)在上述仿真过程完成后,分别采用SPT/LRPT/WINQ规则继续对原调度问题进行仿真(仿真起始时间为当前调度子问题对应时间窗口的结束时刻,仿真结束时间为原调度问题所有操作完成加工); 3)将基于上述3条调度规则进行仿真得到的全局调度性能指标中的最小值作为全局调度性能指标预测值; 采用随机联赛选择方法对种群进行选择,联赛规模为2; 为有效评价调度子问题解,针对上述两项评价指标的特点采用一种分级评价方法;具体为若两个调度子问题解π1和π2对应的全局调度性能指标预测值



满足 则选择

值较低的解作为较好解;否则,选择工件加工进度特征指标f(Θ)较低的解作为较好解;其中,φ为目标分级系数,取值在区间
中,其大小反映了各聚类内工件的加工进度特征指标f(Θ)在对调度子问题解的评价过程中所起的重要程度;该值越大,说明f(Θ)在其评价过程中的重要性就越大;为此,取φ=αe-βN(s),其中,N(s)表示当前所形成的调度子问题序号; f)停止条件 算法迭代次数达到最大迭代次数; 步骤(4.6)在当前调度子问题求解完成后,固定当前调度子问题对应操作的调度策略,然后转步骤(4.1),继续求解下一阶段的调度子问题,直至原调度问题求解完成; 步骤(5)将最终所得到的原调度问题的调度方案下发执行。
在微电子、机械等行业大中型制造企业以最小化制造周期为调度目标、工件具有可分类特征的大规模生产过程中应用本调度方法,可有效缩短制造周期、提高生产效率。



图1基于迭代式分解和流松弛的调度方法流程示意图。
图2全局调度指标预测模型结构示意图。
图3本调度方法在实际制造企业实施所需的软硬件架构示意图。

具体实施例方式 本发明公开的基于迭代式分解和流松弛的调度方法依赖于相关数据采集系统,由调度系统客户端和调度服务器实现。在实际制造企业大规模生产过程调度中应用本发明的软硬件架构示意图如图3所示,本发明的实施方式如下。
步骤(1)采集上述工件个数、机器组个数、各机器组中的机器个数、各工件的工艺路径、各操作的加工时间等调度相关信息并存储至调度数据库中; 步骤(2)从上述数据库中读取工件个数、机器组个数、各机器组中的机器个数、各工件的工艺路径、各操作的加工时间等调度相关信息,建立生产过程调度模型; 步骤(3)基于时间分解机制将上述调度模型迭代地分解为多个阶段进行求解,并在每个阶段,首先基于工件聚类和流松弛手段建立全局调度指标预测模型,该预测模型涉及工件加工进度特征指标预测和全局调度性能指标预测,然后,基于该预测模型,形成并求解调度子问题。具体过程可参见“发明内容”相关部分。
步骤(4)将所得到的调度方案下发执行。
为验证上述基于迭代式分解和流松弛的调度方法在以制造周期为调度目标、工件具有可分类特性的大规模生产过程调度问题上的应用效果,本发明做了大量的仿真试验。在仿真试验中,调度问题数据按如下方式产生 1.产生15个机器组,各机器组中机器数量为[5,10]间均匀分布的随机整数; 2.产生一个工件,其操作数为[5,15]间的随机整数,各操作的加工时间为[10,50]间均匀分布的随机整数,各操作所在的加工机器组随机指定(但同一工件中不同操作的加工机器组之间不可重复); 3.对步骤2重复c次,产生c个工件; 4.从上述c个工件中随机挑选一个工件,对其工艺路径和各操作的加工时间进行随机扰动(对工艺路径采用交换相邻机器组的方法进行扰动,交换次数占总操作数的比例为η=0.2;对加工时间采用加上一个随机数的方法,扰动后的加工时间pnew=pold×(1+r),r∈[-γ,γ],扰动比例为γ=0.1),形成新的工件; 5.对步骤4重复n-c次,产生n-c个工件。
按上述方法可产生出不同规模的、工件具有可分类特性的调度问题,分别记为P3-1~P3-15。其中,问题规模采用工件数n表示。
基于迭代式分解和流松弛的调度方法所涉及的参数选择如下 ●工件聚类过程参数 聚类个数取c=n/50 ●调度子问题形成与求解参数 时间窗口长度系数Q=20 迭代代数20 种群规模10 目标分级系数中α=0.3,对P3-1~P3-5β=0.25 对P3-6~P3-10β=0.2 对P3-11~P3-15β=0.15 交叉变异概率pc=0.2,pm=0.05 本发明设计了用于与本方法(简称RCP-ID)进行对比的调度方法,包括 ■SPT/LRPT/WINQ适于优化制造周期目标的启发式规则 ■RBGA基于规则组合的遗传算法 ■RCP-ID(Cmax)仅采用全局调度性能指标预测值,不采用工件加工进度特征指标f(Θ)作为调度子问题优化指标的RCP-ID方法,即在计算调度子问题解的适应度值时,目标分级系数φ=0 本调度方法运行的硬件环境为P42.8GHz CPU,512M RAM,操作系统为Windows XP,编程语言为Visual C++6.0。
表1本调度方法与其它方法的求解性能比较

问题P3-1~P3-5工件数n为200 问题P3-6~P3-10工件数n为800 问题P3-11~P3-15工件数n为2000 ①该算法中,所采用的调度规则包括SPT/WINQ/NINQ/LRPT/FIFO/MOPNR等六种调度规则,采用基于规则的编码,各机器组对应一个编码位,其种群规模、初始种群产生方法、交叉变异方法与说明书中调度子问题求解算法相同,对调度目标值指数定标后轮盘赌方式进行选择,但迭代次数通过限制算法运行时间来控制(对P3-1至P3-5算法迭代1小时,P3-6至P3-10算法迭代1.5小时,P3-11至P3-15算法迭代2小时) ②为本方法与RCP-ID(Cmax)方法相比得到的改进率 ③为本方法与SPT/LRPT/WINQ/RBGA中最好的一组结果相比得到的改进率 表2本方法与其它方法的运行时间比较单位秒
①由于SPT/LRPT/WINQ三种启发式规则的运行时间很接近,因此不再一一列举。表中SPT/LRPT/WINQ一列为采用三种启发式规则求解原调度问题所需的最长运行时间 从表1和表2可看出,在所列的三种规模的调度问题上,本调度方法的优化效果均优于较好的启发式调度规则及基于规则组合的遗传算法。同时,在大规模调度问题(P3-11~P3-15)上的调度效果更明显优于RBGA及启发式规则(平均改进率为14.2%)。在运行时间上,本方法也在可以接受的范围内,且其性能明显优于迭代2小时的RBGA算法,这表明本方法在具有工件可分类特征的大规模生产过程调度问题上具有很好的优化效果。另外,与RCP-ID(Cmax)方法相比,本调度方法也显示出了较大的优越性。
权利要求
1.一种基于迭代式分解和流松弛的调度方法,其特征在于,该方法是针对以最小化制造周期为调度目标、工件具有可分类特征的大规模生产过程的一种调度方法,且所述方法在计算机上是按如下步骤实现的
步骤(1)初始化,设定如下基本变量
工件集合Jn个工件{Ji}i=1n;
机器集合M所有机器共分为K个机器组,记为{Gk}k=1K,其中机器组Gk中的机器数为mk,分别为
,同时,M=G1∪Gk∪…∪GK;
工件Ji需经过ni个机器组的加工,其工艺路径Ri记为
,其中Ji在机器组Gki上加工的操作记为Oi,k,其加工时间为pi,k;所有操作的集合记为O;
步骤(2)采集包括上述工件个数、机器组个数、各机器组中的机器个数、各工件的工艺路径、各操作的加工时间在内的调度相关信息并存储至调度数据库中;
步骤(3)从上述调度数据库中读取包括工件个数、机器组个数、各机器组中的机器个数、各工件的工艺路径、各操作的加工时间在内的调度相关信息,建立生产过程调度模型(又可称为“原调度问题”),所建立的调度模型可表示为如下形式
s.t.
其中,Ci为工件Ji的预计完工时间;sti,k为操作Oi,k的预计开始加工时间;Ai为工件Ji工艺路径上所有相邻操作对的集合;Ek,l为在机器gk,l上待加工的所有操作对的集合;
步骤(4)基于时间分解机制将原调度问题迭代地分解为多个阶段进行求解,并在每个求解阶段,首先基于工件聚类和流松弛手段建立全局调度指标预测模型,该预测模型涉及工件加工进度特征指标预测和全局调度性能指标预测,然后,将该预测模型用于形成和求解当前阶段调度子问题过程中;该过程按如下步骤进行
步骤(4.1)采用基于MD(Macro Distance)距离的K-均值聚类算法,将当前阶段所有待调度工件划分为c个聚类,其中,c为聚类数;该聚类过程采用如下流程进行
步骤(4.1.1)计算工件距离矩阵(md(Ji,Jj))n×n,其中,md(Ji,Jj)表示工件Ji和Jj之间的距离;md(Ji,Jj)的计算方式如下
其中,d(Ri,Rj,k)=|posk,i-posk,j|表示机器组Gk在工件Ji和Jj的工艺路径Ri和Rj中的相对位置之差,posk,i表示机器组Gk在工件Ji的工艺路径Ri中所处的相对位置,其计算方法为
其中,Ind(Ri,Gk)为机器组Gk在工艺路径Ri中所处的绝对位置序号,即若该机器组位于Ri中的第一位,则Ind(Ri,Gk)=1,若第二位,则Ind(Ri,Gk)=2,以此类推;Len(Ri)为工件Ji的总操作数;
步骤(4.1.2)设定初始聚类中心点
从所有工艺路径中随机挑选c个工件,将其设为初始聚类中心点,记为J(0)1,J(0)2,…,J(0)c;令k=0;
步骤(4.1.3)将各工件划分至各聚类
依次对每个工件Ji,记
将工件Ji划分至聚类中心点Jjc对应的聚类中;其中,Jjc为第j个聚类中心点;
步骤(4.1.4)重新计算各聚类的聚类中心点
在将各工件分别划分至各聚类中后,重新计算各聚类中心点;聚类中心点的计算方法为在该聚类中,若某工件与其它工件的平均MD距离最短,则该工件为该聚类的中心点;
步骤(4.1.5)若所有聚类的聚类中心点未改变,则转步骤(4.1.7);
步骤(4.1.6)k=k+1,转步骤(4.1.3);
步骤(4.1.7)若聚类后某些类中的工件数量小于给定最小值NCmin,则将该类并入最近的其它聚类中(以聚类中心点之间的MD距离的大小来衡量各聚类之间的距离的远近),并重新计算新聚类的中心点;
步骤(4.2)在步骤(4.1)所得到的聚类结果基础上,将各聚类内的所有待调度工件均用其聚类中心点对应的工件取代,然后,建立当前阶段待调度问题的流松弛模型并求其最优解;
该步骤的具体流程如下
步骤(4.2.1)将各聚类内的所有工件均用其所属聚类的中心点对应的工件取代,此时,原调度问题转化为一个具有多类工件、每类工件内部各工件完全相同的调度问题;
步骤(4.2.2)对步骤(4.2.1)所形成的调度问题,基于流松弛假设,建立相应的流松弛模型;在流松弛模型中,各类工件以“流”方式存在,即工件可分解为无限小的“碎片”分别进行加工;在上述假设下,加工过程中由于工件的各“碎片”可能同时处于不同的机器组,因此,i类工件(由ci个聚类工件组成)的加工进度状况可用非负实数组
描述;其中,xi,k(t)为t时刻位于机器组Gk缓冲区(包括所有前续操作已完成,当前操作尚未开始的工件)中i类工件的待加工量(以相应操作的加工时间之和表示),该值为一非负实数;基于上述假设,所建立的流松弛模型具有如下形式
subject to
其中,Gk为机器组Gk可加工的所有操作的集合;pi,k为i类工件在机器组Gk上的平均加工时间;μi,k=1/pi,k为i类工件在机器组Gk中任一台机器上的加工速度;Ti,k(t)为在时间区间
内i类工件在机器组Gk中已完成的加工量(用已完成操作的加工时间之和表示);1(·)为指示函数,满足
步骤(4.2.3)上述流松弛模型所对应的一种最优解为如下形式(其证明过程略)
xi,k(t)=0i=1,2,…,ck=2,3,…,ni
其中,Ωk为机器组Gk中每台机器的平均负载,即
步骤(4.3)基于上述流松弛模型的最优解,确定预测工件加工进度特征指标所需的相关参数;当前阶段对应的工件加工进度特征指标f(Θ)为如下形式
其中,Θ表示当前调度子问题的求解策略,Ti,k(tend)表示基于当前调度子问题解对原调度问题进行仿真(仿真起始时间为上一阶段调度子问题对应时间窗口的结束时刻,仿真结束时间为当前阶段调度子问题对应时间窗口的结束时刻tend),i类工件于当前阶段调度子问题对应时间窗口结束时刻tend在机器组Gk上的实际加工完成量(采用已调度工件加工时间之和表示);调度特征指标f(Θ)反映了在调度子问题对应的时间窗口长度T内,基于调度子问题解获得的各类工件的加工完成量和流松弛模型最优解对应各类工件理论完成量的偏差;
步骤(4.4)选择全局调度性能指标预测所需的若干调度规则;
步骤(4.5)确定当前调度子问题对应时间窗口的长度,在此基础上采用基于问题特征的遗传算法形成并求解该调度子问题,并在调度子问题中采用基于全局调度指标预测模型得到的工件加工进度特征指标预测值和全局调度性能指标预测值对当前调度子问题解性能进行全局评价;当前阶段调度子问题对应的数学模型可表示如下
s.t.
其中,tq为第q个求解阶段开始的时刻;Jq为在时刻tq所有未完成的工件集合;Oq为在第q个求解阶段所有需要给出调度策略的操作集合;Aiq为第q个求解阶段属于工件Ji的所有相邻操作对集合;Ek,lq为在机器gk,l上待加工的所有相邻操作对集合;
为该调度子问题的优化目标函数,为最小化预测得到的最大完工时间;
求解当前调度子问题的基于问题特征的遗传算法主要环节描述如下
a)编码
采用基于规则的编码方法,编码形式为
Ch={r1,r2,…,rk,…,rK}
其中,rk表示机器组Gk所采用的调度规则;
b)译码
按时间推进当前阶段调度子问题的仿真过程,并在每个仿真时刻,处理相应的调度事件;工件在各机器组上进行加工时,加工顺序由该机器组对应的调度规则确定;当存在多个可加工机器空闲时,随机选择一台机器上机;同时,遵循活动调度策略,即在存在等待加工的操作时,不允许相应的可加工机器出现空闲;在本调度方法中,调度子问题对应的时间窗口长度由下式确定
T=max(σk)/Q,
其中,Q为时间窗口长度系数,其大小反映了该调度子问题对应的时间窗口的长度;
c)初始种群产生
对各机器组,从适用于优化制造周期目标的较好调度规则,包括
SPT/WINQ/NINQ/LRPT/FIFO/MOPNR等6种调度规则中随机选出一条规则作为该机器组对应编码位相应的调度规则;
各调度规则的含义介绍如下
●SPT操作加工时间最小者优先;
●WINQ下道工序缓冲区内等待操作加工时间总和最少的工件优先;
●NINQ下道工序缓冲区内等待操作个数最少的工件优先;
●LRPT剩余加工时间最大者优先;
●FIFO先到的工件优先;
●MOPNR操作数最多的工件优先;
d)交叉和变异
按概率Pc对随机选定的两个个体采用两点交叉方法进行交叉;在对个体进行变异时,采用单点变异方法按概率Pm进行变异;
e)评价和选择
对调度子问题解,采用如下两项指标进行性能评价
●f(Θ)工件加工进度特征指标预测值;

全局调度性能指标预测值;
其中,全局调度性能指标预测值
通过如下流程获得
1)首先基于当前调度子问题解,对原调度问题进行仿真(仿真起始时间为上一阶段调度子问题对应时间窗口的结束时刻,仿真结束时间为当前阶段调度子问题对应时间窗口的结束时刻tend);
2)在上述仿真过程完成后,分别采用SPT/LRPT/WINQ规则继续对原调度问题进行仿真(仿真起始时间为当前调度子问题对应时间窗口的结束时刻,仿真结束时间为原调度问题所有操作完成加工);
3)将基于上述3条调度规则进行仿真得到的全局调度性能指标中的最小值作为全局调度性能指标预测值;
采用随机联赛选择方法对种群进行选择,联赛规模为2;
为有效评价调度子问题解,针对上述两项评价指标的特点采用一种分级评价方法;
具体为若两个调度子问题解π1和π2对应的全局调度性能指标预测值

满足
则选择
值较低的解作为较好解;否则,选择工件加工进度特征指标f(Θ)较低的解作为较好解;其中,φ为目标分级系数,取值在区间
中,其大小反映了各聚类内工件的加工进度特征指标f(Θ)在对调度子问题解的评价过程中所起的重要程度;该值越大,说明f(Θ)在其评价过程中的重要性就越大;为此,取φ=αe-βN(s),其中,N(s)表示当前
所形成的调度子问题序号;
f)停止条件
算法迭代次数达到最大迭代次数;
步骤(4.6)在当前调度子问题求解完成后,固定当前调度子问题对应操作的调度策略,然后转步骤(4.1),继续求解下一阶段的调度子问题,直至原调度问题求解完成;
步骤(5)将最终所得到的原调度问题的调度方案下发执行。
全文摘要
生产过程优化调度对制造企业缩短制造周期、提高机器利用率、降低生产成本等具有重要作用。本发明针对在微电子、机械等离散行业广泛存在的一类以最小化制造周期为调度目标、工件具有可分类特征的大规模生产过程,公开了一种基于迭代式分解和流松弛的调度方法。该方法采用基于预测机制的迭代式分解算法结构,将原调度问题迭代地分解为多个阶段进行求解,在各求解阶段,首先基于工件聚类和流松弛手段建立全局调度指标预测模型,然后,在基于上述预测模型获得的全局调度指标预测值指导下,进行调度子问题的形成和优化求解。将本发明应用于上述以最小化制造周期为调度目标、工件具有可分类特征的大规模生产过程后,可有效缩短制造周期,提高生产效率。
文档编号G05B19/418GK101788819SQ20101011940
公开日2010年7月28日 申请日期2010年3月8日 优先权日2010年3月8日
发明者刘民, 郝井华, 孙跃鹏, 吴澄 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1