书籍详情
《个经典的元启发式算法——从设计到MATLAB实现》[23M]百度网盘|亲测有效|pdf下载
  • 个经典的元启发式算法——从设计到MATLAB实现

  • 出版社:科技生活自营旗舰店
  • 出版时间:2021-04
  • 热度:10885
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

编辑推荐

适读人群 :大众

本书是作者多年从事优化算法研究和教学实践工作的结晶。既可作为算法研究和应用领域本科生、研究生专业课程基础教材,亦可作为对优化算法感兴趣的工程技术人员的专业参考资料。

内容简介

元启发式算法是一类获得广泛应用的通用优化算法,主要包括进化系列算法、邻域搜索系列算法、模拟退火算法、禁忌搜索算法、人工免疫算法、蚁群算法、蜂群算法、粒子群算法、鱼群算法、混合蛙跳算法、细菌觅食算法、神经网络算法、生物地理学等算法。 本书系统性地对25个当今流行的元启发式算法从基本理论到实现机制进行了总结和描述。为了增加实用性,使用matlab编程语言实现了每一种算法的源代码,读者直接复制粘贴并做出适应性调试修改即可使用。每章章末都列出了原始参考文献的出处,留给读者去查阅引用,方便理解改进算法变化的细节。此外,针对这些元启发式算法,本书仅以少量的优化问题作为背景案例,旨在使读者把学习重点放在理解和掌握各种算法的核心思想和实现机制上,而不必拘泥于不同案例问题带来的理解上的不便。 本书是作者多年从事优化算法研究和教学实践工作的结晶。既可作为算法研究和应用领域本科生、研究生专业课程基础教材,亦可作为对优化算法感兴趣的工程技术人员的专业参考资料。

作者简介

崔建双,北京科技大学经济管理学院,副教授,硕士生导师。 研究方向:管理科学与工程;智能优化方法;项目管理与调度;机器学习与预测;企业信息化。 主讲课程:研究生课程:智能优化算法及其应用;本科生课程:计算机类课程;企业管理类课程。

目录

第1章 优化问题与优化方法

1.1优化问题概述

1.1.1 问题的定制

1.1.2 数学建模

1.1.3 数学建模实例

1.2 优化问题分类

1.3 优化算法及其分类

1.3.1精确算法和近似算法

1.3.2 传统优化算法和元启发式优化算法

1.4 元启发式算法

1.4.1 元启发式算法概述

1.4.2 基于单解的元启发式算法

1.4.3 基于群解的元启发式算法

1.5 可计算性与计算复杂度理论

1.5.1 可计算性理论

1.5.2 算法的复杂度

1.5.3 问题的复杂度

1.6 优化算法的性能评价

1.7 元启发式算法应用参考路线图

参考文献


第2章 进化系列算法

2.1 概述

2.1.1 新一代种群的选择策略

2.1.2 新一代种群的繁殖策略

2.2 遗传算法 51

2.2.1 生物遗传进化机制

2.2.2 遗传算法实现步骤

2.2.3 遗传算法求解Rosenbrock函数实例

2.3 进化策略算法

2.3.1进化策略算法的问题表达

2.3.2 进化策略算法实现步骤

2.3.3 进化策略算法求解二元函数实例

2.4 进化规划算法

2.4.1 进化规划算法的基本概念

2.4.2 进化规划算法的matlab实现

2.5遗传规划算法

2 .5.1 遗传规划算法中个体的表示

2.5.2 遗传规划算法的实现

2.5.3 遗传规划应用实例

2.6 差分进化算法

2.6.1 差分进化算法的实现步骤

2.6.2 差分进化算法的matlab实现

2.7分布估计算法

2.7.1分布估计算法实现步骤

2.7.2 分布估计算法的Matlab实现

参考文献


第3章 邻域搜索系列算法

3.1 邻域的定义

3.2 基本邻域搜索算法

3.2.1 邻域的选择

3.2.2 跳出局部最优

3.3 变邻域搜索算法

3.3.1 确定性可变邻域下降算法

3.3.2 通用变邻域搜索

3.4 迭代局部搜索

3.5 Matlab实现迭代局部搜索算法

3.6贪心随机自适应搜索算法

3.7 Matlab实现GRASP

参考文献


第4章 模拟退火算法

4.1 概述

4.1.1 金属冶炼退火过程描述

4.1.2 Metropolis准则

