一种基于规则参数全局协调优化的调度规则智能挖掘方法

著录项
  • CN201010119396.3
  • 20100308
  • CN101794115A
  • 20100804
  • 清华大学
  • 刘民;董明宇;吴澄
  • G05B13/02(2006.01)I
  • G05B13/02(2006.01)I

  • 北京市信箱82分箱清华大学专利办公室
  • 中国,CN,北京(11)
摘要
一种基于规则参数全局协调优化的调度规则智能挖掘方法,属于自动控制、信息技术和先进制造领域,具体涉及面向复杂生产过程实时调度环境的调度规则的智能挖掘方法,其特征在于包括以下步骤:建立面向复杂生产过程实时调度环境的调度规则智能挖掘框架、建立调度问题实例分类模型、构建并求解调度规则参数全局协调优化问题。本发明基于所提出的调度规则智能挖掘框架,采用双层模糊C均值聚类方法对调度问题实例进行分类。针对每类调度问题实例构建规则参数全局协调优化问题并采用基于线性划分粒子算法求解该优化问题,其中,采用贝叶斯估计方法对调度规则性能进行综合评价。所获得的调度规则对相似调度环境下不同问题实例均具有较好的调度效果。
权利要求

1.一种基于规则参数全局协调优化的调度规则智能挖掘方法,其特征在于,所述方法是在调度规则挖掘计算机和生产调度信息采集装置上依次按以下步骤实现的:

第一步:定义调度问题实例

调度问题实例记为Problem,其可定义如下:

现有N个工件组成工件集合J={1,…,N}。m个机器组组成机器组集合M={M 1,M 2,…,M m},其中机器组M i由N(M i)台相同的并行机器组成。有s个加工工序S={S 1,S 2,…,S s},其中工序S i所包含的机器组集合为MS(S i)。工件i的释放时刻为R i、完成时间为C i、交货期为D i,其加工过程由n i个操作 组成,操作O ij可在 机器组中任一台机器上加工,其加工时间为p(O ij),操作O ij在工艺路径中的直接后续操作集合用next(O ij)表示,直接前续操作集合用prev(O ij)表示。a(O ij)、b(O ij)和c(O ij)分别为操作O ij的到达时间、加工开始时间和加工结束时间。

加工过程满足如下约束:

●不可中断约束:操作一旦开始加工就不能停止,直至加工完成;

●工艺路径约束:

即工件的各操作必须按预定的工艺路径要求进行加工。

在满足上述约束的条件下,本发明设定的调度目标有两种:

●最小化拖期数(在一个调度问题实例中,完成时间C i晚于交货期D i的工件总数):

其中

●最小化制造周期(在一个调度问题实例中,加工完所有工件所用的时间):

min{max{C i|i=1,2,…,N}}

第二步:在所述的规则挖掘计算机上安装调度规则智能挖掘软件

调度规则智能挖掘软件由面向复杂生产过程实时调度环境的调度规则智能挖掘框架实现。该框架的核心是将调度规则挖掘过程转化为调度规则参数全局协调优化过程。该框架包括构建调度问题实例库、划分调度问题实例、构建同类型调度问题实例库、针对每类问题实例构建并求解规则参数全局协调优化问题。调度规则智能挖掘框架首先根据实际生产数据,构建调度问题实例,并将调度问题实例保存在调度问题实例库中,之后将调度问题实例库中的相关调度问题实例进行划分并产生调度问题实例类型,对每类相关调度问题实例,产生同类型的多个调度问题实例并构建调度规则参数全局协调优化问题,在此基础上,采用规则参数全局协调优化算法求解上述规则参数优化问题,在每次参数迭代优化过程中,将参数给定的调度规则作用于上述同类型多个调度问题实例进行生产过程仿真,获得相应的多个调度性能指标,并采用调度规则综合评价方法对当前调度规则进行评价,所获得的评价值作为规则参数全局协调优化问题的目标函数值,最终获得优化后的调度规则。面向复杂生产过程调度问题的调度规则智能挖掘框架的示意图如图2所示。按照上述调度 规则挖掘框架,调度规则智能挖掘软件包括构建调度问题实例库模块、调度问题实例划分模块、构建同类型调度问题实例库模块、构建调度规则参数全局协调优化问题模块、求解调度规则参数全局协调优化问题模块。

第三步:生产实时信息采集

用生产调度信息采集装置采集生产实时信息,包括生产工件信息(工件数量、工件中各操作加工时间、工件释放时间、工件交货期、工件工艺路径信息)、生产进度信息(操作在机器上的开工时间、结束时间、暂停时间)、设备信息(故障信息、维修保养信息)。并将上述信息通过网线传送至调度规则挖掘计算机。

第四步:构建调度问题实例库

在所述的调度规则挖掘计算机中调用构建调度问题实例库模块,建立调度问题实例库。根据第一步所定义的调度问题实例含义和第三步在特定时刻所采集的生产实时信息,产生特定时刻的调度问题实例,本发明中所采用的特定时刻为每天的8:00、12:00、16:00,这样每天即可产生3个调度问题实例,将每天建立的调度问题实例依次存储在调度问题实例库中。按上述过程持续一定时间,本发明中持续的时间为3个月。

第五步:划分调度问题实例

在所述的调度规则挖掘计算机中调用划分调度问题实例模块,对保存在调度问题实例库中的调度问题实例进行分类。在该模块中采用基于双层模糊C均值聚类的调度问题实例划分方法,对存储在调度问题实例库中的K个调度问题实例{Problem 1,...,Problem K}进行划分,根据第四步的设置,实例库中共有270个调度问题实例,即K=270。在该方法中,下层聚类负责将与调度问题实例相关的信息进行聚类,提取出特征信息;上层聚类负责将提取出的特征信息进行聚类,以用于调度问题实例的划分。该划分调度问题实例模块是按如下步骤对调度问题实例进行划分的:

第5.1步:实现模糊C均值聚类算法

在上下层聚类中,均需用到如下的模糊C均值聚类方法:假设样本集合为X={x 1,x 2,…,x n},将其分成C个模糊组,并求每组的聚类中心c j,j=1,…,C,使如下所定义的目标值J C达到最小:

且需满足:

其中,μ ij∈[0,1]表示第i个数据点属于第j个聚类中心的隶属度,c j为第j个聚类中心,α为加权指数。模糊隶属度μ ij和c j可分别用下式获得:

第5.2步:从调度问题的各类信息中提取出调度问题特征信息(下层聚类)

下层聚类负责从调度问题的各类信息中提取出调度问题特征信息,其是按如下步骤实现的:

第5.2.1步:提取工件工艺特征

采用如下三元表示法表示工件i的工艺特征:

Process i={ML i,MF i,AF i}

其中:

●ML i为工件i的工艺路径中的最长路径,记到达操作O ij处的最长工艺路径长度为ML(O ij),则ML(O ij)可通过下式迭代获得:

而有

●MF i为工件i的工艺路径中的最大分枝数,记操作O ij处的最大分枝数为MF(O ij),则MF(O ij)可通过下式迭代获得:

而有MF i=max(MF(O ij)|j=1,…,n i)

●AF i为工件i各个操作前后分枝数的平均数,即:

依次计算{Problem 1,...,Problem K}所有调度问题实例中各工件的Process值,并采用模糊C均值聚类方法对上述Process值进行聚类。记聚类中心数量为C p,工件的Process聚类中心为c j p,j=1,2,…,C p,工件i的Process i属于各中心的隶属度为μ ij p,j=1,…,C p。定义调度问题实例的工件工艺特征向量为:

[PP(1),…,PP(C p)]

其中 j=1,…,C p,为该调度问题实例中工件的Process属于第j个Process聚类中心的平均隶属度值。

第5.2.2步:提取工件加工时间特征

本发明采用工件的理论加工时间Makespan来表征加工时间特征,该Makespan表示一个工件在无等待的情况下完成加工所需的最短时间。工件i的理论加工时间用Makespan i表示,其可通过下式迭代计算得到:

