CN107800570A - 基于蝙蝠算法的sdn控制器部署方法 - Google Patents
基于蝙蝠算法的sdn控制器部署方法 Download PDFInfo
- Publication number
- CN107800570A CN107800570A CN201710994383.2A CN201710994383A CN107800570A CN 107800570 A CN107800570 A CN 107800570A CN 201710994383 A CN201710994383 A CN 201710994383A CN 107800570 A CN107800570 A CN 107800570A
- Authority
- CN
- China
- Prior art keywords
- bat
- controller
- algorithm
- pulse
- average
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
Abstract
本发明属于网络控制与管理和软件定义网络领域,为提出一种基于蝙蝠算法的优化控制器放置方法,考虑到控制器的负载和传播延迟,以确定控制器的最佳数量和位置。为此,基于蝙蝠算法的SDN控制器部署方法,每个蝙蝠表示一种部署策略pi=((θ1,φ(θ1)),(θ2,φ(θ2)),...,(θk,φ(θk))),也就是一种控制器部署方案,该策略其实是划分成k个控制器的聚类,θi为控制器的位置,φ(θi)是θi控制的交换机集合,假设网络G共有N个交换机,E条路径,则每个蝙蝠的位置Xi={x1,x2,...,xn},Xi中的每个元素表示每个交换机所属的控制器,故有N个元素,每个蝙蝠的速度为Vi={v1,v2,...,vn}(vj∈[0,1]),若某元素为1,那么该蝙蝠的该位置元素会进行更新,否则不更新,以此找出策略最佳的蝙蝠,即为最优的控制器部署策略。本发明主要应用于网络控制与管理场合。
Description
技术领域
本发明属于下一代网络控制与管理和软件定义网络领域,是一种新颖的用于对软件定义网络合理分区以及控制器部署算法。具体涉及到一种基于蝙蝠算法来保证时延最小和负载均衡的控制器部署算法。
背景技术
软件定义网络(software-defined network,SDN)将网络的控制器和交换机分离,通过一个集中的逻辑控制器提供规则来决定交换机的分组处理行为。为了涵盖可扩展性和弹性等特性,诸如HyperFlow这样的概念允许将OpenFlow[3]网络划分为多个域,每个域由各个控制器处理。SDN的这种机制为网络管理带来灵活性,并具有多种服务级别协议的新异构业务传输。
为了解决控制器布局问题,一些文献考虑了延迟、弹性、可靠性和负载均衡等指标。在这些指标中,延迟在SDN的性能中起关键作用,因为生成转发规则的动作被交付给控制器,不匹配的数据包将被缓冲或丢弃,直到相应的控制器安装相应的流条目。对SDN来说,控制器到交换机的传播延迟以及每个控制器负担的交换机数是影响SDN性能的关键点。因此,在SDN网络中,控制器的部署成为一个关键问题。但是经调查,大多数的拓扑结构只用了一个控制器来遵循实际的延迟约束。然而,由于一个控制器只能管理有限数量的路由器,所以在设计布局策略时必须同时考虑消息处理的时延以及控制器的负载。
文献[1]首次提出了控制器的部署问题SDN控制器放置问题,旨在最大限度地减少交换机和相关控制器之间的平均时延以及最大时延(传播)延迟。在文献[2]中,作者考虑了控制器的最大负载和延迟,但并不把控制器的负载平衡作为放置决策的因素。文献[3]从网络故障的角度确定了网络故障的角度,包括节点故障和链路故障,并在单链路故障下综合网络状态和控制器布置问题下对控制器布置问题进行建模。但网络中的故障可能性很少。文献[4]使用了粒子群算法来求解SDN的控制器部署问题,同时考虑了时延和最大负载。
蝙蝠算法[5]是一种新型群智能优化算法。它模拟自然界中蝙蝠的回声定位行为,利用脉冲响度和脉冲发射频率的适时改变来实现算法的全局搜索和局部搜索的自动切换,从而平衡了全局搜索和局部搜索对算法寻最优解的影响。本发明基于蝙蝠算法提出一种用于SDN的控制器部署算法,同时考虑最大负载最小化和时延两个因素。
[1]HELLER B,SHERWOOD R,MCKEOWN N.The controller placement problem[C]//Proceedings of the First Workshop on Hot Topics in Software DefinedNetworks.ACM,2012:7-12
[2]Yao G,Bi J,Li Y,et al.On the Capacitated Controller PlacementProblem in Software Defined Networks[J].Communications Letters IEEE,2014,18(8):1339-1342.
[3]Guo S,Yang S,Li Q,et al.Towards Controller Placement for robustSoftware-Defined Networks[C]//IEEE,International PERFORMANCE Computing andCommunications Conference.IEEE Computer Society,2015:1-8.
[4]GAO C,WANG H,ZHU F,et al.A particle swarm optimization algorithmfor controller placement problem in software defined network[C]//International Conference on Algorithms and Architectures for ParallelProcessing.Springer International Publishing,2015:44-54
[5]BYang X S.A New Metaheuristic Bat-Inspired Algorithm[J].ComputerKnowledge&Technology,2010,284:65-74.
发明内容
为克服现有技术的不足,本发明旨在提出一种基于蝙蝠算法的优化控制器放置方法,考虑到控制器的负载和传播延迟,以确定控制器的最佳数量和位置。为此,本发明采用的技术方案是,基于蝙蝠算法的SDN控制器部署方法,每个蝙蝠表示一种部署策略pi=((θ1,φ(θ1)),(θ2,φ(θ2)),…,(θk,φ(θk))),也就是一种控制器部署方案,该策略其实是划分成k个控制器的聚类,θi为控制器的位置,φ(θi)是θi控制的交换机集合,假设网络G共有N个交换机,E条路径,则每个蝙蝠的位置Xi={x1,x2,...,xn},Xi中的每个元素表示每个交换机所属的控制器,故有N个元素,每个蝙蝠的速度为Vi={v1,v2,...,vn}(vj∈[0,1]),若某元素为1,那么该蝙蝠的该位置元素会进行更新,否则不更新,以此找出策略最佳的蝙蝠,即为最优的控制器部署策略。
对蝙蝠算法来说,其在t+1时刻的蝙蝠i的速度以及位置更新方式为:
fi=fmin+(fmax-fmin)·β
其中,β是介于[0,1]的随机数,fmax,fmin分别是脉冲频率的上限和下限;
此外,为了使算法的性能更好,蝙蝠算法有以下的判断方式:
其中,ε为介于[-1,1]的随机数,Aaverage是t时刻的平均响度,为最大脉冲响度,为蝙蝠在t+1时刻的脉冲频度;Aaverage、分别为蝙蝠在t时刻的平均响度、t和t+1时刻发出的脉冲音强;γ、α分别是脉冲频度增加系数、脉冲响度衰减系数,均为大于零的常数。
具体步骤细化为:
步骤1:给定网络拓扑G,即已知交换机数、路径数以及各路径时延,目标函数为全局的控制器到交换机的平均时延和负载最大的控制器负载,设置初始的控制器最大负载、蝙蝠种群的规模、算法最大迭代次数;
步骤2:初始化蝙蝠种群位置Xi、蝙蝠的速度Vi;
步骤3:按照公式fi=fmin+(fmax-fmin)·β更新脉冲频率,产生每个蝙蝠的脉冲频率fi,初始化脉冲发射频度和脉冲响度
步骤4:计算目标函数值,找出种群最优个体;
步骤5:更新蝙蝠的速度和位置
步骤4:对于每个蝙蝠个体,产生一个随机数rand1,如果则根据公式在当前最优个体附近重新扰动生成,重新计算所有蝙蝠新位置的适应值;
步骤6:对每个蝙蝠个体产生随机数rand 2,若且则接受这个新解,并增加减小
步骤7:更新全局最优解并判断终止条件,是则输出当前最优解,否则转入步骤5。
一个实例中具体步骤是:
步骤1:给定网络拓扑G,即已知交换机数、路径数以及各路径时延,目标函数为全局的控制器到交换机的平均时延latencyaverage和负载最大的控制器负载loadmax,设置初始的控制器最大负载、蝙蝠种群的规模、算法最大迭代次数Tmax;
步骤2:初始化蝙蝠种群位置Xi={x1,x2,...,xn},xk∈[1,j],每个元素初始化为[1,j]的任意整数值,初始化蝙蝠的速度Vi={v1,v2,...,vn}(vj=1),初始化全局最优解X*;
步骤3:按照公式fi=fmin+(fmax-fmin)·β更新脉冲频率,产生每个蝙蝠的脉冲频率fi,初始化脉冲发射频度和脉冲响度
步骤4:按照以下公式更新蝙蝠的速度:
trans定义为:
步骤5:按照以下公式更新位置Xi:
Xi+1=Xi+Vi
RMNS为轮盘赌操作;
步骤6:计算latencyaverage、loadmax,重新寻找全局最优解X*;
步骤7:对于每个蝙蝠个体,产生一个随机数rand1,如果则根据公式在当前最优个体附近重新扰动生成Xi,重新计算所有蝙蝠新位置的目标函数值;
步骤8:对每个蝙蝠个体产生随机数rand 2,若且则接受这个新解,并增加减小
步骤9:更新全局最优解X*;
步骤10:判断是否达到迭代次数或者得到全局最优解,是则输出当前最优解,否则转入步骤3,继续执行算法。
本发明的特点及有益效果是:
本算法的优点主要是考虑的控制器的最大负载以及时延,尽量减小当前网络的最大负载,给出合理的控制器部署结果。
在对SDN控制器部署的研究中,大部分都是以交换机到控制器的时延作为部署目标。这种方法在控制器容量很大的情况下,是没有问题的。但是一旦网络变得大型,控制器容量是不可避免的问题。本发明基于蝙蝠算法寻找SDN控制器部署问题的最优解,保证SDN各子网控制器控制的交换机数保持平衡。
在求解结果性能估计方面,本算法用时延和节点数方差作为两个性能的衡量指标。结果如下图2所示,这里我们以美国Interet2 OS3E网络为例,对域中的每个节点进行标记,并将拓扑划分为四个域,通过使控制器最大的负载最小以及时延最小来获取控制器的位置。其中3,16,20,33为中心节点(即控制器的部署位置),每个域的节点数分别为8,10,10,11,方差为1.5375,时延为2.677ms。
附图说明:
图1算法流程图。
图2 K=4时分类结果(3,16,20,33为控制器的部署位置,每个域的节点数分别为8,10,10,11,方差为1.5375,时延为2.677ms)。
具体实施方式
在SDN发展初期,单个控制器可以满足网络管理和管理的需求,因为它只适用于小型网络拓扑如校园网络。但随着SDN逐渐普及,转发设备的数量和用户面应用的需求也在增加。这些都对控制器的处理能力提出了更多的要求。单控制器不能满足网络和应用的需要,因为容量限制等因素,会导致单点瓶颈和故障的概率高。因此,SDN控制器放置成为其发展的关键问题。本发明目的在于提出了一种基于蝙蝠算法的优化控制器放置方法,其考虑了控制器的负载和传播延迟,以确定控制器的最佳数量和位置。
在本发明中,每个蝙蝠表示一种部署策略pi=((θ1,φ(θ1)),(θ2,φ(θ2)),…,(θk,φ(θk))),也就是一种控制器部署方案。本发明的目的就是找出策略最佳的蝙蝠,即为最优的控制器部署策略。pi=((θ1,φ(θ1)),(θ2,φ(θ2)),…,(θk,φ(θk)))其实是将整个网络划分成k个控制器分别控制的集合(类)。θi为控制器的位置,φ(θi)是θi控制的交换机集合。假设网络G共有N个交换机,E条路径,则每个蝙蝠的位置Xi={x1,x2,...,xn},Xi中的每个元素表示每个交换机所属的控制器,故有N个元素。每个蝙蝠的速度为Vi={v1,v2,...,vn}(vj∈[0,1]),若某蝙蝠速度中的某个元素为1,那么该蝙蝠的该位置元素会进行更新,否则该位置元素不更新。对蝙蝠算法来说,其在t+1时刻的蝙蝠i的速度以及位置更新方式如下:
fi=fmin+(fmax-fmin)·β
其中,β是介于[0,1]的随机数,x*是上一时刻整个种群的最优策略对应的位置,fi为蝙蝠此时的脉冲频率,fmax,fmin分别是脉冲频率的上限和下限。
此外,为了使算法的性能更好,蝙蝠算法有以下的判断方式:
其中,ε为介于[-1,1]的随机数,Aaverage是t时刻的平均响度。为最大脉冲响度,为蝙蝠在t+1时刻的脉冲频度;Aaverage、分别为蝙蝠在t时刻的平均响度、t和t+1时刻发出的脉冲音强;γ、α分别是脉冲频度增加系数、脉冲响度衰减系数,均为大于零的常数。
具体方案如下:
一种基于蝙蝠算法的控制器部署算法:
步骤1:给定网络拓扑G(已知交换机数、路径数以及各路径时延)。目标函数为全局的控制器到交换机的平均时延和负载最大的控制器负载。设置初始的控制器最大负载、蝙蝠种群的规模、算法最大迭代次数等。
步骤2:初始化蝙蝠种群位置Xi、蝙蝠的速度Vi。
步骤3:按照公式fi=fmin+(fmax-fmin)·β更新脉冲频率,产生每个蝙蝠的脉冲频率fi,初始化脉冲发射频度和脉冲响度
步骤4:计算目标函数值,找出种群最优个体(即最优解)。
步骤5:更新蝙蝠的速度和位置
步骤4:对于每个蝙蝠个体,产生一个随机数rand1,如果则根据公式在当前最优个体附近重新扰动生成。重新计算所有蝙蝠新位置的适应值。
步骤6:对每个蝙蝠个体产生随机数rand 2,若且则接受这个新解,并增加减小
步骤7:更新全局最优解并判断终止条件,是则输出当前最优解,否则转入步骤5。
具体步骤如图1所示。
下面结合附图和一个实例进一步详细说明本发明。
SDN多控制器部署算法:
步骤1:给定网络拓扑G(已知交换机数、路径数以及各路径时延)。目标函数为全局的控制器到交换机的平均时延latencyaverage和负载最大的控制器负载loadmax。设置初始的控制器最大负载、蝙蝠种群的规模、算法最大迭代次数Tmax等。
步骤2:初始化蝙蝠种群位置Xi={x1,x2,...,xn},xk∈[1,j],每个元素初始化为[1,j]的任意整数值。初始化蝙蝠的速度Vi={v1,v2,...,vn}(vj=1)。初始化全局最优解X*。
步骤3:按照公式fi=fmin+(fmax-fmin)·β更新脉冲频率,产生每个蝙蝠的脉冲频率fi,初始化脉冲发射频度和脉冲响度
步骤4:按照以下公式更新蝙蝠的速度:
trans定义为:
步骤5:按照以下公式更新位置Xi:
Xi+1=Xi+Vi
RMNS为轮盘赌操作。
步骤6:计算latencyaverage、loadmax,重新寻找全局最优解X*。
步骤7:对于每个蝙蝠个体,产生一个随机数rand1,如果则根据公式在当前最优个体附近重新扰动生成Xi。重新计算所有蝙蝠新位置的目标函数值。
步骤8:对每个蝙蝠个体产生随机数rand 2,若且则接受这个新解,并增加减小
步骤9:更新全局最优解X*。
步骤10:判断是否达到迭代次数或者得到全局最优解,是则输出当前最优解,否则转入步骤3,继续执行算法。
Claims (4)
1.一种基于蝙蝠算法的SDN控制器部署方法,其特征是,每个蝙蝠表示一种部署策略pi=((θ1,φ(θ1)),(θ2,φ(θ2)),…,(θk,φ(θk))),也就是一种控制器部署方案,该策略其实是划分成k个控制器的聚类,θi为控制器的位置,φ(θi)是θi控制的交换机集合,假设网络G共有N个交换机,E条路径,则每个蝙蝠的位置Xi={x1,x2,...,xn},Xi中的每个元素表示每个交换机所属的控制器,故有N个元素,每个蝙蝠的速度为Vi={v1,v2,...,vn}(vj∈[0,1]),若某元素为1,那么该蝙蝠的该位置元素会进行更新,否则不更新,以此找出策略最佳的蝙蝠,即为最优的控制器部署策略。
2.如权利要求1所述的基于蝙蝠算法的SDN控制器部署方法,其特征是,对蝙蝠算法来说,其在t+1时刻的蝙蝠i的速度以及位置更新方式为:
<mrow>
<msubsup>
<mi>v</mi>
<mi>i</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>v</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>+</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>-</mo>
<msup>
<mi>x</mi>
<mo>*</mo>
</msup>
<mo>)</mo>
</mrow>
<mo>&CenterDot;</mo>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
</mrow>
<mrow>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>v</mi>
<mi>i</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msubsup>
</mrow>
fi=fmin+(fmax-fmin)·β
其中,β是介于[0,1]的随机数,fmax,fmin分别是脉冲频率的上限和下限;
此外,为了使算法的性能更好,蝙蝠算法有以下的判断方式:
<mrow>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>=</mo>
<msup>
<mi>x</mi>
<mo>*</mo>
</msup>
<mo>+</mo>
<msub>
<mi>&epsiv;A</mi>
<mrow>
<mi>a</mi>
<mi>v</mi>
<mi>e</mi>
<mi>r</mi>
<mi>a</mi>
<mi>g</mi>
<mi>e</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msubsup>
<mi>r</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>r</mi>
<mi>i</mi>
<mn>0</mn>
</msubsup>
<mo>&lsqb;</mo>
<mn>1</mn>
<mo>-</mo>
<mi>exp</mi>
<mrow>
<mo>(</mo>
<mo>-</mo>
<mi>&gamma;</mi>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<msubsup>
<mi>A</mi>
<mi>i</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>&alpha;A</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
</mrow>
其中,ε为介于[-1,1]的随机数,Aaverage是t时刻的平均响度,ri 0为最大脉冲响度,ri t+1为蝙蝠在t+1时刻的脉冲频度;Aaverage、分别为蝙蝠在t时刻的平均响度、t和t+1时刻发出的脉冲音强;γ、α分别是脉冲频度增加系数、脉冲响度衰减系数,均为大于零的常数。
3.如权利要求1所述的基于蝙蝠算法的SDN控制器部署方法,其特征是,具体步骤细化为:
步骤1:给定网络拓扑G,即已知交换机数、路径数以及各路径时延,目标函数为全局的控制器到交换机的平均时延和负载最大的控制器负载,设置初始的控制器最大负载、蝙蝠种群的规模、算法最大迭代次数;
步骤2:初始化蝙蝠种群位置Xi、蝙蝠的速度Vi;
步骤3:按照公式fi=fmin+(fmax-fmin)·β更新脉冲频率,产生每个蝙蝠的脉冲频率fi,初始化脉冲发射频度和脉冲响度
步骤4:计算目标函数值,找出种群最优个体;
步骤5:更新蝙蝠的速度和位置
步骤6:对于每个蝙蝠个体,产生一个随机数rand1,如果rand1>ri t,则根据公式在当前最优个体附近重新扰动生成,重新计算所有蝙蝠新位置的适应值;
步骤7:对每个蝙蝠个体产生随机数rand2,若且则接受这个新解,并增加减小
步骤8:更新全局最优解并判断终止条件,是则输出当前最优解,否则转入步骤5。
4.如权利要求1所述的基于蝙蝠算法的SDN控制器部署方法,其特征是,一个实例中具体步骤是:
步骤1:给定网络拓扑G,即已知交换机数、路径数以及各路径时延,目标函数为全局的控制器到交换机的平均时延latencyaverage和负载最大的控制器负载loadmax,设置初始的控制器最大负载、蝙蝠种群的规模、算法最大迭代次数Tmax;
步骤2:初始化蝙蝠种群位置Xi={x1,x2,...,xn},xk∈[1,j],每个元素初始化为[1,j]的任意整数值,初始化蝙蝠的速度Vi={v1,v2,...,vn}(vj=1),初始化全局最优解X*;
步骤3:按照公式fi=fmin+(fmax-fmin)·β更新脉冲频率,产生每个蝙蝠的脉冲频率fi,初始化脉冲发射频度和脉冲响度
步骤4:按照以下公式更新蝙蝠的速度:
<mrow>
<msub>
<mi>V</mi>
<mrow>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mi>t</mi>
<mi>r</mi>
<mi>a</mi>
<mi>n</mi>
<mi>s</mi>
<mrow>
<mo>(</mo>
<msubsup>
<mi>v</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>+</mo>
<mo>(</mo>
<mrow>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>&CirclePlus;</mo>
<msup>
<mi>x</mi>
<mo>*</mo>
</msup>
</mrow>
<mo>)</mo>
<mo>&CenterDot;</mo>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
trans定义为:
<mrow>
<mi>Y</mi>
<mo>=</mo>
<mi>t</mi>
<mi>r</mi>
<mi>a</mi>
<mi>n</mi>
<mi>s</mi>
<mrow>
<mo>(</mo>
<mi>X</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mi>r</mi>
<mi>a</mi>
<mi>n</mi>
<mi>d</mi>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo><</mo>
<mi>t</mi>
<mi>r</mi>
<mi>a</mi>
<mi>n</mi>
<mi>s</mi>
<mi>m</mi>
<mi> </mi>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mi>r</mi>
<mi>a</mi>
<mi>n</mi>
<mi>d</mi>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&GreaterEqual;</mo>
<mi>t</mi>
<mi>r</mi>
<mi>a</mi>
<mi>n</mi>
<mi>s</mi>
<mi>m</mi>
<mi> </mi>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
<mrow>
<msub>
<mi>transmx</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msup>
<mi>e</mi>
<mrow>
<mo>-</mo>
<mi>x</mi>
</mrow>
</msup>
</mrow>
</mfrac>
</mrow>
步骤5:按照以下公式更新位置Xi:
Xi+1=Xi+Vi
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>v</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mi>R</mi>
<mi>M</mi>
<mi>N</mi>
<mi>S</mi>
<mo>,</mo>
<msub>
<mi>v</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mn>1</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
RMNS为轮盘赌操作;
步骤6:计算latencyaverage、loadmax,重新寻找全局最优解X*;
步骤7:对于每个蝙蝠个体,产生一个随机数rand1,如果rand1>ri t,则根据公式在当前最优个体附近重新扰动生成Xi,重新计算所有蝙蝠新位置的目标函数值;
步骤8:对每个蝙蝠个体产生随机数rand2,若且则接受这个新解,并增加减小
步骤9:更新全局最优解X*;
步骤10:判断是否达到迭代次数或者得到全局最优解,是则输出当前最优解,否则转入步骤3,继续执行算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710994383.2A CN107800570A (zh) | 2017-10-23 | 2017-10-23 | 基于蝙蝠算法的sdn控制器部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710994383.2A CN107800570A (zh) | 2017-10-23 | 2017-10-23 | 基于蝙蝠算法的sdn控制器部署方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107800570A true CN107800570A (zh) | 2018-03-13 |
Family
ID=61533578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710994383.2A Pending CN107800570A (zh) | 2017-10-23 | 2017-10-23 | 基于蝙蝠算法的sdn控制器部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107800570A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376453A (zh) * | 2018-11-09 | 2019-02-22 | 江苏大学 | 一种基于蝙蝠算法和克里金模型的轴流泵叶轮优化方法 |
CN109521409A (zh) * | 2018-10-15 | 2019-03-26 | 天津大学 | 基于蝙蝠算法的认知雷达波形优化方法 |
CN110086654A (zh) * | 2019-03-28 | 2019-08-02 | 重庆邮电大学 | 软件定义数据中心下基于可靠性的主备控制器部署方法 |
CN110120892A (zh) * | 2019-04-30 | 2019-08-13 | 山东工商学院 | 基于改进的萤火虫算法的sdn多控制器部署方法及系统 |
CN113242563A (zh) * | 2021-06-23 | 2021-08-10 | 西安邮电大学 | 一种无线传感器网络覆盖率优化方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150117216A1 (en) * | 2013-10-31 | 2015-04-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for load balancing at a data network |
CN106203614A (zh) * | 2016-07-22 | 2016-12-07 | 吉林大学 | 基于自适应蝙蝠搜索算法的kp模型密度函数辨识方法 |
CN107204880A (zh) * | 2017-06-06 | 2017-09-26 | 重庆邮电大学 | 一种基于软件定义网络架构的控制层部署方法 |
-
2017
- 2017-10-23 CN CN201710994383.2A patent/CN107800570A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150117216A1 (en) * | 2013-10-31 | 2015-04-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for load balancing at a data network |
CN106203614A (zh) * | 2016-07-22 | 2016-12-07 | 吉林大学 | 基于自适应蝙蝠搜索算法的kp模型密度函数辨识方法 |
CN107204880A (zh) * | 2017-06-06 | 2017-09-26 | 重庆邮电大学 | 一种基于软件定义网络架构的控制层部署方法 |
Non-Patent Citations (2)
Title |
---|
SHUAI LIU等: "NCPSO:A solution of the Controller Placement Problem in Software Defined Networks", 《SPRINGER INTERNATIONAL PUBLISHING》 * |
盛孟龙等: "一种改进的自适应变异蝙蝠算法", 《计算机技术与发展》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109521409A (zh) * | 2018-10-15 | 2019-03-26 | 天津大学 | 基于蝙蝠算法的认知雷达波形优化方法 |
CN109521409B (zh) * | 2018-10-15 | 2023-04-07 | 天津大学 | 基于蝙蝠算法的认知雷达波形优化方法 |
CN109376453A (zh) * | 2018-11-09 | 2019-02-22 | 江苏大学 | 一种基于蝙蝠算法和克里金模型的轴流泵叶轮优化方法 |
CN109376453B (zh) * | 2018-11-09 | 2023-05-09 | 江苏大学 | 一种基于蝙蝠算法和克里金模型的轴流泵叶轮优化方法 |
CN110086654A (zh) * | 2019-03-28 | 2019-08-02 | 重庆邮电大学 | 软件定义数据中心下基于可靠性的主备控制器部署方法 |
CN110086654B (zh) * | 2019-03-28 | 2022-05-03 | 重庆邮电大学 | 软件定义数据中心下基于可靠性的主备控制器部署方法 |
CN110120892A (zh) * | 2019-04-30 | 2019-08-13 | 山东工商学院 | 基于改进的萤火虫算法的sdn多控制器部署方法及系统 |
CN113242563A (zh) * | 2021-06-23 | 2021-08-10 | 西安邮电大学 | 一种无线传感器网络覆盖率优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107800570A (zh) | 基于蝙蝠算法的sdn控制器部署方法 | |
US11057300B2 (en) | Energy-efficient traffic scheduling algorithm for SDN data center network based on multi-layer virtual topology | |
Kuang et al. | A hierarchical K-means algorithm for controller placement in SDN-based WAN architecture | |
Guo et al. | Dynamic flow scheduling for power-efficient data center networks | |
US11483232B1 (en) | Auto load balancing | |
CN110891019B (zh) | 一种基于负载均衡的数据中心流量调度方法 | |
JP5943431B2 (ja) | ネットワーク、データ転送ノード、通信方法およびプログラム | |
CN108400890A (zh) | 一种软件定义网络多控制器部署方法 | |
CN105357124B (zh) | 一种MapReduce带宽优化方法 | |
Guo et al. | AggreFlow: Achieving power efficiency, load balancing, and quality of service in data center networks | |
CN105743804B (zh) | 一种数据流控制方法和系统 | |
Avin et al. | ReNets: Statically-Optimal Demand-Aware Networks∗ | |
CN112350949A (zh) | 软件定义网络中基于流调度的重路由拥塞控制方法及系统 | |
CN108173766A (zh) | 一种基于差异化QoS的多业务分层拓扑路由方法和系统 | |
Liu et al. | On optimal hierarchical SDN | |
Huang et al. | Software-defined label switching: Scalable per-flow control in SDN | |
Chiu et al. | Reinforcement learning-based service-oriented dynamic multipath routing in sdn | |
CN110621052A (zh) | 一种多路径路由优化方法 | |
Fan et al. | Roulette wheel balancing algorithm with dynamic flowlet switching for multipath datacenter networks | |
Pu | Pro^NDN: MCDM-Based Interest Forwarding and Cooperative Data Caching for Named Data Networking | |
CN116708280A (zh) | 一种基于乱序度容忍的数据中心网络多路径传输方法 | |
CN108809829B (zh) | 一种sdn规则部署方法 | |
Teh et al. | Couder: Robust topology engineering for optical circuit switched data center networks | |
Wang et al. | Randomized load-balanced routing for fat-tree networks | |
He et al. | LFOD: a lightweight flow table optimization scheme in SDN based on flow length distribution in the Internet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180313 |