论文部分内容阅读
随着科技的发展,智能算法的研究飞速发展起来.由于智能算法大多是模拟了自然过程,因此或多或少存在一些缺陷.为了提升其性能,取长补短,很多混合算法应运而生.将遗传算法与传统算法相结合构造的混合算法就是其中的一种.L-M(Levenberg-Marquardt)算法是一种解优化问题的传统算法,它的结构简单,适用范围广,一些学者用它构造混合遗传算法,求解非线性方程组和函数优化问题.而互补问题作为一种优化问题,可以转化为非线性方程组,进而转化为优化问题.因此本文主要针对解互补问题研究如何用L-M算法改进遗传算法.第1章介绍互补问题的算法研究历程和遗传算法的改进方向.第2章介绍互补问题进行等价转化的方法,以及遗传算法和L-M算法的运算流程.第3章至第5章主要结合线性互补问题和水平线性互补问题的六个算例,分别用遗传算法、L-M算法以及利用L-M算法改进后的遗传算法进行数值实验,并选用其中三个不同类型的算例详细介绍了精确解的求解过程和转化为等价的非线性方程组的过程.第3章借助谢菲尔德(Sheffield)遗传算法工具箱,将求最值的通用遗传算法简化为求最小值的遗传算法,并进行数值实验,使得计算结果精度更高.第4章根据互补问题的类型对通用的L-M算法中Jacobian矩阵的计算方法进行修改,然后分别选取不同的初始值进行数值实验,体现了初始值的选取对L-M算法迭代次数的影响.第5章将L-M算法引入遗传算法中,采用两种方法对遗传算法进行改进.一种方法是在变异操作之后引入L-M算法对种群个体进行优化,将文献[1]中对变异后产生的种群进行部分优化替换,修改为全部优化替换;另一种方法是在遗传算法迭代一定次数后,得到的结果作为初始值,将文献[2]中采用非线性寻优的方法进行局部寻优,修改为采用L-M算法进行局部寻优.数值实验结果表明,两种对遗传算法的改进方法均是有效的.改进后的遗传算法在种群规模和迭代次数上相应地进行了缩减,既克服了L-M算法初始值选取困难的缺点,也加快了遗传算法的收敛速度,同时计算结果的精度也得到了提高.通过对比分析发现,第一种改进方法比第二种改进方法适用范围更广泛.不论维数高低,矩阵是否稀疏,要得到精度较高的计算结果,都可以采用第一种改进方法.而对于水平线性互补问题的求解,第二种改进方法比第一种改进方法运算效率高.第6章对前面的实验结果进行总结,给出了改进后的遗传算法的适用范围以及改进方向.