制造动态排程的方法与流程

文档序号:18303852发布日期:2019-07-31 10:37阅读:401来源:国知局
制造动态排程的方法与流程

本发明是涉及制造执行系统(manufacturingexecutionsystem,mes)控制领域,尤其涉及制造动态排程的方法,使用创新性集成机器学习(ensemblelearning)方法,来自动选择排程(调度,dispatching)以解决动态生产环境的问题。



背景技术:

在大多数的制造环境条件下,由于生产产品组合的变异,机台会有不预期状况下发生当机及交期变异等因素,因此实际是在动态生产环境下进行执行生产活动的控制。因此在此环境下使用通用启发算法(metaheuristics)如基因算法(ga)、粒子群算法(pso)等,仅能用以解决静态且确定性生产条件,并不符合实际生产环境。

在动态及随机的制造系统中如欲进行及时且有效率的生产控制,应采用具有适应性且能根据现有系统属性条件下调整的启发性调度机制以取代单一的调度规则。为能够有效率提升制造系统性能的生产控制策略,可设计多道次(multi-pass)动态调整调度规则的仿真机制应用于动态生产环境进行线上(on-line)的排程与控制。但是这种方法在选择最佳调度规则则所需的时间相当耗时,因此欲实际应用于线上要进行及时的排程与控制有其局限性,因此使用机器学习建立分类器方法于动态排程为近10余年来研究的主流。

在使用机器学习建立动态排程知识库时,如果有好的知识归纳能力(亦即分类正确率),则会有较佳的生产性能。除此之外,如何选择制造系统属性来建构分类器对其生产性能也是重要影响因子。

集成学习(ensemblelearning)是一种机器学习的方法,透过整合多个独立基底分类器以获得一个更有效的预测模型。

粒子群算法(particleswarmoptimization,pso)是一种基于群体智慧的全局搜寻的算法,它仿真了鸟群觅食过程中的迁移和群聚行为,通过粒子间的竞争和协同合作达到在复杂搜寻空间寻找全局最佳解的目的。本发明利用粒子群算法来开发出创新性的集成学习于制造动态排程。



技术实现要素:

本发明提出一种以集成机器学习应用于动态排程方法,以解决先前技术领域的问题。其通过以下四项主要步骤来实现:1.仿真为基训练样本产生步骤;2.数据正规化步骤;3.pso为基决定子数据集抽样机率、制造系统属性选择及集成学习分类器知识库学习步骤;4.动态排程(调度)选择步骤,其中集成学习分类器包含多个独立基底分类器,每个独立基底分类器可使用相同或不同之机器学习算法而得。

根据一实施例,使用不同随机数种子值以产生多不同订单到达型态,并设定热机时间及排程周期,训练样本的规格以两元组形式来表达(f,do),其中f为制造系统属性集合,d为候选排程法则集合,o为生产性能指标集合,do为在某项生产性能指标指标o所选取的最佳排程策略。

根据一实施例,候选排程法则有最短加工时间(spt)、最短即将到来工作时间(sio)、最短剩余加工时间(srpt)、最早到期日(edd)及最少松弛时间(ds)。

根据一实施例,使用k-means群集法,将训练数据集切割成互斥的子数据集sk(k=1,2…k),并使用pso来进行子数据集抽样机率、选择系统属性及候选机器学习算法,并藉以建立集成学习分类器。

根据一实施例,粒子为连续数值及二元数值混合编码,在子数据集的抽样机率所在位采连续数值编码,在制造系统属性及候选的机器学习算法所在位采二元数值编码。

