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

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

1.算法运行效果图预览

Ttttttttttttt111111------66666666

2.算法运行软件版本
MATLAB2022a

3.算法理论概述
整个网络由一个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的网络收益函数,用来判断是否切换;

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

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

e2985f7ec86285fde32f6410bca97dbf_82780907_202401290015550928490506_Expires=1706459155&Signature=WsbQprB%2Bl9pB8AGLO6fUpevUgKc%3D&domain=8.png

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

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

信号强度P:即RSS值。

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

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

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

4.部分核心程序

%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 > fwf
             f1(i) = 1;
             T1_5g = T1_5g + 1;
          else
             f1(i) = 0; 
             T1_wf = T1_wf + 1;
          end
          if abs(f5g-fwf) < 1
             STOP_TIME=STOP_TIME-1;
          else
             STOP_TIME=STOP_TIME+1;  
          end
          STOP_TIME=min(STOP_TIME,36);
          STOP_TIME=max(STOP_TIME,4);
          %驻留时间
          %驻留时间
          if i > STOP_TIME
             C1(i) = mean(f1(i-STOP_TIME+1:i)); 
             C2    = mean(C1(i-STOP_TIME+1:i)); 
             f0(i) =(sign(C2-0.49)+1)/2;
          else
             C1(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 < 1
             is_opt = 0; 
          else
             is_opt = 1;  
          end
       else
           %存在远大于的情况,则认为是只检测一个网络
           if RSS_5G   >= Beta*RSS_WIFI%5G远大于WIFI  
              f1(i) = 1;
              RSS   = RSS_5G;
              T1_5g = T1_5g + 1;
           end
           if RSS_WIFI >= Beta*RSS_5G%WIFI远大于5G
              f1(i) = 0; 
              RSS   = RSS_WIFI;
              T1_wf = T1_wf + 1;
           end  
           %驻留时间
           %驻留时间
           if i > STOP_TIME
              C1(i) = mean(f1(i-STOP_TIME+1:i)); 
              C2    = mean(C1(i-STOP_TIME+1:i)); 
              f0(i) =(sign(C2-0.49)+1)/2;
           else
              C1(i) = mean(f1(1:i));  
              C2    = mean(C1(1:i));
              f0(i) =(sign(C2-0.49)+1)/2;
           end
       end   
    end

    %门限更新
    Tt(i) = 0.5*RSS;
    if i == 1
       T = Tt(i)
    else
       T = alpha*Tt(i) + (1-alpha)*Tt(i-1);%门限做二次平滑 
    end
    %统计切换次数
    if i > 3
        if abs(f0(i)-f0(i-1))>0.1
           count = count + 1;
        end
        CNT(i)=count;
    end 
end%Over i = 1:N



figure;
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
相关文章
|
19天前
|
机器学习/深度学习 存储 算法
神经网络分类算法原理详解
神经网络分类算法原理详解
30 0
|
23天前
|
机器学习/深度学习 算法 PyTorch
RPN(Region Proposal Networks)候选区域网络算法解析(附PyTorch代码)
RPN(Region Proposal Networks)候选区域网络算法解析(附PyTorch代码)
174 1
|
8天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
26 0
|
1天前
|
算法 定位技术 Windows
R语言最大流最小割定理和最短路径算法分析交通网络流量拥堵问题
R语言最大流最小割定理和最短路径算法分析交通网络流量拥堵问题
10 4
|
4天前
|
机器学习/深度学习 算法
【MATLAB】GA_ELM神经网络时序预测算法
【MATLAB】GA_ELM神经网络时序预测算法
276 9
|
4天前
|
机器学习/深度学习 数据采集 算法
|
7天前
|
机器学习/深度学习 自然语言处理 算法
|
10天前
|
算法 索引
【算法与数据结构】深入二叉树实现超详解(全源码优化)
【算法与数据结构】深入二叉树实现超详解(全源码优化)
|
23天前
|
机器学习/深度学习 算法 Python
LSTM(长短期记忆)网络的算法介绍及数学推导
LSTM(长短期记忆)网络的算法介绍及数学推导
16 0
|
23天前
|
机器学习/深度学习 算法 大数据
基于PyTorch对凸函数采用SGD算法优化实例(附源码)
基于PyTorch对凸函数采用SGD算法优化实例(附源码)
29 3