基于粒子群算法的多模终端选择目标网络的方法

文档序号:7862321阅读:231来源:国知局
专利名称:基于粒子群算法的多模终端选择目标网络的方法
技术领域
本发明涉及无线通信领域,特别涉及一种基于粒子群算法的多模终端选择目标网络的方法。
背景技术
随着无线网络技术的发展,不断地有新型无线网络出现在人们的生活中,能够同时支持多种不同模式的无线网络的终端也应运而生。在几种不同模式的无线网络同时覆盖的区域,多模终端将会面临一个如何选择最优网络的问题,这将由基站来完成。基站根据多模终端不同情况下有不同的业务需求,综合考虑无线网络所能承载的最大终端数量,最终 为多模终端选择一个最优的目标网络;当网络环境发生改变或终端移动时,基站就会完成一次网络分配,帮助多模终端实现通信不间断的切换过程。基站为多模终端分配或选择网络是一个多维判决问题,现有的传统遗传算法只能求的局部最优解,常见的找全局最优解的算法为粒子群算法,而粒子群算法的许多特征与基站为多模终端选择能够保证服务质量的目标网络的一些特征正好相匹配,因此基站如何尝试利用粒子群算法为多模终端选择能够保证服务质量的目标网络,就成为业内科技人员研究的新课题。

发明内容
针对上述问题,本发明提出了一种基于粒子群算法的多模终端选择目标网络的方法,并通过以下技术方案予以实现一种基于粒子群算法的多模终端选择目标网络的方法,包括以下步骤SI :多模终端将其在每种无线网络中的服务质量值发送给基站;S2:基站接收到所述各服务质量值,调用粒子群算法,为每个多模终端选择目标网络,所述粒子群算法包括以下步骤S21 :对目标网络和每个粒子进行初始化参数设置,并设定算法迭代总次数;S22 :利用所述服务质量值计算粒子当前位置的适应度值;S23:根据所述适应度值更新每个粒子迄今为止搜索到的最优位置以及整个粒子群迄今为止搜索到的最优位置;S24 :根据步骤S23的结果,更新每个粒子当前的飞行速度和位置;S25 :判断是否达到设定的最大迭代次数;若不是,则返回S22 ;若是,则输出适应度值最大的粒子的位置矢量,并结束。所述初始化参数的设置包括对参与选择的全部多模终端和所有不同模式的目标网络进行顺序编号,并设置多模终端和目标网络的总数分别为I个和J种;设置每个粒子当前位置矢量的维度与多模终端数I相同,且所述位置矢量的每一位元素编号与所述多模终端编号相同;
对粒子位置矢量的每一位元素进行编码,所述编码代表的数值与目标网络数J相同;随机生成每个粒子的初始飞行速度;设置初始权重以及最终权重。所述顺序编号采用自然数;所述编码采用二进制编码。所述步骤S22包括以下步骤S221 :设置每个多模终端服务质量值的最低门限,设置每种目标网络能容纳多模终端数量的最大值; S222 :通过以下方式确定每个粒子当前位置的适应度值如果粒子位置矢量的编码所对应的可选目标网络中,有任何一个多模终端的服务质量值低于其最低门限,或者任何一种目标网络中的多模终端数量超过其容量最大值时,则该粒子当前位置的适应度为O ;如果粒子位置矢量的编码所对应的可选目标网络中,所有多模终端的服务质量值都高于其最低门限,并且每种网络中的多模终端数量都不大于设定的目标网络容量的最大值时,则设置每个粒子当前位置的适应度值为全部多模终端的服务质量值的平均值。所述步骤S23包括以下步骤S231 :每当完成一次迭代搜索过程后,将当前每个粒子位置矢量Xa的适应度值和之前记录的每个粒子搜索到的最优位置Xphest的适应度值进行比较;若Xa的适应度值大于之前记录的每个粒子的最优位置Xphest的适应度值,则将当前粒子的位置Xa更新为迄今为止搜索到的最优位置Xphest;反之,每个粒子迄今为止搜索到的最优位置Xptest保持不变;S232 :每当完成一次迭代搜索过程,并且更新每个粒子迄今为止搜索到的最优位置Xphest以后,将所有的粒子迄今为止搜索到的最优位置Xphest的适应度值进行相互比较,从中选出适应度值最大的那个粒子,该粒子的位置矢量记为Xa,将该粒子的适应度值和之前记录的整个粒子群搜索到的最优位置Xgbest的适应度值进行比较;若位置矢量为Xa的粒子的适应度值大于整个粒子群搜索到的最优位置Xgbest的适应度值,则将Xgbest更新为Xa,并将其作为整个粒子群迄今为止搜索到的最优位置;反之,Xgbest保持不变。所述步骤S24包括以下步骤S241 :计算惯性权重;S242 :更新粒子飞行速度;S243 :利用步骤S242更新后的粒子飞行速度,使用Sigmoid函数更新参数s ;S244 :利用步骤S243的参数S,对粒子的位置进行更新。所述步骤S242进一步包括设置速度的最大值。所述步骤S25进一步包括将输出适应度最高粒子的位置矢量进行解码。本发明克服了以往传统遗传算法只能求得局部最优解的缺陷,采用能够避免早熟收敛的粒子群算法,且该粒子群算法采用O、I 二进制编码,不仅能够寻找到全局最优解,从而有效提高移动通信网络中多模终端的平均服务质量,还大大提高了算法运行速度,减少了算法运行时间,因此,本发明具有很好的推广应用前景。


