基于Petri网和改进NSGA-II的柔性制造系统多目标优化调度方法

文档序号:41546033发布日期:2025-04-08 17:59阅读:6来源:国知局
基于Petri网和改进NSGA-II的柔性制造系统多目标优化调度方法

本发明属于柔性制造系统的生产调度,具体涉及基于petri网和改进nsga-ii的柔性制造系统多目标优化调度方法。


背景技术:

1、柔性制造系统(flexible manufacturing system,fms)是一种以数控机床为核心,通过各类运输设备相互连接,并由中央计算机统一控制和管理的自动化制造系统,它能够同时执行多种生产任务,具有高度的灵活性。随着科技的不断进步以及客户需求的日益多样化和个性化,企业是否能够快速响应市场的动态变化,生产出多种高质量、低成本的产品,并有效利用机器人、自动导引小车和加工设备等共享资源,已成为决定企业市场竞争力的关键因素。因此,适应现代生产模式的柔性制造系统在制造业中受到越来越多的关注和重视。

2、在柔性制造系统中,制定一个高效的调度方案至关重要。它不仅能显著提升生产效率,还能降低生产成本,合理均衡地分配资源,从而提高企业的整体生产效益。然而,柔性制造系统的调度问题已被证明是一个np(non deterministic polynomial)难问题,尤其在调度规模较大时,问题变得更加复杂且难以求解。此外,在企业的实际生产过程中,各种操作通常都有严格的工艺要求,这相当于引入了更多的约束条件,进一步增加了调度问题的复杂性。因此,柔性制造系统的调度问题一直是制造系统领域研究的热点之一。

3、文献(developing two multi-objective evolutionary algorithms for themulti-objective flexible job shop schedulingproblem)中rahmati等人提出了一种基于非支配排序遗传算法的柔性作业车间调度方法,通过协调各个目标函数之间的关系,找出使得各个目标函数都尽可能达到比较优函数值的最优解集。但是在实际应用中发现非支配排序遗传算法存在不足之处,主要表现在非支配排序计算量较大和遗传操作时算法选择能力较弱。


技术实现思路

1、本发明的目的在于克服现有技术的缺点,针对柔性制造系统提供基于petri网和改进nsga-ii的柔性制造系统多目标优化调度方法,能较快地寻找出满足优化目标要求的调度序列,提升调度速度,增加机器的利用率,减少能量消耗,增加生产数量。

2、本发明为实现上述发明目的,采取的技术方案如下:

3、基于petri网和改进nsga-ii的柔性制造系统多目标优化调度方法,包括以下步骤:

4、s1、建模:根据柔性制造系统内部工件的加工工序以及各工件之间的机器占用情况,构建能够表达离散并行系统的petri网模型(n,m0)及其关联矩阵a,并定义如下符号:

5、n:一个由圆形结点、方形结点和有向弧组成的petri网n=(p,t,f),代表由m台机器组成且能加工n类工件的柔性制造系统;

6、p:库所集其中pi0=pis∪pif代表闲置库所集,pis为第i类工件的上传缓冲区,pif为对应的卸载缓冲区,pij表示第i类工件的第j个操作对应的库所,pr代表资源库所集;

7、t:变迁集,由n中所有的方形结点组成,每个变迁t表示上一道工序的结束和下一道工序的开始,也表示对上一道工序所使用资源的释放和下一道工序所使用资源的申请;

8、f:有向弧集,代表每个工件在系统中的加工流动情况及在加工过程中每个加工工序对资源的需求和释放情况;

9、m:p→n为标识,n为非负整数集,表示系统的加工状态,标识的每个数字表示各库所中所含的工件数或资源数;其中m0为初始标识,表示系统未开始加工,工件位于上传缓冲区,资源未被占用;

10、a:关联矩阵,表示n中各变迁下每个库所托肯数的变化规律,是一个|t|行和|p|列的矩阵;

11、针对柔性制造系统模型综合考虑了加工时长、能量消耗和设备利用率等因素,在满足工序约束、资源约束和控制约束即无死锁的前提下,确立了3个优化目标:完工时间f1、总能耗f2和机器利用率f3,即:

