Java教程

【优化布局】基本蚁狮算法在WSN节点部署中的应用matlab源码

本文主要是介绍【优化布局】基本蚁狮算法在WSN节点部署中的应用matlab源码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1 简介

为了有效提高无线传感器网络的节点覆盖率,提出一种基于蚁狮算法的网络覆盖优化方法.

2 部分代码

%% 清除环境变量
clear;
clc;

%% 网络参数
L = 100;                         % 区域边长
V = 80;                         % 节点个数
Rs = 7;                           % 感知半径
Rc = 14;                        % 通信半径
Re = 1;                    % 感知误差
data = 1;                      % 离散粒度

%% 初始化参数
N = 30;                   % 种群规模
dim = 2*V;                % 维数
lb = 0;              % 自变量下限
ub = L;              % 自变量上限
Current_iter = 1;      % 迭代次数初值
Max_iter = 300;       % 最大迭代次数

%% 初始化位置

%% 初始结果显示
gbest = Elite_antlion_position;
x = gbest(1:2:end);
y = gbest(2:2:end);
disp('初始位置:' );
for i = 1:V
   disp([num2str(x(i)), '     ', num2str(y(i))]);
end
disp(['初始覆盖率:', num2str(Elite_antlion_fitness)]);
% 初始覆盖图
figure;
for i = 1:V
   axis([0 L 0 L]);            % 限制坐标范围
   sita = 0:pi/100:2*pi;   % 角度[0, 2*pi]
   hold on;
   fill(x(i)+Rs*cos(sita), y(i)+Rs*sin(sita), 'b');
   plot(x(i)+Rs*cos(sita), y(i)+Rs*sin(sita), 'b');
end
plot(x, y, 'r+');
title '初始部署';

%% 迭代
while Current_iter < Max_iter+1

end
%% 绘图
figure;
plot(Best_fitness, 'k', 'lineWidth', 3);          % 画出迭代图
title('ALO算法覆盖率进化曲线', 'fontsize', 13);
xlabel('迭代次数', 'fontsize', 12);
ylabel('覆盖率', 'fontsize', 12);
img =gcf;  %获取当前画图的句柄
print(img, '-dpng', '-r600', './img2.png')         %即可得到对应格式和期望dpi的图像
%% 初始结果显示
x = gbest(1:2:end);
y = gbest(2:2:end);
disp('最终位置:' );
for i = 1:V
   display([num2str(x(i)), '     ', num2str(y(i))])
end
disp(['最终覆盖率:', num2str(Elite_antlion_fitness)]);
% 最终覆盖图
figure;
for i = 1:V
   axis([0 L 0 L]);            % 限制坐标范围
   sita = 0:pi/100:2*pi;   % 角度[0, 2*pi]
   hold on;
   fill(x(i)+Rs*cos(sita), y(i)+Rs*sin(sita), 'g');
end
plot(x, y, 'ks');
title 'ALO优化覆盖';
img =gcf;  %获取当前画图的句柄
print(img, '-dpng', '-r600', './img1.png')         %即可得到对应格式和期望dpi的图像

3 仿真结果

4 参考文献

[1]徐钦帅, 何庆, and 魏康园. "改进蚁狮算法的无线传感器网络覆盖优化." 传感技术学报 32.02(2019):266-275.

5 MATLAB代码与数据下载地址

见博客主页头条

这篇关于【优化布局】基本蚁狮算法在WSN节点部署中的应用matlab源码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!