图I为本发明中粒子群算法的流程图。图2是多模终端为40个时,本发明与传统简单遗传算法的两种收敛速度曲线的示意图。图3是多模终端为50个时,本发明与传统简单遗传算法的两种收敛速度曲线的示意图。
具体实施例方式下面对于本发明所提出的一种基于粒子群算法的多模终端选择目标网络的方法,结合附图和实施例详细说明。实施例I :
本发明提供了一种基于粒子群算法的多模终端选择目标网络的方法,包括以下步骤SI :多模终端将其在每种无线网络中的服务质量值发送给基站;S2:基站接收到所述各服务质量值,调用粒子群算法,为每个多模终端选择目标网络,所述粒子群算法包括以下步骤S21 :对目标网络和每个粒子进行初始化参数设置,并设定算法迭代总次数;S22 :利用所述服务质量值计算粒子当前位置的适应度值;S23:根据所述适应度值更新每个粒子迄今为止搜索到的最优位置以及整个粒子群迄今为止搜索到的最优位置;S24 :根据步骤S23的结果,更新每个粒子当前的飞行速度和位置;S25 :判断是否达到设定的最大迭代次数;若不是,则返回S22 ;若是,则输出适应度值最大的粒子的位置矢量,并结束。所述初始化参数的设置包括对参与选择的全部多模终端和所有不同模式的目标网络进行顺序编号,并设置多模终端和目标网络的总数分别为I个和J种;设置每个粒子当前位置矢量的维度与多模终端数I相同,且所述位置矢量的每一位元素编号与所述多模终端编号相同;对粒子位置矢量的每一位元素进行编码,所述编码代表的数值与目标网络数J相同;随机生成每个粒子的初始飞行速度;设置初始权重以及最终权重。所述顺序编号采用自然数;所述编码采用二进制编码。所述步骤S22包括以下步骤S221 :设置每个多模终端服务质量值的最低门限,设置每种目标网络能容纳多模终端数量的最大值;S222 :通过以下方式确定每个粒子当前位置的适应度值如果粒子位置矢量的编码所对应的可选目标网络中,有任何一个多模终端的服务质量值低于其最低门限,或者任何一种目标网络中的多模终端数量超过其容量最大值时,则该粒子当前位置的适应度为O ;
如果粒子位置矢量的编码所对应的可选目标网络中,所有多模终端的服务质量值都高于其最低门限,并且每种网络中的多模终端数量都不大于设定的目标网络容量的最大值时,则设置每个粒子当前位置的适应度值为全部多模终端的服务质量值的平均值。所述步骤S23包括以下步骤S231 :每当完成一次迭代搜索过程后,将当前每个粒子位置矢量Xa的适应度值和之前记录的每个粒子搜索到的最优位置Xphest的适应度值进行比较;若Xa的适应度值大于之前记录的每个粒子的最优位置Xphest的适应度值,则将当前粒子的位置Xa更新为迄今为止搜索到的最优位置Xphest;反之,每个粒子迄今为止搜索到的最优位置Xptest保持不变;S232 :每当完成一次迭代搜索过程,并且更新每个粒子迄今为止搜索到的最优位置Xphest以后,将所有的粒子迄今为止搜索到的最优位置Xphest的适应度值进行相互比较,从中选出适应度值最大的那个粒子,该粒子的位置矢量记为Xa,将该粒子的适应度值和之前记录的整个粒子群搜索到的最优位置Xgbest的适应度值进行比较;若位置矢量为Xa的粒子的适应度值大于整个粒子群搜索到的最优位置Xgbest的适应度值,则将Xgbest更新为Xa,并将其作为整个粒子群迄今为止搜索到的最优位置;反之,Xgbest保持不变。所述步骤S24包括以下步骤S241 :计算惯性权重;S242 :更新粒子飞行速度;S243 :利用步骤S242更新后的粒子飞行速度,使用Sigmoid函数更新参数s ;S244 :利用步骤S243的参数S,对粒子的位置进行更新。所述步骤S242进一步包括设置速度的最大值。所述步骤S25进一步包括将输出适应度最高粒子的位置矢量进行解码。实施例2:本实施例具体描述基站是如何根据多模终端在每种网络中的服务质量值,再基于本发明的粒子群算法来分配最优化的目标网络。如图I所示,详细的介绍了该粒子群算法在多模终端选择目标网络时的实现步骤S21:对目标网络和每个粒子进行初始化参数设置,并设定算法迭代总次数;具体包括以下操作采用自然数i和j分别对参与选择的全部多模终端和所有不同模式的目标网络进行顺序编号,并设置多模终端和目标网络的总数分别为I个和J种;设置每个粒子当前位置矢量的维度与多模终端数I相同,且位置矢量的每一位元素编号与多模终端编号相同;设置粒子位置矢量的每一位元素均为二进制编码,二进制编码代表的最大自然数值与可供选择的目标网络数J相同,这样每个粒子当前位置矢量的每一位元素就可以表示基站为一个多模终端选择的目标网络;随机生成每个粒子的初始飞行速度;并在每次完成空间搜索后,都分别对每个粒子的飞行速度进行更新,用以更新下一代粒子的位置矢量,以加快算法的收敛速度;设置初始权重以及最终权重,以便应用随时间线性减少的惯性权重使本发明中的粒子群算法更快的找到全局最优解。
在本实施例中,采用自然数顺序编号以及二进制编码是为了后续解码方便。且在步骤S21操作前,所有多模终端先将其在每种无线网络中的服务质量值发送给基站,基站接收到所述各服务质量值,调用粒子群算法,为每个多模终端选择目标网络,该信息作为基站为每个多模终端分配目标网络的依据。S22 :利用所述服务质量值计算每个粒子当前位置的适应度值;当所有粒子完成一次空间搜索的操作后,基站要计算当代粒子位置矢量的适应度;该步骤S22包括下列操作设置每个多模终端的服务质量值的最低门限,再设置每种目标网络容纳多模终端数量的最大值;如果粒子位置矢量的二进制编码所对应的可选目标网络中有任何一个多模终端的服务质量值低于其最低门限,或者任何一种目标网络中的终端数量超过其容量最大值时,则该粒子的当代位置的适应度为O ; 如果粒子位置矢量的二进制编码所对应的可选目标网络中的所有多模终端的服务质量值都高于其最低门限,并且每种网络中的多模终端数量都不大于设定的目标网络容量的最大值时,则设置每个粒子当代位置的适应度值为全部多模终端的服务质量值的平均值;
I每个粒子当代位置的适应度值V的计算公式为J7 5Vi ,其中,i和I分别为多
V=—~ ;
I
模终端的序号和总数量,Vi为第i个多模终端的服务质量值。如果这个粒子当代的适应度值比较大,那么粒子在后续迭代过程中向该位置附近靠拢的机会也比较大。S23 :根据所述适应度值更新每个粒子迄今为止搜索到的最优位置Xphest以及整个粒子群迄今为止搜索到的最优位置Xgbest ;在粒子群迭代过程中,每个粒子在每一代都会有不同的位置,通过将每个粒子在不同代的适应度值进行比较,就会得出迄今为止每个粒子搜索到的最优位置,记为Xphest,该位置会影响粒子在后续迭代过程中向着这一位置附近靠拢,以便获得更好位置;将所有粒子迄今为止搜索到的最优位置的适应度值进行比较,即可得出适应度值最高的粒子的位置,将其记作迄今为止整个粒子群搜索到的最优位置Xgbest,该位置会影响粒子群中所有的粒子向着这一整个粒子群迄今为止搜索到的最优位置靠拢,以便发现全局最优位置;该步骤S23包括下列操作每当完成一次迭代搜索过程后,将当前每个粒子位置矢量Xa的适应度值和之前记录的每个粒子搜索到的最优位置Xptest的适应度值进行比较;若Xa的适应度值大于之前记录的每个粒子的最优位置Xptest的适应度值,则将当前粒子的位置Xa更新为迄今为止搜索到的最优位置Xptest ;反之,每个粒子迄今为止搜索到的最优位置Xptest保持不变;每当完成一次迭代搜索过程,并且更新每个粒子迄今为止搜索到的最优位置Xphest以后,将所有的粒子迄今为止搜索到的最优位置Xphest的适应度值进行相互比较,从中选出适应度值最大的那个粒子,该粒子的位置矢量记为Xa,将该粒子的适应度值和之前记录的整个粒子群搜索到的最优位置Xgbest的适应度值进行比较;若位置矢量为Xa的粒子的适应度值大于整个粒子群搜索到的最优位置Xgbest的适应度值,则将Xgbest更新为Xa,并将其作为整个粒子群迄今为止搜索到的最优位置;反之,Xgbest保持不变;这两个最优变量可以使粒子朝着全局最优解的方向靠近。S24 :根据步骤S23的结果,更新每个粒子当前的飞行速度和位置;其包括下列操作设计惯性权重w ;本发明中的粒子群算法属于离散粒子群优化算法,离散粒子群算法在更新粒子速度的时候涉及到一个参数,即惯性权重w ;w不是一个定值,而是一个随时间线性减少的函数; 函数形式为
权利要求
1.一种基于粒子群算法的多模终端选择目标网络的方法,其特征在于,包括以下步骤 Si:多模终端将其在每种无线网络中的服务质量值发送给基站; S2 :基站接收到所述各服务质量值,调用粒子群算法,为每个多模终端选择目标网络,所述粒子群算法包括以下步骤 521:对目标网络和每个粒子进行初始化参数设置,并设定算法迭代总次数; 522:利用所述服务质量值计算粒子当前位置的适应度值; S23:根据所述适应度值更新每个粒子迄今为止搜索到的最优位置以及整个粒子群迄今为止搜索到的最优位置; 524:根据步骤S23的结果,更新每个粒子当前的飞行速度和位置; 525:判断是否达到设定的最大迭代次数;若不是,则返回S22 ;若是,则输出适应度值最大的粒子的位置矢量,并结束。
2.如权利要求I所述的方法,其特征在于,所述初始化参数的设置包括 对参与选择的全部多模终端和所有不同模式的目标网络进行顺序编号,并设置多模终端和目标网络的总数分别为I个和J种; 设置每个粒子当前位置矢量的维度与多模终端数I相同,且所述位置矢量的每一位元素编号与所述多模终端编号相同; 对粒子位置矢量的每一位元素进行编码,所述编码代表的数值与目标网络数J相同; 随机生成每个粒子的初始飞行速度; 设置初始权重以及最终权重。
3.如权利要求2所述的方法,其特征在于,所述顺序编号采用自然数;所述编码采用二进制编码。
4.如权利要求I所述的方法,其特征在于,所述步骤S22包括以下步骤 5221:设置每个多模终端服务质量值的最低门限,设置每种目标网络能容纳多模终端数量的最大值; 5222:通过以下方式确定每个粒子当前位置的适应度值 如果粒子位置矢量的编码所对应的可选目标网络中,有任何一个多模终端的服务质量值低于其最低门限,或者任何一种目标网络中的多模终端数量超过其容量最大值时,则该粒子当前位置的适应度为O ; 如果粒子位置矢量的编码所对应的可选目标网络中,所有多模终端的服务质量值都高于其最低门限,并且每种网络中的多模终端数量都不大于设定的目标网络容量的最大值时,则设置每个粒子当前位置的适应度值为全部多模终端的服务质量值的平均值。
5.如权利要求I所述方法,其特征在于,所述步骤S23包括以下步骤 5231:每当完成一次迭代搜索过程后,将当前每个粒子位置矢量Xa的适应度值和之前记录的每个粒子搜索到的最优位置Xphest的适应度值进行比较;若Xa的适应度值大于之前记录的每个粒子的最优位置Xphest的适应度值,则将当前粒子的位置Xa更新为迄今为止搜索到的最优位置Xptest ;反之,每个粒子迄今为止搜索到的最优位置Xptest保持不变; 5232:每当完成一次迭代搜索过程,并且更新每个粒子迄今为止搜索到的最优位置Xphest以后,将所有的粒子迄今为止搜索到的最优位置Xphest的适应度值进行相互比较,从中选出适应度值最大的那个粒子,该粒子的位置矢量记为Xa,将该粒子的适应度值和之前记录的整个粒子群搜索到的最优位置Xgbest的适应度值进行比较;若位置矢量为Xa的粒子的适应度值大于整个粒子群搜索到的最优位置Xgbest的适应度值,则将Xgbest更新为Xa,并将其作为整个粒子群迄今为止搜索到的最优位置;反之,Xgbest保持不变。
6.如权利要求I所述的方法,其特征在于,所述步骤S24包括以下步骤 5241:计算惯性权重; 5242:更新粒子飞行速度; 5243:利用步骤S242更新后的粒子飞行速度,使用Sigmoid函数更新参数s ; 5244:利用步骤S243的参数S,对粒子的位置进行更新。
7.如权利要求6所述的方法,其特征在于,所述步骤S242进一步包括设置速度的最大值。
8.如权利要求I所述的方法,其特征在于,所述步骤S25进一步包括将输出适应度最高粒子的位置矢量进行解码。
全文摘要
本发明提供一种基于粒子群算法的多模终端选择目标网络的方法,包括以下步骤S1多模终端将其在每种无线网络中的服务质量值发送给基站;S2基站接收到所述各服务质量值,调用粒子群算法,为每个多模终端选择目标网络;本发明采用能够避免早熟收敛的粒子群算法,不仅能够寻找到全局最优解,从而有效提高移动通信网络中多模终端的平均服务质量,还大大提高了算法运行速度,减少了算法运行时间。
文档编号H04W48/18GK102917441SQ201210376440
公开日2013年2月6日 申请日期2012年9月29日 优先权日2012年9月29日
发明者唐碧华, 吴帆, 张立佳, 张洪光, 范文浩, 刘元安 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1