[0088] 下面结合附图对本发明实施例作详细说明,图1为本发明的流程图。
[0089] 以最大化网络整体效用为目标函数,联合拥塞控制和功率分配的二阶方法的优化模型为:
[0090]
[0091]
[0092]
[0093]
[0094]
[0095] U(fs)为效用函数,表示数据的源速率为fs时,业务流s获得的效用;约束条件(1)表示流经链路的业务流速率之和不能超过它的信道容量;(2)为节点功率约束,节点分配给输出链路的功率之和不能超过节点最大发送功率;(3)为业务流及链路功率非负性约束;(4)为信道容量定义式,假设所有的信道都用带有路径损耗指数α的大尺度衰落和小尺度瑞利衰落建模。那么链路l的信噪比可以写为 式中,dl为链路l的距离,hl为信道2
增益系数,pl表示链路l的发送功率,|hl|服从均值为1的指数分布。为了方便计算,该式对噪声功率进行了归一化处理。
[0096] 如图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的发送节点和接收节点,定义路由L×S (N‑D)×L矩阵R∈R 和去掉目的节点后的节点链路矩阵T∈R 如下:
[0097]
[0098] 于是上述模型可以简化为:
[0099] min fμ(y) (5)
[0100] s.t.My≤e (6)
[0101] y=[f1,...,fS,p1,...,pL]T表示所有的业务流速率和链路功率变量,表示网络的路由信息和拓扑信息, 表示链路信道容量和节点发送功率的限制(不包括目的节点)。Cl表示链路l的信道容量, 表示节点n的最大发送功率,0表示全零矩阵,维数结合上下文确定。于是约束条件(1)和(2)表示成矩阵形式,即式(6)。 为定义的目标增强函数,其
中μ为障碍函数惩罚因子。
[0102] 定义对偶变量 和 分别表示链路拥塞价格和节点功率价格;用向量 表示所有的链路拥塞价格,
表示所有的节点功率价格, 表示全部的对
偶变量。
[0103] 根据牛顿法,原始变量y和对偶变量λ的迭代求解策略如下:
[0104]
[0105] 其中,π[t]表示迭代步长,Δy[t]表示原始变量的牛顿方向,Δλ[t]表示对偶变量的牛顿方向;
[0106] 原始变量和对偶变量的牛顿方向通过求解如下的非线性系统得到:
[0107]
[0108] 其中, 表示fμ(y[t])的梯度矩阵, 表示fμ(y[t])的Hessian矩阵, Λ[t]=Diag{λ[t]},Q[t]=Diag{My[t]‑e[t]},
Diag{*}表示对角化,I表示单位矩阵,维数结合上下文决定。
[0109] 求解得到原始变量及对偶变量的牛顿方向为:
[0110]
[0111]
[0112] 其中
[0113]
[0114]
[0115] 从上述表达式可以看出,在更新对偶变量方向时, 的求解过程需要利用网络中所有节点的全部信息,通常只能采用集中式方法求解。但是本方法,可进一步基于矩阵分裂技术实现分布式更新。
[0116] 令 相应地,内部元素变为 表示对偶变量以全牛顿步长(π=1)更新的结果,代入(10)式,得到:
[0117]
[0118] 根据(8),可得: 联合(13),得到引入 后,原始及对偶变量牛顿方向的更新式:
[0119]
[0120]
[0121] 分布式地对原始变量的牛顿方向进行求解需要对式(14)中的 进行分布式计算。首先对fμ(y)求一阶导数,偏导数以及二阶导数以获得 的结构(省略时隙下标):
[0122]
[0123] U′(fs)和U″(fs)分别表示效用函数的一阶导数和二阶导数。
[0124]
[0125]
[0126] C′l和C″l分别表示信道容量定义式(4)关于功率的一阶导数和二阶导数。
[0127] 因此, 其中:
[0128]
[0129] 根据 和 可以得到:
[0130]
[0131] 其中,
[0132] U′(fs)和U″(fs)分别表示效用函数的一阶导数和二阶导数,C′l和C″l分别表示信道容量关于链路功率的一阶导数和二阶导数。
[0133] 矩阵S[t],P[t]是对角矩阵,于是很容易求得各自的逆矩阵:
[0134]
[0135] 所以, 的逆矩阵为:
[0136]
[0137] 代入式(14)得到业务流速率及链路功率牛顿方向的分布式更新公式:
[0138]
[0139]
[0140] 对偶变量牛顿方向式(15)的求解关键在于式(13)的求解,其中 项在计算的过程中需要全局信息,接下来进一步对 项进行分解。将式(13)视为如下的线性方程组,然后通过矩阵分裂迭代求解
[0141]
[0142] 首先将G[t]展开:
[0143]
[0144] 式中的第二项
[0145]
[0146] Crest∈RL和Prest∈RN‑D分别表示(e[t]‑My[t])的第1至第L项与第L+1项至第L+N‑D项,Crest表示各条链路的剩余信道容量集合,Prest表示各个节点剩余功率集合,可以看出,G[t]是一个实对称矩阵。
[0147] 将G[t]分裂为 其中Φ[t]=diag{G[t]},表示由G[t]对角元素构成的对角矩阵,Ω[t]=G[t]‑Φ[t],表示去掉G[t]对角元素后剩余的非对角部分,是一个对角矩阵,其对角元素 表示Ω[t]的各行元素绝对值之和。
是一个用于调节收敛速度的参数。因此 可以通过下面的迭代公式进行求解:
[0148]
[0149] 当k→∞时,式(20)收敛至
[0150] 结合G[t]的展开结构,一个时隙的全步长更新的链路拥塞价格 节点功率价格分布式计算如下(简便起见,省略时隙下标,规定等式左侧为第t+1个时隙,右侧为第t个时隙):
[0151]
[0152]
[0153] 迭代至收敛后,得到链路拥塞价格及节点功率价格的牛顿方向更新如下:
[0154] 根据式(21)和(22)可以看出,各个节点在计算 和 过程中所需要的信息来自节点自身、节点收发链路上以及与节点相连的一跳邻居,迭代至收敛后,获得 与根据式(15)得到链路拥塞价格及节点功率价格的牛顿方向更新式如下:
[0155]
[0156]
[0157] 至此,联合拥塞控制和功率控制的二阶方法更新过程表述如下:
[0158] 1)初始化业务流速率、链路功率、链路拥塞价格及节点功率价格;
[0159] 2)选择一个固定步长π∈(0,1],通过式(21)(22)计算出对偶变量以全牛顿步长更新的结果 与
[0160] 3)通过式(16)(17)在各个节点计算业务流速率和链路功率的牛顿方向;
[0161] 4)通过式(23)(24)在各个节点计算链路拥塞价格和节点功率价格的牛顿方向;
[0162] 5)通过下式完成对业务流速率、链路功率、链路拥塞价格及节点功率价格的更新:
[0163] fs,[t+1]=fs,[t]+πΔfs,[t] (25)
[0164] pl,[t+1]=pl,[t]+πΔpl,[t] (26)
[0165] wl,[t+1]=wl,[t]+πΔwl,[t] (27)
[0166]
[0167] 本方法在初始值的选取上并不要求严格可行,为避免迭代结果超出网络资源限制,根据网络实际资源制定如下迭代可行集合:
[0168] 表示(y,λ)在集合 上的投影结果,ε是一个趋近于0的任意正数,M是一个大于0的常数,用来抑制突发性。
[0169] 如果迭代结果超出限定集合,采用集合投影对结果进行调整:
[0170]
[0171] 将投影结果作为实际分配结果,最终实现对网络源速率和链路功率的最优分配。
[0172] 图2显示了一个简单的无线传感器网络的逻辑拓扑。在700*700的仿真区域内随机产生15个网络节点,设定网关节点序号为1,其余节点作为源节点,产生14条业务流,这些流最终都汇聚到网关节点并离开网络,其路由已知。图形上方数字表示优化后每条链路上的流量。
[0173] 图3比较了所提出的方法与不同迭代步长(0.001,0.005,0.01,0.03)下的拉格朗日对偶分解方法的收敛性能。从图中可以看出,拉格朗日算法随着迭代步长的增大,收敛速度也越快,迭代次数在1000次左右。本发明设计的方法收敛时迭代次数在40左右。由此可知,虽然二者所达到的网络效用值是一致的,但是本发明设计方法的收敛速度远快于拉格朗日对偶分解算法,且进一步避免了迭代步长的选择。
[0174] 以上对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。