基于遗传算法的无人机辅助边缘计算的能耗优化方法

文档序号:26837087发布日期:2021-10-07 09:39阅读:109来源:国知局
基于遗传算法的无人机辅助边缘计算的能耗优化方法

本发明涉及无人机辅助边缘计算技术领域,具体涉及一种基于遗传算法的无人机辅助边缘计算的能耗优化方法。

背景技术

随着信息化程度的深入,移动设备和数据量快速增加,计算密集型应用(例如在线游戏、自动驾驶等)不断普及。由于这些应用都是计算密集和时延敏感型的,超出了普通智能设备的计算频率,计算密集型需求与有限计算频率之间的矛盾降低了设备的服务质量(Quality of Service,QoS)。为了应对以上的挑战,提出了移动边缘计算(Mobile Edge Computing,MEC)的概念。无人机部署在网络边缘,设备将部分或者全部设备卸载到无人机上,并且与云计算相比,MEC消耗了更少的传输时间和能耗,减少了数据隐私泄露的风险,降低了网络负担,降低了网络扩展成本,同时延长移动终端的电池寿命和设备使用周期。

在已有的MEC网络场景中,部署在地面的无人机的位置通常是固定并且不能根据移动设备的需求进行灵活部署,这限制了MEC的作用,并且在很多场景下例如沙漠地区、山地环境、应急通信、军事训练、自然灾难等情况下,地面通信设施被破坏导致没有信号覆盖。这种情况下,无人机(unmanned aerial vehicle,UAV)辅助MEC被认为是解决这些问题的一种有希望的技术。虽然无人机的优点在于灵活性和便携性,但是缺点也很明显,相较于地面基站,用无人机作为载体提供计算卸载服务有两大缺点:(1)续航能力有限,无人机受限于能量限制,无法长时间飞行;(2)无人机特别是旋翼无人机载荷有限,限制了算力和存储,无法处理大规模设备。



技术实现要素:

本发明针对无人机续航能力和载荷有限的问题,提供一种基于遗传算法的无人机辅助MEC的能耗优化方法。

降低无人机和设备的总能耗,使得无人机能够更好地辅助MEC。

为解决上述问题,本发明是通过以下技术方案实现的:

基于遗传算法的无人机辅助边缘计算的能耗优化方法,包括步骤如下:

步骤1、构建计算与数据传输能耗函数f(si,gi),并通过最小化计算与数据传输能耗函数f(si,gi)得到最优卸载率(si,gi);

计算与数据传输能耗函数f(si,gi)为:

s.t.

si+gi<1

0≤si≤1

0≤gi≤1

步骤2、基于最优卸载率(si,gi),计算每个物联网设备的任务在该物联网设备的本地端、无人机端和基站端所需的时间Ti-1、Ti-2和Ti-3;

第i个物联网设备的任务在本地端所需的时间Ti-1为:

第i个物联网设备的任务在无人机端所需的时间Ti-2为:

第i个物联网设备的任务在基站端所需的时间Ti-3为:

步骤3、根据步骤2所得到的N个物联网设备的任务在本地端、在无人机端和在基站端所需时间,得到设备任务处理时间矩阵;

设备任务处理时间矩阵M为:

步骤4、将设备任务处理时间矩阵M中的每一行视为一个任务,先通过随机打乱设备任务处理时间矩阵M中的任务顺序,得到初始的染色体,再将预定数量的初始的染色体组成初始的染色体种群;

步骤5、将每个染色体的全部任务的完成时间视为该染色体的适应度值,并基于染色体的适应度值对当前染色体种群进行选择、交叉和变异操作,以更新当前的染色体种群;

步骤6、当当前的染色体种群中所有染色体的最小适应度值不再降低或当前迭代次数达到最大迭代次数时,停止迭代,该最小适应度值所对应的染色体的任务顺序即为最优任务执行顺序;否则返回步骤5;

