技术领域
[0001] 本发明涉及无线网络资源分配技术领域,尤其涉及基于OFDMA的双层资源分配模型的资源分配方法。
相关背景技术
[0002] 为了满足当前通信业务多样化的需求,第五代移动通信系统要求在吞吐量、时延、连接数量以及系统功耗等方面得到大幅提升,并支持多种场景,比较常见的为增强型移动宽带(eMBB)、海量机器类通信(mMTC)及低时延高可靠通信(uRLLC);为了在不进行大规模的变革基础上,满足内容丰富的多场景应用和垂直市场服务,利用软件定义网络和网络功能虚拟化技术实现资源共享和逻辑独立的虚拟网络切片应运而生,网络切片的实质是运营商将物理资源通过网络功能虚拟的技术映射成虚拟资源,再把虚拟资源出售给多个不同服务提供商,而不同的服务提供商则根据用户的服务质量(QoS)为用户公平的提供定制化服务,并且切片与切片之间是安全隔离的,即切片是隔离的服务其用户;这种在多场景下的网络切片的架构下,运营商也从之前第四代无线通信网络对用户单一收费的运营模式变成了对切片收费的运营模式,因此如何建立一个能够在保证用户服务质量的情况下同时保证运营商的盈利的模型一个研究热点,并且更重要的是由于5G的多场景情况下,用户的需求变化以及与基站之间的连接信道的变化比4G网络更加的复杂多变,传统的算法(如利用凸优化理论的拉格朗日对偶求解以及使用进化算法的双层求解)在求解方面需要消耗大量实时计算资源以及计算时间,因此传统的算法不能满足5G实际场景的实时性要求。
具体实施方式
[0056] 下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0057] 参照图1,本发明提供了基于OFDMA的双层资源分配模型的资源分配方法,该方法包括以下步骤:
[0058] S1、考虑资源的收益与平等分配并结合OFDMA技术,构建双层资源分配模型;
[0059] 具体地,本发明提出一种基于OFDMA的双层组合优化资源分配模型,并结合多智能体强化学习的方法进行资源分配方案的求解,所述双层资源分配模型包括上层资源分配模型与下层资源分配模型,其中,所述上层资源分配模型充分考虑了收益与服务数量的平衡,以实现适合基站即运营商要求的分配方案,以提高多场景下的收益与服务,上层资源分配模型优化目标中采用MATD3多智能强化学习算法进行求解,在上层给出对切片资源的分配方案后,每个切片根据它们所分配到的资源再进行对它们各自的用户进行资源分配,并且实现了子信道与功率的共同分配;所述下层资源分配模型充分考虑了在切片对用户进行资源分配情况下用户之间的公平性,以实现适合切片要求的分配方案,提升用户的服务质量,下层资源分配模型优化目标中所采用TD3强化学习算法进行求解即每个切片独立地对各自的用户进行资源分配。
[0060] S11、构建上层资源分配模型;
[0061] 具体地,上层资源分配模型的目的使得基站为了实现运营商收益以及服务的均衡而统一分配资源给不同的切片,其表达式如下所示:
[0062]
[0063] Subjectto
[0064] C1:an>0
[0065]
[0066] C3:bn,u∈{0,1}
[0067] C4:λ>0
[0068]
[0069] C6:Rn,kvn,k≥0
[0070] C7:Rn≥0
[0071]
[0072] C9:u∈Un
[0073]
[0074] C11:vn,k∈{0,1}
[0075] 上式中, 表示切片的集合,因此n表示的是第n个切片,Un表示的是第n个切片中的用户的集合,表示的是子信道的集合,因此k指的是 中第k个信道,当vn,k=1时,表示基站分配将第k个子信道给第n个切片,否则为0,pn表示基站分配给第n个切片的功率,an表示收益指数(大于0,对应约束C1),Rn表示下层分配后返回的结果,即分配给第n个切片的所有子信道上面的速率之和(对应约束C2),bn,u表示第n个切片内的第u个用户是否满足其所在切片的最低要求,满足为1,不满足为0(对应约束C3),λ1和λ2表示平衡收益与服务之间的指数(大于0,对应约束C4),可以通过调节λ1和λ2的取值来平衡收益与服务,Pn表示基站分配给第n个切片的功率,因此所有分配给切片的功率之和不能超过基站总功率ptotal(对应约束C5),Rn,k表示第n个切片在第k个子信道的速率(大于等于0,对应约束C6);
[0076] 上层模型的目的是使得分配方案在满足最大服务数量的同时基站即运营商获得最大收益,本发明使用MATD3强化学习将资源块和功率资源共同分配。
[0077] S12、构建下层资源分配模型;
[0078] 具体地,下层资源分配模型将各个切片独立地公平地分配资源给它们各自的用户,所述下层资源分配模型的表达式具体如下所示:
[0079]
[0080] Suqjectto
[0081]
[0082] C2:pmin*vn,u,k≤pn,u,k≤pmax*vn,u,k
[0083]
[0084]
[0085]
[0086]
[0087] C7:bn,u∈{0,1}
[0088] C8:vn,u,k∈{0,1}
[0089]
[0090] C10:u∈Un
[0091]
[0092] 上式中,rdn,u表示第n个切片中第u个用户向切片请求的速率,vn,u,k=1表示基站将第k个子信道分配给了第n个切片,然后第n个切片再将这个第k个子信道分配给其第u个用户,否则为0(对应约束C1),pn,u,k表示第n个切片在第k个子信道分配给其第u个用户的功率,但是pn,u,k受vn,u,k限制,因为只有vn,u,k=1时,即这个子信道被基站分配给第n个切片,并且min max这个切片又把这个资源块分配给第u个用户时,pn,u,k的值才不为0,p ,p 表示一个子信道上分配的功率的最小值和最大值(对应约束C2),pn,u表示在第n个切片中第u个用户被分配的功率资源,即对这个第u个用户的所有被分配的子信道上的所有功率相加(对应约束C3),每个切片中所有的功率相加不应超过基站分配给此基站的功率(对应约束C4),Rn,u表示第n个切片中第u个用户的速率,对其所分配到的每个子信道资源根据香浓定理计算出每个子信道上的速率,再进行对每个子信道求和得到Rn,u(对应约束C5);
[0093] 香农定理计算公式如下所示:
[0094]
[0095] 上式中, 表示每个子信道的带宽,gn,u,k为第n个切片中第u个切片在第k个子信道的信道增益,每个用户所计算出来的Rn,u必须满足此切片承诺的最低速率 并且当此约束满足时bn,u=1(对应约束C6和C7),本发明使用改进的TD3强化学习从而实现子信道和功率资源共同分配。
[0096] S13、整合构建双层资源分配模型。
[0097] 具体地,基于步骤S11和步骤S12建立了一个全新的双层模型,此双层模型分为上下两层,上层由两大部分组成,第一部分由指代着运营商盈利的部分(λ1∑nanRn),an为不同切片的收益指数,因为不同切片有着不同的收费方式,第二部分(λ2∑n∑ubn,u)指代着基站的服务,∑n∑ubn,u表示在着一个整个系统中满足用户要求的用户数量,本发明可以通过调节λ1和λ2的取值来平衡收益与服务,下层分配则由 决定,采用指数的形式,当用户实际速率∑kvn,u,kRn,u,k小于rdn,u时, 而 永远小于1,则此时 并且会随着资源分配比例而变化,而当分配的资源使得用户实际速
率∑kvn,u,kRn,u,k大于rdn,i时, 而 永远小于1,则此时
并且会随着资源分配比例而变化,由此本发明实现将资源可以公平地分配给切片的用户,因此,本发明建立这种双层关系,将基站如何保证盈利以及服务的基础上分配资源和切片如何公平地对资源再分配给用户这几个因素全部考虑在内,这是其他单层模型所不能做到的,并且通过调节λ1和λ2参数而使得不同的效果。
[0098] S2、通过多智能体强化学习算法对双层资源分配模型进行优化处理,得到优化后的双层资源分配模型;
[0099] 具体地,本发明使用三个切片,分别对应5G中的三大应用场景:增强型移动宽带、海量机器类通信及低时延高可靠通信,令 为表示切片的集合,即有3个不同的切片,令 为子信道的集合,既有20个不同的子信道,令u∈Un表示为第n个切片中的第n个用户,将第一个切片(对应eMBB应用场景)中的用户数量仿真为2,第二个切片(对应mMTC应用场景)中的用户数量仿真为3,第三个切片(对应uRLLC应用场景)中的用户数量仿真为4,信道增益gn,u,k则是根据路径损耗 来计算的,其中
路径损耗模型如下所示:
[0100] PL(dn,u)=22log10(dn,u)+28+20log10(fc)+σSF
[0101] 上式中,dn,u表示第n个切片中第u个用户到基站的距离,fc表示中心频率,这里取fc=3GHz,σSF为阴影衰落,其服从均值为0标准差为3的正态分布,因此每个用户在每个子信道上的信道增益不同,将用户随机分布在以基站为中心,半径为300m的范围内,rdn,u表示第n个切片中第u个用户向切片请求的速率;
[0102] 第一个切片(对应eMBB场景)中,将rd1,u在4MB/s到5MB/s范围内;第二个切片(对应mMTC场景)中,rd2,u在6MB/s到8MB/s范围内;第三个切片(对应uRLLC场景)中,rd3,u在9MB/smin max到12MB/s范围内,总共的功率ptotal为12000mW,p 为100mW,p 为800mW。这里λ1=0.5,λ2=
1.5,这样的取值组合是将收益和服务看做等同重要。
[0103] S21、基于MATD3强化学习算法训练上层资源分配模型;
[0104] 具体地,参照图2,在上层资源分配模型本发明使用MATD3的多智能强化学习方法,建立两个智能体,第一个智能体用于分配子信道,第二个智能体用于分配功率,采取多智能体的强化学习使得两个智能体通过合作的关系优化上层目标,对于每个智能体我们采用的是强化学习中的TD3网络结构,由此构成MATD3强化学习结构;
[0105] 初始化上述仿真场景,初始化一个记忆回放单元D,初始第一个用来分配子信道智能体的参数 初始化第二个用来分配功率的智能体的参数设训练轮数为epoch=0,设定训练轮数阈值E;
[0106] 每一轮开始本发明将会对每个用户的σSF阴影衰落(服从均值为0标准差为3的正态分布)进行重新取值,因为在实际场景中,用户的信道增益是一直在变化的,然后根据具体仿真情况为两个智能体初始化状态S0,1,S0,2,S0,1,S0,2中的参数包括了不同切片中用户对不同子信道的平均信道增益gav(n,k)并将其标准化,以及不同切片的所有用户所请求的速率rate的归一化pr (n),以及当前子信道分配方案v(n,k),和功率方案p(n);
[0107] S0,1={gav(n,k),prrate(n),v(n,k),p(n)}
[0108] S0,2={gav(n,k),prrate(n),v(n,k),p(n)}
[0109] 将S0,1,S0,2设置为对应智能体的当前状态;
[0110] 在t=1到T的时间步内每个智能体同步将各自的状态输入各自的当前网络下的actor神经网络从而输出动作;
[0111] 第一个智能体动作:
[0112]
[0113] 第二个智能体动作:
[0114]
[0115] actor神经网络的激活函数为双曲正切Tanh函数,将输出压缩在(‑1,1)中间,智能体各自执行各自动作之后,环境状态会随之改变;
[0116] 对于第一个智能体的动作只能改变状态变量中的子信道分配v(n,k),本发明使用Tanh函数将其压缩到(‑1,1),在我们仿真的环境中,有3个切片以及20个信道,因此at,1有20×3=60维,我们对比第n个子信道的3个维度,若在这三个维度中,第一个维度的输出最大,则我们将第n个子信道分配给第一个切片,若在这三个维度中,第二个维度的输出最大,则我们将第n个子信道分配给第二个切片,若在这三个维度中,第三个维度的输出最大,则本发明将第n个子信道分配给第三个切片,从而得到执行此动作后的v(n,k);
[0117] 对于第二个智能体的动作只能改变状态变量中的功率分配p(n),用Tanh函数将压缩到(‑1,1)的at,2乘以一个阈值,得到对每个切片功率分配的变化,正数为增加分配功率,负数为减少功率,由此得到第二个智能体执行此动作后的p(n);
[0118] 然后将两个智能体对切片的资源分配返回下层,下层根据上层的分配,初始化状态,并训练得到下层各自切片对各自用户的分配,然后返回上层计算上层目标值,环境根据上层目标值会反馈给上层的两个智能体奖励,如图3所示,将当前时刻的状态,动作,反馈的奖励,下一时刻的状态组成四元组(St,at,rt,St+1)放进一个共同的记忆回放单元D中(假如记忆回放单元容量已满则随机替换记忆回放单元中的数据),其中St={St,1,St,2},at={at,1,at,2},St+1={St+1,1,St+1,2};
[0119] 假如记忆回放单元已存满则开始训练,抽取训练样本(Si,ai,ri,Si+1),根据之前神经网络更新公式更新这两个智能体的神经网络参数,将下一时刻的状态设为当前状态,判断训练轮数epoch是否达到E轮,未达到则重新循环上述步骤,直至达到迭代训练预设次数,保存每个智能体中当前网络中的actor网络,如图4和图5所示。
[0120] S22、基于TD3强化学习算法训练下层资源分配模型。
[0121] 具体地,参照图6,在下层考虑到多切片的可扩展性,我们为每一个切片初始化一个智能体,并且每个切片只使用一个智能体去一起分配子信道离散资源和功率连续资源。而每一个切片独立的,互相隔离的使用单智能体的TD3强化学习的方法分配资源。对于每一个切片我们执行以下步骤:
[0122] 初始化记忆回放单元D,初始化TD3结构(actor的最后激活函数为Tanh函数)的神经网络参数 设置训练轮数epoch=0,设定训练轮数阈值E;
[0123] 根据仿真情况,以及上层给与分配情况,初始化状态S0,S0中的参数包括了切片中所有用户对当前切片所拥有的子信道的信道增益g(n,u,k),并将其标准化,以及用户所请求的速率rd(n,k),将其标准化,以及当前子信道分配方案v(n,u,k),以及当前分配功率p(n,u,k);
[0124] S0={g(n,u,k),rd(n,k),v(n,u,k),p(n,u,k)}
[0125] 并将S0设为当前状态,在t=0到T的时间步内,将当前状态输入智能体的当前网络的actor神经网络中,得到动作(at),智能体执行此动作,此动作包含了子信道离散分配部分和功率分配部分,子信道离散分配部分本发明采用像先前改进的MATD3算法一样,对其进行判断,哪一维度大就分配此子信道给维度对应的用户,对于功率分配,本发明将压缩到(‑1,1)功率分配动作乘以一个阈值,得到对切片对其每个用户功率分配的变化,正数为增加分配功率,负数为减少功率,执行此动作后计算得到当前切片对用户的资源分配v(n,u,k)和p(n,u,k),再根据v(n,u,k)和p(n,u,k)从而通过下层目标计算奖励(rt),如图7、图9和图
11所示,并执行动作后得到下一时刻的状态(St+1),将当前状态,动作,奖励,下一时刻的状态组成一个四元组(St,at,rt,St+1),存入记忆回放单元中,假如记忆回放单元已存满则开始训练,抽取训练样本(Si,ai,ri,Si+1),根据之前神经网络更新公式更新智能体的神经网络参数,将下一时刻的状态设为当前状态,假如训练轮数epoch,未达到则重新循环上述步骤,直至达到迭代训练预设次数,保存当前网络中的actor网络,如图8、图10和图12。
[0126] S3、根据优化后的双层资源分配模型对用户资源请求数据进行分配处理,得到用户的资源分配方案。
[0127] 具体地,参照图13,根据仿真初始化上层两个智能体的初始化状态,将上层初始化状态输入训练时保存下来的上层两个智能体各自的actor网络中,输出各自的actor动作,第一个智能体actor网络输出的动作是关于子信道的对切片的分配,第二个智能体actor网络输出的动作是关于功率对切片的分配;
[0128] 上层的两个智能体同步执行各自动作,执行动作后得到新的状态,再将新的状态输入各自的actor网络中,得到新的动作,然后两个智能体同步执行各自的动作,又得到新的状态,如此循环,直至v(n,k),p(n)达到收敛;
[0129] 根据收敛后的资源分配方案v(n,k),p(n),基站将资源分配给切片;
[0130] 切片根据上层分配的资源,初始化下层各个切片智能体的初始状态,然后将此状态输入各自训练时保存下来的actor网络,互相隔离,得到动作;
[0131] 各个切片智能体执行状态与动作的循环操作,即各个切片智能体执行各自的动作,得到新的状态,将各自新的状态再输入各自的actor网络中,得到各自新的动作,再执行各自新的动作得到各自新的状态,将各自新的状态再输入各自的actor网络中,如此循环得到下层中各自切片对各自用户的资源分配v(n,u,k),p(n,u,k);
[0132] 参照图14,在经过训练后,我们将训练完的结果进行对比。此次对比有两种算法,一个是MADDPG的强化学习算法,一个是基于嵌套搜索的双层进化优化算法(NBLEA).在对比中,我们初始化了10个不同用户参数的场景,经过对比,MADT3的精确度会比MADDPG高百分之3,而基于嵌套搜索的双层进化优化算法比MATD3精确度高平均百分之8左右,但是在训练好之后,MATD3其所消耗的实时计算资源将大大远远小于NBLEA算法,所以在节省大量实时计算资源的情况下,基于MATD3和TD3的强化学习所损失的精度在可控范围之内。
[0133] 以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。