【优化调度】基于粒子群实现面向物联网应用的动态请求调度优化附matlab代码和论文

发布于:2022-11-28 ⋅ 阅读:(666) ⋅ 点赞:(0)

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机

⛄ 内容介绍

在 5G 时代,随着物联网 (IoT) 对计算和海量数据流量的需求日益增加,移动边缘计算 (MEC) 和超密集网络 (UDN) 被认为是两项赋能且极具发展前景的技术。所谓的超密集边缘计算(UDEC)。任务卸载作为一种有效的解决方案为 UDEC 网络中的移动用户提供了低延迟和灵活的计算。然而,边缘云上有限的计算资源和移动用户的动态需求使得将计算请求调度到适当的边缘云变得具有挑战性。为此,我们首先制定了移动用户的发射功率分配(PA)问题,以最小化能耗。使用拟凸技术,我们解决了 PA 问题,并提出了一种基于次梯度 (NCGG) 的非合作博弈模型。然后,我们将联合请求卸载和资源调度(JRORS)问题建模为一个混合整数非线性程序,以最小化请求的响应延迟。JRORS问题可以分为两个问题,即请求卸载(RO)问题和计算资源调度(RS)问题。因此,我们将JRORS问题作为一个双重决策问题进行分析,提出了一种基于i-NSGA-II的多目标优化算法,简称MO-NSGA。仿真结果表明,NCGG可以节省传输能耗,收敛性好,MO-NSGA在响应率方面优于现有方法,在动态UDEC网络中仍能保持良好的性能。我们将联合请求卸载和资源调度(JRORS)问题建模为一个混合整数非线性程序,以最小化请求的响应延迟。仿真结果表明,NCGG可以节省传输能耗,收敛性好,粒子群算法在响应率方面优于现有方法,在动态UDEC网络中仍能保持良好的性能。

⛄ 部分代码

% JRORS Problem

function W = JRORS(xqn,user_profile,alloted_bs,gunt,U,sig2,B,Iq,wq,Rc,Rqn,Tgq,Tbq,Tavg,PBS,PC)

W = 0;

for u = U

     n = alloted_bs(u);

     spunt = sum(user_profile);

     sgunt = sum(gunt);

     x = user_profile(u)*gunt(u,n)/(sig2 + (spunt*sgunt(n)) - (user_profile(u)*gunt(u,n)));

     vun = B*log2(1+x); % Uplink rate from mobile user u to BS n

     if xqn(u) == 1

            tqup = Iq/vun; % Uplink transmission time of request q to BS n

     else

            tqup = Iq/vun; % Uplink transmission time of request q to BS n

     end

     if xqn(u) == 1

            tqpro = wq/Rqn(u,1); % Process time of request q at BS

     else

            tqpro = wq/Rc; % Process time of request q at BS 

     end

     tq = tqup + tqpro ; % Total response time of request q

     alpha = 0.15;

     if tq <= Tgq

            kq = 1; % Edge system utility

     elseif Tgq < tq & tq <= Tavg

            kq = 1 - 1/(1 + exp(alpha*(Tavg - tq)/(Tavg - Tgq)));

     elseif tq > Tbq

            kq = 0;

     else

            kq = 1/(1 + exp(alpha*(tq - Tavg)/(Tbq - Tavg)));

     end

     if xqn(u) == 1

            eprot = PBS*tqpro;

     else

            eprot = PC*tqpro;

     end

     cq = 10*alpha*(exp(((user_profile(u) * tqup) + eprot)/10) - exp((user_profile(u) * tqup)/10)); % Edge system cost for processing request q 

     epsilon = 0.99;

     eq = epsilon*kq + (1-epsilon)*eprot; % Extra cost of offloading to macro BS

     W = W + (xqn(u)*(kq - cq)) - ((1-xqn(u))*eq); % System Welfare

end

end

⛄ 运行结果

⛄ 参考文献

[1] Hu S ,  Li G . Dynamic Request Scheduling Optimization in Mobile Edge Computing for IoT Applications[J]. IEEE Internet of Things Journal, 2020, 7(2):1426-1437.

❤️ 关注我领取海量matlab电子书和数学建模资料

❤️部分理论引用网络文献,若有侵权联系博主删除

本文含有隐藏内容,请 开通VIP 后查看