基于多目标优化的异构车联网边缘计算卸载调度方法

文档序号:31043263发布日期:2022-08-06 04:48阅读:162来源:国知局
基于多目标优化的异构车联网边缘计算卸载调度方法

1.本公开实施例涉及计算技术领域,尤其涉及一种基于多目标优化的异构车联网边缘计算卸载调度方法。


背景技术:

2.目前,随着车联网技术的发展,车辆可以实现诸多应用,如车载娱乐,目标追踪,辅助驾驶,虚拟现实等。这些应用在给人们带来极大便利的同时,也给资源受限的车联网带来的极大的挑战。如,虚拟现实的实时性要求很高,而计算虚拟现实任务需要耗费大量的计算资源。边缘计算技术使得计算任务的即时完成成为可能。在基于移动边缘计算(mobile edge computing,mec)的车联网中,车辆的计算任务可以卸载到附近的计算资源丰富的基站。除了通过车路通信(vehicle to infrastructure,v2i)利用基站的资源外,车间通信(vehicle to vehicle,v2v)使得车辆可以利用单跳内其他车辆的空闲计算资源。基于v2v的mec技术保证了车联网中计算任务的高效完成,且使得基站、车辆的计算资源得到有效的利用。v2v、v2i技术的综合使用使得基于mec的车联网中的计算资源得到充分利用。
3.计算任务的完成需要特定服务的保障。如,目标检测中的中特征提取子任务需要用到机器学习模块,只有缓存了机器学习这一服务的节点才可以接受任务卸载。为了支持任务卸载,基站需要预先存储部分服务。在server中存储特定的服务来支持任务的完成,这一技术就叫服务缓存技术。如果在执行任务卸载的时候忽略了服务缓存问题,则可能造成任务执行失败。除了server可以实现服务缓存外,车辆也可以利用其存储空间缓存一定的服务。例如,为了支持目标检测任务,其他车辆可以在本地缓存机器学习服务。与基站相比,车辆的缓存空间十分有限,之能缓存少量的服务。
4.由于车辆与车辆之间、车辆与基站之间的计算资源在时间、空间上的异构性,计算卸载需要在异构的节点中合理地分配,使得计算节点的空闲资源得到利用,计算繁重的节点的任务量得以减缓。在考虑计算卸载时,除了考虑计算资源的异构性,还需考虑服务缓存的异构型。不同的车辆因其不同的需求可能缓存了不同的服务,计算任务需要在服务缓存异构的车辆中实现v2v通信。同理,同理,基站的服务缓存决策应该有选择性地做出,使其有限的存储空间得以充分利用,且能够最大量地为计算任务提供服务。
5.现有关于任务卸载的工作大多没有考虑服务缓存的约束,而考虑了服务缓存的计算卸载工作大都没有将计算任务的两个关键完成指标,即能耗和时延,综合考虑。这会造成卸载性能优化的偏向性。且这些工作使用的传统的方法(整数非线性规划、凸优化、在线算法),这些方法需要经过繁琐的计算过程才能找到全局最优解,甚至缺乏跳出局部最优的优良性能。
6.可见,亟需一种有效的服务缓存和任务卸载联合机制,使得车联网中任务完成耗费的时延、能耗最小,且算法能快速收敛到全局最优解的基于多目标优化的异构车联网边缘计算卸载调度方法。


技术实现要素:

7.有鉴于此,本公开实施例提供一种基于多目标优化的异构车联网边缘计算卸载调度方法,至少部分解决现有技术中存在计算效率和适应性较差的问题。
8.本公开实施例提供了一种基于多目标优化的异构车联网边缘计算卸载调度方法,包括:
9.步骤1,建立具有缓存和计算功能的两层异构车载边缘网络模型,初始化车辆之间、车辆连接边缘层、车辆与云层之间的信道;
10.步骤2,根据server覆盖下的车辆的计算任务特性及其所需服务的流行度,确定server的服务缓存决策;
11.步骤3,将服务缓存建模为01背包问题,求解server服务缓存最优解;
12.步骤4,根据卸载任务的不同特性建立不同的任务卸载模型;
13.步骤5,提出系统优化目标,根据任务卸载模型计算相应的时延和能耗,在服务缓存和计算资源的约束下,计算不同卸载模型下的联合时延和能耗开销,选择开销最小的模型进行计算卸载;
14.步骤6,将计算卸载过程建模为受约束的基于卸载时延和卸载能耗两个目标的优化问题;
15.步骤7,为所建模型构造多目标萤火虫算法,基于非支配排序筛选出最优计算卸载解集。
16.根据本公开实施例的一种具体实现方式,所述服务缓存建模后的模型为背包模型,server的存储空间作为背包,服务的数据量和流行度分别作为物品的重量和价值。
17.根据本公开实施例的一种具体实现方式,所述步骤1具体包括:
18.令γ={υ1,

,υi,

,υm}表示异构车载边缘网络中的计算任务集合,其中m表示路边单元覆盖下的车辆总数,每辆车具有一个计算任务,其中υi表示车辆i的计算任务,1≤i≤m,{xi,wi,ri}表示任务υi的计算特征,xi,wi和ri分别表示任务υi的数据量、计算强度和时延要求,令fc为server的cpu时钟频率上界,令{fi,βi},1≤i≤m表示车辆特征描述,其中fi表示车辆的计算能力,βi表示车辆的能量水平,且每辆车都分配了相同的带宽b,车辆的发送功率和信道增益分别为pi和h
i,x
,其中i∈γ,x∈{m,c},背景噪声为σ2。
19.根据本公开实施例的一种具体实现方式,所述步骤2具体包括:
20.令表示服务索引,j表示所有任务所需的服务类型的总数,令{pj,zj}分别表示服务j的流行度和服务所占存储量的大小,假设车辆用户已经根据个人需求在本地缓存了特定的服务,路边单元的服务缓存决策用aj∈{0,1}表示,其中,aj=1表示服务j缓存在路边单元的服务器中,反之则aj=0,同时,基于server满足计算需求和缓存的服务不能超过服务器有限的存储空间的原则,确定服务缓存策略令server的存储容量为c,则所做的服务缓存决策满足
21.根据本公开实施例的一种具体实现方式,所述步骤3具体包括:
22.将路边单元的服务缓存问题建模为整数背包问题,将边缘服务器作为一个背包,
同时有j项内容,每项内容都有不同的大小和流行度,分别对应于一个物品的重量和价值,并找出最受欢迎的项目子集作为server服务缓存最优解。
23.根据本公开实施例的一种具体实现方式,所述步骤4具体包括:
24.计算任务的卸载决策表示为b
i,x
∈{0,1},i∈γ,x∈{l,m,c,r},其中,l,m,c,r分别表示计算任务i本地执行,卸载给附近的车辆,卸载到路边单元和卸载给中心云。
25.根据本公开实施例的一种具体实现方式,所述步骤5具体包括:
26.建立通信模型,车辆i与云之间的传输时延为则传输数据到中心云的时延车辆与车辆、车辆与路边单元之间的传输速率表示为v2v和v2i之间的传输时延表示为相应的传输能耗为
27.建立计算模型,b
i,x
表示车辆i的计算任务所做出的卸载决策,为二元变量,x∈{l,m,c,r}分别表示本地计算,v2v卸载,v2i卸载,中心云卸载,若任务不可再分,则卸载决策满足∑
x∈{l,m,c,r}bi,x
=1,i∈γ,本地计算时延的能耗当任务i卸载到附近其他车辆时,计算时延接受计算卸载的车辆k用于计算的能耗为当任务采用边缘计算卸载模式时,路边单元计算任务i的时延为
28.根据本公开实施例的一种具体实现方式,所述步骤6具体包括:
29.任务i的执行时延所有任务的执行总时延为t=∑
i∈γ
ti,总能耗为,总能耗为在确定服务缓存决策后,基于能耗和时延联合优化的原则,做出计算卸载决策b=argminεe+(1-ε)d,其中ε∈[0,1]为权重系数。
[0030]
根据本公开实施例的一种具体实现方式,所述步骤7具体包括:
[0031]
步骤7.1,初始化多目标萤火虫算法的参数,所述参数包括种群规模、迭代次数、最大吸引力及光吸收系数;
[0032]
步骤7.2,开辟变量空间,所述变量空间包括萤火虫的位置信息、萤火虫对应的亮度、目标函数、非劣解对应解集、拥挤距离及支配计数,其中,萤火虫的位置对应每个解,萤火虫的亮度对应其适应度;
[0033]
步骤7.3,初始化萤火虫的位置和亮度,迭代萤火虫种群,初始化解;
[0034]
步骤7.4,初始化非支配排序,调用非支配排序函数为萤火虫进行排序,该函数的输入为解及其对应信息,输出为对解集分级以后所存储的矩阵,之后,调用适应度函数,该函数的输入为种群所有信息的数组,输出为分好等级的解的位置,同一等级下,依据拥挤度删除一部分非劣解,用以维护最优解集;
[0035]
步骤7.5,循环解空间,将所有的萤火虫两两比较,计算萤火虫之间的笛卡尔距离,并根据自适应步长创造新解,检查新解是否在限制范围内,防止萤火虫越界,以及,更新萤火虫的亮度并重新进行非支配排序;
[0036]
步骤7.6,循环直至达到最大迭代次数,输出帕累托前沿。
[0037]
本公开实施例中的基于多目标优化的异构车联网边缘计算卸载调度方案,包括:步骤1,建立具有缓存和计算功能的两层异构车载边缘网络模型,初始化车辆之间、车辆连接边缘层、车辆与云层之间的信道;步骤2,根据server覆盖下的车辆的计算任务特性及其所需服务的流行度,确定server的服务缓存决策;步骤3,将服务缓存建模为01背包问题,求解server服务缓存最优解;步骤4,根据卸载任务的不同特性建立不同的任务卸载模型;步骤5,提出系统优化目标,根据任务卸载模型计算相应的时延和能耗,在服务缓存和计算资源的约束下,计算不同卸载模型下的联合时延和能耗开销,选择开销最小的模型进行计算卸载;步骤6,将计算卸载过程建模为受约束的基于卸载时延和卸载能耗两个目标的优化问题;步骤7,为所建模型构造多目标萤火虫算法,基于非支配排序筛选出最优计算卸载解集。
[0038]
本公开实施例的有益效果为:通过本公开的方案,保证server的服务缓存策略和车辆的计算卸载调度策略最优,同时使得所有任务的能耗、时延最小化,并使用多目标萤火虫算法迅速迭代寻优,找到计算卸载的帕累托最优解,算法收敛速度快。
附图说明
[0039]
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0040]
图1为本公开实施例提供的一种基于多目标优化的异构车联网边缘计算卸载调度方法的流程示意图;
[0041]
图2为本公开实施例提供的另一种基于多目标优化的异构车联网边缘计算卸载调度方法的流程示意图;
[0042]
图3为本公开实施例提供的一种两层异构车载网络中的通信链路示意图;
[0043]
图4为本公开实施例提供的一种多目标萤火虫算法整体流程示意图;
[0044]
图5为本公开实施例提供的一种多目标萤火虫算法的参数设置示意图;
[0045]
图6为本公开实施例提供的一种输出的帕累托解集示意图;
[0046]
图7为本公开实施例提供的一种算法的收敛性图。
具体实施方式
[0047]
下面结合附图对本公开实施例进行详细描述。
[0048]
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下
所获得的所有其他实施例,都属于本公开保护的范围。
[0049]
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0050]
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0051]
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
[0052]
本公开实施例提供一种基于多目标优化的异构车联网边缘计算卸载调度方法,所述方法可以应用于车联网场景的资源调度过程中。
[0053]
参见图1,为本公开实施例提供的一种基于多目标优化的异构车联网边缘计算卸载调度方法的流程示意图。如图1和图2所示,所述方法主要包括以下步骤:
[0054]
步骤1,建立具有缓存和计算功能的两层异构车载边缘网络模型,初始化车辆之间、车辆连接边缘层、车辆与云层之间的信道;
[0055]
可选的,所述步骤1具体包括:
[0056]
令γ={υ1,

,υi,

,υm}表示异构车载边缘网络中的计算任务集合,其中m表示路边单元覆盖下的车辆总数,每辆车具有一个计算任务,其中υi表示车辆i的计算任务,1≤i≤m,{xi,wi,ri}表示任务υi的计算特征,xi,wi和ri分别表示任务υi的数据量、计算强度和时延要求,令fc为server的cpu时钟频率上界,令{fi,βi},1≤i≤m表示车辆特征描述,其中fi表示车辆的计算能力,βi表示车辆的能量水平,且每辆车都分配了相同的带宽b,车辆的发送功率和信道增益分别为pi和h
i,x
,其中i∈γ,x∈{m,c},背景噪声为σ2。
[0057]
具体实施时,本公开实施例使用的模型是一个具有缓存和计算功能的两层异构车载边缘网络模型,包括云,路边单元(rsu)和车辆,其中,云作为远程数据中心,具有强大的计算和存储资源。路边单元配置了一个具有一定的计算资源和存储资源的server,车辆配置了有限的计算和存储能力,可以支持任务的卸载。所有车辆都处于rsu的覆盖范围内。在异构车载边缘网络中,车辆的计算任务可以通过v2v通信卸载给附近具有空闲计算资源、缓存了相应的服务的其他车辆,也可以通过v2i通信卸载到rsu的server上。如果附近车辆和server都没有缓存支持该计算任务的相应服务,或者没有空闲的计算资源,则该计算任务可以卸载到远程中心云上进行计算。
[0058]
令γ={υ1,

,υi,

,υm}表示异构车载边缘网络中的计算任务集合,其中m表示路边单元覆盖下的车辆总数。每辆车具有一个计算任务。其中υi表示车辆i的计算任务,1≤i≤m。任务υi的计算特征可以用{xi,wi,ri},xi,wi和ri分别表示任务υi的数据量,计算强度和时延要求。令fc为server的cpu时钟频率上界。令{fi,βi},1≤i≤m表示车辆特征描
述,其中fi表示车辆的计算能力,βi表示车辆的能量水平。
[0059]
本发明所采用的通信技术为正交频分复用技术(ofdm),车辆用户的数据在传输过程中不会相互干扰,且每辆车都分配了相同的带宽b。车辆的发送功率和信道增益分别为pi和h
i,x
,其中i∈γ,x∈{m,c}。背景噪声为σ2。
[0060]
步骤2,根据server覆盖下的车辆的计算任务特性及其所需服务的流行度,确定server的服务缓存决策;
[0061]
进一步的,所述步骤2具体包括:
[0062]
令表示服务索引,j表示所有任务所需的服务类型的总数,令{pj,zj}分别表示服务j的流行度和服务所占存储量的大小,假设车辆用户已经根据个人需求在本地缓存了特定的服务,路边单元的服务缓存决策用aj∈{0,1}表示,其中,aj=1表示服务j缓存在路边单元的服务器中,反之则aj=0,同时,基于server满足计算需求和缓存的服务不能超过服务器有限的存储空间的原则,确定服务缓存策略令server的存储容量为c,则所做的服务缓存决策满足
[0063]
具体实施时,考虑到每一个任务υi∈γ的执行都离不开特定的服务的支持,令t={1,

,j

,j}表示服务索引,j表示所有任务所需的服务类型的总数。令{pj,zj}分别表示服务j的流行度(服务被请求的次数占总请求次数的比)和服务所占存储量的大小。假设车辆用户已经根据个人需求在本地缓存了特定的服务。路边单元的服务缓存决策用aj∈{0,1}表示,j∈t。其中,aj=1表示服务j缓存在路边单元的服务器中,反之则aj=0。服务缓存决策应该基于服务类型的流行度做出,使得server能尽可能多地满足计算需求。同时,缓存的服务不能超过服务器有限的存储空间。基于该原则,确定服务缓存策略a=argmax∑
j∈taj
pj。令server的存储容量为c。则所做的服务缓存决策应满足∑
j∈taj
zj≤c。
[0064]
步骤3,将服务缓存建模为01背包问题,求解server服务缓存最优解;
[0065]
可选的,所述服务缓存建模后的模型为背包模型,server的存储空间作为背包,服务的数据量和流行度分别作为物品的重量和价值。
[0066]
在上述实施例的基础上,所述步骤3具体包括:
[0067]
将路边单元的服务缓存问题建模为整数背包问题,将边缘服务器作为一个背包,同时有j项内容。每项内容都有不同的大小和流行度,分别对应于一个物品的重量和价值,并找出最受欢迎的项目子集作为server服务缓存最优解。
[0068]
具体实施时,可以将路边单元的服务缓存问题可以建模为整数背包问题。边缘服务器可以看作是一个背包,同时有j个项,即j项内容。每个内容都有不同的大小和流行度,分别对应于一个物品的重量和价值。目标是找出最受欢迎的项目子集,并且该子集的总大小不应超过边缘服务器的存储容量。虽然在边缘缓存流行度高的内容有利于减少任务延迟和能量消耗,但要做好内容流行程度和内容大小之间的权衡。对于整数背包问题的解法已经相对成熟,现有的方法包括穷举法、贪心算法、动态规划法、遗传算法等。
[0069]
步骤4,根据卸载任务的不同特性建立不同的任务卸载模型;
[0070]
进一步的,所述步骤4具体包括:
[0071]
计算任务的卸载决策表示为b
i,x
∈{0,1},i∈γ,x∈{l,m,c,r},其中,l,m,c,r分别表示计算任务i本地执行,卸载给附近的车辆,卸载到路边单元和卸载给中心云。
[0072]
具体实施时,计算任务的卸载决策可以表示为b
i,x
∈{0,1},i∈γ,x∈{l,m,c,r}。其中,l,m,c,r分别表示计算任务i本地执行,卸载给附近的车辆,卸载到路边单元和卸载给中心云。
[0073]
步骤5,提出系统优化目标,根据任务卸载模型计算相应的时延和能耗,在服务缓存和计算资源的约束下,计算不同卸载模型下的联合时延和能耗开销,选择开销最小的模型进行计算卸载;
[0074]
在上述实施例的基础上,所述步骤5具体包括:
[0075]
建立通信模型,车辆i与云之间的传输时延为则传输数据到中心云的时延车辆与车辆、车辆与路边单元之间的传输速率表示为v2v和v2i之间的传输时延表示为相应的传输能耗为
[0076]
建立计算模型,b
i,x
表示车辆i的计算任务所做出的卸载决策,为二元变量,x∈{l,m,c,r}分别表示本地计算,v2v卸载,v2i卸载,中心云卸载,若任务不可再分,则卸载决策满足∑
x∈{l,m,c,r}bi,x
=1,i∈γ,本地计算时延的能耗当任务i卸载到附近其他车辆时,计算时延接受计算卸载的车辆k用于计算的能耗为当任务采用边缘计算卸载模式时,路边单元计算任务i的时延为
[0077]
具体实施时,首先,建立通信模型。车辆i与云之间的传输时延为则传输数据到中心云的时延车辆与车辆、车辆与路边单元之间的传输速率表示为v2v和v2i之间的传输时延可以表示为相应的传输能耗为相应的传输能耗为其次,建立计算模型。b
i,x
表示车辆i的计算任务所做出的卸载决策,为二元变量。x∈{l,m,c,r}分别表示本地计算,v2v卸载,v2i卸载,中心云卸载。假设任务不可再分,则卸载决策当满足∑
x∈{l,m,c,r}bi,x
=1,i∈γ。本地计算时延的能耗当任务i卸载到附近其他车辆时,计算时延接受计算卸载的车辆k用于计算的能耗为当任务采用边缘计算卸载模式时,路边单元计算任务i的时延
[0078]
步骤6,将计算卸载过程建模为受约束的基于卸载时延和卸载能耗两个目标的优化问题;
[0079]
进一步的,所述步骤6具体包括:
[0080]
任务i的执行时延所有任务的执行总时延为t=∑
i∈γ
ti,总能耗为,总能耗为在确定服务缓存决策后,基于能耗和时延联合优化的原则,做出计算卸载决策b=argminεe+(1-ε)d,其中ε∈[0,1]为权重系数。
[0081]
具体实施时,任务i的执行时延具体实施时,任务i的执行时延所有任务的执行总时延为t=∑
i∈γ
ti,总能耗为,总能耗为在确定服务缓存决策后,基于能耗和时延联合优化的原则,做出计算卸载决策b=argminεe+(1-ε)d,其中ε∈[0,1]为权重系数,可根据系统用户的对时延、能耗的偏重需求进行调整。在异构车辆边缘网络中,车辆、server的计算资源有限,车辆的能源受限,计算卸载决策受到资源、能源和计算所需的特定服务的约束。这种约束体现为

