基于混合集合蛙跳与变邻域算法的平行机调度方法及系统技术方案

技术编号:16101039 阅读:51 留言:0更新日期:2017-08-29 22:11
本发明专利技术提供了一种基于混合集合蛙跳与变邻域算法的平行机调度方法及系统,针对拟解决的针对多个不相关批处理机器上的工件协同生产加工的问题,依据工件的在不同机器的一般加工时间和恶化情况,将工件分配至各机器并安排工件的组批和加工顺序,从而最小化最大完工时间,依据单机问题的最优解的性质,设计了有效的多机启发式规则,并将改规则融入改进集合蛙跳算法中用于解决该问题。经典集合蛙跳算法的改进策略主要是通过引入变邻域算法改进经典集合蛙跳算法的局部搜索过程,增强了原有算法的收敛速度和寻优能力。

【技术实现步骤摘要】
基于混合集合蛙跳与变邻域算法的平行机调度方法及系统
本专利技术涉及供应链
,具体涉及一种基于混合集合蛙跳与变邻域算法的平行机调度方法及系统。
技术介绍
现有技术中提出了一些关于批处理机工件的调度问题的一些解决方案。以下进行简要说明:(1)批调度相关:Li等人研究了一类不相关平行批处理机工件加工问题。基于问题复杂性的考虑,他们提出了基于BFLPT的启发式算法解决该问题。具体参见LiX,HuangYL,TanQ,etal.Schedulingunrelatedparallelbatchprocessingmachineswithnon-identicaljobsizes.Computers&OperationsResearch,2013,40(12):2983-2990.(2)工件恶化相关:Wang等人研究了一类工件加工时间随着其开始加工时间非线性增加的生产调度问题。基于问题性质,他们提出了用于解决该问题的最优算法以及启发式算法。具体参见Wang,J.,Wang,M.,2012.Single-machineschedulingwithnonlineardeterioration.OptimizationLetters6,87-98.(3)元启发式算法相关:Eusuff等人于2003年受到自然界青蛙捕捉食物的过程的启发,提出了集合蛙跳算法。该算法的一般步骤为:步骤一、初始化青蛙种群;步骤二、依据每个个体的适应度值,将整个种群分为若干组;步骤三、每组进行局部搜索;步骤四、将分散的各组集合起来;步骤五、判断终止条件是否达到,若为达到则转到步骤二。该算法的优势在于集合操作可以使得在每次迭代时各个个体能进行一定的信息交流,增强了算法的寻优能力。具体参见Eusuff,M.M.,Lansey,K.E.,2003.OptimizationofWaterDistributionNetworkDesignUsingtheShuffledFrogLeapingAlgorithm.JournalofWaterResourcesPlanning&Management129,210-225。在对相关技术进行研究的过程中,专利技术人发现:在传统的批调度的研究中,工件时间都是一个确定的值,工件的恶化效应很少被考虑。此外,在传统的集合蛙跳算法中,局部搜索类似于粒子群算法中的粒子的迁移策略,收敛精度低且容易陷入局部最优,不能有效地解决离散组合优化问题。这样导致调度不够合理。
技术实现思路
本专利技术实施例的一个目的在于提高批处理机工件的过程中调度的合理性。第一方面,本专利技术实施例提供了一种基于混合集合蛙跳与变邻域算法的多个不相关平行批处理机的协同制造方法,包括:步骤1、输入每个工件在每个机器上的一般加工时间,初始化算法参数,包括种群规模N,划分的组数S,当前迭代次数L,RVNS算法最大迭代次数Umax,最大迭代次数Lmax,并设置L=1;步骤2、初始化种群内各个青蛙的位置,记所述种群为其中表示第L代种群P(L)中的第i个个体,表示个体在第j个维度上的位置,表示对应的工件,i=1,2,…N,j=1,2,…n;步骤3、计算种群P(L)中每个个体的适应度值;步骤4、按照适应度值将种群平均划分为S个组,记所述各组集合为表示上述集合中的第s个组,表示组中的第l个个体,s=1,2,…S,l=1,2,…(N/S),设置s=1;步骤5、计算组中的最优与最差个体,分别记为和随机选择组的一个个体作为RVNS算法的初始解,设置u=1;步骤6、判断u≤Umax是否成立,若成立,则转到步骤9;步骤7、随机产生一个的第一类邻域个体X_1,判断X_1是否优于若成立,则将X_1赋给将u+1赋给u,转到步骤5;否则,转到步骤8;步骤8、随机产生一个的第二类邻域个体X_2,判断X_2是否优于若成立,则将X_2赋给将u+1赋给u,转到步骤5;否则,转到步骤9;步骤9、随机产生一个的第三类邻域个体X_3,判断X_3是否优于若成立,则将X_3赋给将u+1赋给u,转到步骤5;否则,转到步骤10;步骤10、判断是否优于若成立,则将赋给否则将赋给步骤11、判断s不大于S,若成立,则将s+1赋给s,并转到步骤5;步骤12、判断L不大于Lmax,若成立,则将L+1赋给L,并转到步骤3;否则结束算法,输出每个工件的执行机器和每个机器上的组批和批的加工顺序。可选地,步骤3中,所述计算种群P(L)中每个个体的适应度值的具体步骤如下:步骤31、按照个体的位置来指定工件的排列顺序,将所述工件排列顺序记为设置b=1;步骤32、将φ中前C个工件组成一批,记为并将所述前C个工件从φ中删除,设置k=1;步骤33、尝试将批放入机器Mk上,并将机器Mk上的当前所有批按照批基本加工时间的非减序的顺序进行加工,,批的基本加工时间为未发生恶化时批中所有工件加工时间的最大值。依据公式(1)计算Mk上最后一批的完工时间,记为步骤34、判断k是否不大于m,若成立,则将k+1赋给k,转到步骤3;否则,将安排到机器Mk*上,其中步骤35、判断b是否等于B,若成立,则输出当前所有机器上批完工时间的最大值作为个体P(L)的适应度值;否则,转到步骤36;步骤36、判断φ中剩余的工件数量是否不大于C,若成立,则将b+1赋给b,并将剩余的工件组成批转到步骤33;否则,将b+1赋给b并转到步骤32。可选地,步骤7中,所述随机产生一个的第一类邻域个体X_1的具体步骤如下:步骤71、随机产生一个长度为n的向量A={A1,…,Aj,…,An},向量的各个元素的取值范围为(0,1),其中,向量A的各个元素与个体的各个元素一一对应;步骤72、按照Aj的非减序对个体的位置进行重新排序;步骤73、重新排序生成的个体记为X_1。可选地,步骤8中,所述随机产生一个的第二类邻域个体X_2的具体步骤如下:步骤81、随机选择个体的两个位置进行交换;步骤82、重复步骤81若干次得到个体X_2。可选地,步骤9中,所述随机产生一个的第三类邻域个体X_3的具体步骤如下:步骤91、随机选择个体的两个位置,并将其中一个位置的值插入到另一个位置之前;步骤92、重复步骤91若干次得到个体X_3。第二方面,本专利技术实施例提供了一种基于混合集合蛙跳与变邻域算法的多个不相关平行批处理机的协同制造系统,包括:计算模块,同于执行:步骤1、输入每个工件在每个机器上的一般加工时间,初始化算法参数,包括种群规模N,划分的组数S,当前迭代次数L,RVNS算法最大迭代次数Umax,最大迭代次数Lmax,并设置L=1;步骤2、初始化种群内各个青蛙的位置,记所述种群为其中表示第L代种群P(L)中的第i个个体,表示个体在第j个维度上的位置,表示对应的工件,i=1,2,…N,j=1,2,…n;步骤3、计算种群P(L)中每个个体的适应度值;步骤4、按照适应度值将种群平均划分为S个组,记所述各组集合为表示上述集合中的第s个组,表示组中的第l个个体,s=1,2,…S,l=1,2,…(N/S),设置s=1;步骤5、计算组中的最优与最差个体,分别记为和随机选择组的一个个体作为RVNS算法的初始解,设置u=1;步骤6、判断u≤Umax是否成立,若成立,则转到步骤9;步骤7、随机产生一个的第一类邻域个体X本文档来自技高网
...
基于混合集合蛙跳与变邻域算法的平行机调度方法及系统

