首页 > 编程语言 >智能优化算法:类电磁机制算法 - 附代码

智能优化算法:类电磁机制算法 - 附代码

时间:2023-05-04 13:07:55浏览次数:36  
标签:粒子 函数 步骤 代码 算法 搜索 计算 电磁


智能优化算法:类电磁机制算法


文章目录

  • 智能优化算法:类电磁机制算法
  • 1.算法原理
  • 1.1 初始化
  • 1.2 局部搜索
  • 1.3 电荷量及力的计算
  • 1.4 移动粒子
  • 2.算法结果
  • 3.参考文献
  • 4.Matlab



摘要:2003 年,Birbil 和 Fang 由于受到电磁场带电粒子间的吸引-排斥机制的启示而提出了基于种群的一种新的随机启发式全局优化算法,即类电磁机制算法(electromagnetism-like machanism algorithm,EM)。算法成功地吸取了传统优化方法以及随机优化方法的优点:简单的寻优原理、需要较少的资源和较快的收敛速度,已经成功地应用于求解无约束优化问题中。

1.算法原理

类电磁机制算法的过程:首先产生初始种群,即随机地在可行域内产生一组初始解,然后根据电磁场里的带电微粒之间的吸引-排斥的机制原理,把每一个可行域中的粒子都看成一个个带电粒子。这些带电粒子的电荷量是由目标函数的函数值来确定的,电荷量决定了带电粒子受到的排斥力或者吸引力的大小,即粒子具有越优的目标函数值,则该粒子就具有越强的吸引力。通过计算当前粒子所受到其它粒子所施加给其的合力,EM 算法以此来决定当前粒子下一步的移动方向。最后根据预先规定的更新规则来产生下一代粒子。所有粒子都完成了上述操作后,可行域中所有粒子的位置都被更新了一次,EM 算法这时候就完成了一轮迭代过程。若未满足算法结束条件,则返回到局部搜索步骤进行下一次迭代。直至所有粒子最终都收敛到某一极小的邻域,并满足一定的终止条件后,优化问题就得到了最优解。

1.1 初始化

从可行域中均匀地随机产生智能优化算法:类电磁机制算法 - 附代码_算法个点智能优化算法:类电磁机制算法 - 附代码_迭代_02作为初始种群. 其中智能优化算法:类电磁机制算法 - 附代码_人工智能_03,n 为问题的维数. 然后计算每个粒子的目标函数智能优化算法:类电磁机制算法 - 附代码_优化算法_04,并将函数值最优的粒子记为智能优化算法:类电磁机制算法 - 附代码_优化算法_05

1.2 局部搜索

局部搜索用于更新当前一个粒子. 通过在一定范围内搜索比该粒子更优的粒子,并使得该粒子朝更精确
的解移动,达到局部更新的效果. 可对所有粒子进行局部搜索,也可只对当前最优粒子进行局部搜索. 将局部
搜索完后的最优粒子仍然记为智能优化算法:类电磁机制算法 - 附代码_优化算法_05

1.3 电荷量及力的计算

由 Birbil 和 Fang 构造的粒子的电荷量的计算为:
智能优化算法:类电磁机制算法 - 附代码_算法_07
显然,目标函数值越小(即越优)的粒子所带电荷量越大。

然后仿照电磁场中力的计算公式,计算每个粒子受到另一个粒子的作用力,再根据叠加原理,计算粒子所受到的合力. 设智能优化算法:类电磁机制算法 - 附代码_优化算法_08表示粒子智能优化算法:类电磁机制算法 - 附代码_搜索_09受到粒子智能优化算法:类电磁机制算法 - 附代码_人工智能_10的作用力,智能优化算法:类电磁机制算法 - 附代码_迭代_11 表示粒子智能优化算法:类电磁机制算法 - 附代码_搜索_09所受到的合力,则
智能优化算法:类电磁机制算法 - 附代码_人工智能_13

智能优化算法:类电磁机制算法 - 附代码_算法_14

由式(3)可知,粒子的受力方向是由粒子的优劣来确定的。即目标函数值较优的粒子吸引目标函数值较差的
粒子,目标函数值较差的粒子排斥目标函数值较优的粒子。

1.4 移动粒子

按照式(4)计算完合力后,粒子将沿着合力的方向移动,新的位置如下:
智能优化算法:类电磁机制算法 - 附代码_算法_15
式中,智能优化算法:类电磁机制算法 - 附代码_迭代_16 为随机数. 移动过程中,其可行移动范围由智能优化算法:类电磁机制算法 - 附代码_人工智能_17 给出,智能优化算法:类电磁机制算法 - 附代码_算法_18,表示向上边界智能优化算法:类电磁机制算法 - 附代码_优化算法_19和下边界 智能优化算法:类电磁机制算法 - 附代码_优化算法_20 移动的可行步长。 且有
智能优化算法:类电磁机制算法 - 附代码_人工智能_21
其中,智能优化算法:类电磁机制算法 - 附代码_算法_22 为第智能优化算法:类电磁机制算法 - 附代码_搜索_09个粒子的合力的第智能优化算法:类电磁机制算法 - 附代码_算法_24个分量。

经过以上 4 个步骤,完成了 EM 算法的一次迭代,粒子的位置也得到了更新。

算法步骤

步骤1:初始化粒子种群。

步骤2:计算适应度值,并记录最优位置。

步骤3:进行局部搜索。

步骤4:计算电荷量和力,并更新粒子位置。

步骤5:计算适应度值,并更新最优位置。

步骤6:判断是否达到最大迭代次数,如果达到则输出最优结果,否则重复步骤3-6。

2.算法结果

智能优化算法:类电磁机制算法 - 附代码_优化算法_25

3.参考文献

[1]刘梦楠. 类电磁机制算法的研究与改进[D].西安电子科技大学,2014.

[1]周斌,陈晶,张雅雯,薛东.一种类电磁机制算法在锅炉主汽温系统的研究[J].安徽水利水电职业技术学院学报,2020,20(01):16-19.

4.Matlab


标签:粒子,函数,步骤,代码,算法,搜索,计算,电磁
From: https://blog.51cto.com/u_16095618/6242610

相关文章

  • 智能优化算法:黏菌优化算法 - 附代码
    智能优化算法:黏菌优化算法文章目录智能优化算法:黏菌优化算法1.算法原理2.实验结果3.参考文献4.Matlab代码5.python代码摘要:黏菌优化算法(Slimemouldalgorithm,SMA)由Li等于2020年提出,其灵感来自于黏菌的扩散和觅食行为,属于元启发算法。具有收敛速度快,寻优能力强的特点。1.算......
  • 基于核极限学习机(KELM)分类 -附代码
    基于核极限学习机(KELM)分类文章目录基于核极限学习机(KELM)分类1.极限学习机原理概述2.ELM学习算法3.KELM理论基础4.分类问题5.测试结果6.Matlab代码摘要:本文利用核极限学习机进行优化,并用于分类1.极限学习机原理概述典型的单隐含层前馈神经网络结构如图1所示,由输入层、隐含......
  • 智能优化算法:松鼠优化算法 - 附代码
    智能优化算法:松鼠优化算法文章目录智能优化算法:松鼠优化算法1.算法原理1.1种群初始化1.2适应度值评价1.3生成新位置1.4滑翔的空气动力学1.5季节变化条件2.实验结果3.参考文献4.Matlab代码摘要:松鼠优化算法是于2018年提出的一种简单高效的新型优化算法,具有收敛快寻优强的特......
  • 一种基于Tent 映射的混合灰狼优化的改进算法-附代码
    一种基于Tent映射的混合灰狼优化的改进算法文章目录一种基于Tent映射的混合灰狼优化的改进算法1.灰狼优化算法2.改进灰狼优化算法(PSO_GWO)2.1Tent混沌映射2.2非线性控制参数策略2.3PSO思想3.实验结果4.参考文献5.Matlab代码6.Python代码摘要:针对基本灰狼算法易陷入局部最......
  • 智能优化算法应用:基于麻雀搜索算法3D无线传感器网络(WSN)覆盖优化
    智能优化算法应用:基于麻雀搜索算法3D无线传感器网络(WSN)覆盖优化-附代码文章目录智能优化算法应用:基于麻雀搜索算法3D无线传感器网络(WSN)覆盖优化-附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.麻雀搜索算法4.实验参数设定5.算法结果6.参考文献7.MATLAB代码摘要:本......
  • 一种基于混合策略的灰狼优化算法-附代码
    一种基于混合策略的灰狼优化算法文章目录一种基于混合策略的灰狼优化算法1.灰狼优化算法2.改进灰狼优化算法3.实验结果4.参考文献5.Matlab代码6.Python代码摘要:灰狼优化算法作为一种群体智能算法,不可避免地会产生陷入局部寻优和收敛速度慢的问题。本文提出一种混合的改进策略,把......
  • 具有自适应调整策略的混沌灰狼优化算法-附代码
    具有自适应调整策略的混沌灰狼优化算法文章目录具有自适应调整策略的混沌灰狼优化算法1.灰狼优化算法2.改进灰狼优化算法2.1自适应调整策略2.2混沌局部搜索策略3.实验结果4.参考文献5.Matlab代码6.Python代码摘要:灰狼优化算法(GWO)是新型启元优化算法,相比于其他群体智能优化......
  • 智能优化算法应用:麻雀算法优化脉冲耦合神经网络的图像自动分割 -附代码
    智能优化算法应用:麻雀算法优化脉冲耦合神经网络的图像自动分割文章目录智能优化算法应用:麻雀算法优化脉冲耦合神经网络的图像自动分割1.麻雀搜索算法2.PCNN网络3.实验结果4.参考文献5.Matlab代码摘要:本文利用麻雀搜索算法对脉冲耦合神经网络的参数进行优化,以信息熵作为适应度函......
  • 智能优化算法:海洋捕食者算法
    智能优化算法:海洋捕食者算法文章目录智能优化算法:海洋捕食者算法1.算法原理2.实验结果3.参考文献4.Matlab代码摘要:海洋捕食者算法(MarinePredatorsAlgorithm,MPA)是AfshinFaramarzi等人于2020年提出的一种新型元启发式优化算法,其灵感来源于海洋适者生存理论,即海洋捕食者......
  • 基于反向策略的麻雀搜索算法 -附代码
    基于反向学习策略的麻雀搜索算法文章目录基于反向学习策略的麻雀搜索算法1.反向学习策略2.基于反向学习策略的麻雀搜索算法3.算法结果:4.Matlab代码5.python代码1.反向学习策略反向学习策略是由Tizhoosh于2005年提出的,目前已在GA、DE、ACO和BBO等群体智能优化算法中得到了......