式中,si为第i个物联网设备的任务在无人机处理的比例,gi为第i个物联网设备的任务在基站处理的比例,k2为无人机的能耗系数,为无人机的初始计算频率,v为CPU功耗系数,λi为第i个物联网设备的任务的计算复杂度,Di为第i个物联网设备的任务的数据量,p0为CPU静态功率、kt为物联网设备的功率放大器系数,B为信道带宽,pUAV为无人机到基站的数据传输功率,hUAV为无人机到基站的信道增益,N0为噪声功率谱密度,k1为物联网设备的能耗系数,为第i个物联网设备的初始计算频率,为第i个物联网设备到无人机的数据传输功率,为第i个物联网设备到无人机的信道增益,PMPT为无人机给设备的充电功率,fBS为基站端的处理速率,i=1,2,…,N,N为物联网设备的数量。

与现有技术相比,本发明通过对系统的物联网设备、无人机和基站的并行处理和计算,并在此基础上应用遗传算法对系统的物联网设备、无人机和基站的任务执行顺序进行调整,并通过联合系统卸载比例、CPU频率和卸载设备顺序降低无人机与设备的能耗,减少系统的物联网设备、无人机和基站之间的时隙间隔,降低系统总完成时间。与传统的单流水线和未经优化的三流水线方法相比,本发明所耗时间更少,无人机悬停能耗更低。

附图说明

图1为无人机辅助基站计算卸载模型图;

图2为基于遗传算法的计算卸载能耗优化流程图;

图3为基于工序编码的POX交叉算子的染色体交叉过程;

图4为染色体变异过程;

图5为物联网设备甘特图;

图6为物联网设备总时间收敛曲线。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,对本发明进一步详细说明。

参见图1的无人机辅助基站计算卸载模型图,无人机的总能耗分为无人机的计算和通信能耗与无人机的悬停能耗。无人机的计算和通信能耗进一步分为计算能耗和通信能耗,其中计算能耗包括无人机搭载的无人机和IoT(Internet of Things,物联网)设备的计算能耗,通信能耗包括无人机和IoT设备的数据传输能耗。无人机的悬停能耗由无人机在服务区域上空的悬停时间决定,而悬停时间由区域内所有设备完成任务总时间决定。这样通过对无人机的计算和通信能耗与无人机的悬停能耗进行优化,便能够降低无人机的总能耗,提高续航时间。

无人机辅助MEC系统主要由物联网设备、搭载轻量无人机的无人机、配备无人机的基站这三个部分组成。系统的工作过程如下:1)无人机确定好服务的区域后,飞到区域的中心上空固定高度处并悬停;无人机向区域内的物联网设备发出信号,物联网设备从无人机接收能量。2)物联网设备接收无人机发来的能量后,先处理能够在物联网设备计算的部分,再将剩余任务上传到无人机。3)无人机接收物联网设备发来的任务后,先利用无人机搭载的轻量无人机处理能够在无人机计算的部分,再将剩余的任务上传到基站。4)基站接收无人机发来的任务后,利用基站配备的无人机处理任务。

上述过程有两个关键条件:第一:无人机无线传能不能和设备数据上传同时进行,因为无人机MPT天线的发送能量的功率远大于设备数据传输功率,因此如果发送能量和数据传输同时进行,那么数据传输信号将会被MPT的无线传能RF(Radio Frequency)信号干扰,造成数据传输无法进行。第二:无人机搭载无人机和基站配备无人机采取串行方式执行任务,同一时间只能处理一个设备任务,但是无人机在执行任务时可以同时接收其他设备的数据传输,而不必等待上一个计算设备完成卸载。

综合考虑无人机辅助MEC系统的整个工作过程,其任务分别在本地物联网设备、无人机和基站三处执行,在得到任务在本地、无人机和基站执行的比例之后,就得到三大部分的时间:第一部分是无人机通过MPT为物联网设备无线充电的时间和任务在本地处理时间;第二部分是物联网设备将任务数据发送给无人机的时间和任务在无人机处理的时间;第三部分是无人机将任务数据发送给基站的时间和基站无人机处理的时间。将无人机辅助MEC系统的三个部分的计算设备建模为多流水线车间调度问题,目的是得到所有设备任务的最佳执行次序以降低时延,得到最短处理时间,此时无人机的悬停能耗也达到最小。

