1 算法介绍
针对入侵杂草优化算法易出现早熟且收敛速度较慢的问题,提出一种具有差分进化策略的入侵杂草算法.利用差分进化策略较强的开发能力,对种子进行交叉变异选择操作以帮助算法跳出局部最优;同时,为了提高算法的收敛速度和种群多样性,提出对杂草进行初始化并采用基于混沌反向学习的初始化方法.对8个标准测试函数进行的仿真实验表明:与标准杂草优化,差分进化及混合杂草优化算法相比,提出的改进算法具有较快的收敛速度,较高的收敛精度及较强的搜索全局最优解的能力.
1.1 IWO定义
IWO是2006年由A. R. Mehrabian等提出的一种从自然界杂草进化原理演化而来的随机搜索算法,模仿杂草入侵的种子空间扩散、生长、繁殖和竞争性消亡的基本过程,具有很强的鲁棒性和自适应性。
IWO算法是一种高效的随机智能优化算法,以群体中优秀个体来指导种群的进化,以正态分布动态改变标准差的方式将由优秀个体产生的子代个体叠加在父代个体周围,再经过个体之间的竞争,得到最优个体。算法兼顾了群体的多样性和选择力度。
1.2 IWO搜索与性能
IWO相比其他的进化算法拥有更大的搜索空间和更好的性能。
与GA相比,IWO算法简单,易于实现,不需要遗传操作算子,能简单有效地收敛问题的最优解,是一种强有力的智能优化工具。
1.3 IWO算法实现步骤
1 初始化种群
一定数据的杂草初始分布在搜索空间中,位置随机,个数根据实际情况调整;
2 子代繁殖
分布在整个搜索空间的父代,根据父代的适应值产生下一代种子,种子的个数由适应度值决定,适应值高的产生的种子多,低的个体产生种子数少。
3 空间扩散
子代个体按照一定规律分布在父代个体周围,分布位置规律满足正态分布(父代为轴线(均值),标准差随着代数不断变化)。
4 竞争淘汰
当一次繁殖的个体数超过种群数量的上限时,将子代和父代一起排序,适应值低的个体将被清除。
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]. 辽宁科技大学学报, 2014, 037(006):561-568.