根据一实施例,对每个粒子中每个独立基底分类器,编码子数据集抽样机率、系统属性、候选机器学习算法进行编码、粒子随机数初始化设定。解碼后并对每个粒子计算适应性值,当达到迭代(iteration)停止条件,则输出产生粒子最佳适应值gbest。根据对应gbest之位置即能取得该位置粒子的编码信息,求得集成学习分类器中与每个基底分类器所对应的每个子数据集抽样比例,采取取出放回抽样及所挑选出属性子集合产生最后的训练数据集并依序根据粒子编码所记之机器学习算法建立所需的基底分类器。最后再将每个基底分类器的分类结果以多数决投票步骤,来建立本发明所提出创新的集成学习分类器。

根据一实施例,在每一次排程周期起始点,将制造系统生产线之系统属性状态信息,以及所需之生产性能指标指标,输入至集成学习分类器所建立的动态排程(调度)选择机制,然后再从候选的排程法则,根据集成学习分类器的分类预测结果,进行在此一排程周期的调度。

附图说明

从以下结合附图的描述可以进一步理解本发明。图中的部件不一定按比例绘制,而是将重点放在示出实施例的原理上。在不同的视图中,相同的附图标记指定对应的部分。

图1为本发明流程示意图;

图2实施案例实体制造系统示意图;

图3为仿真为基训练样本产生步骤示意图;

图4为仿真为基训练样本产生步骤流程图;

图5为pso为基决定子数据集抽样机率、制造系统属性选择及集成学习分类器知识库学习步骤流程图;

图6为集成学习分类器知识库学习步骤细部流程图;

图7为使用集成学习分类器进行动态排程(调度)选择步骤流程图。

符号说明:

101制造环境

102生产性能指标指标

103顾客订单

104生产规格

105训练数据集

210-1~210-2f1机台

220-1~220-2f2机台

230f3机台

240-1~240-3加载/卸除工作站

250-1~250-3无人搬运车

260wip暂存区

270电脑工作站

310热机时间

320候选排程法则

320-1spt调度规则

320-2sio调度规则

320-3srpt调度规则

320-4edd调度规则

320-5ds调度规则

330排程周期

340在下一个排程周期时间点随机选一个排程法则

350仿真结束

701指定生产性能指标指标

702相对应集成学习分类器

703制造系统生产线

704系统状态数据库

s101~s103图1步骤

s401~s406图4步骤

s501~s505图5步骤

s601~s612图6步骤

s701图7步骤

具体实施方式

以下结合图式和实施例对本发明进行说明。本实施例以本发明方法为前提进行实施,并详细说明实施方式和具体的步骤过程。

本发明主要方法步骤如图1,并实施于图2制造环境(101)说明如下:包括三种不同类型的机器(210、220及230)。其中210机器有两台(210-1、210-2),220机器有两台(220-1、220-2)及230机器一台,三台加载/卸除工作站(240-1、240-2及240-3)、三部无人搬运车(250-1、250-2及250-3)、及限量的在制品(workinprocess,wip)暂存区(260)及计算机工作站(270)。

本实施例考虑的生产性能指标指标(102)有产出量(throughput,tp)、平均周期时间(meancycletime,mct)及未能如期完工的零件数目(numberoftardyjob,nt)三种性能指标。

本实施例考虑的顾客订单(103)有11种零件顾客订单需要被生产,且每种生产零件有不同的生产过程(routing)及加工时间,且每笔零件订单的交期指定时间随机指定为6至10倍总加工时间。

本实施例为能创造出动态及随机的生产环境,其生产规格(104)设计为11种零件有5种不同生产比例,并以每20000分钟固定的生产周期时间来进行不同生产比例变更,以达到不同条件状况机台间的负荷、瓶颈飘移,且生产机台会有随机性发生当机可能性。

s101步骤为仿真为基训练样本产生步骤,其训练样本的规格可以二元组形式来表达(f,do)。f为制造系统属性集合,本发明所采用(但不限于)之候选属性如表1所示,do为在某项生产性能指标o所选取的最佳排程法则。本实施例采用候选排程法则(但不限于)有最短加工时间(spt)、最短即将到来工作时间(sio)、最短剩余加工时间(srpt)、最早到期日(edd)及最少松弛时间(ds),因此候选排程法则集合d={spt,sio,srpt,edd,ds}。本实施例采用生产性能指标(但不限于)有产出量(throughput,tp)、平均周期时间(meancycletime,mct)及未能如期完工的零件数目(numberoftardyjob,nt)等三种,因此性能指标集合o={tp,mct,nt}。