4.1.3 优化问题与模拟退火的比较

4.2 模拟退火算法的步骤和流程

4.2.1 算法的构成要素

4.2.2 模拟退火算法步骤及流程

4.3 模拟退火算法的matlab实现

参考文献


第5章 禁忌搜索算法

5.1 局部邻域搜索

5.2 基本禁忌搜索算法

5.2.1算法的基本原理

5.2.2禁忌搜索算法的参数选择

5.2.3禁忌搜索算法的实现流程

5.2.4禁忌搜索算法的优缺点

5.3 禁忌搜索算法的matlab实现

5.4禁忌搜索算法的改进

5.4.1连续禁忌搜索算法

5.4.2并行禁忌搜索算法

5.4.3禁忌搜索和遗传算法的混合策略

参考文献


第6章 人工免疫系统算法

6.1 生物免疫现象观察

6.2人工免疫算法仿真原理

6.3 人工免疫算法步骤与流程

6.4人工免疫算法的类型

6.5 基本人工免疫的matlab实现


第7章 蚁群系列优化算法

7.1蚂蚁觅食行为的观察

7.2基本蚂蚁算法

7.2.1 算法要素

7.2.2 算法流程

7.2.3 算法的特点

7.3 改进的蚂蚁算法之一:蚁群系统算法

7.4 改进蚂蚁算法之二:最大最小蚂蚁系统算法

7.5 基于ACS求解旅行商问题

7.6 基于最大最小蚁群算法求解旅行商问题


第8章 人工蜂群算法

8.1 蜂群生存行为的观察

8.2 人工蜂群算法

8.2.1 基本原理

8.2.2算法实现流程

8.2.3 ABC算法的特点

8.3改进的人工蜂群算法

8.4 基本人工蜂群的matlab实现

参考文献


第9章 粒子群算法

9.1 群鸟觅食行为的观察

9.2 基本粒子群优化算法

9.3 标准粒子群优化算法PSO

9.4 PSO求解Goldstein-Price函数

9.5 离散粒子群算法DPSO

9.6 基于DPSO求解0-1背包问题

9.7粒子群算法的改进

参考文献


第10章人工鱼群算法

10.1鱼群生存行为观察

10.2 人工鱼的视觉模型

10.3 人工鱼的四种基本行为

10.4 人工鱼群算法步骤与流程

10.4.1 人工鱼群算法实现步骤

10.4.2 人工鱼群算法流程

10.4.3 人工鱼群算法参数的选择

10.5 改进的人工与群算法

10.6 人工鱼群算法的MATLAB实现

参考文献


第11章 细菌觅食优化算法

11.1 大肠杆菌觅食行为的生物学观察

11.1.1 动物觅食理论

11.1.2 大肠杆菌的觅食行为

11.2 基本BFO算法

11.3 基本BFO算法步骤与流程

11.4 BFO算法的改进

11.4 基本BFO算法的mtlab实现(图像识别)

11.5 BFO算法的mtlab实现(图像匹配)

参考文献


第12章 混合蛙跳优化算法

12.1 算法研究现状

12.2 混合蛙跳算法原理

12.3 混合蛙跳算法步骤与流程

12.4 基本混合蛙跳算法的matlab实现


第13章 分散搜索算法

13.1 基本分散搜索算法

13.2 改进的分散搜索算法

13.3 分散搜索算法的Matlab实现


第14章 布谷鸟搜索算法

14.1 生物学行为观察

14.1.1 布谷鸟的巢寄生性

14.1.2 莱维飞行(Lévy flight)轨迹

14.2 基本布谷鸟搜索算法模型

14.2.1 算法基本假设

14.2.2 鸟巢位置和路径的更新公式

14.2.3 布谷鸟搜索算法实现步骤

14.2.4 布谷鸟搜索算法流程图

14.3 改进布谷鸟搜索算法

14.3.1二进制布谷鸟算法

14.3.2多目标布谷鸟搜索算法

14.4 布谷鸟搜索算法的matlab实现

参考文献


第15章人工神经网络算法

15.1 神经网络发展历程

15.2 BP神经网络算法

15.3 HP神经网络算法

15.4 HP网络算法求解TSP问题matlab实例

参考文献


第16章 生物地理学算法

16.1生物学理论基础

16.2 生物地理学算法基本思想

16.3 生物地理学算法步骤与流程

