一种虚拟网络映射算法的优化方法及装置与流程

文档序号:23727710发布日期:2021-01-26 17:49阅读:114来源:国知局
一种虚拟网络映射算法的优化方法及装置与流程

[0001]
本发明涉及一种虚拟网络映射算法的优化方法及装置,涉及h04w无线通信网络领域。


背景技术:

[0002]
网络虚拟化技术通过抽象和重构机制将用户的业务请求构建成相互隔离的、多样化的、异构的虚拟网络(virtual network),使得新型的网络服务和网络协议可以在虚拟网络中独立运行。虚拟网络由虚拟节点(virtual node , vn)和虚拟链路(virtual link , vl)组成,对应底层物理节点和物理路径。一般情况下,单个虚拟网络映射问题可分解为两个子问题,即虚拟节点映射子问题和虚拟链路映射子问题。
[0003]
现有技术中常见的用于解决虚拟网络映射问题的算法为遗传算法,遗传算法局部搜索优化能力较差,参数选择不当会严重影响解的品质。而和声搜索算法虽然弥补了遗传算法的不足,但其收敛速度慢、且对初始记忆库依赖性较强。


技术实现要素:

[0004]
发明目的:提出一种虚拟网络映射算法的优化方法及装置,以解决现有技术存在的上述问题。
[0005]
技术方案:一种虚拟网络映射算法的优化方法,包括以下工作过程:对问题的解进行编码,并生成初始种群;计算每个个体的适应度;对种群进行更新,进行选择运算、交叉运算、变异运算;从产生的新种群中选取预定个数的个体,作为初始和声记忆库的解向量;基于预定规则,得到新的和声解向量;更新记忆库;重复执行得到新的和声解向量、以及更新记忆库的过程,直到达到最大的迭代次数或满足停止准则后结束循环,输出最优解。
[0006]
在第一方面的一些可实现方式中,对问题的解进行编码的过程进一步为:定义,其中k=||,表示第j个虚拟网络中需要映射虚拟节点个数,用长度为k的串表示问题的解,串中第i个元素的取值来自集合,表示虚拟节点可以映射的所有物理节点,表示虚拟节点集合,表示第j个虚拟网络中需要映射的第k个虚拟节点。
[0007]
通过随机方法和启发式算法生成初始种群,所生成的初始种群为虚拟节点集:
其中,,表示初始种群的第1组解;k表示第j个虚拟网络中需要映射虚拟节点个数,m表示种群大小,表示初始种群的第m组解。
[0008]
在第一方面的一些可实现方式中,计算每个个体的适应度的过程进一步为:在完成虚拟链路映射后计算映射代价:式中,表示第i条染色体的映射代价,表示物理节点,表示物理节点集合,表示控制物理节点均衡利用的权重,是为了避免目标函数出现除数为0的情况而设置的趋于0的常量,是映射到物理节点的唯一节点,取值为0,表示控制物理链路均衡利用的权重,表示第j个虚拟网络的虚拟链路集合,表示第条虚拟链路流经物理链路(,)的流量,表示任意物理节点在接受第j条虚拟网络中虚拟节点映射后的剩余cpu容量,表示任意物理链路在接受第j条虚拟网络中虚拟链路映射后的剩余带宽,表示物理链路集合;其中,;计算当前种群中所有个体对应的映射方案的最大均衡代价:式中,表示当前种群中所有个体的最大均衡代价,表示第j条染色体的映射代价,表示当前种群中所有个体的最大均衡代价,其余各符号含义同上;对应问题的解的适应度值为,式中各符号含义同上。
[0009]
在第一方面的一些可实现方式中,在对种群进行更新,进行选择运算、交叉运算、变异运算的过程中,所述选择运算进一步为:根据每个个体在下一代群体中的生存期望进行随机选择运算,种群大小m,个体适应度值为;计算群体中每个个体在下一代群体中的期望生存数目;式中,表示每个个体在下一代群体中的期望生存数目,m表示种群大小,表示第j个个体的适应度值,其余各符号含义同上;判断当前个体是否被选中参与交叉运算,当前个体被选中参与交叉运算,则它在下一代中的生存期望数目减去预定值a;当前个体未被选中参与交叉运算,则它在下一代中的生存期望数目减去预定值b;当前个体的生存期望数目小于预定值c时,则该个体不被选中;取的整数部分[]为对应个体在下一代群体中的生存数目,确定出下一代群体的个体数为,未确定的个体数为,式中各符号含义同上。
[0010]
在第一方面的一些可实现方式中,在对种群进行更新,进行选择运算、交叉运算、
变异运算的过程中,所述交叉运算进一步为:随机选取两个串,作为父串x、母串y;指定两个交配点,两点之间的区域为匹配区域,区域长度小于父代向量长度;使用位置交叉运算交换两个父串的匹配区域得到串x1、串y1;对位置交叉运算产生的两个父串匹配区域以外出现的重复序号通过随机方法进行有效不重复映射,直到串中无重复数字;根据映射关系对预定位置的虚拟节点进行修改,得到串x2;所述变异运算进一步为:将交叉运算得出的x、y以预定的突变率交换第,位,且变异运算中保持串中元素各不相同,得到变异运算后的串、;从产生的新种群中选取预定个数的个体,作为初始和声记忆库的解向量的过程进一步为:从产生的新种群中选取个个体,作为初始和声记忆库的解向量:其中,表示初始和声记忆库解向量的第1组解,表示初始和声记忆库解向量第hms组解的第k个变量,表示初始和声记忆库解向量的第hms组解。
[0011]
在第一方面的一些可实现方式中,基于预定规则,得到新的和声解向量的过程进一步为:基于hmrs、par、随机选择三个规则,得到新的和声解向量;每次产生一个新解,其中新解分量通过如下三种机理产生:机理a、保留和声记忆库中的某些解分量:保留和声记忆库中的某些解分量,以预定概率hmrs随机对和声记忆库的某些分量进行保留,即新产生的来源于记忆库中第i个解分量的集合的概率为hmrs;机理b、随机选择产生:产生的新解分量是从第i个解分量的可行解空间中以1-hmrs的概率随机产生的;机理c、对机理a、机理b中产生的解分量按概率par进行扰动,得到按机理c产生的新解分量。扰动原则为:其中,等式右边的是扰动前新解的第i个解分量;为微调步长;为0到1的随机数;更新记忆库的过程进一步包括:判断新解是否优于hm内的最差解,若是,则将新的解替
换最差解,得到新的和声记忆库;重复执行得到新的和声解向量、以及更新记忆库的过程,直到达到最大的迭代次数或满足停止准则后结束循环,输出hms个最优解,hms<m;对hms个个体进行虚拟节点映射;对于路径不可分割情况采用启发式算法,对于路径可分割情况采用多商品流算法完成虚拟网络的构建,输出第j个虚拟网络映射方案。
[0012]
在第一方面的一些可实现方式中,在对问题的解进行编码前,还包括如下前序步骤:将物理网络表示为无向图,其中和分别表示物理节点集合和物理链路集合;第i个物理节点的cpu容量记为,第i个物理节点的位置属性记为;第j条物理链路的带宽记为;将第j条虚拟网络表示为无向图,其中和分别表示第j个虚拟网络的虚拟节点集合和虚拟链路集合;第j个虚拟网络的第i条虚拟节点的cpu容量记为,第j个虚拟网络的第i条虚拟节点的位置属性记为;第j个虚拟网络的第i条虚拟链路的带宽记为;将物理网络完成第j个虚拟网络的映射后取得的收益,定义为第j个虚拟网络的所有虚拟节点cpu容量和虚拟链路带宽的累加和:;将第j个虚拟网络的映射代价定义为分配给该虚拟网络的物理网络资源之和:,其中表示虚拟链路所映射的物理路径长度。
[0013]
第三方面,提供了一种虚拟网络映射算法的优化设备,该设备包括:处理器,以及存储有计算机程序指令的存储器;所述处理器读取并执行计算机程序指令时实现第一方面或第一方面的一些可实现方式中的虚拟网络映射算法的优化方法。
[0014]
第四方面,提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面或第一方面的一些可实现方式中的虚拟网络映射算法的优化方法。
[0015]
有益效果:本发明涉及一种虚拟网络映射算法的优化方法及装置,通过该优化方法,本发明能在减少虚拟网络映射代价的情况下,提高物理网络供应商的收益和虚拟网络请求的接受率,具有更高的全局寻优能力和局部搜索优化能力,此外收敛速度快于传统遗传算法,对初始记忆库的依赖性不高、从而进一步提高运行效率。
附图说明
[0016]
图1为现有技术用于解决虚拟网络映射优化问题的其中一个常用算法流程图。
[0017]
图2为现有技术用于解决虚拟网络映射优化问题的另一个常用算法流程图。
[0018]
图3为本发明实施例提供的虚拟网络映射算法的优化方法流程图。
[0019]
图4是本发明实施例提供的虚拟网络映射优化方法的整体流程示意图。
[0020]
图5为本发明涉及的变异概率非线性变化图像(以遗传代数t取100为例)。
具体实施方式
[0021]
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
[0022]
申请人认为,网络虚拟化技术通过抽象和重构机制将用户的业务请求构建成相互隔离的、多样化的、异构的虚拟网络,使得新型的网络服务和网络协议可以在虚拟网络中独立运行。虚拟网络由虚拟节点(virtual node , vn)和虚拟链路(virtual link , vl)组成,对应底层物理节点和物理路径。一般情况下,单个虚拟网络映射问题可分解为两个子问题,即虚拟节点映射子问题和虚拟链路映射子问题。
[0023]
虚拟网络映射问题本质是一个优化问题,大致描述是在满足节点和链路的约束条件下,在底层物理网络为虚拟网络分配出相应资源。高效的虚拟网络映射方法可以提高底层物理网络的映射效率,使基础设施供应商的收益最大化并提高虚拟网络的请求的接受率。虚拟网络映射的性能和效率会直接影响到网络虚拟化技术能否走向实际应用,因此对虚拟网络映射算法的改进具有很重要的价值。
[0024]
虚拟网络映射问题包括离线虚拟网络映射问题和在线虚拟网络映射问题,而单个虚拟网络映射问题是其基本子问题。
[0025]
单个虚拟网络映射问题是指将某个固定的虚拟网络映射到物理网络上。其中表示物理节点集合,物理节点数为;表示物理链路集合,物理链路数为;表示物理节点属性,包括cpu容量、地理位置信息、内存、外存等;表示物理链路属性,包括带宽、延迟、丢包率、长度等。表示第j个虚拟网络,表示虚拟节点集合,表示虚拟链路集合,表示虚拟节点属性集合包括cpu容量、虚拟节点位置、内存、外存等,表示虚拟链路属性集合包括带宽、延迟、丢包率等,表示虚拟网络属性集合包括映射收益、生命周期、虚拟节点指定位置与其映射的物理节点位置间最大距离等。
[0026]
离线虚拟网络映射问题即在物理网络和虚拟网络的节点和链路属性固定的情况下,对包含多个虚拟网络的虚拟网络集合的一个子集进行映射,求解映射的方案。由于一般的虚拟网络请求都是动态到达的,所以目前对虚拟网络映射算法的研究多集中于在线虚拟网络映射算法。
[0027]
单个虚拟网络映射问题的启发式算法可分为虚拟链路映射算法、一阶段映射算法和两阶段映射算法。虚拟链路映射算法指当虚拟节点映射已知情况下,单个虚拟网映射问题就退化为虚拟链路映射问题。比如在底层物理网络支持路径分割的情况下,假设虚拟节点映射已知即可把单虚拟网映射的np问题转换成p问题(多项式时间可解问题),然后基于原始对偶方法设计在线虚拟链路映射问题的竞争算法完成虚拟网络映射。一阶段映射算法将虚拟网络作为一个整体,采用可回溯的算法,同时完成虚拟节点和虚拟链路的映射。两阶段映射算法将虚拟网络映射过程分为虚拟节点映射和虚拟链路映射两个阶段。只有在虚拟节点映射阶段将所有虚拟节点都映射到底层物理节点上,才能进入虚拟链路映射阶段,否则拒绝虚拟网络请求。虚拟链路映射阶段,在所有虚拟链路对应两个虚拟节点所映射的物
理节点对之间寻找一条或多条满足虚拟链路资源要求的无环物理路径,只有所有虚拟链路都找到对应的物理路径才完成网络映射,否则拒绝该虚拟网络请求。对于虚拟网络映射问题求解的挑战性,研究人员以牺牲算法的实用性为代价,通过限制问题的解空间(假设虚拟网络请求已知、假设虚拟节点映射已知、假设物理资源无限等),用启发式算法进行求解。
[0028]
遗传算法是一种基于生物界自然群体遗传进化机制的自适应全局优化概率搜索算法,它通过模拟自然进化过程来搜索问题的最优解。它借鉴达尔文适者生存理论消除解集中质量差的解,并通过一定的随机信息交换方法从一定程度上提高了搜索效率。
[0029]
遗传算法以初始化种群(population)开始。在编码前,要先通过编码将解空间变量表示成遗传空间的基因型串数据结构。个体实际是由染色体表示的具有不同属性的实体。染色体作为遗传物质的主要载体,即多个基因的集合。种群由经过基因(gene)编码的一定规模的个体(individual)组成。
[0030]
初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。
[0031]
这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。遗传算法和生物进化相关概念的对应关系如表1所示。遗传算法的流程如图1所示。
[0032]
表1遗传算法和生物进化相关概念的对应关系生物进化遗传算法生存环境适应函数适者生存适应度值高的解被遗传的概率大个体问题的一个解染色体对解的编码基因编码元素种群根据适应函数选择的一组解交叉(配对)以一定的方式产生新的解变异编码的某些分量发生变化遗传算法采用自然进化机制描述复杂的现象,具有较高的全局寻优能力,且易于和别的技术混合,具有高的可拓展性。但是也有一些缺点如:局部搜索优化能力较差,参数选择不当会严重影响解的品质等。现有的常用的另一个算法如图2,该搜索算法的原理简单、适用性强,具有较强的局部寻优能力。但也有全局优化效果差、收敛速度慢、对初始记忆库依赖性强等缺点。
[0033]
为此,本发明提出一种虚拟网络映射算法的优化方法及装置,通过该优化方法,在减少虚拟网络映射代价的情况下,提高物理网络供应商的收益和虚拟网络请求的接受率,该优化方法针对物理节点不支持重复映射(无论物理网络是否支持路径分割)情况下的在线虚拟网络映射算法。当虚拟网络构建请求动态到达时,gahs-vm算法通过采用遗传算法产生的优化种群组成初始和声记忆库,对虚拟节点映射过程进行优化。在遗传运算相关流程的变异概率以非线性方式动态变化,在迭代早期变异概率取值较大,以扩大搜索空间;迭代
后期变异概率取值较小,以加快收敛速度。非线性方式动态变化的变异概率提高了算法的运行效率和解的质量。通过配合后续虚拟网络的构建即虚拟链路映射阶段(对于路径不可分割情况采用启发式算法,对于路径可分割情况采用多商品流算法),使得虚拟网络映射的目标尽量接近最优。gahs-vm算法使虚拟节点映射和虚拟链路映射两个阶段相互协调,在减少映射代价的同时,提高了虚拟网络请求接受率和物理网络供应商的长期收益。在虚拟链路映射阶段同样采用多商品流算法或最短路径算法的情况下,与普通启发式算法(如遗传算法、模拟退火算法、禁忌搜索算法及神经网络算法等)相比,gash-vm算法的虚拟网络请求接受率可提高10%左右,平均收益可提高20%左右,平均代价可降低8%左右。
[0034]
下面通过实施例对本发明的技术方案进行详细阐述:实施例一:将物理网络表示为无向图,其中和分别表示物理节点集合和物理链路集合。第i个物理节点的cpu容量记为,第i个物理节点的位置属性记为。第j条物理链路的带宽记为。将第j条虚拟网络表示为无向图,其中和分别表示第j个虚拟网络的虚拟节点集合和虚拟链路集合。第j个虚拟网络的第i条虚拟节点的cpu容量记为,第j个虚拟网络的第i条虚拟节点的位置属性记为。第j个虚拟网络的第i条虚拟链路的带宽记为。
[0035]
将物理网络完成第j个虚拟网络的映射后取得的收益,定义为第j个虚拟网络的所有虚拟节点cpu容量和虚拟链路带宽的累加和:将第j个虚拟网络的映射代价定义为分配给该虚拟网络的物理网络资源(cpu和带宽)之和:,其中表示虚拟链路所映射的物理路径长度。
[0036]
在线虚拟网络映射问题经常以最大化物理网络供应商的长期收益为主要优化目标。对于动态到达的虚拟网络请求,要尽量获取其映射收益并尽量减少映射代价。为达到最大化物理网络供应商的长期收益目标,在进行第j个虚拟网络映射时,要综合考虑物理网络资源的绝对消耗量和均衡利用。因为第j个虚拟网络在发出请求时其网络结构已经确定,其映射的收益也就确定了,所以具体的优化目标是最小化以下均衡代价:其中,其中,和是控制物理链路和物理节点均衡利用的权重l;

