1 算法介绍
针对花朵授粉算法易陷入局部极值,收敛速度慢的不足,提出一种具有入侵杂草策略的花朵授粉算法.该算法通过入侵杂草的繁殖,空间扩散和竞争策略,动态生成种群,增加种群的多样性和有效性,使算法能有效地避免陷入局部最优,增强全局寻优能力,提高收敛速度.通过8个CEC2005benchmark测试函数进行测试比较,仿真结果表明,改进算法的全局寻优能力明显优于基本的花朵授粉算法,差分进化算法和蝙蝠算法,其收敛精度,收敛速度,鲁棒性均较对比算法有较大提高.
2 部分代码
% IWO
% CPSO
% IIWO
%% 清空环境变量
clear
clc
%% 网络参数
L = 20; % 区域边长
V = 24; % 节点个数
Rs = 2.5; % 感知半径
Rc = 5; % 通信半径
Re = 0.05; % 感知误差
data = 1; % 离散粒度
%% 基本参数
N = 30; % 种群规模
dim = 2*V; % 维数
maxgen = 300; % 最大迭代次数
ub = L;
lb = 0;
%% 初始化种群位置
X = rand(N, dim).*(ub-lb)+lb;
for i = 1:N
fitness(i) = fun(X(i, :), L, Rs, Re, data);
end
%% 传入函数变量
[bestvalue_IWO, gbest_IWO, Curve_IWO] = IWO(N, maxgen, Rs, Re, L, data, X, fitness, lb, ub, dim);
[bestvalue_CPSO, gbest_CPSO, Curve_CPSO] = CPSO(N, maxgen, Rs, Re, L, data, X, fitness, lb, ub, dim);
[bestvalue_IIWO, gbest_IIWO, Curve_IIWO] = IIWO(N, maxgen, Rs, Re, L, data, X, fitness, lb, ub, dim);
%% 绘图比较
figure;
t = 1:maxgen;
plot(t, Curve_IWO, 'ro-', t, Curve_CPSO, 'kx-', t, Curve_IIWO, 'bp-',...
'linewidth', 2, 'linewidth', 1.5, 'MarkerSize',7, 'MarkerIndices', 1:20:maxgen);
legend('IWO', 'CPSO', 'IIWO');
xlabel '迭代次数';
ylabel '覆盖率';
3 仿真结果
无线传感器网络节点分布优化问题是 WSN 研究的关键性问题之一,也是通信领域研究的热点。 针对 WSN 节点分布优化问题,提出一种基于改进杂草算法的节点分布优化方案。
4 参考文献
[1]肖辉辉, 段艳明. 具有入侵杂草策略的花朵授粉算法[J]. 系统仿真学报, 2017, 029(002):264-272.