表1

仿真为基训练样本产生步骤,系产生机器学习方法所需的训练样本,能够依据系统属性状态,产生在特定系统属性状态(即f)及在某项生产性能指标o所选取的最佳排程法则(即do),以形成一个训练样本(f,do)供后续属性选择及训练集成学习分类器使用。一并参考图3,4,其详细执行步骤如图4所示之7个步骤(s401~s407),说明如下:

s401为步骤(程序)开始执行点,然后执行s402,当制造环境生产线达到稳定状态热机时间结束(s402)。

s403是设定仿真排程周期时间。

s404是在每个排程周期时间起始点t,2t及3t等等,以目前系统属性状态值f为输入值,接着依据制造环境、生产规格等分别对每个候选排程(调度)则320-1~320-5做仿真测试,在排程周期时间结束时,纪录仿真产生与个别候选排程(调度)法则对应之的每个生产性能指标数值(tp、mct、nt)。

s405依据每个候选法则对应之生产性能指标,选择能产生最佳性能指标数值的排程(调度)法则,作为该训练样本的输出(f,do)。

s406是判断是否达到仿真排程周期时间终止条件,当达到仿真排程周期设定时间时,则完成仿真。

在本实施例使用100组不同随机数种子值以产生100种不同订单到达型态,每次的热机时间10000分钟,并设定60次排程周期,而排程周期时间是2000分钟,总计在实施例产生了6000笔训练样本。

s102为数据正规化步骤,其目的是将属性数据按比例缩放,让数据落在某一特定的区间,以避免拥有较大属性数值的数据对较小属性数值在计算处理上造成强势支配偏差。在本实施例中使用z-分数正规化来避免此一现象发生,其公式如下式所示:

在此v为属性f的数值,和σf为其数据集该属性f的平均值及标准偏差,f为经由数据正规化步骤转换后该属性f的数值。

每笔训练样本经由数据正规化步骤转换得到训练数据集(105)后,执行步骤s103,其中利用pso算法进行各子数据集被抽取的机率、属性选择及集成学习分类器知识库学习。本发明设计有效的训练样本抽样及属性选择方法并使用不同机器学习算法来建立基底分类器(baseclassifier,bc)以建立集成学习分类器。s103可进一步拆解成如图5所示5个步骤(s501~s505),并说明如下:

每次迭代同时完成各子数据集被抽取的机率、制造系统属性选择(为系统属性之子集)以建立训练数据集,并决定每个基底分类器所选用机器学习算法来进行分类预测。

s501步骤为使用k-means群集法,将训练数据集切割成互斥的子数据集sk(k=1,2…k)。以达到在相同的子数据集内的数据相似性最大,而不同组群间的数据尽可能有最大的差异性。其目的是对未来在建立新的训练数据集进行抽样时,能减少数据集抽样数据的复杂性,且能试着找出每个新数据集中,原始子数据集的组成比例要如何设计,才能使集成学习分类器之间多样性极大化。

接着进入产生集成学习分类器之步骤,对每一性能指标均执行以下步骤,产生对应该性能指标之集成学习分类器。本发明使用pso来决定子数据集抽样机率、属性选择并建立集成学习分类器,每个粒子即代表一集成学习分类器之样态,其中包括c个独立基底分类器、每个独立基底分类器之型态(使用之算法)、以及每个独立基底分类器使用之系统属性子集、以及训练样本子集合的抽样比率,其编码方式在之后内容说明。在s502步骤为使用pso时,设定群体中粒子群的数目i、迭代停止数目t及在每个粒子中集成学习中分类器数目c。在本实施例粒子群的数目i设定为100,迭代停止数目t设定为100,集成学习分类器中之分类器数目c设定为50。

