一种基于改进果蝇算法的作业车间调度方法技术

技术编号:18115879 阅读:21 留言:0更新日期:2018-06-03 08:38
本发明专利技术提出了一种基于改进果蝇算法的作业车间调度方法,所述方法包括:根据作业车间的特点,建立作业车间的数学模型,构建出每个工件不同工序的加工顺序的约束条件,以及每台机器上不同工件的工序加工顺序的约束条件。然后建立基于最大完工时间最小的作业车间调度目标函数,通过基于工序的编码方式形成果蝇个体,采用了自适应步长的分类嗅觉随机搜索方法,使果蝇种群快速找到味道浓度判定函数的最小值,得出作业车间调度的最优解,即作业车间调度的最优方案。该算法实现简单,只需要设置两个参数,并且全局寻优能力较强,能够有效地解决作业车间调度问题。

【技术实现步骤摘要】
一种基于改进果蝇算法的作业车间调度方法
本专利技术涉及作业车间调度问题,具体涉及一种基于改进果蝇算法的作业车间调度方法。
技术介绍
作业车间调度问题实际上是生产调度问题的简化,其具有广泛的应用背景,譬如生产制造、交通规划、邮电通信、大规模集成电路设计等问题。作为一类满足任务配置和顺序约束要求的资源分配问题,作业车间调度已被证明是一个典型的NP-hard问题,它的求解难度远大于流水线调度问题,针对其算法的研究一直是学术界和工程界共同关注的重要课题。如今,制造业的竞争日益激烈,制造企业正朝着有不同完工时间和产品要求的多类型、小批量的生产模式发展。如何利用现有资源,满足加工任务所需各种约束,使所有任务能尽量按时完成,即如何有效地解决作业车间调度问题,成为一个十分现实和迫切的问题。高效调度算法,可以大大提高生产效益和资源利用率,从而增强企业的竞争能力,因此对作业车间调度问题的研究有非常重要的理论和实用价值。目前,求解作业车间调度问题的主要方法是群智能优化算法,如遗传算法、模拟退火算法、禁忌搜索算法、蚁群算法、粒子群算法、蛙跳算法以及各种混合调度算法等。遗传算法是根据自然进化论得出的一种并行优化搜索算法,该算法能够以较大概率找到全局优化解。蚁群算法是模拟蚂蚁寻路的过程而设计出的一种大量个体相互协作的启发式搜索算法,也能够很快搜索到比较好的解。但是,这些算法的参数设置较多、计算复杂度较大,并不能够有效的解决车间调度的问题。
技术实现思路
本专利技术的目的在于提供一种基于改进果蝇算法的作业车间调度方法。该方法可以有效地解决车间调度问题、提高作业车间调度效率。本专利技术提出了一种基于改进果蝇算法的作业车间调度方法,所述方法包括:根据作业车间的特点,建立作业车间的数学模型,构建出每个工件不同工序的加工顺序的约束条件,以及每台机器上不同工件的工序加工顺序的约束条件。然后建立基于最大完工时间最小的作业车间调度目标函数,通过基于工序的编码方式形成果蝇个体,采用了自适应步长的分类嗅觉随机搜索方法,使果蝇种群快速找到味道浓度判定函数的最小值,得出作业车间调度的最优解,即作业车间调度的最优方案。该算法实现简单,只需要设置两个参数,并且全局寻优能力较强,能够有效地解决作业车间调度问题。其具体步骤如下:1)根据作业车间的特点,建立作业车间的数学模型;2)构建出每个工件不同工序的加工顺序的约束条件;3)构建每台机器上不同工件的工序加工顺序的约束条件;4)建立基于最大完工时间最小的作业车间调度目标函数;5)通过基于工序的编码方式,并形成果蝇个体即果蝇种群初始化;6)采用自适应步长的分类嗅觉随机搜索方法,使果蝇种群快速找到味道浓度判定函数的最小值,确定出新的果蝇种群;7)对得到新的果蝇种群进行评价,并依此进行迭代寻优;8)进行终止条件判定,若条件不满足,则跳转至步骤6并依次进行余下步骤。否则,算法结束,输出结果。上述步骤1中,建立作业车间调度数学模型:现有M台机器,表示为[1,2,…m,…,k,…,M],m和k代表不同的两台机器,即m≠k。其中要求每台机器仅加工一道固定工序,且各机器加工的工序也不相同;不同工件的不同工序的完成时间相互独立。设加工过程中,机器不会发生故障。现有N个工件需要加工,表示为[1,2,…,n,…,i,…,N],n和i代表不同的两个工件,即n≠i。其中要求每个工件的工序加工顺序各不相同,每个工件的每道工序的完成时间相互独立。其中,工件n在机器m上的完成时刻为Cn,m,工件n在机器m上的加工时间长度为ln,m,工件n在机器k上的完成时刻为Cn,k,工件i在机器m上的完成时刻为Ci,m。上述步骤2中,构建每个工件的不同工序的加工顺序的约束条件为:Cnm-lnm+D(1-ankm)≥Cnk式中,D是一个足够大的正数,ankm是指示系数,表示为:上述步骤3中,构建每台机器上不同工件的工序加工顺序的约束条件为:Cnm-Cim+D(1-xinm)≥lnm式中,D是一个足够大的正数,xinm是指示变量,表示为:上述步骤4中,确定作业车间调度问题的目标函数为:表示完成所有工件的最大完工时间最小。上述步骤5中,进行工序编码化和果蝇种群初始化。每个调度方案代表一个果蝇个体,并采用基于工序的编码规则。调度方案是由N×M个元素Jn,m组成的一个表示加工顺序的序列,其中Jn,m表示加工第n个工件的第m道工序,解码时再按照序列的加工顺序就可转化为一个调度方案。而果蝇初始种群中的个体是通过随机方式生成的。上述步骤6中,将步骤5中编码好的果蝇个体代入目标函数,并计算出每个果蝇个体的最大完工时间,确定出初始最优果蝇种群,并保存其对应的工序编码。然后对初始最优果蝇种群内的果蝇个体进行自适应步长的分类嗅觉搜索,得出新的果蝇种群。根据果蝇个体之间的相异度调整果蝇个体在嗅觉随机搜索阶段的步长值,然后针对不同步长值的大小,采取不一样的随机搜索策略。果蝇个体之间的相异度定义为其工序编码序列中相同位置的不同编码位对数。自适应步长值为Li=S(xi,xbest),其中xbest为上一代果蝇的最优个体。针对嗅觉搜索中不同步长值大小,采取不一样的随机搜索策略。当嗅觉搜索步长值Li≥2时,在果蝇个体中随机选出任意工件的位置,并对该位置后续的Li-1个位置的工件进行逆转操作。该搜索方案随着果蝇个体与最优个体相异度的减小,逆转操作的力度逐渐减小,使得算法由初期性能强的全局寻优,转变为后期逐渐增强的局部搜索,形成自适应的嗅觉随机搜索机制,实现算法寻优精度与效率的动态平衡。当步长值Li=1时,在果蝇个体中随机选取两个编码位进行交换操作。该搜索方案能够在算法收敛后期,即果蝇个体相对集中且差异度很小时,增强果蝇种群的多样性,使其跳出局部极值的陷阱。当完成对果蝇个体的自适应步进的分类嗅觉搜索后,可得出新的果蝇种群。上述步骤7中,对步骤6中得出的果蝇种群进行评价,确定出新的最优个体,并依此进行迭代寻优。其中,对步骤6中得出的果蝇种群评价是指将种群中的个体继续代入目标函数中,计算每个果蝇个体的最大完工时间,确定出新的最优个体。将新的最优个体与上一代最优个体通过目标函数进行比较,选出最大完工时间较小者作为最优个体。最后,依此迭代寻优。上述步骤8中,进行终止条件判定,若条件不满足,则跳转至步骤6并依次进行余下步骤。否则,算法结束,输出结果。其中,终止条件判定指是否满足最大迭代次数。本专利技术技术方案的优点:本专利技术只需要设置两个参数,算法实现简单,大大降低了作业车间调度的复杂度,并提升了作业车间调度的效率。同时,本专利技术的算法的全局寻优能力较强,能够有效地解决作业车间调度问题。改进的果蝇算法具有参数设置少,收敛性强,鲁棒性强等优点,在解决生产调度问题中具有一定的可行性和有效性。虽然在下文中将结合一些示例性实施及使用方法来描述本专利技术,但本领域技术人员应当理解,并不旨在将本专利技术限制于这些实施例。反之,旨在覆盖包含在所附的权利要求书所定义的本专利技术的精神与范围内的所有替代品、修正及等效物。本专利技术的其它优点、目的和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本专利技术的实践中得到教导。本专利技术的目的和其它优点可以通过下面的说明书,权利要求本文档来自技高网...
一种基于改进果蝇算法的作业车间调度方法