12、f1=min{makespan}

13、makespan=max{ck}

14、f2=min{e}

15、

16、dpk(t)=dpk(t)+jtime-stime

17、f3=min{lb}

18、

19、其中,ck为第k个工件的最后一道工序的完工时间,k=1,2,…,p;p为工件总数;makespa n为所有工件加工完的最大时间;e为总加工能耗;为机器pk的总加工时间;stime和jtime分别为加工某一工件时机器的开始加工时间和结束加工时间;st[pk]和et[pk]分别为机器pk的第一次加工开始时刻和最后一次加工结束时刻;为加工功率;为待机功率;为空载功率;lb为机器利用率;

20、s2、确定nsga-ⅱ算法参数:确定该算法用到的各种参数,包括种群规模popsize、最大迭代次数maxgen、交叉因子crossfactor、变异因子pm、选择因子selectfactor;

21、s3、编码和解码:首先把所有要加工的工件和加工路径分别编号,用工件序号的出现顺序代表加工顺序,每个工件在编码中出现的次数需和其工序个数相等;问题解的编码就是工件号和路径号的组合序列,称为基因序列;基因序列由操作基因与路径基因组合而成,操作基因在前,后面顺序接上路径基因,操作基因表示工件加工顺序,其总长度为加工完所有工件所需的工序总数;路径基因表示路径选择,其总长度为工件总数;

22、通过上述编码,能够直接反向解码,即将序列直接解码成满足操作约束的调度序列,对于同一类工件,若加工路径不同,解码时得到的变迁也不同;

23、s4、生成初始化种群:初始种群由固定规模的染色体组成,其中规模为s2中已确定的种群规模;对每一个随机生成的染色体检查是否满足s3的编码要求,若不满足,进行更正;其中gen表示种群的迭代次数,gen=0表示第0代种群,即初始化种群;

24、s5、死锁检测与修复:结合关联矩阵a和初始标识m0,对染色体进行死锁检测和修复,保证修复好的基因序列能够满足资源约束、加工顺序约束和控制约束;

25、s6、对评价指标进行归一化:选取完工时间makespan、总能耗e和机器利用率lb三个解释因子来表征柔性制造系统的评价指标,分别计算三个指标并进行归一化,归一化公式如下:

26、

27、其中,x为评价指标的原始数值,x'为评价指标归一化的数值,min为最小值函数,max为最大值函数;

28、s7、非支配排序和拥挤距离计算:结合完工时间makespan、总能耗e和机器利用率lb三个指标和归一化后的数值x',对种群中的个体进行快速非支配排序,并计算每个个体在其所在层的拥挤距离;

29、s8、终止规则判断:判断是否满足终止规则,即gen>maxgen;若是,则进入s11,程序结束;若否,则执行s9;

30、s9、适应度值的归一化:通过个体所在的非支配层和其拥挤距离计算其适应度值;为便于后续的计算,对适应度值进行归一化,公式如下:

31、

32、其中,adapt是个体的适应度值,adapt'为其对应的归一化值,rank为当前个体所在的非支配层,d为当前个体的拥挤距离,λ、k1、k2为常数;

33、s10、遗传操作:遗传操作包括选择操作、交叉操作和变异操作;遗传操作完成后,将所有父代个体和经过遗传操作得到的子代合并为一个新种群,即gen=gen+1;返回至s5对新种群中的每一个染色体实施可行性检测和修复操作;重新执行s6-s7,从非支配排序的第一层开始,依次选取popsize个个体,若第一层个体数量小于popsize,则从第二层中选择,以此类推;若同一层中所要选取个体数量小于该层中的总个体数,则优先选取拥挤距离大的个体,便于保持解的多样性;

34、s11、输出最优解:输出pareto最优前沿中的解,满足s8的终止规则后,输出满足要求的解对应的调度序列,完成柔性制造系统的优化调度。

