IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 【优化覆盖】基于matlab人工蜂群算法求解无线网络传感覆盖优化问题【含Matlab源码 1097期】 -> 正文阅读

[数据结构与算法]【优化覆盖】基于matlab人工蜂群算法求解无线网络传感覆盖优化问题【含Matlab源码 1097期】

一、人工蜂群算法求解无线网络传感覆盖优化问题简介

1 WSN覆盖模型
1.1 问题描述

在WSN中, 要实现较高的无线网络传感器节点覆盖率从而减少监测盲点的出现, 就必须加大无线网络传感器节点的分布密度。但是一旦无线网络传感器节点的分布密度太大, 势必产生冗余节点, 甚至导致数据传输发送冲突, 使节点能量过多消耗, 最终使得WSN的生存周期过短。就单个传感器节点来说, 如果该节点的监测区域可以被其他传感器节点覆盖, 那么这个节点就被视为冗余节点, 当其他传感器节点工作时, 该节点可以处于休眠状态。通过相应的算法判断出冗余节点, 在保证网络覆盖率的条件下, 使WSN中的工作节点最少, 降低整体网络的能量消耗。因此, 在WSN的初始化阶段, 工作节点的数目和节点能量的消耗需要结合考虑, 这就出现了工作节点数目和网络覆盖率之间的矛盾。

1.2 覆盖模型
网络覆盖率f1和节点休眠率函数f2分别定义为
在这里插入图片描述
式中, |S|为部署传感器节点总数, |Si|为工作传感器节点数。

考虑到网络的能耗均衡, 引入区域能量Ek和能量均衡系数Ea两个定义具体为
在这里插入图片描述
式中, Eki表示第k个网格中节点i的剩余能量, mk表示第k个网格中的节点个数。
在这里插入图片描述
Ea反应网络能耗均衡度, 其值越大表示能耗越不均匀, 反之能耗越均匀[8]。

由于无线传感器网络覆盖优化与网络能耗密切相关, 为此增加一个能量均衡系数子函数, 即令f3=Ea。因此, WSN覆盖优化为综合工作节点数、覆盖率和能量均衡, 使网络覆盖率在满足实际应用需求的基础上, 尽可能多的冗余节点进入休眠状态, 从而节省能量消耗。因此, WSN覆盖优化目标数学模型为
在这里插入图片描述
式中, w1、w2和w3为权值w1+w2+w3=1。为了找到最优WSN覆盖方案, 采用人工鱼群算法进行求解。

2 无线传感器网络覆盖优化算法
2.1 混沌人工蜂群算法

人工蜂群算法 (Artificial Bee Colony Algorithm, ABC) 属于一种元启发式智能算法, 是一种非数值计算的组合优化算法。人工蜂群算法虽然算法简单, 但易陷入局部极值点, 优化的后期收敛速率慢。由于混沌运动具有遍历性、对初始条件的敏感性、随机性等特点, 为了提高蜂群搜索的遍历性和种群的多样性, 本文将混沌思想加入人工蜂群算法中, 从而提高人工蜂群算法的收敛速度和精度, 改善算法摆脱局部极值点的能力。由于Logistic映射较其他混沌迭代映射计算量小、使用方便, 用其来产生混沌序列如:
在这里插入图片描述
式中, δ为控制参量, 取δ=4, 设0≤z0≤1, 式 (6) 完全处于混沌状态, 并可由此迭代出一个确定的时间序列。

本文混沌融入人工蜂群算法, 基本思想主要体现在以下两方面:

(1) 蜂群的位置采用混沌序列初始化, 既不改变初始化时位置所具有的随机性, 又提高了搜索的遍历性和蜂群的多样性, 以初始群体为样本, 从中择优生成初始群体。

(2) 在当前每个观察蜂和采蜜蜂搜索到的最优位置的基础上产生混沌序列, 从而实现领域小范围的随机搜索, 并且在迭代中产生局部最优解的众多领域点, 由此促进最优解的搜寻。

2.2 基于CABC的WSN覆盖优化步骤
基于混沌人工蜂群算法的的WSN覆盖优化流程如图1所示。根据式 (5) 得到优化后的目标函数, 结合改进的混沌人工蜂群算法, 具体优化步骤如下:
(1) 参数初始化, 如维数、种群数、最高循环代数、阈值等。其中观察蜂和采蜜蜂各占一半, 侦查蜂设为1个;
(2) 产生n个初始解, 从而形成初始蜂群;
(3) 计算起始覆盖率;
(4) 更新节点 (蜜源) 位置;
(5) 计算更新后节点的覆盖率 (适度值) , 与当前值比较保留相对优质节点值;
(6) 以当前蜜源为局部最优解, 并记忆;
(7) 循环次数加1;
(8) 如果终止条件满足 (一般为达到目标适应度值或最大循环代数) 则终止, 进而返回最佳适应度值, 则返回步骤 (2) 继续进行。
在这里插入图片描述
图1 基于混沌人工蜂群算法的覆盖优化流程图

二、部分源代码

%% 初始化
clear
close all
clc

三、运行结果

在这里插入图片描述

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.
[5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018.
[6]文政颖,翟红生.基于混沌人工蜂群算法的无线传感器网络覆盖优化[J].计算机测量与控制. 2014,22(05)

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:13:30  更:2022-05-06 11:15:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:32:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码