欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 优化最大拖期的柔性作业车间调度的分布估计算法独创技术17297字

优化最大拖期的柔性作业车间调度的分布估计算法

2021-02-28 15:29:18

优化最大拖期的柔性作业车间调度的分布估计算法

  技术领域

  本发明涉及分布估计算法领域,具体是一种基于ECM规则和局部搜索的分布估计算法优化最大拖期的柔性作业车间的高效调度与排产方法。

  背景技术

  在汽车、装配、纺织制造、化工材料、加工半导体制造等制造领域,柔性作业车间调度问题一直都受到学术界和工业界的广泛关注。在满足所有生产制造约束条件下,生产调度需要确定其加工顺序并分配可用的生产资源,这类问题具有很高的灵活性和指数的复杂性。

  目前,这类问题的解决方案主要有三类,包括精确算法、启发式和元启发式。早期科研人员常常采用分支定界法和优先分派规则解决小规模调度的应用场景。后来,研究人员提出了大量优先分派规则,这些优先分派规则在求解柔性车间调度问题取得了不错的效果。但是优先分派规则的选择主要依赖于实验和经验,选定的优先分派规则只对特定优化指标具有很好的效果。

  由于其具有指数的复杂性,群智能优化算法逐渐成为解决柔性车间调度问题最具前景的方法,包括遗传算法,粒子群优化,禁忌搜索,人工蜂群算法,和声搜索,果蝇优化算法,随机蛙跳算法等。柔性车间调度优化问题是离散优化问题,求解离散优化问题具有一定的特殊性,初始化方法,优化方法和搜索策略上均有所不同。目前的调度方法往往缺乏普遍适用性、高效性、稳定性和安全性。

  发明内容

  本发明为了解决现有技术的问题,提供了一种优化最大拖期的柔性作业车间调度的分布估计算法,该分布估计算法具有普遍适用性和高效性。

  本发明包括以下步骤:

  步骤1:建立基于最大完工时间的柔性作业车间调度与排产模型,确定决策变量,其中,决策变量为二维向量,即工序加工顺序向量OS和机器分配向量MS,决策变量

  步骤2:设置分布估计算法的初始化参数,如种群规模pop,优势种群比例系数η,迭代次数TMAX,工序概率矩阵P,工序概率矩阵P的学习系数α,局部搜索次数Nmax;

  步骤3:采用随机算法产生N个初始可行解,组成初始种群;

  步骤4:计算N个初始解的最大拖期时间,保留最好解;根据最大拖期时间,选出前SP=η*N个较好解的个体组成优势种群;

  步骤5:采用前SP个个体优势种群的数据估计和更新工序概率矩阵P;

  步骤6:根据新的工序概率矩阵P生成工序加工顺序方案,采用ECM规则获得机器分配方案,产生N个新个体,组成新的种群;

  步骤7:根据局部搜索算法过程对N个新个体进行局部搜索,产生N个具有更好解的新个体,组成新的种群;

  步骤8:检查是否满足某种停止准则,若满足则算法结束,得到的最好个体就是最优的调度方案结果;否则算法转到步骤4)继续执行。

  进一步改进,步骤1)所述的基于最大完工时间的柔性作业车间调度与排产模型数学描述如下:假设有n个工件和m台机器的调度任务,设所有工件集合为J={J1,J2,...,Jn},工件Ji包含ni个工序,工件Ji的工序序列为所有机器集合为 M={M1,M2,...,Mm},工件i工序j在机器k上的加工时间表示为Tiijk。

  进一步改进,所述的建立优化目标为最大拖期时间的柔性作业车间调度与排产模型,其优化目标的数学描述如下:

  

  其中,Ci为第i个工件的最大完工时间;di为第i个工件的交货期;

  其约束条件如下:

  Sij+Tiijk≤Si(j+1)i=1,2,...,n;j=1,2,...,m

  Fijk+Tiijk≤Sghk i,g=1,2,...,n;i≠g;j,h=1,2,...,m;

  其中,Sij为工件i工序j的起始加工时间;Tiijk为工件i工序j在机器k上的加工时间;Fijk为工件i工序j在机器k上的起始加工时间;Sghk为机器k后续工序Ogh的起始加工时间;前一个约束表明每个工件的下一道工序只能在上一道工序完成后才能开始加工;后一个约束表明每台机器在同一时刻只能加工一道工序;机器的启动时间和搬运工件的时间忽略不计。

  进一步改进,步骤2)所述的工序概率矩阵P的初始化值为其中,Nsum为工序总数

  5、根据权利要求1所述的优化最大拖期的柔性作业车间调度的分布估计算法,其特征在于,步骤5)所述的矩阵P的更新公式如下:

  

  其中,为矩阵P第i行第j列第l次迭代时的概率,SP为优势种群中的个体数目,的含义如下公式所示:

  

  进一步改进,步骤6)所述的根据估计的概率模型进行采样,根据工序概率矩阵P采用轮盘赌的方法生成新的工序排序方案,采用ECM规则生成机器分配方案,采用ECM 规则生成机器分配方案,产生N个新个体,组成新的种群,其中,ECM规则如下:输入:π为所有工件工序的加工序列;D为加工序列维数;γj为机器j上加工工序的索引;Ψj为机器j上的加工工序序列,循环每一台机器上加工工序,执行γj=0,Ψj(γj)=Φ,Φ表示加工工序序列为空;找出能够以最早完工时间加工工序π(t)的机器j,执行γj=γj+1;Ψj(γj)=π(t)。

  进一步改进,对于步骤6)产生的N个新个体,采用局部搜索算法对N个新个体进行进一步的搜索,获得更好的N个新个体。局部搜索算法过程如下:

  

  

  进一步改进,对于步骤7)的局部搜索算法过程,具有三个邻域搜索,分别为Neighborhood1,Neighborhood2机和Neighborhood3,具体过程如下:

  Neighborhood1:对于个体的工序加工顺序向量OS,从OS中随机选择一个工序位置po 作为插入点,将OS的第一道工序插入到po处,再从OS中随机选择一个工序位置po'作为插入点,将OS的最后一道工序插入到po'处,机器分配向量MS的分配方案保持不变;

  Neighborhood2:对于个体的工序加工顺序向量OS,从OS中随机选择一个工序位置po,将OS的第一道工序与po位置的工序进行交换,再从OS中随机选择一个工序位置po',将OS的最后一道工序与po'位置的工序进行交换;机器分配向量MS的分配方案保持不变;

  Neighborhood3:从加工机器中选择一台机器mach,对于个体s1,从个体s1工序加工顺序向量OS中找出当前安排在机器mach上加工的所有工序,随机选择一道工序J,从工序 J的候选加工机器中选择一台不同于机器mach的机器mach',将工序J安排到机器mach' 上加工。

  本发明有益效果在于:

  1、本发明针对柔性作业车间的工序排序和机器分配,分别采用了工序概率矩阵和ECM规则进行分配,并应用局部搜索提高优化拖期问题的效果。此方案采用优势种群更新工序概率矩阵,具有很强的学习能力和适应性,ECM规则针对拖期则能够生成较好的机器分配方案,局部搜索能够进一步提高算法的搜索能力,加快其收敛精度。该方案能够提高求解具有最大拖期时间的柔性作业车间调度问题的精度,在柔性作业车间调度的案列中取得很好的效果。

  2、本发明面向考虑最大拖期时间的柔性作业车间调度问题,具有重要的实际应用背景,能在保证生产性能的情况下,有利于制造企业缩短库存,保证工期和生产效率。

  附图说明

  图1是本发明的算法流程图。

  图2是本发明的两向量的编码方式。

  图3是本发明的实施例1的多种算法对比收敛图。

  图4是本发明求解实施例1的甘特图。

  图5是本发明的实施例2的多种算法对比收敛图。

  图6是本发明求解实施例2的甘特图。

  具体实施方式

  下面结合附图和具体实施例对本发明进行详细说明,以充分了解本发明的目的、特征和效果。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

  下面结合附图和具体实施例对本发明进行详细说明,以充分了解本发明的目的、特征和效果。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

  如图1所示,本发明提出了一种基于ECM规则和局部搜索的分布估计算法求解基于最大拖期的柔性作业车间调度的方法,通过建立考虑最大拖期时间的柔性作业车间调度模型,通过基于ECM规则的机器分配方案和局部搜索算法的分布估计算法进行搜索决策空间,以获得具有普遍适用性和高效性的求解柔性作业车间的调度与排产方案。该方法的实现主要包括以下步骤:

  步骤1),获取柔性作业车间的加工数据信息,包括工件和工序数据、加工机器和加工时间、交货期等生产车间数据。

  步骤2),以最小化最大拖期时间(Tard)为优化目标,建立柔性作业车间的调度与排产模型,优化目标的公式如下:

  

  其中,Ci为第i个工件的最大完工时间;di为第i个工件的交货期。

  约束条件如下:

  Sij+Tiijk≤Si(j+1)i=1,2,...,n;j=1,2,...,m

  Fijk+Tiijk≤Sghk i,g=1,2,...,n;i≠g;j,h=1,2,...,m;

  其中,Sij为工件i工序j的起始加工时间;Tiijk为工件i工序j在机器k上的加工时间; Fijk为工件i工序j在机器k上的起始加工时间。Sghk为机器k后续工序Ogh的起始加工时间。前一个约束表明每个工件的下一道工序只能在上一道工序完成后才能开始加工。后一个约束表明每台机器在同一时刻只能加工一道工序。其中,机器的启动时间和搬运工件的时间忽略不计。

  步骤3),采用ECM规则和局部搜索的分布估计算法求解所述柔性作业车间调度模型,获得最优化的调度方案。ECM规则和局部搜索的分布估计算法求解所述柔性作业车间调度模型的具体方法如下:

  (1)如图2所示,本发明采用了一种两向量的编码方式来编码决策空间,工序加工顺序向量[2 1 1 3 2 1 2 3]代表工件工序的加工顺序为[O21,O11,O12,O31,O22,O13,O23,O32],机器分配向量[1 3 2 1 3 1 3 2]则代表机器分配如下:(O11,M1),(O12,M3),(O13,M2),(O21,M1), (O22,M3),(O23,M1),(O31,M3),(O32,M2)。

  (2)设置分布估计算法的初始化参数,如种群规模pop,优势种群比例系数η,迭代次数TMAX,工序概率矩阵P,工序概率矩阵P的学习系数α,局部搜索次数Nmax。

  (3)在解空间内按均匀分布随机产生N个初始解,组成初始种群。工序概率矩阵P的初始化方法为:

  

  其中,Nsum为工序总数。

  (4)根据N个初始解计算柔性作业车间调度与排产的最大拖期时间,同时保留最好解;根据最大拖期时间,选出最大拖期时间较好的SP=η*N个个体组成优势种群;

  (5)根据SP个个体优势种群的数据,估计该车间调度的概率分布模型,即更新工序概率矩阵P。更新公式如下:

  

  其中,为矩阵P第i行第j列第l次迭代时的概率,SP为优势种群中的个体数目,含义如下公式所示。

  

  (6)根据新的工序概率矩阵P采用轮盘赌方法生成工序加工方案,同时采用ECM 规则生成机器分配方案,产生N个新个体,组成新的种群。其中,ECM规则过程如下:

  

  

  (7)对于(6)产生的N个新个体,采用局部搜索算法对N个新个体进行进一步的搜索,产生N个具有更好解的新个体,组成新的种群。其中,局部搜索算法过程如下:

  

  

  对于(7)中的局部搜索算法过程,具有三个邻域搜索,分别为Neighborhood1,Neighborhood2机和Neighborhood3,具体过程如下。

  Neighborhood1:对于个体的工序加工顺序向量OS,从OS中随机选择一个工序位置po 作为插入点,将OS的第一道工序插入到po处,再从OS中随机选择一个工序位置po'作为插入点,将OS的最后一道工序插入到po'处。机器分配向量MS的分配方案保持不变。

  Neighborhood2:对于个体的工序加工顺序向量OS,从OS中随机选择一个工序位置po,将OS的第一道工序与po位置的工序进行交换,再从OS中随机选择一个工序位置po',将OS的最后一道工序与po'位置的工序进行交换。机器分配向量MS的分配方案保持不变。

  Neighborhood3:从加工机器中选择一台机器mach,对于个体s1,从个体s1工序加工顺序向量OS中找出当前安排在机器mach上加工的所有工序,随机选择一道工序J,从工序 J的候选加工机器中选择一台不同于机器mach的机器mach',将工序J安排到机器mach' 上加工。

  (7)检查是否满足某种停止准则,若满足则算法结束,得到的最好个体就是最优的调度方案结果;否则算法转到(4)继续执行。

  为了验证基于ECM规则和局部搜索的分布估计算法(ECMEDA-Local)求解柔性作业车间调度问题的可行性和性能,本发明分别对两个实施例进行了实验,并与GA,PSO算法进行对比分析。

  仿真环境为:采用Windows 7系统上的Matlab2011a。实验PC机的硬件配置为: AMDAthlon(tm)II P320 Dual-Core处理器,主频2.10GHz,内存4GB。两个实施例分别为Kacem测试函数的8×8算例和15×10算例。

  GA算法参数设置如下:种群规模为N=30,最大迭代次数T=100,交叉概率为Pc=0.5,变异概率为Pm=0.1,局部搜索次数Nmax=20,每个测试函数优化10次。

  PSO算法参数设置如下:种群规模为N=30,最大迭代次数T=100,学习系数 c1=c2=2.0,惯性权重为ω=ωmin+(ωmax-ωmin).*t/T,ωmin=0.4,ωmax=0.9,每个测试函数优化10次。

  基于ECM规则和局部搜索的分布估计算法(ECMEDA-Local)的参数设置如下:种群规模为N=30,最大迭代次数T=100,学习系数α=0.3,优势种群比例系数η=0.3,每个测试函数优化10次。

  实例1为Kacem测试函数中的8×8算例,其加工任务信息见相关参考文献,其工件交货期信息如下表所示。

  表1

  

  

  对实例1进行求解,三种算法的进化收敛曲线如图3所示,对应调度结果甘特图如图4所示。三种算法求解实例1的最大拖期时间的数据如表2所示。

  表2

  

  由图3可知,相比之下,ECMEDA-Local算法在10代以内已经优化到了最优值,算法的进化收敛曲线收敛速度更快,收敛精度更高。

  由表2可知,从均值、最小值、最大值上看,本发明提出的ECMEDA-Local算法均优化到了最大拖期的全局最优值,而GA和PSO算法则没有获得最大拖期的全局最优值, ECMEDA-Local算法的优化结果的精度更高;从方差上看,本发明提出的ECMEDA-Local 算法优化结果的方差为0,算法的稳定性更好。从算法的消耗时间上看,本发明提出的 ECMEDA-Local算法也稍优于GA,显著快于PSO算法。

  实例2为Kacem测试函数中的15×10算例,其加工任务信息见相关参考文献。其工件交货期信息如下表所示。

  表3

  

  对实例2进行求解,三种算法的进化收敛曲线如图5所示,对应调度结果甘特图如图6所示。三种算法求解实例2的最大拖期时间的数据如表4所示。

  由图5可知,ECMEDA-Local算法在10代以内就获得了最大拖期时间的全局最优值,GA和PSO算法均没有找到最大拖期时间的全局最优值;对比GA和PSO算法, ECMEDA-Local算法进化收敛曲线收敛速度更快,精度更高。由表4可知,从均值、最小值、最大值、方差上看,本发明提出的ECMEDA-Local算法的优化结果均优于GA和PSO 算法,优化结果的精度和稳定性更好;本发明提出的ECMEDA-Local算法的时间消耗也显著快于GA和PSO算法。

  表4

  

  综合上述实施例的详细说明和实验的结果分析,表明本发明公开的基于ECM规则和局部搜索的分布估计算法的柔性作业车间调度方法可以明显减少库存,保证交货期,同时保证生产效率。

  本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。

《优化最大拖期的柔性作业车间调度的分布估计算法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)