0是为了避免目标函数出现除数为0的情况而设置的趋于0的常量;是映射到物理节点的唯一节点,如果物理节点没有被任何虚拟节点映射,取0;表示第条虚拟链路流经物理链路(,)的流量。
[0037]
算法具体流程如图3所示:
输入:第j个虚拟网络,物理网络的剩余网络,种群大小m,遗传代数t,交叉概率pm,变异概率pc,和声记忆库大小为, 记忆库取值概率hmrs, 音调微调概率par, 微调步长bw, 迭代次数ni。
[0038]
参数具体取值可参考:pm=0.7 ,m=30,t=30,hms=10,hmrs=0.95,par=0.1,bw=0.03,ni=2000。
[0039]
输出:第j个虚拟网络的映射方案。
[0040]
算法设计步骤如图4所示:步骤1、对问题的解进行编码,并生成初始种群;步骤2、计算每个个体的适应度;步骤3、对种群进行更新,进行选择运算、交叉运算、变异运算;步骤4、从产生的新种群中选取预定个数的个体,作为初始和声记忆库的解向量;步骤5、基于hmrs、par、随机选择三个规则,得到新的和声解向量;步骤6、更新记忆库;步骤7、重复步骤5、步骤6,直到达到最大的迭代次数或满足停止准则后结束循环,输出最优解。
[0041]
实施例二:在实施例一的基础之上,步骤1中所述初始种群为虚拟节点集:其中,,表示初始种群的第1组解;k表示第j个虚拟网络中需要映射虚拟节点个数,m表示种群大小,表示初始种群的第m组解。
[0042]
对问题的解进行编码的过程进一步为:定义,其中k=||,用长度为k的串表示问题的解,串中第i个元素的取值来自集合,表示虚拟节点映射的所有物理节点。
[0043]
实施例三:在实施例一的基础之上,计算每个个体的适应度的过程具体如下:在完成虚拟链路映射后计算映射代价:式中,表示第i条染色体的映射代价,表示物理节点,表示物理节点集合,表示控制物理节点均衡利用的权重,是为了避免目标函数出现除数为0的情况而设置的趋于0的常量,是映射到物理节点的唯一节点,取值为0,表示控制物理链路均衡利用的权重,表示第j个虚拟网络的虚拟链路集合,表示第条虚拟链路流经物
理链路(,)的流量,表示任意物理节点在接受第j条虚拟网络中虚拟节点映射后的剩余cpu容量,表示任意物理链路在接受第j条虚拟网络中虚拟链路映射后的剩余带宽,表示物理链路集合;计算当前种群中所有个体对应的映射方案的最大均衡代价:式中,表示当前种群中所有个体的最大均衡代价,表示第j条染色体的映射代价,表示当前种群中所有个体的最大均衡代价,其余各符号含义同上;对应问题的解的适应度值为,式中,各符号含义同上。
[0044]
实施例四:在实施例一的基础之上,对种群进行更新,进行选择运算、交叉运算、变异运算的过程中,选择运算进一步为:根据每个个体在下一代群体中的生存期望进行随机选择运算,种群大小m,个体适应度为;计算群体中每个个体在下一代群体中的期望生存数目;判断当前个体是否被选中参与交叉运算,当前个体被选中参与交叉运算,则它在下一代中的生存期望数目减去预定值a;当前个体未被选中参与交叉运算,则它在下一代中的生存期望数目减去预定值b;当前个体的生存期望数目小于预定值c时,则该个体不被选中;取的整数部分[]为对应个体在下一代群体中的生存数目,确定出下一代群体的个体数为,未确定的个体数为。
[0045]
交叉运算进一步为:随机选取两个串,作为父串x、母串y;指定两个交配点,两点之间的区域为匹配区域,区域长度小于父代向量长度;使用位置交叉运算交换两个父串的匹配区域得到串x1、串y1;对位置交叉运算产生的两个父串匹配区域以外出现的重复序号通过随机方法进行有效不重复映射,直到串中无重复数字;根据映射关系对预定位置的虚拟节点进行修改,得到串x2;步骤3中所述变异运算进一步为:将交叉运算得出的x、y以预定的突变率交换第,位,且变异运算中保持串中元素各不相同,得到变异运算后的串、;从产生的新种群中选取预定个数的个体,作为初始和声记忆库的解向量的过程具体如下:从产生的新种群中选取个个体,作为初始和声记忆库的解向量:其中,表示初始和声记忆库解向量的第1组解,表示初始和声记忆库解向量第hms组解的第k个变量,表示初始和声记忆库解向量的第hms组解。
[0046]
实施例五:在实施例一的基础之上,基于hmrs、par、随机选择三个规则,得到新的和声解向量的过程具体如下:基于hmrs、par、随机选择三个规则,得到新的和声解向量;每次产生一个新解,其中新解分量通过如下三种机理产生:机理a、保留和声记忆库中的某些解分量:保留和声记忆库中的某些解分量,以预定概率hmrs随机对和声记忆库的某些分量进行保留,即新产生的来源于记忆库中第i个解分量的集合的概率为hmrs;机理b、随机选择产生:产生的新解分量是从第i个解分量的可行解空间中以1-hmrs的概率随机产生的;机理c、对机理a、机理b中产生的解分量按概率par进行扰动,得到按机理c产生的新解分量。扰动原则为:其中,等式右边的是扰动前新解的第i个解分量;为微调步长;为0到1的随机数。
[0047]
实施例六:在实施例一的基础之上,更新记忆库的过程进一步包括:判断新解是否优于hm内的最差解,若是,则将新的解替换最差解,得到新的和声记忆库;最小化以下均衡代价:式中,,和是控制物理链路和物理节点均衡利用的权重l;