【技术保护点】
一种基于改进果蝇算法的作业车间调度方法,其特征在于以下步骤:1)根据作业车间的特点,建立作业车间的数学模型;2)构建出每个工件不同工序的加工顺序的约束条件;3)构建每台机器上不同工件的工序加工顺序的约束条件;4)建立基于最大完工时间最小的作业车间调度目标函数;5)通过基于工序的编码方式,并形成果蝇个体即果蝇种群初始化;6)采用自适应步长的分类嗅觉随机搜索方法,使果蝇种群快速找到味道浓度判定函数的最小值,确定出新的果蝇种群;7)对得到新的果蝇种群进行评价,并依此进行迭代寻优;8)进行终止条件判定,若条件不满足,则跳转至步骤6并依次进行余下步骤。否则,算法结束,输出结果。

【技术特征摘要】
1.一种基于改进果蝇算法的作业车间调度方法,其特征在于以下步骤:1)根据作业车间的特点,建立作业车间的数学模型;2)构建出每个工件不同工序的加工顺序的约束条件;3)构建每台机器上不同工件的工序加工顺序的约束条件;4)建立基于最大完工时间最小的作业车间调度目标函数;5)通过基于工序的编码方式,并形成果蝇个体即果蝇种群初始化;6)采用自适应步长的分类嗅觉随机搜索方法,使果蝇种群快速找到味道浓度判定函数的最小值,确定出新的果蝇种群;7)对得到新的果蝇种群进行评价,并依此进行迭代寻优;8)进行终止条件判定,若条件不满足,则跳转至步骤6并依次进行余下步骤。否则,算法结束,输出结果。2.根据权利要求1所述的基于改进果蝇算法的作业车间调度方法,其中所述步骤1中,建立作业车间调度数学模型:现有M台机器,表示为[1,2,…m,…,k,…,M],m和k代表不同的两台机器,即m≠k。其中要求每台机器仅加工一道固定工序,且各机器加工的工序也不相同;不同工件的不同工序的完成时间相互独立。设加工过程中,机器不会发生故障。现有N个工件需要加工,表示为[1,2,…,n,…,i,…,N],n和i代表不同的两个工件,即n≠i。其中要求每个工件的工序加工顺序各不相同,每个工件的每道工序的完成时间相互独立。其中,工件n在机器m上的完成时刻为Cn,m,工件n在机器m上的加工时间长度为ln,m,工件n在机器k上的完成时刻为Cn,k,工件i在机器m上的完成时刻为Ci,m。3.根据权利要求1所述的基于改进果蝇算法的作业车间调度方法,其中所述步骤2中,构建每个工件的不同工序的加工顺序的约束条件为:Cnm-lnm+D(1-ankm)≥Cnk式中,D是一个足够大的正数,ankm是指示系数,表示为:。4.根据权利要求1所述的基于改进果蝇算法的作业车间调度方法,其中所述步骤3中,构建每台机器上不同工件的工序加工顺序的约束条件为:Cnm-Cim+D(1-xinm)≥lnm式中,D是一个足够大的正数,xinm是指示变量,表示为:。5.根据权利要求1所述的基于改进果蝇算法的作业车间调度方法,其中所述步骤4中,确定作业车间调度问题的目标函数为:表示完成所有工件的最大完工时间最小。6.根据权利要求1所述的基于改进果蝇算法的作业车间调度方法,其中所述步骤5中,进行工序编码化和果蝇种群初始化。每个调度方案代表一个果蝇个...

【专利技术属性】
技术研发人员:戴佐俊张月霞殷生旺
申请(专利权)人:江苏创源电子有限公司北京信息科技大学
类型:发明
国别省市:江苏,32

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

1