利索能及
我要发布
收藏
专利号: 2017113381611
申请人: 南京邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.基于能量效率的D2D资源分配方法,其特征在于,该方法包括以下步骤:步骤1,基于遗传算法计算每个D2D用户在复用不同的蜂窝用户的资源块时的能量效率,具体为:

1.1,初始化参数,其中,参数包括:D2D用户数量M、蜂窝用户数量N、D2D用户的最大发射功率、蜂窝用户的最大发射功率、蜂窝用户的最小发射速率、D2D之间的最大距离、小区半径、种群内个体的个数、交叉概率、变异概率、总繁殖次数,M和N均为正整数,且M

1.2,初始化种群:种群内的个体采用二进制编码,每个个体为Pi,j的不同取值,Pi,j为第i个D2D用户在复用第j个蜂窝用户时的发射功率,其中,i=1,2,…,M,j=1,2,…,N;

1.3,以D2D的最大能量效率为适应度函数,并且计算种群内的每个个体的适应度函数值;

1.4,将每个个体的适应度函数值与当前的种群内的所有个体适应度函数值总和的比值降序排序,选择出前I个比值对应的个体遗传到下一代,其中I为设定值;

1.5,对选择之后的种群中的个体进行随机配对,然后进行单点交叉;具体为:首先,对种群中的个体进行随机配对,并对配对组分别依次产生一个0到1之间的交叉随机数;然后,将交叉随机数分别和交叉概率进行比较,若某交叉随机数小于交叉概率则对相应的配对组进行单点交叉运算,否则相应的配对组保持不变;

1.6,对于已经进行单点交叉后的种群进行变异;

1.7,反复繁殖,直到种群代数达到总繁殖次数时停止繁殖,然后找出当前种群中适应度函数值最高的个体,将该个体解码得到最优的Pi,j;

1.8,根据步骤1.7中得到的最优的Pi,j,得到第k个蜂窝用户的发射功率Pk.j,且k=j;然后将Pk.j和蜂窝用户的最大发射功率进行比较,若Pk.j大于蜂窝用户的最大发射功率,则将复用该蜂窝用户的资源块的D2D用户的能量效率标记为负无穷,否则复用该蜂窝用户的资源块的D2D用户的能量效率保持不变;

1.9,重复步骤1.2至1.8,分别求出每个D2D用户在复用不同的蜂窝用户的资源块时的能量效率;

步骤2,基于匈牙利算法进行资源块分配,具体为:首先,根据步骤1中得到的每个D2D用户在复用不同的蜂窝用户的资源块时的能量效率,构建M行N列的能量效率矩阵;然后,在能量效率矩阵中添加N-M行作为第M+1至第N行,构成N*N的方阵;再后,将第1至M行的元素全部取相反数;最后,基于匈牙利算法进行资源块分配,求取D2D用户复用蜂窝用户的资源块的分配系数;

步骤3,根据步骤1中求得的每个D2D用户在复用不同的蜂窝用户的资源块时的能量效率和步骤2中求得的分配系数,计算D2D系统的最大能量效率。

2.根据权利要求1所述的基于能量效率的D2D资源分配方法,其特征在于,步骤1.6具体为:首先,对每个个体分别依次产生一个0到1的变异随机数;然后,将变异随机数分别与变异概率进行比较,若某变异随机数小于变异概率则对相应的个体进行基因位取反运算,否则相应的个体保持不变。

3.根据权利要求1所述的基于能量效率的D2D资源分配方法,其特征在于,步骤2中基于匈牙利算法进行资源块分配,求取D2D用户复用蜂窝用户的资源块的复用系数,具体为:步骤2.1,对于N*N的方阵,每行元素分别减去该行中的最小行元素;

步骤2.2,对于N*N的方阵,每列元素分别减去该列中的最小列元素;

步骤2.3,尝试进行指派,具体进行以下步骤:

(1)从行开始,找出N*N的方阵中只有一个零元素的行,对该零元素作三角标记,同时对该零元素所对应列上的其余零元素作正方形标记;

(2)再从列开始,找出方阵中只有一个零元素的列,对该零元素作三角标记,同时对该零元素所对应行上的其余零元素作正方形标记;

(3)若在N*N的方阵中还有没被作三角标记的零元素,且该零元素的行或者列中零元素的个数均至少有两个,则从剩余零元素最少的行开始,依次比较每个零元素对应的列中的零元素的个数,对该行中零元素所对应列中零元素个数最少的列中的零元素作三角标记,然后对做三角标记的零的同行或同列的零做正方形标记;反复标记,直到所有的零都被标记为止;

(4)统计标记为三角的零元素的个数,若等于N*N的方阵的维数,则尝试指派成功,得到第i个D2D用户在复用第j个蜂窝用户时的分配系数αi,j,否则进入步骤2.4;

步骤2.4,画盖零线,具体为:

(1)对于没有作三角标记的行作对号标记;

(2)遍历方阵的行,若该行有对号标记,则对遍历该行中每个元素对应的列元素,若列元素中有作正方形标记的零元素则对该列作对号标记;

(3)遍历方阵的列,若该列有对号标记,则对遍历该列中每个元素对应的行元素,若行元素中有作三角标记的零元素则对该行作对号标记;

(4)重复操作步骤(2)和步骤(3),直到无法对新的行或列作对号标记为止;

(5)对没有作对号标记的行画横线,对作对号标记的列画纵线;

步骤2.5,更新矩阵,具体为:对步骤2.4得到的画线矩阵,找出其中没有被画线的元素中的最小值,对于没有被横线画到的各个元素减去最小值,对被纵线画到的列中的各个元素加上最小值;然后转至步骤2.3。