依次计算{Problem 1,...,Problem K}所有调度问题实例中各工件的Makespan值,并采用模糊C均值聚类方法对上述Makespan值进行聚类。记聚类中心数量为C m,Makespan的聚类中心分别为c j m,j=1,2,…,C m,工件i的Makespan i属于各中心的隶属度记为μ ij m,j=1,…,C m。定义调度问题实例的工件加工时间特征向量为:

[PM(1),…,PM(C m)]

其中 j=1,…,C m,为该调度问题实例中工件的Makespan属于第j个Makespan聚类中心的平均隶属度值。

第5.2.3步:提取工件交期松紧程度特征

本发明用一个工件的加工时间与交期之间的差来表征一个工件的加工松紧程度,用下式定义工件i的交期松紧程度:

Slack i=D i-Makespan i

依次计算{Problem 1,...,Problem K}所有调度问题实例中各工件的Slack值,并采用模糊C均值聚类方法对上述Slack值进行聚类。记聚类中心数量为C d,交期松紧程度Slack聚类中心为c j d,j=1,2,…,C d,工件i的Slack i属于各中心的隶属度为μ ij d,j=1,…,C d。定义调度问题实例的工件交期松紧程度特征向量为:

[PD(1),PD(2),…,PD(C d)]

其中 j=1,…,C d,为该调度问题实例中工件的Slack属于第j个Slack聚类中心的平均隶属度值。

第5.2.4步:提取机器加工能力特征

本发明用调度问题实例中各工序所含的机器数量表示,即:

Capability={SC 1,…,SC s}

其中 i=1,…,s,为该调度问题实例中第i工序所包含机器的总数量。

依次计算{Problem 1,...,Problem K}所有调度问题实例的Capability,并采用模糊C均值聚类方法对上述Capability值进行聚类。记聚类中心数量为C c,机器加工能力Capability聚类中心记为c j c,j=1,2,…,C c,第k个调度问题实例的Capability k属于各中心的隶属度记为μ kj c,j=1,…,C c。调度问题实例对应的机器加工能力特征向量为:

[PC(1),PC(2),…,PC(C c)]

其中 j=1,…,C c

第5.3步:根据调度问题特征信息划分调度问题实例(上层聚类)

在上层聚类方法中,本发明将第5.2步得到的工艺特征向量、工件加工时间特征向量、工件交期松紧程度特征向量、机器加工能力特征向量合并,作为一个调度问题实例的总特征向量,记为:

X=[PP(1),…,PP(C p),PM(1),…,PM(C m),PD(1),…,PD(C d),PC(1),…,PC(C c)]

将上述向量作为聚类算法中的一个样本,则{Problem 1,...,Problem K}共有K个样本,对这些样本使用模糊C均值聚类方法进行聚类,记聚类中心数量为C r,则所得到的调度问题实例聚类中心为c j r,j=1,2,…,C r,第k个调度问题实例属于各调度问题实例聚类中心的隶属度记为μ kj r,j=1,…,C r。将调度问题实例分为C r类,在第k个调度问题实例中使μ kj r最大的分类,即为该调度问题实例所属类型,在本发明的实施案例中,将调度问题实例划分为14个调度问题实例类型。

第六步:构建同类型调度问题实例库

在所述的调度规则挖掘计算机中调用构建同类调度问题实例库模块,构建同类型调度问题实例库。因为在调度问题实例库中的调度问题实例数量毕竟有限,而调度规则挖掘需要大量的调度问题实例用以评价所挖掘出的调度规则的优劣,所以需要针对每个调度问题实例类型,主动产生足够数量的同类型调度问题实例。本发明针对每个调度问题实例类型,产生100个同类型调度问题实例,其方法如下:根据第五步确定的调度问题划分结果,在调度问题实例库保存的调度问题实例{Problem 1,...,Problem K}中,任选一个属于当前调度问题实例类型的调度问题实例,并将该调度问题实例的相关特征信息进行随机变动,以产生同类型的多个不同调度问题实例。记randu(α,β)为在[α,β]区间中的均匀分布随机数,本发明取α,β分别为0.9和1.1。需变动的信息有:

●工件数量:变化后的工件数量为

●操作加工时间:变化后的操作加工时间为

●工件交货期:变化后的工件交货期为

●各机器组内所包含机器数:变化后的各机器组内所包含机器数为

上述调度问题实例的信息变化后,即产生了一个新的调度问题实例,将该实例保存至同类型调度问题实例库的当前调度问题实例类型中。

根据上述方法,即可对每个调度问题类型产生多个不同调度问题实例,将这些调度问题实例均保存至同类型调度问题实例库中。

第七步:构建调度规则参数全局协调优化问题

在所述的调度规则挖掘计算机中调用构建调度规则参数全局协调优化问题模块。在该模块中,将调度规则定义为Rule={RS,RP},其中RS为调度规则结构,RP为在特定RS下的调度规则参数集合。调度规则输入为操作属性、机器组属性等信息两类,而输出为工件的加工优先级,其中:

●工件的加工优先级表明了该工件在生产过程中被机器提前选中并提前加工的级别,优先级越高,工件就越应该被提前加工。

●操作属性有:加工时间、到达时间、预测到达时间、运输时间、交货期、剩余加工时间、剩余加工步数、后续操作个数等、后续工序瓶颈程度等。

●机器组属性有:包含机器数、机器组加工能力、机器组瓶颈程度、机器组内待加工操作个数、机器组内待加工操作加工时间总和、预计将到达操作的加工时间总和等;

本发明采用自适应神经模糊推理系统(ANFIS:Adaptive Neuro-Network Fuzzy InferenceSystem)用以表示调度规则,即ANFIS的输入为上述工件属性和机器组属性,输出为工件加工优先级。则调度规则的结构RS为ANFIS,其具体结构如图4所示,调度规则参数RP为ANFIS中的参数,记为RP={rp 1,rp 2,…,rp Z}表示,其中Z为ANFIS中参数的个数。在此基础上,所构建的调度规则参数全局协调优化问题为:协调优化RP={rp 1,rp 2,…,rp Z},以使由RP={rp 1,rp 2,…,rp Z}确定的调度规则的性能最佳(协调优化方法和调度规则性能评价方法将在第八步具体介绍)。

采用上述方法,分别针对每个调度问题实例类型,构建相应的调度规则参数全局协调优化问题。

第八步:求解调度规则参数全局协调优化问题

在所述的调度规则挖掘计算机中调用求解调度规则参数全局协调优化问题模块,对每个调度问题实例类型所对应的调度规则参数全局协调优化问题进行求解。该模块采用基于线性划分PSO(粒子优化)方法对各调度规则参数全局协调优化问题进行求解,以获得与每个调度问题实例类型对应的调度规则。该方法是按如下步骤实现的:

第8.1步:为降低待优化参数的个数,将待优化的规则参数RP={rp 1,rp 2,…,rp Z}用多个不同线段的斜率和位移表达。首先将RP中的参数按各自的参数取值范围[min(rp i),max(rp i)]归一化,即rp′ i=(rp i-min(rp i))/(max(rp i)-min(rp i)),i=1,…,Z,得到RP′={rp′ 1,rp′ 2,…,rp′ Z},在本发明中,将ANFIS的参数取值范围定为[-1000,1000],即min(rp i)=-1000,max(rp i)=1000。同时,假设用Q条线段的斜率和位移为k j,b j,j=1,2,…,Q来表示RP′中的参数,本发明中用Q=10条线段,第j条线段可表示的参数集记为Ie j,上述参数的划分需满足Ie 1∪Ie 2∪…∪Ie Q=RP′和 i≠j,i=1,…,Q,j=1,…,Q。则RP′中的参数和Q条线段的关系可用下式表示:

rp′ (i)=k j×(i)+b j-[k j×(i)+b j] +, j=1,…,Q

第8.2步:采用PSO方法对k j,b j,j=1,2,…,Q进行优化。将k j和b j作为决策变量,则在PSO方法中每个粒子的位置为X={k j,b j|j=1,2,…,Q},也可表示为X={x 1,x 2,…,x 2Q},每个粒子的速度为V={v 1,v 2,…,v 2Q}。在每次优化迭代中,每个粒子按如下公式进行更新:

在上式中,i=1,2,…,2Q;v id k为第k次迭代中粒子i速度矢量的第d维分量;x id k为第k次迭代中粒子i位置矢量的第d维分量;pbest id为粒子i所到达的最好位置的第d维分量;pbest gd为粒子所到达最好位置的第d维分量;c 1,c 2为权重因子,在本发明中分别为0.5;w是惯性权重函数,在本发明中为3。

在PSO每次迭代时,都需计算粒子当前位置所对应的适应值F(X),也即为由粒子当前位置所确定的调度规则的优劣。从X={x 1,x 2,…,x 2Q}可得到RP′,再根据min(rp i)和max(rp i),获得RP。基于调度规则Rule={RS,RP}对调度问题实例进行生产过程仿真,即可获得该规则对应的调度性能指标f。根据性能指标f,即可求得粒子所在位置X={x 1,x 2,…,x 2Q}所对应的适应值。

本发明为使所挖掘的调度规则对同类型的不同调度问题实例均有较好的调度效果,将X={x 1,x 2,…,x 2Q}所对应的调度规则作用于多个相似调度问题实例,得到多个调度方案,并采用基于贝叶斯估计的调度规则综合评价方法对上述给定调度规则的性能进行综合评价,从而获得X对应的适应值F(X)。

该方法首先将X={x 1,x 2,…,x 2Q}对应的给定调度规则作用于由第六步得到的同类型的h个调度问题实例(h=100),得到上述调度问题实例的h个调度性能指标(f 1,f 2,…,f h)。考虑到上述调度问题实例是同类型的,本发明将上述由同一给定调度规则作用下产生的调度性能指标的先验概率分布看作为一正态分布,R~N(μ,σ 2)。根据贝叶斯估计理论,当上述h个调度性能指标为(f 1,f 2,…,f h)时,将该调度规则作用于上述多个同类型调度问题实例时,所获得的调度性能指标的后验概率也满足正态分布,即

其中 w=1/(1+se 2/σ 2),

根据上述概率分布,当置信概率为0.9时的置信区间可通过下式获得:

由于上述概率分布为正态分布,可通过查正态概率表获得,即:

所以给定调度规则对应的调度问题实例性能指标在置信概率为0.9时的置信区间为 。

本发明定义粒子位置的适应值为:

鉴于上述分析,按如下步骤进行调度规则参数全局协调优化,从而挖掘出每个调度问题实例类型所对应的调度规则:

步骤(8.2.1):初始化各参数Q,X,V,pbest和gbest,设置当前迭代次数为1;

步骤(8.2.2):根据粒子更新公式更新粒子的位置和速度;

步骤(8.2.3):根据粒子的适应值计算公式更新各个粒子的pbest和gbest;

步骤(8.2.4):判断是否满足算法停止条件,若算法迭代次数达到K max,则停止,根据粒子的gbest,确定调度规则参数,从而生成调度规则;如不满足,当前迭代次数加1,返回第8.2.2步。

说明书
技术领域

技术领域

本发明属于自动控制、信息技术和先进制造领域。具体涉及一种面向复杂生产过程实时调度环境的调度规则智能挖掘方法。

背景技术

生产过程调度问题一直是学术界和工业界研究的热点。在过去几十年中,人们已经提出了很多求解生产过程调度问题的方法,如基于运筹学的方法、基于启发式的方法、基于软计算的方法等。基于调度规则的方法具有可融入人(有经验的调度者)的知识、表达简单、计算量小等特点,在实时调度环境中具有明显的优势。但对复杂生产过程调度问题,很难单纯依据人工经验或调度专家知识获得既具有较好调度性能有具有较强适应性的调度规则,而已提出的面向生产过程调度问题的调度规则挖掘方法主要基于调度问题实例在不同调度决策时刻的局部数据(局部调度环境参数或局部调度决策参数),并仅针对调度规则前后件属性值间的关联关系进行调度规则性能评价,挖掘过程未考虑不同机器组间相应调度规则之间的耦合性,也未考虑调度问题优化目标的要求,因而基于此所获得的调度规则存在全局性能不理想、难以适应于不同调度环境的缺陷。

发明内容

为克服上述生产过程调度规则挖掘方法的缺陷,本发明提出了一种面向复杂生产过程实时调度环境的基于调度规则参数全局协调优化的智能挖掘方法。本发明首先建立面向复杂生产过程实时调度环境的调度规则智能挖掘框架,其核心是将调度规则挖掘过程转化为调度规则参数全局协调优化过程。该框架包括构建调度问题实例库、调度问题实例划分、针对每类问题实例构建同类型调度问题实例库、构建并求解规则参数全局协调优化问题。在上述调度规则智能挖掘框架基础上,本发明采用双层模糊C均值聚类方法对不同的调度问题实例进行分类。对每类调度问题实例,采用基于线性划分PSO(粒子算法)的规则参数全局协调优化方法对规则参数进行优化,其中,采用贝叶斯估计方法对给定调度规则作用于多个同类调度问题实例时的性能进行综合评价。最终挖掘出适用于每类问题实例的调度规则。从而使得本发明挖掘出的调度规则更有针对性、调度效果更好。

基于规则参数全局协调优化的调度规则智能挖掘方法,其特征在于,所述方法是在调度规则挖掘计算机和生产调度信息采集装置上依次按以下步骤实现的:

第一步:定义调度问题实例

调度问题实例记为Problem,其可定义如下:

现有N个工件组成工件集合J={1,…,N}。m个机器组组成机器组集合M={M1,M2,…,Mm},其中机器组Mi由N(Mi)台相同的并行机器组成。有s个加工工序S={S1,S2,…,Ss},其中工序Si所包含的机器组集合为MS(Si)。工件i的释放时刻为Ri、完成时间为Ci、交货期为Di,其加工过程由ni个操作Oi1,Oi2,…,组成,操作Oij可在机器组中任一台机器上加工,其加工时间为p(Oij),操作Oij在工艺路径中的直接后续操作 集合用next(Oij)表示,直接前续操作集合用prev(Oij)表示。a(Oij)、b(Oij)和c(Oij)分别为操作Oij的到达时间、加工开始时间和加工结束时间。

加工过程满足如下约束:

●不可中断约束:操作一旦开始加工就不能停止,直至加工完成;

●工艺路径约束:

即工件的各操作必须按预定的工艺路径要求进行加工。

在满足上述约束的条件下,本发明设定的调度目标有两种:

●最小化拖期数(在一个调度问题实例中,完成时间Ci晚于交货期Di的工件总数):

min{Σi=1Nsign(Ci-Di)}

其中 sign(·)1,Ci-Di<00,Ci-Di0;

●最小化制造周期(在一个调度问题实例中,加工完所有工件所用的时间):

min{max{Ci|i=1,2,…,N}}

第二步:在所述的规则挖掘计算机上安装调度规则智能挖掘软件

调度规则智能挖掘软件由面向复杂生产过程实时调度环境的调度规则智能挖掘框架实现。该框架的核心是将调度规则挖掘过程转化为调度规则参数全局协调优化过程。该框架包括构建调度问题实例库、划分调度问题实例、构建同类型调度问题实例库、针对每类问题实例构建并求解规则参数全局协调优化问题。调度规则智能挖掘框架首先根据实际生产数据,构建调度问题实例,并将调度问题实例保存在调度问题实例库中,之后将调度问题实例库中的相关调度问题实例进行划分并产生调度问题实例类型,对每类相关调度问题实例,产生同类型的多个调度问题实例并构建调度规则参数全局协调优化问题,在此基础上,采用规则参数全局协调优化算法求解上述规则参数优化问题,在每次参数迭代优化过程中,将参数给定的调度规则作用于上述同类型多个调度问题实例进行生产过程仿真,获得相应的多个调度性能指标,并采用调度规则综合评价方法对当前调度规则进行评价,所获得的评价值作为规则参数全局协调优化问题的目标函数值,最终获得优化后的调度规则。面向复杂生产过程调度问题的调度规则智能挖掘框架的示意图如图2所示。按照上述调度规则挖掘框架,调度规则智能挖掘软件包括构建调度问题实例库模块、调度问题实例划分模块、构建同类型调度问题实例库模块、构建调度规则参数全局协调优化问题模块、求解调度规则参数全局协调优化问题模块。