0避免目标函数出现除数为0的情况而设置的趋于0的常量;是映射到物理节点的唯一节点,当物理节点没有被任何虚拟节点映射,此时取0;表示第条虚拟链路流经物理链路(,)的流量。
[0048]
实施例七:本实施例提出一种虚拟网络映射算法的优化装置,该装置包括解码模块、适应度计算模块、种群运算模块、种群选取模块、新解模块、更新模块。所述解码模块用于对问题的解进行编码,并生成初始种群。适应度计算模块用于计算每个个体。种群运算模块用于对种群进行更新,进行选择运算、交叉运算、变异运算。种群选取模块用于从产生的新种群中选取预定个数的个体,作为初始和声记忆库的解向量。新解模块基于hmrs、par、随机选择三个规
则,得到新的和声解向量。更新模块用于更新记忆库。
[0049]
所述解码模块进一步建立虚拟节点集:其中,,表示种群中第j个虚拟网络映射的均衡代价;k表示第j个虚拟网络中需要映射虚拟节点个数,m表示种群大小;对问题的解进行编码的过程进一步为:定义,其中k=||,用长度为k的串表示问题的解,串中第i个元素的取值来自集合,表示虚拟节点映射的所有物理节点。
[0050]
所述适应度计算模块进一步在完成虚拟链路映射后计算映射代价:式中,表示第i条染色体的映射代价,表示物理节点,表示物理节点集合,表示控制物理节点均衡利用的权重,是为了避免目标函数出现除数为0的情况而设置的趋于0的常量,是映射到物理节点的唯一节点,取值为0,表示控制物理链路均衡利用的权重,表示第j个虚拟网络的虚拟链路集合,表示第条虚拟链路流经物理链路(,)的流量,表示任意物理节点在接受第j条虚拟网络中虚拟节点映射后的剩余cpu容量,表示任意物理链路在接受第j条虚拟网络中虚拟链路映射后的剩余带宽,表示物理链路集合;计算当前种群中所有个体对应的映射方案的最大均衡代价:式中,表示当前种群中所有个体的最大均衡代价,表示第j条染色体的映射代价,表示当前种群中所有个体的最大均衡代价,其余各符号含义同上;对应问题的解的适应度值为,式中,各符号含义同上。
[0051]
所述种群运算模块进一步根据每个个体在下一代群体中的生存期望进行随机选择运算,种群大小m,个体适应度为;计算群体中每个个体在下一代群体中的期望生存数目;判断当前个体是否被选中参与交叉运算,当前个体被选中参与交叉运算,则它在下一代中的生存期望数目减去预定值a;当前个体未被选中参与交叉运算,则它在下一代中的生存期望数目减去预定值b;当前个体的生存期望数目小于预定值c时,则该个体不被选中;
取的整数部分[]为对应个体在下一代群体中的生存数目,确定出下一代群体的个体数为,未确定的个体数为。
[0052]
其中,交叉运算进一步为:随机选取两个串,作为父串x、母串y;指定两个交配点,两点之间的区域为匹配区域,区域长度小于父代向量长度;使用位置交叉运算交换两个父串的匹配区域得到串x1、串y1;对位置交叉运算产生的两个父串匹配区域以外出现的重复序号通过随机方法进行有效不重复映射,直到串中无重复数字;根据映射关系对预定位置的虚拟节点进行修改,得到串x2。
[0053]
变异运算进一步为:将交叉运算得出的x、y以预定的突变率交换第,位,且变异运算中保持串中元素各不相同,得到变异运算后的串、所述种群选取模块进一步从产生的新种群中选取个个体,作为初始和声记忆库的解向量:其中,表示初始和声记忆库解向量的第1组解,表示初始和声记忆库解向量第hms组解的第k个变量,表示初始和声记忆库解向量的第hms组解。
[0054]
在第二方面的一些可实现方式中,新解模块进一步基于hmrs、par、随机选择三个规则,得到新的和声解向量;每次产生一个新解,其中新解分量通过如下三种机理产生:机理a、保留和声记忆库中的某些解分量:保留和声记忆库中的某些解分量,以预定概率hmrs随机对和声记忆库的某些分量进行保留,即新产生的来源于记忆库中第i个解分量的集合的概率为hmrs;机理b、随机选择产生:产生的新解分量是从第i个解分量的可行解空间中以1-hmrs的概率随机产生的;机理c、对机理a、机理b中产生的解分量按概率par进行扰动,得到按机理c产生的新解分量。扰动原则为:其中,等式右边的是扰动前新解的第i个解分量;为微调步长;为0到1的随机数。
[0055]
更新模块进一步判断新解是否优于hm内的最差解,若是,则将新的解替换最差解,得到新的和声记忆库;最小化以下均衡代价:
式中,,和是控制物理链路和物理节点均衡利用的权重l;

