论文部分内容阅读
装配序列规划是产品装配规划的重要内容,序列好坏将直接影响产品的可装配性和装配质量。20世纪90年代以来,国内外诸多学者基于遗传算法来解决装配序列规划问题,但多见于线性序列规划。而遗传编程是遗传算法的发展算法,因其个体编码采用了层次结构从而本质上区别于遗传算法,其为有效解决并行装配序列规划问题提供了新的途径。同时,有序二叉决策图(Ordinary Binary Decision Diagrams,简称OBDD)可以有效地缓解问题处理过程中状态组合爆炸问题,对遗传编程个体存在着改进与优化的可能。 针对上述问题,本文对装配序列规划、遗传编程和OBDD三者主要内容和相互关系进行了分析,开展了相关方法和技术与应用问题领域结合的研究。论文取得的主要工作进展如下: (1)成功使用遗传编程方法来解决并行装配序列规划问题。通过对传统的遗传编程算法进行改进,删除了遗传编程符号集内容,保留了终端集;并对遗传编程有关算子及参数进行设计与改进,使算法最终能够处理并行装配序列规划问题。该方法使用树型解结构代替串型解结构,转变了装配方式,提高了零件的装配效率和自动化装配水平。此外,还提出了一种新的装配适应度衡量因子—“装配总重”,结合其他传统适应度衡量因子,共同评判装配解的优劣。 (2)在遗传编程初始化算子基础上,加入了启发式权重信息和基于无向图的广度优先搜索策略,保证了个体的可行度和高适应度,加快了算法逼近全局最优解的能力。并基于以上理论开发了实验程序,利用C++语言在Visual C++6.0环境下完成了基于遗传编程(Genetic Programming,简称GP)解决装配序列规划(assembly sequence planning,简称ASP)问题的软件的设计与实现,并得到实验数据。 (3)对国外学者就GP个体提出的“内含子”、语义等价等相关概念、以及语义驱动交叉算子(Semantically Driven Crossover,简称SDC)和语义驱动变异算子(Semantically Driven Mutation,简称SDM)进行了深入分析;在此基础上,对“内含子”的分类和影响进行了总结概括。详细阐述了个体通过 OBDD消除个体“内含子”的操作原理及如何实现个体语义等价评判。最后还对 GP处理 ASP问题领域中个体可能出现的语义等价情况进行了简要分析。 以上研究成果证明了遗传编程方法处理并行装配序列规划问题的可行性和优势性。且遗传编程在针对处理不同问题领域的特点时,具有丰富的可塑性;通过加入适当的启发式算子或对相关算子进行改进,从而提高了遗传编程的求解效率。OBDD技术与遗传编程的结合即是很好的证明。