第三步:生产实时信息采集

用生产调度信息采集装置采集生产实时信息,包括生产工件信息(工件数量、工件中各操作加工时间、工件释放时间、工件交货期、工件工艺路径信息)、生产进度信息(操作在机器上的开工时间、结束时间、暂停时间)、设备信息(故障信息、维修保养信息)。并将上述信息通过网线传送至调度规则挖掘计算机。

第四步:构建调度问题实例库

在所述的调度规则挖掘计算机中调用构建调度问题实例库模块,建立调度问题实例库。根据第一步所定义的调度问题实例含义和第三步在特定时刻所采集的生产实时信息,产生特定时刻的调度问题实例,本发明中所采用的特定时刻为每天的8:00、12:00、16:00,这样每天即可产生3个调度问题实例,将每天建立的调度问题实例依次存储在调度问题实例库中。按上述过程持续一定时间,本发明中持续的时间为3个月。

第五步:划分调度问题实例

在所述的调度规则挖掘计算机中调用划分调度问题实例模块,对保存在调度问题实例库中的调度问题实例进行分类。在该模块中采用基于双层模糊C均值聚类的调度问题实例划分方法,对存储在调度问题实例库中的K个调度问题实例{Problem1,...,ProblemK}进行划分,根据第四步的设置,实例库中共有270个调度问题实例,即K=270。在该方法中,下层聚类负责将与调度问题实例相关的信息进行聚类,提取出特征信息;上层聚类负责将提取出的特征信息进行聚类,以用于调度问题实例的划分。该划分调度问题实例模块是按如下步骤对调度问题实例进行划分的:

第5.1步:实现模糊C均值聚类算法

在上下层聚类中,均需用到如下的模糊C均值聚类方法:假设样本集合为X={x1,x2,…,xn},将其分成C个模糊组,并求每组的聚类中心cj,j=1,…,C,使如下所定义的目标值JC达到最小:

JC=Σj=1CΣi=1nμijα||xi-cj||2,1α

且需满足: Σj=1Cμij=1,i=1,···,n

其中,μij∈[0,1]表示第i个数据点属于第j个聚类中心的隶属度,cj为第j个聚类中心,α为加权指数。模糊隶属度μij和cj可分别用下式获得:

μij=1/Σk=1C(||xi-ci||2||xi-ck||2)2/(α-1)

cj=Σi=1nμijmxi/Σi=1nμijm

第5.2步:从调度问题的各类信息中提取出调度问题特征信息(下层聚类)

下层聚类负责从调度问题的各类信息中提取出调度问题特征信息,其是按如下步骤实现的:

第5.2.1步:提取工件工艺特征

采用如下三元表示法表示工件i的工艺特征:

Processi={MLi,MFi,AFi}

其中:

●MLi为工件i的工艺路径中的最长路径,记到达操作Oij处的最长工艺路径长度为ML(Oij),则ML(Oij)可通过下式迭代获得:

●MFi为工件i的工艺路径中的最大分枝数,记操作Oij处的最大分枝数为MF(Oij),则MF(Oij)可通过下式迭代获得:

而有MFi=max(MF(Oij)|j=1,…,ni)

●AFi为工件i各个操作前后分枝数的平均数,即:

AFi=1niΣj=1ni(|prev(Oij)|+|next(Oij)|)

依次计算{Problem1,…,ProblemK}所有调度问题实例中各工件的Process值,并采用模糊C均值聚类方法对上述Process值进行聚类。记聚类中心数量为Cp,工件的Process聚类中心为cjp,j=1,2,…,Cp,工件i的Processi属于各中心的隶属度为μijp,j=1,…,Cp。定义调度问题实例的工件工艺特征向量为:

[PP(1),…,PP(Cp)]

其中j=1,…,Cp,为该调度问题实例中工件的Process属于第j个Process聚类中心的平均隶属度值。

第5.2.2步:提取工件加工时间特征

本发明采用工件的理论加工时间Makespan来表征加工时间特征,该Makespan表示一个工件在无等待的情况下完成加工所需的最短时间。工件i的理论加工时间用Makespani表示,其可通过下式迭代计算得到:

依次计算{Problem1,...,ProblemK}所有调度问题实例中各工件的Makespan值,并采用模糊C均值聚类方法对上述Makespan值进行聚类。记聚类中心数量为Cm,Makespan的聚类中心分别为cjm,j=1,2,…,Cm,工件i的Makespani属于各中心的隶属度记为μijm,j=1,…,Cm。定义调度问题实例的工件加工时间特征向量为:

[PM(1),…,PM(Cm)]

其中j=1,…,Cm,为该调度问题实例中工件的Makespan属于第j个Makespan聚类中心的平均隶属度值。

第5.2.3步:提取工件交期松紧程度特征

本发明用一个工件的加工时间与交期之间的差来表征一个工件的加工松紧程度,用下式定义工件i的交期松紧程度:

Slacki=Di-Makespani

依次计算{Problem1,...,ProblemK}所有调度问题实例中各工件的Slack值,并采用模糊C均值聚类方法对上述Slack值进行聚类。记聚类中心数量为Cd,交期松紧程度Slack聚类中心为cjd,j=1,2,…,Cd,工件i的Slacki属于各中心的隶属度为μijd,j=1,…,Cd。定义调度问题实例的工件交期松紧程度特征向量为:

[PD(1),PD(2),…,PD(Cd)]

其中j=1,…,Cd,为该调度问题实例中工件的Slack属于第j个Slack聚类中心的平均隶属度值。

第5.2.4步:提取机器加工能力特征

本发明用调度问题实例中各工序所含的机器数量表示,即:

Capability={SC1,…,SCs}

其中i=1,…,s,为该调度问题实例中第i工序所包含机器的总数量。

依次计算{Problem1,...,ProblemK}所有调度问题实例的Capability,并采用模糊C均值聚类方法对上述Capability值进行聚类。记聚类中心数量为Cc,机器加工能力Capability聚类中心记为cjc,j=1,2,…,Cc,第k个调度问题实例的Capabilityk属于各中心的隶属度记为μkjc,j=1,…,Cc。调度问题实例对应的机器加工能力特征向量为:

[PC(1),PC(2),…,PC(Cc)]

其中j=1,…,Cc

第5.3步:根据调度问题特征信息划分调度问题实例(上层聚类)

在上层聚类方法中,本发明将第5.2步得到的工艺特征向量、工件加工时间特征向量、工件交期松紧程度特征向量、机器加工能力特征向量合并,作为一个调度问题实例的总特征向量,记为:

X=[PP(1),…,PP(Cp),PM(1),…,PM(Cm),PD(1),…,PD(Cd),PC(1),…,PC(Cc)]

将上述向量作为聚类算法中的一个样本,则{Problem1,...,ProblemK}共有K个样本,对这些样本使用模糊C均值聚类方法进行聚类,记聚类中心数量为Cr,则所得到的调度问题实例聚类中心为cjr,j=1,2,…,Cr,第k个调度问题实例属于各调度问题实例聚类中心的隶属度记为μkjr,j=1,…,Cr。将调度问题实例分为Cr类,在第k个调度问题实例中使μkjr最大的分类,即为该调度问题实例所属类型,在本发明的实施案例中,将调度问题实例划分为14个调度问题实例类型。

第六步:构建同类型调度问题实例库

在所述的调度规则挖掘计算机中调用构建同类调度问题实例库模块,构建同类型调度问题实例库。因为在调度问题实例库中的调度问题实例数量毕竟有限,而调度规则挖掘需要大量的调度问题实例用以评价所挖掘出的调度规则的优劣,所以需要针对每个调度 问题实例类型,主动产生足够数量的同类型调度问题实例。本发明针对每个调度问题实例类型,产生100个同类型调度问题实例,其方法如下:根据第五步确定的调度问题划分结果,在调度问题实例库保存的调度问题实例{Problem1,...,ProblemK}中,任选一个属于当前调度问题实例类型的调度问题实例,并将该调度问题实例的相关特征信息进行随机变动,以产生同类型的多个不同调度问题实例。记randu(α,β)为在[α,β]区间中的均匀分布随机数,本发明取α,β分别为0.9和1.1。需变动的信息有:

●工件数量:变化后的工件数量为

●操作加工时间:变化后的操作加工时间为

●工件交货期:变化后的工件交货期为

●各机器组内所包含机器数:变化后的各机器组内所包含机器数为 N~(Mi)=N(Mi)×p(0.9,1.1)

上述调度问题实例的信息变化后,即产生了一个新的调度问题实例,将该实例保存至同类型调度问题实例库的当前调度问题实例类型中。

根据上述方法,即可对每个调度问题类型产生多个不同调度问题实例,将这些调度问题实例均保存至同类型调度问题实例库中。

第七步:构建调度规则参数全局协调优化问题

在所述的调度规则挖掘计算机中调用构建调度规则参数全局协调优化问题模块。在该模块中,将调度规则定义为Rule={RS,RP},其中RS为调度规则结构,RP为在特定RS下的调度规则参数集合。调度规则输入为操作属性、机器组属性等信息两类,而输出为工件的加工优先级,其中:

●工件的加工优先级表明了该工件在生产过程中被机器提前选中并提前加工的级别,优先级越高,工件就越应该被提前加工。

●操作属性有:加工时间、到达时间、预测到达时间、运输时间、交货期、剩余加工时间、剩余加工步数、后续操作个数等、后续工序瓶颈程度等。

●机器组属性有:包含机器数、机器组加工能力、机器组瓶颈程度、机器组内待加工操作个数、机器组内待加工操作加工时间总和、预计将到达操作的加工时间总和等;

本发明采用自适应神经模糊推理系统(ANFIS:Adaptive Neuro-Network Fuzzy InferenceSystem)用以表示调度规则,即ANFIS的输入为上述工件属性和机器组属性,输出为工件加工优先级。则调度规则的结构RS为ANFIS,其具体结构如图4所示,调度规则参数RP为ANFIS中的参数,记为RP={rp1,rp2,…,rpZ}表示,其中Z为ANFIS中参数的个数。在此基础上,所构建的调度规则参数全局协调优化问题为:协调优化RP={rp1,rp2,…,rpZ},以使由RP={rp1,rp2,…,rpZ}确定的调度规则的性能最佳(协调优化方法和调度规则性能评价方法将在第八步具体介绍)。

采用上述方法,分别针对每个调度问题实例类型,构建相应的调度规则参数全局协调优化问题。

第八步:求解调度规则参数全局协调优化问题

在所述的调度规则挖掘计算机中调用求解调度规则参数全局协调优化问题模块,对每个调度问题实例类型所对应的调度规则参数全局协调优化问题进行求解。该模块采用基于线性划分PSO(粒子优化)方法对各调度规则参数全局协调优化问题进行求解,以获 得与每个调度问题实例类型对应的调度规则。该方法是按如下步骤实现的:

第8.1步:为降低待优化参数的个数,将待优化的规则参数RP={rp1,rp2,…,rpZ}用多个不同线段的斜率和位移表达。首先将RP中的参数按各自的参数取值范围[min(rpi),max(rpi)]归一化,即rp′i=(rpi-min(rpi))/(max(rpi)-min(rpi)),i=1,…,Z,得到RP′={rp′1,rp′2,...,rp′Z},在本发明中,将ANFIS的参数取值范围定为[-1000,1000],即min(rpi)=-1000,max(rpi)=1000。同时,假设用Q条线段的斜率和位移为kj,bj,j=1,2,…,Q来表示RP′中的参数,本发明中用Q=10条线段,第j条线段可表示的参数集记为Iej,上述参数的划分需满足Ie1∪Ie2∪…∪IeQ=RP′和i≠j,i=1,…,Q,j=1,…,Q。则RP′中的参数和Q条线段的关系可用下式表示:

rp(i)=kj×(i)+bj-[kj×(i)+bj]+,rp(i)Sj, j=1,…,Q

第8.2步:采用PSO方法对kj,bj,j=1,2,…,Q进行优化。将kj和bj作为决策变量,则在PSO方法中每个粒子的位置为X={kj,bj|j=1,2,…,Q},也可表示为X={x1,x2,…,x2Q},每个粒子的速度为V={v1,v2,…,v2Q}。在每次优化迭代中,每个粒子按如下公式进行更新:

vidk+1=w×vidk+c1×randu(0,1)×(pbestid-xidk)+c2×randu(0,1)×(pbestgd-xidk)

xidk+1=xidk+vidk+1

在上式中,i=1,2,…,2Q;vidk为第k次迭代中粒子i速度矢量的第d维分量;xidk为第k次迭代中粒子i位置矢量的第d维分量;pbestid为粒子i所到达的最好位置的第d维分量;pbestgd为粒子所到达最好位置的第d维分量;c1,c2为权重因子,在本发明中分别为0.5;w是惯性权重函数,在本发明中为3。

在PSO每次迭代时,都需计算粒子当前位置所对应的适应值F(X),也即为由粒子当前位置所确定的调度规则的优劣。从X={x1,x2,…,x2Q}可得到RP′,再根据min(rpi)和max(rpi),获得RP。基于调度规则Rule={RS,RP}对调度问题实例进行生产过程仿真,即可获得该规则对应的调度性能指标f。根据性能指标f,即可求得粒子所在位置X={x1,x2,…,x2Q}所对应的适应值。

本发明为使所挖掘的调度规则对同类型的不同调度问题实例均有较好的调度效果,将X={x1,x2,…,x2Q}所对应的调度规则作用于多个相似调度问题实例,得到多个调度方案,并采用基于贝叶斯估计的调度规则综合评价方法对上述给定调度规则的性能进行综合评价,从而获得X对应的适应值F(X)。

该方法首先将X={x1,x2,…,x2Q}对应的给定调度规则作用于由第六步得到的同类型的h个调度问题实例(h=100),得到上述调度问题实例的h个调度性能指标(f1,f2,…,fh)。考虑到上述调度问题实例是同类型的,本发明将上述由同一给定调度规则作用下产生的调度性能指标的先验概率分布看作为一正态分布,R~N(μ,σ2)。根据贝叶斯估计理论,当上述h个调度性能指标为(f1,f2,…,fh)时,将该调度规则作用于上述多个同类型调度问题实例时,所获得的调度性能指标的后验概率也满足正态分布,即

其中w=1/(1+se22),

根据上述概率分布,当置信概率为0.9时的置信区间可通过下式获得:

由于上述概率分布为正态分布,可通过查正态概率表获得,即:

所以给定调度规则对应的调度问题实例性能指标在置信概率为0.9时的置信区间为。

本发明定义粒子位置的适应值为:

鉴于上述分析,按如下步骤进行调度规则参数全局协调优化,从而挖掘出每个调度问题实例类型所对应的调度规则:

步骤(8.2.1):初始化各参数Q,X,V,pbest和gbest,设置当前迭代次数为1;

步骤(8.2.2):根据粒子更新公式更新粒子的位置和速度;

步骤(8.2.3):根据粒子的适应值计算公式更新各个粒子的pbest和gbest;

步骤(8.2.4):判断是否满足算法停止条件,若算法迭代次数达到Kmax,则停止,根据粒子的gbest,确定调度规则参数,从而生成调度规则;如不满足,当前迭代次数加1,返回第8.2.2步。

根据上述基于规则参数全局协调优化的调度规则智能挖掘方法,本发明做了大量的仿真试验,同时还将上述方法应用于实际的纺织生产过程调度和微电子生产过程调度中(调度规则挖掘软件运行图如图8所示)。从仿真结果和实际应用效果可看出,采用本发明挖掘出的调度规则可在短时间内给出较好的复杂生产过程调度方案,可适应于复杂生产过程实时调度环境。

附图说明

图1:调度规则智能挖掘硬件系统结构图。

图2:调度规则智能挖掘方法结构图。

图3:基于线性划分PSO的规则参数全局协调优化方法流程图。

图4:具有L条ANFIS结构图。

图5:实际生产中某个工件的工艺路径图,其中一个圆圈代表一个操作,圆圈中横线上方为操作号,下方为该操作所属工序。

