双代理动态混流作业极小化加权制造期问题下界求解方法与流程

文档序号:14748882发布日期:2018-06-22 09:33阅读:375来源:国知局

本发明涉及一种流水作业调度技术,具体为一种双代理动态混流作业极小化加权制造期问题下界求解方法。



背景技术:

作业调度是在满足一定的约束条件下通过对可用共享资源的分配和任务的排序,来满足制定的性能指标。作业调度问题广泛地存在于制造业与服务业中,目的在于将有限的资源实时地分配给任务,优化给定的目标函数。

流水作业调度问题(flow shop scheduling problem,FSP)是一类工业及制造业等领域中十分常见的调度模型,是当今学术界研究的热点。通常,可以将经典的FSP描述为:调度系统中,M台机器会处理n个工件,各工件包含h道工序,属于相同工件的不同工序会在不同的机器上进行处理。实际情况通常是一个流水线加工工厂要对两家厂商的工件进行流水加工,因为工件数目可能比较多,所以每种工件释放时间(即开始加工时间)不一样,而且两个工厂都希望自己的工件能够率先加工,每个工件都要经过多个加工步骤,流水线工厂的每个加工步骤中包含多台机器用于加工工件,同时,最后如何保证最大可能的满足两个客户的要求?这就是一个的双代理动态混流作业问题。设代理A中工件数为nA,代理B中工件数为nB,nA+ nB=n。目标函数为min(CmaxA+CmaxB)(CmaxA是代理A的总制造期,CmaxB是代理B的总制造期)。

目前,带有释放时间的双代理混流作业问题非常接近实际生产情况,而现在针对流水车间的双代理问题,各类文献研究的都是以单机问题为主的模型,对于双代理且带有释放时间的模型研究很少。同时,这些模型都不符合实际生产情况,在实际调度环境中,通常问题规模较大,无法在规定时间内采用枚举算法求得最优解,所以这些模型不具有工业价值与实用性。



技术实现要素:

针对现有技术中的带有释放时间的双代理混流作业无法在规定时间内采用枚举算法求得最优解、不具有工业价值与实用性等不足,本发明要解决的问题是提供一种对于实际工业生产调度等场合具有非常大的适用价值的双代理动态混流作业极小化加权制造期问题下界求解方法。

为解决上述技术问题,本发明采用的技术方案是:

本发明一种双代理动态混流作业极小化加权制造期问题下界求解方法,包括以下步骤:

1)根据各个工件的释放时间即工件可以开始加工的时间以及在每个阶段的加工时间计算各个工件在每个阶段的实际开始时间;

2)将每个阶段看做单机问题,计算每个工件在各个阶段的加工时间;

3)对于每个阶段,根据工件各个阶段实际开始时间和每个工件在各个阶段的加工时间确定A、B两个代理集合的优先级,最后完工时间最短的代理作为高优先级代理;

4)按阶段计算各个阶段的下界;

5)补齐结尾Fj,假设有m台机器,记录A、B集合在流水车间模型下的总制造期CmaxA,CmaxB,该机器上的下界值LBj= CmaxA+CmaxB+Fj;其中,i为工件编号,j为阶段编号;

6)在每个阶段的下界中取最大值即为模型最终的下界LB=MAX{LBj}。

步骤1)中,各个工件的释放时间即工件可以开始加工的时间为RiA, RiB,在每个阶段的加工为时间Pi,jA,Pi,jB,其中i为工件编号,j为阶段编号;计算各个工件在每个阶段的实际开始时间Rmi,jA,Rmi,jB, Rmi,jA=Rmi,j-1A+Pi,j-1A;Rmi,jB=Rmi,j-1B+Pi,j-1B

步骤2)中,将每个阶段看做单机问题,计算每个工件在各个阶段的加工时间,是将每个工件的加工时间Pi,jA,Pi,jB除以当前阶段的机器数Mj来算作本阶段单机问题的加工时间,P1i,jA=Pi,jA/Mj,P1i,jB=Pi,jB/Mj,j为阶段编号。

