
第2章 遗传算法
2.1 引言
前已述及,遗传算法(Genetic Algorithm,GA)是模拟生物在自然环境中的遗传和进化的过程,从而形成的自适应全局优化搜索算法。它借用了生物遗传学的观点,通过自然选择、遗传和变异等作用机制,实现各个个体适应性的提高。遗传算法最早由美国的J.H.Holland教授提出[1],起源于20世纪60年代人们对自然和人工自适应系统的研究;70年代,K.A.De Jong基于遗传算法的思想,在计算机上进行了大量的纯数值函数优化计算试验[2];80年代,遗传算法由D.E.Goldberg在一系列研究工作的基础上归纳总结而成[3]。
20世纪90年代以后,遗传算法作为一种高效、实用、鲁棒性强的优化技术,发展极为迅速,在机器学习、模式识别、神经网络、控制系统优化及社会科学等不同领域得到广泛应用,引起了许多学者的广泛关注。进入21世纪,以不确定性、非线性、时间不可逆为内涵的复杂性科学成为一个研究热点。遗传算法因能有效地求解NP(Non-deterministic Polynomial)问题以及非线性、多峰函数优化和多目标优化问题,得到了众多学科学者的高度重视,同时这也极大地推动了遗传算法理论研究和实际应用的不断深入与发展。目前,在世界范围内已掀起关于遗传算法的研究与应用热潮[4-6]。
遗传算法借鉴了达尔文的进化论和孟德尔的遗传学说。其本质是一种并行、高效、全局搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。遗传算法操作:使用“适者生存”的原则,在潜在的解决方案种群中逐次产生一个近似最优的方案。在遗传算法的每一代中,根据个体在问题域中的适应度值和从自然遗传学中借鉴来的再造方法进行个体选择,产生一个新的近似解。这个过程导致种群中个体的进化,得到的新个体比原个体更能适应环境,就像自然界中的改造一样[7]。
同传统的优化算法相比,遗传算法具有对参数的编码进行操作、不需要推导和附加信息、寻优规则非确定性、自组织性、自适应性和自学习性等特点。当染色体结合时,双亲的遗传基因的结合使得子女保持父母的特征;当染色体结合后,随机的变异会造成子代同父代的不同。