35、作为本发明的优选技术方案,s4中,利用改进circle混沌映射法则生成初始种群,提高序列的离散性和均匀性,降低重复数出现概率,从而提升搜索效率并保持搜索过程的多样性,具体公式如下:

36、

37、其中,θn为第n次迭代的相位。

38、作为本发明的优选技术方案,s5中结合关联矩阵a和初始标识m0对染色体进行死锁检测和修复,保证修复好的基因序列能够满足控制约束和资源约束,具体步骤如下:

39、s5-1:设置u=1,记录当前检测的变迁序号;

40、s5-2:判断u是否大于变迁序列长度,若满足条件则完成对基因序列的修复,否则令变迁序列中第u个变迁为tα,执行s5-3;

41、s5-3:检查变迁tα在当前标识下是否使能,若使能则执行s5-4,反之则选择tα的后一个变迁放在该变迁前面,并更新tα,重新执行本步骤;

42、s5-4:采用一步向前看方法判断变迁tα是否允许引发,若不允许引发则选择tα的后一个变迁放在该变迁前面,并更新tα,重新执行s5-3;反之则执行s5-5;

43、s5-5:判断变迁tα对应加工工序是否满足加工顺序约束,若不满足则选择tα的后一个变迁放在该变迁前面,并更新tα,重新执行s5-3;反之则执行s5-6;

44、工件加工顺序约束如下:

45、设当前有一个标识m0,在该标识下t11无法引发,由s5-4至s5-6得到当前标识下可以引发的变迁为t22,其索引号在编码数组中对应的工件为13,实际意义为第13个工件的第二道工序,将此变迁插入到当前不使能变迁t11之前,但此时如果编码数组中第16个索引也为工件13,对应变迁为t21,实际意义为第13个工件的第一道工序,此时修复完变为工件13先进行第二步工序再进行第一步工序,违反了工件的加工顺序,故在修复变迁时添加工件加工顺序约束,判断选择的变迁对应的工件是否满足条件:

46、判断当前不使能变迁和在s5-4中选择的可使能变迁分别对应的索引号,在编码数组中这两个索引号对应的工件号之间不能出现选择的可使能变迁对应的工件号;

47、s5-6:引发tα,更新当前标识,令u=u+1,执行s5-2;

48、重复上述步骤,即可完成染色体的死锁检测与修复。

49、作为本发明的优选技术方案,s7中,结合完工时间makespan、总能耗e和机器利用率lb三个评价归一化后的数值x',进行快速非支配排序和拥挤距离计算,具体步骤如下:

50、s7-1、快速非支配排序:对于每个个体,令其归一化后的x'与其余个体归一化后的三个指标进行比较,根据支配定义得到每个个体的支配个体,支配定义如下:

51、

52、其中x'i(a)表示个体a在第i个评价指标上的归一化值,x'i(b)表示个体b在第i个评价指标上的归一化值,若满足上述不等式,即对于任一个评价指标,x'i(a)均大于等于x'i(b),并且至少存在一个指标使得x'i(a)>x'i(b),则个体a支配个体b;

53、若存在某个指标,使得x'i(a)<x'i(b),则个体a与b互不支配;重复上述步骤,得到种群中任意两个个体之间的支配关系;

54、将没有被任何个体支配的个体标记为pareto前沿最优个体,放入第一层;然后,对于每个个体,从对应的支配个体中移除已经分层过的个体,更新剩余个体的支配情况,找到新的非支配层;重复进行同样操作构建其它非支配层,以此完成快速非支配排序;

55、s7-2、拥挤距离计算:拥挤距离用于衡量个体在目标空间的分布密度;拥挤距离越大,表示该个体所在的区域越稀疏,有助于保持解的多样性;对非支配排序后的每一层中的个体,将每个评价指标中的数分别进行升序排序,计算每个个体在每个指标下与相邻个体的距离,将每个个体在所有指标下的距离求和得到其拥挤距离,具体公式如下:

56、

57、其中,d'ij为第j个个体在每个评价指标上与相邻个体的距离,dj为第j个个体的拥挤距离,m为当前层中的个体总数,j'为第j个个体在第i个评价指标中的位次,n为评价指标数量,xi(j)表示第j个个体在第i个评价指标上的值,k3、k4为常数。

