
本书以理论结合应用为指导思想,以智能优化算法为对象,以Python为开发语言,主要讲解智能优化算法的基本原理、代码实现、应用案例和性能测试。本书轻理论,重实践,目的是使读者能够迅速地入门并掌握智能优化算法及其Python代码实现的相关技巧,并在后续的学术研究和工程实践中加以应用。本书分为12章,第1章~第10章分别介绍10种智能优化算法(黏菌算法、人工蜂群算法、蝗虫优化算法、蝴蝶优化算法、飞蛾扑火优化算法、海鸥优化算法、麻雀搜索算法、鲸鱼优化算法、黄金正弦算法、教与学优化算法)的基本原理、Python代码实现、应用案例;第11章、第12章介绍智能优化算法的基准测试集和性能测试。本书取材新颖、案例丰富、通俗易懂,可作为广大高校本科生、研究生的学习用书,也可作为广大科研人员、学者、工程技术人员的参考用书。
前 言 智能优化算法作为人工智能最为热门的研究内容之一,已经在学术界、工业界得到了广泛的应用和实践。Python作为一门高级编程语言,具有语法简单、易懂易用、学习成本低、易快速入门等诸多优点,受到了广大程序员、科研人员和工程技术人员等相关从业人员的青睐。为此,本书以Python作为开发语言,重点讲解智能优化算法的基本原理、代码实现、应用案例和性能测试,以期读者能够迅速地入门并掌握智能优化算法及其Python代码实现的相关技巧,并在后续的学术研究和工程实践中加以应用。 本书分为两个部分,第一部分:智能优化算法及其Python实现,具体包括10种智能优化算法(黏菌算法、人工蜂群算法、蝗虫优化算法、蝴蝶优化算法、飞蛾扑火优化算法、海鸥优化算法、麻雀搜索算法、鲸鱼优化算法、黄金正弦算法、教与学优化算法)的基本原理讲述、Python实现、应用案例;第二部分:智能优化算法性能测试,具体包括智能优化算法基准测试集简介和智能优化算法性能测试方法。 本书具有如下特点: (1)本书以Python作为开发语言,简单易用,降低了编程门槛,让零基础的读者可以快速理解和掌握代码编写的意图和逻辑。 (2)本书应用案例丰富,并聚焦相同案例的不同算法的Python实现与分析。读者在学习和理解不同专业案例时往往需要花费很多的精力和时间,为此,本书使用相同案例,便于读者更加聚焦对不同智能优化算法本身的理解、比较、掌握。 (3)本书介绍智能优化算法的性能测试方法,帮助读者分析不同算法的优缺点,从理性的视角选择更加合适的智能优化算法来解决相应的科研或工程问题。 为方便于读者学习和参考,注册并登录华信教育资源网(https://www.hxedu.com.cn)可以免费下载本书实例源代码。读者在学习本书的过程中,如果遇到疑难问题,可以发邮件到邮箱ioa2021@163.com,编者会及时解答。 在本书编写过程中,除了引用智能优化算法的原始文献,还参考了国内外相关研究的文献及有价值的博士、硕士学位论文等,感谢被本书直接或间接引用文献资料的同行学者们! 本书的出版始终得到电子工业出版社的大力支持,在此表示由衷的感谢! 由于编者水平有限,书中错误和疏漏之处在所难免,诚恳地期望各位专家和读者批评指正。 编 者 2022年3月?
目 录 第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
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0441470