一种节能的软件定义车辆网络的控制器布局方法

文档序号:25814072发布日期:2021-07-09 13:50阅读:116来源:国知局
一种节能的软件定义车辆网络的控制器布局方法

1.本发明属于无线通信技术领域,涉及一种节能的软件定义车辆网络的控制器布局方法。


背景技术:

2.近年来,数据中心网络中的能源成本引起了越来越多的关注。由于大型网络架构的应用程序越来越多,并且为了减少应用程序的访问延迟,这些网络的数据中心在地理上分散分布,会导致数据中心网络中的大量电力的消耗。同样,随着车辆的快速增长和有限的道路基础设施,道路上的交通也面临着诸如传输延迟增加和缺乏管理等问题。尤其是随着软件定义车载网络(software

defined vehicular network,sdvn)的出现,车辆也可以与控制器通信。为了保证sdvn中的通信质量,控制器需要在地理位置上合理分布,且需要多个控制器协同合作。sdvn中的能源成本将不可避免地增加,以减少车辆和控制器之间的巨大延迟。因此,在sdvn中必须考虑合理数量的控制器。确定控制器的数量和位置,也称为控制器放置问题(controller placement problem,cpp),引起了研究人员的广泛关注。作为软件定义网络(software defined network,sdn)的核心组件,控制器在sdn中承担复杂的计算任务。但是,由于单个sdn控制器的计算能力有限,因此在处理大量请求时仍存在可伸缩性不足的关键问题,这意味着必须部署多个控制器,才能满足复杂的计算和大型网络中动态网络的变化。cpp最初是作为设施选址问题引入并解决的,这是一个众所周知的np难题。许多性能指标为了从多个方面评估cpp,包括能耗,延迟,负载平衡以及可用性。作为绿色通信系统设计的基本目标,节能可以降低控制器的能源成本。此外,这会增加sdn的控制器的运行时间。作为sdn最重要的问题之一,延迟会影响网络设备之间的状态同步。负载均衡指标是另一个重要指标,用于平衡整个网络的负载并将其分配到多个可操作单元中。


技术实现要素:

