基于遗传算法的解决柔性作业车间调度问题的控制方法技术

技术编号:15790908 阅读:290 留言:0更新日期:2017-07-09 20:08
本发明专利技术是一种基于遗传算法的解决柔性作业车间调度问题的控制方法,分为编码和解码、产生初始种群、交叉、变异、适应度计算和选择六个部分。本发明专利技术采用分段编码法,染色体编码分为机器选择部分和工序选择部分,解码是按一定的方式解码染色体以获得相应的加工工序及其对应的加工机器;采用多种搜索方式相结合的方式生成初始种群;适应度计算要解决的是如何求出某个合法调度的执行时间并判断该调度的质量。本发明专利技术提出的控制方法不仅在求解质量上具有很大的优势,在提高求解速度、处理大规模的柔性作业车间调度问题也具有同样优异的性能。

【技术实现步骤摘要】
基于遗传算法的解决柔性作业车间调度问题的控制方法
本专利技术涉及一种基于遗传算法的解决柔性作业车间调度问题(FJSSP)的控制方法,属于数控加工领域。
技术介绍
随着工业4.0时代的到来,电子商务在全球范围内持续繁荣,客户的需求日趋个性化,产品周期缩短,交货期缩短,产品种类增加的更繁多,快速定制化将是一个大的发展趋势。如何最大限度地精确估计产品的交货期,最大效率地利用生产资料无疑就成了一个非常重要的课题。为了解决上述问题,通过研究解决FJSSP的高效控制方法来提高生产计划的质量无疑具有重大的意义。由于流程工业生产计划与调度问题具有大规模、多目标、复杂约束和动态不确定等特征,常规的建模和优化方法难以直接运用,而采用人工调度方法又难以实现资源合理调配和作业优化排序。上述解决方案不仅求解耗时时间长,求解质量也不是那么理想,而在处理大规模的FJSSP时就更显得力不从心了,因此,探讨适合流程工业生产计划与调度的建模优化和有效的求解方法成为亟待解决的关键理论问题。
技术实现思路
针对现有方法中存在的上述不足,本专利技术要解决的技术问题是提供一种基于遗传算法的解决柔性作业车间调度问题的控制方法,可以提高FJSSP的求解质量,大幅缩短求解FJSSP所耗费的时间,当FJSSP规模较大时仍可以获得不错的求解性能。本专利技术为实现上述目的所采用的技术方案是:一种基于遗传算法的解决柔性作业车间调度问题的控制方法,包括以下步骤:根据FJSSP的原理并结合遗传算法的原理对FJSSP进行数学建模;采用间接编码的方式对染色体的机器选择部分和工序选择部分进行编码;应用多种搜索方式相结合的方式生成初始种群;对种群中的个体进行遗传重组并计算个体的适应度;根据种群中个体的适应度来筛选下一代的个体;不断进化种群直至种群中某个个体的适应度的值符合要求或程序运行达到指定的时间,最终获得一个最优的调度结果并用甘特图和文本两种方式来展示详细的调度信息。所述数学建模得到的模型为:一个二维数组存储每道工序可选加工机器以及用该机器加工该工序的加工时间,其中每道工序对应于该二维数组中的一个一维数组,所有工件的所有工序的数量之和对应于该二维数组中的一维数组的个数,某个一维数组表示某个工件的某一道工序的可选机器集及其加工时间,该一维数组的下标表示机器号,用下标对应的该一维数组元素中的值表示该下标对应的机器加工该道工序的加工时间。所述对染色体的机器选择部分进行编码,具体为:某工件在工序选择部分序列中第几次出现就代表了该工件的第几道工序。所述对染色体的工序选择部分进行编码,具体为:机器选择部分存储的数值是某个工序的可选机器集中的第几台机器。所述多种搜索方式相结合的方式产生初始种群,具体为:运用全局搜索、局部搜索和随机搜索的方式按一定的比例来生成具有基因多样性的初始种群。所述遗传重组的方法,具体为:分别针对机器选择部分序列和工序选择部分序列的特性进行交叉变异,对机器选择部分序列采用两点交叉和单点变异操作,对工序选择部分序列采用顺序交叉和逆转变异操作。所述计算个体的适应度,具体为:按工序选择部分的编码顺序模拟FJSSP执行过程,由工序选择部分的执行位置获得工件的工件号和工序号,然后经由哈希表获得其在机器选择部分和机器加工时间二维数组中的位置,更新工序的加工开始和结束时间、机器的最近空闲时间和最大完工时间,直至工序选择部分中的所有工序被加工完毕,最终获得完FJSSP所需的最大完工时间。所述根据种群中个体的适应度来筛选下一代的个体,具体为:根据子代和父代个体的适应度的值,采用轮盘赌和精英策略相结合的方式来选择若干个适应度值较大的个体组成下一代的种群。本专利技术具有以下优点及有益效果:1.求解质量好。本专利技术方法采用多种搜索方式相结合的方法来产生初始解,保证了初始解具有较高的质量和种群的基因多样性,为进化出优秀的个体创造出了有利的条件,本专利技术所求的解决方案和文献记载的最优秀的数据相比具有相当优异的性能。2.求解耗时时间短。本专利技术方法采用多种搜索方式以一定比例结合的方式来生成初始种群,全局搜索和局部搜索产生的个体是比较优秀的,进化较少的代数就可以获得想要的结果,大幅降低了求解耗时时间,这也是本专利技术的一个显著的特色。3.可扩展性强。实验表明,本专利技术方法不仅在处理经典的标准测试用例时具有优异的性能,在处理大规模的测试用例时依然能在耗时比较短的情况下取得令人满意的求解质量。附图说明图1为本专利技术方法的流程图;图2为本专利技术方法的加工信息描述图;图3为染色体的结构图;图4为MS的交叉操作图;图5为MS的变异操作图;图6为OS的交叉操作图;图7为OS的变异操作图;图8为测试用例的实验结果;图9为经典测试用例mk01的调度效果图。具体实施方式下面结合附图及实施例对本专利技术做进一步的详细说明。实施例:将本专利技术方法在PC上进行仿真验证,所用的编程软件为EclipseLuna,使用Java语言编写程序。测试环境的主要技术参数如下:操作系统:MicrosoftWindows7CPU:IntelCorei5主频:2.65GHz内存:4G遗传算法解决柔性作业车间调度问题的控制方法的参数如下:交叉率:0.90变异率:0.10生成初始种群所采用的搜索方法的比率:全局搜索、局部搜索和随机搜索分别为60%、30%和10%种群规模:100迭代次数:200求平均值连续运行次数:20测试用例:Brandimarte设计的10种不同规格的测试用例首先,根据FJSSP的原理并结合遗传算法的原理,在深入理解FJSSP问题和遗传算法的前提下对FJSSP进行数学建模,这是本专利技术的最核心的一部分,因为没有合适的模型一切都是无稽之谈。本专利技术用二维数组proDesMatrix[][]表示每道工序可选加工机器以及用该机器加工该工序的加工时间,具体是每道工序对应于proDesMatrix[][]中的一个一维数组,所有工件的所有工序的数量之和对应于proDesMatrix[][]中一维数组的个数,某个一维数组表示某个工件的某一道工序的可选机器集,用该一维数组的index表示机器号,用index对应的该一维数组元素中的值表示某index对应的机器加工该道工序所花费的时间。考虑到理论上的正确性和工程上的可行性,本专利技术采用间接编码的方式对染色体的机器选择部分(MS)和工序选择部分(OS)进行编码,方便了后续的交叉和变异操作。设所有工件的所有工序的数量之和为N,染色体序列的长度为2*N,MS和OS均采用间接编码的方式来实现,假设用i表示某个工件的序号,则i在OS中第几次出现就代表是该工件i的第几道工序。MS中元素的数值表示某工件的某道工序所对应的在可选机器集中的第几台机器,就像问题建模中所描述的,MS中的数值表示的是按先后顺序从第一个工件的第一道工序开始至最后一个工件的最后一个工件结束所选择的在可选机器集中的第几台机器,所以OS和MS就这样对应起来了,具体实现时考虑到效率问题会将OS中某个元素所对应的某一个工件的某一道工序在MS中的位置和在proDesMatrix[][]中的位置用一个哈希表一一对应起来,从而大幅减少查找时间。对染色体的解码过程是这样的,从左到至右遍历OS序列,由OS序列确定其工件号和工序号,然后由其工件号和工序号经由哈希表确本文档来自技高网...
基于遗传算法的解决柔性作业车间调度问题的控制方法