s503步骤为对每个粒子中每个独立基底分类器,建立其所需训练数据集,系对步骤s501产生之每一子数据集(s1~sk)产生介于0~1且不等于0,1的随机数,并将其加总后,进行正规化转换,使各子数据集被抽取的机率加总等于1。

s504步骤为对每个独立基底分类器,按照每一子数据集的抽样机率,进行取出放回抽样,产生新的训练数据集。

在此上标t为迭代编号,t=1,2,……t。上标c为集成学习中基底分类器编号,c=1,2,……c。下标i为粒子群编号,i=1,2,……i。

s505步骤为集成学习分类器知识库学习步骤,首先对每个粒子中每个独立基底分类器,子数据集抽样机率、系统属性、候选机器学习算法进行编码、粒子初始化设定。解碼后并对每个粒子计算适应性值,然后判断是否达到条件,当达到停止条件,即产生对应于该性能指标之集成学习分类器。而s505可进一步拆解成如图6所示12个步骤(s601~s612),并说明如下:

s601为步骤开始执行点,然后执行s602,先对每个粒子中每个独立基底分类器之原训练数据集之子数据集的抽样机率值设定到粒子中个别编码位置(系连续值)。

步骤s603对每个粒子中每个独立基底分类器之原训练数据集系统属性及基底分类器候选的机器学习算法进行二元位置编码。在本发明中候选的机器学习算法有(但不限于)反向传播类神经网络(backpropagationneuralnetwork,bpn)、c4.5java版本决策树(j48)、k-近邻算法(k-nearestneighbors,k-nn)、支持向量机(supportvectormachine,svm)。

步骤s602及s603本发明粒子编码可表示如下:

在此上标t为迭代编号,t=1,2,……t。上标c为集成学习分类器中之基底分类器编号,c=1,2,……c。下标i为粒子群编号,i=1,2,……i。为各子数据集被抽取的机率,k为原训练样本经步骤s501产生之子数据集数目。为制造系统属性编码,且nf为制造系统属性数目,本实施例nf为30;若其值为1代表该位属性被选取为建立训练样本属性,若其值为0代表该位属性没被选取为建立训练样本属性。共m个位表示2m种候选的机器学习算法,本实施例采用四种算法(bpn、j48、k-nn及svm),因此m=2。每次迭代同时完成各子数据集被抽取的机率、制造系统属性选择以建立训练数据集,并决定每个基底分类器所选用之机器学习算法来进行分类预测。最后使用评估集成学习分类器多样性公式计算粒子适应值,其更新步骤参考s604~s609。

以下举一实例来对粒子编码的数学式子说明:

为第一个迭代,第2个粒子,第30个分类器之各子数据集(k=5)被抽取的机率分别为0.10、0.15、0.25、0.20及0.30。制造系统属性id编号为1,2其值为1,亦即代表该2个位属性被选取为建立训练样本属性,制造系统属性id编号为29其值为0,代表该位属性没被选取为建立训练样本属性,制造系统属性id编号为30其值为1,代表该位属性被选取为建立训练样本属性。最后两个位00,代表使用第1个候选的机器学习算法(bpn)建立的基底分类器。

执行步骤s604初始化粒子位置、速度的设定。其中包含每个粒子中每个基底分类器之训练数据集,其方法为使用s503步骤所产生的各子数据集被抽取的机率,并使用随机数(其值为0或1)产生的制造系统属性、候选的机器学习算法数值,来决定第一次迭代粒子位置及速度,表示如下:

执行步骤s605,对每个粒子中每个独立基底分类器之子数据集的抽样机率,制造系统属性、候选的机器学习算法进行译码。产生训练数据集属性子集合并结合训练样本子数据集的抽样机率,产生新的训练数据集最后从解码(decoding)后指定之机器学习算法,建立每个粒子所需(数目为c)的基底分类器。

