首页 > 行业资讯 > 【路由优化】基于蚁群算法优化无线传感器路由选择问题含Matlab源码

【路由优化】基于蚁群算法优化无线传感器路由选择问题含Matlab源码

时间:2022-04-23 来源: 浏览:

【路由优化】基于蚁群算法优化无线传感器路由选择问题含Matlab源码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #雷达通信matlab源码 33个

1 简介

无线传感器网络(Wireless Sensor Network, WSN)[1]是伴随着信息技术的发展,继因特网之后基于无线通信技术、分布式计算系统、微电机系统等学科发展起来的一个新的研究领域。作为一门交叉学科,它涉及了计算机、微电子、传感器、网络、通信、信号处理等诸多领域,能够通过传感器节点对其所在环境的各种信息进行实时探测采集,再经过适当精简处理以后传输给终端用户使用。无线传感器网络通常由数量众多的微小传感器节点组成。这些节点的能量供给十分有限,在很多应用环境下替换能源的做法不可行,利用太阳能,风能等可再生能源为传感器提供所需能量的技术水平与大规模实际应用之间还有较大差距。为了尽可能延长网络生命周期,设计优化路由协议,改进路由策略成为当前唯一可行的技术途经,这也是目前无线传感器网络研究领域的一个重要课题。近年来国内外众多学者针对无线传感网络的应用需求提出了许多改进的路由协议,但是大多数协议把改进目标放到提升网络服务质量上,对节点能量紧缺问题的关注较为不足。随着各种智能算法的相继出现,越来越多的学者将它们应用于无线传感器网络路由协议的研究中,而蚂蚁寻找食物的行为与网络中节点寻找路由的过程十分相似,因此基于蚁群算法的路由协议被陆续提出。此外,由于蚁群算法是一种利用蚂蚁群体协作行为开发的智能算法,拥有群体算法的本质并行性,拥有良好的自组织与鲁棒性,因此被逐步引入到无线传感网路由协议设计中来。本文对蚁群算法的原理与其自身特点进行了深入的研究分析,并在对现有的无线传感器网路由协议,特别是基于蚁群算法的路由协议的研究基础上,以延长网络生命期为目标,将蚁群算法的优良特性与无线传感器网络路由协议设计的要求结合起来。

2 部分代码

clear all close all clc %% GPU配置 % gpu = gpuDevice; % gpu( 1 ); tic %% 此模拟的主要配置值 dataset.nodeNo = 9;% 节点数 ACOnodeNo = dataset.nodeNo; dataset.nodePosition( 1 , : ) = [ 1 50 50 ]; %(发送节点固定位置) dataset.nodePosition( 2 , : ) = [ 2 900 900 ]; %(接收节点固定位置) dataset.NeighborsNo = 5 ; dataset.range = 500 ;%成为一个节点的邻居的%容差距离(基于欧几里得距离) dataset.atenuationFactor = 1.8 ; %自由空间中的 %衰减因子 - 范围从 1.84 适当的环境 dataset.minEnergy = 80 ; % Mw - 毫瓦( 70 % 能量) dataset.maxEnergy = 100 ; % Mw - 毫瓦(全能量 ( 100 %) - 1 伏特能量内的 1 mAh 充电容量) dataset.energyconsumptionperCicle = 0 . 85 ; dataset.energyrecoveryperCicle = 0 . 2 ; dataset.minenergyfactor = 0 . 18 ; dataset.maxenergyfactor = 0 . 2 ; STenergy=inf; packet= 0 ; iterationcounter= 1 ; plotgraphs= 1 ; %如果要绘制图形,选择 1 表示“是”或选择 0 表示“否”(如果没有则性能更好) reprodutibily = 0 ; % 1 = 是(总是生成相同的随机数)( 0 )表示不可重现(每次代码执行时使用不同的随机数); % 位置排序 if reprodutibily == 0 rng( ’shuffle’ ); else rng( ’default’ ); end for a = 3 : dataset.nodeNo dataset.nodeId = a; garbage.x = randi([ 1 900 ]); %Xpos sortition garbage.y = randi([ 1 900 ]); %Ypos sortition dataset.nodePosition(a, : ) = [dataset.nodeId garbage.x garbage.y]; %NodeID, X and Y position into nodePosition table end %欧几里得距离计算从一个节点到所有其他节点 for i = 1 : dataset.nodeNo for j = 1 : dataset.nodeNo garbage.x1 = dataset.nodePosition(i, 2 ); garbage.x2 = dataset.nodePosition(j, 2 ); garbage.y1 = dataset.nodePosition(i, 3 ); garbage.y2 = dataset.nodePosition(j, 3 ); dataset.euclidiana(i,j) = sqrt( (garbage.x1 - garbage.x2) ^ 2 + (garbage.y1 - garbage.y2)^ 2 ); end end %边缘矩阵定义由于“范围”变量值 dataset.weights = lt(dataset.euclidiana,dataset.range); % 图表构建 G=graph(dataset.weights, ’omitselfloops’ ); %Graph creation based on adjacency matrix (Edges matrix) built above %欧几里得距离提取所有存在的端到端形成 %“距离容差”(范围变量值) for a = 1 : height(G.Edges) garbage.s = G.Edges.EndNodes(a, 1 ); garbage.t = G.Edges.EndNodes(a, 2 ); garbage.Z(a, : ) = dataset.euclidiana(garbage.s,garbage.t); end G.Edges.Euclidiana = garbage.Z( : , 1 ); %初始能量排序(从 70 % 到 100 % - minEnergy 和 max Energy 变量值) [dataset.nodePosition( : , 4 )] = dataset.maxEnergy -(dataset.maxEnergy-dataset.minEnergy)*rand(dataset.nodeNo, 1 ); dataset.nodePosition( 1 : 2 , 4 )=STenergy; fclose(fileID); %关闭外部数据采集器文件 if plotgraphs == 1 %用红色绘制所有死节点 for a = 1 : length(garbage.deadnodelist) garbage.b=garbage.deadnodelist(a, 1 ); scatter(dataset.nodePosition(garbage.b, 2 ),dataset.nodePosition(garbage.b, 3 ), ’MarkerFaceColor’ , ’red’ ); end end %最后一个图的标题 try title([ ’WSN最短路径: ’ ,num2str(iterationcounter), ’ |跳数: ’ ,num2str(hopsnumber), ’ |发送的数据包: ’ ,num2str(packet), ’ |死节点: ’ ,num2str(deadnode), ’ |路由器节点: ’ , num2str(garbage.routepath), ’{color{red} - ALL ROUTES UNAVAILABLE}’ ]) catch disp( ’NO ROUTES BETWEEN SOURCE (NODE1) AND TARGET (NODE2)’ ) end %Message 如果在第一次迭代中源和目标之间没有路径 disp( ’NO ROUTES BETWEEN SOURCE (NODE1) AND TARGET (NODE2)’ ) %调用 aco.m 文件以在 aco 脚本中运行相同的场景 toc run aco.m

3 仿真结果

4 参考文献

[1]陶强. 基于蚁群算法的无线传感器网络路由优化研究[D]. 安徽理工大学, 2015.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