基于多种优化算法的物联网无人机基站研究【布谷鸟搜索CS、大象群体优化EHO、灰狼优化GWO、帝王蝴蝶优化MBO、鲨鱼群算法SSA和粒子群优化PSO】(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章下载


💥1 概述

摘要:
下一代物联网(NG-IoT)应用的出现为第六代(6G)移动网络引入了诸多挑战,如大规模连接、增加的网络容量和极低的延迟。为了应对上述挑战,超密集网络已被广泛认为是一种可能的解决方案。然而,基站(BSs)的密集部署并不总是可行或经济高效的。无人机基站(DBSs)可以促进网络扩展并有效应对NG-IoT的要求。此外,由于其灵活性,它们可以在紧急情况下提供按需连接或应对网络流量的临时增加。然而,由于有限的能量储备和空地链路中信号质量降低,DBS的最佳位置的确定并非易事。为此,群体智能方法可能是在三维(3D)空间中确定DBS的最佳位置的吸引人解决方案。在这项工作中,我们探讨了著名的群体智能方法,包括布谷鸟搜索(CS)、大象群体优化(EHO)、灰狼优化(GWO)、帝王蝴蝶优化(MBO)、鲨鱼群算法(SSA)和粒子群优化(PSO),并研究它们在解决上述问题中的性能和效率。具体而言,我们研究了在不同群体智能方法存在的情况下的三个场景的性能。此外,我们进行了非参数统计测试,即弗里德曼和威尔科克森测试,以比较不同的方法。详细文章见第4部分。

📚2 运行结果

部分代码:

%Scenarios 2 and 3
x=[1:10]; %x-axis vector

urban_pathloss(1,:)=CS_avg_pathloss(1,:);
urban_pathloss(2,:)=EHO_avg_pathloss(1,:);
urban_pathloss(3,:)=GWO_avg_pathloss(1,:);
urban_pathloss(4,:)=MBO_avg_pathloss(1,:);
urban_pathloss(5,:)=SSA_avg_pathloss(1,:);
urban_pathloss(6,:)=PSO_avg_pathloss(1,:);
figure
plot(x,urban_pathloss)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Average Pathloss")
title("Average pathloss as a function of the number of DBSs in urban environment")

suburban_pathloss(1,:)=CS_avg_pathloss(2,:);
suburban_pathloss(2,:)=EHO_avg_pathloss(2,:);
suburban_pathloss(3,:)=GWO_avg_pathloss(2,:);
suburban_pathloss(4,:)=MBO_avg_pathloss(2,:);
suburban_pathloss(5,:)=SSA_avg_pathloss(2,:);
suburban_pathloss(6,:)=PSO_avg_pathloss(2,:);
figure
plot(x,suburban_pathloss)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Average Pathloss")
title("Average pathloss as a function of the number of DBSs in suburban environment")

dense_pathloss(1,:)=CS_avg_pathloss(3,:);
dense_pathloss(2,:)=EHO_avg_pathloss(3,:);
dense_pathloss(3,:)=GWO_avg_pathloss(3,:);
dense_pathloss(4,:)=MBO_avg_pathloss(3,:);
dense_pathloss(5,:)=SSA_avg_pathloss(3,:);
dense_pathloss(6,:)=PSO_avg_pathloss(3,:);
figure
plot(x,dense_pathloss)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Average Pathloss")
title("Average pathloss as a function of the number of DBSs in dense-urban environment")

highrise_pathloss(1,:)=CS_avg_pathloss(4,:);
highrise_pathloss(2,:)=EHO_avg_pathloss(4,:);
highrise_pathloss(3,:)=GWO_avg_pathloss(4,:);
highrise_pathloss(4,:)=MBO_avg_pathloss(4,:);
highrise_pathloss(5,:)=SSA_avg_pathloss(4,:);
highrise_pathloss(6,:)=PSO_avg_pathloss(4,:);
figure
plot(x,highrise_pathloss)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Average Pathloss")
title("Average pathloss as a function of the number of DBSs in high-rise urban environment")

% Coverage probability
%Urban environment - 1 , 90dB - 1
urban_coverage(1,:)=CS_avg_coverage(1,1,:);
urban_coverage(2,:)=EHO_avg_coverage(1,1,:);
urban_coverage(3,:)=GWO_avg_coverage(1,1,:);
urban_coverage(4,:)=MBO_avg_coverage(1,1,:);
urban_coverage(5,:)=SSA_avg_coverage(1,1,:);
urban_coverage(6,:)=PSO_avg_coverage(1,1,:);
figure
plot(x,urban_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in urban environment (T=90dB)")

%Urban environment - 1 , 100dB - 2
urban_coverage(1,:)=CS_avg_coverage(2,1,:);
urban_coverage(2,:)=EHO_avg_coverage(2,1,:);
urban_coverage(3,:)=GWO_avg_coverage(2,1,:);
urban_coverage(4,:)=MBO_avg_coverage(2,1,:);
urban_coverage(5,:)=SSA_avg_coverage(2,1,:);
urban_coverage(6,:)=PSO_avg_coverage(2,1,:);
figure
plot(x,urban_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in urban environment (T=100dB)")

%Urban environment - 1 , 110dB - 3
urban_coverage(1,:)=CS_avg_coverage(3,1,:);
urban_coverage(2,:)=EHO_avg_coverage(3,1,:);
urban_coverage(3,:)=GWO_avg_coverage(3,1,:);
urban_coverage(4,:)=MBO_avg_coverage(3,1,:);
urban_coverage(5,:)=SSA_avg_coverage(3,1,:);
urban_coverage(6,:)=PSO_avg_coverage(3,1,:);
figure
plot(x,urban_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in urban environment (T=110dB)")

%Urban environment - 1 , 120dB - 4
urban_coverage(1,:)=CS_avg_coverage(4,1,:);
urban_coverage(2,:)=EHO_avg_coverage(4,1,:);
urban_coverage(3,:)=GWO_avg_coverage(4,1,:);
urban_coverage(4,:)=MBO_avg_coverage(4,1,:);
urban_coverage(5,:)=SSA_avg_coverage(4,1,:);
urban_coverage(6,:)=PSO_avg_coverage(4,1,:);
figure
plot(x,urban_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in urban environment (T=120dB)")


%Suburban environment - 1 , 90dB - 1
suburban_coverage(1,:)=CS_avg_coverage(1,2,:);
suburban_coverage(2,:)=EHO_avg_coverage(1,2,:);
suburban_coverage(3,:)=GWO_avg_coverage(1,2,:);
suburban_coverage(4,:)=MBO_avg_coverage(1,2,:);
suburban_coverage(5,:)=SSA_avg_coverage(1,2,:);
suburban_coverage(6,:)=PSO_avg_coverage(1,2,:);
figure
plot(x,suburban_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in suburban environment (T=90dB)")

%Suburban environment - 1 , 100dB - 2
suburban_coverage(1,:)=CS_avg_coverage(2,2,:);
suburban_coverage(2,:)=EHO_avg_coverage(2,2,:);
suburban_coverage(3,:)=GWO_avg_coverage(2,2,:);
suburban_coverage(4,:)=MBO_avg_coverage(2,2,:);
suburban_coverage(5,:)=SSA_avg_coverage(2,2,:);
suburban_coverage(6,:)=PSO_avg_coverage(2,2,:);
figure
plot(x,suburban_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in suburban environment (T=100dB)")

%Suburban environment - 1 , 110dB - 3
suburban_coverage(1,:)=CS_avg_coverage(3,2,:);
suburban_coverage(2,:)=EHO_avg_coverage(3,2,:);
suburban_coverage(3,:)=GWO_avg_coverage(3,2,:);
suburban_coverage(4,:)=MBO_avg_coverage(3,2,:);
suburban_coverage(5,:)=SSA_avg_coverage(3,2,:);
suburban_coverage(6,:)=PSO_avg_coverage(3,2,:);
figure
plot(x,suburban_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in suburban environment (T=110dB)")

%Suburban environment - 1 , 120dB - 4
suburban_coverage(1,:)=CS_avg_coverage(4,2,:);
suburban_coverage(2,:)=EHO_avg_coverage(4,2,:);
suburban_coverage(3,:)=GWO_avg_coverage(4,2,:);
suburban_coverage(4,:)=MBO_avg_coverage(4,2,:);
suburban_coverage(5,:)=SSA_avg_coverage(4,2,:);
suburban_coverage(6,:)=PSO_avg_coverage(4,2,:);
figure
plot(x,suburban_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in suburban environment (T=120dB)")


%Dense urban environment - 1 , 90dB - 1
dense_coverage(1,:)=CS_avg_coverage(1,3,:);
dense_coverage(2,:)=EHO_avg_coverage(1,3,:);
dense_coverage(3,:)=GWO_avg_coverage(1,3,:);
dense_coverage(4,:)=MBO_avg_coverage(1,3,:);
dense_coverage(5,:)=SSA_avg_coverage(1,3,:);
dense_coverage(6,:)=PSO_avg_coverage(1,3,:);
figure
plot(x,dense_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in dense urban environment (T=90dB)")

%Dense urban environment - 1 , 100dB - 2
dense_coverage(1,:)=CS_avg_coverage(2,3,:);
dense_coverage(2,:)=EHO_avg_coverage(2,3,:);
dense_coverage(3,:)=GWO_avg_coverage(2,3,:);
dense_coverage(4,:)=MBO_avg_coverage(2,3,:);
dense_coverage(5,:)=SSA_avg_coverage(2,3,:);
dense_coverage(6,:)=PSO_avg_coverage(2,3,:);
figure
plot(x,dense_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in dense urban environment (T=100dB)")

%Dense urban environment - 1 , 110dB - 3
dense_coverage(1,:)=CS_avg_coverage(3,3,:);
dense_coverage(2,:)=EHO_avg_coverage(3,3,:);
dense_coverage(3,:)=GWO_avg_coverage(3,3,:);
dense_coverage(4,:)=MBO_avg_coverage(3,3,:);
dense_coverage(5,:)=SSA_avg_coverage(3,3,:);
dense_coverage(6,:)=PSO_avg_coverage(3,3,:);
figure
plot(x,dense_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in dense urban environment (T=110dB)")

%Dense urban environment - 1 , 120dB - 4
dense_coverage(1,:)=CS_avg_coverage(4,3,:);
dense_coverage(2,:)=EHO_avg_coverage(4,3,:);
dense_coverage(3,:)=GWO_avg_coverage(4,3,:);
dense_coverage(4,:)=MBO_avg_coverage(4,3,:);
dense_coverage(5,:)=SSA_avg_coverage(4,3,:);
dense_coverage(6,:)=PSO_avg_coverage(4,3,:);
figure
plot(x,dense_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in dense urban environment (T=120dB)")


%High-rise urban environment - 1 , 90dB - 1
highrise_coverage(1,:)=CS_avg_coverage(1,4,:);
highrise_coverage(2,:)=EHO_avg_coverage(1,4,:);
highrise_coverage(3,:)=GWO_avg_coverage(1,4,:);
highrise_coverage(4,:)=MBO_avg_coverage(1,4,:);
highrise_coverage(5,:)=SSA_avg_coverage(1,4,:);
highrise_coverage(6,:)=PSO_avg_coverage(1,4,:);
figure
plot(x,highrise_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in high-rise urban environment (T=90dB)")

%High-rise urban environment - 1 , 100dB - 2
highrise_coverage(1,:)=CS_avg_coverage(2,4,:);
highrise_coverage(2,:)=EHO_avg_coverage(2,4,:);
highrise_coverage(3,:)=GWO_avg_coverage(2,4,:);
highrise_coverage(4,:)=MBO_avg_coverage(2,4,:);
highrise_coverage(5,:)=SSA_avg_coverage(2,4,:);
highrise_coverage(6,:)=PSO_avg_coverage(2,4,:);
figure
plot(x,highrise_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in high-rise urban environment (T=100dB)")

%High-rise urban environment - 1 , 110dB - 3
highrise_coverage(1,:)=CS_avg_coverage(3,4,:);
highrise_coverage(2,:)=EHO_avg_coverage(3,4,:);
highrise_coverage(3,:)=GWO_avg_coverage(3,4,:);
highrise_coverage(4,:)=MBO_avg_coverage(3,4,:);
highrise_coverage(5,:)=SSA_avg_coverage(3,4,:);
highrise_coverage(6,:)=PSO_avg_coverage(3,4,:);
figure
plot(x,highrise_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in high-rise urban environment (T=110dB)")

%High-rise urban environment - 1 , 120dB - 4
highrise_coverage(1,:)=CS_avg_coverage(4,4,:);
highrise_coverage(2,:)=EHO_avg_coverage(4,4,:);
highrise_coverage(3,:)=GWO_avg_coverage(4,4,:);
highrise_coverage(4,:)=MBO_avg_coverage(4,4,:);
highrise_coverage(5,:)=SSA_avg_coverage(4,4,:);
highrise_coverage(6,:)=PSO_avg_coverage(4,4,:);
figure
plot(x,highrise_coverage)
legend("CS", "EHO", "GWO", "MBO", "SSA", "PSO")
xlabel("Number of DBSs")
ylabel("Coverage Probability")
title("Coverage probability as a function of the number of DBSs in high-rise urban environment (T=120dB)")

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

OSCAR LIJEN HSU 1 AND CHE-RUNG LEE2

🌈4 Matlab代码、数据、文章下载

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值