0避免目标函数出现除数为0的情况而设置的趋于0的常量;是映射到物理节点的唯一节点,当物理节点没有被任何虚拟节点映射,此时取0;表示第条虚拟链路流经物理链路(,)的流量。
[0056]
实施例八:本实施例提出一种虚拟网络映射算法的优化设备,该设备包括处理器,以及存储有计算机程序指令的存储器;所述处理器读取并执行计算机程序指令时实现实施例一至六中的运动目标跟踪方法。
[0057]
实施例九:本实施例提供一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现实施例一至六中的运动目标跟踪的方法。
[0058]
实施例十:在实施例一的基础之上,实施例的实施过程如下:将物理网络完成第j个虚拟网络的映射后取得的收益,定义为第j个虚拟网络的所有虚拟节点cpu容量和虚拟链路带宽的累加和:将第j个虚拟网络的映射代价定义为分配给该虚拟网络的物理网络资源(cpu和带宽)之和:,其中表示虚拟链路所映射的物理路径长度。
[0059]
在线虚拟网络映射问题经常以最大化物理网络供应商的长期收益为主要优化目标。对于动态到达的虚拟网络请求,要尽量获取其映射收益并尽量减少映射代价。为达到最大化物理网络供应商的长期收益目标,在进行第j个虚拟网络映射时,要综合考虑物理网络资源的绝对消耗量和均衡利用。因为第j个虚拟网络在发出请求时其网络结构已经确定,其映射的收益也就确定了,所以具体的优化目标是最小化以下均衡代价:其中,其中,和是控制物理链路和物理节点均衡利用的权重l;

