第1章进化算法简介
本书主要讨论进化算法(evolutionary algorithms,EAs)的时间复杂度分析方法。因此,本章将简述进化算法求解的问题类型、进化算法的概念,并介绍几类经典算法,让读者对进化算法有初步认识。由于进化算法所需的问题信息量少、求解速度快且鲁棒性高,所以它常被用于求解黑盒、大规模、带噪声等具有复杂特性的最优化问题。本章先在1.1节简述最优化问题,再在1.2节概述进化算法,接着在1.3节介绍部分经典的进化算法及其伪代码,最后在1.4节进行总结。
1.1最优化问题
最优化问题(optimization problem)是科学研究和实际生活中常常需要被解决的问题,包括生产调度、人工智能、物流运输、数据挖掘、经济管理、生物技术、网络通信等。一个最优化问题可以写成最小化问题或最大化问题。以最小化问题为例,其数学模型如式(1-1)所示
(1-1)
其中,X=(Xl, ,xn)表示一组决策变量。D是问题的解空间,X是D中的一个可行解。最小化问题是要在解空间中找到可行解X,使得目标函数值最小;相反地,最大化问题则是要在解空间中找到可行解X,使得目标函数值最大。
一般情况下,根据决策变量而的取值类型,可以将最优化问题分为连续优化问题和离散优化问题两个类别。若最优化问题的决策变量是连续变量,则该问题为连续优化问题;若最优化问题的决策变量均为离散变量,则该问题称为离散优化问题。在实际应用问题中,变量的类型是混合的,即有一部分是连续变量,有一部分是离散变量,因此该最优化问题同时具备连续优化问题和离散优化问题的特性。在连续优化问题中,各个决策变量可能是独立的,也可能是互相关联和互相影响的。由于决策变量是连续值,无法通过穷举每个变量的取值求得最优解。一般情况下,需要借助最优化算法对问题进行求解。离散优化问题主要分为两个类别:①组合优化,其目标是从一个有限集合中找出使得目标函数最优的解;②整数规划,决策变量为整数。最优化问题的求解难度往往随着问题规模增大而大幅增加,使得最优化算法的计算时间呈指数增长,达到上千年甚至上万年(以每秒计算万亿次进行估计)。为了能够在可接受的计算时间内去寻找最优化问题的较优解,学者们基于“优胜劣汰、适者生存”的自然法则设计了一类求解算法,获得了较为满意的结果,这类求解算法称之为进化算法W。
1.2进化算法的概述
进化算法通常采用启发式的随机搜索方法在全局决策空间中进行局部搜索。与传统的最优化算法不同的是,进化算法在求解的过程中不需要严格的数学推导,能够在可接受的时间范围内找到全局最优解或者可行解。进化算法具有自适应性和通用性,主要是因为这类算法不依赖问题的特征。进化算法主要以群体为单位进行搜索,利用搜索信息减少了多余或重复的计算代价,将算力投入到更可能存在最优解的区域中,非常适合用于求解大规模问题以及NP难问题。进化算法的鲁棒性极强,具有良好的容错性,能够在不同的初始化环境下搜索和寻找问题的最优解。
进化算法是一种模拟生物进化和群体智能来解决各类最优化问题的智能算法,通过对群体的交叉、变异等操作产生新的个体,并通过评估选取更优的后代个体。进化算法通过多次迭代来得到最优解,而不仅仅依赖于问题的具体形式。随着工程实际问题变得越来越复杂,传统的精确算法往往具有指数级别的计算复杂性。为了在求解时间和求解精度上取得平衡,学者们提出不同的进化算法,如遗传算法(genetic algorithm,GA)、分布估计算法(estimation of distribution algorithm,EDA)、粒子群优化(particle swarm optimization,PSO)算法、进化规划(evolutionary programming,EP)算法、蚁群优化(ant colony optimization,ACO)算法、Memetic算法、差分进化(differential evolution,DE)算法等。随着进化算法在求解各类复杂最优化问题中发挥日益显著的作用,对进化算法的理论分析也显得愈发重要。进化算法的理论基础主要包括数学基础、生物基础和群体智能基础等,其中数学基础包括Markov过程、统计学习过程、随机过程、稳定性和收敛性等;生物基础包括优胜劣汰、适者生存、自然选择、生物进化、遗传规律等;群体智能基础包括个体竞争机制、群体优化机制、群体协作机制、个体优化机制等。
1.3常用进化算法
我们对进化算法的发展历程进行了总结,如图1-1所示。可以看到,进化算法日渐多样化,对每一种进化算法都进行介绍较为困难。因此,我们仅介绍其中较为常用的6种进化算法,包括遗传算法分布估计算法W、粒子群优化算法W、蚁群优化算法、Memetic算法和差分进化算法。本节主要介绍这6种进化算法的原理、伪代码及其适用求解的问题。
1.3.1遗传算法
遗传算法模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程,通过模拟自然优胜劣汰的现象,釆用染色体来表示问题的解,然后通过交叉、变异、选择等操作算子来生成下一代种群。通常,每次生成的新种群较上一代种群更优秀,并通过不断地进化,解的质量越来越好。遗传算法的伪代码如算法1-1所示。
由于遗传算法的整体搜索策略和优化搜索方式在计算时不依赖于梯度信息或其他辅助知识,只需要计算影响搜索方向的目标函数和相应的适应度(又称适应值)函数,所以遗传算法提供了一种求解复杂系统问题的通用框架。由于它通过目标函数计算适应度,不需要附加信息,所以遗传算法对问题依赖性小,能广泛应用于各种领域,包括函数优化、组合优化、生产调度问题、自动控制、图像处理(如图像恢复、图像边缘特征提取等)、遗传编程、机器学习。
1.3.2分布估计算法
分布估计算法是一种基于统计学习理论的群体进化算法,通过建立概率模型描述候选解在搜索空间的分布信息,采用统计学习手段从群体宏观的角度建立一个描述解分布的概率模型,然后对概率模型随机采样产生新的种群,如此反复实现种群的进化。因此,分布估计算法属于一种基于统计学原理的随机优化算法。遗传算法采用基于基因的微观层面的模拟进化方式,而分布估计算法采用基于搜索空间的宏观层面的进化方法,具备更强的全局搜索能力和更快的收敛速率。分布估计算法的伪代码如算法1-2所示。
分布估计算法的重要组成部分是概率模型,针对不同类型的优化问题需要设计不同的概率模型来描述解空间的分布。一个合适的概率模型可以很好地描述变量之间的相互关系。因此,分布估计算法在解决非线性和变量耦合的优化问题时,能够利用问题的结构信息产生更好的个体。分布估计算法通常用于求解函数优化、组合优化、生物信息学、多目标优化、机器学习等应用问题。分布估计算法可以有效地解决大规模问题,降低时间复杂度。与其他进化算法相比,分布估计算法基于群体的宏观进化方式使其可以利用解空间的全局信息和进化过程中的历史信息,具有更强的全局搜索能力和更快的收敛速率。分布估计算法简单、易于实现,
1.3常用进化算法
尤其是其对解空间的分布进行估计并采样产生新个体的方法,更容易使其作为一种手段和框架与其他算法混合,增强寻优性能。
1.3.3粒子群优化算法
粒子群优化算法是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。粒子群优化算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有速度和位置两个属性:速度代表移动的快慢,位置代表移动的方向。每个粒子在搜索空间中单独地搜寻最优解并将其记为当前个体极值,个体极值与整个粒子群里的其他粒子共享,令最优的个体极值作为整个粒子群的当前全局最优解,粒子群中的所有粒子根据自己找到的当前个体极值和整个粒子群共享的当前全局最优解来调整自己的速度和位置。粒子群优化算法的伪代码如算法1-3所示。
粒子群优化算法不依赖于问题信息,直接以目标函数值作为搜索信息,具有记忆功能,保留局部个体和全局种群的最优信息。粒子群优化算法通过协同搜索,同时利用个体局部信息与群体全局信息,原理简单,容易实现,计算效率高。粒子群优化算法没有交叉变异运算,依靠粒子速度完成搜索且在迭代进化中只有最优的粒子把信息传递给其他粒子,搜索速度快。粒子群优化算法需要调整的参数较少,结构简单,易于工程实现;采用实数编码,直接由问题的解决定,问题解的变量直接作为粒子的维度。但是,粒子群优化算法缺乏速度的动态调节,容易陷入局部最优,导致收敛精度低和不易收敛。
1.3.4蚁群优化算法
蚁群优化算法是一种用来寻找优化路径的概率型算法,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。用蚂蚁的行走路径表示待优化问题的可行解,整个蚂蚁群体的所有路径构成待优化问题的解空间。蚂蚁会在其经过的路径上释放一种名为信息素的物质,蚁群内的蚂蚁对信息素具有感知能力,它们会沿着信息素浓度较高的路径行走,而每只路过的蚂蚁都会在路上留下信息素,这就形成一种类似正反馈的机制。较短的路径上蚂蚁释放的信息素量较多,随着时间的推进,较短的路径上累积的信息素浓度逐渐增高,选择该路径的蚂蚁数量也越来越多。最终,整个蚁群会在正反馈的作用下集中到最佳的路径上,此时对应的便是待优化问题的最优解。经过一段时间后,整个蚁群就会沿着最短路径到达食物源了。蚁群优化算法的伪代码如算法1-4所示。
蚁群优化算法采用正反馈机制,使得搜索过程不断收敛,最终逼近最优解。每个个体可以通过释放信息素来改变周围的环境,且每个个体能够感知周围环境的实时变化,个体间通过环境进行间接的通信。搜索过程采用分布式计算方式,多个个体并行计算,大大提高了算法的计算能力和运行效率。启发式的概率搜索方式不容易陷入局部最优,易于寻找到全局最优解。蚁群优化算法一般应用于各类组合优化问题,如旅行商问题、指派问题、生产调度问题、车辆路径问题、图着色问题和网络路由问题等。最近几年,蚁群优化算法在网络路由中的应用受到越来越多学者的关注。一些基于蚁群优化算法的路由算法陆续被提出。同传统的路由算法相比,该类算法具有信息分布式性、动态性、随机性和异步性等特点,而这些特点正好能满足网络路由的需要。
1.3.5Memetic算法……
温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录