当前位置: 首页 > 专利查询>上海大学专利>正文

一种基于遗传算法的柔性作业车间分批调度方法技术

技术编号:15864582 阅读:143 留言:0更新日期:2017-07-23 10:59
本发明专利技术公开了一种基于遗传算法的柔性作业车间分批调度方法,该方法步骤为:(1)确定运行参数,包括种群规模M,交叉概率PC,变异概率PM,迭代次数T;(2)初始种群生成,采用分段编码方法产生分批码及工序码;(3)个体适应度计算,将个体总完工时间的倒数作为其适应度值;(4)选择操作,采用轮盘赌选择算子;(5)交叉操作,设置交叉执行准则,根据准则对分批码或工序码进行交叉,交叉后进行修复;(6)变异操作,对分批码采用多点变异,对工序码采用逆序变异;(7)终止判别,判断世代数是否满足终止条件,满足则停止,输出最优调度方案,否则转到(3)。本发明专利技术能够优化柔性车间的生产运行,有效缩短生产周期,使用性强,易于推广。

【技术实现步骤摘要】
一种基于遗传算法的柔性作业车间分批调度方法
本专利技术涉及一种智能制造技术中的生产计划制定,具体地说是一种基于遗传算法的柔性作业车间分批调度方法,用人工智能算法中的遗传算法来求解柔性作业车间分批调度问题。
技术介绍
在生产作业计划中,产品的生产品种和生产数量在订单中是已知的,生产时间也可由工艺人员确定,但生产顺序的安排往往是难以合理确定的,确定工件的加工顺序以及分配相应的生产设备来对工件进行加工,这一过程称为作业排序或作业调度。对同一批待加工工件,不同的加工顺序会产生不同的加工完成时间,很大程度上影响着企业的生产效率。作业调度的目的就是通过为工件确定合理的加工顺序,对生产过程进行优化,从而缩短生产周期,提高设备利用率。车间作业调度问题的方法主要有:经典算法、基于启发式规则的构造性算法、人工智能算法。经典算法:经典算法包括数学规划法、分支界定法、拉格朗日松弛法等。基于启发式规则的构造性算法:该算法易于实现、计算复杂度低,被大量的研究与应用,Panwalka等总结了一百多种调度规则。人工智能算法:人工智能算法包括遗传算法、蚁群算法、禁忌搜索算法、免疫算法、神经网络算法等。经典算法对小规模问题比较有效,对较大规模问题计算时间难以承受;基于启发式规则的构造性算法对问题处理比较粗糙,其得出的解质量通常不够好;而人工智能算法优化性能高,算法结构简单,通用性好,其中的遗传算法是求解车间调度的研究热点之一。柔性车间调度是一个NP-hard问题,在车间调度中具有较高的复杂程度,而在其基础上再加入分批问题,使得问题更加复杂。遗传算法在求解柔性车间分批调度问题时,由于分批的不相同导致进化操作的复杂性大大增加,从而使进化寻优不理想,因此有必要展开研究,制定出合适的方法。
技术实现思路
本专利技术目的在于针对已有技术存在的缺陷,提供一种基于遗传算法的柔性作业车间分批调度方法,能够提供好的调度方案,从而提高车间生产效率,缩短生产周期。为达到上述目的,本专利技术采用下述技术方案:一种基于遗传算法的柔性车间调度方法,其特征在于具体操作步骤如下:步骤一,确定运行参数。步骤二,初始种群生成。步骤三,个体适应度计算。步骤四,选择操作。步骤五,交叉操作。步骤六,变异操作。步骤七,终止判别。针对以上步骤进行具体说明如下:步骤一、确定运行参数遗传算法的运行参数包括种群规模M,交叉概率PC,变异概率PM,迭代次数T。种群规模M一般取20~100,交叉概率PC一般取0.4~0.99,变异概率PM一般取0.0001~0.1,迭代次数T一般取100~500。步骤二、初始种群生成初始种群的生成依靠编码实现,柔性作业车间分批调度问题的编码需要包含两部分信息,第一部分为各工件的分批信息,它确定每种工件分多少批次,每个批次中工件有多少数量,将此部分的编码称为分批码;第二部分为工件各批次的加工顺序,称为工序码。此种编码方法为分段编码方法。对于有N种工件,第i种工件数量为Li,工序数为Ji,其分批码结构如下所示:用-1作为间隔符区分不同种类的工件,ai为工件i所分的批次,Pi(ai)为工件i的第ai批次中数量,Ki为工件i的分批码。工序码的结构如下所示:2,21,1……1,12,21,1……2,2(部分片段)其中工序码中每个代码(工件批次号)由两个数字组成,前数字表示工件种类,后数字表示工件批次,如2,2表示工件2的第二批次,2,1表示工件2的第一批次,相同数字出现的顺序代表工序顺序,如上述工序码中第一位上为2,2,第五位上也为2,2,则第一位上为工件2第二批次的第一工序,第五位上为工件2第二批次的第二工序。(1)分批码采用轮盘赌方法产生工件分批码,具体生成步骤如下:1)确定批次。分为以下两步:①在0~1之间随机产生一个数;②将此数乘以工件i的数量Li,进行向上取整操作,所得到的数即为工件i的批次,记为ai。2)确定批次中工件的数量。按比例对工件i的总数量进行分配,首先在0~1之间随机产生共ai个数,记为则工件i其第j分批数量Pij为:将所得结果四舍五入进行圆整。若所得批次中数量为0,则加1使此批次中数量为1,通过上述方法即可确定工件i各批次中工件的数量。通过上述方法即可确定工件i各批次中工件的数量。按比例分配四舍五入后,工件所有批次中的数量相加可能与原工件总数量不相等,此时需要进行如下方法的处理:Ⅰ、a:如果工件i所有批次中数量相加(记为:Qi)大于原工件数量(记为:Li),则将各批次按数量从小到大排列,将排在最后Qi-Li位的批次中工件数量都减去1。b:接着判断工件i中是否有批次其工件数量等于0,若为0,则加1使其批次中数量为1。c:重新返回步骤a。Ⅱ、如果工件i所有批次中数量相加(记为:Qi)小于原工件数量(记为:Li),则将各批次按数量从小到大排列,将排在前面Li-Qi位的批次中工件数量都加上1。3)确定工件i的分批码。首先生成长度为Li的零数列Ki,然后将工件i的各批次数量从左到右依次填入Ki数列中,此即为工件i的分批码。4)确定总分批码从工件1的分批码K1开始,将N种工件的分批码从左到右依次组合在一起,并在不同工件间添加-1作为分隔符以示区别,即得到总分批码。(2)工序码工序码依据分批码和工件的信息,采用基于工序的编码方法产生。1)对每个工件的批次依次进行工序码的产生。2)将各个工件批次生成的工序码依次组合在一起。3)对2)中所述工序码进行随机打乱,从而得到最终的工序码。步骤三、个体适应度计算计算个体适应度时,依据工件最早完工准则为各工件批次选择机器,计算时间,获得总完工时间,然后取总完工时间的倒数作为适应度值。显然完工时间越短,适应度值越高。步骤四、选择操作选择操作采用轮盘赌选择方法,选择概率依据个体的适应度大小而定。适应度越大的个体被选中的概率越大,适应度越小的个体被选中的概率越小,符合遗传算法“优胜劣汰,适者生存”的思想。步骤五、交叉操作对于柔性分批问题,交叉分为分批码交叉与工序码交叉。(1)分批码交叉分批码进行相同位置的多点交叉,交叉后需要进行工序码的修复。如果进行分批码交叉后工件批次增多,则在工序码中选择随机位置插入新增加工件的批次;如果进行分批码交叉后工件批次减少,则在工序码位置中选中减少的工件批次的位置,接着删除这些位置上的信息。(2)工序码交叉交叉操作都在染色体长度相同的情况下进行,但是柔性作业车间分批调度问题中,由于分批的不同会导致个体的工序码长度不同,这样被选中的两个个体难以实现交叉。如果工序码不交叉的话,那么不利于个体进化,影响寻优结果,因此从种群进化角度考虑,需要实现工序码的交叉。但是强行将不同长度的工序码进行交叉,不仅会导致交叉后工序码与对应的前段分批码的批次数,因此必须对交叉后的工序码进行修正。修正操作分两种情况:一种是交叉后工件批次增多,另一种交叉后工件批次减少。1)交叉后工件批次增多依据前段分批码中的工件批次信息,在工序码中找到增多的工件批次号,然后将此删除。2)交叉后工件批次减少依据前段分批码中的工件批次信息,在工序码中随机产生插入位置,然后插入所需要的工件批次号。附图2是以两点交叉为例的工序码修正过程示意图。通过以上操作,实现了不同长度的工序码交叉,并能得到合法的工序码子代。注:上述的修正方法适应于不同交叉操作得到的子本文档来自技高网
...
一种基于遗传算法的柔性作业车间分批调度方法

