CN107094112A - 基于果蝇优化算法的带宽约束组播路由优化方法 - Google Patents
基于果蝇优化算法的带宽约束组播路由优化方法 Download PDFInfo
- Publication number
- CN107094112A CN107094112A CN201710209695.8A CN201710209695A CN107094112A CN 107094112 A CN107094112 A CN 107094112A CN 201710209695 A CN201710209695 A CN 201710209695A CN 107094112 A CN107094112 A CN 107094112A
- Authority
- CN
- China
- Prior art keywords
- drosophila
- individual
- concentration value
- flavor concentration
- smell
- 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.)
- Granted
Links
Classifications
-
- 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/125—Shortest path evaluation based on throughput or bandwidth
-
- 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/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于果蝇优化算法的带宽约束组播路由优化方法,本发明在解决带宽约束组播路由问题上应用了果蝇优化算法,并提出了自定义嗅觉随机搜索、味道浓度判断、自定义视觉定位等步骤,相比于其它现有技术,在解决现有技术中解决组播路由问题过程中收敛速度快,获取组播树代价小。
Description
技术领域
本发明涉及无线通讯技术领域,具体涉及一种基于果蝇优化算法的带宽约束组播路由优化方法。
背景技术
近几年,网络上出现了各式各样的新业务及新应用。其中很大一部分是以高带宽、高网络资源需求为基础的多媒体业务,比如远程教育、IPTV、网络会议等,这些业务的主要特点是发送方发送的数据具有极高重复性。面对这些业务,如采用传统的点对点通信模式,会在网络用户增加的情况下使网络资源和带宽急剧消耗,最后造成网络拥塞。而组播技术可以很好的解决这一问题。这种组播技术的主要特点是可以提供从单点同时向网络中的多点传输相同数据,依靠组播树,两个或多个目的网络或主机不需要在重复链路各自发送数据包,只需在组播树分支节点复制数据包并分发即可,这样就可以有效节约网络资源且提高带宽利用率。如果寻求组播树的路由算法支持指定的服务质量(Quality of Service,简称QoS)参数约束(如带宽、时延抖动、时延等约束),则称这种算法为QoS组播路由算法。而对基于服务质量的组播路由算法的研究对于提高组播的服务的效率就显得尤为重要。
早前针对组播树最短路径问题曾提出一些基本的数学优化算法:比如典型的单源最短路 Dijkstra算法和Bellman-Ford算法;针对组播最小生成树的贪心算法等。然而这些算法都是针对源节点到每个目的节点单条最短路径的算法,没有考虑尽量多的增加重复链路来节省带宽消耗。这样,人们开始应用启发式算法来解决组播路由最小斯坦利树(Minimum Steiner Tree,简称MST)问题。比如Parsamehrdad提出的受限最短多播(BoundedShortest Multicast Algorithm,简称BSMA)算法;Gelenbe曾采用随机神经网络算法,对由Kou提出的最小斯坦利树启发(Minimum Steiner Tree Heuristic,简称MSTH)算法产生的生成树寻找潜在的斯坦利节点,来优化计算MST。然而这些算法所假设的网络规模都比较小,当今的网络规模越来越大,而且,MST组播路由问题已被证明为非决定性多项式完全(Non-deterministic Polynomial Complete,简称NP-Complete)问题,在较大网络规模下,寻求问题的客观最优解已变得越来越耗时甚至不切实际,故这些算法的研究遇到了瓶颈。
于是国内外的学者结合实际问题,应用遗传算法(Genetic Algorithm,简称GA)等元启发式群智能算法对组播路由问题进行了研究,并取得了一定的成果。这类群智能算法的特点是不求找到客观最优解,而是在有限的时间内找到一个可以接受的较优解,正适合解决组播路由这类NP-Complete问题。然而,将遗传算法应用于组播路由问题存在一定缺陷,由于遗传算法中选择、交叉、变异等操作比较复杂,导致其收敛速度过慢,获取的组播树代价比较高。
发明内容
本发明的主要目的在于提供基于果蝇优化算法的带宽约束组播路由优化方法,以解决现有技术中解决组播路由问题过程中收敛速度过慢,获取组播树代价较高的技术问题。
为了实现上述目的,提供了一种基于果蝇优化算法的带宽约束组播路由优化方法,包括以下步骤:
(1)确定优化目标并约束条件,建立基于实际网络的逻辑网络拓扑图;
(2)基于上述网络拓扑,初始化算法中果蝇群体规模,初始化果蝇群体,生成所有果蝇个体,每个果蝇个体均具有位置和味道浓度值两个属性;初始化最大迭代代数、嗅觉随机搜索步长参数,视觉定位灵敏度参数以及当前迭代代数;初始化一个历史最优果蝇个体,设置其味道浓度值;
(3)对于当代果蝇群体中的每个个体,结合嗅觉随机搜索步长参数,进行嗅觉随机搜索;
(4)用味道浓度判断函数计算当代每个果蝇的味道浓度值;
(5)找到目前当代果蝇群体中具有最大味道浓度值的个体及其坐标位置,若最大味道浓度值的个体的味道浓度值大于历史最优果蝇个体的味道浓度值,则历史最优果蝇个体的位置和味道浓度值被最大味道浓度值的个体替换;
(6)对于当代果蝇群体中的每个个体,结合视觉定位灵敏度参数,使该个体以最大味道浓度值的个体为目标进行视觉定位;
(7)判断当前迭代代数是否满足步骤(3)中设定的最大迭代代数,若满足则转到步骤 (3),否则退出循环输出历史最优果蝇个体,利用历史最优果蝇个体计算组播树。
进一步地,步骤(1)中所有果蝇存在于一个多维空间中,果蝇的位置表示方式为一个多维向量。
进一步地,步骤(3)中嗅觉随机搜索的搜索策略为:
对于某果蝇个体,在对其进行嗅觉随机搜索之前,先在包括所有不大于果蝇维度的正整数的集合中随机选取若干正整数组成一个整数集合,基于这个整数集合和此果蝇当前位置,按照更新策略来确定嗅觉随机搜索之后的位置,随后,用嗅觉随机搜索之后的位置替换嗅觉随机搜索之前的位置,即完成果蝇个体的嗅觉随机搜索。
进一步地,步骤(4)中浓度判断函数计算方法为:
对于某果蝇个体,基于其各个维度上的位置取值和步骤(1)建立的网络拓扑,生成一个新网络拓扑,新网络拓扑是步骤(1)建立的网络拓扑的子图;在新的拓扑上,若组播源节点与任意组播目的节点均连通,则以组播源节点为源节点,使连接两个节点的各边的开销为各自权值,运行一次Dijkstra最短路径算法,得出源节点到达全部目的节点的最短路径,这些最短路径包含的所有边去重后构成一个集合,依照味道浓度判断函数和此集合求出此果蝇个体的味道浓度值;否则该果蝇个体味道浓度值为0。
进一步地,步骤(6)中视觉定位的定位策略为:
对于某果蝇个体,基于其当前位置和当代拥有最大味道浓度值的果蝇个体位置,按照概率公式求得一个概率序列,该果蝇视觉定位之后的位置取值根据这个概率序列来确定,确定之后即完成该果蝇个体的视觉定位。
本发明在解决带宽约束组播路由问题上应用了果蝇优化算法,并提出了自定义嗅觉随机搜索、味道浓度判断、自定义视觉定位等步骤,相比于其它现有技术,在解决现有技术中解决组播路由问题过程中收敛速度快,获取组播树代价小。
下面结合附图和具体实施方式对本发明做进一步的说明。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的附图用来辅助对本发明的理解,附图中所提供的内容及其在本发明中有关的说明可用于解释本发明,但不构成对本发明的不当限定。在附图中:
图1为本发明一种基于果蝇优化算法的带宽约束组播路由优化方法的流程图。
图2为本发明一种基于果蝇优化算法的带宽约束组播路由中网络拓扑图。
图3为本发明与遗传算法在场景一下的平均开销曲线对比图。
图4为本发明与遗传算法在场景二下的平均开销曲线对比图。
图5为本发明与遗传算法在场景三下的平均开销曲线对比图。
图6为本发明与遗传算法在场景四下的平均开销曲线对比图。
图7为本发明与遗传算法在场景一下的历史最低开销曲线对比图。
图8为本发明与遗传算法在场景二下的历史最低开销曲线对比图。
图9为本发明与遗传算法在场景三下的历史最低开销曲线对比图。
图10为本发明与遗传算法在场景四下的历史最低开销曲线对比图。
图11为本发明在场景一下所得组播树示意图。
图12为本发明在场景二下所得组播树示意图。
图13为本发明在场景三下所得组播树示意图。
图14为本发明在场景四下所得组播树示意图。
具体实施方式
下面结合附图对本发明进行清楚、完整的说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。在结合附图对本发明进行说明前,需要特别指出的是:
本发明中在包括下述说明在内的各部分中所提供的技术方案和技术特征,在不冲突的情况下,这些技术方案和技术特征可以相互组合。
下述说明中涉及到的本发明的实施例通常仅是本发明一分部的实施例,而不是全部的实施例。因此,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
关于对本发明中术语的说明:“Dijkstra最短路径算法”是用于计算一个节点到其他所有节点的最短路径,其算法思想为:令G=(V,E)为一个带权无向图,把图中的顶点集合V 分成两组,第一组为已求出最短路径的顶点集合S(初始时S中只有源节点,以后每求得一条最短路径,就将它对应的顶点加入到集合S中,直到全部顶点都加入到S中);第二组是未确定最短路径的顶点集合U。在加入过程中,总保持从源节点v到S中各顶点的最短路径长度不大于从源节点v到U中任何顶点的最短路径长度。其算法步骤基本包括a、初始化时, S只含有源节点;b、从U中选取一个距离v最小的顶点k加入S中(该选定的距离就是v到 k的最短路径长度);c、以k为新考虑的中间点,修改U中各顶点的距离;若从源节点v到顶点u的距离(经过顶点k)比原来距离(不经过顶点k)短,则修改顶点u的距离值,修改后的距离值是顶点k的距离加上k到u的距离;d、重复步骤b和c,直到所有顶点都包含在 S中。
本发明基于果蝇优化算法的带宽约束组播路由优化方法包括以下步骤:
(1)确定优化目标并约束条件,建立基于实际网络的逻辑网络拓扑图;
(2)基于上述网络拓扑,初始化算法中果蝇群体规模,初始化果蝇群体,生成所有果蝇个体,每个果蝇个体均具有位置和味道浓度值两个属性;初始化最大迭代代数、嗅觉随机搜索步长参数,视觉定位灵敏度参数以及当前迭代代数;初始化一个历史最优果蝇个体,设置其味道浓度值;
(3)对于当代果蝇群体中的每个个体,结合嗅觉随机搜索步长参数,进行嗅觉随机搜索;
(4)用味道浓度判断函数计算当代每个果蝇的味道浓度值;
(5)找到目前当代果蝇群体中具有最大味道浓度值的个体及其坐标位置,若最大味道浓度值的个体的味道浓度值大于历史最优果蝇个体的味道浓度值,则历史最优果蝇个体的位置和味道浓度值被最大味道浓度值的个体替换;
(6)对于当代果蝇群体中的每个个体,结合视觉定位灵敏度参数,使该个体以最大味道浓度值的个体为目标进行视觉定位;
(7)判断当前迭代代数是否满足步骤(3)中设定的最大迭代代数,若满足则转到步骤 (3),否则退出循环输出历史最优果蝇个体,利用历史最优果蝇个体计算组播树。
步骤(1)中所有果蝇存在于一个多维空间中,果蝇的位置表示方式为一个多维向量。
步骤(3)中嗅觉随机搜索的搜索策略为:
对于某果蝇个体,在对其进行嗅觉随机搜索之前,先在包括所有不大于果蝇维度的正整数的集合中随机选取若干正整数组成一个整数集合,基于这个整数集合和此果蝇当前位置,按照更新策略来确定嗅觉随机搜索之后的位置,随后,用嗅觉随机搜索之后的位置替换嗅觉随机搜索之前的位置,即完成果蝇个体的嗅觉随机搜索。
步骤(4)中浓度判断函数计算方法为:
对于某果蝇个体,基于其各个维度上的位置取值和步骤(1)建立的网络拓扑,生成一个新网络拓扑,新网络拓扑是步骤(1)建立的网络拓扑的子图;在新的拓扑上,若组播源节点与任意组播目的节点均连通,则以组播源节点为源节点,使连接两个节点的各边的开销为各自权值,运行一次Dijkstra最短路径算法,得出源节点到达全部目的节点的最短路径,这些最短路径包含的所有边去重后构成一个集合,依照味道浓度判断函数和此集合求出此果蝇个体的味道浓度值;否则该果蝇个体味道浓度值为0。
步骤(6)中视觉定位的定位策略为:
对于某果蝇个体,基于其当前位置和当代拥有最大味道浓度值的果蝇个体位置,按照概率公式求得一个概率序列,该果蝇视觉定位之后的位置取值根据这个概率序列来确定,确定之后即完成该果蝇个体的视觉定位。
在带宽约束组播路由问题研究中,可将通信网的网络拓扑看成一张无向带权连通图G=(V,E),其中V={v1,v2,…,vO}为节点集合,E={e1,e2,…,eK}为图中连接两个节点的边集合,其中O=|V|和K=|E|分别表示节点和边的个数。s∈V为组播源节点,为组播目的节点集,其中J=|D|为目的节点个数。对于每一条边e∈E,定义两种度量:cost(e)为边e的开销,直接用作图中边的权值;band(e)为边e的带宽,取值范围为实数区间[4,6],单位为兆比特每秒,即Mb/s。组播树T是G的子图,是根为s,以目的节点为叶节点并包含所有目的节点的一个树,用T=(VT,ET)表示,其中VT为组播树T中包含的所有节点的集合, ET为组播树T中包含的所有边的集合,T中从s到每个目的节点均存在唯一的一条路径,用w(s,di)表示,其中i={1,2,…,J}。带宽约束组播路由问题即在G中找出一棵组播树T=(VT,ET),保证对于任意e∈ET,band(e)不小于最低带宽约束B(单位Mb/s),并且使组播树T的开销最小化的问题。
其中优化目标为组播树T的开销最小化。
设置约束条件为任意e∈ET,band(e)不小于最低带宽约束B(单位Mb/s)。
图1为本发明一种基于果蝇优化算法的带宽约束组播路由优化方法的流程图。如图1所示,一种基于果蝇优化算法的带宽约束组播路由优化方法,包括以下步骤:
(1)将网络拓扑设定为G=(V,E),其中V={v1,v2,…,vO}为节点集合,E={e1,e2,…,eK}为图中连接两个节点的边集合,其中O=|V|和K=|E|分别表示节点和边的个数;
设置约束条件:在G中找出一棵组播树T=(VT,ET),保证对于任意e∈ET,band(e)不小于最低带宽约束B(单位Mb/s),并且使组播树T的开销最小化;其中VT为组播树T中包含的所有节点的集合,ET为组播树T中包含的所有边的集合,
(2)基于上述网络拓扑G=(V,E),初始化算法中果蝇群体规模M,初始化果蝇群体F={f1,f2,…,fM},生成所有果蝇个体,每个果蝇个体均具有位置和味道浓度值两个属性;
初始化最大迭代代数MAXGEN、嗅觉随机搜索步长参数step,以及视觉定位灵敏度参数 sens,令当前迭代代数n=1;
初始化一个历史最优果蝇个体hisbest,其味道浓度值为0;
(3)对于当代果蝇群体中的每个个体,结合嗅觉随机搜索步长参数step,进行嗅觉随机搜索;
(4)用味道浓度判断函数计算当代每个果蝇的味道浓度值;
(5)找到目前当代果蝇群体中具有最大味道浓度值的个体bestn及其坐标位置,若bestn的味道浓度值大于hisbest的味道浓度值,则hisbest的位置和味道浓度值被bestn替换;
(6)对于当代果蝇群体中的每个个体,结合视觉定位灵敏度参数sens,使该个体以bestn为目标进行视觉定位;
(7)若n<MAXGEN+1,则n=n+1,转到步骤(3),否则退出循环输出hisbest,利用hisbest 计算组播树。
步骤(2)所述果蝇位置表示方式为:
所有果蝇存在于一个K维空间中,位置表示方式为一个K维向量L=[l1,l2,…,lK],其中 li∈{0,1},i∈{1,2,…,K}。初始化每个果蝇位置时,每一维度取值都以概率0.5取值为0,否则为1。
步骤(3)所述个体嗅觉随机搜索策略为:
对于某果蝇个体f,设其嗅觉随机搜索之前的位置为Lf=[lf,1,lf,2,…,lf,K],嗅觉随机搜索之后的位置为Lf’=[lf,1’,lf,2’,…,lf,K’]。在集合{1,2,…,K}中随机选取step个整数,组成一个整数集合R={r1,r2,r3,…,rstep},按照更新策略:
其中i∈{1,2,…,K},来确定Lf’中lf,i’的取值。随后,用Lf’替换Lf,即完成果蝇个体f的嗅觉随机搜索。
步骤(4)所述味道浓度判断方法和味道浓度判断函数为:
对于某果蝇个体f,设其位置为Lf=[lf,1,lf,2,…,lf,K]。基于网络拓扑G=(V,E),设Ef={且band(ei)≥B,lf,i=1,i∈{1,2,…,K}},则可生成一个新拓扑Gf={V,Ef},显然在拓扑Gf上,若s与任意di∈D均连通,其中i∈{1,2,…,J},则以s为源节点,使Ef中各边的开销为各自权值,运行一次Dijkstra最短路径算法,所得算法结果中,源节点到达全部目的节点共有J 条最短路径,设分别为wf(s,d1)、wf(s,d1)、…、wf(s,dJ),这些最短路径包含的所有边去重后构成集合Ef’,即Ef’={ei|ei∈wf(s,d1)∨ei∈wf(s,d2)∨…∨ei∈wf(s,dJ),i∈{1,2,…,K}},其中符号“∨”表示逻辑或运算,依照味道浓度判断函数:
求出个体f的味道浓度值。在拓扑Gf上,若非s与任意di∈D均连通,则个体f的味道浓度值为0。
步骤(6)所述视觉定位策略为:
对于某果蝇个体f,设其视觉定位之前的位置为Lf=[lf,1,lf,2,…,lf,K],视觉定位之后的位置为Lf’=[lf,1’,lf,2’,…,lf,K’],当代最优个体bestn位置为Ln=[ln,1,ln,2,…,ln,K],则按照下边概率公式求得一个概率序列[p1,p2,…,pK]:
其中rand()为实数区间[0,1]上的随机数,i∈{1,2,…,K}。位置Lf’=[lf,1’,lf,2’,…,lf,K’]中lf,i’以概率pi取值为1,否则为0。随后,用Lf’来替换Lf,即完成果蝇f的视觉定位。
如图2为本发明一种基于果蝇优化算法的带宽约束组播路由中网络拓扑图。共有26个节点,节点id编号为0~25。共有65条边,边id编号为0~64(图中未画出),每条边上标明了开销,在区间(0,10)上随机生成,保留一位小数。虚线边代表此条边在拓扑中带宽不足5Mb/s,假设组播请求服务的源节点为25,目的节点集为[24,16,22],带宽约束B为5Mb/s。下面将结合此拓扑图实例和组播请求服务详细说明本发明中果蝇优化算法中嗅觉随机搜索、味道浓度判定、视觉定位和生成算法最终的最优组播树的具体实施方法。
初始化算法中果蝇群体规模M=20,生成所有果蝇个体,随机初始化各个果蝇位置,每个果蝇的位置一定是一个65维向量,K等于65,每一纬度取值为0或1,比如[1,0,1,1,0,1,…,1,1]。初始化最大迭代代数MAXGEN=100。经试验总结,嗅觉随机搜索步长参数step=9为最佳、视觉定位灵敏度参数sens=2.5为最佳,初始化一个历史最优果蝇个体hisbest,使其味道浓度值为0,令当前迭代代数n=1。
对于某果蝇个体f,设其嗅觉随机搜索之前的位置为Lf=[lf,1,lf,2,…,lf,K],嗅觉随机搜索之后的位置为Lf’=[lf,1’,lf,2’,…,lf,K’]。在集合{1,2,…,K}中随机选取step个整数,组成一个整数集合 R={r1,r2,r3,…,rstep},按照更新策略:
其中i∈{1,2,…,K},来确定Lf’中lf,i’的取值。随后,用Lf’替换Lf,即完成果蝇个体f的嗅觉随机搜索。假设某果蝇位置取值为[1,0,1,1,0,1,0,0,0,0,1,0,1,1,…,0,1,1,1],依照step=9,需要在集合{1,2,3,…,65}中选择9个整数组成一个集合,假设集合为{11,1,9,4,5,13,65,2,64},可知原果蝇位置中,第[1,2,4,5,9,11,13,64,65]维度的值要进行1次0,1取反操作,原果蝇位置取值变为[0,1,1,0,1,1,0,0,1,0,0,0,0,1,…,0,1,0,0]。
在对果蝇f进行味道浓度评估时,设其位置为Lf=[lf,1,lf,2,…,lf,K]。基于网络拓扑G=(V,E),设且band(ei)≥B,lf,i=1,i∈{1,2,…,K}},则可生成一个新拓扑Gf={V,Ef},显然在拓扑Gf上,若s与任意di∈D均连通,其中i∈{1,2,…,J},则以s为源节点,使Ef中各边的开销为各自权值,运行一次Dijkstra最短路径算法,所得算法结果中,源节点到达全部目的节点共有J条最短路径,设分别为wf(s,d1)、wf(s,d2)、…、wf(s,dJ),这些最短路径包含的所有边去重后构成集合Ef’,即 Ef’={ei|ei∈wf(s,d1)∨ei∈wf(s,d2)∨…∨ei∈wf(s,dJ),i∈{1,2,…,K}},其中符号“∨”表示逻辑或运算,依照味道浓度判断函数:
求出个体f的味道浓度值。在拓扑Gf上,若非s与任意di∈D均连通,则个体f的味道浓度值为0。按照此方法,结合图2,在新拓扑Gf上以25为源节点,[24,16,22]为目的节点运行一次Dijkstra最短路径算法,若求得24节点到达25节点的路径包括的边id为 [61,40,21,2,5,46],16节点到达25节点的路径包括的边id为[20,17,2,5,46],22节点到达25节点的路径包括的边id为[16,13,23,25,46],则可确定组播树包含的边为 [2,5,13,16,17,20,21,23,25,40,46,61],依照味道浓度判断函数,f的味道浓度值为这些边的开销之和再取倒数。
在整个算法运行过程中,hisbest为一个记录算法运行中出现过的具有最高味道浓度值的果蝇及其位置的特殊果蝇,初始记录的味道浓度值为0。如果运行到第n代具有最高味道浓度值的果蝇bestn的味道浓度值大于hisbest的味道浓度值,那么hisbest的位置和味道浓度值均被果蝇bestn所替代,否则,hisbest的位置和味道浓度值不变。
对于某果蝇个体f进行视觉定位操作时,设其视觉定位之前的位置为Lf=[lf,1,lf,2,…,lf,K],视觉定位之后的位置为Lf’=[lf,1’,lf,2’,…,lf,K’],当代最优个体bestn位置为Ln=[ln,1,ln,2,…,ln,K],则按照下边概率公式求得一个概率序列[p1,p2,…,pK]:
其中rand()为实数区间[0,1]上的随机数,i∈{1,2,…,K}。位置Lf’=[lf,1’,lf,2’,…,lf,K’] 中lf,i’以概率pi取值为1,否则为0。随后,用Lf’来替换L,即完成果蝇f的视觉定位。即:若f与bestn的位置对应维度的取值相同,则f值保持不变,否则f将以一个较高概率与bestn当前位取值相同。
算法对整个果蝇群体中的果蝇进行一次视觉定位后,若当前迭代代数n小于MAXGEN+1,则n自加1,返回嗅觉随机搜索,重新开始新的迭代。否则算法运行结束,输出hisbest,最后依据hisbest求最优组播树和组播树开销:
设hisbest位置为Lhisbest=[lhisbest,1,lhisbest,2,lhisbest,3,…,lhisbest,K]。基于网络拓扑G=(V,E),设 Ehisbest={且band(ei)≥B,lhisbest,i=1,i∈{1,2,…,K}},则可生成一个新拓扑 Ghisbest={V,Ehisbest},显然在拓扑Ghisbest上,以s为源节点,以Ehisbest中各边的开销为各自权值,运行一次Dijkstra最短路径算法,所得算法结果中,源节点到达全部目的节点共有J条最短路径,设分别为whisbest(s,d1)、whisbest(s,d2)、…、whisbest(s,dJ),这些最短路径包含的所有边去重后构成边集合Ehisbest,即 Ehisbest’={ei|ei∈whisbest(s,d1)∨ei∈whisbest(s,d2)∨…∨ei∈whisbest(s,dJ),i∈{1,2,…,K}},而这些最短路径上的所有节点去重后构成节点集合Vhisbest,即 Vhisbest={vi|vi∈whisbest(s,d1)∨vi∈whisbest(s,d2)∨…∨vi∈whisbest(s,dJ),i∈{1,2,…,K}},则得到组播树 T=(Vhisbest,Ehisbest’),组播树开销
本算法的结束条件不限于最大迭代代数MAXGEN,也可以通过拟定hisbest的味道浓度值阈值来作为结束算法的条件。
下面通过上述本发明一种基于果蝇优化算法的带宽约束组播路由优化方法与基于遗传算法的带宽约束组播路由优化方法进行四个场景的仿真对比,由此说明本发明基于果蝇优化算法的带宽约束组播路由优化方法对于解决带宽约束组播路由问题具有更高的收敛速度,并获得了代价更小的组播树。
基于遗传算法的带宽约束组播路由优化方法基本步骤如下:
(1)基于网络拓扑G=(V,E),初始化遗传算法中群体规模M。初始化群体C={c1,c2,…, cM},生成所有个体,每个个体均具有染色体基因型和适应度值两个属性。初始化最大迭代代数MAXGEN、交叉概率cpro、变异概率vpro,令当前迭代代数n=1。初始化一个历史最优染色体hisbest,使其适应度值为0。
(2)评估每个每个染色体的适应度值。
(3)对整个种群进行选择操作。
(4)对整个种群按照交叉概率进行交叉操作。
(5)对整个种群中的M个个体按照变异概率进行变异操作。
(6)评估每个每个染色体的适应度值,挑选出当代具有最大适应度的个体bestn,若bestn的适应度大于hisbest,则hisbest被bestn替换。
(7)若n<MAXGEN+1,则n=n+1,转到(3),否则退出循环输出hisbest,利用hisbest计算组播树。
遗传算法也是迭代循环算法,在此主要说明遗传算法的编码方案、适应度评估、选择、交叉、变异和计算组播树等操作的实现方法。
本专利所采用的遗传算法编码方案和果蝇优化算法是一致的,都采用0-1编码,只是果蝇优化算法描述的是各维度取值,遗传算法描述的是各基因位取值,如某个个体ci的染色体可描述为[g1,g2,…,gK],其中i={1,2,…,M},基因位gj(j={1,2,…,K})只能取值0或1。
遗传算法的个体适应度评估操作方法与果蝇优化算法的个体味道浓度判定方法是一致的,只需要把味道浓度评估的位置向量换成遗传算法个体的染色体即可。味道浓度和适应度只是名称不一样,其本质是一样的。
选择操作由子操作组成。其中子操作为:在M个个体中随机选择两个个体比较适应度值,复制适应度较高的那个个体进行保留。子操作重复进行M次,则共保留出M个新个体。然后将原来的种群丢弃,这M个新个体组成新种群代替原来的种群。
交叉操作方法为种群中两两个体随机组合,按照交叉概率cpro随机选点进行单点交叉。
变异操作方法为种群中每个个体的每个染色体基因位按照变异概率vpro进行变异,变异即基因位取值0-1取反。
应用hisbest计算组播树的操作与果蝇优化算法是一致的。
在以下四个场景中,每条边生成一个实数区间(0,10)上的随机数来量化边的开销,以概率0.01决定边的带宽为4Mb/s,否则为6Mb/s。
场景一:
拓扑节点数:50,边数:134,请求服务的源节点:0,目的节点: [25,34,38,12,19,13,8,46,31],带宽约束:5Mb/s。遗传算法:种群规模为20,迭代代数100。果蝇优化算法:群体规模为20,迭代代数100。
场景二:
拓扑节点数:100,边数:260,请求服务的源节点:16,目的节点: [47,36,7,77,57,12,14,50,59,87,69,13],带宽约束:5Mb/s。遗传算法:种群规模为20,迭代代数100。果蝇优化算法:群体规模为20,迭代代数100。
场景三:
拓扑节点数:150,边数:352,请求服务的源节点:128,目的节点: [121,103,4,18,91,89,95,8,76,43,53,133,46],带宽约束:5Mb/s。遗传算法:种群规模为 20,迭代代数100。果蝇优化算法:群体规模为20,迭代代数100。
场景四:
拓扑节点数:200,边数:524,请求服务的源节点:190,目的节点: [12,113,121,101,6,167,15,37,175,73,169,195,157,104],带宽约束:5Mb/s。遗传算法:种群规模为20,迭代代数100。果蝇优化算法:群体规模为20,迭代代数100。
算法比较结果:
本发明与在四个场景中都各自运行10次,结果取平均值。
四个场景中组播树平均开销、方差、算法用时等对比统计结果如表1所示。
表1
表1和图3-10中的GA表示基于遗传算法的带宽约束组播路由优化方法,FFO为本发明采用的方法。图11-14网络拓扑中虚线代表链路带宽不满足组播请求的带宽约束。图3-图6 的纵坐标平均开销为组播树平均开销,横坐标为迭代次数。图7-图10的纵坐标历史最低开销为组播树历史最低开销,横坐标为迭代次数。
通过以上表1以及图3-图10对比,以及图11-14。在种群(群体)规模和迭代代数相同的情况下,本发明所采用的果蝇优化算法比遗传算法具有更高的收敛速度,并获得了代价更小的组播树,且算法较稳定,不会增加耗时,充分说明本发明所采用的果蝇优化算法的高效性。
Claims (5)
1.基于果蝇优化算法的带宽约束组播路由优化方法,其特征在于,包括以下步骤:
(1)确定优化目标并约束条件,建立基于实际网络的逻辑网络拓扑图;
(2)基于上述网络拓扑,初始化算法中果蝇群体规模,初始化果蝇群体,生成所有果蝇个体,每个果蝇个体均具有位置和味道浓度值两个属性;初始化最大迭代代数、嗅觉随机搜索步长参数,视觉定位灵敏度参数以及当前迭代代数;初始化一个历史最优果蝇个体,设置其味道浓度值;
(3)对于当代果蝇群体中的每个个体,结合嗅觉随机搜索步长参数,进行嗅觉随机搜索;
(4)用味道浓度判断函数计算当代每个果蝇的味道浓度值;
(5)找到目前当代果蝇群体中具有最大味道浓度值的个体及其坐标位置,若最大味道浓度值的个体的味道浓度值大于历史最优果蝇个体的味道浓度值,则历史最优果蝇个体的位置和味道浓度值被最大味道浓度值的个体替换;
(6)对于当代果蝇群体中的每个个体,结合视觉定位灵敏度参数,使该个体以最大味道浓度值的个体为目标进行视觉定位;
(7)判断当前迭代代数是否满足步骤(3)中设定的最大迭代代数,若满足则转到步骤(3),否则退出循环输出历史最优果蝇个体,利用历史最优果蝇个体计算组播树。
2.如权利要求1所述的基于果蝇优化算法的带宽约束组播路由优化方法,其特征在于,步骤(1)中所有果蝇存在于一个多维空间中,果蝇的位置表示方式为一个多维向量。
3.如权利要求1所述的基于果蝇优化算法的带宽约束组播路由优化方法,其特征在于,步骤(3)中嗅觉随机搜索的搜索策略为:
对于某果蝇个体,在对其进行嗅觉随机搜索之前,先在包括所有不大于果蝇维度的正整数的集合中随机选取若干正整数组成一个整数集合,基于这个整数集合和此果蝇当前位置,按照更新策略来确定嗅觉随机搜索之后的位置,随后,用嗅觉随机搜索之后的位置替换嗅觉随机搜索之前的位置,即完成果蝇个体的嗅觉随机搜索。
4.如权利要求1所述的基于果蝇优化算法的带宽约束组播路由优化方法,其特征在于,步骤(4)中浓度判断函数计算方法为:
对于某果蝇个体,基于其各个维度上的位置取值和步骤(1)建立的网络拓扑,生成一个新网络拓扑,新网络拓扑是步骤(1)建立的网络拓扑的子图;在新的拓扑上,若组播源节点与任意组播目的节点均连通,则以组播源节点为源节点,使连接两个节点的各边的开销为各自权值,运行一次Dijkstra最短路径算法,得出源节点到达全部目的节点的最短路径,这些最短路径包含的所有边去重后构成一个集合,依照味道浓度判断函数和此集合求出此果蝇个体的味道浓度值;否则该果蝇个体味道浓度值为0。
5.如权利要求1所述的基于果蝇优化算法的带宽约束组播路由优化方法,其特征在于,步骤(6)中视觉定位的定位策略为:
对于某果蝇个体,基于其当前位置和当代拥有最大味道浓度值的果蝇个体位置,按照概率公式求得一个概率序列,该果蝇视觉定位之后的位置取值根据这个概率序列来确定,确定之后即完成该果蝇个体的视觉定位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710209695.8A CN107094112B (zh) | 2017-03-31 | 2017-03-31 | 基于果蝇优化算法的带宽约束组播路由优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710209695.8A CN107094112B (zh) | 2017-03-31 | 2017-03-31 | 基于果蝇优化算法的带宽约束组播路由优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107094112A true CN107094112A (zh) | 2017-08-25 |
CN107094112B CN107094112B (zh) | 2020-10-13 |
Family
ID=59649005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710209695.8A Expired - Fee Related CN107094112B (zh) | 2017-03-31 | 2017-03-31 | 基于果蝇优化算法的带宽约束组播路由优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107094112B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911300A (zh) * | 2017-10-25 | 2018-04-13 | 西南交通大学 | 基于鲸鱼算法的组播路由优化方法及其在Spark平台上的应用 |
CN108717478A (zh) * | 2018-04-27 | 2018-10-30 | 武汉理工大学 | 一种印制电路板钻孔布局方法 |
CN109039907A (zh) * | 2018-09-06 | 2018-12-18 | 郑州云海信息技术有限公司 | 确定网络数据流量最优路径方法、装置、设备及存储介质 |
CN109213094A (zh) * | 2018-07-25 | 2019-01-15 | 昆明理工大学 | 一种基于多工厂间炼钢-连铸生产钢坯过程的优化调度方法 |
CN109831467A (zh) * | 2017-11-23 | 2019-05-31 | 杭州海康威视系统技术有限公司 | 数据传输方法、设备及系统 |
CN110234120A (zh) * | 2018-03-06 | 2019-09-13 | 重庆邮电大学 | 一种受限环境下无线传感器网络节点的优化部署方法 |
CN110266600A (zh) * | 2019-05-29 | 2019-09-20 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 带宽约束组播路由优化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105972185A (zh) * | 2016-07-10 | 2016-09-28 | 北京工业大学 | 基于果蝇优化算法的摆线轮工作齿廓计算方法 |
CN106325354A (zh) * | 2016-11-21 | 2017-01-11 | 国网辽宁省电力有限公司锦州供电公司 | 基于自适应果蝇搜索的光伏阵列最大功率点跟踪方法 |
-
2017
- 2017-03-31 CN CN201710209695.8A patent/CN107094112B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105972185A (zh) * | 2016-07-10 | 2016-09-28 | 北京工业大学 | 基于果蝇优化算法的摆线轮工作齿廓计算方法 |
CN106325354A (zh) * | 2016-11-21 | 2017-01-11 | 国网辽宁省电力有限公司锦州供电公司 | 基于自适应果蝇搜索的光伏阵列最大功率点跟踪方法 |
Non-Patent Citations (3)
Title |
---|
SUNG-PI1 HONG等: "An Efficient Multicast Routing Algorithm for Delay-Sensitive Applications with Dynamic Membership", 《PROCEEDINGS. IEEE INFOCOM "98, THE CONFERENCE ON COMPUTER COMMUNICATIONS. SEVENTEENTH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES》 * |
梁潇: "基于改进蚁群算法的QoS组播路由问题研究", 《万方学位论文》 * |
霍慧慧: "果蝇优化算法及其应用研究", 《万方学位论文》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911300A (zh) * | 2017-10-25 | 2018-04-13 | 西南交通大学 | 基于鲸鱼算法的组播路由优化方法及其在Spark平台上的应用 |
CN107911300B (zh) * | 2017-10-25 | 2020-10-13 | 西南交通大学 | 基于鲸鱼算法的组播路由优化方法及其在Spark平台上的应用 |
CN109831467A (zh) * | 2017-11-23 | 2019-05-31 | 杭州海康威视系统技术有限公司 | 数据传输方法、设备及系统 |
CN109831467B (zh) * | 2017-11-23 | 2021-11-23 | 杭州海康威视系统技术有限公司 | 数据传输方法、设备及系统 |
CN110234120A (zh) * | 2018-03-06 | 2019-09-13 | 重庆邮电大学 | 一种受限环境下无线传感器网络节点的优化部署方法 |
CN108717478A (zh) * | 2018-04-27 | 2018-10-30 | 武汉理工大学 | 一种印制电路板钻孔布局方法 |
CN109213094A (zh) * | 2018-07-25 | 2019-01-15 | 昆明理工大学 | 一种基于多工厂间炼钢-连铸生产钢坯过程的优化调度方法 |
CN109039907A (zh) * | 2018-09-06 | 2018-12-18 | 郑州云海信息技术有限公司 | 确定网络数据流量最优路径方法、装置、设备及存储介质 |
CN109039907B (zh) * | 2018-09-06 | 2021-09-17 | 郑州云海信息技术有限公司 | 确定网络数据流量最优路径方法、装置、设备及存储介质 |
CN110266600A (zh) * | 2019-05-29 | 2019-09-20 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 带宽约束组播路由优化方法 |
CN110266600B (zh) * | 2019-05-29 | 2021-08-10 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 带宽约束组播路由优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107094112B (zh) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107094112A (zh) | 基于果蝇优化算法的带宽约束组播路由优化方法 | |
Dhillon et al. | Performance analysis of the AntNet algorithm | |
CN108112049B (zh) | 一种基于鲸鱼群算法的无线传感器网络能效优化分簇方法 | |
CN107182074A (zh) | 一种基于Zigbee的路由最优路径选取方法 | |
CN114143264A (zh) | 一种SRv6网络下基于强化学习的流量调度方法 | |
CN116418730A (zh) | 一种基于关键节点的分布式可扩展智能路由方法 | |
Abdel-Kader | An improved discrete PSO with GA operators for efficient QoS-multicast routing | |
Sutariya et al. | A survey of ant colony based routing algorithms for manet | |
Long et al. | Research on applying hierachical clustered based routing technique using artificial intelligence algorithms for quality of service of service based routing | |
Ziane et al. | A swarm intelligent multi-path routing for multimedia traffic over mobile ad hoc networks | |
Chen et al. | An efficient neural network-based next-hop selection strategy for multi-hop VANETs | |
Sahu et al. | ZBLE: zone based leader election energy constrained AOMDV routing protocol | |
Chai et al. | A multi-objective Dyna-Q based routing in wireless mesh network | |
CN113285832B (zh) | 基于nsga-ii的电力多模态网络资源优化分配方法 | |
Jiang et al. | Qos-aware routing optimization algorithm using differential search in sdn-based manets | |
Asraf et al. | QoS parameter optimization using multi-objective genetic algorithm in MANETs | |
Li et al. | Genetic algorithm-based QoS multicast routing for uncertainty in network parameters | |
Baolin et al. | Optimizing on multiple constrained QoS multicast routing algorithms based on GA | |
Sheu et al. | An efficient genetic algorithm for the power-based qos many-to-one routing problem for wireless sensor networks | |
Xu et al. | Adhoc-like routing in wired networks with genetic algorithms | |
CN114599068B (zh) | 一种基于植物群落行为的无线传感器网络路由算法 | |
Nivetha et al. | ACO-GA hybrid meta-heuristic (AGHM) optimization for multi-constrained quality of service routing in MANETs | |
Ibraheem et al. | Application of an Evolutionary Optimization Technique to Routing in Mobile Wireless Networks | |
Pinto et al. | Multiobjective multicast routing with ant colony optimization | |
Xu et al. | An effective algorithm for delay-constrained dynamic multicasting |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201013 |
|
CF01 | Termination of patent right due to non-payment of annual fee |