车辆的计算资源约束

服务器的计算资源约束

车辆的能源约束车辆的能源约束其中ν是为了保证车辆安全所预留的能源空间。第一部分是车辆卸载的传输能耗,第二部分是为其他车辆计算的能耗,第三部分是本地计算的能耗。

车辆的发送功率约束
[0082]
步骤7,为所建模型构造多目标萤火虫算法,基于非支配排序筛选出最优计算卸载解集。
[0083]
可选的,所述步骤7具体包括:
[0084]
步骤7.1,初始化多目标萤火虫算法的参数,所述参数包括种群规模、迭代次数、最大吸引力及光吸收系数;
[0085]
步骤7.2,开辟变量空间,所述变量空间包括萤火虫的位置信息、萤火虫对应的亮度、目标函数、非劣解对应解集、拥挤距离及支配计数,其中,萤火虫的位置对应每个解,萤火虫的亮度对应其适应度;
[0086]
步骤7.3,初始化萤火虫的位置和亮度,迭代萤火虫种群,初始化解;
[0087]
步骤7.4,初始化非支配排序,调用非支配排序函数为萤火虫进行排序,该函数的输入为解及其对应信息,输出为对解集分级以后所存储的矩阵,之后,调用适应度函数,该函数的输入为种群所有信息的数组,输出为分好等级的解的位置,同一等级下,依据拥挤度删除一部分非劣解,用以维护最优解集;
[0088]
步骤7.5,循环解空间,将所有的萤火虫两两比较,计算萤火虫之间的笛卡尔距离,并根据自适应步长创造新解,检查新解是否在限制范围内,防止萤火虫越界,以及,更新萤火虫的亮度并重新进行非支配排序;
[0089]
步骤7.6,循环直至达到最大迭代次数,输出帕累托前沿。
[0090]
具体实施时,可以通过构造多目标萤火虫算法,并根据前期设定的目标,计算最优
解,具体步骤可以如下:
[0091]