0是为了避免目标函数出现除数为0的情况而设置的趋于0的常量;是映射到物理节点的唯一节点,如果物理节点没有被任何虚拟节点映射,取0;表示第条虚拟链路流经物理链路(,)的流量。
[0060]
算法具体流程:
输入:第j个虚拟网络,物理网络的剩余网络,种群大小m,遗传代数t,交叉概率pm,变异概率pc,和声记忆库大小为, 记忆库取值概率hmrs, 音调微调概率par, 微调步长bw, 迭代次数ni。
[0061]
输出:第j个虚拟网络的映射方案。
[0062]
算法设计:(1)对染色体(问题的解)进行编码并生成初始种群设,其中k=||,表示第j个虚拟网络中需要映射虚拟节点个数,用长度为k的串表示问题的解(染色体),串中第i个元素(第i个虚拟节点)的取值来自集合,表示虚拟节点可以映射的所有物理节点。假设物理网络不支持路径分隔也不支持重复映射,则各元素取值不能相同。
[0063]
通过随机方法和启发式算法生成初始种群:初始种群为虚拟节点集,其中表示种群中第j个虚拟网络映射的均衡代价。
[0064]
(2)适应函数在一般在线虚拟网络映射问题中,采用启发式算法或多商品流算法完成虚拟链路映射后,即可计算映射代价。对于路径不可分割情况采用启发式算法,对于路径可分割情况采用多商品流算法完成虚拟网的初步构建(虚拟链路映射),计算染色体的适应度值。计算完成后取消链路映射,使用本发明提到的遗传和声搜索算法gash-vm进行新的节点映射。
[0065]
记映射代价为:记为当前种群中所有个体对应的映射方案的最大均衡代价。
[0066]