图6:调度规则挖掘软件运行界面。

具体实施方式

本发明的复杂生产过程中调度规则的智能挖掘方法依赖于调度规则智能挖掘硬 件系统和调度规则智能挖掘软件实现。其硬件系统由规则挖掘计算机和生产调度信息采集装置组成(结构如图1所示)。规则挖掘计算机从生产调度信息采集装置中读取生产调度相关实时信息,安装在规则挖掘计算机上的调度规则智能挖掘软件根据这些信息进行调度规则挖掘。

以下对本发明提出的上述基于规则参数全局协调优化的调度规则智能挖掘方法所涉及的步骤进行详细说明:

第一步:定义调度问题实例

调度问题实例记为Problem,其可定义如下:

现有N个工件组成工件集合J={1,…,N}。m个机器组组成机器组集合M={M1,M2,…,Mm},其中机器组Mi由N(Mi)台相同的并行机器组成。有s个加工工序S={S1,S2,…,Ss},其中工序Si所包含的机器组集合为MS(Si)。工件i的释放时刻为Ri、完成时间为Ci、交货期为Di,其加工过程由ni个操作Oi1,Oi2,...,组成,操作Oij可在机器组中任一台机器上加工,其加工时间为p(Oij),操作Oij在工艺路径中的直接后续操作集合用next(Oij)表示,直接前续操作集合用prev(Oij)表示。a(Oij)、b(Oij)和c(Oij)分别为操作Oij的到达时间、加工开始时间和加工结束时间。

加工过程满足如下约束:

●不可中断约束:操作一旦开始加工就不能停止,直至加工完成;

●工艺路径约束:

即工件的各操作必须按预定的工艺路径要求进行加工。

在满足上述约束的条件下,本发明设定的调度目标有两种:

●最小化拖期数(在一个调度问题实例中,完成时间Ci晚于交货期Di的工件总数):

min{Σi=1Nsign(Ci-Di)}

其中 sign(·)1,Ci-Di<00,Ci-Di0;

●最小化制造周期(在一个调度问题实例中,加工完所有工件所用的时间):

min{max{Ci|i=1,2,…,N}}

第二步:在所述的规则挖掘计算机上安装调度规则智能挖掘软件

调度规则智能挖掘软件由面向复杂生产过程实时调度环境的调度规则智能挖掘框架实现。该框架的核心是将调度规则挖掘过程转化为调度规则参数全局协调优化过程。该框架包括构建调度问题实例库、划分调度问题实例、构建同类型调度问题实例库、针对每类问题实例构建并求解规则参数全局协调优化问题。调度规则智能挖掘框架首先根据实际生产数据,构建调度问题实例,并将调度问题实例保存在调度问题实例库中,之后将调度问题实例库中的相关调度问题实例进行划分并产生调度问题实例类型,对每类相关调度问题实例,产生同类型的多个调度问题实例并构建调度规则参数全局协调优化问题,在此基 础上,采用规则参数全局协调优化算法求解上述规则参数优化问题,在每次参数迭代优化过程中,将参数给定的调度规则作用于上述同类型多个调度问题实例进行生产过程仿真,获得相应的多个调度性能指标,并采用调度规则综合评价方法对当前调度规则进行评价,所获得的评价值作为规则参数全局协调优化问题的目标函数值,最终获得优化后的调度规则。面向复杂生产过程调度问题的调度规则智能挖掘框架的示意图如图2所示。按照上述调度规则挖掘框架,调度规则智能挖掘软件包括构建调度问题实例库模块、调度问题实例划分模块、构建同类型调度问题实例库模块、构建调度规则参数全局协调优化问题模块、求解调度规则参数全局协调优化问题模块。

第三步:生产实时信息采集

用生产调度信息采集装置采集生产实时信息,包括生产工件信息(工件数量、工件中各操作加工时间、工件释放时间、工件交货期、工件工艺路径信息)、生产进度信息(操作在机器上的开工时间、结束时间、暂停时间)、设备信息(故障信息、维修保养信息)。并将上述信息通过网线传送至调度规则挖掘计算机。

第四步:构建调度问题实例库

在所述的调度规则挖掘计算机中调用构建调度问题实例库模块,建立调度问题实例库。根据第一步所定义的调度问题实例含义和第三步在特定时刻所采集的生产实时信息,产生特定时刻的调度问题实例,本发明中所采用的特定时刻为每天的8:00、12:00、16:00,这样每天即可产生3个调度问题实例,将每天建立的调度问题实例依次存储在调度问题实例库中。按上述过程持续一定时间,本发明中持续的时间为3个月。

第五步:划分调度问题实例

在所述的调度规则挖掘计算机中调用划分调度问题实例模块,对保存在调度问题实例库中的调度问题实例进行分类。在该模块中采用基于双层模糊C均值聚类的调度问题实例划分方法,对存储在调度问题实例库中的K个调度问题实例{Problem1,...,ProblemK}进行划分,根据第四步的设置,实例库中共有270个调度问题实例,即K=270。在该方法中,下层聚类负责将与调度问题实例相关的信息进行聚类,提取出特征信息;上层聚类负责将提取出的特征信息进行聚类,以用于调度问题实例的划分。该划分调度问题实例模块是按如下步骤对调度问题实例进行划分的:

第5.1步:实现模糊C均值聚类算法

在上下层聚类中,均需用到如下的模糊C均值聚类方法:假设样本集合为X={x1,x2,…,xn},将其分成C个模糊组,并求每组的聚类中心cj,j=1,…,C,使如下所定义的目标值JC达到最小:

JC=Σj=1CΣi=1nμijα||xi-cj||2,1α

且需满足: Σj=1Cμij=1,i=1,···,n

其中,μij∈[0,1]表示第i个数据点属于第j个聚类中心的隶属度,cj为第j个聚类中心,α为加权指数。模糊隶属度μij和cj可分别用下式获得:

μij=1/Σk=1C(||xi-ci||2||xi-ck||2)2/(α-1)

cj=Σi=1nμijmxi/Σi=1nμijm

第5.2步:从调度问题的各类信息中提取出调度问题特征信息(下层聚类)

下层聚类负责从调度问题的各类信息中提取出调度问题特征信息,其是按如下步骤实现的:

第5.2.1步:提取工件工艺特征

采用如下三元表示法表示工件i的工艺特征:

Processj={MLi,MFi,AFi}

其中:

●MLi为工件i的工艺路径中的最长路径,记到达操作Oij处的最长工艺路径长度为ML(Oij),则ML(Oij)可通过下式迭代获得:

而有

●MFi为工件i的工艺路径中的最大分枝数,记操作Oij处的最大分枝数为MF(Oij),则MF(Oij)可通过下式迭代获得:

而有MFi=max(MF(Oij)|j=1,…,ni)

●AFi为工件i各个操作前后分枝数的平均数,即:

AFi=1niΣj=1ni(|prev(Oij)|+|next(Oij)|)

依次计算{Problem1,...,ProblemK}所有调度问题实例中各工件的Process值,并采用模糊C均值聚类方法对上述Process值进行聚类。记聚类中心数量为Cp,工件的Process聚类中心为cjp,j=1,2,…,Cp,工件i的Processi属于各中心的隶属度为μijp,j=1,…,Cp。定义调度问题实例的工件工艺特征向量为:

[PP(1),…,PP(Cp)]

其中j=1,…,Cp,为该调度问题实例中工件的Process属于第j个Process聚类中心的平均隶属度值。

第5.2.2步:提取工件加工时间特征

本发明采用工件的理论加工时间Makespan来表征加工时间特征,该Makespan表示一个工件在无等待的情况下完成加工所需的最短时间。工件i的理论加工时间用 Makespani表示,其可通过下式迭代计算得到:

依次计算{Problem1,...,ProblemK}所有调度问题实例中各工件的Makespan值,并采用模糊C均值聚类方法对上述Makespan值进行聚类。记聚类中心数量为Cm,Makespan的聚类中心分别为cjm,j=1,2,…,Cm,工件i的Makespani属于各中心的隶属度记为μijm,j=1,…,Cm。定义调度问题实例的工件加工时间特征向量为:

[PM(1),…,PM(Cm)]

