伴随着计算机软硬件处理能力的显著提升,在智能计算领域先后诞生了一大批优秀的元启发式算法(meta-heuristics)。元启发式算法是相对于最优化算法(optimization)以及启发式算法(heuristics)发展起来的一大类算法。最优化算法致力于求得问题的最优解,但往往受限于问题的不可解析性而难得实现;启发式算法致力于通过直观经验和问题信息来定制算法,但常因其专用性而难以推广。相较于这两种算法,元启发式算法具备更广泛的通用性且无需深入适应问题,虽不能确保获得问题的最优解,但在可接受的时空条件下一般均能获得问题的优化解,虽然这些优化解与最优解的偏离程度难以估计。 元启发式算法的主要优化策略可归纳为两点:一是广域范围内多样化的(diversification)搜索机制(exploration)以确保获得全局优化解;二是局域范围内的强化(intensification)搜索机制(exploitation)以尽量获得接近最优解的优化解。各种元启发式算法的主要区别在于如何在二者之间取得平衡。几乎所有的元启发式算法都具有如下一些特征:(1)受自然界某些现象启发,如物理学、生物学或动物行为学等;(2)使用随机策略;(3)不使用目标函数的梯度解析信息;(4)有若干参数需要根据问题进行适应性调整。目前元启发式算法已经广泛应用于社会生产和生活的方方面面。学术界每年发表大量的相关研究文献,涉及到生产调度、工程计算、管理决策、人工智能、系统控制等众多学科领域。系统地学习和掌握元启发式算法的相关知识,已经成为许多高校不同专业的本科生和研究生专业基础必修课程。 本书筛选了多年来最为流行的25个元启发式算法,从算法原理、算法流程到matlab编程实现,为读者全面展示从基础理论到实际应用的各个环节。全书共分为18章,各章重点围绕着一个算法或算法系列展开论述。第1章是与优化问题和优化方法相关的基本概念介绍,包括问题定制、数学建模、优化问题分类、优化算法分类、计算复杂度和算法性能评价等内容。第2章讨论了进化系列算法,这是一类基于遗传和进化策略而实现的群集元启发式算法,主要包括遗传算法(Genetic Algorithm, GA)、进化策略算法(Evolution Strategy, ES)、进化规划算法(Evolutionary Programming, EP)和遗传规划算法(Genetic programming, GP),以及随后出现的差分进化算法(Differential Evolution, DE)、分布估计算法(Distribution Estimation, DE)。第3章描述了邻域搜索系列算法,主要介绍了基本邻域搜索算法(Hill Search, HS)、变邻域搜索算法(Variable Neighborhood Search, VNS)、迭代局部搜索算法(Iterated Local Search, ILS)和贪心随机自适应搜索算法(Greedy Randomized Adaptive Search Procedure, GRASP)。第4章和第5章分别介绍了模拟退火算法和禁忌搜索算法。这两个算法都是基于单解(single-solution based)的元启发式算法,相对于基于群集的(population-based)元启发式算法,这类算法搜索出发位置均为单一解。第6章介绍了人工免疫系统算法(Artificial Immune System, AIS),这是一类建立在生物免疫系统的原理特征以及免疫学相关理论基础上的元启发式算法。第7章~第12章分别介绍了人工蚁群算法(Artificial Ant Colony, AC)、人工蜂群算法(Artificial Bee Colony, ABC)、粒子群算法(Particle Swarm Optimization, PSO)、人工鱼群算法(Artificial Fish Swarm Algorithm, AFSA)、细菌觅食算法(Bacterial Foraging Optimization, BFO)和混合蛙跳算法(Shuffled Frog Leaping Algorithm, SFLA)。这几种算法均为基于群集智能的仿生优化算法。群集智能是指在分散型自组织的群体系统中,简单低智能个体遵循特定的行为模式,在群体层面表现出高能力行为的现象。其中,人工蚁群算法是一类构建元启发式算法,除了介绍蚂蚁系统算法(Ant System, AS)之外,还介绍了蚁群系统算法(Ant Colony System,ACS)和最大最小蚂蚁系统算法(Max-Min Ant System, MMAS)。第13章给出了分散搜索算法(Scatter Search, SS)。第14章介绍了布谷鸟搜索算法(Cook Search, CS 21),通过模拟布谷鸟巢寄生育雏行为和莱维飞行轨迹来找寻最优解。第15章是生物地理学算法(Biogeographic Algorithm)。第16章讨论了人工神经网络算法(Artificial Neural Networks, ANNs),重点介绍反向传播BP神经网络算法(Backpropagation Neural Network, BP)和Hopfield神经网络算法(Hopfield Neural Network, HNN)。。元启发式算法主要用于求解单目标优化问题,但实际上也可用于求解多目标优化问题,第17章介绍了有代表性的多目标进化算法和多目标粒子群优化算法。 迄今为止,尽管各种元启发式算法在解决现实优化问题方面取得了很大的成功,但人们更多地期待着出现适用性和灵活性更为广泛的“超启发式”算法。这样的算法通过自动选择或生成一组启发式过程来解决各种优化问题,除了提升算法解决问题的效率之外,更重要的目的在于提升算法的通用性和自适应性,以有效的减少算法定制带来的各种困惑。第18章简要地介绍了一些这方面的知识和进展。 鉴于作者水平有限,本书在内容安排和和文字撰写上难免有所疏漏和不足,恳请读者不吝赐教,提出批评和指正。