[0067]
则染色体的适应度值为(3)对种群进行更新,进行选择、交叉、变异运算选择运算:采用无回放余数随机选择(也叫期望值选择excepted value selection)方式,可确保适应度比平均适应度大的一些个体能够被遗传到下一代群体中,具有较小的选择误差。根据每个个体在下一代群体中的生存期望来进行随机选择运算。种群大小m,个体适应度为。
[0068]

计算群体中每个个体在下一代群体中的期望生存数目。
[0069]

若某一个体被选中参与交叉运算,则它在下一代中的生存期望数目减去0.5,若某一个体未被选中参与交叉运算,则它在下一代中的生存期望数目减去1.0。
[0070]

随着选择过程的进行,若某一个体的生存期望数目小于0时,则该个体就不再有机会被选中。
[0071]

取的整数部分[]为对应个体在下一代群体中的生存数目,这样可确定出下一代群体的个体数为,还未确定的个体数为。
[0072]
交叉运算:在交叉环节为避免基因重组后可能出现编码重复的情况,采用部分匹配交叉法(partially matched crossover , pmc)。
[0073]

随机选取两个串,作为父母串。如:x:[25,1,5,6,11,2,20,23](表示有8个虚拟节点,分别映射到第25,1,5,6,11,2,20,23号物理节点上),y:[3,36,2,7,12,35,4,13]。
[0074]