虽然无人机辅助边缘计算中,无人机有很多需要服务的区域,但是区域之间相互独立,本发明不考虑无人机的路径规划问题,只对其中一个区域进行研究。本发明基于遗传算法的多流水线车间调度模型优化无人机辅助MEC中的任务执行顺序,优化无人机的计算和通信能耗,减少无人机的悬停时间,降低无人机的悬停能耗。

为此,本发明所提出的一种基于遗传算法的无人机辅助边缘计算的能耗优化方法,如图2所示,其具体包括步骤如下:

步骤1、构建计算与数据传输能耗函数f(si,gi),并通过最小化计算与数据传输能耗函数f(si,gi)得到最优卸载率(si,gi)。

1)物联网设备本地计算的时延和能耗:

假定信道带宽为B、噪声功率谱密度为N0、计算复杂度λ、物联网设备的能耗系数k1、无人机的能耗系数k2、单位距离下的视距传输信道增益h0、物联网设备处理能力fUE、无人机的处理能力fUAV、基站处理能力fBS、无人机飞行高度H、物联网设备、无人机和基站的CPU相同,CPU功耗系数正常数v=3。设基站的位置为PBS=(XBS,YBS,0),其中无人机坐标表示为PUAV=(XUAV,YUAV,HUAV);定义为无人机覆盖范围内的物联网设备集合,其中物联网设备坐标表示为Pi=(xi,yi,0),设第i个物联网设备的任务在无人机处理的比例为si和基站处理的比例为gi,那么任务在本地处理的比例为1-si-gi。

第i个物联网设备的任务的本地处理时间为:

式中,si为第i个物联网设备的任务在无人机处理的比例,gi为第i个物联网设备的任务在基站处理的比例,Di为第i个物联网设备任务的数据量,λi为第i个物联网设备任务的计算复杂度,为第i个物联网设备的本地处理能力,第i个物联网设备的本地处理能耗为:

式中,k1为物联网设备的能耗系数,v为CPU功耗系数。是设备的初始计算频率,而是第i个物联网设备通过DVFS技术调节频率后的CPU主频值。任务在经DVFS调节后CPU计算频率的所需时间需要小于任务全部在设备CPU初始计算频率下的时间,表示为将式(1)代入得到:

当式(3)中两者时间相等的情况下,解出将其代入式(1)和式(2)中,第i个物联网设备初始CPU频率表示设备处理时间和能耗分别为

2)任务数据传输时延和传输能耗:

无人机与GTIE之间的通信链路可以视为视距链路,视距链路信道增益与距离平方成反比,根据单位距离下的视距传输信道增益、设备坐标和无人机坐标,无人机与设备之间的信道增益表示为:

已知信道带宽B、信道噪声功率谱密度N0、第i个物联网设备到无人机的数据传输功率以及第i个物联网设备到无人机的信道增益可得,由香农公式得到每个设备任务到无人机的数据传输速率为:

卸载到无人机的数据量为(si+gi)Diλi,根据数据传输速率、设备卸载比例、设备大小和设备复杂度可得设备数据的传输时延:

根据CPU静态功率p0、物联网设备的功率放大器系数kt、物联网设备到无人机的数据传输功率可得设备任务数据传输能耗为:

3)无人机的任务处理时延和任务处理能耗:

无人机处理的任务数据量为siDiλi,无人机的CPU动态频率为根据物联网设备的任务动态变化,那么无人机的数据处理时延为:

根据MEC的CPU能耗系数k2,可得MEC的处理能耗为:

对于UAV搭载的无人机而言,设备任务在内存中排队等待执行,MEC根据每个任务的计算量和数据复杂度调整CPU的频率。但是任务在无人机经DVFS调节后的计算频率下处理的所需时间需要小于全部任务在无人机的初始计算频率下的处理时间,表示为:

将式(10)代入式(12)中,转化为:

取极限情况中两者时间相等的情况下,解出将其代入式(10)和式(11)中,用表示的时延和能耗为:

4)无人机与基站之间的数据传输时延和传输能耗:

根据单位距离下的信道增益h0、无人机坐标(XUAV,YUAV,HUAV)和基站坐标(XBS,YBS),由于无人机与基站之间的通信链路也视为视距链路,所以信道增益表示为:

根据无人机到基站的信道增益hUAV、信道带宽B、无人机到基站的数据传输功率pUAV和噪声功率谱密度N0,可得无人机搭载无人机的上行信道数据传输速率为:

由于卸载给基站的数据量为giDi,根据式(17),那么无人机搭载无人机与基站之间的传输时延为:

根据CPU静态功率p0、功率放大器系数kt、无人机与基站间的数据传输功率pUAV和无人机搭载无人机的上行信道数据传输速率rUAV,可得数据传输能耗为:

5)求出任务最优卸载率:

将任务处理能耗、任务传输能耗、MEC计算能耗与MEC数据传输能耗相加,得到以任务卸载率si和gi为变量的函数,该函数表达的含义是将无人机搭载MEC与设备的计算与数据传输能耗之和:

计算与数据传输能耗函数f(si,gi)表示为:

s.t.

si+gi<1

0≤si≤1

0≤gi≤1

对函数f(si,gi)求黑塞矩阵得到:

由于式(20)中的约束条件0≤gi≤1,0≤si≤1,si+gi≤1,所以式(21)的一阶顺序主子式6(1-gi)≥0,二阶顺序主子式36si(1-si-gi)≥0,根据数学定理,由于其顺序主子式大于等于0,所以式(20)为凸函数。运用Matlab中凸优化CVX工具箱中的fmincon函数求得当凸函数f(si,gi)值为最小时的最优卸载率(si,gi)。

步骤2、基于最优卸载率(si,gi),计算每个物联网设备的任务在该物联网设备的本地端、无人机端和基站端所需的时间Ti-1、Ti-2和Ti-3。

1)任务在本地端所用的时间Ti-1:

时间Ti-1包括三个部分,分别为无人机给设备i无线充电的时间本地计算时间和数据传输时间由于本地计算时间根据式(4)已得到数据传输时间根据式(8)已得到所以只需求出无人机给设备无线充电的时间设无人机给设备的充电功率为PMPT,设备所需的能耗是任务的计算能耗与数据传输能耗之和,将式(20)中求得的最优卸载率(si,gi)代入式(5)和式(9),根据式(22)得到无人机给设备的充电时间

将无人机给设备无线充电的时间本地计算时间和本地数据传输时间相加得到任务在本地端所用的时间Ti-1:

2)任务在无人机搭载无人机所用时间Ti-2:

Ti-2只包括无人机的计算处理时延在式(14)中已求出:

3)任务在基站端所用的时间Ti-3:

Ti-3包括基站端接收数据的时间与基站处理时间之和,将式(20)求得的最优卸载率(si,gi)代入Ti-3中,表示为:

其中fBS是基站端的处理速率。

步骤3:根据步骤2所得到的N个物联网设备的任务在本地端、在无人机端、在基站端分别所需时间Ti-1、Ti-2和Ti-3,得到设备任务处理时间矩阵M:

步骤4,设置遗传算法的参数,并基于设备任务处理时间矩阵对设备任务进行编码,得到初始的染色体种群。

设置的遗传算法的参数包括种群规模Popsize、最大遗传代数即最大迭代次数Iterations、交叉概率Pc、变异概率Pm。在本发明中,种群规模Popsize=500、最大遗传代数Iterations=100、交叉概率Pc=0.9、变异概率Pm=0.05。

在设备任务处理时间矩阵M中每行代表一个设备,每个设备有且仅有一个任务,从左到右每个数字分别代表任务在本地端、无人机端和基站端的执行时间。在矩阵M中一共有N个任务,每个任务有三个处理部分,那么编码时一条染色体的长度为N×3(把二维矩阵转变为一维数据),例如表示为[1,2,2,3,1,2,3,1,…,N-1,N-1,N-1,N,N,N]。(在染色体中每个任务出现的次数为3次,从左到右,任务序号第几次出现那么就代表着该任务到了步骤几,本发明中每个任务都有三个步骤依次执行,分别是本地端、无人机端和基站端。)这种编码方式具有在解码和置换染色体后总能得到可行解的优点。例如对于N×3的染色体而言,随机打乱染色体中的任务顺序,形成500个任务顺序不一样的染色体,这500个染色体就组成了一个种群。