3.为解决大型动态网络sdvn中的控制器布局问题,并满足节能的要求,本发明提出了一种节能的软件定义车辆网络的控制器布局方法。对于一个区域,实现最少控制器覆盖且满足多个目标的优化,在降低该区域的控制器布局的能耗开销的同时保证了该区域车辆的通信要求。
4.本发明提供的技术方案,具体为,一种节能的软件定义车辆网络的控制器布局方法,包括:
5.s1:构建基于实际地理场景的最小控制器选择算法;
6.s2:向人工蜂群算法中添加自适应的机制;
7.s3:以步骤s2为基础,结合帕累托最优原理构建多目标的人工蜂群算法;
8.一种节能的软件定义车辆网络的控制器布局方法,还包括:s4:采用路由计算算法来评估路由度量的性能。
9.进一步地,所述步骤s1中是通过中央控制器分派给每个控制器;所述控制器分为
两类,常开的控制器以及动态开启的控制器;
10.所述步骤s1具体包括如下步骤:
11.s11:采用控制器收集每个路口以及连接交叉路口的道路的信息;
12.s12:通过提供控制器的最大通信半径com_ran(单位为米),判断两个交点i和j之间的距离l;
13.s13:对控制器dis(c
i
,c
j
)之间的距离进行判断;
14.s14:添加交通流量以管理控制器状态。
15.进一步地,所述s12具体为,如果l大于4com_ran,则将控制器相切放置;如果l大于2com_ran而小于4com_ran,则将单个控制器放置在两个路口的中间;所有控制器的位置都存储在c_set中,执行c_set的优化;对于每次迭代,构造一个表示当前控制器网络的图形g(v,e),节点集v代表c_set中的控制器;
16.进一步地,所述s13具体为:如果dis(c
i
,c
j
)小于com_ran,则此通信被判定为有效并存储在e中,根据g(v,e)生成连接子集con_set,获得每个连接集的最小和最大x轴坐标和y轴坐标minx,maxx,miny,maxy,计算出每个连接集所相应的矩形并将其存储到r_set中;
17.对r_set中的矩形执行遍历,如果矩形r
i
与另一个矩形r
j
重叠,则生成一个新的矩形r
k
以覆盖r
i
和r
j
,然后在r_set中删除重叠的矩形r
i
和r
j
。对于r_set中的所有r
i
,r
i
覆盖范围内的所有控制器都将通过鱼鳞放置进行重新排列。若r
i
中只有两个控制器并且它们紧密布局,则将这两个控制器都删除,并在它们的中间放置一个新控制器。若矩形中有多个控制器,则所有控制器都将被清除并使用鱼鳞布局放置新的控制器。所有对控制器的添加或删除操作都在c_set中记录和更新。循环此操作直至获得稳定的布局方案。遍历s_set中的所有段;如果c_set中的控制器c_i没有覆盖s_set中的任何段,则c_i被标记为无用的控制器,并从c_set中删除。
18.进一步地,所述s14具体为:
19.遍历s_set中的所有段。如果c_set中的控制器c
i
没有覆盖s_set中的任何段,则c
i
被标记为无用的控制器,并从c_set中删除。接下来遍历并收集多个时间片之间的车辆位置v_set。如果车辆v
i
可以找到最接近的控制器c
j
,且v
i
在c
j
通信范围内,则c
j
管理的车辆数量s[j]增加1。控制器c
j
记录了所有车辆后,将车辆数量计数器s[j]与两个阈值:γ和δ进行比较。γ和δ由传输半径,数据包的持续时间以及数据包中包含的车辆总和确定。此步骤将c_set分为固定开启的控制器集合fix_c_set以及可动态开关的控制器集合sw_c_set。若s[i]>δ,则打开相应的控制器c
i
并将c
i
插入fix_c_set。如果s[i]<γ,则说明控制器c
i
管理的车辆节点为孤岛节点。由于孤岛车辆节点的数量极少,且管理孤岛节点所需的控制器的能耗太大,这将导致路由性能变差,因此,从c_set中删除c
i
。其他控制器添加至可动态开关的控制器集合sw_c_set。此外,对于fix_c_set中的其他控制器,生成矩形集r_set。
[0020]
所述矩形集r_set中的控制器稀疏放置在每个矩形中;
[0021]
如果某个控制器的流量很低并且该控制器管理有限的隔离节点,则删除该控制器的fix_c_set和sw_c_set并结束算法。
[0022]
进一步地,所述s2中的自适应机制为:首先将所有使用的雇佣蜂分为两部分,此过程基于随机生成的种群p中解x
i
的适应度值,上半部分将到达具有更好适应性值的解,然后执行本地搜索,另一半将被发送到较差的解,并基于全局最优解x
best
进行全局最优搜索,每
次迭代后,适应度值都会根据上一次迭代的解进行更新,随着迭代次数的增加,上半部分蜜蜂的比例k越来越大。在前期,邻域搜索的比率等于全局最优搜索的比率,在后期,执行更多的邻域搜索。由于随着迭代次数变大,解逐渐围绕当前的最优解聚集,因此在执行邻居搜索时更有必要避免局部最优;
[0023]
最后,产生了新的解决方案。根据适应度值,从2n个新产生的最优解中选择前n个解作为新种群p
new

[0024]
进一步地,所述人工蜂群算法中跟随蜂的改进步骤:
[0025]
每个解都有一个概率pro
i
,概率pro
i
是基于解的适应度值决定的;适应度值较高的解具有更高的概率pro
i
,轮盘赌机制用于生成每个解决方案x
i
的轮盘赌概率值rand(0,1),对于每个解,将概率pro
i
与rand(0,1)进行比较,如果pro
i
的概率大于rand(0,1),则解决方案将基于局部搜索生成新的解,然后将新的解添加到种群中;否则,概率pro
i
比rand(0,1)差时,那么解将无法执行局部搜索,该解将被丢弃;并且对下一个解决方案进行比较;一旦种群数量达到2n,跟随蜂的优化阶段就完成了;通过比较每个解决方案的适应度值,从新生成的种群p
new
中选择n个适应度最优的解;
[0026]
侦察蜂的改进步骤:基于最大迭代次数maxiter,如果将最佳解稳定超过maxiter/4次,则改进的侦查蜂将达到当前的最佳种群,然后通过邻居搜索将种群随机变异h次。因此,产生了h个新种群,选择h+1个种群所有解中的前n个解作为新种群p
new

[0027]
进一步地,所述s3中多目标的人工蜂群算法包括:
[0028]
s31:随机产生初始种群p;
[0029]
根据nsga

