一种WSN网络的分布式拥塞控制和功率分配方法
技术领域
本发明属于无线传感器网络技术领域,具体涉及一种WSN网络的分布式拥 塞控制和功率分配方法。
背景技术
随着物联网的快速发展和人们对无线网络研究不断深入,作为物联网核心 技术的无线传感器网络(WSN)得到了广泛的应用和研究。无线传感器网络集数据 采集、信号处理和数据传输功能于一体,组网方式快捷灵活,由大量成本低廉, 通信、计算、储存及电源等资源受限的无线节点通过自组网形式构成,在军事、 环境、医学、空间探索以及工业、民用和家庭网络等领域具有广泛的应用前景。 因而高效合理的无线传感器网络跨层资源分配是十分必要的。
无线网络的网络效用受拥塞控制、功率分配、路由选择、信道分配等影响, 在网络数据通信业务日益增大的形势下,资源有限的传感器节点会因为无法及 时处理和转发数据而造成严重的网络拥塞问题,降低网络吞吐量。低功耗作为 无线传感器网络的一个突出特点,采用能量有限的电源供电的节点在满足基本 网络通信需求下,应尽可能降低功耗,延长网络的使用寿命。目前已有很多文 献对无线多跳网络的跨层资源优化展开研究,并取得了较好的结果,对于联合 拥塞控制和功率分配的研究,现有的方法都局限在一阶方法中,这类方法普遍 存在收敛速度慢,更新步长选择敏感的缺点。
基于上述现有技术中存在的缺陷,本发明公开了一种WSN网络的分布式拥塞 控制和功率分配方法,该方法是基于原始对偶内点法的分布式二阶方法。
发明内容
本发明公开了一种WSN网络的分布式拥塞控制和功率分配方法。该方法在网 络中业务流路由确知的情况下,以最大化网络效用为目标,利用原始对偶内点 法对模型进行求解,获得原始及对偶变量的牛顿方向用于迭代更新。同时在迭 代步长控制上,采用固定步长,利用凸集投影的方法使业务流速率及链路功率 在更新过程中严格处在可行域中,弱化了步长选择对收敛性能的影响,最后根 据求解结果对网络进行优化。为了达到本发明的目的,本发明采取如下技术方 案:
一种WSN网络的分布式拥塞控制和功率分配方法,包括如下步骤:
步骤一:初始化阶段:每个节点通过信息交互获得网络的基本配置信息, 所述基本配置信息包括拓扑信息、信道带宽、链路距离、业务流速率上界以及 节点可用发射功率上界等,并根据网络拓扑利用最小生成树算法生成本节点的 路由表;
步骤二:建立优化模型:以最大化网络总效用为目标,根据信道容量约束 与节点发射功率约束,建立拥塞控制和功率控制的联合优化模型,并进行简化。
步骤三:通过原始对偶内点法对优化模型进行求解,得到原始变量(包含 业务流速率、链路功率)和对偶变量(包含链路拥塞价格、节点功率价格)的 牛顿方向。
步骤四:利用对偶变量在一个时隙以全牛顿步长更新的结果以及矩阵分裂 方法,获得业务流速率、链路功率以及链路拥塞价格和节点功率价格的牛顿方 向表达式;
步骤五:设定迭代更新的步长,利用步骤四中的牛顿方向表达式,在各节 点处,通过自身存储的信息、相连链路上的信息以及一跳邻居的信息,在本地 对链路拥塞价格、节点功率价格以及链路功率进行更新,其中,源节点还要负 责对业务流速率的更新;
步骤六:按时隙重复步骤五,直至全部变量收敛。
进一步地,所述步骤一的具体步骤为:通过GPS定位获得本节点位置信息, 通过HELLO包交互获得邻居信息,计算相互之间的距离,并根据网络拓扑利用最 小生成树算法生成本节点的路由表;计算出节点的可用发射功率上界和业务流 速率上界,以及交换彼此的操作权限信息;
进一步地,所述步骤二建立的优化模型为:
其中,U(fs)为效用函数,约束条件(1)为链路信道容量约束,流经链路的 业务流速率之和不能超过它的信道容量;(2)为节点功率约束,节点分配给输出 链路的功率之和不能超过节点最大发送功率;(3)为业务流速率和链路功率的非 负性约束;(4)为信道容量定义式。
上述模型可以简化为:
min fμ(y) (5)
s.t.My≤e (6)
y=[f1,...,fS,p1,...,pL]T表示所有的业务流速率和链路功率变量,表 示网络的路由信息和拓扑信息,定义的路由矩阵R∈RL×S和去掉目的节点后的节 点链路矩阵T∈R(N-D)×L的内部元素为:
L(s)表示业务流s的传输路径,F(l)表示经过链路l的业务流集合,Tx(l)和 Rx(l)分别表示链路l的发送节点和接收节点,网络节点数目|N|=N,网络链路数 目|L|=L,网络中有S个端到端的业务流,业务流源节点与目的节点分别用Src(f) 和Dst(f)表示,目的节点数目为D。
表示链路信道容量和节点发送功率的限制(不包括目的节点)。Cl表示链路l的信道容量,表示节点n的最大发送功率, 0表示全零矩阵,维数结合上下文确定。于是约束条件(1)和(2)表示成矩阵形式, 即式(6);为定义的目标增强函数,其中μ 为障碍函数惩罚因子。
进一步地,所述步骤三的具体步骤为:定义对偶变量和分别表示链路拥塞价格和节点功率价格;用向量表示所有的链路拥塞价格,表示 所有的节点功率价格,表示全部的对偶变量。
根据牛顿法,原始变量y和对偶变量λ的迭代求解策略如下:
其中,π[t]表示迭代步长,Δy[t]表示原始变量的牛顿方向,Δλ[t]表示对偶变量的牛 顿方向;
原始变量和对偶变量的牛顿方向通过求解如下的非线性系统得到:
其中,表示fμ(y[t])的梯度矩阵,表示fμ(y[t])的Hessian 矩阵,Λ[t]=Diag{λ[t]},Q[t]=Diag{My[t]-e[t]},Diag{*} 表示对角化,I表示单位矩阵,维数结合上下文决定。
求解得到原始变量及对偶变量的牛顿方向为:
其中
进一步地,所述步骤四的具体步骤为:令相应地,内部元 素变为表示对偶变量以全牛顿步长(π=1)更新的结果,代入(10) 式,得到:
根据(8),可得:联合(13), 得到引入后,原始及对偶变量牛顿方向的更新式:
根据和可以得到:
其中,
U′(fs)和U″(fs)分别表 示效用函数的一阶导数和二阶导数,C′l和C″l分别表示信道容量关于链路功率的 一阶导数和二阶导数。
矩阵S[t],P[t]是对角矩阵,于是很容易求得各自的逆矩阵:
所以,的逆矩阵为:
代入(14)式得到业务流速率及链路功率牛顿方向的分布式更新公式:
接下来运用矩阵分裂的方法获得链路拥塞价格和节点功率价格的牛顿方向 表达式,将式(13)视为如下的线性方程组,然后通过矩阵分裂迭代求解
首先将G[t]展开:
式中的第二项
Crest∈RL和Prest∈RN-D分别表示(e[t]-My[t])的第1至第L项与第L+1项至第L+N-D项,Crest表示各条链路的剩余信道容量集合,Prest表示各个节点剩余功率集合,可以看出,G[t]是一个实对称矩阵。
将G[t]分裂为其中Φ[t]=diag{G[t]},表示由G[t]对角 元素构成的对角矩阵,Ω[t]=G[t]-Φ[t],表示去掉G[t]对角元素后剩余的非对角部分,是一个对角矩阵,其对角元素表示Ω[t]的各行元素绝对值 之和。是一个用于调节收敛速度的参数。因此可以通过下面的迭代 公式进行求解:
当k→∞时,式(20)收敛至
结合G[t]的展开结构,一个时隙的全步长更新的链路拥塞价格节点功率价格分布式计算如下(简便起见,省略时隙下标,规定等式左侧为第t+1个时隙,右侧 为第t个时隙):
迭代至收敛后,得到链路拥塞价格及节点功率价格的牛顿方向更新如下:
进一步地,所述步骤五的具体步骤为:业务流速率、链路功率、链路拥塞 价格及节点功率价格的更新式为:
fs,[t+1]=fs,[t]+πΔfs,[t] (25)
pl,[t+1]=pl,[t]+πΔpl,[t] (26)
wl,[t+1]=wl,[t]+πΔwl,[t] (27)
其中,π∈(0,1]。由于在初始值的选取上并不要求严格可行,为避免迭代结果超出网络资源限制,根据网络实际资源制定如下迭代可行集合:
表示(y,λ)在集合上的投影结果,ε是一个趋近于 0的任意正数,M是一个大于0的常数,用来抑制突发性。如果迭代结果超出限 定集合,采用集合投影对结果进行调整:
将投影结果作为实际分配结果,最终实现对业务流速率和链路功率的最优分配。
本发明公开的方法具有以下优点:
(1)该方法实现了无线传感器网络中业务流速率和链路功率的分布式二阶 分配方法,收敛速度是传统算法的几十倍。
(2)该方法最重要优点就是通过采用矩阵分裂技术,解决了集中式算法中 需要控制中心通过全网信息交换收集网络中所有节点信息的缺点,它只需要单 跳信息交互,就可以实现分布式地业务流速率及链路功率的更新;与集中式方 法相比,所需信令开销小,计算复杂度低。
附图说明
图1为本发明的流程图。
图2为网络示例图以及最终业务流分配结果。
图3为本发明与不同步长的拉格朗日方法网络效用对比图。
具体实施方式
下面结合附图对本发明实施例作详细说明,图1为本发明的流程图。
以最大化网络整体效用为目标函数,联合拥塞控制和功率分配的二阶方法 的优化模型为:
U(fs)为效用函数,表示数据的源速率为fs时,业务流s获得的效用;约束条件 (1)表示流经链路的业务流速率之和不能超过它的信道容量;(2)为节点功率约 束,节点分配给输出链路的功率之和不能超过节点最大发送功率;(3)为业务流 及链路功率非负性约束;(4)为信道容量定义式,假设所有的信道都用带有路径 损耗指数α的大尺度衰落和小尺度瑞利衰落建模。那么链路l的信噪比可以写为 式中,dl为链路l的距离,hl为信道增益系数,pl表示链路l的发送 功率,|hl|2服从均值为1的指数分布。为了方便计算,该式对噪声功率进行了归 一化处理。
如图2所示,无线多跳网络拓扑G={N,L},N,L分别表示网络节点集合与链 路集合,网络节点数目|N|=N,网络链路数目|L|=L。网络中有S个端到端的业 务流,流速率集合F={f1,...,fs,...,fS},每个业务流都有对应的源节点与目的节点, 分别用Src(s)和Dst(s)表示,且Src(s)不等于Dst(s),目的节点数目为D。网络中 的链路是双向的,业务流的源节点可以通过多跳将数据传输至目的节点,且路 由确知,L(s)表示业务流s的传输路径,F(l)表示经过链路l的业务流集合,Tx(l) 和Rx(l)分别表示链路l的发送节点和接收节点,定义路由矩阵R∈RL×S和去掉目 的节点后的节点链路矩阵T∈R(N-D)×L如下:
于是上述模型可以简化为:
min fμ(y) (5)
s.t.My≤e (6)
y=[f1,...,fS,p1,...,pL]T表示所有的业务流速率和链路功率变量,表 示网络的路由信息和拓扑信息,表示链路信 道容量和节点发送功率的限制(不包括目的节点)。Cl表示链路l的信道容量,表示节点n的最大发送功率,0表示全零矩阵,维数结合上下文确定。于是约束条 件(1)和(2)表示成矩阵形式,即式(6)。为 定义的目标增强函数,其中μ为障碍函数惩罚因子。
定义对偶变量和分别表示链路拥塞价格和节点功率价格;用向量表示所有的链路拥塞价格,表示所有的节点功率价格,表示全部 的对偶变量。
根据牛顿法,原始变量y和对偶变量λ的迭代求解策略如下:
其中,π[t]表示迭代步长,Δy[t]表示原始变量的牛顿方向,Δλ[t]表示对偶变量的牛 顿方向;
原始变量和对偶变量的牛顿方向通过求解如下的非线性系统得到:
其中,表示fμ(y[t])的梯度矩阵,表示fμ(y[t])的Hessian 矩阵,Λ[t]=Diag{λ[t]},Q[t]=Diag{My[t]-e[t]},Diag{*} 表示对角化,I表示单位矩阵,维数结合上下文决定。
求解得到原始变量及对偶变量的牛顿方向为:
其中
从上述表达式可以看出,在更新对偶变量方向时,的求解过程需要利用 网络中所有节点的全部信息,通常只能采用集中式方法求解。但是本方法,可 进一步基于矩阵分裂技术实现分布式更新。
令相应地,内部元素变为表示对偶变量 以全牛顿步长(π=1)更新的结果,代入(10)式,得到:
根据(8),可得:联合(13), 得到引入后,原始及对偶变量牛顿方向的更新式:
分布式地对原始变量的牛顿方向进行求解需要对式(14)中的进 行分布式计算。首先对fμ(y)求一阶导数,偏导数以及二阶导数以获得的结构(省略时隙下标):
U′(fs)和U″(fs)分别表示效用函数的一阶导数和二阶导数。
C′l和C″l分别表示信道容量定义式(4)关于功率的一阶导数和二阶导数。
因此,其中:
根据和可以得到:
其中,
U′(fs)和U″(fs)分别表 示效用函数的一阶导数和二阶导数,C′l和C″l分别表示信道容量关于链路功率的 一阶导数和二阶导数。
矩阵S[t],P[t]是对角矩阵,于是很容易求得各自的逆矩阵:
所以,的逆矩阵为:
代入式(14)得到业务流速率及链路功率牛顿方向的分布式更新公式:
对偶变量牛顿方向式(15)的求解关键在于式(13)的求解,其中项在计算 的过程中需要全局信息,接下来进一步对项进行分解。将式(13)视为如下的 线性方程组,然后通过矩阵分裂迭代求解
首先将G[t]展开:
式中的第二项
Crest∈RL和Prest∈RN-D分别表示(e[t]-My[t])的第1至第L项与第L+1项至第L+N-D项,Crest表示各条链路的剩余信道容量集合,Prest表示各个节点剩余功率集合,可以看出,G[t]是一个实对称矩阵。
将G[t]分裂为其中Φ[t]=diag{G[t]},表示由G[t]对角 元素构成的对角矩阵,Ω[t]=G[t]-Φ[t],表示去掉G[t]对角元素后剩余的非对角部分,是一个对角矩阵,其对角元素表示Ω[t]的各行元素绝对值 之和。是一个用于调节收敛速度的参数。因此可以通过下面的迭代 公式进行求解:
当k→∞时,式(20)收敛至
结合G[t]的展开结构,一个时隙的全步长更新的链路拥塞价格节点功率价格分布式计算如下(简便起见,省略时隙下标,规定等式左侧为第t+1个时隙,右侧 为第t个时隙):
迭代至收敛后,得到链路拥塞价格及节点功率价格的牛顿方向更新如下:
根据式(21)和(22)可以看出,各个节点在计算和过程中所需要的信 息来自节点自身、节点收发链路上以及与节点相连的一跳邻居,迭代至收敛后, 获得与根据式(15)得到链路拥塞价格及节点功率价格的牛顿方向更新 式如下:
至此,联合拥塞控制和功率控制的二阶方法更新过程表述如下:
1)初始化业务流速率、链路功率、链路拥塞价格及节点功率价格;
2)选择一个固定步长π∈(0,1],通过式(21)(22)计算出对偶变量以全牛顿步 长更新的结果与
3)通过式(16)(17)在各个节点计算业务流速率和链路功率的牛顿方向;
4)通过式(23)(24)在各个节点计算链路拥塞价格和节点功率价格的牛顿方 向;
5)通过下式完成对业务流速率、链路功率、链路拥塞价格及节点功率价格 的更新:
fs,[t+1]=fs,[t]+πΔfs,[t] (25)
pl,[t+1]=pl,[t]+πΔpl,[t] (26)
wl,[t+1]=wl,[t]+πΔwl,[t] (27)
本方法在初始值的选取上并不要求严格可行,为避免迭代结果超出网络资 源限制,根据网络实际资源制定如下迭代可行集合:
表示(y,λ)在集合上的投影结果,ε是一个趋近于 0的任意正数,M是一个大于0的常数,用来抑制突发性。
如果迭代结果超出限定集合,采用集合投影对结果进行调整:
将投影结果作为实际分配结果,最终实现对网络源速率和链路功率的最优分配。
图2显示了一个简单的无线传感器网络的逻辑拓扑。在700*700的仿真区 域内随机产生15个网络节点,设定网关节点序号为1,其余节点作为源节点, 产生14条业务流,这些流最终都汇聚到网关节点并离开网络,其路由已知。图 形上方数字表示优化后每条链路上的流量。
图3比较了所提出的方法与不同迭代步长(0.001,0.005,0.01,0.03) 下的拉格朗日对偶分解方法的收敛性能。从图中可以看出,拉格朗日算法随着 迭代步长的增大,收敛速度也越快,迭代次数在1000次左右。本发明设计的方 法收敛时迭代次数在40左右。由此可知,虽然二者所达到的网络效用值是一致 的,但是本发明设计方法的收敛速度远快于拉格朗日对偶分解算法,且进一步 避免了迭代步长的选择。
以上对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术 人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些 改变也应视为本发明的保护范围。