步骤4)中,按阶段计算各个阶段的下界是对每个阶段按照单机问题方法排序工件,先到达先加工,若同时到达,则先加工优先级高的;如果正在加工优先级低的工件,优先级高的工件到达,则中断优先级低的工件,加工高优先级工件;同一代理工件同时到达时,先加工剩余加工时间长的工件,以此类推,直到所有的工件加工完。

本发明具有以下有益效果及优点:

1.本发明使用各阶段转化为单机问题和可中断的方法计算出问题的下界,有效解决了下界设计的问题,对于实际工业生产调度等场合,具有非常大的适用价值。

2.本发明方法针对双代理动态混流作业极小化加权总制造期问题,采用的中断的下界设计方式。根据表1仿真结果,下界是收敛的,即当工件数趋于无穷大的时候,下界收敛于最优解,在大规模情况下,这对于评价算法求解性能具有很大意义。

附图说明

图1为本发明中的下界求解流程图;

图2为本发明中完整混流车间排序甘特图;

图3为本发明中各阶段转化成单机的下界计算模型图示;

具体实施方式

下面结合说明书附图对本发明作进一步阐述。

如图1所示,本发明一种双代理动态混流作业极小化加权制造期问题下界求解方法,包括以下步骤:

1)根据各个工件的释放时间即工件可以开始加工的时间以及在每个阶段的加工时间计算各个工件在每个阶段的实际开始时间;

2)将每个阶段看做单机问题,计算每个工件在各个阶段的加工时间;

3)对于每个阶段,根据工件各个阶段实际开始时间和每个工件在各个阶段的加工时间确定A、B两个代理集合的优先级,最后完工时间最短的作为高优先级代理;

4)按阶段计算各个阶段的下界;

5)补齐结尾Fj,假设有m台机器,记录A、B集合在流水车间模型下的总制造期CmaxA,CmaxB,该机器上的下界值LBj= CmaxA+CmaxB+Fj;其中,i为工件编号,j为阶段编号;

6)在每个阶段的下界中取最大值即为模型最终的下界LB=MAX{LBj}。

本发明方法针对双代理动态混流作业极小化加权总制造期问题,采用的中断的下界设计方式。根据仿真结果,下界是收敛的,即当工件数趋于无穷大的时候,下界收敛于最优解。

对于大规模问题,启发式算法可以快速给出问题的一个可行解。下界是对问题最终解的最小估计,不是一个可行解,问题的最优解要大于或等于下界,越靠近下界说明算法效果越好,但不能小于下界。本发明所设计的下界使用了各阶段转化成单机问题的方法,并在每个阶段上采用了可中断的方式来松弛约束条件。在每个阶段上都求得一个下界,最后取大。

步骤1)中,各个工件的释放时间即工件可以开始加工的时间为RiA, RiB,在每个阶段的加工为时间Pi,jA,Pi,jB,其中i为工件编号,j为阶段编号;计算各个工件在每个阶段的实际开始时间Rmi,jA,Rmi,jB, Rmi,jA=Rmi,j-1A+Pi,j-1A;Rmi,jB=Rmi,j-1B+Pi,j-1B

步骤2)中,将每个阶段看做单机问题,使用Rmi,jA,Rmi,jB作为该阶段上工件的释放时间;计算每个工件在各个阶段的加工时间,是将每个工件的加工时间Pi,jA,Pi,jB除以当前阶段的机器数Mj来算作本阶段单机问题的加工时间P1i,jA=Pi,jA/Mj,P1i,jB=Pi,jB/Mj,j为阶段编号。

步骤3)中,对于每个阶段,确定A、B两个代理集合的优先级,按照可中断的方法先对A、B代理分别进行排序,最后完工时间最短的作为高优先级代理。

步骤4)中,按阶段计算各个阶段的下界,对每个阶段按照单机问题方法排序工件,先到达先加工,若同时到达,则先加工优先级高的,如果正在加工优先级低的工件,优先级高的工件到达,则中断优先级低的工件,加工高优先级工件,同一代理工件同时到达时,先加工剩余加工时间长的工件,以此类推,直到所有的工件加工完。