ii的快速非支配排序方法及多样性保留机制获得每个解x
i
的非支配地位等级和解密度值dens,选择非支配排序序列为1中的具有最小密度值的解作为全局最优解;
[0030]
s32:执行多目标自适应的雇佣蜂阶段,根据解的非支配排序筛选;
[0031]
将确定每个解的非支配排序rank,如果解不属于非支配排序为1,则解将以随机步长向全局最优解移动。否则,如果解确实属于等级1,则解将以随机步长从等级1向密度较低的解移动。
[0032]
如果解的非支配排序值不是等级1,则轮盘赌概率设置为0。否则,根据解的密度计算轮盘赌概率;
[0033]
s33:根据轮盘赌概率选择解;
[0034]
将每个解的概率值与轮盘赌概率进行比较,如果解的概率值高于其轮盘赌概率,则解将向密度较低但也从等级1开始的解移动。否则,如果解的概率值较低,则放弃该解,并比较下一个解,直到生成n个新解;
[0035]
s34:改进多目标自适应的侦察蜂阶段;
[0036]
如果种群在每次迭代后保持稳定,则稳定值加1,当稳定值达到maxiter/4时,将执行随机突变,选择等级1中具有最小密度的最佳解在随机维度中进行变异,此步骤产生n个新解。
[0037]
进一步地,所述s4中的路由计算算法,具体包括:
[0038]
s41:预先计算控制器和车辆之间的关系作为输入;
[0039]
s42:获取跳数列表hop和相应的下一跳节点列表next_hop;
[0040]
s43:更新v
i
的路由信息。
[0041]
本发明提出一种节能的软件定义车辆网络的控制器布局方法,首先,提出的最小控制器选择算法可以减少控制器的数量,并保证该区域的覆盖范围。此外,在提出的改进的人工蜂群算法的基础上,提出了一种改进的多目标人工蜂群算法。多目标人工蜂群算法可以根据实时流量判断要为数据传输打开哪些控制器。最后,提出了一种路由计算算法来评估路由度量的性能。实验表明,在路由度量方面,本发明比其他现有的cpp方案具有更好的性能。
[0042]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明的公开。
附图说明
[0043]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0044]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]
图1为本发明公开实施例提供的一种节能的软件定义车辆网络的控制器布局方法的布局示意图;
[0046]
图2为本发明公开实施例所述的鱼鳞布局示意图;
[0047]
图3为本发明公开实施例所述的稀疏布局示意图;
[0048]
图4为本发明公开实施例所选取的区域的拓扑图;
[0049]
图5为本发明所述控制器覆盖半径为250米时的区域覆盖效果图;
[0050]
图6为本发明所述控制器覆盖半径为500米时的区域覆盖效果图;
[0051]
图7为本发明所述的评价函数f5的实验数据对比图;
[0052]
图8为本发明所述的评价函数f7的实验数据对比图;
[0053]
图9为本发明所述的评价函数f9的实验数据对比图;
[0054]
图10为本发明所述的评价函数f10的实验数据对比图;
[0055]
图11为本发明所述的nsga

