优化理论

2023-11-10

版权声明

原创作品,整理不易,转载请标明出处。本篇推送更详细的内容介绍,可参见本人微信公众号“优化与博弈的数学原理”,公众号二维码参见文末。或参见以下网址:优化理论 | Time-Sharing Condition

编者按

OFDM系统中的功率分配问题是通信领域中的研究热点。本文重点考虑了面向同频干扰场景下OFDM系统的功率分配问题,该问题通常被建模为含复杂多耦合变量的非凸优化问题,因此现有方法难以求得该问题的最优解(即存在对偶间隙)。本篇推送通过文献阅读及相关调研,学习并记录了基于 Time-Sharing Condition 及 General Duality Theory 的求解思路,该方法可有效解决同频干扰场景下OFDM系统功率分配问题的非凸性,相关文献证明了在特定的条件下,该方法可以完全消除对偶间隙。


一、问题描述

问题1:无干扰场景下的信道容量最大化

先让我们回顾一下MIMO无线通信领域的一个常见问题,受限功率下最大化信道容量问题,即注水问题:
P 1 : min ⁡ p ∑ n = 1 N l o g ( 1 + p n σ n 2 ) s . t . { p ⪰ 0 ∑ n = 1 N p n ≤ P \begin{align} {P_1:}&\mathop{\min}_{p}{ \sum\limits_{n=1}^N log(1+\frac{p_n}{\sigma_n^2}) } \nonumber \\ &s.t. \begin{cases} p \succeq 0 \nonumber \\ \sum\limits_{n=1}^{N}p_n \leq P \nonumber \end{cases} \end{align} P1:minpn=1Nlog(1+σn2pn)s.t. p0n=1NpnP

其中,目标函数表示包含 N N N 个并行子信道的系统信道容量(如OFDM系统)。 p = [ p 1 , p 2 , … , p N ] p=\left[ p_1, p_2, \dots, p_N \right] p=[p1,p2,,pN] 表示信号功率且为决策变量, p n p_n pn是子信道 n n n中的信号功率, σ n 2 \sigma_n^2 σn2是子信道 n n n中的噪声功率。

问题2:有干扰场景下的信道容量最大化

今天主要想介绍,在存在干扰的情况下,如何求解其优化问题,并确保对偶间隙为0。 仍然考虑K个用户,N个子信道的优化问题,如下:
P 2 : min ⁡ p ∑ k = 1 K w k ∑ n = 1 N l o g ( 1 + p k n σ k n + ∑ j ≠ k α j k n p j n ) s . t . { p k n ≥ 0 ,    ∀ k , n ∑ n = 1 N p n k ≤ P k ,    ∀ k \begin{align} {P_2:}&\mathop{\min}_{p}{ \sum\limits_{k=1}^K w_k \sum\limits_{n=1}^N log(1+\frac{p^n_k}{\sigma_k^n+\sum_{j \neq k}\alpha_{jk}^n p_j^n)} } \nonumber \\ &s.t. \begin{cases} p_k^n \geq 0, \ \ \forall k,n \nonumber \\ \sum\limits_{n=1}^{N}p_n^k\leq P_k, \ \ \forall k \nonumber \end{cases} \end{align} P2:minpk=1Kwkn=1Nlog(1+σkn+j=kαjknpjn)pkns.t. pkn0,  k,nn=1NpnkPk,  k
注1:上述问题摘自 Multiuser DSLs 场景,与 OFDM 类似,后文不予区分 DSL 与 OFDM 的区别;
注2:为方便符号表述, σ k n \sigma_k^n σkn表示噪声功率,这里不写平方了。

下文,我们将回顾问题1的经典求解方法[1],并详细介绍针对问题2的研究现状、理论证明及求解方法。

二、问题1的求解方法(基础回顾)

由于问题1满足 Slater 条件,故具有强对偶性,且其 Lagrange 函数为:

L ( p , λ , ν ) = − ∑ n = 1 N l o g ( 1 + p n σ n 2 ) − λ T p + ν ( ∑ n = 1 N p n − P ) L(p,\lambda,\nu)=-\sum\limits_{n=1}^{N}log(1+\frac{p_n}{\sigma_n^2}) -\lambda^Tp+\nu(\sum\limits_{n=1}^{N}p_n-P) L(p,λ,ν)=n=1Nlog(1+σn2pn)λTp+ν(n=1NpnP)
计算其KKT条件:
∂ L ( p , λ , ν ) ∂ p n = − 1 1 + p n σ n 2 1 σ n 2 − λ n + ν = 0 \frac{\partial L(p,\lambda,\nu)}{\partial p_n}=\frac{-1}{1+\frac{p_n}{\sigma_n^2}}\frac{1}{\sigma_n^2}-\lambda_n+\nu=0 pnL(p,λ,ν)=1+σn2pn1σn21λn+ν=0
可得:
λ n = ν − 1 p n + σ n 2 \lambda_n = \nu - \frac{1}{p_n+\sigma_n^2} λn=νpn+σn21

  • 情况1: λ n > 0 \lambda_n >0 λn>0 p n = 0 p_n=0 pn=0 λ n = ν − 1 σ n 2 > 0 \lambda_n = \nu - \frac{1}{\sigma_n^2}>0 λn=νσn21>0 1 ν < σ n 2 \frac{1}{\nu}<\sigma_n^2 ν1<σn2
  • 情况2: λ n = 0 \lambda_n =0 λn=0 p n ≥ 0 p_n\geq0 pn0 ν = 1 p n + σ n 2 \nu = \frac{1}{p_n + \sigma_n^2} ν=pn+σn21 p n = 1 ν − σ n 2 ≥ 0 p_n=\frac{1}{\nu}-\sigma_n^2\geq 0 pn=ν1σn20

因此:
p n ∗ = max ⁡ { 0 , 1 ν ∗ − σ n 2 } p_n^*=\max\{0,\frac{1}{\nu^*}-\sigma_n^2\} pn=max{0,ν1σn2}

其中,最优解 1 ν ∗ \frac{1}{\nu^*} ν1 可由下式解出:【记下式为 ( ∗ ) (*) ()式】
∑ n = 1 n p n ∗ = max ⁡ { 0 , 1 ν ∗ − σ n 2 } = P \sum\limits_{n=1}^n p_n^* = \max\{0,\frac{1}{\nu^*}-\sigma_n^2\}=P n=1npn=max{0,ν1σn2}=P

显然求和约束在最优解处一定为紧约束,故取等。现求解 ( ∗ ) (*) () 式的方法如下:

首先,假设对任意 n n n 都有 p n > 0 p_n>0 pn>0(即对任意 n n n 都有 1 ν − σ n 2 > 0 \frac{1}{\nu}-\sigma_n^2>0 ν1σn2>0),然后找到 ( ∗ ) (*) ()式的解 1 ν ∗ \frac{1}{\nu^*} ν1。若不存在可行解,则可得 p l ∗ = 0 p_l^*=0 pl=0,其中 l = a r g m a x { σ n 2 } l=argmax\{\sigma_n^2\} l=argmax{σn2},再次求解 ( ∗ ) (*) () 式得到 1 ν ∗ \frac{1}{\nu^*} ν1 。重复上述步骤,使得每次循环的时候,在剩余子信道中至少有一个子信道(对应于噪声功率最大的子信道)的功率为0,直到获得最优的 1 ν ∗ \frac{1}{\nu^*} ν1 p n ∗ > 0 p_n^*>0 pn>0 为止。上述方法获得的解称作集中式解,记作向量 p ∗ p^* p 。这个解也是 λ 1 = ⋯ = λ N \lambda_1=\dots=\lambda_N λ1==λN 时, ( ∗ ) (*) () 式的最优解;也是凸矢量优化问题式 ( ∗ ) (*) () 的 Pareto 最优解,其在 Pareto 边界上的目标函数值为:

( R 1 ∗ = l o g ( 1 + p 1 ∗ σ 1 2 , … , R n ∗ = l o g ( 1 + p N ∗ σ N 2 ) ) (R_1^*=log(1+\frac{p_1^*}{\sigma_1^2},\dots,R_n^*=log(1+\frac{p_N^*}{\sigma_N^2})) (R1=log(1+σ12p1,,Rn=log(1+σN2pN))

上述思想的核心原理如下图所示:

三、问题2的研究现状(文献综述)

现状 1 :

Iterative waterfilling (迭代注水,后文简称 IWF) [2] 是早期的多用户频谱优化技术之一,它利用DSL调制解调器进行频谱整形。在IWF算法中,每个用户通过执行单用户注水,将来自所有其他用户的串扰干扰视为噪声,迭代地最大化自己的可实现速率。但是,IWF进程并不寻求为整个DSL包找到全局最优。该方法只是将每个用户都看成一个非合作博弈的参与者,最终IWF会收敛至一个均衡点。虽然IWF不是最优的,但该方法已被证明优于传统的SSM方案。
解释:
这里以OFDM为例,解释一下上述加粗字体的含义。首先,信道容量可计算为: C = l o g ( 1 + P N ) C=log(1+\frac{P}{N}) C=log(1+NP),其中 P P P 是信号功率, N N N 是噪声功率。如果总信号功率被拆为两部分,即: P = P 1 + P 2 P=P_1+P_2 P=P1+P2,则可以验证以下公式:

C = l o g ( 1 + P 1 + P 2 N ) = l o g ( ( 1 + P 1 N ) + P 2 N ) = l o g [ ( 1 + P 1 N ) ( 1 + P 2 P 1 + N ) ] = l o g ( 1 + P 1 N ) + l o g ( 1 + P 2 P 1 + N ) \begin{align} C&=log(1+\frac{P_1+P_2}{N})=log((1+\frac{P_1}{N})+\frac{P_2}{N}) \nonumber \\ &=log\left[(1+\frac{P_1}{N})(1+\frac{P_2}{P_1+N})\right] \nonumber \\ &=log(1+\frac{P_1}{N}) +log(1+\frac{P_2}{P_1+N}) \nonumber \end{align} C=log(1+NP1+P2)=log((1+NP1)+NP2)=log[(1+NP1)(1+P1+NP2)]=log(1+NP1)+log(1+P1+NP2)
也就是说,在这两部分功率中,第一份功率 P 1 P_1 P1 产生了一个容量 l o g ( 1 + P 1 N ) log(1+\frac{P_1}{N}) log(1+NP1) ,功率 P 1 P_1 P1 同时等效成了对第二份功率的噪声。了解了这个原理,不难读懂 IWF 算法中,“每个用户通过执行单用户注水,将来自所有其他用户的串扰干扰视为噪声,迭代地最大化自己的可实现速率”的原理及算法思想了。

现状 2 :

[3]提出精确OSB算法,可实现全局最优解,该方法的基本策略是将信道容量优化问题 P 2 P_2 P2 转化为对偶域,转换成拉格朗日对偶的形式:

P 3 : min ⁡ p ∑ k = 1 K w k ∑ n = 1 N l o g ( 1 + p k n σ k n + ∑ j ≠ k α j k n p j n ) + ∑ k = 1 K λ k ( P k − ∑ n = 1 N p n ) s . t . p k n ≥ 0 ,    ∀ k \begin{align} {P_3:}&\mathop{\min}_{p}{ \sum\limits_{k=1}^K w_k \sum\limits_{n=1}^N log(1+\frac{p^n_k}{\sigma_k^n+\sum_{j \neq k}\alpha_{jk}^n p_j^n)} + \sum\limits_{k=1}^K \lambda_k (P_k - \sum\limits_{n=1}^{N}p_n) } \nonumber \\ &s.t. p_k^n \geq 0, \ \ \forall k \nonumber \end{align} P3:minpk=1Kwkn=1Nlog(1+σkn+j=kαjknpjn)pkn+k=1Kλk(Pkn=1Npn)s.t.pkn0,  k

该文献的核心思想是为每个非负且固定的 ( λ 1 , λ 2 , … , λ K ) (\lambda_1,\lambda_2,\dots,\lambda_K) (λ1,λ2,,λK) 集合,分别求解其拉格朗日函数。然后,原优化问题 P 2 P_2 P2 的解,可在 λ \lambda λ 空间内,通过嵌套式的二分法搜索找到。可以看出,OSB算法的计算复杂度与载波数 N N N 呈线性关系。如[3]所示,与IWF相比,OSB算法可以提供显著的性能改进。
OSB算法的缺点:OSB算法的计算复杂度虽然对载波数 N N N 是线性的,但在用户数量 K K K 上仍然是指数级的。即:OSB算法的复杂性变得令人望而却步。

四、问题2的求解方法(优化理论)

在本节我将先后介绍时域共享条件(Time-Sharing Condition)及其证明[4],随后说明有干扰场景下的信道容量最大化问题 P 2 P_2 P2 满足 Time-Sharing Condition。

PART I : Time-Sharing Condition

在多载波系统中,优化目标和约束通常由大量单独的函数组成,每个函数对应于一个频率载波。因此,优化问题具有以下一般形式:【记下式为 ( ∗ ∗ ) (**) () 式】
P 4 : max ⁡ p ∑ n = 1 N f n ( x n ) s . t .   ∑ n = 1 N h n ( x n ) ≤ P \begin{align} {P_4:}&\mathop{\max}_{p}{ \sum\limits_{n=1}^N f_n(x_n) } \nonumber \\ &s.t. \ \sum\limits_{n=1}^N h_n(x_n)\leq P \nonumber \end{align} P4:maxpn=1Nfn(xn)s.t. n=1Nhn(xn)P
其中, x n ∈ R K x_n \in \mathcal{R}^K xnRK 为优化问题中的决策变量,函数 f n ( x ) : R K → R f_n(x):\mathcal{R}^K \rightarrow \mathcal{R} fn(x):RKR 不必是凹函数,函数 h n ( x ) : R K → R K h_n(x):\mathcal{R}^K \rightarrow \mathcal{R}^K hn(x):RKRK 也不必是凸函数。功率约束以 K K K 维向量 P P P 表示,即:component-wise inequality。

上述的泛化优化问题, 在考虑 N N N 个子载波、 K K K 个用户的场景下,对应在多用户 OFDM 系统中有下述结论:

{ x n = ( p 1 n , p 2 n , … , p K n ) ∈ R K f n ( x n ) = ∑ k = 1 K w k l o g ( 1 + p k n σ k n + ∑ j ≠ k α j k n p j n ) h n ( x n ) = [ p 1 n , p 2 n , … , p K n ] T \begin{align} \begin{cases} x_n = (p_1^n,p_2^n,\dots,p_K^n) \in \mathcal{R}^K \nonumber \\ f_n(x_n)={ \sum_{k=1}^K w_k log(1+\frac{p^n_k}{\sigma_k^n+\sum_{j \neq k}\alpha_{jk}^n p_j^n }) } \nonumber \\ h_n(x_n)= \left[ p_1^n, p_2^n, \dots, p_K^n \right]^T \end{cases} \end{align} xn=(p1n,p2n,,pKn)RKfn(xn)=k=1Kwklog(1+σkn+j=kαjknpjnpkn)hn(xn)=[p1n,p2n,,pKn]T

下面考虑 ( ∗ ∗ ) (**) () 式的对偶问题,先求其 Lagrangian 函数:

L ( x n , λ ) = ∑ n = 1 N f n ( x n ) + λ T ( P − ∑ n = 1 N h n ( x n ) ) L(x_n,\lambda)=\sum\limits_{n=1}^{N}f_n(x_n) +\lambda^T(P-\sum\limits_{n=1}^{N}h_n(x_n)) L(xn,λ)=n=1Nfn(xn)+λT(Pn=1Nhn(xn))

定义对偶目标函数 g ( λ ) g(\lambda) g(λ) 如下:

g ( λ ) = max ⁡ L ( x n , λ ) g(\lambda)=\max {L(x_n,\lambda)} g(λ)=maxL(xn,λ)

则对偶优化问题为:
P 5 : min ⁡ λ g ( λ ) s . t . λ ≥ 0 \begin{align} {P_5:}&\mathop{\min}_{\lambda}{ g(\lambda) } \nonumber \\ &s.t. \lambda \geq 0 \nonumber \end{align} P5:minλg(λ)s.t.λ0

显然,当 f n ( x n ) f_n(x_n) fn(xn) 是凹函数且 h n ( x n ) h_n(x_n) hn(xn) 是凸函数时,标准凸优化结果保证了原问题 P 4 P_4 P4 与对偶问题 P 5 P_5 P5 具有相同的解,此时对偶间隙为0。而当 f n ( x n ) f_n(x_n) fn(xn) 不是凹函数或 h n ( x n ) h_n(x_n) hn(xn) 不是凸函数时,对偶问题提供了一个解,该解是 P 5 P_5 P5 的上界,此时对偶间隙未必是0。这是教材告诉我们的。**而本节的主要目的,是给出即使优化问题不是凸问题,对偶间隙也为零的条件。**为此,定义了以下 Time-Sharing Condition:

定义:
x n ∗ x_n^* xn y n ∗ y_n^* yn 分别是在给定 P = P x P=P_x P=Px 与给定 P = P y P=P_y P=Py 条件下,优化问题 P 4 P_4 P4 的最优解。如果对任意的 P x P_x Px P y P_y Py ,对任意的 0 ≤ ν ≤ 1 0 \leq \nu\leq1 0ν1 ,都存在一个可行的 z n z_n zn ,使得下式成立:
{ ∑ n = 1 N h n ( z n ) ≤ ν P x + ( 1 − ν ) P y ∑ n = 1 N f n ( z n ) ≥ ν ∑ n = 1 N f n ( x n ∗ ) + ( 1 − ν ) ∑ n = 1 N f n ( y n ∗ ) \begin{align} \begin{cases} \sum\limits_{n=1}^{N}h_n(z_n)\leq \nu P_x + (1-\nu) P_y \nonumber \\ \sum\limits_{n=1}^{N}f_n(z_n)\geq \nu \sum\limits_{n=1}^{N}f_n(x_n^*) + (1-\nu)\sum\limits_{n=1}^{N} f_n(y_n^*) \nonumber \end{cases} \end{align} n=1Nhn(zn)νPx+(1ν)Pyn=1Nfn(zn)νn=1Nfn(xn)+(1ν)n=1Nfn(yn)
则称优化问题 P 4 P_4 P4 满足 Time-Sharing Condition

理解:
上述定义看起来很玄幻,但其本质并不难理解。首先,要知道原始优化问题 的最优解(optimal solutions)是 x n ∗ x_n^* xn,很显然 x n ∗ x_n^* xn 必须满足约束 ∑ n = 1 N h n ( x n ∗ ) = P \sum\limits_{n=1}^N h_n(x_n^*) = P n=1Nhn(xn)=P 为紧约束。因此,约束上限 P P P 的取值,决定了 x n ∗ x_n^* xn 的取值。所以,我们也可以将 x n ∗ x_n^* xn 看成 P P P 的函数,即: x n ∗ = x n ∗ ( P ) x_n^*=x_n^*(P) xn=xn(P) 。其次,理解了这一点,就可以理解为什么定义中要给定 P = P x P=P_x P=Px P = P y P=P_y P=Py 这两种情况了,其实就是为了刻画 x n ∗ = x n ∗ ( P x ) x_n^*=x_n^*(P_x) xn=xn(Px) 以及 y n ∗ = y n ∗ ( P y ) y_n^*=y_n^*(P_y) yn=yn(Py) ,通过变化不同的 P P P 值(体现在定义中“对任意的 P = P x P=P_x P=Px P = P y P=P_y P=Py ”一句),研究函数的性质。最后,需要理解作者为什么要这么刻画呢?其实就是为了说明函数整体的凹凸性而已。观察第一条约束描述的是对整体约束函数 ∑ n = 1 N h n ( x n ) \sum\limits_{n=1}^N h_n(x_n) n=1Nhn(xn) 凸性的刻画(注意,刻画的不是单独的 h n ( x n ) h_n(x_n) hn(xn) 函数,没必要研究单独的一个 h n ( x n ) h_n(x_n) hn(xn) 函数是否为凸性);观察第二条约束描述的是整体目标函数 ∑ n = 1 N f n ( x n ) \sum\limits_{n=1}^N f_n(x_n) n=1Nfn(xn) 凹性的刻画。

因此,可以理解 Time-Sharing Condition 无非是通过刻画求和后,函数整体的凹凸性,以替代单独每一个函数凹凸性。显然,如果每一个函数的凹凸性得到满足,那么 Time-Sharing Condition 自然成立,因此这部分理论也被称为广义对偶理论(General Duality Theory)。

PART II : 定理及其证明

接下来介绍 Time-Sharing Condition 有什么作用?主要体现在下述定理:

定理:
考虑如 所示的优化问题形式,如果满足 Time-Sharing Condition,则该优化问题的对偶间隙为0。

证明:

显然,如果 h n ( x n ) h_n(x_n) hn(xn) 是凸函数、 f n ( x n ) f_n(x_n) fn(xn) 是凹函数,根据保凸运算易知,优化问题是凸优化问题,则其对偶间隙为0。下面我们证明:当 h n ( x n ) h_n(x_n) hn(xn) 不是凸函数、 f n ( x n ) f_n(x_n) fn(xn) 不是凹函数,但优化问题 P 4 P_4 P4 满足 Time-Sharing Condition 时,其对偶间隙仍为0。

令向量 P x , P y P_x, P_y Px,Py P z P_z Pz 是满足 P z = ν P x + ( 1 − ν ) P y P_z=\nu P_x + (1-\nu)P_y Pz=νPx+(1ν)Py 的功率约束向量(注意:这里的向量 ν \nu ν 是只要找到或存在一个属于 [ 0 , 1 ] [0,1] [0,1] 区间的 ν \nu ν ,使得上述等式成立即可),令 x n ∗ , y n ∗ x_n^*,y_n^* xn,yn z n ∗ z_n^* zn 是在 P x , P y P_x, P_y Px,Py P z P_z Pz 功率约束下优化问题 P 4 P_4 P4 的最优解(注意:这里的逻辑是先给出一组满足上述等式的功率约束组 { P x , P y , P z } \{P_x, P_y, P_z\} {Px,Py,Pz} ,然后依据这三个数,分别求出他们对应的最优解 { x n ∗ , y n ∗ , z n ∗ } \{x_n^*,y_n^*,z_n^*\} {xn,yn,zn} )。

第一步证明:基于 Time-Sharing Condition ,证明 是关于 的凹函数

这里我先给出适当说明,然后再讲述原文步骤,不然直接看原文容易懵逼:
Step(a)先将 ∑ n f n ( x n ∗ ) \sum_{n}f_n(x_n^*) nfn(xn) 写为 ∑ n f n ( x n ∗ ( P x ) ) \sum_{n}f_n(x_n^*(P_x)) nfn(xn(Px)) 的形式;
Step(b)为简洁表示,记 g ( P x ) = ∑ n f n ( x n ∗ ( P x ) ) g(P_x)=\sum_{n}f_n(x_n^*(P_x)) g(Px)=nfn(xn(Px)) ;
Step(c)因此,我们需要证明:对任意的 P x , P y P_x,P_y Px,Py ,对任意的 ν ∈ [ 0 , 1 ] \nu\in \left[0,1\right] ν[0,1],都有 g ( ν P x + ( 1 − ν ) P y ) ≥ ν g ( P x ) + ( 1 − ν ) g ( P y ) g(\nu P_x+(1-\nu)P_y) \geq \nu g(P_x)+(1-\nu)g(P_y) g(νPx+(1ν)Py)νg(Px)+(1ν)g(Py) 成立;
Step(d)也就是需要证明下式成立
∑ n f n ( x n ∗ ( ν P x + ( 1 − ν ) P y ) ) ≥ ν ∑ n f n ( x n ∗ ( P x ) ) + ( 1 − ν ) ∑ n f n ( y n ∗ ( P y ) ) \begin{align} \sum_{n}f_n(x_n^*(\nu P_x+(1-\nu & )P_y)) \nonumber \\ \geq \nu &\sum_{n}f_n(x_n^*(P_x))+(1-\nu)\sum_{n}f_n(y_n^*(P_y)) \nonumber \end{align} nfn(xn(νPx+(1νν)Py))nfn(xn(Px))+(1ν)nfn(yn(Py))
注意:左式 x n ∗ ( ν P x + ( 1 − ν ) P y ) x_n^*(\nu P_x+(1-\nu )P_y) xn(νPx+(1ν)Py) 中的 x n ∗ x_n^* xn 写法不严谨,需要依据内部的自变量而定。在这里,严谨的应该写为 q ( x n ∗ y n ∗ ) ( ν P x + ( 1 − ν ) P y ) q(x_n^*y_n^*)(\nu P_x+(1-\nu )P_y) q(xnyn)(νPx+(1ν)Py) , 表示是 P x P_x Px P y P_y Py 的函数多对应的 x n ∗ x_n^* xn y n ∗ y_n^* yn 的函数。
Step(e)因为 P z = ν P x + ( 1 − ν ) P y P_z=\nu P_x + (1-\nu)P_y Pz=νPx+(1ν)Py ,所以需要证明下式成立即可:
∑ n f n ( z n ∗ ( P z ) ) ≥ ν ∑ n f n ( x n ∗ ( P x ) ) + ( 1 − ν ) ∑ n f n ( y n ∗ ( P y ) ) \begin{align} \sum_{n}f_n(z_n^*(P_z )) \geq \nu &\sum_{n}f_n(x_n^*(P_x))+(1-\nu)\sum_{n}f_n(y_n^*(P_y)) \nonumber \end{align} nfn(zn(Pz))νnfn(xn(Px))+(1ν)nfn(yn(Py))
注意:左式直接替换上述等式后,应为 f n ( x n ∗ ( P z ) ) f_n(x_n^*(P_z )) fn(xn(Pz)),但此时自变量是 P z P_z Pz 了,因此对应改为 f n ( z n ∗ ( P z ) ) f_n(z_n^*(P_z )) fn(zn(Pz))

看完前面的解释,再看原文证明步骤,简述如下:
Step(1)因为 Time-Sharing Condition 成立,所以对前文给定的 P x , P y P_x, P_y Px,Py 以及给定的 ν \nu ν,一定存在一个 z ~ \widetilde{z} z ,使得下式成立:
{ ∑ n = 1 N h n ( z ~ n ) ≤ ν P x + ( 1 − ν ) P y ∑ n = 1 N f n ( z ~ n ) ≥ ν ∑ n = 1 N f n ( x n ∗ ) + ( 1 − ν ) ∑ n = 1 N f n ( y n ∗ ) \begin{align} \begin{cases} \sum\limits_{n=1}^{N}h_n(\widetilde{z}_n)\leq \nu P_x + (1-\nu) P_y \nonumber \\ \sum\limits_{n=1}^{N}f_n(\widetilde{z}_n)\geq \nu \sum\limits_{n=1}^{N}f_n(x_n^*) + (1-\nu)\sum\limits_{n=1}^{N} f_n(y_n^*) \nonumber \end{cases} \end{align} n=1Nhn(z n)νPx+(1ν)Pyn=1Nfn(z n)νn=1Nfn(xn)+(1ν)n=1Nfn(yn)
注意:这里的 z ~ \widetilde{z} z 与前文的 z z z 不一样,但原文中并没有声明,我在推送里区分一下,故用 z ~ \widetilde{z} z 表示。
Step(2)又因为 z ~ \widetilde{z} z 是优化问题可行集内的一个可行点,这意味着该点对应的目标函数一定小于最优解,因此有下式成立:
∑ n = 1 N f n ( z n ∗ ) ≥ ∑ n = 1 N f n ( z ~ n ) ≥ ν ∑ n = 1 N f n ( x n ∗ ) + ( 1 − ν ) ∑ n = 1 N f n ( y n ∗ ) \begin{align} \sum\limits_{n=1}^{N}f_n(z_n^*)\geq\sum\limits_{n=1}^{N}f_n(\widetilde{z}_n)\geq \nu \sum\limits_{n=1}^{N}f_n(x_n^*) + (1-\nu)\sum\limits_{n=1}^{N} f_n(y_n^*) \nonumber \end{align} n=1Nfn(zn)n=1Nfn(z n)νn=1Nfn(xn)+(1ν)n=1Nfn(yn)
Step(3)根据Step(a)-Step(e)的解释可知,上式便是Step(e)中的结论,所以, ∑ n f n ( x n ∗ ) \sum_{n}f_n(x_n^*) nfn(xn) 是关于 P P P 的凹函数得证。

注意:原文没有Step(a)-Step(e)的解释,我看到论文中Step(2)后,最开始不太明白,为什么Step(2)成立后, ∑ n f n ( x n ∗ ) \sum_{n}f_n(x_n^*) nfn(xn) 就是关于 P P P 的凹函数了?后来才想明白的,所以记录在Step(a)-Step(e)的解释里。

第二步证明:利用 ∑ n f n ( x n ∗ ) \sum_{n}f_n(x_n^*) nfn(xn) 是关于 P P P 的凹函数的性质,证明对偶间隙为0

Step(1)考虑到 ∑ n f n ( x n ∗ ) \sum_{n}f_n(x_n^*) nfn(xn) 是关于 P P P 的凹函数,所以我们以 P P P 为横坐标(等价于以 ∑ n h n ( x n ∗ ) \sum_{n}h_n(x_n^*) nhn(xn)为横坐标,因为 ∑ n h n ( x n ∗ ) = P \sum_{n}h_n(x_n^*)=P nhn(xn)=P 显然成立),以 ∑ n f n ( x n ∗ ) \sum_{n}f_n(x_n^*) nfn(xn) 为纵坐标,用实线画出如下图所示凹函数:

理解:
显然,在变化 P P P 的时候(即变化 ∑ n h n ( x n ∗ ) \sum_{n}h_n(x_n^*) nhn(xn) 的时候), x n ∗ x_n^* xn 也随之而变,导致目标函数 ∑ n f n ( x n ∗ ) \sum_{n}f_n(x_n^*) nfn(xn) 也随之而变,所以,可以画出 ∑ n h n ( x n ∗ ) \sum_{n}h_n(x_n^*) nhn(xn) ∑ n f n ( x n ∗ ) \sum_{n}f_n(x_n^*) nfn(xn) 之间的变化规律图(即函数图)。而前文证明了,这个函数是凹函数,因此可以做出曲线 ( ∑ n h n ( x n ∗ ) , ∑ n f n ( x n ∗ ) ) (\sum_{n}h_n({x}_n^*),\sum_{n}f_n({x}_n^*)) (nhn(xn),nfn(xn)) 如图实线所示。

Step(2)又考虑到 g ( λ ) g(\lambda) g(λ) 可写成下式:
g ( λ ) = max ⁡ x n ( ∑ n f n ( x n ) + λ T ( P − ∑ n h n ( x n ) ) ) \begin{align} g(\lambda)&=\mathop{\max}_{x_n}\left( \sum_{n}f_n(x_n)+\lambda^T \left( P-\sum_{n}h_n(x_n) \right) \right) \nonumber \end{align} g(λ)=maxxn(nfn(xn)+λT(Pnhn(xn)))

x ^ n ∗ \hat{x}_n^* x^n 是上述优化问题的最优解,则 g ( λ ) g(\lambda) g(λ) 可写为下式:

g ( λ ) = ∑ n f n ( x ^ n ∗ ) + λ T ( P − ∑ n h n ( x ^ n ∗ ) ) g(\lambda)=\sum_{n}f_n(\hat{x}_n^*)+\lambda^T \left( P-\sum_{n}h_n(\hat{x}_n^*) \right) g(λ)=nfn(x^n)+λT(Pnhn(x^n))

显然, g ( λ ) g(\lambda) g(λ) 是关于 P P P 的线性函数,且斜率为 λ \lambda λ 。因此,根据其几何意义,我们可在曲线 ( ∑ n h n ( x n ∗ ) , ∑ n f n ( x n ∗ ) ) (\sum_{n}h_n({x}_n^*),\sum_{n}f_n({x}_n^*)) (nhn(xn),nfn(xn)) 上,做一条切线,且切点为 ( ∑ n h n ( x ^ n ∗ ) , ∑ n f n ( x ^ n ∗ ) ) (\sum_{n}h_n(\hat{x}_n^*),\sum_{n}f_n(\hat{x}_n^*)) (nhn(x^n),nfn(x^n)) 。此外,这条切线与纵坐标的交点为 ∑ n f n ( x ^ n ∗ ) + λ T ( P − ∑ n h n ( x ^ n ∗ ) ) \sum_{n}f_n(\hat{x}_n^*)+\lambda^T \left( P-\sum_{n}h_n(\hat{x}_n^*) \right) nfn(x^n)+λT(Pnhn(x^n)) ,而这个交点,便是 g ( λ ) g(\lambda) g(λ) 的确切取值(即图中的点 B B B )。

Step(3)对偶问题中,需要通过寻找 λ \lambda λ,以最小化 g ( λ ) g(\lambda) g(λ) ,记最优解为 g ∗ g^* g 。显然,只有当曲线 ( ∑ n h n ( x n ∗ ) , ∑ n f n ( x n ∗ ) ) (\sum_{n}h_n({x}_n^*),\sum_{n}f_n({x}_n^*)) (nhn(xn),nfn(xn)) 是凹的,此时在整条曲线上寻找最优的切线斜率 λ \lambda λ 时,才可以找到最优的 λ ∗ \lambda^* λ 。此时, g ( λ ) g(\lambda) g(λ) 与纵坐标交点的最小值就等于曲线自身的最小值,即:f*=g* ,如图中点 C C C 所示。

Step(4)为了说明 Time-Sharing Condition 的重要性,下图说明了当该条件不成立的时候,对偶间隙不为0。

PART III :用Time-Sharing Condition解释问题2

方案1: 如果OFDM系统可以实现完美的时分复用功能,则 Time-Sharing Condition 显然满足,直观解释如下:
x n x_n xn y n y_n yn 是两种功率分配方案。在这种情况下,全部的频谱带宽可以以 ν \nu ν 的比率分配给策略 x n x_n xn ,以 1 − ν 1-\nu 1ν 的比例分给策略 y n y_n yn 。此时,原始的目标函数变为两套方案的线性组合,即:
∑ n f n = ∑ n [ ν f n ( x n ) + ( 1 − ν ) f n ( y n ) ] \sum_{n} f_n= \sum_{n}\left[\nu f_n(x_n)+(1-\nu) f_n(y_n)\right] nfn=n[νfn(xn)+(1ν)fn(yn)]
与此同时,约束也是时隙分配的线性组合,此时为线性关系,自然满足 Time-Sharing Condition中的凹性与凸性 。

方案2: 如果OFDM系统可以实现频分复用功能,且子载波数 N → + inf ⁡ N \rightarrow +\inf N+inf ,此时,通过在频域上按比例 ν \nu ν 交错 x n x_n xn y n y_n yn ,则也可以得到上述结论。

参考文献:

[1]祁忠勇.信号处理与通信中的凸优化: 从基础到应用,2019:300-302.
[2]Yu W, Ginis G, Cioffi J M. Distributed multiuser power control for digital subscriber lines[J]. IEEE Journal on Selected areas in Communications, 2002, 20(5): 1105-1115.
[3]Cendrillon R, Yu W, Moonen M, et al. Optimal multiuser spectrum balancing for digital subscriber lines[J]. IEEE Transactions on Communications, 2006, 54(5): 922-933.
[4]Yu W, Lui R. Dual methods for nonconvex spectrum optimization of multicarrier systems[J]. IEEE Transactions on communications, 2006, 54(7): 1310-1322.

文字 | 正仪
编辑 | 正仪
作图 | 正仪

更多优化内容,欢迎关注本人微信公众号:优化与博弈的数学原理

最后,助大家学业有成!早日毕业~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

优化理论 的相关文章

  • 图解通信原理与案例分析-6:基于离散字符的RS232串口数字通信--收发双方独立预设置同步时钟

    前言 RS 232标准接口是计算机常用的串行通信接口标准之一 虽然比较简单与成熟 但对于理解通信原理的基本流程和框架 核心的概念有基础性帮助作用 本文将从通信原理的角度 解析RS232串口通信过程中的每个环节 包括硬件和软件 在信源和信宿之
  • 正交、独立、不相关区别

    一 三者的定义 假设X为一个随机过程 则在t1和t2时刻的随机变量的相关定义如下 两个随机过程一样 1 定义Rx t1 t2 E X t1 X t2 为相关函数 若R 0 称正交 注意 相关函数为0 不是不相关 而是正交 正交不仅仅描述确定
  • linux 网络编程socket

    前言 socket 套接字 是linux下进程间通信的一种方式 通常使用C S 客户端 服务端 的方式通信 它可以是同一主机下的不同进程间通信或者不同主机的进程通信 socket是夹在应用层和TCP UDP协议层间的软件抽象 向应用层开发人
  • tcpclient和tcplistener通信

    服务器和客户端的代码都在在vs中编写并运行的 功能上实现了一个客户端和服务器互发消息 如果哪位大神知道多个客户端怎么搞 请留个思路给我 感谢 服务器的代码 using System using System Collections Gene
  • 一文读懂CAN总线及通信协议

    CAN总线的汽车 CAN概念 CAN是控制器域网 Controller Area Network CAN 的简称 是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的 并最终成为国际标准 ISO11898 是ISO国际标准化的串行通信
  • STM32 IIC通信简介+PCF8563时钟芯片示例

    IIC总线是嵌入式设备最常用的接口之一 包括51单片机在内的MCU一般都可以进行IIC通信 IIC通信有3种类型的信号 开始信号 结束信号 和应答信号 开始信号 SCL为高电平 SDA由高电平向低电平跳变 表示可以开始传输信号 进行通信了
  • 移动端安全通信的利器——端到端加密(E2EE)技术详解

    前言 端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在 采用端到端加密 又称脱线加密或包加密 时消息在被传输时到达终点之前不进行解密 因为消息在整个传输过程中均受到保护 所以即使有节点被损坏也不会使消息泄露 端到端加密系统与链
  • Python实现串口通信(pyserial)

    Python实现串口通信 pyserial pyserial模块封装了对串口的访问 兼容各种平台 安装 pip insatll pyserial 初始化 简单初始化示例 import serial ser serial Serial com
  • C# Modbus通信从入门到精通(11)——调试软件Modbus Slave和Modbus Poll的使用

    前言 我们在开发Modbus程序的时候 会需要测试以下我们写的Modbus程序有没有问题 这时候就需要使用到Modbus Slave和Modbus Poll这两个软件 Modbus Slave是模拟Modbus从站 Modbus Poll是
  • KNX协议入门

    KNX协议入门 转自 https wenku baidu com view 65b0a25a55270722182ef706 html 如有侵权 请联系qq 2453419889 我将立即删除 一 KNX技术简介 KNX通过一条总线将各个分
  • cocos2d-x客户端与Java服务器的通信(一)

    o 貌似自己已经有一段时间没有写博客了 其实主要原因还是觉得自己水平有限 加上上班实在是太忙 实在抽不出时间来写博客 言归正传 大家都知道 在网络游戏开发中 网络通信一直是个比较大的难题 一个服务器可能要同时处理几千上万甚至上百万的用户数据
  • 移动通信中的信源编码和调制调节技术

    通信原理 移动通信中的信源编码和调制调节技术的思维导图 一个上课老师留的作业 这个不带图片 带图片的在我发的另一个 移动通信中的信源编码和调制调节技术 3 1 概述 调制就是对消息源信息进行编码的过程 其目的就是使携带信息的信号与信道特性相
  • 【转】一文了解Socket

    原文链接 https segmentfault com a 1190000013712747 什么是Socket Socket的中文翻译过来就是 套接字 套接字是什么 我们先来看看它的英文含义 插座 Socket就像一个电话插座 负责连通两
  • 关于非同一局域网下两台设备之间的网络通信(服务器的作用)

    看过很多关于局域网下的两台设备之间的通信方式 最多的就是通过socket进行tcp ip通信 建立一个服务端 再建立一个客户端 客户端向服务端发起请求连接 然后再进行两端的通信 但发现其实这却存在着很多的问题与不足 如果是不在同一局域网下的
  • Deep learning-based CSI Feedback for Beamforming 1

    1 Abstract The potentials of massive multiple input multipleoutput MIMO are all based on the available instantaneous cha
  • NAT网关和NAT穿越原理

    转自 https blog csdn net chance yin article details 37913963 一 原理图 1 背景信息 1 我们模拟的情形是位于网络A下的内网主机UserA 想要和位于网络B下的内网主机UserB进行
  • Android进程间通信(IPC)机制Binder介绍

    转载自 http blog csdn net luoshengyang article details 6618363 在Android系统中 每一个应用程序都是由一些Activity和Service组成的 这些Activity和Servi
  • 低功耗蓝牙(BLE)你入门了吗

    前言 蓝牙低功耗 Bluetooth Low Energy 或称Bluetooth LE BLE 旧商标Bluetooth Smart 用于医疗保健 运动健身 安防 工业控制 家庭娱乐等领域 在如今的物联网时代下大放异彩 扮演者重要一环 是
  • 自协商功能原理及工作过程

    自协商原理 自协商是通过一种叫做快速连接脉冲 Fast Link Pulse 的信号实现的 简称FLP 自协商的双方通过FLP来交换数据 在具备自协商能力的端口没有Link的情况下 端口一直发送FLP 在FLP中包含着自己的连接能力信息 包
  • 图片详解TCP连接的三次握手,四次断开基本原理

    图片详解TCP连接的三次握手 四次断开 作者 林子 Blog http blog csdn net u013011841 时间 2014年8月 出处 http blog csdn net u013011841 article details

随机推荐

  • 电商常用的数据分析指标

    一 流量指标 浏览量PV 用户访问页面的总数 用户每访问一个网页就算一个浏览量 同一个页面刷新一次也算一个浏览量 访客数UV 一般以天为单位来统计24小时内的UV总数 一天内重复访问的只能算一次 实时在线人数 指15分钟内在线UV数 平均在
  • UI素材

    什么是UI组件 UI 设计组件 UI KIT 直译过来就是用户界面成套元件 是界面设计常用控件或元件 组 是设计元素的组合方式 件 由不同的元件组成 组件的优势 1 保证一致性 Consistency 与现实生活一致 与现实生活的流程 逻辑
  • 本期特别推荐

    本文阅读时间 13分钟 本文将为你介绍9种机器学习入门项目创意 更有微软ATP助力你的学习之路 在机器学习领域有什么好的项目可以实操吗 有哪些经典小项目可以推荐学习呢 以下的项目将帮助你更好了解机器学习 步入AI领域的大门 鸢尾花分类项目
  • SSRF——服务端请求伪造

    什么是SSRF 服务器端请求伪造 SSRF 是指攻击者能够从易受攻击的Web应用程序发送精心设计的请求的对其他网站进行攻击 利用一个可发起网络请求的服务当作跳板来攻击其他服务 ssrf有什么作用 一般用于探测内网端口及信息 查看文件 甚至可
  • spring与mybatis三种整合方法

    1 采用MapperScannerConfigurer 它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean spring mybatis xml
  • vhd win10系统蓝屏问题(inaccessible boot device/0x000000c1)

    我的win10 是安装在vhdx虚拟磁盘中 在安装云桌面软件后 重启无法进入win10系统 出现蓝屏现象 具体的报错信息为 inaccessible boot device或 0x000000c1 问题根源 根源是云桌面软件为了接管系统的u
  • JVM 虚拟机 ---> JVM 基础概念

    文章目录 JVM 虚拟机 gt JVM 基础概念 一 Java 跨平台 主要原因 二 JVM 的组成结构 三 Java 代码执行流程 四 JVM 的生命周期 JVM 虚拟机 gt JVM 基础概念 一 Java 跨平台 Java是一种可跨平
  • 详解K8s基本概念

    没等到风来 绵绵小雨 所以写个随笔 聊聊k8s的基本概念 k8s是一个编排容器的工具 其实也是管理应用的全生命周期的一个工具 从创建应用 应用的部署 应用提供服务 扩容缩容应用 应用更新 都非常的方便 而且可以做到故障自愈 例如一个服务器挂
  • 信息抽取之街道抽取

    如何从文本信息抽取出道路信息 问题 从给定的语料中抽取出相应的道路信息 数据 向塘北大道西50米 天龙路与龙华路交叉口北50米 观澜大道490号附近 成都市锦江区海椒市街13号附7号 玉兰西路 团结北路23号 湖塘镇火炬北路12号 昆明市晋
  • Linux在Docker中安装Gitlab

    1 安装Gitlab前先把git安装上 yum install y git 2 安装成功后查看git版本信息 git version 3 设置git的账户信息 git config global user name 名称 git confi
  • 在vue中怎么解决跨域问题(CORS)

    在Vue中解决跨域问题有多种方法 以下是几种常见的方法 1 代理服务器 在开发环境中 可以配置一个代理服务器来转发 API 请求 绕过浏览器的同源策略 可以使用 http proxy middleware 等中间件来实现代理配置 在 vue
  • 基于SSM+JSP的新闻发布管理系统

    项目技术栈 末尾获取源码 开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 采用JSP技术开发 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse
  • 傅立叶变换小结

    文章目录 傅立叶何许人也 傅立叶分析是什么 傅立叶变换有什么用 傅立叶变换和拉普拉斯变换 傅立叶变换的类型和快速傅立叶变换 参考文献 由于学习雷达信号处理需要 自己把傅立叶变换好好看了一遍 本科的时候也学到过一点 但也早就还给老师了 毕竟不
  • Smart3D空三不过的解决办法

    Smart3D空三不过的解决办法 问题1 空三完成后提示有大量照片未参与重建 答案1 1 若测区无大面积同名点难以识别的地物地貌 例如水域 沙漠 玻璃等 出现大量照片未参与重建的情况一般是初始的 传感器尺寸 sensor size 或者 相
  • vue如何获取一个元素的高度

    Vue 中获取一个元素的高度可以使用 JavaScript 原生方法或者 Vue 内置的 refs 使用 JavaScript 原生方法 可以在 mounted 钩子函数中获取到元素 然后使用 offsetHeight 属性获取元素高度 m
  • 基于卷积的图像分类识别(二):ZFNet

    本专栏介绍基于深度学习进行图像识别的经典和前沿模型 将持续更新 包括不仅限于 AlexNet ZFNet VGG GoogLeNet ResNet DenseNet SENet MobileNet ShuffleNet Eifficient
  • git status提示detached HEAD解决办法

    有时候 需要查看某个Tag中的代码 就会使用git checkout tag name 切换到tag中 此时 如果使用git status来查看当前的状态时 会报detached HEAD的提示 detached HEAD表示当前的HEAD
  • [Shell] if、for、while流程语句以及整数字符串判断比较的实例详解

    前言 实际上Shell是一个命令解释器 它解释由用户输入的命令并且把它们送到内核 不仅如此 Shell有自己的编程语言用于对命令的编辑 它允许用户编写由shell命令组成的程序 Shell编程语言具有普通编程语言的很多特点 比如它也有循环结
  • 获取本周几

    转载 https blog csdn net zhaodecang article details 77919804 commentBox import java text SimpleDateFormat import java util
  • 优化理论

    版权声明 原创作品 整理不易 转载请标明出处 本篇推送更详细的内容介绍 可参见本人微信公众号 优化与博弈的数学原理 公众号二维码参见文末 或参见以下网址 优化理论 Time Sharing Condition 编者按 OFDM系统中的功率分