✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
个人主页:Matlab科研工作室
个人信条:格物致知。
更多Matlab仿真内容点击
智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统
信号处理 图像处理 路径规划 元胞自动机 无人机
人工电场算法 (Charged System Search, CSS) 是一种启发式优化算法,用于解决多目标优化问题。它模拟了电荷之间的相互作用和斥力吸引的行为,通过调整电荷的位置来搜索最优解。
CLAEFA (Charged Local Attractor Enhanced Firefly Algorithm) 是基于人工电场算法的改进版本,结合了萤火虫算法的思想,对电荷的位置更新进行了改进,以提高搜索效率和收敛性。
以下是CLAEFA算法的基本步骤:
个体表示:将待优化问题转化为一个个体的表示形式,通常使用向量或数组来表示个体的解。
种群初始化:随机生成一定数量的电荷作为初始种群。每个电荷对应一个可能的解,并具有一个适应度值来评估其优劣。
适应度评估:对每个电荷计算适应度值,用于评估其优劣。适应度函数根据具体问题设定,可以是目标函数的值,也可以是其他评估指标。
电荷位置更新:根据电荷之间的相互作用和斥力吸引的原理,通过更新电荷的位置来进行搜索。CLAEFA算法中引入了局部吸引子,增加了局部搜索能力。电荷的位置更新公式可以根据具体算法进行设计和调整。
终止条件判断:根据预设的终止条件(如达到最大迭代次数、满足特定目标等),判断是否结束算法。如果未满足终止条件,则返回步骤3;否则,进入下一步。
最优解提取:从电荷群体中选择适应度最好的电荷作为最优解。
CLAEFA算法通过模拟电荷之间的相互作用,具有一定的全局搜索和优化能力,并且引入了局部吸引子来增加局部搜索能力。该算法在解决多目标优化问题和复杂优化问题方面具有应用潜力。然而,算法的性能受到参数设置和问题建模的影响,需要根据具体问题进行调整和优化。
% This function gives boundaries and dimension of search space for test functions.
function [lb,ub,D]=benchmark_range(func_num)
%If lower bounds of dimensions are the same, then 'lb' is a value.
%Otherwise, 'lb' is a vector that shows the lower bound of each dimension.
%This is also true for upper bounds of dimensions.
%Insert your own boundaries with a new func_num.
if func_num==1
lb=-100;ub=100;D=30;
end
if func_num==2
lb=-10;ub=10;D=10;
end
if func_num==3
lb=-100;ub=100;D=10;
end
if func_num==4
lb=-100;ub=100;D=10;
end
%
if func_num==5
lb=-30;ub=30;D=30;
end
if func_num==6
lb=-100;ub=100;D=10;
end
if func_num==7
lb=-1.28;ub=1.28;D=10;
end
%
if func_num==8
lb=-500;ub=500;D=10;
end
if func_num==9
lb=-5.12;ub=5.12;D=30;
end
if func_num==10
lb=-32;ub=32;D=30;
end
if func_num==11
lb=-600;ub=600;D=30;
end
%
if func_num==12
lb=-50;ub=50;D=10;
end
%
if func_num==13
lb=-50;ub=50;D=10;
end
% %
if func_num==14
lb=-65.536;ub=65.536;D=2;
end
if func_num==15
lb=-5;ub=5;D=4;
end
% %
if func_num==16
lb=-5;ub=5;D=2;
end
if func_num==17
lb=[-5 0];ub=[10 15];D=2;
end
if func_num==18
lb=-2;ub=2;D=2;
end
if func_num==19
lb=0;ub=1;D=3;
end
if func_num==20
lb=0;ub=1;D=6;
end
if func_num==21
lb=0;ub=10;D=4;
end
if func_num==22
lb=0;ub=10;D=4;
end
if func_num==23
lb=0;ub=10;D=4;
end
end
Chauhan, Dikshit, and Anupam Yadav. “An Adaptive Artificial Electric Field Algorithm for Continuous Optimization Problems.” Expert Systems, Wiley, June 2023, doi:10.1111/exsy.13380.