引力搜索算法(Gravitational_Search_algorithm,GSA)附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
智能优化算法 神经网络预测 雷达通信 无线传感器
信号处理 图像处理 路径规划 元胞自动机 无人机
⛄ 内容介绍
GSA是2009年提出的一种新型的启发式群智能优化算法,具有全局搜索能力强、收敛速度快等优点。在GSA中,种群粒子相当于空间中运动的个体,这些个体在万有引力的作用下彼此吸引、运动,个体的质量是评价粒子好坏的标准,质量越大的个体吸引其他粒子的能力越强,即表示其对应的解更好,整个种群凭借粒子相互间力的作用相互运动实现信息的共享,并朝着最优区域展开搜索。

⛄ 部分代码
% GSA code v1.1.
% Generated by Esmat Rashedi, 2010.
% " E. Rashedi, H. Nezamabadi-pour and S. Saryazdi,
%揋SA: A Gravitational Search Algorithm? Information sciences, vol. 179,
%no. 13, pp. 2232-2248, 2009."
%
%This function checks the search space boundaries for agents.
function X=space_bound(X,up,low);
[N,dim]=size(X);
for i=1:N
% %%Agents that go out of the search space, are reinitialized randomly .
Tp=X(i,:)>up;Tm=X(i,:)<low;X(i,:)=(X(i,:).*(~(Tp+Tm)))+((rand(1,dim).*(up-low)+low).*(Tp+Tm));
% %%Agents that go out of the search space, are returned to the boundaries.
% Tp=X(i,:)>up;Tm=X(i,:)<low;X(i,:)=(X(i,:).*(~(Tp+Tm)))+up.*Tp+low.*Tm;
end
⛄ 运行结果


⛄ 参考文献
[1]毕晓君, 刁鹏飞. 基于引力搜索算法的异构无线传感器网络路由分簇算法[J]. 控制与决策, 2017, 32(3):7.
❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除
