1.一种联合子载波和人工蜂群算法的OFDMA自适应资源分配方法,其特征在于,包括:本发明针对正交频分多址(Orthogonal Frequency Division Multiple Access,OFDMA)自适应资源分配中用户的公平性和系统容量之间的问题,提出了一种联合子载波和人工蜂群算法的自适应分配方案,即:自适应子载波-人工蜂群资源分配(Adaptive Subcarrier-Artificial Bee ColonyResourceAllocation,AS-ABCRA)方案;在进行功率分配前,必须完成用户间的子载波分配;而在子载波分配中,首先通过松弛用户的速率比例约束来确定每个用户应该被分配的子载波数量,然后在所有子载波之间平均分配总功率的前提下,按照最小比例速率用户优先选择子载波的方式实现子载波的分配;由于仅进行子载波分配并不能同时兼顾用户的公平性和系统容量,更不能充分利用多用户的分集增益;所以在子载波分配完成后,还需要在功率分配中利用子载波分配后的结果进行功率寻优;本发明提出了一种新的AS-ABCRA方案,并且通过AS-ABCRA的全局搜索实现在所有用户之间的功率寻优,同时利用等功率的分配方式在每个用户所得到的子载波间进行子载波间的功率分配,最终在兼顾用户公平性的同时,OFDMA系统的容量达到最大化;从理论和仿真结果中可以得出,本发明提出的方案不仅保证了所有用户的公平性,同时也有效地提高了OFDMA系统的吞吐量,说明了本发明方案是在用户的公平性和系统容量之间的折中,进而证明了本发明方案AS-ABCRA的有效性;
本发明方案包括以下步骤:
(1)在RA准则下,构建带有速率比例公平限制的系统优化模型:
(1.1)假设OFDMA系统中有K个用户,N个子载波,加性高斯白噪声(Additive Gauss White Noise,AGWN)功率谱密度为N0,衰落信道的带宽为B,总发射功率为Ptotal,第k个用户在其第n个子载波上的信道增益和分配功率分别为 和pk,n,子载波分配矩阵元素为ck,n;
根据RA准则,最大化OFDMA系统容量的优化模型可以表示为
约束条件为:(a)ck,n∈{0,1}
(b)pk,n≥0
(c)
(d)
(e)R1:R2:…:RK=λ1:λ2:…:λK
(1.2)在(1)式的约束(e)中,每个用户的速率Rk可以表示为:
其中,Nk表示为第k个用户需要的子载波数量;
(2)子载波分配:
(2.1)松弛(1)式中(e)式所表示的用户之间的速率比例约束R1:R2:…:RK=λ1:λ2:…:λK为N1:N2:…:NK≈λ1:λ2:…:λK,然后根据(4)式和(5)式确定每个用户需要的子载波个数Nk和剩余子载波个数Nrest,其中 表示对X向下取整;
(2.2)初始化子载波分配矩阵ck,n=0、每个用户的初始速率值Rk=0、子载波集合Φ={1,2,…,N},并计算分配给每个子载波的平均功率p=Ptotal/N;
(2.3)依次为每个用户k{k=1,2,…,K}分配一个信道增益最大的子载波n,并更新Nk=Nk-1、ck,n=1、Rk=Rk+bk,n和Φ=Φ-{n};
(2.4)当||Φ||>Nrest时,继续分配子载波;分配方法为:找到用户速率比例Rk/λk最小的用户k,如果用户k需要的子载波个数Nk>0,那么就在Φ中为用户k分配一个信道增益最大的子载波,并更新Nk=Nk-1、ck,n=1、Rk=Rk+bk,n和Φ=Φ-{n};否则,剔除用户k后继续寻找 值最小的另一个用户k*,继续对用户k*执行上述操作;
(2.5)当||Φ||=Nrest时,分配剩余的Nrest个子载波;分配方法为:对于每个剩余的子载波,在所有用户下找到一个信道增益最大的用户,并将该剩余子载波分配给该用户后不再为该用户分配子载波,并更新ck,n=1、Rk和Rk=Rk+bk,n;
(3)功率分配中适应度函数的设置:
(3.1)子载波分配完成后,带有速率比例公平限制的系统优化模型变为:
约束条件为:(a)pk,n≥0
(b)
(c)R1:R2:…:RK=λ1:λ2:…:λK
(3.2)设置公平度函数:
(3.3)设置适应度函数:
本发明利用人工蜂群算法在K个用户之间进行功率寻优,最终得到最优的K个功率值{Pk,total,k=1,…,K},分别代表分配给每个用户的功率值;然后,利用每个用户的功率值Pk,total分别对每个用户进行单用户的功率分配;而在单用户功率分配当中,本发明利用等功率的分配方式在每个用户下进行单用户的功率分配;所以,每个用户的子载波间的功率分配可以表示为:pk,n=Pk,total/Nk (8)
其中,pk,n表示第k个用户在其第n个子载波上分配的功率值;Nk为分配给第k个用户的子载波数;
经过以上的分析可知,在对每个用户所分配得到的子载波进行等功率分配后,带有速率比例公平限制的系统优化模型变为了:约束条件为:(a)pk,n≥0
(b)
(c)R1:R2:…:RK=λ1:λ2:…:λK
其中,Ωk表示分配给第k个用户的子载波集合
所以,经过以上的推导,设置人工蜂群算法功率分配的适应度函数为:
(4)使用人工蜂群算法进行功率分配:
(4.1)初始化参数设置:蜜源个数SN,每个蜜源的最大开采次数Limit,每个蜜源的当前开采次数Bas,最大进化代数Maxcycle,当前进化代数cycle;
(4.2)侦查蜂生成初始蜜源:首先,侦查蜂在可行域中搜索生成2SN个K维度的蜜源,即:每个蜜源都由K个功率值组成,并且K个功率值的和等于总功率的大小,搜索方式为随机搜索;其次,计算这2SN个蜜源的花蜜量,即:适应度值Fitness,并且选择花蜜量较多的SN个蜜源作为初始标记蜜源;然后,找出这SN个花蜜量当中的最大值,并找出花蜜量最大值相对应的蜜源;最后,将花蜜量的最大值作为初始最大花蜜量,即:最优适应度,将花蜜量最大值对应的蜜源作为初始最优蜜源,即:最优解;
(4.3)引领蜂搜索更优蜜源:为了寻找到更好的蜜源,引领蜂利用(11)式在采蜜过程中对SN个初始标记蜜源的邻域利进行局部搜索;当引领蜂搜索完毕后,便对新蜜源的花蜜量和原蜜源的花蜜量进行比较并选出花蜜量较多的SN个蜜源,然后将这SN个蜜源作为标记蜜源,最后更新SN个标记蜜源的Bas的值和花蜜量值;
Vij=xij+R(xij-xkj) (11)
上式中,j表示维数且j∈{1,2,…,D}(D为搜索空间的维度);R∈(-1,1),决定扰动幅度;xij表示蜜源i在第j维的原位置;Vij表示蜜源i在第j维上的新位置;k∈{1,2,…,SN}且k≠i,用来提供搜索方向;
(4.4)跟随蜂搜索蜜源:首先,跟随蜂利用引领蜂传递的SN个标记蜜源和这SN个标记蜜源对应的花蜜量以及Bas值并使用(12)式,以轮盘赌的方式选取合适的标记蜜源;其次,跟随蜂利用(11)式在这些标记蜜源的邻域搜索新的蜜源;然后,比较新蜜源的花蜜量和标记蜜源的花蜜量;最后,选择花蜜量较多的SN个蜜源作为本次采蜜过程的标记蜜源,并更新每个标记蜜源的Bas值;
上式中,fiti是第i个蜜源的花蜜量, 表示所有蜜源花蜜量的和,Pi表示第i个蜜源被选中的概率;
(4.5)判断是否出现侦察蜂:根据每个蜜源最大开采次数Limit和当前开采次数Bas判断是否将引领蜂转变为侦查蜂;对某个蜜源,若Bas>Limit,表示这个蜜源在Limit次开采后没有改进,则原来的这个蜜源被放弃,同时相应的引领蜂转变为侦查蜂,并且这个侦查蜂会随机的搜索一个新的蜜源代替被放弃的蜜源;
(4.6)对最优解进行更新:首先,更新本次采蜜过程的SN个标记蜜源的花蜜量;然后,找出这SN个花蜜量的最大值;最后,判断是否更新最优蜜源和最大花蜜量;
(4.7)判断当前进化代数cycle是否满足终止条件Maxcycle:若cycle=Maxcycle,则输出最大花蜜量,即最优适应度,否则转到步骤(4.3)。
2.根据权利要求1所述方法,其特征在于,所述步骤(4.1)蜜源个数SN=100,蜜源最大开采次数Limit=30,蜜源当前开采次数Bas=0,最大进化代数Maxcycle=100,当前进化代数cycle=0。
3.根据权利要求1所述方法,其特征在于,所述步骤(4.2)每个蜜源中的K个功率值的和为1W,即总功率大小为1W。
4.根据权利要求1所述方法,其特征在于,所述步骤(4.3)搜索空间的维度D=K。