基于多种优化算法的物联网无人机基站研究【布谷鸟搜索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部分。

基于多种优化算法的物联网无人机基站(DBSs)研究是一个复杂且前沿的领域,它结合了物联网技术、无人机技术和多种优化算法,旨在解决下一代物联网(NG-IoT)应用中的挑战,如大规模连接、增加的网络容量和极低的延迟。以下是对布谷鸟搜索(CS)、大象群体优化(EHO)、灰狼优化(GWO)、帝王蝴蝶优化(MBO)、鲨鱼群算法(SSA)和粒子群优化(PSO)在物联网无人机基站研究中的应用概述:

1. 布谷鸟搜索(CS)

布谷鸟搜索算法通过模拟布谷鸟的寄生育雏行为来优化问题。在物联网无人机基站研究中,CS算法可以用于确定无人机基站的最佳位置,以最大化网络覆盖并最小化路径损耗。CS算法的随机游走特性有助于在搜索空间中寻找全局最优解。

2. 大象群体优化(EHO)

大象群体优化算法模拟了象群在寻找食物和迁徙时的行为。在无人机基站研究中,EHO算法可以用于解决三维空间中的基站部署问题,通过模拟象群的行为来快速有效地找到最优或次优的基站位置。此外,EHO算法还可以应用于无人机路径规划,特别是在复杂地形下的避障和三维航迹规划。

3. 灰狼优化(GWO)

灰狼优化算法通过模拟灰狼的社会等级和狩猎行为来优化问题。在无人机基站研究中,GWO算法可以用于确定基站的最佳位置,以应对网络容量的增加和延迟的降低。GWO算法的全局搜索和局部搜索能力使其能够在复杂的搜索空间中找到最优解。此外,GWO算法的变种如多种群灰狼优化算法(MP-GWO)和灰狼-布谷鸟优化算法(CS-GWO)也在无人机路径规划中展现出强大的应用潜力。

4. 帝王蝴蝶优化(MBO)

帝王蝴蝶优化算法是一种仿生优化算法,其灵感来源于帝王蝶的迁徙行为。在无人机基站研究中,MBO算法可以用于解决三维航迹规划问题,特别是在复杂地形下规划出满足安全性和效率要求的航迹。MBO算法通过模拟帝王蝶的迁徙行为,将优化问题转化为搜索问题,并在搜索空间中寻找最优解。

5. 鲨鱼群算法(SSA)

鲨鱼群算法是一种模拟鲨鱼群体行为的优化算法。在物联网无人机基站研究中,SSA算法可以用于解决基站部署和路径规划问题。通过模拟鲨鱼群体的捕食和协作行为,SSA算法能够在复杂的搜索空间中快速找到最优或次优解。

6. 粒子群优化(PSO)

粒子群优化算法是一种基于群体智能的优化算法,通过模拟鸟群觅食行为来优化问题。在无人机基站研究中,PSO算法可以用于确定基站的最佳位置,以最大化网络覆盖并减少路径损耗。PSO算法通过不断更新粒子的位置和速度来逼近最优解,具有结构简单、易于实现等优点。

总结

基于多种优化算法的物联网无人机基站研究是一个多学科交叉的领域,它结合了物联网技术、无人机技术和多种优化算法的优势。通过应用这些优化算法,可以更加高效地解决物联网无人机基站部署和路径规划中的复杂问题,为下一代物联网应用提供更加可靠和高效的网络支持。未来,随着算法的不断优化和无人机技术的不断发展,这些方法将在更多领域得到广泛应用。

📚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代码、数据、文章下载

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值