⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gagljoutputdraw.m

📁 GA算法
💻 M
字号:
function randmatrixdraw()
N=4;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%  流量负载U分别取值为[3,5,7,9,11,13,15,17,19,21,23,25,27,29]   %%%%%%%%
%%%%%      随机产生对应的14个流量矩阵T,分别用BV、GLJ算法计算          %%%%%%%%
%%%%%                      画负载-抖动曲线图                       %%%%%%%%
%%%%%                      画负载-需求带宽曲线图                   %%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%   初始化
U(1)=3;
for i=2:14
    U(i)=U(i-1)+2;
end
for i=1:14
    k=2*i+1;%使流量负载U分别=[3,5,7,9,11,13,15,17,19,21,23,25,27,29]
    for j1=1:N
        for j2=1:N
            T(j1,j2)=unidrnd(k);%%%随机产生流量矩阵T
        end
    end
    %%%%%%%%%%%%%%   调用GLJ算法
    [table,len,gljbandsize(i),gljminband(i),matrixnumb(i,1)]=glj(T);
    gljjitter(i)=gljjit(table,len,T); 
    %%%%%%%%%%%%%%   调用BV算法
    TIMES=1;%%%%%% bv分解循环次数,求最差的抖动性能
    bvjitter(i)=0;
    bvbandsize(i)=0;    
    for j=1:TIMES        
        [table,len,tempbandsize(j),matrixnumb(i,2)]=bv(T);
        tempjitter(j)=bvjit(table,len,T);   
        if bvjitter(i)<tempjitter(j)
            bvjitter(i)=tempjitter(j); 
            bvbandsize(i)=tempbandsize(j);
        end
    end    
end
for i=1:14
    bvoutput(i)=10*U(i)/bvbandsize(i);
    gljoutput(i)=10*U(i)/gljbandsize(i);
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%       画GLJ、GA算法的负载-吞吐量对比图      %%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% 画GA算法的U-B图
figure;
i=1:14;
plot(U(i),bvoutput(i),'-r.','MarkerSize',20);
hold on;
grid on;
%%%%%% 画GLJ算法的U-B图
i=1:14;
plot(U(i),gljoutput(i),'-b.','MarkerSize',15);
legend('GA算法','GLJ算法','Location','NorthWest');
xlabel('U:端口间业务最大负载');
ylabel('吞吐量');
title('4*4端口交换机,吞吐量-负载特性曲线图');
axis([0,30,0,5]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -