GP可以用于处理资源分配问题,其中所有的未知变量为正值,如功率、可达传输率、安全速率等。GP本身是非凸的
函数 f : R n → R f: \mathbb{R}^{n} \rightarrow \mathbb{R} f:Rn→R,定义域为 dom f = R + + n \operatorname{dom} f=\mathbb{R}_{++}^{n} domf=R++n
f ( x ) = c x 1 a 1 x 2 a 2 ⋯ x n a n f(\mathbf{x})=c x_{1}^{a_{1}} x_{2}^{a_{2}} \cdots x_{n}^{a_{n}} f(x)=cx1a1x2a2⋯xnan
其中 c > 0 c>0 c>0, a i ∈ R a_{i} \in \mathbb{R} ai∈R。 f f f被称为单项式函数,通常是非凸的。
单项式的和:
f ( x ) = ∑ k = 1 K c k x 1 a 1 k x 2 a 2 k ⋯ x n a n k f(\mathbf{x})=\sum_{k=1}^{K} c_{k} x_{1}^{a_{1 k}} x_{2}^{a_{2 k}} \cdots x_{n}^{a_{n k}} f(x)=k=1∑Kckx1a1kx2a2k⋯xnank
其中 c k > 0 c_{k}>0 ck>0和 a i k ∈ R a_{i k} \in \mathbb{R} aik∈R。 f f f被称为单项式函数,通常是非凸的。
f ( x ) = log ( e x 1 + ⋯ + e x n ) f(\mathbf{x})=\log \left(e^{x_{1}}+\cdots+e^{x_{n}}\right) f(x)=log(ex1+⋯+exn)
在 R n \mathbb{R}^{n} Rn上式凸的,其中 dom f ⊆ R n \operatorname{dom} f \subseteq \mathbb{R}^{n} domf⊆Rn。(可以由二阶条件证明其凸性,即其Hessian是PSD矩阵)
f ( x ) = log ( e a 1 T x + b 1 + ⋯ + e a m T x + b m ) f(\mathbf{x})=\log \left(e^{\mathbf{a}_{1}^{T} \mathbf{x}+b_{1}}+\cdots+e^{\mathbf{a}_{m}^{T} \mathbf{x}+b_{m}}\right) f(x)=log(ea1Tx+b1+⋯+eamTx+bm)
其中 a i ∈ R n \mathbf{a}_{i} \in \mathbb{R}^{n} ai∈Rn, b i ∈ R b_{i} \in \mathbb{R} bi∈R。它在 R n \mathbb{R}^{n} Rn也是凸的。
证明思路:log-sum-exp是凸的,仿射变换 a i T x + b 1 \mathbf{a}_{i}^{T} \mathbf{x}+b_{1} aiTx+b1是保凸的。所以它是凸的。
几何规划的一般结构如下:
min ∑ k = 1 K 0 c 0 k x 1 a 0 , 1 k x 2 a 0 , 2 k ⋯ x n a 0 , n k s.t. ∑ k = 1 K i c i k x 1 a i , 1 k x 2 a i , 2 k ⋯ x n a i , n k ≤ 1 , i = 1 , … , m d i x 1 g i 1 ⋯ x n g i n = 1 , i = 1 , … , p \begin{array}{ll} \min & \sum_{k=1}^{K_{0}} c_{0 k} x_{1}^{a_{0,1 k}} x_{2}^{a_{0,2 k}} \cdots x_{n}^{a_{0, n k}} \\ \text { s.t. } & \sum_{k=1}^{K_{i}} c_{i k} x_{1}^{a_{i, 1 k}} x_{2}^{a_{i, 2 k}} \cdots x_{n}^{a_{i, n k}} \leq 1, i=1, \ldots, m \\ & d_{i} x_{1}^{g_{i 1}} \cdots x_{n}^{g_{i n}}=1, i=1, \ldots, p \end{array} min s.t. ∑k=1K0c0kx1a0,1kx2a0,2k⋯xna0,nk∑k=1Kicikx1ai,1kx2ai,2k⋯xnai,nk≤1,i=1,…,mdix1gi1⋯xngin=1,i=1,…,p
其中,对于任意的 i , j , k i, j, k i,j,k有, c i k > 0 , d i > 0 c_{i k}>0, d_{i}>0 cik>0,di>0和 a i , j k , g i j ∈ R a_{i, j k}, g_{i j} \in \mathbb{R} ai,jk,gij∈R。定义域为 D = R + + n \mathcal{D}=\mathbb{R}_{++}^{n} D=R++n。该问题有一些特点:
但是几何规划问题可以通过变量代还和函数变换转化为凸优化问题。
令:
x i = e y i ( 变 量 代 换 ) x_{i}=e^{y_{i}} (变量代换) xi=eyi(变量代换)
y = [ y 1 , … , y n ] T \mathbf{y}=\left[y_{1}, \ldots, y_{n}\right]^{T} y=[y1,…,yn]T
则单项式可以重新表示为:
c x 1 a 1 x 2 a 2 ⋯ x n a n = e a T y + b c x_{1}^{a_{1}} x_{2}^{a_{2}} \cdots x_{n}^{a_{n}}=e^{\mathbf{a}^{T} \mathbf{y}+b} cx1a1x2a2⋯xnan=eaTy+b
其中 b = log c b=\log c b=logc和 a = [ a 1 , … , a n ] T \mathbf{a}=\left[a_{1}, \ldots, a_{n}\right]^{T} a=[a1,…,an]T。类似地,正项式子可以表示为:
∑ k = 1 K c k x 1 a 1 k x 2 a 2 k ⋯ x n a n k = ∑ k = 1 K e a k T y + b k \sum_{k=1}^{K} c_{k} x_{1}^{a_{1 k}} x_{2}^{a_{2 k}} \cdots x_{n}^{a_{n k}}=\sum_{k=1}^{K} e^{\mathbf{a}_{k}^{T} \mathbf{y}+b_{k}} k=1∑Kckx1a1kx2a2k⋯xnank=k=1∑KeakTy+bk
其中:
b k = log c k , a k = [ a 1 k , … , a n k ] T b_{k}=\log c_{k}, \quad \mathbf{a}_{k}=\left[a_{1 k}, \ldots, a_{n k}\right]^{T} bk=logck,ak=[a1k,…,ank]T
定义:
g i = [ g i 1 , … , g i n ] T , h i = log d i \mathbf{g}_{i}=\left[g_{i 1}, \ldots, g_{i n}\right]^{T}, \quad h_{i}=\log d_{i} gi=[gi1,…,gin]T,hi=logdi
则原来的GP规划问题可以表示为:
min ∑ k = 1 K 0 e a 0 k T y + b 0 k s.t. ∑ k = 1 K i e a i k T y + b i k ≤ 1 , i = 1 , … , m e g i T y + h i = 1 , i = 1 , … , p ( 5.8 ) \begin{aligned} \min & \sum_{k=1}^{K_{0}} e^{\mathbf{a}_{0 k}^{T} \mathbf{y}+b_{0 k}} \\ \text { s.t. } & \sum_{k=1}^{K_{i}} e^{\mathbf{a}_{i k}^{T} \mathbf{y}+b_{i k}} \leq 1, i=1, \ldots, m \\ & e^{\mathbf{g}_{i}^{T} \mathbf{y}+h_{i}}=1, i=1, \ldots, p \end{aligned} (5.8) min s.t. k=1∑K0ea0kTy+b0kk=1∑KieaikTy+bik≤1,i=1,…,megiTy+hi=1,i=1,…,p(5.8)
对上面的目标函数和约束函数取对数可以得到等价问题:
min log ∑ k = 1 K 0 e a 0 k T y + b 0 k s.t. log ∑ k = 1 K i e a i k T y + b i k ≤ 0 , i = 1 , … , m g i T y + h i = 0 , i = 1 , … , p \begin{array}{ll} \min & \log \sum_{k=1}^{K_{0}} e^{\mathbf{a}_{0 k}^{T} \mathbf{y}+b_{0 k}} \\ \text { s.t. } & \log \sum_{k=1}^{K_{i}} e^{\mathbf{a}_{i k}^{T} \mathbf{y}+b_{i k}} \leq 0, i=1, \ldots, m \\ & \mathbf{g}_{i}^{T} \mathbf{y}+h_{i}=0, i=1, \ldots, p \end{array} min s.t. log∑k=1K0ea0kTy+b0klog∑k=1KieaikTy+bik≤0,i=1,…,mgiTy+hi=0,i=1,…,p
这是一个凸优化问题,其中 y ∈ R n \mathbf{y} \in \mathbb{R}^{n} y∈Rn是未知向量变量。通过得到最优的 y ⋆ \mathbf{y}^{\star} y⋆可以得到原GP问题的最优解,即:
x ⋆ = ( e y 1 ⋆ , … , e y n ⋆ ) \mathrm{x}^{\star}=\left(e^{y_{1}^{\star}}, \ldots, e^{y_{n}^{\star}}\right) x⋆=(ey1⋆,…,eyn⋆)
考虑最大最小功率分配问题
min p i , i = 1 , … , K max i = 1 , … , K ∑ j = 1 , j ≠ i K G i j p j + σ i 2 G i i p i s.t. 0 < p i ≤ P i , i = 1 , … , K . \begin{aligned} \min _{p_{i}, i=1, \ldots, K} \max _{i=1, \ldots, K} & \frac{\sum_{j=1, j \neq i}^{K} G_{i j} p_{j}+\sigma_{i}^{2}}{G_{i i} p_{i}} \\ \text { s.t. } & 0
这是一个拟凸优化问题,定义域为: D ⊆ R + + K \mathcal{D} \subseteq \mathbb{R}_{++}^{K} D⊆R++K。该问题可以采用迭代二分法求解。(即转化为一个可行性问题: find x \text{find}\quad\mathbf{x} findx)。现在考虑采用采用GP,高效地得到最优解。利用上镜图可以将该问题重构为:
min t , p i , i = 1 , … , K t s.t. ∑ j = 1 , j ≠ i K G i j p j + σ i 2 G i i p i ≤ t , i = 1 , … , K 0 < p i ≤ P i , i = 1 , … , K . \begin{array}{rl} \min _{t, p_{i}, i=1, \ldots, K} & t \\ \text { s.t. } & \frac{\sum_{j=1, j \neq i}^{K} G_{i j} p_{j}+\sigma_{i}^{2}}{G_{i i} p_{i}} \leq t, i=1, \ldots, K \\ & 0
其中目标函数 t t t是一个单项式,对于任意的 i i i约束条件是正项不等式和单项不等式。因此该问题是一个定义域为 D ⊆ R + + K + 1 \mathcal{D} \subseteq \mathbb{R}_{++}^{K+1} D⊆R++K+1的几个规划,因此,该非凸几何规划可以转化为凸优化问题。
在某些应用中(如无线通信的功率分配),会有如下的优化问题:
min q ( x ) s.t. f ( x ) g ( x ) ≤ 1 h ( x ) = 1 ( 5.13 ) \begin{array}{l} \min q(\mathrm{x}) \\ \text { s.t. } \frac{f(\mathrm{x})}{g(\mathrm{x})} \leq 1 \\ h(\mathrm{x})=1 \end{array}(5.13) minq(x) s.t. g(x)f(x)≤1h(x)=1(5.13)
其中 q ( x ) q(\mathrm{x}) q(x), f ( x ) f(\mathrm{x}) f(x), g ( x ) g(\mathrm{x}) g(x) 正项式, h ( x ) h(\mathrm{x}) h(x)是单项式。因为不等式约束是两个正项式的比率,而不是一个正项式,所以他不是标准的GP,但是通过连续的GP近似方法可以解决这样的问题。该问题称为缩合法。
核心思想:用单项式函数近似逼近正项式函数 g ( x ) g(\mathrm{x}) g(x) ,因此,(5.13)中不等式约束的左边将是正项式(正项式和单项式之比还是正项式)。然后连续地进行用单项式近似正项式。
用单项式近似正项式的一个常见的方法是算术平均不等式。对于 α i > 0 \alpha_{i}>0 αi>0, u i > 0 , i = 1 , … , n u_{i}>0, i=1, \ldots, n ui>0,i=1,…,n以及 ∑ i = 1 n α i = 1 \sum_{i=1}^{n} \alpha_{i}=1 ∑i=1nαi=1有:
∑ i = 1 n u i ≥ ∏ i = 1 n ( u i α i ) α i \sum_{i=1}^{n} u_{i} \geq \prod_{i=1}^{n}\left(\frac{u_{i}}{\alpha_{i}}\right)^{\alpha_{i}} i=1∑nui≥i=1∏n(αiui)αi
设 { u i ( x ) } \left\{u_{i}(\mathbf{x})\right\} {ui(x)}是正项式 g ( x ) g(\mathbf{x}) g(x)中的单项式,则基于算术平均不等式有:
g ( x ) = ∑ i = 1 n u i ( x ) ≥ ∏ i = 1 n ( u i ( x ) α i ) α i ( 5.15 ) g(\mathrm{x})=\sum_{i=1}^{n} u_{i}(\mathrm{x}) \geq \prod_{i=1}^{n}\left(\frac{u_{i}(\mathrm{x})}{\alpha_{i}}\right)^{\alpha_{i}}(5.15) g(x)=i=1∑nui(x)≥i=1∏n(αiui(x))αi(5.15)
显然,不等式的右边是一个单项式(单项式的乘积还是一个单项式)。在给定的一个可行点 x 0 \mathrm{x}_{0} x0处,选择 α i \alpha_{i} αi的一个常见方法是:
α i = u i ( x 0 ) g ( x 0 ) ( 5.16 ) \alpha_{i}=\frac{u_{i}\left(\mathrm{x}_{0}\right)}{g\left(\mathrm{x}_{0}\right)}(5.16) αi=g(x0)ui(x0)(5.16)
其满足 α i > 0 \alpha_{i}>0 αi>0和 ∑ i = 1 n α i = 1 \sum_{i=1}^{n} \alpha_{i}=1 ∑i=1nαi=1。通过把(5.16)中的 α i \alpha_{i} αi带入到(5.15)中有:
g ~ ( x , x 0 ) = ∏ i = 1 n ( u i ( x ) α i ) α i ≤ g ( x ) \tilde{g}\left(\mathbf{x}, \mathbf{x}_{0}\right)=\prod_{i=1}^{n}\left(\frac{u_{i}(\mathbf{x})}{\alpha_{i}}\right)^{\alpha_{i}} \leq g(\mathbf{x}) g~(x,x0)=i=1∏n(αiui(x))αi≤g(x)
它是正项式函数 g ( x g(\mathbf{x} g(x在给定可行点 x 0 \mathbf{x}_0 x0处的单项式近似,并且有
g ~ ( x 0 , x 0 ) = g ( x 0 ) \tilde{g}\left(\mathrm{x}_{0}, \mathrm{x}_{0}\right)=g\left(\mathrm{x}_{0}\right) g~(x0,x0)=g(x0)
换而言之, g ~ ( x 0 , x 0 ) \tilde{g}\left(\mathrm{x}_0, \mathrm{x}_{0}\right) g~(x0,x0)是 g ( x ) g\left(\mathrm{x}\right) g(x)的紧下界。令 C \mathcal{C} C是问题(5.13)的一个可行集,且 x 0 ∈ C \mathrm{x}_{0} \in \mathcal{C} x0∈C,,然后有:
C ( x 0 ) ≜ { x ∣ f ( x ) / g ~ ( x , x 0 ) ≤ 1 , h ( x ) = 1 } ⊆ C ≜ { x ∣ f ( x ) / g ( x ) ≤ 1 , h ( x ) = 1 } ( 5.19 ) \begin{aligned} \mathcal{C}\left(\mathbf{x}_{0}\right) & \triangleq\left\{\mathbf{x} \mid f(\mathbf{x}) / \tilde{g}\left(\mathbf{x}, \mathbf{x}_{0}\right) \leq 1, h(\mathbf{x})=1\right\} \\ & \subseteq \mathcal{C} \triangleq\{\mathbf{x} \mid f(\mathbf{x}) / g(\mathbf{x}) \leq 1, h(\mathbf{x})=1\} \end{aligned}(5.19) C(x0)≜{x∣f(x)/g~(x,x0)≤1,h(x)=1}⊆C≜{x∣f(x)/g(x)≤1,h(x)=1}(5.19)
现在用下列约束近似问题(5.13)不等式约束:
f ( x ) g ~ ( x , x 0 ) ≤ 1 \frac{f(\mathbf{x})}{\tilde{g}\left(\mathbf{x}, \mathbf{x}_{0}\right)} \leq 1 g~(x,x0)f(x)≤1
得到:
min q ( x ) s.t. f ( x ) g ~ ( x , x 0 ) ≤ 1 h ( x ) = 1 \begin{array}{l} \min q(\mathbf{x}) \\ \text { s.t. } \frac{f(\mathbf{x})}{\tilde{g}\left(\mathbf{x}, \mathbf{x}_{0}\right)} \leq 1 \\ h(\mathbf{x})=1 \end{array} minq(x) s.t. g~(x,x0)f(x)≤1h(x)=1
该问题是一个标准的几何规划(其聚合约束集(condensed constraint set, C ( x 0 ) ⊆ C \mathcal{C}\left(\mathrm{x}_{0}\right) \subseteq \mathcal{C} C(x0)⊆C(cf. (5.19))。连续近似法(缩合法)总结如下:
目标函数值 q ( x 0 ( k ) ) q\left(\mathbf{x}_{0}^{(k)}\right) q(x0(k))随迭代次数 k k k单调递减,直到收敛(迭代次数为 N N N),由上述连续近似方法可以找到的解 x 0 ( N ) \mathbf{x}_{0}^{(N)} x0(N)为:
x 0 ( N ) = arg min { q ( x ) ∣ x ∈ ∪ k = 0 N − 1 C ( x 0 ( k ) ) ⊆ C } \mathrm{x}_{0}^{(N)}=\arg \min \left\{q(\mathrm{x}) \mid \mathrm{x} \in \cup_{k=0}^{N-1} \mathcal{C}\left(\mathrm{x}_{0}^{(k)}\right) \subseteq \mathcal{C}\right\} x0(N)=argmin{q(x)∣x∈∪k=0N−1C(x0(k))⊆C}
他是问题(5.13)的近似解,次优解。
总结:对于如(5.13)的非凸问题,将其重构为凸问题十分困难。缩合法通过对(5.13)的非凸约束集的连续保守近似可以得到较好的近似解。SCA算法也是一种被广泛使用的保守近似方法,他对原问题的非凸约束进行保守的凸近似,以便利用合适的凸优化工具或者算法进行处理。但得到的是次优解,但相关的KKT条件证明其是原问题的一个稳定点。(如果能够以低复杂度高校地计算出原问题的一个稳定点,并且满足性能要求,那么实际上也就找到了原问题的实际解。)
另一个例子:物理层秘密通信
参考(T.-H. Chang, W.-C. Chiang, Y.-W. P. Hong, and C.-Y. Chi, “Training sequence design
for discriminatory channel estimation in wireless MIMO systems,” IEEE Trans. Signal
Process., vol. 58, no. 12, pp. 6223–6237, Dec. 2010.)