其中j=1,…,Cm,为该调度问题实例中工件的Makespan属于第j个Makespan聚类中心的平均隶属度值。

第5.2.3步:提取工件交期松紧程度特征

本发明用一个工件的加工时间与交期之间的差来表征一个工件的加工松紧程度,用下式定义工件i的交期松紧程度:

Slacki=Di-Makespani

依次计算{Problem1,...,ProblemK}所有调度问题实例中各工件的Slack值,并采用模糊C均值聚类方法对上述Slack值进行聚类。记聚类中心数量为Cd,交期松紧程度Slack聚类中心为cjd,j=1,2,…,Cd,工件i的Slacki属于各中心的隶属度为μijd,j=1,…,Cd。定义调度问题实例的工件交期松紧程度特征向量为:

[PD(1),PD(2),…,PD(Cd)]

其中j=1,…,Cd,为该调度问题实例中工件的Slack属于第j个Slack聚类中心的平均隶属度值。

第5.2.4步:提取机器加工能力特征

本发明用调度问题实例中各工序所含的机器数量表示,即:

Capability={SC1,…,SCs}

其中i=1,…,s,为该调度问题实例中第i工序所包含机器的总数量。

依次计算{Problem1…,ProblemK}所有调度问题实例的Capability,并采用模糊C均值聚类方法对上述Capability值进行聚类。记聚类中心数量为Cc,机器加工能力Capability聚类中心记为cjc,j=1,2,…,Cc,第k个调度问题实例的Capabilityk属于各中心的隶属度记为μkjc,j=1,…,Cc。调度问题实例对应的机器加工能力特征向量为:

[PC(1),PC(2),…,PC(Cc)]

其中j=1,…,Cc

第5.3步:根据调度问题特征信息划分调度问题实例(上层聚类)

在上层聚类方法中,本发明将第5.2步得到的工艺特征向量、工件加工时间特征向量、工件交期松紧程度特征向量、机器加工能力特征向量合并,作为一个调度问题实例的总特征向量,记为:

X=[PP(1),…,PP(Cp),PM(1),…,PM(Cm),PD(1),…,PD(Cd),PC(1),…,PC(Cc)]

将上述向量作为聚类算法中的一个样本,则{Problem1,...,ProblemK}共有K个样本,对这些样本使用模糊C均值聚类方法进行聚类,记聚类中心数量为Cr,则所得到的调度问题实例聚类中心为cjr,j=1,2,…,Cr,第k个调度问题实例属于各调度问题实例聚类中心的隶属度记为μkjr,j=1,…,Cr。将调度问题实例分为Cr类,在第k个调度问题实例中使μkjr最大的分类,即为该调度问题实例所属类型,在本发明的实施案例中,将调度问题实例划分为14个调度问题实例类型。

第六步:构建同类型调度问题实例库

在所述的调度规则挖掘计算机中调用构建同类调度问题实例库模块,构建同类型调度问题实例库。因为在调度问题实例库中的调度问题实例数量毕竟有限,而调度规则挖掘需要大量的调度问题实例用以评价所挖掘出的调度规则的优劣,所以需要针对每个调度问题实例类型,主动产生足够数量的同类型调度问题实例。本发明针对每个调度问题实例类型,产生100个同类型调度问题实例,其方法如下:根据第五步确定的调度问题划分结果,在调度问题实例库保存的调度问题实例{Problem1,...,ProblemK}中,任选一个属于当前调度问题实例类型的调度问题实例,并将该调度问题实例的相关特征信息进行随机变动,以产生同类型的多个不同调度问题实例。记randu(α,β)为在[α,β]区间中的均匀分布随机数,本发明取α,β分别为0.9和1.1。需变动的信息有:

●工件数量:变化后的工件数量为

●操作加工时间:变化后的操作加工时间为

●工件交货期:变化后的工件交货期为

●各机器组内所包含机器数:变化后的各机器组内所包含机器数为 N~(Mi)=N(Mi)×p(0.9,1.1)

上述调度问题实例的信息变化后,即产生了一个新的调度问题实例,将该实例保存至同类型调度问题实例库的当前调度问题实例类型中。

根据上述方法,即可对每个调度问题类型产生多个不同调度问题实例,将这些调度问题实例均保存至同类型调度问题实例库中。

第七步:构建调度规则参数全局协调优化问题

在所述的调度规则挖掘计算机中调用构建调度规则参数全局协调优化问题模块。在该模块中,将调度规则定义为Rule={RS,RP},其中RS为调度规则结构,RP为在特定RS下的调度规则参数集合。调度规则输入为操作属性、机器组属性等信息两类,而输出为工件的加工优先级,其中:

●工件的加工优先级表明了该工件在生产过程中被机器提前选中并提前加工的级别,优先级越高,工件就越应该被提前加工。

●操作属性有:加工时间、到达时间、预测到达时间、运输时间、交货期、剩余加工时间、剩余加工步数、后续操作个数等、后续工序瓶颈程度等。

●机器组属性有:包含机器数、机器组加工能力、机器组瓶颈程度、机器组内待加 工操作个数、机器组内待加工操作加工时间总和、预计将到达操作的加工时间总和等;

本发明采用自适应神经模糊推理系统(ANFIS:Adaptive Neuro-Network Fuzzy InferenceSystem)用以表示调度规则,即ANFIS的输入为上述工件属性和机器组属性,输出为工件加工优先级。则调度规则的结构RS为ANFIS,其具体结构如图4所示,调度规则参数RP为ANFIS中的参数,记为RP={rp1,rp2,…,rpZ}表示,其中Z为ANFIS中参数的个数。在此基础上,所构建的调度规则参数全局协调优化问题为:协调优化RP={rp1,rp2,…,rpZ},以使由RP={rp1,rp2,…,rpZ}确定的调度规则的性能最佳(协调优化方法和调度规则性能评价方法将在第八步具体介绍)。

采用上述方法,分别针对每个调度问题实例类型,构建相应的调度规则参数全局协调优化问题。

第八步:求解调度规则参数全局协调优化问题

在所述的调度规则挖掘计算机中调用求解调度规则参数全局协调优化问题模块,对每个调度问题实例类型所对应的调度规则参数全局协调优化问题进行求解。该模块采用基于线性划分PSO(粒子优化)方法对各调度规则参数全局协调优化问题进行求解,以获得与每个调度问题实例类型对应的调度规则。该方法是按如下步骤实现的:

第8.1步:为降低待优化参数的个数,将待优化的规则参数RP={rp1,rp2,…,rpZ}用多个不同线段的斜率和位移表达。首先将RP中的参数按各自的参数取值范围[min(rpi),max(rpi)]归一化,即rp′i=(rpi-min(rpi))/(max(rpi)-min(rpi)),i=1,…,Z,得到RP′={rp′1,rp′2,...,rp′Z},在本发明中,将ANFIS的参数取值范围定为[-1000,1000],即min(rpi)=-1000,max(rpi)=1000。同时,假设用Q条线段的斜率和位移为kj,bj,j=1,2,…,Q来表示RP′中的参数,本发明中用Q=10条线段,第j条线段可表示的参数集记为Iej,上述参数的划分需满足Ie1∪Ie2∪…∪IeQ=RP′和i≠j,i=1,…,Q,j=1,…,Q。则RP′中的参数和Q条线段的关系可用下式表示:

rp(i)=kj×(i)+bj-[kj×(i)+bj]+,rp(i)Sj, j=1,…,Q

第8.2步:采用PSO方法对kj,bj,j=1,2,…,Q进行优化。将kj和bj作为决策变量,则在PSO方法中每个粒子的位置为X={kj,bj|j=1,2,…,Q},也可表示为X={x1,x2,…,x2Q},每个粒子的速度为V={v1,v2,…,v2Q}。在每次优化迭代中,每个粒子按如下公式进行更新:

vidk+1=w×vidk+c1×randu(0,1)×(pbestid-xidk)+c2×randu(0,1)×(pbestgd-xidk)

xidk+1=xidk+vidk+1

