论文部分内容阅读
遗传算法是一种借鉴生物界自然选择和遗传机制的高度并行、随机、自适应的全局优化概率搜索算法。国内外都非常重视遗传算法的理论和应用研究,并取得了令人瞩目的进展。但遗传算法的理论和方法尚未成熟,算法自身的一些不足也有待于进一步地改进和完善,而函数优化问题是对遗传算法进行性能评价的常用算例。在遗传算法进行函数优化的过程中,不断出现个体重复现象,重复概率与参数设置有关。大量的重复个体参与每一代的遗传进化,在计算每个个体的适应度时,相同个体,相同的操作,相同的计算结果,消耗了大量的程序运行时间,提高了程序的时间复杂度,针对这个现象,本文提出了一种新的算法——记忆遗传算法。该算法创设了遗传个体库的概念,遗传个体库中保存个体的编码和适应度信息,这种改进方法避免了相同个体适应度的重复计算,可以大大节省适应度评估的时间,从而获得较快的收敛速度,改进了算法的性能。研究工作从对简单一元函数、二元多峰函数和单峰函数的迭代过程深入细致的探究开展,选择了一些典型的复杂函数进行仿真测试,通过和其它方法比较,证明本文提出的记忆遗传算法能有效加快算法的收敛速度,从而改进了算法的性能。本文对遗传算法的主要改进及工作如下:1.遗传算法模拟了自然选择和遗传中发生的复制、交叉和变异等现象,从任一初始种群出发,通过随机选择、交叉和变异操作,产生一群更适应环境的个体。本文首先通过对一个函数的优化详细介绍了遗传算法的实际工作过程,在这过程中发现了个体的重复现象;然后通过一个简单一元函数具体分析了遗传算法过程中种群个体的重复现象,包括哪些参数的设置会影响重复率,对这些现象的研究为本课题的提出提供了事实依据。2.根据标准遗传算法的运算流程,在每一代每一个体执行选择、交叉和变异操作之前,均要进行适应度值的计算。针对遗传算法过程中个体的重复现象,本文提出了遗传个体库的概念。个体库中保存个体的编码和适应度值信息,产生的新个体在执行选择、交叉和变异操作之前先与个体库中已存有的个体编码信息进行比对,如果个体库中已有相同个体的编码信息,则直接将对应的适应度值取出,避免了相同个体适应度值的重复计算,加快了运行速度,改进了算法性能。3.为了测试本文提出的改进是否有效和是否具有一定的通用性,选择了多个测试函数,并采用多种算法进行了测试,通过大量的实验及对实验结果的分析与比较,给出了结论。最后,通过对研究工作的总结,指出本文改进算法的优点与不足,为遗传算法的进一步研究提供一定的参考价值。