步骤5)中,补齐结尾Fj。在流水车间中,工件只有上一个阶段完成后,才可以进行到下一个阶段的加工。最后一个阶段的完工时间一定比前面的阶段的完工时间晚,当第一个工件在第一阶段加工时,后边的阶段的机器都出空闲状态,最后一个阶段的机器需要等待的时间最长,也就是说,第一个工件在最后一个阶段加工的开始时间最晚,它的开始时间是前一阶段的机器的结束时间,因此最后一个阶段的完成时间一定是最晚的。为了使所求的下界接近于完整流水车间模型的解,所以我们需要补齐Fj,假设有m 台机器,记录A、B集合在流水车间模型下的总制造期 CmaxA,CmaxB,该机器上的下界值LBj=CmaxA+CmaxB+Fj。

步骤6:在每个阶段的下界中取最大值即为模型最终的下界 LB=MAX{LBj}。

下面对本发明的具体实施进行详细说明。

算例计算

本模型中,一共三个阶段,第一阶段2台机器,第二阶段3台机器,第三阶段3台机器。其中A代理工件3个,B代理工件7个。

首先,确定A,B优先级。显然A集合优先级较高。

完整混流车间模型如2图所示:机器按照先来先加工的顺序对工件进行加工,如果A,B代理工件同时到达,则先加工优先级高的工件,对于大规模问题,启发式算法可以快速给出问题的一个可行解。计算出使用启发式算法求解的最大完工时间Cmax=43+44=87,即求得的目标函数值为87。

下面进行下界计算:

由算例给出的加工时间和释放时间可以计算R1,1A=3,R1,2A=3,R1,3A=23, R1,1B=4,R1,2B=6,R1,3B=9,R1,4B=10,R1,5B=14,R1,6B=19,R1,7B=26,R2,1A=3+1=4,R2,2A=3+6=9,R2,3A=23+3=26,R2,1B=4+6=10,R2,2B=6+2=8,R2,3B=9+3=12, R2,4B=10+6=16,R2,5B=14+7=21,R2,6B=19+9=28,R2,7B=26+5=31, R3,1A=4+7=11,R3,2A=9+5=14,R3,3A=26+10=36,R3,1B=10+8=18,R3,2B=8+5=13, R3,3B=12+4=16,R3,4B=16+10=26,R3,5B=21+1=22,R3,6B=28+10=38, R3,7B=31+6=37。

工件加工时间除以阶段机器数,得到求下界用到的加工时间(保留一位小数)。

在图3中,以在第一阶段为例,在9时刻,由于B3到达,B3剩余加工时间长所以B1中断;在10时刻,B1、B3和B4到达,三个工件中B4 剩余加工时间最长所以B3中断;在23时刻,B6和A3工件到达,A3的权重更高,所以B6中断。第一阶段下界LB1=CmaxB+CmaxA+Fj=28.5+24.5+(7+6)=66;

由图3可得:LB1=28.5+24.5+7+6=66;LB2=34.6+29.3+1+2=66.9; LB3=41.3+38.3=79.6;LB=MAX{LB1,LB2,LB3}=79.6,又有 gap=(87-79.6)/79.6=9.3%。

重复实验:

实验规模:阶段数M分别为2/5/10;工件数N分别为100/500/800/1000。

该实验使用c语言进行仿真,工件在每台机器的加工时间由函数随机生成,区间为[1,10],每个工件的加工时间生成区间为[1,3*J],每个阶段机器数随机生成,区间为[2,8]。每种规模进行10次实验,记录gap值,并取平均。gap=(目标函数值OBJ-下界值LB)/下界值LB。

由表1中数据可得:在阶段数不变的情况下,随着工件数的增加,gap 值呈现出收敛的趋势,即说明所设计的下界是呈收敛趋势的。综上所述,双代理动态混流作业极小化加权制造期问题下界求解方法,能准确的评价算法求解的性能。

表1.仿真数据结果

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