初始化多目标萤火虫算法的参数,包括种群规模、迭代次数、最大吸引力及光吸收系数。每只萤火虫相当于计算卸载空间中的一个解,上界为1下界为0的一维变量。

开辟变量空间。包括萤火虫的位置信息、萤火虫对应的亮度、目标函数、非劣解对应解集、拥挤距离及支配计数。其中,萤火虫的位置对应了每个解,萤火虫的亮度对应其适应度,即对应的多目标优化函数εe+(1-ε)d值越低,该萤火虫越亮。

初始化萤火虫的位置和亮度。迭代萤火虫种群,初始化解。在初始化的过程中要遵守服务约束、能源和资源约束,同时保证每个解为二元变量,1、0分别为解的上下界。

初始化非支配排序。调用非支配排序函数为萤火虫进行排序,该函数的输入为解及其对应信息,输出为对解集分级以后所存储的矩阵。之后,调用适应度函数,该函数的输入为种群所有信息的数组,输出为分好等级的解的位置。同一等级下,依据拥挤度可以删除一部分非劣解,用以维护最优解集。

循环解空间,将所有的萤火虫两两比较,计算萤火虫之间的笛卡尔距离,并根据自适应步长创造新解。检查新解是否在限制范围内,防止萤火虫越界。更新萤火虫的亮度,并重新进行非支配排序。

