基于遗传优化的多属性判决5G-Wifi网络切换算法matlab仿真

2023-11-25 23:04

本文主要是介绍基于遗传优化的多属性判决5G-Wifi网络切换算法matlab仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

5.算法完整程序工程


1.算法运行效果图预览

2.算法运行软件版本

MATLAB2022a

3.部分核心程序

..........................................................................
%接收功率、网络覆盖范围、速率、费用价格
%P5g,D5g,S5g,L5g,C5g
C=[1,	3,  5, 7, 9;1/3, 1,  3, 5, 7; 1/5,	1/3,1, 3, 5;1/7,	1/5, 1/3, 1,	3;1/9,	1/7, 1/5, 1/3,	1];%获得收益函数%获得收益函数f5g = (Rs(1,1)^w1)*(Rs(1,2)^w2)*(Rs(1,3)^w3)*(Rs(1,4)^w4)*(Rs(1,5)^w5) + TQOS_5g;fwf = (Rs(2,1)^w1)*(Rs(2,2)^w2)*(Rs(2,3)^w3)*(Rs(2,4)^w4)*(Rs(2,5)^w5) + TQOS_wf;%进行判决%进行判决if f5g > fwff1(i) = 1;T1_5g = T1_5g + 1;elsef1(i) = 0; T1_wf = T1_wf + 1;endif abs(f5g-fwf) < 1STOP_TIME=STOP_TIME-1;elseSTOP_TIME=STOP_TIME+1;  endSTOP_TIME=min(STOP_TIME,36);STOP_TIME=max(STOP_TIME,4);%驻留时间%驻留时间if i > STOP_TIMEC1(i) = mean(f1(i-STOP_TIME+1:i)); C2    = mean(C1(i-STOP_TIME+1:i)); f0(i) =(sign(C2-0.49)+1)/2;elseC1(i) = mean(f1(1:i));  C2    = mean(C1(1:i));f0(i) =(sign(C2-0.49)+1)/2;end%计算收益值变化值,如果变换较大,则反馈更新权值,否则权值不变%计算收益值变化值,如果变换较大,则反馈更新权值,否则权值不变ERR = abs(fwf-f5g);if ERR < 1is_opt = 0; elseis_opt = 1;  endelse%存在远大于的情况,则认为是只检测一个网络if RSS_5G   >= Beta*RSS_WIFI%5G远大于WIFI  f1(i) = 1;RSS   = RSS_5G;T1_5g = T1_5g + 1;endif RSS_WIFI >= Beta*RSS_5G%WIFI远大于5Gf1(i) = 0; RSS   = RSS_WIFI;T1_wf = T1_wf + 1;end  %驻留时间%驻留时间if i > STOP_TIMEC1(i) = mean(f1(i-STOP_TIME+1:i)); C2    = mean(C1(i-STOP_TIME+1:i)); f0(i) =(sign(C2-0.49)+1)/2;elseC1(i) = mean(f1(1:i));  C2    = mean(C1(1:i));f0(i) =(sign(C2-0.49)+1)/2;endend   end%门限更新Tt(i) = 0.5*RSS;if i == 1T = Tt(i)elseT = alpha*Tt(i) + (1-alpha)*Tt(i-1);%门限做二次平滑 end%统计切换次数if i > 3if abs(f0(i)-f0(i-1))>0.1count = count + 1;endCNT(i)=count;end 
end%Over i = 1:Nfigure;
plot(f0,'b','Linewidth',2);
hold on;
plot(1:N,0.5*ones(1,N),'r','Linewidth',2);
grid on;
xlabel('Times');
ylabel('判决门限');
axis([0,N,-0.2,1.2]);
text(N/4,1.1,'接入5G')
text(3*N/4,0.1,'接入WIFI')
title('本课题算法');figure;
plot(1:N,CNT,'r','Linewidth',2);
grid on;
xlabel('Times');
ylabel('切换次数');
title('本课题算法');
save R1.mat f0 N CNT
01_089m

4.算法理论概述

        整个网络由一个5G基站,一个WIFI基站,以及一个移动终端设备构成。移动终端设备首先位于有5G网络环境,随后运动进入5G/WIFI的异构融合网络,进行网络的切换判决,最后移出该融合网络,再次进入5G网络覆盖范围。

       本文提出了一种基于遗传优化的多属性判决5G-Wifi网络切换算法,该算法通过结合遗传算法和多属性决策理论,实现了对网络切换过程的优化和加速。具体来说,我们首先使用遗传算法对网络切换过程中的参数进行优化,然后使用多属性决策方法对网络的多个属性进行综合评估,以得到最优的网络切换决策。

       我们首先定义网络切换的问题模型。设网络的属性集合为A={a1, a2, ..., an},其中每个属性ai表示网络的某个特性,如带宽、延迟、信号强度等。设网络集合为N={n1, n2, ..., nm},其中每个网络nj表示一个可用的网络。我们的目标是在给定的时刻t,找到一个最优的网络n*∈N,使得网络切换后的综合性能最佳。为了量化网络的综合性能,我们引入一个多属性判决函数F,该函数将网络的多个属性映射到一个实数空间:

F: A→R (1)

        其中R表示实数集。这个函数可以根据不同的应用场景和需求,采用不同的形式和权重。例如,可以采用加权平均法、TOPSIS法等方法来构建。

      算法的基本步骤如下:

第一:进行RSS的计算;

第二:根据反馈门限和RSS进行网络的识别,区分存在一个网络和两个网络;

第三:在存在两个网络的情况下进行AHP分层,获得多属性参数;

第四:初始化计算多属性参数的加权值;

第五:使用改进后的遗传算法,对加权值进行优化;

第六:设计一种结合用户QOS的网络收益函数,用来判断是否切换;

第七:门限的调整,驻留时间的调整

其中,遗传算法的适应度函数如下:

我们对五个属性参数进行简单的介绍:

网络覆盖范围R:网络覆盖范围定义为设备和网络基站之间的间隔。

信号强度P:即RSS值。

网络的使用费用C:使用费用值为不同的单位流量的费用。

服务速率S:即不同的网络的速率。

传输延迟D:即不同的网络的延迟

5.算法完整程序工程

OOOOO

OOO

O

这篇关于基于遗传优化的多属性判决5G-Wifi网络切换算法matlab仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/424768

相关文章

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

90%的人第一步就错了! 顺利登录wifi路由器后台的技巧

《90%的人第一步就错了!顺利登录wifi路由器后台的技巧》登录Wi-Fi路由器,其实就是进入它的后台管理页面,很多朋友不知道该怎么进入路由器后台设置,感兴趣的朋友可以花3分钟了解一下... 你是不是也遇到过这种情况:家里网速突然变慢、想改WiFi密码却不知道从哪进路由器、新装宽带后完全不知道怎么设置?别慌

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变