前言
?
鉴于真实世界中优化问题的高度复杂性,采用传统或者确定性的优化方法通常难以求解这些问题。在许多真实世界中的优化问题中,人们能够接受近似最优解,而无需精确解。因此,人们需要一类稳健的算法。这类算法并不依赖于优化问题的特定特征,从而能够应用于各种各样的问题。进化计算和基于群体智能的优化算法恰好满足这一需求。群体智能和进化算法是一类随机算法,针对传统优化方法不易处理的某些优化问题,它们通常非常有效。然而,我们必须强调的是,这并不是说这些算法能够提供一套 万能良药。事实上,由于搜索过程的随机属性,除非人们特别谨慎地开展实验,否则可复现性总是一项极具挑战的问题。此外,这些算法的计算开销往往也非常巨大。如果人们很容易分析解的特征,并采用传统优化方法求解某个问题,那么,我们的建议就是,不必使用群体智能或进化算法来解决该问题。
?
本书详细描述了群体智能和进化计算领域中若干算法的研究现状和工作过程。全书共包含 9 章,涉及各种群体智能算法、进化算法及其最新应用领域。从 群体智能和进化计算 到 蜘蛛猴优化算法 的章节介绍群体智能;遗传算法及其在模因计算中的进展 和 约束多目标进化算法 章节重点介绍遗传算法和进化多目标优化;而 遗传编程求解分类和特征选择 到 进化模糊系统:以入侵检测系统为例 聚焦遗传编程。
?
群体智能和进化计算 一章详细介绍了两大类算法:群体智能和进化计算,还对这两类算法家族进行了比较和讨论,并阐述了它们的优势和局限性。粒子群优化 一章介绍了一种最重要的基于群体智能的算法:粒子群优化 (Particle Swarm Optimization,PSO)。除了其工作机制之外,本章还解释了粒子群优化的更新方程中各项的作用。人工蜂群 (Artificial Bee Colony,ABC) 优化算法是群体智能家族中另一种非常流行的算法,并在 人工蜂群算法变体及其在颜色映射量化中的应用 一章中进行了讨论。本章详细介绍了适用于约束优化、多目标优化以及组合优化问题的人工蜂群算法,并将该算法应用于颜色映射量化问题中。蜘蛛猴优化算法 一章则介绍了蜘蛛猴优化 (Spider Monkey Optimization,SMO),它是群体智能家族中一种相对较新的算法。蜘蛛猴优化是一种基于裂变-融合社会结构的优化算法。本章通过数值实例,解释了此算法动机以及详细的工作机制。
?
遗传算法及其在模因计算中的进展 一章讨论遗传算法,特别是基于模因的遗传算法。作者首先将模因视为一种局部搜索过程或个体学习过程,其强度可由理论推导的上界加以控制。然后,他们又将模因视为结构化知识的积木块,能够在不同问题实例间学习与迁移,从而实现更高效的搜索。最后,将基于模因的遗传算法应用于求解 NP 难的容量受限弧路径问题。本章还简要讨论了进化双层优化问题。约束多目标进化算法 一章讨论了专门为处理约束而设计的进化多目标优化 (Evolutionary MultiObjective Optimization,EMO) 算法。作者还讨论了一些数值测试问题以及涉及约束的工程设计问题,并提出了进化多目标优化领域未来的研究方向。
?
剩余三章涵盖遗传编程的不同方面。遗传编程求解分类和特征选择 一章重点介绍遗传编程 (Genetic Programming,GP),给出基于遗传编程的二分类策略的朴素模型,并讨论了遗传编程在求解分类和特征选择时的若干重要问题。在 遗传编程求解车间作业调度 一章中,作者呈现了遗传编程的一项有趣应用:车间作业调度 (Job Shop Scheduling,JSS),它是运筹学领域的难题之一。本章还要综述了车间作业调度中的调度规则的相关研究,并提出了遗传编程求解车间作业调度问题时的改进思路。进化模糊系统:以入侵检测系统为例 一章详细介绍了进化模糊系统在入侵检测系统中的应用。进化模糊系统是遗传模糊系统的一种推广。除了对进化模糊系统进行系统分类之外,本章还非常详细地解释了生成进化模糊系统所需的每一步骤。最后,提出了在入侵检测系统中的应用实例。
?
Jagdish Chand Bansal(印度新德里)
?
Pramod Kumar Singh(印度瓜里尔)
?
Nikhil R. Pal(印度加尔各答)
?
V
?
VI
目录
?
第 1 章 群体智能和进化计算
?
1.1 群体智能
?
1.1.1 自组织
?
1.1.2 劳动分工
?
1.2 进化计算
?
1.2.1 进化计算的成员
?
1.3 讨论
?
1.4 结束语
?
参考文献
?
第 2 章 粒子群优化
?
2.1 粒子群优化
?
2.1.1 动机
?
2.1.2 粒子群优化过程
?
2.1.3 理解更新公式
?
2.2 粒子群优化的参数
?
2.3 计算范例
?
参考文献
?
第 3 章 人工蜂群算法变体及其在颜色映射量化中的应用
?
3.1 引言
?
3.2 人工蜂群算法
?
3.2.1 单目标约束优化的人工蜂群算法
?
3.2.2 多目标优化人工蜂群算法
?
3.2.3 组合优化的人工蜂群算法
?
3.3 人工蜂群算法在颜色映射量化中的应用
?
3.3.1 实验
?
3.4 结论
?
参考文献
?
第 4 章 蜘蛛猴优化算法
?
4.1 蜘蛛猴优化
?
4.1.1 动机
?
4.1.2 蜘蛛猴优化过程
?
4.2 蜘蛛猴优化算法分析
?
4.3 蜘蛛猴优化算法的参数
?
4.4 蜘蛛猴优化算法的性能分析
?
4.5 一个求解案例
?
4.6 结论
?
参考文献
?
第 5 章 遗传算法及其在模因计算中的进展
?
5.1 引言
?
5.2 预备知识
?
5.2.1 遗传算法
?
5.2.2 模因算法
?
5.2.3 模因计算
?
5.3 概率模因算法
?
5.3.1 局部搜索的理论上界
?
5.3.2 局部搜索上界的估计
?
5.4 模因中心的搜索计算范式
?
5.4.1 作为任务分配指令的模因
?
5.4.2 已识别模因的学习与选择
?
5.5 案例研究
?
5.5.1 容量受限弧路径问题
?
5.5.2 实验配置
?
5.5.3 实验结果
?
5.6 进化双层优化中可迁移模因
?
5.7 结论
?
参考文献
?
第 6 章 约束多目标进化算法
?
6.1 引言
?
6.2 进化多目标优化
?
6.2.1 进化多目标优化算法
?
6.3 约束进化多目标优化算法
?
6.3.1 惩罚函数方法
?
6.3.2 Deb 的无参数方法
?
6.3.3 Fonseca 和 Fleming 的方法
?
6.4 约束多目标测试问题
?
6.4.1 典型的两目标问题
?
6.4.2 两目标 CTP 问题
?
6.4.3 可扩展的约束测试问题生成器
?
6.4.4 基于约束面概念的可扩展约束 DTLZ 问题
?
6.4.5 超多目标优化的约束测试问题
?
6.4.6 其他约束问题
?
6.5 约束进化多目标优化的未来研究方向
?
6.6 结论
?
参考文献
?
第 7 章 遗传编程求解分类和特征选择
?
7.1 引言
?
7.1.1 遗传编程的提出
?
7.1.2 遗传编程:一种特殊的编码方案
?
7.1.3 分类和特征选择
?
7.1.4 遗传编程求解分类和特征选择:一个简单实例
?
7.2 遗传编程求解分类和特征选择
?
7.2.1 基于遗传编程的方法求解特征选择和分类
?
7.2.2 遗传编程求解多树分类器
?
7.2.3 遗传编程同步求解特征选择和分类器设计
?
7.2.4 基于多目标遗传编程的集成方法求解特征选择和分类
?
7.3 讨论
?
7.3.1 遗传编程求解分类和特征选择
?
7.3.2 参数依赖性
?
7.4 结论
?
参考文献
?
第 8 章 遗传编程求解作业车间调度
?
8.1 引言
?
8.2 背景知识
?
8.2.1 调度规则
?
8.2.2 元启发式方法
?
8.3 遗传编程求解作业车间调度
?
8.3.1 调度规则的表征
?
8.3.2 搜索机制
?
8.4 重新审视性能增强
?
8.4.1 实验设置
?
8.4.2 训练仿真实验
?
8.4.3 平滑的和非平滑的演化出的调度规则
?
8.4.4 代理模型
?
8.4.5 多目标
?
8.4.6 简化技术
?
8.5 结论
?
参考文献
?
第 9 章 进化模糊系统:以入侵检测系统为例
?
9.1 引言
?
9.2 进化模糊系统:分类体系和分析
?
9.2.1 FRBS 组件的进化学习和调节
?
9.2.2 优化多个目标的方法
?
9.2.3 新的模糊表征
?
9.3 进化模糊系统在入侵检测系统中的应用
?
9.3.1 入侵检测系统的背景
?
9.3.2 模糊系统应用于入侵检测系统中的相关工作
?
9.4 案例研究:利用多目标进化模糊系统处理入侵检测系统
?
9.4.1 基准数据集:KDDCUP99 数据集
?
9.4.2 算法和参数
?
9.4.3 用于入侵检测系统的性能指标
?
9.4.4 实验结果
?
9.5 结论和将来研究方向
?
参考文献