16.4 基本生物地理学算法的matlab实现


第17章 多目标优化算法

17.1 多目标优化问题

17.2 基于进化策略的多目标优化算法

17.2.1 算法流程

17.2.2 非支配分层排序

17.2.3 个体拥挤度的计算和比较算子

17.2.4 种群的选择、交叉和变异

17.2.5 Matlab代码分析

17.2.6 实例分析

17.3 基于粒子群算法的多目标优化算法

17.3.1 算法流程

17.3.2 个体和全局最优粒子的选择

17.3.3 粒子的更新和变异操作

17.3.4 动态更新栅格档案库和栅格矩阵

17.3.5 matlab代码分析

17.3.6实例

参考文献


第18章 超启发式算法

18.1超启发式方法概述

18.2 一种超启发式算法的matlab实现

参考文献


精彩书摘

第4章 模拟退火算法 模拟退火算法(Simulated Annealing,SA)是一种单解元启发式算法。早在1953年,Metropolis等[1]就提出了模拟金属退火过程的重要性采样法,但直到1983年,才由Kirkpatrick[2]等完成了模拟退火算法的转型应用。 模拟退火算法已经在生产调度、自动控制、机器学习、神经网络、图像处理等工程应用和学术研究领域获得了广泛应用,其接受劣解的容错思想也被其他许多算法所借鉴。本章将从该算法的起源、构成要素、实现步骤及流程、实际应用等方面对模拟退火算法进行介绍。 4.1 算法理论基础 4.1.1 金属物理退火过程 金属物质被加热到液态温度后其内部分子无序运动并且活跃在整个状态空间中,停止加热后温度随时间缓慢的冷却,分子运动逐渐趋于有序。这种由高温、高能、液体、分子无序状态,逐渐转变为低温、低能、固体,分子有序状态的过程称为退火。 退火过程主要分为三个阶段[3]。 (1)加温过程:加温的目的是增强分子的热运动,从而打乱分子序列,使其偏离平衡位置。当温度足够高时,金属固体将溶解为液体,分子的分布从有序的结晶态转变成无序的液态,消除系统原先可能存在的非均匀态,随后进行的冷却过程以某一平衡态为起点。加温溶解过程与系统的熵增过程相联系,系统能量随温度的升高而增大。 (2)等温过程:目的是为了使金属各部位温度均匀化,保证系统在每一个温度下都达到平衡态,最终达到固体的基态。根据热平衡封闭系统的自由能减少定律:“对于与周围环境交换热量而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的方向进行,当自由能达到最小时,系统就达到了平衡态”。 (3)冷却过程:随着温度的不断下降,粒子的热运动逐渐减弱且渐趋有序。当温度降至结晶温度后,粒子运动变为围绕晶体格点的微小振动,液体凝固成固体的晶态,且冷却过程中系统的熵值也不断减小,系统能量随温度降低趋于最小值。 4.1.2 Metropolis准则 组成金属物质的基本元素是粒子。金属粒子在每一个恒定温度下达到充分热平衡的过程可以用Monte Carlo[4] 统计模拟方法来模拟。这是一种按抽样调查法求取统计值来推定未知特性的模型计算方法。虽然Monte Carlo方法简单,但它只有在大量采样的情况下才能使得结果比较准确,而大量采样会带来了很大的计算量。鉴于物理系统倾向于能量较低的状态,而热运动又妨碍它准确落到最低态的物理形态,采样时只需着重选取那些有贡献作用的状态即可较快达到模拟效果。因此,Metropolis等[1]在1953年提出了重要性采样法,即以一定的概率来接受新状态。 重要性采样法的主要内容为:首先给定以相对位置表征的某粒子初始状态i作为当前状态,然后由于温度下降可能导致该粒子发生迁移,得到一个新状态j。粒子迁移前后的能量分别表示为Ei和Ej,接着作如下处理: (1)若Ej < Ei,即新状态能量相对变小,则无条件接受新状态; (2)若Ej ≥ Ei,则新状态被接受的概率为:

前言/序言

伴随着计算机软硬件处理能力的显著提升,在智能计算领域先后诞生了一大批优秀的元启发式算法(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章简要地介绍了一些这方面的知识和进展。 鉴于作者水平有限,本书在内容安排和和文字撰写上难免有所疏漏和不足,恳请读者不吝赐教,提出批评和指正。