ii的覆盖性实验效果图;
[0056]
图12为本发明所述的mopso的覆盖性实验效果图;
[0057]
图13为本发明所述的imabc的覆盖性实验效果图;
[0058]
图14为本发明所述的控制器布局方案的能耗实验数据对比图;
[0059]
图15为本发明所述的控制器布局方案的时延实验数据对比图;
[0060]
图16为本发明所述的控制器布局方案的时延抖动实验数据对比图;
[0061]
图17为本发明所述的控制器布局方案的送达率实验数据对比图;
[0062]
图18为本发明所述的控制器布局方案的平均跳数实验数据对比图。
具体实施方式
[0063]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例
中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的系统的例子。
[0064]
随着越来越多的大规模网络应用的诞生,大大增加了数据中心网络中的能源成本。在软件定义的车辆网络(software

defined vehicular network,sdvn)中,随着车辆数量的增加,车辆之间以及车辆与控制器之间的通信延迟也大大增长。为减少大量的等待时间,需要布局多个控制器来进行通信辅助,这不可避免的产生了巨大的能量消耗。因此,在减少sdvn中的能源成本时,必须考虑被称为控制器放置问题(controller placement problem,cpp)的控制器的数量和位置。尽管在静态网络中已经对cpp进行了深入研究,但是在高度动态和复杂的网络中尚未得到有效解决。合理地放置控制器可以降低能源成本,从而实现sdvn中的绿色通信。本实施方案在sdvn中提出了一种新颖的节能cpp方法。
[0065]
由于cpp被认为是设施位置问题,因此解决该问题的常规方法是启发式算法。本发明使用了一种基于群体智能的新型全局优化算法—人工蜂群算法(artificial bee colony algorithm,abc)。根据蜜蜂的觅食行为进行设计,abc将蜜蜂分为三类,分别是雇佣蜂,跟随蜂和侦察者的蜜蜂。每种蜜蜂执行不同的行为。abc显示出更好的本地搜索和全局搜索功能,而面临诸如过早收敛的缺点。而且,abc容易陷入局部最优,并且在迭代的后期收敛速度慢。因此,本实施方案通过修改搜索方程,以改进abc算法。
[0066]
一种节能的软件定义车辆网络的控制器布局方法(minimum controller selection mechanism,mosa)。该方法可以使用尽可能少的控制器来覆盖给定拓扑中的交通路段。添加了流量判断机制,以进一步减少操作控制器的数量。mosa将控制器分为两类,常开的控制器以及动态开启的控制器。这一划分将使用最少的控制器,可以确保sdvn中的节能通信。
[0067]
s1:为了节省保证sdvn通信中的能源消耗,本实施方案致力于使用最少的控制器覆盖交通车道。这可以显著降低能源成本。另外,该算法还努力保证这种拓扑结构下的所有车辆与控制器之间的通信效果。mosa通过中央控制器分派给每个控制器。
[0068]
第一步,是收集每个路口以及连接交叉路口的道路的信息。此操作记录每个路口的纬度和经度。首先将控制器放置在每个路口。
[0069]
第二步,通过提供控制器的最大通信半径com_ran,判断两个交点i和j之间的距离l。如果l大于4com_ran,则将控制器相切放置。如果l大于2com_ran而小于4com_ran,则将单个控制器放置在两个路口的中间。所有控制器的位置都存储在c_set中。然后执行c_set的优化。对于每次迭代,构造一个表示当前控制器网络的图形g(v,e)。节点集v代表c_set中的控制器。
[0070]
第三步,对两个控制器c
i
,c
j
之间的距离dis(c
i
,c
j
)进行判断。如果dis(c
i
,c
j
)小于com_ran,则此通信被判定为合格,存储在e中。根据g(v,e)生成连通子集con_set,此步骤下可以获得每个连通子集的最小和最大x轴坐标和y轴坐标minx,maxx,miny,maxy。通过最小以及最大坐标可以计算出连通子集相应的矩形并将其存储到r_set中。对r_set中的矩形执行遍历,如果矩形r
i
与另一个矩形r
j
重叠,则生成一个新的矩形r
k
以覆盖r
i
和r
j
,然后在r_set中删除重叠的矩形r
i
和r
j
。对于r_set中的所有r
i
,r
i
覆盖范围内的所有控制器都将通过鱼鳞放置进行重新排列。若r
i
中只有两个控制器并且它们紧密布局,则将这两个控制器都删除,并在它们的中间放置一个新控制器。若矩形中有多个控制器,则所有控制器都将被清
除并使用鱼鳞布局放置新的控制器。所有对控制器的添加或删除操作都在c_set中记录和更新。循环此操作直至获得稳定的布局方案。
[0071]
在下一步中,将添加交通流量以进一步管理控制器的状态。遍历s_set中的所有段。如果c_set中的控制器c
i
没有覆盖s_set中的任何段,则c
i
被标记为无用的控制器,并从c_set中删除。接下来遍历并收集多个时间片之间的车辆位置v_set。如果车辆v
i
可以找到最接近的控制器c
j
,且v
i
在c
j
通信范围内,则c
j
管理的车辆数量s[j]增加1。控制器c
j
记录了所有车辆后,将车辆数量计数器s[j]与两个阈值:γ和δ进行比较。γ和δ由传输半径,数据包的持续时间以及数据包中包含的车辆总和确定。此步骤将c_set分为固定开启的控制器集合fix_c_set以及可动态开关的控制器集合sw_c_set。若s[i]>δ,则打开相应的控制器c
i
并将c
i
插入fix_c_set。如果s[i]<γ,则说明控制器c
i
管理的车辆节点为孤岛节点。由于孤岛车辆节点的数量极少,且管理孤岛节点所需的控制器的能耗太大,这将导致路由性能变差,因此,从c_set中删除c
i
。其他控制器添加至可动态开关的控制器集合sw_c_set。此外,对于fix_c_set中的其他控制器,生成矩形集r_set。与上面介绍的操作不同,r_set中的控制器稀疏放置在每个矩形中。由于fix_c_set中的控制器始终处于打开状态,因此该区域的路由性能可以得到保证,故可以使用稀疏布局来减少所需的控制器数量,用以节省该区域的能耗。输出fix_c_set和sw_c_set,算法结束。鱼鳞布局和稀疏布局之间的区别可以在图2和图3中看到。鱼鳞布局保证了控制器覆盖区域的全覆盖效果,因此鱼鳞布局中的控制器数量多于稀疏布局。而稀疏布局在保证控制器覆盖效果的前提下,最大程度减少控制器数量,因此稀疏布局使用的控制器数量少于鱼鳞布局。
[0072]
s2:本实施方案提出了一种改进的人工蜂群算法,改进主要基于三种蜜蜂的行为以获得。添加了独特的自适应适应度值机制。与其他改进的abc算法相比,本专利的算法可以找到误差最小的近似最优解切迭代时间最短。
[0073]
本发明对人工蜂群算法做出了改进,主要改进为添加了自适应的机制。与其他自适应机制不同,本发明提出的自适应机制首先将所有使用的雇佣蜂分为两部分。此过程基于随机生成的种群p中解x
i
的适应度值。上半部分将到达具有更好适应性值的解,然后执行本地搜索。另一半将被发送到较差的解,并基于全局最优解x
best
进行全局最优搜索。每次迭代后,适应度值都会根据上一次迭代的解进行更新。随着迭代次数的增加,上半部分蜜蜂的比例k越来越大。在前期,邻域搜索的比率等于全局最优搜索的比率,在后期,执行更多的邻域搜索。由于随着迭代次数变大,解逐渐围绕当前的最优解聚集,因此在执行邻居搜索时更有必要避免局部最优。最后,产生了新的解决方案。根据适应度值,从2n个新产生的最优解中选择前n个解作为新种群p
new