【技术保护点】
一种基于遗传算法的解决柔性作业车间调度问题的控制方法,其特征在于,包括以下步骤:根据FJSSP的原理并结合遗传算法的原理对FJSSP进行数学建模;采用间接编码的方式对染色体的机器选择部分和工序选择部分进行编码;应用多种搜索方式相结合的方式生成初始种群;对种群中的个体进行遗传重组并计算个体的适应度;根据种群中个体的适应度来筛选下一代的个体;不断进化种群直至种群中某个个体的适应度的值符合要求或程序运行达到指定的时间,最终获得一个最优的调度结果并用甘特图和文本两种方式来展示详细的调度信息。

【技术特征摘要】
1.一种基于遗传算法的解决柔性作业车间调度问题的控制方法,其特征在于,包括以下步骤:根据FJSSP的原理并结合遗传算法的原理对FJSSP进行数学建模;采用间接编码的方式对染色体的机器选择部分和工序选择部分进行编码;应用多种搜索方式相结合的方式生成初始种群;对种群中的个体进行遗传重组并计算个体的适应度;根据种群中个体的适应度来筛选下一代的个体;不断进化种群直至种群中某个个体的适应度的值符合要求或程序运行达到指定的时间,最终获得一个最优的调度结果并用甘特图和文本两种方式来展示详细的调度信息。2.根据权利要求1所述的基于遗传算法的解决柔性作业车间调度问题的控制方法,其特征在于,所述数学建模得到的模型为:一个二维数组存储每道工序可选加工机器以及用该机器加工该工序的加工时间,其中每道工序对应于该二维数组中的一个一维数组,所有工件的所有工序的数量之和对应于该二维数组中的一维数组的个数,某个一维数组表示某个工件的某一道工序的可选机器集及其加工时间,该一维数组的下标表示机器号,用下标对应的该一维数组元素中的值表示该下标对应的机器加工该道工序的加工时间。3.根据权利要求1所述的基于遗传算法的解决柔性作业车间调度问题的控制方法,其特征在于,所述对染色体的机器选择部分进行编码,具体为:某工件在工序选择部分序列中第几次出现就代表了该工件的第几道工序。4.根据权利要求1所述的基于遗传算法的解决柔性作业车间调度问题的控制方法,其特征在于,所述对染色体的工序选择...

【专利技术属性】
技术研发人员:马跃胡毅张腾飞安涛王帅郭安
申请(专利权)人:中国科学院沈阳计算技术研究所有限公司
类型:发明
国别省市:辽宁,21

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

1