发明内容
针对上述问题,本发明提出了一种基于并行免疫遗传算法的多模终端选择目标网络的方法,并通过以下技术方案予以实现:
一种基于并行免疫遗传算法的多模终端选择目标网络的方法,包括以下步骤:
S1:多模终端将其在每种无线网络中的服务质量值发送给基站;
S2:基站接收到所述各服务质量值,调用并行免疫遗传算法,为每个多模终端选择目标网络;所述并行免疫遗传算法包括以下步骤:
S21:对目标网络和种群进行初始化参数设置,产生初始抗体,并设定算法迭代总次数;
S22:计算抗体的亲和度;
S23:根据所述亲和度对记忆单元进行更新;
S24:对并行进化的抗体种群进行划分和迁移,所述抗体种群拥有彼此独立的记忆单元;
S25:判断是否达到设定的最大迭代次数,若不是,则返回S22;若是,则输出亲和度最高的抗体,并结束。
所述初始化参数的设置包括:
对参与选择的全部多模终端和所有不同模式的目标网络进行顺序编号,并设置多模终端和目标网络的总数分别为K个和S种;
设置每个种群个体的编码长度与多模终端数K相同,且每一位编码的编号与所述多模终端编号相同;
设置种群染色体的编码选择范围与目标网络数S相同,且染色体每一位的编码与所述目标网络的编号相同。
所述顺序编号采用自然数;所述编码采用自然数顺序编号相应的编码。
所述步骤S22包括以下步骤:
S221:设置每个多模终端服务质量值的最低门限,设置每种目标网络能容纳多模终端数量的最大值;
S222:通过以下方式确定抗体的亲和度:
如果抗体所对应的可选目标网络中,有任何一个多模终端的服务质量值低于其最低门限,或者任何一种目标网络中的多模终端数量超过其容量最大值时,则该抗体的亲和度为0;
如果抗体所对应的可选目标网络中,所有多模终端的服务质量值都高于其最低门限,并且每种网络中的多模终端数量都不大于设定的目标网络容量的最大值时,则设置该抗体的亲和度为全部多模终端的服务质量值的平均值。
所述步骤S23包括以下步骤:
S231:选出预定值个亲和度最高的抗体进行克隆,产生的新抗体作为子代种群的部分新个体;
S232:将预定值个亲和度最低的抗体进行变异,并作为新抗体加入到所述步骤S231的子代种群中,该预定值的个数等于种群规模减去所述步骤S231中部分新个体数量的差值。
所述步骤S24中,对抗体种群的划分和迁移采用多群体粗粒度模型。
本发明采用并行免疫遗传算法,通过记忆单元之间的交流和并行计算,克服了以往传统的遗传算法中记忆细胞单一、容易出现未成熟收敛的缺陷,从而有效提高整个移动通信网络中多模终端的平均服务质量,还大大提高了算法运行速度,减少算法运行时间。
具体实施方式
下面对于本发明所提出的一种基于并行免疫遗传算法的多模终端选择目标网络的方法,结合附图和实施例详细说明。
实施例1:
一种基于并行免疫遗传算法的多模终端选择目标网络的方法,包括以下步骤:
S1:多模终端将其在每种无线网络中的服务质量值发送给基站;
S2:基站接收到所述各服务质量值,调用并行免疫遗传算法,为每个多模终端选择目标网络;所述并行免疫遗传算法包括以下步骤:
S21:对目标网络和种群进行初始化参数设置,产生初始抗体,并设定算法迭代总次数;
S22:计算抗体的亲和度;
S23:根据所述亲和度对记忆单元进行更新;
S24:对并行进化的抗体种群进行划分和迁移,所述抗体种群拥有彼此独立的记忆单元;
S25:判断是否达到设定的最大迭代次数,若不是,则返回S22;若是,则输出亲和度最高的抗体,并结束。
所述初始化参数的设置包括:
对参与选择的全部多模终端和所有不同模式的目标网络进行顺序编号,并设置多模终端和目标网络的总数分别为K个和S种;
设置每个种群个体的编码长度与多模终端数K相同,且每一位编码的编号与所述多模终端编号相同;
设置种群染色体的编码选择范围与目标网络数S相同,且染色体每一位的编码与所述目标网络的编号相同。
所述顺序编号采用自然数;所述编码采用自然数顺序编号相应的编码。
所述步骤S22包括以下步骤:
S221:设置每个多模终端服务质量值的最低门限,设置每种目标网络能容纳多模终端数量的最大值;
S222:通过以下方式确定抗体的亲和度:
如果抗体所对应的可选目标网络中,有任何一个多模终端的服务质量值低于其最低门限,或者任何一种目标网络中的多模终端数量超过其容量最大值时,则该抗体的亲和度为0;
如果抗体所对应的可选目标网络中,所有多模终端的服务质量值都高于其最低门限,并且每种网络中的多模终端数量都不大于设定的目标网络容量的最大值时,则设置该抗体的亲和度为全部多模终端的服务质量值的平均值。
所述步骤S23包括以下步骤:
S231:选出预定值个亲和度最高的抗体进行克隆,产生的新抗体作为子代种群的部分新个体;
S232:将预定值个亲和度最低的抗体进行变异,并作为新抗体加入到所述步骤S231的子代种群中,该预定值的个数等于种群规模减去所述步骤S231中部分新个体数量的差值。
所述步骤S24中,对抗体种群的划分和迁移采用多群体粗粒度模型。
实施例2:
本实施例具体描述基站是如何根据多模终端在每种网络中的服务质量值,再基于本发明的并行免疫遗传算法来分配最优化的目标网络。
如图1所示,详细的介绍了该并行免疫遗传算法在多模终端选择目标网络时的实现步骤:
S21:对目标网络和种群进行初始化参数设置,产生初始抗体,并设定算法迭代总次数;具体包括以下操作:
采用自然数k和s分别对参与选择的全部多模终端和所有不同模式的目标网络进行顺序编号,并设置多模终端和目标网络的总数分别为K个和S种;
设置每个种群个体的编码长度与多模终端数K相同,且每一位编码的编号与多模终端的编号相同,这样每个染色体上的一位编码就代表基站为该多模终端配置目标网络;
设置种群染色体的编码选择范围与可供选择的目标网络数S相同,且染色体每一位编码与目标网络的编号相同。
在本实施例中,采用自然数顺序编号相应编码是为了后续解码方便;且在步骤S21操作前,所有多模终端先将其在每种无线网络中的服务质量值发送给基站,该信息作为基站为每个多模终端分配目标网络的依据,基站接收到所述各服务质量值,调用并行免疫遗传算法,为每个多模终端选择目标网络。
S22:计算抗体的亲和度;在每次种群的抗体更新完毕后,基站要对新一代抗体进行亲和度计算,其具体包括下列操作:
设置每个多模终端服务质量值的最低门限,设置每种目标网络能容纳多模终端数量的最大值;
如果抗体所对应的可选目标网络中,有任何一个多模终端的服务质量值低于其最低门限,或者任何一种目标网络中的多模终端数量超过其容量最大值时,则该抗体的亲和度为0;
如果抗体所对应的可选目标网络中,所有多模终端的服务质量值都高于其最低门限,并且每种网络中的多模终端数量都不大于设定的目标网络容量的最大值时,则设置该抗体的亲和度为全部多模终端的服务质量值的平均值;
抗体亲和度M的计算公式为:
其中,n和N分别为多模终端的序号和总数量,m
n为第n个多模终端的服务质量值。
如果该抗体的亲和度比较高,那么该抗体被选作克隆对象的概率也越大,即子代抗体携带该抗体的信息量也越大。
S23:根据所述亲和度对记忆单元进行更新;每个抗体种群通过控制克隆概率,选择亲和度高的个体,各自存入自己独立的记忆单元,用于生成新的个体,这样可以避免与抗原亲和度较高的抗体快速占领整个记忆单元而收敛于局部最优的现象;此外,对于父代亲和度较低的个体,通过对其进行较大幅度的变异,将其存入子代种群,可以为下一代种群注入新的信息,使得算法更容易搜索到全局最优解;该步骤具体包括下列操作:
根据每个种群中个体的亲和度来选择优秀抗体进行克隆;假设每个种群规模为N,从N个个体中选出p个亲和度最高的抗体进行克隆,其中p<N,然后利用选出的较优抗体产生新个体;抗体亲和度越高,利用该抗体产生的新个体数目就越多;
设选出的p个抗体的亲和度降序排列依次是C
1,C
2,…,C
p,则第k个抗体C
k(1≤k≤p)克隆产生的抗体数目为
其中
代表四舍五入运算符,ρ为克隆概率,N为每个种群的种群规模,通过该方式就可以得出
个新抗体,通过对新抗体进行小规模的变异,就可以作为子代种群的部分新个体;
一般情况下,设置克隆概率p会使得克隆出的新抗体数目
小于种群规模N,此时需要用亲和度最低的那些抗体来补齐;从父代种群中亲和度最低的抗体开始,依次选取
个抗体用于生成新抗体,将亲和度最低的抗体进行较大幅度的变异,作为新抗体加入到子代种群中,通过此途径得到的抗体可以为子代种群加入新的抗体信息,便于种群收敛到全局最优。
S24:对并行进化的抗体种群进行划分和迁移,所述抗体种群拥有彼此独立的记忆单元;多个相同规模的种群进行并行进化,抗体种群的划分和迁移采用多群体粗粒度模型,拓扑相邻的种群之间,每次迭代时进行抗体交换,相邻种群亲和度最高的两个抗体替换自身亲和度最差的两个抗体,使得记忆单元之间互联互通。
S25:判断是否达到设定的最大迭代次数,若不是,则返回S22;若是,则输出亲和度最高的抗体,并结束。
本发明中决定最终目标网络分配结果的因素有两个,即多模终端在无线网络中的服务质量值,以及每种无线网络所能允许的最大多模终端数量;本发明中根据这两个因素得到每个多模终端的最优目标网络分配方案。
实施例3:
本实施例通过设定具体的数值来实现实施例2中的方案,其中,所述目标网络为四种,所述多模终端为30到40个,所有多模终端均在这四种目标网络的覆盖范围之内,且每个多模终端能自由切换到这四种目标网络中的任意一种,每种目标网络能够同时容纳运行的多模终端最大数为18。在本实施例中,每个多模终端在每种目标网络中的服务质量值都随机分布在0到1之间,每个多模终端的最小服务质量值为0.2,为了方便说明,本实施例仅给出了前八个多模终端的服务质量值:
|
终端1 |
终端2 |
终端3 |
终端4 |
终端5 |
终端6 |
终端7 |
终端8 |
网络A |
0.1536 |
0.7154 |
0.2899 |
0.2838 |
0.8759 |
0.8624 |
0.4458 |
0.2598 |
网络B |
0.9519 |
0.7687 |
0.8081 |
0.3538 |
0.5897 |
0.6285 |
0.5748 |
0.6400 |
网络C |
0.0065 |
0.2444 |
0.4514 |
0.7455 |
0.5659 |
0.3340 |
0.4596 |
0.4373 |
网络D |
0.6749 |
0.3995 |
0.9136 |
0.3361 |
0.1450 |
0.4332 |
0.1345 |
0.0567 |
根据上述设置的参数,在计算机上应用matlab,对30个多模终端和40个多模终端在四种不同的目标网络中应用本发明方法进行了最优目标网络的分配,图2和图3分别显示了在30部多模终端和40部多模终端的情况下,采用本发明方法与传统的遗传算法在平均服务质量上的比较,从图2和图3可以看出,传统遗传算法在迭代20代左右便过早的陷入了局部最优,而本发明的并行免疫遗传算法当迭代到40代左右时才开始收敛,这样就避免了过早的陷入局部最优的缺陷,其平均服务质量值比传统遗传算法的收敛值要高出10%左右,而且,随着系统内的多模终端数量的增长,平均服务质量值将提高更多;因此,本发明方法的实施例试验结果是成功的,实现了发明目的。
由以上实施例可以看出,本发明采用并行免疫遗传算法,通过记忆单元之间的交流和并行计算,克服了以往传统的遗传算法中记忆细胞单一、容易出现未成熟收敛的缺陷,从而有效提高整个移动通信网络中多模终端的平均服务质量,还大大提高了算法运行速度,减少算法运行时间。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。