【技术保护点】
一种基于遗传算法的柔性作业车间分批调度方法,其特征在于具体操作步骤为:1)确定运行参数,2)初始种群生成,3)个体适应度计算,4)选择操作,5)交叉操作,6)变异操作,7)终止判别。

【技术特征摘要】
1.一种基于遗传算法的柔性作业车间分批调度方法,其特征在于具体操作步骤为:1)确定运行参数,2)初始种群生成,3)个体适应度计算,4)选择操作,5)交叉操作,6)变异操作,7)终止判别。2.根据权利要求1所述的一种基于遗传算法的柔性作业车间分批调度的方法,其特征在于:所述步骤1)中运行参数为种群规模M,交叉概率PC,变异概率PM和迭代次数T。3.根据权利要求1所述的一种基于遗传算法的柔性作业车间分批调度的方法,其特征在于:所述步骤2)中初始种群产生时使用分段编码方法得到分批码和工序码,产生个体,并且其中分批码使用轮盘赌方法来产生。4.根据权利要求1所述的一种基于遗传算法的柔性作业车间分批调度的方法,其特征在于:所述步骤3)中个体适应度计算时依据工件最早完工准则为各工件批次选择机器,计算时间,获得总完工时间,然后取总完工时间的倒数作为适应度值...

【专利技术属性】
技术研发人员:黄宗南张海水周帅贾亚飞
申请(专利权)人:上海大学
类型:发明
国别省市:上海,31

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

1