循环知道达到最大迭代次数,输出帕累托前沿。
[0092]
本实施例提供的基于多目标优化的异构车联网边缘计算卸载调度方法,通过提出一种有效的服务缓存和任务卸载联合机制,使得车联网中任务完成耗费的时延、能耗最小,且算法能快速收敛到全局最优解。
[0093]
下面将结合一个具体实施例对本方法进行说明,如图3所示是节点的计算资源和存储能力异构的车联网系统图。中心云可视为具有强大的计算和存储资源的远程数据中心。云上缓存了支持计算任务所需要的各种服务。由于存储空间的限制,位于rsu的server只能选择性地缓存部分服务。车辆的存储资源又不如server,因此,本模型假定车辆最多只能缓存一种服务。车辆缓存的服务服从随机分布。每个车辆用户发出一个计算任务,计算任务的成功执行需要特定服务的支持,计算过程需要足量计算资源的支撑。server上的计算资源和存储容量都是有限的,因此,当server的计算资源不足或者没有存储相应的服务时,计算任务可以本地处理,通过v2v通信卸载给附近车辆或者上传数据到远程云。
[0094]
一个rsu覆盖范围为200m,该范围内有m=30辆车,车辆在rsu覆盖范围内服从泊松分布。每辆车发出一个计算任务,计算任务的数据量xi服从[50,150]bit内的正态分布,任务的计算强度wi=100cycles/bit,时延要求。xi,wi和ri分别表示任务υi的数据量,计算强度和时延要求ri=100ms。计算任务所需的服务类型为j=10种,任务的流行度服从zipf分布。rsu的计算资源fc=200ghz,车辆的计算能力fi=1ghz。通信带宽b=10mhz,噪声功率σ2=-114dbm。
[0095]
车辆最大发送功率
[0096]
图4给出了萤火虫算法的整体流程图。
[0097]
图5给出了萤火虫算法的参数设置图。其中种群规模设置为20,最大迭代次数设置为500,最大吸引力参数设置为0.2,光吸收系数设置为1。该算法能在21秒内完成500次迭代,寻得帕累托最优解集。
[0098]
图6给出了萤火虫算法输出的帕累托解集,纵坐标为时延(s),横坐标为能耗(j)。观察纵坐标可以看到,30个任务的计算完成总时延最低可达1.5s,平均每个计算强度wi=100cycles/bit所花费的计算时间约为5ms,远低于最大完成时延ri=100ms。萤火虫算法显
现出其时延寻优的优越性。途中横坐标显示,所有任务的总能耗为1.49j,平均每个车辆能耗为0.0497j,萤火虫算法显现出其能耗寻优的优越性。
[0099]
图7给出了萤火虫算法的收敛性图,纵坐标为时延能耗的加权和,即优化值,横坐标为迭代次数。图中显示,萤火虫算法迭代5次即可收敛。当加权系数ε=0.5时,可以找到能耗和时延的加权最优值3.85。萤火虫算法能快速收敛。
[0100]
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。
[0101]
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1