[0074]
跟随蜂的改进步骤仍采用了原始的轮盘赌机制,但增加了一些调整。每个解都有一个概率pro
i
。概率pro
i
是基于解的适应度值决定的。适应度值较高的解具有更高的概率pro
i
。轮盘赌机制主要用于生成每个解决方案x
i
的轮盘赌概率值rand(0,1)。对于每个解,将概率pro
i
与rand(0,1)进行比较。如果pro
i
的概率大于rand(0,1),则解决方案将基于局部搜索生成新的解,然后将新的解添加到种群中。否则,概率pro
i
比rand(0,1)差时,那么解将无法执行局部搜索,该解将被丢弃。并且对下一个解决方案进行比较。一旦种群数量达到2n,跟随蜂的优化阶段就完成了。通过比较每个解决方案的适应度值,从新生成的种群p
new
中选择n个适应度最优的解。
[0075]
侦察蜂的主要改进步骤基于最大迭代次数maxiter。如果将最佳解稳定超过maxiter/4次,则改进的侦查蜂将达到当前的最佳种群,然后通过邻居搜索将种群随机变异h次。因此,产生了h个新种群。选择h+1个种群所有解中的前n个解作为新种群p
new

[0076]
s3:为了解决多目标动态场景下的cpp问题,提出了一种基于改进abc的改进多目标人工蜂群算法(imabc)。imabc用于选择控制器的开关状态。用这种方式,可以显著减少开启的控制器的数量,以实现绿色通信。
[0077]
在s2的基础上,本实施方案提出了一个多目标的人工蜂群算法(imabc)。imabc是在我们提出的改进的人工蜂群算法与帕累托最优原理相结合的基础上提出的。此外,imabc使用nsga

ii的快速非支配排序方法和多样性保留机制。nsga

iii中的参考点机制也被用于我们提出的imabc中,作为一种改进。下一部分将介绍快速非支配排序方法,多样性保留机制和参考点机制的主要思想。
[0078]
快速非支配排序方法中,每个解都有两个特征,一个是非支配解排序结果,另一个是解的密度。非支配解排序结果是通过多个步骤获得的。对于每个解x
m
,计算两个度量。一种是支配数n
m
,即可以支配解m的解的数量,表示为s
m
。另一个度量标准是一组由解决方案x
m
主导的解决方案。将支配计数n
m
为零的所有解设置为第一层非支配排序。然后,对于第一层非支配排序中的每个解x
m
,在s
l
中具有m的任何其他解x
l
,支配数n
l
将减1。在此步骤之后,如果任何解的支配数变为零,则将这些成员设置为第二个非支配排序结果。此过程将继续进行,直到识别出所有排序结果或排序结果为6。
[0079]
在多样性保护机制中,可以使用拥挤距离方法来确定解密度。对于每个目标函数,都会计算出解的拥挤距离。首选根据目标函数的值按升序对解进行排序。具有最小和最大函数值的解称为边界解。边界解分配无穷大的距离值。其余解的拥挤距离等于两个相邻解的函数值的绝对归一化差。在其他目标函数中,执行相同的计算拥挤距离的操作。计算解决方案的总体拥挤距离值,并将其定义为到每个解的各个距离值的总和。为此,可以获得解密度。
[0080]
参考点机制已被添加到imabc中,以提供并自适应地更新扩展的参考点。首先,对整个种群执行非支配等级分类。从非支配的排序为1到l的所有解首先被包括在选定的前排中。如果|sfront|=n,不需要进一步的操作。然后,以s=sfront开始下一代。对于|sfront|>n,已经选择了从一个到等级(l

1)的成员作为sfront的成员,其余(k=n

|sfront|)个解是从可选的剩余排序等级的解中选择的。首先定义了超平面上的参考点zr。zr在顶点为(1,0,0),(0,1,0)和(0,0,1)的三角形上创建。sfront和ofront的每个解x
i
需要与其对应的参考点关联。因此,通过确定每个目标函数的最小值来确定sfront的极点。找到与每个目标函数的坐标轴距离最近的解并基于解生成超平面。然后对所有解执行自适应归一化。具体步骤为计算解到超平面上每个坐标轴的截距,并将这些截距设置为归一化的标准。根据这些截距,计算所有解的归一化坐标。而且,每个标准化解ns
i
与参考点rp
j
之间的距离以sfront和ofront计算。每个解决方案nsi需要与最近的参考点rp
j
相关联。如果sfront中的解与rp
j
相关联,则rp
j
的利基值nc[j]增加1。为了筛选解决方案,执行“利基保护操作”。识别具有最小利基值nc[min]的参考点rp
min

