1.理论分析
1.SMA
- 优点:较强的全局探索能力
- 缺点:后期迭代震荡作用较弱,易陷入局部最优;收缩机制不强,收敛速度较慢;初始种群质量低,探索和开发过程难以平衡。
- SMA :采用随机数法初始化种群,在解决复杂优化问题时,存在后期种群多样性降低,易于陷入局部最优等缺陷。
- Tent混沌映射:目前文献中大多运用 Logistic 混沌映射优化智能算法产生混沌序列,丰富种群多样性。但相较于 Logistic 混沌映射,Tent 混沌映射更加结构简单,收敛速度快,具有更好的遍历均匀性。
- Logistic与Tent混沌映射分布对比:
- 设置种群规模为 500,分别采用两种方法在区间[0,1]范围内产生混沌序列,其空间分布直方图如下图所示:
- 【智能优化算法|混沌精英黏菌算法CESMA(学习笔记_14)】
文章图片
- 由图可以看出,Logistic混沌映射生成的序列在区间[0,0. 1]和[0. 9, 1]范围内的概率要高于其他各段,而 Tent 混沌序列在可行域内分布相对均匀。因此选用Tent混沌映射再sMA算法迭代初期进行种群初始化,使得个体位置均匀分布在搜索空间内,有助于提高算法求解效率。
- 设置种群规模为 500,分别采用两种方法在区间[0,1]范围内产生混沌序列,其空间分布直方图如下图所示:
- Tent混沌映射的数学表达式:
文章图片
其中:n 表示映射次数; Xn 表示第 n 次映射函数值。
- 采用Tent映射生成初始种群的步骤:
- S:表示种群的适应度值数组
- 个人认为:步骤3“若生成的X落入最小周期点,则转到步骤3”中的“步骤3”应改为“步骤4”。
- S:表示种群的适应度值数组
文章图片
- 效果:提高初始化种群的多样性
- 精英反向学习EOBL:
- 其他算法对于EOBL机制的应用:何庆等人采用 EBOL 方法初始化种群,增加了蜻蜓算法的种群多样性;方旭阳等人引入 EBOL 优化正余弦算法,避免个体盲目地向当前学习。
- EBOL 机制利用精英个体相对普通个体而言携带更多有效信息的优势,首先通过种群中精英个体形成反向种群,再从反向种群和当前种群中选取优秀个体构成新的种群。
- 精英反向解公式:
X e i j = δ × ( l b j + u b j ) - X E i j Xe ij = δ × ( lbj + ubj) - XEij Xeij=δ×(lbj+ubj)-XEij
- 参数说明:Xe 为精英反向解,XE为精英解,δ 是[0,1]上的随机值,XEij ∈[lbj,ubj]。
- lbj = min( Xij ) ,ubj = max( Xij) ,lbj 和 ubj 分别为动态边界的下界和上界,min( Xij) 、max( Xij) 分别为第 j 维个体的最小值和最大值。动态边界解决了固定边界难以保存搜索经验的问题,有利于减少算法的寻优时间。
- 如果精英反向解 Xeij 超过边界,利用随机生成的方式将其重置,重置方程如下:
X e i j = r a n d ( l b j , u b j ) Xeij = rand(lbj , ubj) Xeij=rand(lbj,ubj)
- 参数说明:Xe 为精英反向解,XE为精英解,δ 是[0,1]上的随机值,XEij ∈[lbj,ubj]。
- 效果:有利于提高黏菌种群多样性和种群质量,提升算法全局寻优性能与收敛精度。
文章图片
3.实验仿真
- 为了更好的验证 CESMA 算法性能,选取了 5 种算法进行对比:SMA、PSO、WOA、ISMA_EQ、HSMAAOA(论文中包括MBO算法,但由于笔者还没有学习MBO算法,故暂不加入实验,加入另外几种SMA的改进算法HSMAAOA、ISMA_EQ),这些算法被证实具有良好的寻优性能。为了更准确的验证所提算法与对比算法的优劣性,设定种群规模 N=30,维度 D=30,最大迭代次数 500 次,各算法独立运行 30 次。
- 选取最优值、最差值、平均值与标准差作为评价指标。其中,平均值与标准差越小,则证明算法的性能越佳。
- 例举部分标准测试函数的适应度曲线:F1、F2(单峰函数)、F6、F7(多峰函数),F21、F23(固定维多峰函数)结果显示如下:
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
实验结果表明:CESMA较好地提升了黏菌算法的全局寻优性能、精度、速度以及鲁棒性。其对于收敛速度的改善效果优良,但其整体优化效果较HSMAAOA算法较弱。
[1]肖亚宁,孙雪,李三平,姚金言.基于混沌精英黏菌算法的无刷直流电机转速控制[J].科学技术与工程,2021,21(28):12130-12138.
推荐阅读
- paddle|动手从头实现LSTM
- 人工智能|干货!人体姿态估计与运动预测
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- 读书笔记|《白话大数据和机器学习》学习笔记1
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- Python机器学习基础与进阶|Python机器学习--集成学习算法--XGBoost算法
- 深度学习|深度学习笔记总结
- 机器学习|机器学习Sklearn学习总结
- 机器学习|线性回归原理与python实现