步骤4:计算当前染色体种群的每个染色体的适应度值。

本发明中评价一个染色体的适应度值就是全部任务的完成时间,适应度值计算公式为:

fitness(i)=time (27)

式中,time是指全部任务的完成时间,全部任务的完成时间越短,该染色体性能越好,式(27)中每个染色体的适应度值的具体演算步骤如下:

(1)把每个染色体变换成二维矩阵形式;

(2)拿式(26)举例,M(1,1)的结束时间设为初始时间T0,矩阵M的行数为N,代表有N个设备任务,需要注意的是T0和下面的T00在计算中是不断迭代更新的,设置的初始值不是不变的;

(3)对于i=1:(N-1)而言,如果T0+M(i,2)>sum(M(1:(i+1),1)),那么T0=T0+M(i,2);否则T0=T0+M(i+1,1);

(4)将任务1的步骤1和步骤2的时间之和设置为步骤3的初始时间T00,T00=M(1,1)+M(1,2);

(5)对于i=1:(N-1)而言,如果T00+M(i,3)>T0+sum(M(1:(i+1),2)),那么T00=T00+M(i,3),否则T00=T00+M(i+1,2);

(6)循环结束后,得到这个染色体的所需总时间为T00,此时time=T00。

解释:适应度又称为评价函数,是根据目标函数确定的用于区分群体中个体好坏的标准,目标函数有正有负,而适应度为正,所以可能需要在这两者间进行转换。

步骤5:在得到当前染色体种群的每个染色体的所需总时间time后,对当前染色体种群的染色体进行选择操作。

本发明采用轮盘赌法选择适应度较好的染色体,首先对式(27)中的适应度值进行转换:

Fitness(i)=1/fitness(i) (28)

个体选择概率为

解释:选择操作就是用来确定如何从父代群体中按某种方法选取哪些个体,以便遗传到下一代群体。具体来说是用来确定重组或交叉个体,以及被选个体将产生多少个子代个体。本发明中,完成时间越短的染色体越好,所以时间越短的染色体有更大的概率产生更多的子代。常用的几种选择算子有轮盘赌选择、随机竞争选择、最佳保留选择等等。其中轮盘赌是一种回放式随机采用方法,每个个体进入下一代的概率等于它的适应度值与整个种群中个体适应度值和的比例。

步骤6:对当前染色体种群的染色体进行交叉操作。

本发明基于工序编码的新的交叉算子POX(precedence operation crossover),其可以继承父代优良特性且子代总是可行的,设父代N×3染色体parent1和parent2交叉生成两个子代children1和children2,交叉过程如下:

1)当随机数小于交叉概率Pc,染色体发生交叉过程;

2)随机划分任务集{1,2,3,...,n}为两个非空子集J1和J2;

3)复制parent1中包含任务集J1中任务到children1,复制parent2中包含任务集J1中任务到children2,保留它们的位置;

4)复制parent2中包含任务集J2中任务到children1,复制parent1中包含任务集J2中任务到children2,保持任务的步骤顺序。

图3说明了在4×3调度问题中的两个父代交叉过程,父代parent1用[任务-步骤]形式表示为[3-1、2-1、2-2、4-1、2-3、3-2、1-1、4-2、1-2、1-3、4-3、3-3],父代parent2表示为[1-1、1-2、3-1、4-1、2-1、2-2、4-2、1-3、2-3、4-3、3-2、3-3]。两个父代通过三个步骤得到了两个子代。Children1用[任务-步骤]形式表示为[3-1、2-1、2-2、1-1、2-3、3-2、1-2、4-1、4-2、1-3、4-3、3-3],children2表示为[4-1、1-1、3-1、4-2、2-1、2-2、1-2、1-3、2-3、4-3、3-2、3-3]。不难看出,经过POX交叉保留了任务内部的执行步骤,使得子代继承在每个任务内部的执行步骤。

