Python智能优化算法:从原理到代码实现与应用
作者 范旭
出版时间 2022年版
内容简介
本书以理论结合应用为指导思想,以智能优化算法为对象,以Python为开发语言,主要讲解智能优化算法的基本原理、代码实现、应用案例和性能测试。本书轻理论,重实践,目的是使读者能够迅速地入门并掌握智能优化算法及其Python代码实现的相关技巧,并在后续的学术研究和工程实践中加以应用。本书分为12章,第1章~第10章分别介绍10种智能优化算法(黏菌算法、人工蜂群算法、蝗虫优化算法、蝴蝶优化算法、飞蛾扑火优化算法、海鸥优化算法、麻雀搜索算法、鲸鱼优化算法、黄金正弦算法、教与学优化算法)的基本原理、Python代码实现、应用案例;第11章、第12章介绍智能优化算法的基准测试集和性能测试。本书取材新颖、案例丰富、通俗易懂,可作为广大高校本科生、研究生的学习用书,也可作为广大科研人员、学者、工程技术人员的参考用书。
目 录
第1章 黏菌算法及其Python实现 1
1.1 黏菌算法的基本原理 1
1.1.1 接近食物阶段 1
1.1.2 包围食物阶段 2
1.1.3 抓取食物阶段 2
1.1.4 黏菌算法流程 3
1.2 黏菌算法的Python实现 4
1.2.1 种群初始化 4
1.2.2 适应度函数 5
1.2.3 边界检查和约束函数 6
1.2.4 黏菌算法代码 7
1.3 黏菌算法的应用案例 10
1.3.1 求解函数极值 10
1.3.2 基于黏菌算法的压力容器
设计 12
1.3.3 基于黏菌算法的三杆桁架
设计 15
1.3.4 基于黏菌算法的拉压弹簧
设计 18
参考文献 21
第2章 人工蜂群算法及其Python
实现 22
2.1 人工蜂群算法的基本原理 22
2.1.1 种群初始化 23
2.1.2 引领蜂搜索 24
2.1.3 跟随蜂搜索 24
2.1.4 侦察蜂搜索 25
2.1.5 人工蜂群算法流程 25
2.2 人工蜂群算法的Python实现 26
2.2.1 种群初始化 26
2.2.2 适应度函数 28
2.2.3 边界检查和约束函数 28
2.2.4 轮盘赌策略 29
2.2.5 人工蜂群算法代码 30
2.3 人工蜂群算法的应用案例 34
2.3.1 求解函数极值 34
2.3.2 基于人工蜂群算法的压力
容器设计 36
2.3.3 基于人工蜂群算法的三杆
桁架设计 39
2.3.4 基于人工蜂群算法的拉压
弹簧设计 42
参考文献 45
第3章 蝗虫优化算法及其Python
实现 46
3.1 蝗虫优化算法的基本原理 46
3.1.1 蝗虫优化算法数学模型 46
3.1.2 社会相互作用力 47
3.1.3 蝗虫优化算法流程 50
3.2 蝗虫优化算法的Python实现 50
3.2.1 种群初始化 50
3.2.2 适应度函数 52
3.2.3 边界检查和约束函数 52
3.2.4 社会相互作用力函数 53
3.2.5 蝗虫优化算法代码 54
3.3 蝗虫优化算法的应用案例 57
3.3.1 求解函数极值 57
3.3.2 基于蝗虫优化算法的压力
容器设计 59
3.3.3 基于蝗虫优化算法的三杆
桁架设计 62
3.3.4 基于蝗虫优化算法的拉压弹
簧设计 65
参考文献 68
第4章 蝴蝶优化算法及其Python
实现 69
4.1 蝴蝶优化算法的基本原理 69
4.1.1 蝴蝶的香味 69
4.1.2 蝴蝶的移动与迭代 70
4.1.3 蝴蝶优化算法流程 71
4.2 蝴蝶优化算法的Python实现 72
4.2.1 种群初始化 72
4.2.2 适应度函数 73
4.2.3 边界检查和约束函数 74
4.2.4 蝴蝶优化算法代码 75
4.3 蝴蝶优化算法的应用案例 77
4.3.1 求解函数极值 77
4.3.2 基于蝴蝶优化算法的压力容
器设计 80
4.3.3 基于蝴蝶优化算法的三杆
桁架设计 83
4.3.4 基于蝴蝶优化算法的拉压弹
簧设计 86
参考文献 89
第5章 飞蛾扑火优化算法及其Python
实现 90
5.1 飞蛾扑火优化算法的基本
原理 90
5.1.1 飞蛾与火焰 90
5.1.2 飞蛾扑火行为 91
5.1.3 飞蛾扑火优化算法流程 93
5.2 飞蛾扑火优化算法的Python
实现 95
5.2.1 种群初始化 95
5.2.2 适应度函数 96
5.2.3 边界检查和约束函数 97
5.2.4 飞蛾扑火优化算法代码 98
5.3 飞蛾扑火优化算法的应用
案例 100
5.3.1 求解函数极值 100
5.3.2 基于飞蛾扑火优化算法的
压力容器设计 103
5.3.3 基于飞蛾扑火优化算法的
三杆桁架设计 106
5.3.4 基于飞蛾扑火优化算法的
拉压弹簧设计 109
参考文献 112
第6章 海鸥优化算法及其Python
实现 113
6.1 海鸥优化算法的基础原理 113
6.1.1 海鸥迁徙 113
6.1.2 海鸥攻击猎物 114
6.1.3 海鸥优化算法流程 114
6.2 海鸥优化算法的Python实现 115
6.2.1 种群初始化 115
6.2.2 适应度函数 117
6.2.3 边界检查和约束函数 117
6.2.4 海鸥优化算法代码 118
6.3 海鸥优化算法的应用案例 121
6.3.1 求解函数极值 121
6.3.2 基于海鸥优化算法的压力
容器设计 123
6.3.3 基于海鸥优化算法的三杆
桁架设计 126
6.3.4 基于海鸥优化算法的拉压
弹簧设计 129
参考文献 132
第7章 麻雀搜索算法及其Python
实现 133
7.1 麻雀搜索算法的基本原理 133
7.1.1 麻雀种群 133
7.1.2 发现者位置更新 134
7.1.3 加入者位置更新 134
7.1.4 遇险应急的麻雀位置更新 134
7.1.5 麻雀搜索算法流程 135
7.2 麻雀搜索算法的Python实现 136
7.2.1 种群初始化 136
7.2.2 适应度函数 137
7.2.3 边界检查和约束函数 138
7.2.4 麻雀搜索算法代码 139
7.3 麻雀搜索算法的应用案例 142
7.3.1 求解函数极值 142
7.3.2 基于麻雀搜索算法的压力
容器设计 144
7.3.3 基于麻雀搜索算法的三杆
桁架设计 147
7.3.4 基于麻雀搜索算法的拉压
弹簧设计 150
参考文献 153
第8章 鲸鱼优化算法及其Python
实现 154
8.1 鲸鱼优化算法的基本原理 154
8.1.1 包围猎物 154
8.1.2 气泡网攻击方式 155
8.1.3 寻找猎物 157
8.1.4 鲸鱼优化算法流程 158
8.2 鲸鱼优化算法的Python实现 159
8.2.1 种群初始化 159
8.2.2 适应度函数 161
8.2.3 边界检查和约束函数 161
8.2.4 鲸鱼优化算法代码 162
8.3 鲸鱼优化算法的应用案例 165
8.3.1 求解函数极值 165
8.3.2 基于鲸鱼优化算法的压力
容器设计 167
8.3.3 基于鲸鱼优化算法的三杆
桁架设计 170
8.3.4 基于鲸鱼优化算法的拉压
弹簧设计 173
参考文献 176
第9章 黄金正弦算法及其Python
实现 177
9.1 黄金正弦算法的基本原理 177
9.1.1 正弦函数 177
9.1.2 黄金分割 177
9.1.3 初始化 178
9.1.4 黄金分割系数计算 178
9.1.5 位置更新 179
9.1.6 黄金分割系数更新 179
9.1.7 黄金正弦算法流程 179
9.2 黄金正弦算法的Python实现 180
9.2.1 种群初始化 180
9.2.2 适应度函数 182
9.2.3 边界检查和约束函数 182
9.2.4 黄金正弦算法代码 183
9.3 黄金正弦算法的应用案例 186
9.3.1 求解函数极值 186
9.3.2 基于黄金正弦算法的压力
容器设计 189
9.3.3 基于黄金正弦算法的三杆
桁架设计 192
9.3.4 基于黄金正弦算法的拉压
弹簧设计 195
参考文献 198
第10章 教与学优化算法及其Python
实现 199
10.1 教与学优化算法的基本原理 199
10.1.1 教学阶段 200
10.1.2 学习阶段 200
10.1.3 教与学优化算法流程 200
10.2 教与学优化算法的Python
实现 202
10.2.1 种群初始化 202
10.2.2 适应度函数 203
10.2.3 边界检查和约束函数 204
10.2.4 教与学优化算法代码 205
10.3 教与学优化算法的应用
案例 208
10.3.1 求解函数极值 208
10.3.2 基于教与学优化算法的
压力容器设计 210
10.3.3 基于教与学优化算法的三杆
桁架设计 213
10.3.4 基于教与学优化算法的
拉压弹簧设计 216
参考文献 219
第11章 智能优化算法基准测试集 220
11.1 基准测试集简介 220
11.2 基准测试函数绘图与测试
函数代码编写 222
11.2.1 函数F1 222
11.2.2 函数F2 223
11.2.3 函数F3 224
11.2.4 函数F4 226
11.2.5 函数F5 227
11.2.6 函数F6 229
11.2.7 函数F7 230
11.2.8 函数F8 232
11.2.9 函数F9 234
11.2.10 函数F10 235
11.2.11 函数F11 237
11.2.12 函数F12 238
11.2.13 函数F13 240
11.2.14 函数F14 242
11.2.15 函数F15 244
11.2.16 函数F16 246
11.2.17 函数F17 248
11.2.18 函数F18 249
11.2.19 函数F19 251
11.2.20 函数F20 252
11.2.21 函数F21 254
11.2.22 函数F22 256
11.2.23 函数F23 258
第12章 智能优化算法性能测试 260
12.1 智能优化算法性能测试
方法 260
12.1.1 平均值 260
12.1.2 标准差 260
12.1.3 最优值和最差值 261
12.1.4 收敛曲线 262
12.2 测试案例 262
12.2.1 测试函数信息 262
12.2.2 测试方法及参数设置 263
12.2.3 测试结果 263