无线传感网络布局优化的虚拟力导向粒子群算法MATLAB源代码
本源代码主要参考了下面的文献:王雪, 王晟, 马俊杰. 无线传感器网络布局的虚拟力导向微粒群优化策略[J]. 电子学报, 2007, 11:(35)2038-2042.
%% 无线传感器网络布局优化的粒子群导向虚拟力算法仿真程序
% GreenSim团队——专业级算法设计&代写程序
% 欢迎访问GreenSim团队主页→http://www.doczj.com/doc/bdcae30d79563c1ec5da717d.html/greensim
clc
clear
close all
%%
ZawFlag=[0,0,0,0,0];%障碍物的启用设置,为0表示不启用
BorderLength=1000;%正方形区域的边界长度
DL=4;%离散化质点的间距,要求DL能够整除BorderLength
[Sx,Sy]=InitSK(BorderLength,DL,ZawFlag);%调用子函数,产生正方形区域,并用离散化质点存储该区域
%%
rLower=70;%传感器节点覆盖半径取值范围的下界
rUpper=70;%传感器节点覆盖半径取值范围的上界
NodeNum0=50;%设置固定节点个数
[Cx0,Cy0,r0,R0]=InitCovRand(NodeNum0,rLower,rUpper,ZawFlag,BorderLength);%调用子函数,产生固定节点
NodeNum1=50;%设置移动节点个数
[Cx1,Cy1,r1,R1]=InitCovRand(NodeNum1,rLower,rUpper,ZawFlag,BorderLength);%调用子函数,产生移动节点
figure(1)
DrawCovering0(Cx0,Cy0,r0,ZawFlag,BorderLength);
title('初始化网络布局(固定节点)')
figure(2)
DrawCovering0(Cx0,Cy0,r0,ZawFlag,BorderLength);
hold on
DrawCovering1(Cx1,Cy1,r1,ZawFlag,BorderLength);
title('初始化网络布局(固定节点和可移动节点)')
%%
Cx=[Cx0,Cx1];
Cy=[Cy0,Cy1];
r=[r0,r1];
R=[R0,R1];
%如需人为指定个别节点的初始位置,请参考下面的语句进行设置(注意指定的坐标不要落入障碍物内)
%Cx(1)=400;Cy(1)=300;%人工指定标号为1的节点的坐标
Move=ones(1,NodeNum0+NodeNum1);%节点移动控制参数,等于0表示节点不参与移动