发明内容
本发明的目的在于提供一种同时考虑最大网络效益和用户间公平性的基于非支配解排序量子雁群算法的多目标频谱分配方法。
本发明的目的是这样实现的:
本发明基于非支配解排序量子雁群算法的多目标频谱分配方法,其特征是:
(1)建立认知无线电频谱分配的图论着色模型,有N个认知用户标号为1到N竞争获取M个正交频道标号为1到M的使用权;
确定种群规模pop,优化问题的维数
并记录L中值为1元素对应的n与m,即令L
1={(n,m)|l
n,m=1}且使L
1中的元素按照n递增m递增的方式排列,L
1中的元素个数即为l;
(2)初始化量子大雁的位置xij(1≤i≤pop,1≤j≤l)和量子速度 并对每个量子大雁进行适应度评价;
(3)对种群中的个体根据其适应度值进行非支配解排序和拥挤度的计算,多于最大值多目标优化问题,对于可行解u、v,若fi(u)≥fi(v),(i=1,2,·,w)对所有的i都成立,且知识有一个严格不等式成立,则成为u支配v,u为非支配解;若fi(u)≤fi(v),(i=1,2,·,w)对所有的i都成立,且知识有一个严格不等式成立,则成为v支配u,v为非支配解;否则解u、v之间无任何支配关系;
(4)对非支配解排序等级相同的个体进行拥挤度由大到小进行排序,选择非支配解排序等级为1的解加入精英解集nonDomQGSAList中;
(5)采用量子雁群的演进规则对种群进行演化,产生新的量子速度和位置,对新位置求解适应度值,并将该迭代产生解和上一代的解混合,产生规模为2×pop的解,并进行非支配解排序及拥挤度的计算,将产生的非支配解排序等级为1的解加入精英解集nonDomQGSAList中,非支配解排序等级不为1的解加入到nextQGSAListRest中;
(6)如果精英解集nonDomQGSAList的个体数大于ElitePop,则对nonDomQGSAList中的解进行非支配解排序和拥挤度计算,并对非支配解排序等级相同的解进行拥挤度由大到小进行排序,从中选择前ElitePop个解作为精英解集;
(7)如果nonDomQGSAList中的解目大于等于pop,则选取前pop个解作为量子大雁的位置参与下一代演化,否则:对nextQGSAListRest中的解进行非支配解排序和拥挤度计算、排序,选择非支配解排序等级为1的解作为量子大雁的位置参与下一代进行演化,更新nextQGSAListRest,即选择非支配解排序等级不为1的解,如果下一代的数目依旧小于pop,重复上述过程直至下一代的量子大雁的位置数目等于pop;
(8)如果达到最大迭化代数,算法终止;否则返回步骤(5)继续进行;
(9)将得到的精英解集nonDomQGSAList中的解进行非支配解排序,选择非支配解等级为1的解作为最终的pareto前端解集。
本发明还可以包括:
1、所述的认知无线电的频谱分配模型包括可用频谱矩阵、效益矩阵、干扰矩阵和无干扰分配矩阵;
可用频谱矩阵L={ln,m|ln,m∈{0,1}}N×M是一个N行M列的矩阵,代表了频谱的可用性,认知用户n通过检测邻居授权用户信号的判断邻居授权用户当前是否占有频段m决定频段是否可用,认知用户使用频段m不会对任何授权用户造成干扰,则该频段对于认知用户n可用,则ln,m=1,否则,认知用户n不可以使用频段m,ln,m=0;
效益矩阵B={bn,m}N×M是N行M列的矩阵代表了认知用户n使用频道m所能得到的效益,效益可以用频谱利用率,最大流量,吞吐量来描述,不同的认知用户采用的发射功率以及调制方式等不同,使得不同的认知用户使用同一频道会得到不同的效益,如果ln,m=0,则bn,m=0;
干扰矩阵C={cn,k,m|cn,k,m∈{0,1}}N×N×M是一个N×N×M的三维矩阵,描述认知用户n和k使用频道m的干扰情况,如果cn,k,m=1,则认知用户n和k在同时使用频道m时会产生干扰,干扰矩阵和可用频谱矩阵也有制约关系,即cn,k,m≤ln,m×lk,m,当n=k时,cn,k,m=1-ln,m,仅由可用频谱矩阵L决定;
无干扰分配矩阵A={a
n,m|a
n,m∈{0,1}}
N×M是N行M列的矩阵,描述了一种可行的频谱分配方案:如果将频道m分配给认知用户n,则a
n,m=1,无干扰分配矩阵必须满足干扰约束条件:a
n,m+a
k,m≤1,若c
n,k,m=1,
k≤N,1≤m≤M。
2、所述的对每个量子大雁进行适应度评价的过程如下:
无干扰分配矩阵为A,初始化为an,m=0,将xi的第j位映射为an,m,其中(n,m)为L1中的第j(1≤j≤l)个元素,对所有的m(1≤m≤M),寻找满足cn,k,m=1的所有的n和k,检查A中的第n行第m列的元素和第k行第m列的元素值是否都为1,若是1,随机将一位变为0,另一位保证不变,根据无干扰分配矩阵计算网络效益,分别为最大网络效益 和最大比例公平网络效益
3、所述的非支配解排序的过程如下:
对种群中每个个体p,计算支配个体p的个体的数目np以及个体p所支配的个体的集合Sp,如果np=0,这意味着没有个体支配p,则说明个体p的非支配排序等级为1,对于每个np=0的个体p,遍历Sp中的每个个体q,并且nq=nq-1,若nq=0,则将个体q放在集合Q中,这些个体的非支配解等级为2,这个过程对Q中的每个个体重复,得到非支配解排序等级为3的个体集合,重复此过程直至得到所有的非支配等级。
4、所述的拥挤度计算的过程是对非支配等级相同个体进行的,过程如下:对每个非支配等级,根据目标函数值由小到大进行排序,目标函数值最大和最小的个体的拥挤度值为∞,其它的个体的拥挤度为相邻两个个体的拥挤度的差除以最大目标函数和最小目标函数的差值,即进行归一化处理,对所有的目标函数都进行上述计算,最终的拥挤度值就是所有目标函数计算出的拥挤度的总和。
本发明的优势在于:与现有技术相比,本发明充分考虑了认知无线电系统在完成频谱分配的过程中遇到的同时考虑最大网络效益和公平性两个目标,具有以下优点:
(1)本发明解决了离散多目标优化问题,并设计新颖的非支配解排序的量子雁群算法作为演进策略,所设计的方法具有收敛速度快,收敛精度高的优点。
(2)相对于现有的频谱分配算法,本发明可以同时解决单目标优化(即只考虑最大网络效益或用户间的公平性)和多目标优化(即同时考虑最大网络效益和用户间的公平性),说明本算法的适用性更广。
(3)仿真结果表明,本发明所提出的频谱分配方法在低维优化时能够得到和穷尽搜索完全相同的结果,但时间开销远远小于穷尽搜索,从而说明了本算法的有效性。
具体实施方式
下面结合附图举例对本发明做更详细地描述:
结合图1~7,本发明分为以下几个步骤:
步骤一,建立认知无线电频谱分配的图论着色模型,这里假设有N个认知用户(标号为1到N)竞争获取M个正交频道(标号为1到M)的使用权。
认知无线电的频谱分配模型可以由可用频谱矩阵,效益矩阵,干扰矩阵和无干扰分配矩阵构成。
可用频谱矩阵L={ln,m|ln,m∈{0,1}}N×M是一个N行M列的矩阵,代表了频谱的可用性。认知用户n通过检测邻居授权用户信号的判断邻居授权用户当前是否占有频段m决定频段是否可用。认知用户使用频段m不会对任何授权用户造成干扰,则该频段对于认知用户n可用,则ln,m=1,否则,认知用户n不可以使用频段m,ln,m=0。
效益矩阵B={bn,m}N×M是N行M列的矩阵代表了认知用户n使用频道m所能得到的效益,效益可以用频谱利用率,最大流量,吞吐量等来描述。不同的认知用户采用的发射功率以及调制方式等不同,使得不同的认知用户使用同一频道会得到不同的效益。显然,如果ln,m=0,则bn,m=0。
干扰矩阵C={cn,k,m|cn,k,m∈{0,1}}N×N×M是一个N×N×M的三维矩阵,描述认知用户n和k使用频道m的干扰情况。如果cn,k,m=1,则认知用户n和k在同时使用频道m时会产生干扰。干扰矩阵和可用频谱矩阵也有制约关系,即cn,k,m≤ln,m×lk,m。当n=k时,cn,k,m=1-ln,m,仅由可用频谱矩阵L决定。
无干扰分配矩阵A={an,m|an,m∈{0,1}}N×M是N行M列的矩阵,描述了一种可行的频谱分配方案:如果将频道m分配给认知用户n,则an,m=1。无干扰分配矩阵必须满足干扰约束条件:
an,m+ak,m≤1,若cn,k,m=1, k≤N,1≤m≤M
然后,确定种群规模pop,优化问题的维数
并记录L中值为1元素对应的n与m,即令L
1={(n,m)|l
n,m=1}且使L
1中的元素按照n递增m递增的方式排列,L
1中的元素个数即为l。
步骤二,初始化量子大雁的位置xij(1≤i≤pop,1≤j≤l)和量子速度 并对每个量子大雁进行适应度评价(目标函数为最大网络效益和用户间的公平性)。
适应度评价的过程如下:
无干扰分配矩阵为A,初始化为an,m=0。将xi的第j位映射为an,m,其中(n,m)为L1中的第j(1≤j≤l)个元素。对所有的m(1≤m≤M),寻找满足cn,k,m=1的所有的n和k,检查A中的第n行第m列的元素和第k行第m列的元素值是否都为1,若是,随机将一位变为0,另一位保证不变。根据无干扰分配矩阵计算网络效益,分别为最大网络效益 和最大比例公平网络效益
步骤三,对种群中的个体根据其适应度值进行非支配解排序和拥挤度的计算。
多于最大值多目标优化问题,对于可行解u、v,若fi(u)≥fi(v),(i=1,2,·,w)对所有的i都成立,且知识有一个严格不等式成立,则成为u支配v,u为非支配解。若fi(u)≤fi(v),(i=1,2,·,w)对所有的i都成立,且知识有一个严格不等式成立,则成为v支配u,v为非支配解。否则,解u、v之间无任何支配关系。
非支配解排序的过程如下:
首先,对种群中每个个体p,计算支配个体p的个体的数目np以及个体p所支配的个体的集合Sp。
如果np=0,这意味着没有个体支配p,则说明个体p的非支配排序等级为1。对于每个np=0的个体p,遍历Sp中的每个个体q,并且nq=nq-1。若nq=0,则将个体q放在集合Q中。这些个体的非支配解等级为2。这个过程对Q中的每个个体重复,便可以得到非支配解排序等级为3的个体集合。此过程重复直至得到所有的非支配等级。
拥挤度每次计算的过程是对非支配等级相同个体进行的,过程如下:
对每个非支配等级,根据目标函数值由小到大进行排序,目标函数值最大和最小的个体的拥挤度值为∞。其它的个体的拥挤度为相邻两个个体的拥挤度的差除以最大目标函数和最小目标函数的差值,即进行归一化处理。对所有的目标函数都进行上述计算,最终的拥挤度值就是所有目标函数计算出的拥挤度的总和。
由上述计算过程可知,为确保得到均匀的pareto前端解集,要向非支配等级排序为1且拥挤度值较大的个体演进。
步骤四,对非支配解排序等级相同的个体进行拥挤度由大到小进行排序,选择非支配解排序等级为1的解加入精英解集nonDomQGSAList中。
步骤五,采用量子雁群的演进规则对种群进行演化,产生新的量子速度和位置。对新位置(解)求解适应度值。并将该迭代产生解和上一代的解混合,产生规模为2×pop的解,并进行非支配解排序及拥挤度的计算。将产生的非支配解排序等级为1的解加入精英解集nonDomQGSAList中,非支配解排序等级不为1的解加入到nextQGSAListRest中。
在QGSA进化过程中,全局最优解pg由精英解集中的前5%的位置随机产生。由于大雁在飞行时主要有“人”字形和“一”字形另种形状,因此,在更新量子大雁的位置和量子速度时也有两种不同的形式。
对于“人”字形,头雁由全局最优解pg指引,即 第二只大雁和第三只大雁由头雁和全局最优解pg共同指引,即 (i=2,3)。以后的大雁由前面的大雁和头雁共同指引,即 (i≥4)。其中e1和e2为常数,决定了指引该量子大雁的位置对该量子大雁演化的影响程度。
对于“一”字形,头雁由全局最优解pg指引,即 第二只大雁由头雁和全局最优解pg共同指引,即 以后的大雁由前面的大雁和头雁共同指引,即 (i≥3)。其中e1和e2为常数,决定了指引该量子大雁的位置对该量子大雁演化的影响程度。
量子速度的演进过程如下:
其中,c1≤1/l是变异概率。位置是通过对量子速度的测量得到的。
在量子大雁位置和量子速度的更新过程中,设置每一次更新大雁的飞行形状改变一次,即若开始是“人”字形,则下次采用“一”字形更新量子速度和位置。
步骤六,如果精英解集nonDomQGSAList的个体数大于ElitePop,则对nonDomQGSAList中的解进行非支配解排序和拥挤度计算,并对非支配解排序等级相同的解进行拥挤度由大到小进行排序。从中选择前ElitePop个解作为精英解集。
步骤七,如果nonDomQGSAList中的解目大于等于pop,则选取前pop个解作为量子大雁的位置参与下一代演化。否则:
1.对nextQGSAListRest中的解进行非支配解排序和拥挤度计算、排序,选择非支配解排序等级为1的解作为量子大雁的位置参与下一代进行演化。
2.更新nextQGSAListRest,即选择非支配解排序等级不为1的解。
3.如果下一代的数目依旧小于pop,重复1直至下一代的量子大雁的位置数目等于pop。
步骤八,如果达到最大迭化代数,算法终止。否则,返回步骤五继续进行。
步骤九,将得到的精英解集nonDomQGSAList中的解进行非支配解排序,选择非支配解等级为1的解作为最终的pareto前端解集。
本发明考虑到认知无线电系统完成频谱分配的过程中能够同时考虑最大网络效益和用户间的公平性,求解频谱分配方法,得到pareto前端解集。认知无线电系统可以根据最大网络效益及用户间的公平性的权重,从pareto前端解集中选择相应的频谱分配方法。
量子雁群算法参数设置如下:ElitePop=200,pop=20,e1=0.1,e2=0.5,c1=1/l,W=2。
图4为在授权用户数目为8、频道数目为5和认知用户数目为5的一次仿真结果,其中l=20,NSQGSA为基于非支配解排序的量子雁群多目标优化算法,其迭代次数为100,得到的pareto前端解与通过穷尽搜索得到的pareto前端解完全一致。但是,穷尽搜索的时间开销为689.047s,而本发明的算法的时间开销为30.688s,远远小于穷尽搜索的时间开销。
图5为在授权用户数目为20、频道数目为10和认知用户数目为10的一次仿真结果。其中NSQGSA的迭代次数为1000。
图6为在授权用户数目为20、频道数目为20和认知用户数目为10的一次仿真结果。其中NSQGSA的迭代次数为1000。由于频道数目增多,认知用户有更多的选择空间,因而,网络效益整体增大。
以图7的认知无线电网络拓扑结构为例,其它情况可以依此类推,在认知无线电系统中存在三个授权用户,每个授权用户占用某一频带的使用权,分别为频道A、B和C。在该系统中,存在6个认知用户,分别标号为1、2、3、4、5和6。
先要确定可用频谱矩阵,效益矩阵和干扰矩阵。认知用户通过频谱感知(主要方法有能量检测、循环平稳检测、延时相关性检测等),检测授权用户是否使用相应的频道,如果未使用,则该频道对于该认知用户是可用的。同时,认知用户根据使用频道的调制方式等确定使用该频道的效益。在仿真过程中,可用频谱矩阵和效益矩阵是根据认知用户与授权用户的距离决定的,比如认知用户2在授权用户的频道使用范围内,故不能使用频道A,而认知用户1不在任何频道的使用范围内,故可以使用频道A、B、C。干扰矩阵是根据认知用户与认知用户的距离决定的,如认知用户1和6距离太近,通信时会产生干扰,故不能同时使用每一相同频道。
选择要考虑的目标函数的形式(主要是最大网络效益和公平性),根据产生的可用频谱矩阵,效益矩阵和干扰矩阵,运用本发明所提出的基于非支配解排序的量子雁群算法,求解多目标频谱分配的最优解集,即pareto前端解集。
认知无线电系统根据最大网络效益和用户间公平性的权重,从频谱分配的pareto前端解集中选取合适的频谱分配方案,完成频谱分配过程。