执行步骤s606,使用评估集成学习多样性公式计算粒子适应值。欲了解集成学习多样性,需定义成对基底分类器的差异性(disagreement)。假设m为训练数据集样本数,而y、z两基底分类器的成对分类结果可以如下表所示。差异性定义为两个基底分类器中,其中一个分类正确,另一个分类错误的总数(m10+m01)与总样本数之间的比值,其公式定义如下:

m=m11+m10+m01+m00

当集成学习分类器有c个的基底分类器时,就会有的成对基底分类器组合,因此集成学习分类器的多样性即为所有成对分类器差异性总和的平均值,也就是每个粒子i适应值,其公式定义如下:

执行步骤s607,根据粒子适应值公式,对每个粒子,将它的适应值和它经历过的最好位置pbest作比较,如果较好,则将其取代当前的最好pbest值及位置。

执行步骤s608,对每个粒子,将它的适应值pbest和全局所经历最好位置gbest的作比较,如果较好,则重新设定gbest值及其位置。

执行步骤s609,使用pso公式更新粒子的速度和位置,在粒子速度更新公式如下式所示:

在此c1及c2为学习因子,在本实施例其值为2,r1及r2为在[0,1]之间均匀分配的随机数。在处理连续数值位时,vmax最大速度决定粒子在一个迭代中最大的移动距离,通常设定为粒子的范围宽度。因此在本实施例设定其值为1。而二元数值vmax最大速度的设定,在后续步骤会说明。

由于本发明中粒子为连续数值及二元数值混合编码,在子数据集的抽样机率所在位采连续数值编码,在制造系统属性及候选的机器学习算法所在位采二元数值编码。两者在更新粒子位置公式并不相同,在连续数值编码更新粒子位置如下式所示:

在二元数值编码更新粒子位置如下式所示:

在此ri,d为在[0,1]之间的随机数,sig()为sigmoid函数,定义如下:

其中为避免逼近1或0,vmax可设定为4。

执行步骤s610,以是否达到最大迭代次数来判断是否达到终止条件,本发明最大迭代次数t设为100。

执行步骤s611,当达到迭代次数t为100时,则输出产生粒子最佳适应值(gbest),根据对应gbest之位置即能取得该位置粒子的编码信息求得集成学习分类器所对应每个子数据集抽样比例、采取取出放回抽样及所挑选出属性子集合产生最后的训练数据集以及数目为c的基底分类器。最后再将每个基底分类器的分类输出以(但不限于)多数决投票步骤,来建立本发明所提出创新的集成学习分类器,并完成集成学习分类器知识库学习步骤(s612)。

如图7,当进行动态排程(调度)选择时,依据所需之生产性能指标(701)(tp、mct、nt),使用与该生产性能指标相对应的集成学习分类器(702),即进入步骤s701动态排程(调度)选择步骤。此时在每一次排程周期起始点,经由传感器或无限射频辨识(rfid)及网络实体系统(cyber-physicalsystem,cps)等来搜集制造系统生产线(703)之系统属性状态,储存至数据库(704)。该些系统属性状态并作为本发明所提出创新的集成学习分类器(702)之输入,然后依据集成学习分类器输出之排程法则进行在此一排程周期的调度。根据此一准则,在每个排程周期起始点,均按照此一动态排程(调度)选择步骤进行重复性的运作,长期而言在各种不同生产性能指标,对生产性能提升将会具有更显着的成效。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

虽然上面已经参考各种实施例描述了本发明,但是应当理解,在不脱离本发明的范围的情况下,可以进行许多改变和修改。因此,其旨在上述详细描述被认为是例示性的而非限制性的,并且应当理解,以下权利要求(包括所有等同物)旨在限定本发明的精神和范围。以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1