【技术保护点】
一种基于混合集合蛙跳与变邻域算法的多个不相关平行批处理机的协同制造方法,其特征在于,包括:步骤1、输入每个工件在每个机器上的一般加工时间,初始化算法参数,包括种群规模N,划分的组数S,当前迭代次数L,RVNS算法最大迭代次数Umax,最大迭代次数Lmax,并设置L=1;步骤2、初始化种群内各个青蛙的位置,记所述种群为

【技术特征摘要】
1.一种基于混合集合蛙跳与变邻域算法的多个不相关平行批处理机的协同制造方法,其特征在于,包括:步骤1、输入每个工件在每个机器上的一般加工时间,初始化算法参数,包括种群规模N,划分的组数S,当前迭代次数L,RVNS算法最大迭代次数Umax,最大迭代次数Lmax,并设置L=1;步骤2、初始化种群内各个青蛙的位置,记所述种群为其中表示第L代种群P(L)中的第i个个体,表示个体Pi(L)在第j个维度上的位置,表示对应的工件,i=1,2,…N,j=1,2,…n;步骤3、计算种群P(L)中每个个体的适应度值;步骤4、按照适应度值将种群平均划分为S个组,记所述各组集合为表示上述集合中的第s个组,表示组中的第l个个体,s=1,2,…S,l=1,2,…(N/S),设置s=1;步骤5、计算组中的最优与最差个体,分别记为和随机选择组的一个个体作为RVNS算法的初始解,设置u=1;步骤6、判断u≤Umax是否成立,若成立,则转到步骤9;步骤7、随机产生一个的第一类邻域个体X_1,判断X_1是否优于若成立,则将X_1赋给将u+1赋给u,转到步骤5;否则,转到步骤8;步骤8、随机产生一个的第二类邻域个体X_2,判断X_2是否优于若成立,则将X_2赋给将u+1赋给u,转到步骤5;否则,转到步骤9;步骤9、随机产生一个的第三类邻域个体X_3,判断X_3是否优于若成立,则将X_3赋给将u+1赋给u,转到步骤5;否则,转到步骤10;步骤10、判断是否优于若成立,则将赋给否则将赋给步骤11、判断s不大于S,若成立,则将s+1赋给s,并转到步骤5;步骤12、判断L不大于Lmax,若成立,则将L+1赋给L,并转到步骤3;否则结束算法,输出每个工件的执行机器和每个机器上的组批和批的加工顺序。2.根据权利要求1所述的方法,其特征在于,步骤3中,所述计算种群P(L)中每个个体的适应度值的具体步骤如下:步骤31、按照个体的位置来指定工件的排列顺序,将所述工件排列顺序记为设置b=1;步骤32、将φ中前C个工件组成一批,记为并将所述前C个工件从φ中删除,设置k=1;步骤33、尝试将批放入机器Mk上,并将机器Mk上的当前所有批按照批基本加工时间的非减序的顺序进行加工,,批的基本加工时间为未发生恶化时批中所有工件加工时间的最大值。依据公式(1)计算Mk上最后一批的完工时间,记为步骤34、判断k是否不大于m,若成立,则将k+1赋给k,转到步骤3;否则,将安排到机器上,其中步骤35、判断b是否等于B,若成立,则输出当前所有机器上批完工时间的最大值作为个体P(L)的适应度值;否则,转到步骤36;步骤36、判断φ中剩余的工件数量是否不大于C,若成立,则将b+1赋给b,并将剩余的工件组成批转到步骤33;否则,将b+1赋...

【专利技术属性】
技术研发人员:刘心报裴军孔敏陆少军钱晓飞周志平
申请(专利权)人:合肥工业大学
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1