解释:交叉的本质是遗传基因的重组,而一个染色体就是问题的一组解,所以通过交叉,使遗传算法的搜索最优解的能力得到提高。所以遗传算法中最重要的就是交叉算子的设计,设计交叉算子最重要的是保证父代“染色体”的优良特征得以继承到子代以及子代是否具有可行性。

步骤7:对当前染色体种群的染色体进行变异操作。

本发明的变异过程如下:

(1)当随机数小于变异概率Pm,染色体发生变异过程;

(2)首先从种群中随机选择变异个体,然后选择变异位置pos1和pos2;

(3)将个体中pos1和pos2位的任务以及对应的步骤对换。

拿步骤6中的子代children1举例,交换位置为1和4,如图4所示。需要注意的是交换后每个任务的步骤不能改变,例如如果交换位置为2和4,那么任务2的步骤顺序就被打破了,所以必须在确保任务的步骤顺序不发生变化前提下进行交换。

解释:遗传算法引入变异有两个目的,其一是使其具有局部搜索能力,交叉操作中交叉算子解决的是全局搜索能力,当交叉算子接近最优解邻域的时候,变异算子可以利用局部随机搜索能力加速向最优解收敛;其二是使遗传算法保持问题解的多样性,防止出现没有得到最优解就收敛某一个值的现象。使这里的变异操作,是针对单个染色体的不同基因序号进行交换,因为经过交叉操作后,可能会陷入局部最优,变异就是为了帮助染色体跳出局部最优,这里的变量是设备执行的顺序,所以需要交换基因序号改变执行顺序。

步骤8:采用半自动解码方法对当前染色体种群的染色体进行解码,计算当前染色体种群的每个染色体的适应度值,并找出适应度值最小Cmin的染色体。

(1)例如有N个设备的任务,经过选择-交叉-变异,染色体序列变为[3,5,4,1,2,3,5,4,1,…,N,N,N],转化为新的设备工序时间的矩阵Mnew:

(2)第一个执行的设备任务1的结束时间设为初始时间T0,T0=Mnew(1,1),矩阵Mnew的行数为N,代表有N个设备任务,需要注意的是T0和下面的T00在计算中是不断迭代更新的,设置的初始值不是不变的。

(3)对于i=1:(N-1)而言,如果T0+Mnew(i,2)>sum(Mnew(1:(i+1),1)),那么T0=T0+Mnew(i,2);否则T0=T0+Mnew(i+1,1);

(3)将任务1的步骤1和步骤2时间之和设置为任务3的初始时间T00,T00=Mnew(1,1)+Mnew(1,2);

(4)对于i=1:(N-1)而言,如果T00+Mnew(i,3)>T0+sum(Mnew(1:(i+1),2)),那么T00=T00+Mnew(i,3),否则T00=T00+Mnew(i+1,2);

(5)循环结束后,N个设备任务的所需总时间为T00,此时Cmin=T00。

步骤9:当当前的染色体种群中所有染色体的最小适应度值不再降低或当前迭代次数达到最大迭代次数时,停止迭代,该最小适应度值所对应的染色体的任务顺序即为最优任务执行顺序,图5、图6为物联网设备甘特图和时间收敛曲线;否则返回步骤5,并重新对任务染色体进行选择-交叉-变异的过程。

本发明提出一种利用无人机搭载通信模块和计算服务器辅助基站为基站覆盖边缘范围内的设备提供服务的方法。由于无人机携带的设备计算频率有限,而地面的设备由于体积或者成本原因,计算频率很弱或者没有计算频率,并且地面设备远离电源,在夜晚没有太阳能的支撑下,无法获取能量完成计算设备。针对无人机和地面设备能量不足的问题,本发明首先通过微波能量传输对地面设备进行充电,然后通过动态电压频率调节技术优化CPU计算频率;用凸优化得到设备卸载比例;用遗传算法优化设备执行顺序,降低无人机悬停时间。本发明结果表明通过对三层网络中的设备划分、计算频率和设备执行顺序优化,降低了无人机与设备的总能耗,提高了无人机的续航时间。

需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1