基于车辆边缘计算的任务卸载方法
1.本发明涉及一种基于车辆边缘计算的任务卸载方法,属于边缘计算和优化算法领域。
背景技术:
2.随着移动网络和车联网技术的不断发展,大量车辆移动设备接入互联网,车辆变得越来越互联和智能化。随着车辆网络的发展,各种车辆应用应运而生,如无人驾驶和自然语言处理等。上述应用通常有大量的处理数据,需要大量的计算资源,因此会产生大量的能耗;然而,车载设备计算资源有限且能量供应有限,往往无法满足这些应用的需求。
3.车载设备计算资源和能量供应有限,故可以借助周围的网络环境将其计算任务卸载到边缘服务器和。计算卸载技术可以提高用户体验,还可以缩短任务的执行时间。因此,在过去几年中,多接入边缘计算(mec)中的任务卸载和调度问题一直是许多研究工作的重点。但是,一方面车辆任务对时延有一定的要求,另一方面边缘计算不仅会在车载设备端产生能耗,也会在边缘服务器和上产生大量能耗。当车辆任务被卸载到边缘节点时,我们需要考虑以下因素:任务在车辆设备本地计算的比例,分配给边缘服务器和计算的比例,只有考虑好分配的比例,才能节省能耗,才能开始“卸载”任务。
4.有鉴于此,确有必要提出一种新的基于车辆边缘计算的任务卸载方法,以解决上述问题。
技术实现要素:
5.本发明的目的在于提供一种基于车辆边缘计算的任务卸载方法,在满足车辆任务被顺利完成时达到最小化时延和能耗。
6.为实现上述目的,本发明提供了一种基于车辆边缘计算的任务卸载方法,包括以下步骤:
7.步骤1:建立车辆边缘计算中的通信模型和计算模型,计算模型包括每个计算任务在车辆本地的本地计算时间本地计算能耗卸载到路边单元的路边单元计算时间路边单元计算能耗卸载到的计算时间计算能耗有m辆车的集合v={v1,v2,
…
,vm},按路边单元划分区域,有n个区域的集合r={r1,r2,
…
,rn},每个车辆都有一个任务,每个任务用三元组表示:其中di表示任务ti的大小,ci表示计算任务所需的cpu圈数,表示任务所能接受的最大时间延迟,从而得到车辆i处理任务的总时间:车辆i处理任务的总能耗:车辆i处理任务的总能耗:
8.步骤2:考虑任务时延约束的限制,设计系统目标函数;
9.步骤3:对任务卸载的决策变量进行编码;
10.步骤4:初始化种和遗传迭代设置;
11.步骤5:进行交叉变异运算,产生新一代种;
12.步骤6:计算体中个体的适应度;
13.步骤7:非支配排序和拥挤度计算;
14.步骤8:选择幸存个体;
15.步骤9:跳转步骤5,并循环,直至满足条件;
16.步骤10:选取最优个体作为最优解。
17.作为本发明的进一步改进,所述通信模型为车辆和路边单元之间的无线通信速率:
[0018][0019]
其中b为信道带宽,pi是车辆i的传输功率,是车辆i和路边单元r的信道增益,n0表示噪声功率。
[0020]
作为本发明的进一步改进,所述本地计算时间:
[0021][0022]
其中,xi是任务分配到车辆本地的本地计算的比例,fi为车辆本地的本地计算能力;
[0023]
所述车辆本地计算能耗:
[0024][0025]
其中,pi为车辆的功率;
[0026]
所述卸载到路边单元的计算时间:
[0027][0028]
所述卸载到路边单元上的计算能耗:
[0029][0030]
其中,yi是任务卸载到路边单元计算的比例,为路边单元的计算能力,时间分为两部分,分别是计算任务从车辆上传到路边单元的时间和计算任务在路边单元上计算的时间,为路边单元的功率;
[0031]
所述卸载到的计算时间:
[0032][0033]
所述卸载到的计算能耗
[0034][0035]
其中,1-x
i-yi是计算任务卸载到计算的比例,当xi=1表示任务全部在车辆本地卸载,当yi=1表示任务都在路边单元上卸载,为的计算能力,为的功率。
[0036]
作为本发明的进一步改进,所述步骤2包括以下步骤:
[0037]
步骤21:定义求和目标函数:求和m个车辆在n个区域中时间和能耗成本为:
[0038][0039][0040]
其中
[0041]
步骤22:最小化系统时延和能耗,系统目标函数为:
[0042][0043]
s.t.0≤x,y≤1
[0044]
0≤x+y≤1
[0045][0046]
其中,0≤x,y≤1为约束1,代表决策变量的取值范围在0~1之间;0≤x+y≤1为约束2,代表每个车辆在一个时隙内并行卸载;为约束3,代表每个任务的时延约束。
[0047]
作为本发明的进一步改进,所述步骤3中将决策变量编码为基因。
[0048]
作为本发明的进一步改进,所述步骤3中采用实数进行编码。
[0049]
作为本发明的进一步改进,所述步骤4包括以下步骤:
[0050]
步骤41:根据编码基因,生成n个个体作为初始体;
[0051]
步骤42:初始化迭代次数为1,且指定迭代进化的总次数为g。
[0052]
作为本发明的进一步改进,所述步骤5包括以下步骤:
[0053]
步骤51:采用模拟二元交叉法将两个不同个体的基因进行重组,在两个不同的个体上随机生成交叉位,交换两个个体的交叉区域基因;
[0054]
步骤52:采用多项式突变改变基因的价值。
[0055]
作为本发明的进一步改进,所述步骤6包括以下步骤:
[0056]
步骤61:带入步骤2中计算时延和能耗成本;
[0057]
步骤62:取时延和能耗的倒数作为个体适应度,选择适应度高的个体进入下一代。
[0058]
作为本发明的进一步改进,所述步骤7包括以下步骤:
[0059]
步骤71:将r
t
进行非支配排序,得到非支配层级为(f1,f2,
…
,f
l
)的诸层个体;
[0060]
步骤72:把非支配层级的个体依次加入下一代子代的集合,从f1开始构造一个新
的种s
t
,直到其大小为n或者第一次超过n,称最后一层为第一层,第二层及以上的解将被淘汰出局,在大多数情况下,最后一层仅有部分被接受;
[0061]
步骤73:如果|s
t
|=n则无需进行下面的操作,直接p
t+1
=s
t
;如果s
t
|》n,那么下一代的一部分解为剩余部分(k=n-|p
t+1
|)从f
l
中选择;
[0062]
步骤74:对第一层使用拥挤度排序,用多样性衡量第一层里的解,选择剩部分k个解并入,其中p
t
是第t代的父代,其大小为n,其生成的子代为q
t
,其大小也为n,将子代和父代结合为r
t
=p
t
∪q
t
,其中r
t
的大小为2n,并从中选出n个个体。
[0063]
本发明的有益效果是:本发明的基于车辆边缘计算的任务提出了车辆边缘计算中通信模型和计算模型,并设计目标函数,模型为np困难问题,很难在常数时间内求解,因此采用遗传算法在常数时间内求出最优解,实现最小化时延和能量消耗;本发明不但可以有效保证车辆任务卸载时的低时延和低能耗,而且还满足了每个车辆任务本身的延迟要求。
附图说明
[0064]
图1是本发明的基于车辆边缘计算的任务卸载方法的步骤图。
[0065]
图2是本发明的任务卸载模型示意图。
[0066]
图3是本发明的任务卸载方法流程图。
[0067]
图4是本发明的遗传算法的流程图。
具体实施方式
[0068]
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0069]
如图1~图4所示,本发明揭示了一种基于车辆边缘计算的任务卸载方法,用于解决在车辆行驶过程中的计算任务在车辆本地、路边单元及中的分配问题,包括以下步骤:
[0070]
步骤1:建立车辆边缘计算中的通信模型和计算模型。
[0071]
其中建立的通信模型为车辆和路边单元(rsu)之间的无线通信速率,将车辆与之间的无线通信认为是基于正交频分多址的,以此建立通信模型为:
[0072][0073]
其中b为信道带宽,pi是车辆i的传输功率,是车辆i和路边单元r的信道增益,n0表示噪声功率。
[0074]
建立的计算模型包括每个计算任务在车辆本地的本地计算时间本地计算能耗卸载到路边单元的路边单元计算时间路边单元计算能耗卸载到的计算时间计算能耗不同的车辆具有不同分配的计算任务,设有m辆车的集合v={v1,v2,
…
,vm},按路边单元划分区域,有n个区域的集合r={r1,r2,
…
,rn},每个
车辆都有一个任务,每个任务用三元组表示:其中di表示任务ti的大小,ci表示计算任务所需的cpu圈数,表示任务所能接受的最大时间延迟;
[0075]
本地计算时间的公式为:
[0076][0077]
其中,xi是任务分配到车辆本地的本地计算的比例,fi为车辆本地的本地计算能力;
[0078]
车辆本地计算能耗的公式为:
[0079][0080]
其中,pi为车辆的功率;
[0081]
卸载到路边单元的计算时间的公式为:
[0082][0083]
卸载到路边单元上的计算能耗的公式为:
[0084][0085]
其中,yi是任务卸载到路边单元计算的比例,为路边单元的计算能力,在路边单元上的时间分为两部分,分别是计算任务从车辆上传到路边单元的时间和计算任务在路边单元上计算的时间,为路边单元的功率;
[0086]
卸载到的计算时间的公式为:
[0087][0088]
卸载到的计算能耗的公式为:
[0089][0090]
其中,1-x
i-yi是计算任务卸载到计算的比例,当xi=1表示任务全部在车辆本地卸载,当yi=1表示任务都在路边单元上卸载,为的计算能力,为的功率。
[0091]
根据得到的计算任务在车辆本地的本地计算时间本地计算能耗卸载到路边单元的路边单元计算时间路边单元计算能耗卸载到的计算时间计算能耗因为任务是并行处理的,所以取车辆本地,rsu和计算所耗时间的最大值从而得到车辆i处理任务的总时间:同时可得到
车辆i处理任务的总能耗:车辆i处理任务的总能耗:
[0092]
步骤2:考虑任务时延约束的限制,设计系统目标函数;
[0093]
步骤2包括以下步骤:
[0094]
步骤21:定义求和目标函数:求和m个车辆在n个区域中时间和能耗成本为:
[0095][0096][0097]
其中
[0098]
步骤22:最小化系统时延和能耗,系统目标函数为:
[0099][0100]
s.t.0≤x,y≤1
[0101]
0≤x+y≤1
[0102][0103]
其中,0≤x,y≤1为约束1,代表决策变量的取值范围在0~1之间;0≤x+y≤1为约束2,代表每个车辆在一个时隙内并行卸载;为约束3,代表每个任务的时延约束。
[0104]
步骤3:对任务卸载的决策变量进行编码;
[0105]
对于上述步骤2中的求和目标函数进行求解,但求和目标函数为np困难问题,为了便于求解,本发明采用了遗传算法,步骤3中将决策变量编码为基因进行处理。且本发明采用实数编码对任务卸载方案进行编码。
[0106]
步骤4:初始化种和遗传迭代设置;
[0107]
步骤4包括以下步骤:
[0108]
步骤41:根据编码基因,生成n个个体作为初始体;
[0109]
步骤42:初始化迭代次数为1,且指定迭代进化的总次数为g。
[0110]
步骤5:进行交叉变异运算,产生新一代种;
[0111]
步骤5包括以下步骤:
[0112]
步骤51:采用模拟二元交叉法将两个不同个体的基因进行重组,在两个不同的个体上随机生成交叉位,交换两个个体的交叉区域基因;
[0113]
步骤52:采用多项式突变改变基因的价值。
[0114]
步骤6:计算体中个体的适应度;
[0115]
步骤6包括以下步骤:
[0116]
步骤61:带入步骤2中计算时延和能耗成本;
[0117]
步骤62:取时延和能耗的倒数作为个体适应度,选择适应度高的个体进入下一代。
[0118]
步骤7:非支配排序和拥挤度计算;
[0119]
步骤7包括以下步骤:
[0120]
步骤71:将r
t
进行非支配排序,得到非支配层级为(f1,f2,
…
,f
l
)的诸层个体;
[0121]
步骤72:把非支配层级的个体依次加入下一代子代的集合,从f1开始构造一个新的种s
t
,直到其大小为n或者第一次超过n,称最后一层为第一层,第二层及以上的解将被淘汰出局,在大多数情况下,最后一层仅有部分被接受;
[0122]
步骤73:如果|s
t
|=n则无需进行下面的操作,直接p
t+1
=s
t
;如果s
t
|》n,那么下一代的一部分解为剩余部分(k=n-|p
t+1
|)从f
l
中选择;
[0123]
步骤74:对第一层使用拥挤度排序,用多样性衡量第一层里的解,选择剩部分k个解并入,其中p
t
是第t代的父代,其大小为n,其生成的子代为q
t
,其大小也为n,将子代和父代结合为r
t
=p
t
∪q
t
,其中r
t
的大小为2n,并从中选出n个个体。
[0124]
步骤8:选择幸存个体;
[0125]
步骤9:跳转步骤5,并循环,直至满足条件;
[0126]
步骤10:选取最优个体作为最优解。
[0127]
综上所述,本发明的基于车辆边缘计算的任务卸载方法,提出了车辆边缘计算中通信模型和计算模型,并设计目标函数,模型为np困难问题,很难在常数时间内求解,因此采用遗传算法在常数时间内求出最优解,实现最小化时延和能量消耗;本发明不但可以有效保证车辆任务卸载时的低时延和低能耗,而且还满足了每个车辆任务本身的延迟要求。
[0128]
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
技术特征:
1.一种基于车辆边缘计算的任务卸载方法,其特征在于,包括以下步骤:步骤1:建立车辆边缘计算中的通信模型和计算模型,计算模型包括每个计算任务在车辆本地的本地计算时间本地计算能耗卸载到路边单元的路边单元计算时间路边单元计算能耗卸载到的计算时间计算能耗有m辆车的集合v={v1,v2,
…
,v
m
},按路边单元划分区域,有n个区域的集合r={r1,r2,
…
,r
n
},每个车辆都有一个任务,每个任务用三元组表示:其中d
i
表示任务t
i
的大小,c
i
表示计算任务所需的cpu圈数,表示任务所能接受的最大时间延迟,从而得到车辆i处理任务的总时间:车辆i处理任务的总能耗:车辆i处理任务的总能耗:步骤2:考虑任务时延约束的限制,设计系统目标函数;步骤3:对任务卸载的决策变量进行编码;步骤4:初始化种和遗传迭代设置;步骤5:进行交叉变异运算,产生新一代种;步骤6:计算体中个体的适应度;步骤7:非支配排序和拥挤度计算;步骤8:选择幸存个体;步骤9:跳转步骤5,并循环,直至满足条件;步骤10:选取最优个体作为最优解。2.根据权利要求1所述的基于车辆边缘计算的任务卸载方法,其特征在于:所述通信模型为车辆和路边单元之间的无线通信速率:其中b为信道带宽,p
i
是车辆i的传输功率,是车辆i和路边单元r的信道增益,n0表示噪声功率。3.根据权利要求1所述的基于车辆边缘计算的任务卸载方法,其特征在于:所述本地计算时间:其中,x
i
是任务分配到车辆本地的本地计算的比例,f
i
为车辆本地的本地计算能力;所述车辆本地计算能耗:其中,p
i
为车辆的功率;所述卸载到路边单元的计算时间:
所述卸载到路边单元上的计算能耗:其中,y
i
是任务卸载到路边单元计算的比例,为路边单元的计算能力,时间分为两部分,分别是计算任务从车辆上传到路边单元的时间和计算任务在路边单元上计算的时间,为路边单元的功率;所述卸载到的计算时间:所述卸载到的计算能耗其中,1-x
i-y
i
是计算任务卸载到计算的比例,当x
i
=1表示任务全部在车辆本地卸载,当y
i
=1表示任务都在路边单元上卸载,为的计算能力,为的功率。4.根据权利要求1所述的基于车辆边缘计算的任务卸载方法,其特征在于,所述步骤2包括以下步骤:步骤21:定义求和目标函数:求和m个车辆在n个区域中时间和能耗成本为:步骤21:定义求和目标函数:求和m个车辆在n个区域中时间和能耗成本为:其中步骤22:最小化系统时延和能耗,系统目标函数为:s.t.0≤x,y≤10≤x+y≤1其中,0≤x,y≤1为约束1,代表决策变量的取值范围在0~1之间;0≤x+y≤1为约束2,代表每个车辆在一个时隙内并行卸载;为约束3,代表每个任务的时延约束。5.根据权利要求1所述的基于车辆边缘计算的任务卸载方法,其特征在于:所述步骤3
中将决策变量编码为基因。6.根据权利要求5所述的基于车辆边缘计算的任务卸载方法,其特征在于:所述步骤3中采用实数进行编码。7.根据权利要求1所述的基于车辆边缘计算的任务卸载方法,其特征在于,所述步骤4包括以下步骤:步骤41:根据编码基因,生成n个个体作为初始体;步骤42:初始化迭代次数为1,且指定迭代进化的总次数为g。8.根据权利要求1所述的基于车辆边缘计算的任务卸载方法,其特征在于,所述步骤5包括以下步骤:步骤51:采用模拟二元交叉法将两个不同个体的基因进行重组,在两个不同的个体上随机生成交叉位,交换两个个体的交叉区域基因;步骤52:采用多项式突变改变基因的价值。9.根据权利要求1所述的基于车辆边缘计算的任务卸载方法,其特征在于,所述步骤6包括以下步骤:步骤61:带入步骤2中计算时延和能耗成本;步骤62:取时延和能耗的倒数作为个体适应度,选择适应度高的个体进入下一代。10.根据权利要求1所述的基于车辆边缘计算的任务卸载方法,其特征在于,所述步骤7包括以下步骤:步骤71:将r
t
进行非支配排序,得到非支配层级为(f1,f2,
…
,f
l
)的诸层个体;步骤72:把非支配层级的个体依次加入下一代子代的集合,从f1开始构造一个新的种s
t
,直到其大小为n或者第一次超过n,称最后一层为第一层,第二层及以上的解将被淘汰出局,在大多数情况下,最后一层仅有部分被接受;步骤73:如果|s
t
|=n则无需进行下面的操作,直接p
t+1
=s
t
;如果s
t
|>n,那么下一代的一部分解为剩余部分(k=n-|p
t+1
|)从f
l
中选择;步骤74:对第一层使用拥挤度排序,用多样性衡量第一层里的解,选择剩部分k个解并入,其中p
t
是第t代的父代,其大小为n,其生成的子代为q
t
,其大小也为n,将子代和父代结合为r
t
=p
t
∪q
t
,其中r
t
的大小为2n,并从中选出n个个体。
技术总结
本发明提供了一种基于车辆边缘计算的任务卸载方法,包括步骤1:建立车辆边缘计算中的通信模型和计算模型;步骤2:设计系统目标函数;步骤3:对任务卸载的决策变量进行编码;步骤4:初始化种和遗传迭代设置;步骤5:进行交叉变异运算,产生新一代种;步骤6:计算体中个体的适应度;步骤7:非支配排序和拥挤度计算;步骤8:选择幸存个体;步骤9:跳转步骤5,并循环,直至满足条件;步骤10:选取最优个体作为最优解。本发明通过采用遗传算法在常数时间内求出车辆边缘计算中系统目标函数的最优解,实现最小化时延和能量消耗,不但可以有效保证车辆任务卸载时的低时延和低能耗,而且还满足了每个车辆任务本身的延迟要求。每个车辆任务本身的延迟要求。每个车辆任务本身的延迟要求。