
1.1 进化类算法
自然界的生物体在遗传、选择和变异等一系列作用下,优胜劣汰,不断地由低级向高级进化和发展,人们将这种“适者生存”的进化规律的实质加以模式化,从而构成一种优化算法,即进化计算。进化计算是一系列的搜索技术,包括遗传算法、进化规划、进化策略等,它们在函数优化、模式识别、机器学习、神经网络训练、智能控制等众多领域都有着广泛的应用。其中,遗传算法是进化计算中具有普遍影响的模拟进化优化算法。
为了求解切比雪夫多项式问题,Rainer Storn和Kenneth Price根据这种进化思想提出了差分进化算法。它是一种采用实数编码、在连续空间中进行随机搜索、基于群体迭代的新兴进化算法,具有结构简单、性能高效的特点。而免疫算法是模仿生物免疫机制,结合基因的进化机理,人工地构造出的一种新型智能搜索算法。该算法具有一般免疫系统的特征,它采用群体搜索策略,通过迭代计算,最终以较大的概率得到问题的最优解,属于进化算法的变种算法。
遗传算法
遗传算法(Genetic Algorithm,GA)是模拟生物在自然环境中的遗传和进化过程,从而形成的自适应全局优化搜索算法。它起源于20世纪60年代人们对自然和人工自适应系统的研究,最早由美国J.H.Holland教授提出[3],并于80年代由D.J.Goldberg在一系列研究工作的基础上归纳总结而成。
遗传算法是通过模仿自然界生物进化机制而发展起来的随机全局搜索和优化方法。它借鉴了达尔文的进化论和孟德尔的遗传学说,使用“适者生存”的原则,本质上是一种并行、高效、全局搜索的方法;它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。
差分进化算法
差分进化(Differential Evolution,DE)算法最初用于解决切比雪夫多项式问题,后来发现该算法也是解决复杂优化问题的有效技术[4]。
差分进化算法是一种新兴的进化计算技术,它基于群体智能理论,是通过群体内个体间的合作与竞争产生的智能优化搜索算法。但相比于进化计算,差分进化算法保留了基于种群的全局搜索策略,采用实数编码、基于差分的简单变异操作和“一对一”的竞争生存策略,降低了进化计算的复杂性。同时,差分进化算法具有较强的全局收敛能力和鲁棒性(又称稳健性),且不需要借助问题的特征信息,适用于求解一些利用常规的数学规划方法很难求解甚至无法求解的复杂优化问题。
免疫算法
最早的免疫系统模型由Jerne于1973年提出[5],他基于Burnet的克隆选择学说,开创了独特型网络理论,给出了免疫系统的数学框架,并采用微分方程建模来仿真淋巴细胞的动态变化。Farmal等人于1986年基于免疫网络学说理论构造出免疫系统的动态模型,展示了免疫系统与其他人工智能方法相结合的可能性,开创了免疫系统研究的先河。
免疫算法(Immune Algorithm,IA)是模仿生物免疫机制,结合基因的进化机理,人工构造出的一种新型智能搜索算法。免疫算法具有一般免疫系统的特征,它采用群体搜索策略,通过迭代计算,最终以较大的概率得到问题的最优解。相比于其他算法,免疫算法克服了一般寻优过程中(特别是多峰值的寻优过程中)不可避免的“早熟”问题,可求得全局最优解,具有自适应性、随机性、并行性、全局收敛性、种群多样性等优点。