在上式中,i=1,2,…,2Q;vidk为第k次迭代中粒子i速度矢量的第d维分量;xidk为第k次迭代中粒子i位置矢量的第d维分量;pbestid为粒子i所到达的最好位置的第d维分量;pbestgd为粒子所到达最好位置的第d维分量;c1,c2为权重因子,在本发明中分别为0.5;w是惯性权重函数,在本发明中为3。

在PSO每次迭代时,都需计算粒子当前位置所对应的适应值F(X),也即为由粒子当前位置所确定的调度规则的优劣。从X={x1,x2,…,x2Q}可得到RP′,再根据min(rpi)和max(rpi),获得RP。基于调度规则Rule={RS,RP}对调度问题实例进行生产过程仿真,即可获得该规则对应的调度性能指标f。根据性能指标f,即可求得粒子所在位置X={x1,x2,…,x2Q}所对应的适应值。

本发明为使所挖掘的调度规则对同类型的不同调度问题实例均有较好的调度效果,将X={x1,x2,...,x2Q}所对应的调度规则作用于多个相似调度问题实例,得到多个调度方案,并采用基于贝叶斯估计的调度规则综合评价方法对上述给定调度规则的性能进行综合评价,从而获得X对应的适应值F(X)。

该方法首先将X={x1,x2,…,x2Q}对应的给定调度规则作用于由第六步得到的同类型的h个调度问题实例(h=100),得到上述调度问题实例的h个调度性能指标(f1,f2,…,fh)。考虑到上述调度问题实例是同类型的,本发明将上述由同一给定调度规则作用下产生的调度性能指标的先验概率分布看作为一正态分布,R~N(μ,σ2)。根据贝叶斯估计理论,当上述h个调度性能指标为(f1,f2,…,fh)时,将该调度规则作用于上述多个同类型调度问题实例时,所获得的调度性能指标的后验概率也满足正态分布,即

其中w=1/(1+se22),

根据上述概率分布,当置信概率为0.9时的置信区间可通过下式获得:

由于上述概率分布为正态分布,可通过查正态概率表获得,即:

所以给定调度规则对应的调度问题实例性能指标在置信概率为0.9时的置信区间为。

本发明定义粒子位置的适应值为:

鉴于上述分析,按如下步骤进行调度规则参数全局协调优化,从而挖掘出每个调度问题实例类型所对应的调度规则:

步骤(8.2.1):初始化各参数Q,X,V,pbest和gbest,设置当前迭代次数为1;

步骤(8.2.2):根据粒子更新公式更新粒子的位置和速度;

步骤(8.2.3):根据粒子的适应值计算公式更新各个粒子的pbest和gbest;

步骤(8.2.4):判断是否满足算法停止条件,若算法迭代次数达到Kmax,则停止,根据粒子的gbest,确定调度规则参数,从而生成调度规则;如不满足,当前迭代次数加1,返回第8.2.2步。

本发明提出的基于规则参数全局协调优化的调度规则智能挖掘方法流程如图3所示。

根据上述所提出的基于规则参数全局协调优化的调度规则智能挖掘方法(SRDM:Scheduling Rule Data Mining),本发明从实施案例中获取大量实际生产数据,在此基础 上,进行了充分的数值实验。将本发明的方法应用于实际生产过程案例,取得了较好的应用效果。

具体实施过程如下:

首先按照本说明书的要求安装调度规则挖掘软件和硬件系统。

其次,从生产调度计算机中读取最近3个月的生产历史数据,在每天8点、12点和16点分别获取生产过程调度问题实例,从而形成270个实际调度问题实例。按照本说明书提供的调度问题实例基于双层模糊C均值聚类算法的划分方法和表1中所采用的相应划分方法参数,将270个调度问题实例划分为14类,记为C01~C14。并按照本说明书提供的调度问题实例产生方法,针对14类调度问题实例,分别产生100个调度问题实例。

之后,在调度规则挖掘计算机中,按照本说明书提供的调度规则参数基于线性划分PSO的全局协调优化方法和表1中所采用的相应优化方法参数,针对14类调度类型中的不同调度问题实例,分别进行规则挖掘,并将每类调度问题实例所对应的调度规则传至生产调度计算机。

最后,生产调度计算机根据当前待求解的调度问题实例,确定该调度问题实例的所属类型,并获取与该类型对应的调度规则,将其用于调度问题实例的求解,最终获得较好的调度方案。

本发明数值实验所用的主要算法参数如表1所示。

表1参数列表

本发明采用如下调度规则用于与所挖掘出的调度规则的比较:

1)以最小化制造周期为目标的调度规则:

●SPT(Shortest Processing Time):加工时间越短越优先加工;

●LPT(Longest Processing Time):加工时间越长越优先加工;

●SRPT(Shortest Remaining Processing Time):剩余加工时间越短越优先加工,操作Oij的剩余加工时间rp(Oij)为

rp(Oij)=max{p(Oik)+rp(Oik)|Oiknext(Oij)},next(Oij)φ0,next(Oij)=φ

●WINQ(Workload in the Next Queue):后续操作所在的机器组负载越小越优先加工,其计算如下:

wn(Oij)=ΣOpq{a(Opq)t,c(Opq)t,OpqM(Oik),Oiknext(Oij)}p(Opq)

其中,t为当前调度规则决策时刻,即当一台机器出现空闲开始选择操作上机时刻。

2)以最小化拖期数为目标的调度规则:

●EDD(Earliest Due Date):交货期越早越优先;

●SLACK:松弛时间规则,操作Oij的松弛时间sl(Oij)越小越优先加工,松弛时间计算如下:

sl(Oij)=Di-rp(Oij)

●MOD(Modified Operation Due date):

修改后的操作交期越早越先加工,修改后的操作交期定义如下:

d′(Oij)=max{d(Oij),t+p(Oij)}

其中,d(Oij)为操作Oij的操作交期,其定义为:

d(Oij)=min{d(Oik)+Di·p(Oik)/MKi|Oikprev(Oij)},prev(Oij)φDi·p(Oij)/MKi,prev(Oij)=φ

MKi为工件i的最小(各操作均无等待时)制造周期,定义为

MKi=max{p(Oik)+rp(Oik)|prev(Oik)=φ}

●CR+SPT(Critical Ratio+SPT):

该规则定义的操作交货期为:

d″(Oij)=max{t+β(t)·p(Oij),t+p(Oij)}

其中βi(t)=(Di-t)/MKi。

本发明基于上述调度问题实例类型(C01~C14),针对最小化制造周期调度目标和最小化拖期数调度目标,分别将本算法SRDM与前述以最小化制造周期为优化目标的四种启发式规则方法(SPT、LPT、SRPT和WINQ)和以最小化拖期数为优化目标的四种启发式规则方法(EDD、SLACK、MOD和CR+SPT)进行了数值计算比较,相关计算结果分别在表2和表3 中列出。从表2和表3中可看出,无论调度目标为最小化制造周期还是最小化拖期数,基于SRDM方法挖掘出的调度规则均优于上述启发式调度规则,其中针对最小化制造周期调度目标的最小改进率为4.60%(相对于在调度问题类型C06中使用WINQ而言),绝大多数改进率在7%~12%之间;针对最小化拖期数调度目标的最小改进率为5.3%(相对于在调度问题类型C03中使用CR+SPT而言),绝大多数改进率在9%~14%之间。从表2还可看出,对于不同的调度问题实例,四种启发式规则的调度性能差异较大,即没有任何一种启发式规则相对其它规则具有明显优势,而基于SRDM方法挖掘出的调度规则,对同类型调度问题实例优化效果的平均值均优于四种启发式规则,显示出了SRDM对相似调度环境下不同调度问题实例中的性能稳定性;同样的结论也可从表3得出。

表2最小化制造周期的结果比较

R0、R1、R2、R3、R4分别为SRDM、SPT、LPT、SRPT、WINQ的调度结果

I1、I2、I3、I4分别为R0相对于R1、R2、R3、R4的改进率

表3最小化拖期数的计算结果

R0、R1、R2、R3、R4分别为SRDM、EDD、SLACK、MOD、CR+SPT的调度结果

I1、I2、I3、I4分别为R0相对于R1、R2、R3、R4的改进率

本文发布于:2024-09-24 07:22:28,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/72911.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议