指定两个交配点,两点之间的区域为匹配区域,区域长度小于父代向量长度。如区域长度为3,匹配区域用两个“|”进行划分。
[0075]
x:[25,1,|5,6,11|,2,20,23], y:[3,36,|2,7,12|,35,4,13]

使用位置交叉运算交换两个父串的匹配区域将得到:x1:[25,1,| 2,7,12|,2,20,23], y1:[3,36,| 5,6,11|,35,4,13]

对位置交叉运算产生的两个父串匹配区域以外出现的重复序号(两个虚拟节点映射到了同一个物理节点)通过随机方法进行有效不重复映射。如x串中匹配区域以外的第6位数和匹配区域以内的第3位数出现了重复的2,表示虚拟网络的第3个和第6个虚拟节点都映射到了第2个物理节点,这种情况应该进行进一步修正,直到串中无重复数字。根据映射关系2-5,7-6,12-11,对第6个虚拟节点进行修改,得到x2:[25,1,| 2,7,12|,5,20,23],变异运算:在实际应用中发现,变异概率较小时群体稳定性好,但是容易陷入局部最优解陷阱,产生早熟现象提前收敛。变异概率较大时,可避免群体同化,使解空间保持多样性,从而跳出局部最优解,尽可能收敛到全局最优解。在迭代早期变异概率取值较大,以扩大搜索空间;迭代后期变异概率取值较小,以加快收敛速度。
[0076]
设置变异概率以非线性方式动态变化(图5):。当t达到遗传代数t时,pc达到最小值0.07602。
[0077]
将交叉运算得出的x,y以一定的突变率交换第,位。如取=2,=6 。变异运算中应保持串中元素各不相同。
[0078]
x:[25,1,2,7,12,5,20,23]:y:[3,36, 5,6,11,35,4,13]。
[0079]
变异运算后为x1:[25,5,2,7,12,1,20,23]:y1:[3,35, 5,6,11,36,4,13]。
[0080]
(4)从产生的新种群中选取个个体,作为初始和声记忆库的解向量。
[0081]
,其中表示种群中第j个虚拟网络映射的均衡代价。
[0082]
(5)基于hmrs、par、随机选择三个规则,得到新的和声解向量
每次产生一个新解,其中新解分量可通过三种机理产生:

保留和声记忆库中的某些解分量;保留和声记忆库中的某些解分量,以一定概率hmrs随机对和声记忆库的某些分量进行保留,即新产生的来源于记忆库中第i个解分量的集合的概率为hmrs。
[0083]

随机选择产生;产生的新解分量是从第i个解分量的可行解空间(即变量i的权值范围)中以1-hmrs的概率随机产生的。
[0084]





中的某些分量进行微调扰动。
[0085]
对两种机理产生的解分量按概率par进行扰动,得到按机理(c)产生的新解分量。扰动原则为:其中,等式右边的是扰动前新解的第i个解分量;为微调步长;为0到1的随机数;等式左边的是扰动后新解的第i个解分量。
[0086]
(6)更新记忆库。判断新解是否优于hm内的最差解,若是,则将新的解替换最差解,得到新的和声记忆库。
[0087]
(7)重复以上(5)(6)步骤,直到达到最大的迭代次数或满足停止准则后结束循环,输出最优解,hms<m。对hms个个体进行虚拟节点映射。
[0088]
(8)对于路径不可分割情况采用启发式算法,对于路径可分割情况采用多商品流算法完成虚拟网络的构建(虚拟链路映射),输出第j个虚拟网络映射方案。
[0089]
遗传和声搜索算法的流程如图3所示。
[0090]
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路、适当的固件、插件、功能卡等等。当以软件方式实现时,本实施例的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、只读存储器(read-only memory,rom)、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(radio frequency,rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0091]
综上所述,本发明提出了一种在线虚拟网络映射算法。与其他算法相比,遗传和声搜索算法能在减少虚拟网络映射代价的情况下,提高物理网络供应商的收益和虚拟网络请求的接受率。在遗传运算相关流程的变异概率以非线性方式动态变化,在迭代早期变异概率取值较大,以扩大搜索空间;迭代后期变异概率取值较小,以加快收敛速度。非线性方式动态变化的变异概率提高了算法的运行效率和解的质量。通过配合后续虚拟网络的构建即虚拟链路映射阶段(对于路径不可分割情况采用启发式算法,对于路径可分割情况采用多商品流算法),使得虚拟网络映射的目标尽量接近最优。gahs-vm算法使虚拟节点映射和虚
拟链路映射两个阶段相互协调,在减少映射代价的同时,提高了虚拟网络请求接受率和物理网络供应商的长期收益。在虚拟链路映射阶段同样采用多商品流算法或最短路径算法的情况下,与普通启发式算法(如遗传算法、模拟退火算法、禁忌搜索算法及神经网络算法等)相比,gash-vm算法的虚拟网络请求接受率可提高10%左右,平均收益可提高20%左右,平均代价可降低8%左右。
[0092]
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0093]
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上做出各种变化。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1