[0081]
如果nc[min]=0(意味着sfront中没有解与参考点rp
min
相关联),则rp
min
有两个结果。若其中已有一个或多个解与参考点rp
min
相关联,则将与rp
min
距离最短的解添加到种群p
中,计数nc[min]加1。但是,如果ofront没有与参考点rp
min
相关的任何解,则rp
min
不在当前这一代解的考虑范围之内。如果nc[min]≥1(表示s
f
中已经存在一个与参考点相关联的成员),则来自ofront的与参考点rp
min
相关联的随机解将添加到种群p。计数nc[min]加1。更新利基值后,该过程重复k次以填充s
f
的所有空余位置。
[0082]
多目标优化蜂群算法((improved multi

objective artificial bee colony algorithm,imabc)的主要有以下步骤。首先随机产生初始种群p;从上面介绍的两个过程获得每个解xi的非支配地位等级和解密度值dens。选择非支配排序序列为1中的具有最小密度值的解作为全局最优解。在接下来的步骤中,将执行多目标自适应的雇佣蜂阶段,多目标自适应的跟随蜂阶段和多目标自适应的侦察蜂阶段。多目标自适应的雇佣蜂阶段的改进基于非支配排序rank和当前n个解的解密度。不再根据目标函数值进行排序,而是根据解的非支配排序筛选。在此阶段,将确定每个解的非支配排序rank。如果解不属于非支配排序为1,则解将以随机步长向全局最优解移动。否则,如果解确实属于等级1,则解将以随机步长从等级1向密度较低的解移动。在此步骤之后,作为此部分的结果,将生成n个新的解。在多目标自适应的跟随蜂阶段的开始,就确定了解的非支配解排序。如果解的非支配排序值不是等级1,则轮盘赌概率设置为0。否则,根据解的密度计算轮盘赌概率。此操作确保只有性能更高的解才能产生下一代。等级1的每个解都有一个概率值,该概率值表示解决方案的性能。概率值更大,解决方案更好。下一步是根据轮盘赌概率选择解。将每个解的概率值与轮盘赌概率进行比较。如果解的概率值高于其轮盘赌概率,则解将向等级1中密度较低的解移动。否则,如果解的概率值较低,则放弃该解,并比较下一个解,直到生成n个新解。最后一部分是多目标自适应的侦察蜂阶段的改进。如果种群在每次迭代后保持稳定,则稳定值加1。当稳定值达到maxiter/4时,将执行随机突变。选择等级1中具有最小密度的最佳解在随机维度中进行变异。此步骤产生n个新解。
[0083]
s4:为测试本发明的效率,本发明设计了一个路由计算算法,通过本控制器布局方案下,由源车辆节点向目的车辆节点发送数据包时的路由指标来比较进而判断本方案的效率。
[0084]
本发明采用lte

v2x技术的软件定义车辆网络,通过对区域的控制器节能布局方案多个目标的优化。本发明提出了一个对区域的最小控制器算法,改进了一个传统的启发式算法并在此基础上提出多目标优化的算法,提高了算法的性能。提出了一个路由计算算法来评价控制器覆盖方案的路由效率。本发明大大提高了降低了控制器布局的能源开销,提高了车辆之间的通信效率。
[0085]
控制器c_set的初始位置可以通过mosa算法获得。此外,使用imabc处理所有动态放置的控制器s[n]的开关状态。路由计算机制可以获取固定开启的控制器集合fix_c_set和动态开关集合sw_c_set,可用于后续路由时使用。s是基于三个指标的帕累托解集,三个指标分别为时延,能耗和负载均衡。首先,控制器和车辆之间的关系作为输入。对于每个车辆v
n
,找到最接近的控制器并将其存储在v_c[n]中。v
n
和v_c[n]之间的距离被计算并存储。下一步是获取当前跳数hop列表和下一跳next_hop列表。该步骤可以通过记录车辆和距该车辆最近的可用控制器来获得。找到所有可以在一跳内与控制器通信的车辆,具体来说,如果车辆v[s]与它的最接近的控制器v_c[s]之间的距离小于com_ran(next_hop<com_dis),则记录车辆并将当前跳数hop[s]记录为1,并且下一跳next_hop[s]记录为0。这样,所有与
控制器距离为一跳的车辆都已得到处理。接下来,需要考虑多跳车辆。遍历所有尚未处理的车辆v
i
(hop[i]=0),此步骤可以获得v
i
的邻接车辆。若存在一个已处理的邻接车辆(hop[i]=1),将其存储在一组可用邻居集合an_set中。然后,计算在v
i
与最近的控制器v_c[mini]之间距离最小(min(dis[i][n])+v_c_d[n])的车辆节点。这个步骤后,可以获得从v
i
到控制器之间的最短距离,mini可以作为车辆到控制器间的中继。最后,更新v
i
的路由信息,跳数列表hop[i]更新为hop[mini]+1,下一跳列表next_hop[i]更新为mini。此外,车辆控制器关系信息v_c[i]=mini,v_c_d[n]=dis[i]并且mini+v_c_d[mini]需要更新以进行进一步迭代。在此迭代之后,这个步骤处理完成所有两跳车辆。对于更多的跳数的车辆,将递归遍历以上过程。算法的最大跳数设置为5,这意味着每一个车辆都能在5跳之内找到距离其最近的控制器并传输数据包。经过这些步骤,可以基于next_hop[i]获得所有车辆的路由路径。从源车辆src和目的车辆des到其控制器r_src和r_des的路由路径可以通过递归处理next_hop[src]和next_hop[des]来获得。同时,使用dijkstra计算v_c[src]和v_c[des]之间的路由路径r_con。然后,保留r_des并将其与r_src和r_con组合。这样,从src到des的整个路由路径都可以获得。通过这条路径,就可以评估从src到des发送数据包时的路由指标效果,如时延、能耗、数据包送达率等等。
[0086]
本发明选择了中国沈阳的铁西区作为拓扑,如图4所示。该区域的车道相对整齐,并且该区域的子域是方形放置的,因此该区域适合进行本实验的模拟。该区域的网络拓扑可以从openstreetmap获得,使用java openstreetmap编辑器(josm)对原始拓扑进行一些调整,可以编辑拓扑的地理信息。车辆相关信息如速度和车辆数量是从sumo平台设置的。从图5和图6这两个图可以看出mosa的实验结果。从图5中可以清楚地看到,当控制器的传输半径设置为250米时,可以在此区域放置177个控制器。另外,可以将控制器中的81个控制器设置为固定控制器。这81个控制器将保持打开状态,而其他控制器被选择动态打开或关闭。在图6中,当控制器的传输半径设置为500米时,控制器的数量减少到40,而固定控制器的数量同时减少到10。sdn控制器的传输半径可根据不同通信技术的参数进行调整。随着控制器变换半径的增大,控制器数量大大减少。
[0087]
本专利提出的改进的人工蜂群算法在matlab上进行了仿真,并与原始的人工蜂群(abc),粒子群优化(pso)和引力搜索算法(gsa)进行了比较。为了评估所提出方法的性能,使用了标准基准函数来评估群体智能算法。基于不同的基准评估算法在不同函数下找到最优解的能力。本发明选择标准基准函数中四个代表性的函数,分别是f5,f7,f9,f10函数。这些基准函数包括单峰函数和多峰函数,因此,可以充分测试本发明提出的算法的性能。此外,该模拟的参数设置如下:种群数设置为30,迭代次数设置为3000。实验结果记录了测试时每种算法的误差曲线,如图7

图10所示。从图中可以清楚地看出,本专利提出的算法在处理不同问题时总是具有最小的误差。当解在特定时间内陷入局部最优时,该算法可以有效地跳出局部最优。同时,与其他算法相比,找到全局最优解的时间成本在合理范围内。
[0088]
多目标蜂群算法的仿真基于platemo实验平台。在本专利的仿真中,使用dtlz2目标问题来评估算法的性能。此外,本实验选择参数的默认值作为所选算法的参数。选择了两种常见的多目标进化算法与imabc进行比较。这些算法分别是非支配排序遗传算法(nsga

ii)和多目标粒子群优化算法(mopso)。在cpp问题中,算法的均匀性是评价控制器分布算法的一个重要性能指标。由于这些可行的解组成帕累托解集,每个帕累托解集必须是均匀的,
这样才能保证每个解有均衡的效果,因此本实验选择均匀性作为评估指标。从图11至图13中可以看出,当评估多目标dtlz2问题时,与mopso和nsga

ii相比,本专利提出的imabc算法所得出的解具有最佳的分布均匀性。
[0089]
为了评估sdvn中的cpp方案,本专利选择了三种cpp方案与本专利提出的imabc进行比较。这些方案是贪婪布局,非零和博弈布局和mhnsga

ii布局。此外使用诸如延迟,抖动,送达率和能耗等由度量来评估这些布局方案。
[0090]
在图14中介绍了比较仿真实验的结果,显示了四种算法的能耗实验效果。该指标用于评估所有控制器的能源成本。在这些算法中,开启控制器的数量是不同的。贪婪布局中的控制器均打开。imabc中的开启控制器数量少于贪婪布局。mhnsga

ii和非零和博弈布局的数量最少。随着车辆数量的增加,理论上算法的能耗也随之增加。然而,imabc算法的能量消耗小于贪婪算法,与控制器开通次数较少的算法相近。这表明imabc在降低能源成本方面具有优势。当车辆数量增加时,mhnsga

ii和非零和博弈的能耗增加不明显。这主要是因为这两种算法对车辆数量的变化不敏感。他们提出的解决方案不能捕捉到车载网络的动态特征。这种缺陷也体现在传送率、时延和抖动的实验结果中。
[0091]
图15和图16显示了传输数据包时的延迟和抖动性能。imabc的时延比mhnsga

ii和非零和博弈的时延要小得多。imabc的时延接近贪婪的时延,但比贪婪算法的时延稍差。然而,贪婪算法在时延方面获得了轻微的优势,但在能耗上做出了很大的牺牲。另外,imabc的时延抖动表现出了其算法的稳定性。
[0092]
图17显示了不同布局算法下数据包送达率。此指标下,本专利提出的算法效果与贪婪算法的性能几乎相同。在贪婪布局中,由于所有控制器都已打开,良好的性能是理所应当的。imabc中开启控制器的数量比贪婪算法少,所以这种差异是可以接受的。此外,由于贪婪的数据包送达率达到了95%,这一性能表明了本专利的mosa算法的优异性能。在平均数据包送达率到92%的情况下,imabc的性能超过了其他算法,证明了imabc在sdvn中的数据包传输也是可靠的。
[0093]
平均跳数的性能如图18所示。本度量主要介绍从源控制器到目的控制器的成功传输数据包的平均跳数。当控制器的数据包传输失败时,车辆使用gpsr自行转发数据包。此外,如果传输仍然失败,车辆仍会尝试传输数据包三次。否则,该数据包将被丢弃。与贪婪类似,imabc中的数据包传输可以在6跳内完成。然而,mhnsga

ii和非零和博弈需要近8跳才能传输数据包。这表明在sdvn中传输分组时,这两种算法是不可靠的。这意味着采用mhnsga

ii或者非零和博弈的方法不能有效保证路由质量。
[0094]
本发明提出了一种节能方案,以解决具有多个目标的动态sdvn场景中的控制器布局问题。基于实际拓扑,本专利提出的最小控制器选择算法(mosa)可确保使用最少数量的控制器来覆盖区域。此外,在这种情况下考虑了交通流量,将控制器分为两种,已打开的控制器和动态打开的控制器,以进一步减少控制器的数量。提出了一种改进的多目标人工蜂群算法(imabc),基于本发明提出的改进的自适应人工蜂群算法,imabc可以根据交通流量选择控制器的开关状态。此外,本发明还设计了一种路由计算算法,以使用诸如延迟,抖动,成本,平均跳数和数据包送达率等的路由度量来评估cpp解决方案的性能。实验结果表明,本发明提出的控制器布局方案优于其他控制器布局方案。imabc具有更低的能源成本,较低的延迟和更好的交付比率,显示了该算法的可靠性和可行性。
[0095]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1