58、作为本发明的优选技术方案,s10中对种群中的染色体进行遗传操作,从而获得新一代的种群,遗传操作包括选择、交叉和变异,具体步骤如下:

59、s10-1、选择操作:引入精英存储策略,存储适应度值前10%的最优种群个体,对于剩余种群,则采用轮盘赌选择法进行挑选,每个个体被选中的概率与其适应度值成正比,其中个体被选择概率和染色体的累计概率公式如下:

60、

61、随机生成一个[0,1]的随机数rand,若q(xi)≤rand则表示第i个个体被选中,依次重复,得到含selectnum×popsize条个体的种群;

62、s10-2、交叉操作:生成1个[0,1]之间的随机数rand,若rand小于交叉因子crossfactor则对种群中每两条染色体使用pox交叉方法;染色体p1和p2交叉生成两个子代c1和c2,交叉过程如下:

63、s10-2-1:随机划分工件集为两个非空子集j1和j2;

64、s10-2-2:复制p1中属于工件集j1中工件的工序到c1,复制p2中属于工件集j1中工件的工序到c2,保留它们的位置;

65、s10-2-3:复制p1中属于工件集j2中工件的工序到c2,复制p2中属于工件集j2中工件的工序到c1,保留它们的顺序;

66、s10-3、变异操作:为避免优秀染色体变异导致种群整体质量下降,采用线性自适应的变异概率,通过比较当前染色体适应度值与当前种群适应度值,判定不同染色体对算法进化的不同贡献,保证优良的染色体可以遗传到下一代,线性自适应变异率表达式如下:

67、

68、其中,fmax表示种群中适应度的最大值,favg表示种群适应度适应度值的平均值,fm表示变异个体的适应值,k5、k6为常数;

69、选择一条染色体,生成1个[0,1]之间的随机数rand,若rand小于自适应变异率,则对该个体实施变异操作,操作如下:针对工序码,在染色体中随机选择两种不同种类的工件,交换它们的加工工序对应的编码数组中的位置;

70、针对路径码,由于第二类工件有两条加工路径可以选择,故当染色体发生变异时,第二类工件的加工路径变为另一条路径;

71、s10-4、遗传操作完成后,将所有父代个体和经过遗传操作得到的子代合并为一个新种群,即gen=gen+1;返回至s5对新种群中的每一个染色体实施可行性检测和修复操作;重新执行s6至s7,从非支配排序的第一层开始,依次选取popsize个个体,若第一层个体数量小于popsize,则从第二层中选择,以此类推;若同一层中所要选取个体数量小于该层中的总个体数,则优先选取拥挤距离大的个体,便于保持解的多样性。

72、本发明所述的基于petri网和改进nsga-ii的柔性制造系统多目标优化调度方法,采用以上技术方案与现有技术相比,具有以下技术效果:

73、(1)本发明基于柔性制造系统的petri网模型,提出了一种新的调度策略;通过检测修复,将所有染色体调整为可行的染色体,并将其解码为可行的调度序列,保证柔性制造系统在无死锁的前提下对生产过程进行优化调度,较快地寻找出满足优化目标要求的调度序列,提升调度速度,增加机器的利用率,减少能量消耗,增加生产数量。

74、(2)本发明在调度策略的设计过程中对nsga-ii算法进行了优化改进,首先采用改进circle混沌映射方法生成初始种群,使种群分布更均匀;其次通过快速非支配排序的方法减少冗余计算,提高了计算效率;在遗产操作的选择操作中采用精英保留策略和轮盘赌的方法,根据适应度值的大小选择较优个体进行操作;在交叉操作中采用pox(precedenceoperation crossover)交叉方法,能够有效扩大邻域解的范围;在变异操作中采用线性自适应变异算子,由于染色体基因分为路径基因和工序基因两个部分,本发明同时在这两个部分进行变异操作,使得操作步骤简单,生产效率提高幅度大,应用环境友好。

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