更多精彩内容请关注微信公众号 ‘优化与算法’
前言
在数学优化中,分数规划是线性分式规划的推广。分数规划中的目标函数是两个函数的比值,这两个函数通常是非线性的。要优化的比值通常描述系统的某种效率。
1. Concave-convex FP问题
1.1 基本形式
一维问题。符号说明:用R表示实数集,用R+表示非负实数集,再用R++表示严格正实数集,用C表示复数集,用S++表示对称正定矩阵集。
X
⊆
R
d
(
d
∈
N
)
\mathcal{X}\subseteq\mathbb{R}^{d}(d\in\mathbb{N})
X⊆Rd(d∈N),A为非负函数
A
(
x
)
:
R
d
→
R
+
A(\mathbf{x}):\mathbb{R}^{d}\rightarrow\mathbb{R}_{+}
A(x):Rd→R+,B为正函数
B
(
x
)
:
R
d
→
R
+
+
B(\mathbf{x}):\mathbb{R}^{d}\rightarrow\mathbb{R}_{++}
B(x):Rd→R++
maximize
x
A
(
x
)
B
(
x
)
subject to
x
∈
X
.
\underset{\mathbf{x}}{{\text{maximize}}}\quad\ \frac{A(\mathbf{x})}{B(\mathbf{x})}\\ {\text{subject to}}\quad\ \mathbf{x}\in\mathcal{X}.
xmaximize B(x)A(x)subject to x∈X.
二次变换等效形式如下。这种构造有几个性质:分子与分母解耦、最优解与原问题等效、目标函数与原问题等效(比前一个性质更强,适用于多比率问题)、目标函数concave.
maximize x , y 2 y A ( x ) − y 2 B ( x ) subject to x ∈ X , y ∈ R . \underset{\mathbf{x},\,{y}}{{\text{maximize}}}\quad\ 2y\sqrt{A(\mathbf{x})}-y^{2}B(\mathbf{x})\\ {\text{subject to}}\quad\ \mathbf{x}\in\mathcal{X},\;y\in\mathbb{R}. x,ymaximize 2yA(x)−y2B(x)subject to x∈X,y∈R.
当满足以下条件时,此FP问题为concave-convex :(1)分子 A m ( x ) A_{m}(\mathbf{x}) Am(x)都是concave;(2)分母 B m ( x ) B_{m}(\mathbf{x}) Bm(x)都convex;(3)约束集 X \mathcal{X} X是由有限个不等式约束表示的标准形式的非空凸集。
一维FP concave-convex问题算法
- 步骤1:找到 x \mathbf{x} x可行解,并将原问题做二次变换等效。
- 步骤2:由 y m ⋆ = A m ( x ) B m ( x ) , ∀ m = 1 , … , M . y_{m}^{\star}=\frac{\sqrt{A_{m}(\mathbf{x})}}{B_{m}(\mathbf{x})},\;\forall m=1,\ldots,M. ym⋆=Bm(x)Am(x),∀m=1,…,M.更新所有 y m y_{m} ym,
- 步骤3:将 y m y_{m} ym代入等效问题,求解关于 x \mathbf{x} x的concave问题,更新 x \mathbf{x} x。
- 步骤4:重复步骤2和3,直至收敛。(本算法确保可收敛到一个stationary point)
传统的Dinkelbach’s变换可以比所提出的二次变换更快地收敛,但前者的使用仅限于单个比率问题,而后者能够处理多个比率问题。
1.2 比率和问题 sum-of-ratios
原问题:
maximize
x
∑
m
=
1
M
A
m
(
x
)
B
m
(
x
)
subject to
x
∈
X
\underset{\mathbf{x}}{{\text{maximize}}}\quad\ \sum_{m=1}^{M}\frac{A_{m}(\mathbf{x})}{B_{m}(\mathbf{x})}\\ {\text{subject to}}\quad\ \mathbf{x}\in\mathcal{X}
xmaximize m=1∑MBm(x)Am(x)subject to x∈X
等效问题:
maximize
x
,
y
∑
m
=
1
M
(
2
y
m
A
m
(
x
)
−
y
m
2
B
m
(
x
)
)
subject to
x
∈
X
,
y
m
∈
R
.
\underset{\mathbf{x},\,\mathbf{y}}{{\text{maximize}}}\quad\ \sum_{m=1}^{M}\left(2y_{m}\sqrt{A_{m}(\mathbf{x})}-y_{m}^{2}B_{m}(\mathbf{x})\right)\\ {\text{subject to}}\quad\ \mathbf{x}\in\mathcal{X},\;y_{m}\in\mathbb{R}.
x,ymaximize m=1∑M(2ymAm(x)−ym2Bm(x))subject to x∈X,ym∈R.
若满足concave-convex条件,使用算法1求解。
1.3 Max-min Ratio
原问题:
maximize
x
min
m
{
A
m
(
x
)
B
m
(
x
)
}
subject to
x
∈
X
\underset{\mathbf{x}}{{\text{maximize}}}\quad\ \min_{m}\left\lbrace \frac{A_{m}(\mathbf{x})}{B_{m}(\mathbf{x})}\right\rbrace \\ \text{subject to}\quad\ \mathbf{x}\in\mathcal{X}
xmaximize mmin{Bm(x)Am(x)}subject to x∈X
等效问题:
maximize
x
,
y
,
z
z
subject to
x
∈
X
,
y
m
∈
R
,
z
∈
R
2
y
m
A
m
(
x
)
−
y
m
2
B
m
(
x
)
≥
z
,
∀
m
.
\underset{\mathbf{x},\,\mathbf{y},\,z}{{\text{maximize}}}\quad\ z\\ {\text{subject to}}\quad\ \mathbf{x}\in\mathcal{X},\;y_{m}\in\mathbb{R},\;z\in\mathbb{R}\\ \quad\ 2y_{m}\sqrt{A_{m}(\mathbf{x})}-y_{m}^{2}B_{m}(\mathbf{x})\geq z,\;\forall m.
x,y,zmaximize zsubject to x∈X,ym∈R,z∈R 2ymAm(x)−ym2Bm(x)≥z,∀m.
若满足concave-convex条件,使用算法1求解。
1.4 多维问题
MIMO系统中,分子是向量,分母是矩阵的多维复数情况下考虑FP。 a m ( x ) : C d 1 → C d 2 \mathbf{a}_{m}(\mathbf{x}):\mathbb{C}^{d_{1}}\rightarrow\mathbb{C}^{d_{2}} am(x):Cd1→Cd2, B m ( x ) : C d 1 → S + + d 2 × d 2 \mathbf{B}_{m}(\mathbf{x}):\mathbb{C}^{d_{1}}\rightarrow\mathbb{S}_{++}^{d_{2}\times d_{2}} Bm(x):Cd1→S++d2×d2, a m † \mathbf{a}_{m}^{\dagger} am†为 a m ( x ) \mathbf{a}_{m}(\mathbf{x}) am(x)共轭转置(矩阵同理), B m − 1 \mathbf{B}_{m}^{-1} Bm−1为矩阵的逆。
原问题:
m
a
x
i
m
i
z
e
x
∑
m
=
1
M
a
m
+
(
x
)
B
m
−
1
(
x
)
a
m
(
x
)
s
u
b
j
e
c
t
t
o
x
∈
X
.
\mathop {{\rm{maximize}}}\limits_{\bf{x}} \sum\limits_{m = 1}^M {{\bf{a}}_m^{+}} ({\bf{x}}){\bf{B}}_m^{ - 1}({\bf{x}}){{\bf{a}}_m}({\bf{x}})\\ {\rm{\quad subject\quad to \quad }}{\bf{x}} \in {\cal X}.
xmaximizem=1∑Mam+(x)Bm−1(x)am(x)subjecttox∈X.
等效问题:
max
x
,
y
∑
m
=
1
M
(
2
R
e
{
y
m
†
a
m
(
x
)
}
−
y
m
†
B
m
(
x
)
y
m
)
s
u
b
j
e
c
t
t
o
x
∈
X
,
y
m
∈
C
d
2
\mathop {\max }\limits_{{\bf{x}},{\kern 1pt} {\bf{y}}} \sum\limits_{m = 1}^M {\left( {2{\mathop{\rm Re}\nolimits} \{ {\bf{y}}_m^ {\dagger} {{\bf{a}}_m}({\bf{x}})\} - {\bf{y}}_m^ {\dagger} {{\bf{B}}_m}({\bf{x}}){{\bf{y}}_m}} \right)} \\ {\rm{subject to }}{\bf{x}} \in {\cal X},\;{{\bf{y}}_m} \in {\mathbb{C}^{{d_2}}}
x,ymaxm=1∑M(2Re{ym†am(x)}−ym†Bm(x)ym)subjecttox∈X,ym∈Cd2
若满足concave-convex条件,该问题也可使用算法1求解,步骤2替换为 y m ⋆ = ( B m ( x ) ) − 1 a m ( x ) \mathbf{y}_{m}^{\star}=(\mathbf{B}_{m}(\mathbf{x}))^{-1}\mathbf{a}_{m}(\mathbf{x}) ym⋆=(Bm(x))−1am(x)即可。
2. FP的拉格朗日对偶变换
当FP不满足concave-convex条件时,比如约束集
X
\mathcal{X}
X非凸,即
x
\mathbf{x}
x含有离散变量时,可用拉格朗日对偶变换(Lagrangian
dual transform),以下直接贴出论文中推导结果。
2.1 一维问题
原问题:
maximize x ∑ m = 1 M w m log ( 1 + A m ( x ) B m ( x ) ) subject to x ∈ X \begin{aligned}\underset{\mathbf{x}}{\text{maximize}}\quad\ & \sum_{m=1}^{M}w_{m}\log\left(1+\frac{A_{m}(\mathbf{x})}{B_{m}(\mathbf{x})}\right)\\ \text{subject to}\quad\ & \mathbf{x}\in\mathcal{X} \end{aligned} xmaximize subject to m=1∑Mwmlog(1+Bm(x)Am(x))x∈X
等效问题:加入了辅助变量 γ m \gamma_{m} γm
maximize x , γ f r ( x , γ ) subject to x ∈ X \begin{aligned}\underset{\mathbf{x},\,\boldsymbol{\gamma}}{{\text{maximize}}}\quad\ & f_{r}(\mathbf{x},\boldsymbol{\gamma})\\ {\text{subject to}}\quad\ & \mathbf{x}\in\mathcal{X} \end{aligned} x,γmaximize subject to fr(x,γ)x∈X
f r ( x , γ ) = ∑ m = 1 M w m log ( 1 + γ m ) − ∑ m = 1 M w m γ m + ∑ m = 1 M w m ( 1 + γ m ) A m ( x ) A m ( x ) + B m ( x ) ⏟ Sum-of-ratio term \begin{aligned}f_{r}(\mathbf{x},\boldsymbol{\gamma})=\sum_{m=1}^{M}w_{m}\log\,(1+\gamma_{m})-\sum_{m=1}^{M}w_{m}\gamma_{m}+\underbrace{\sum_{m=1}^{M}\frac{w_{m}(1+\gamma_{m})A_{m}(\mathbf{x})}{A_{m}(\mathbf{x})+B_{m}(\mathbf{x})}}_{\text{Sum-of-ratio term}}\end{aligned} fr(x,γ)=m=1∑Mwmlog(1+γm)−m=1∑Mwmγm+Sum-of-ratio term m=1∑MAm(x)+Bm(x)wm(1+γm)Am(x)
求解思路:对于固定的 x \mathbf{x} x,通过 ∂ f r / ∂ γ i = 0 \partial f_{r}/\partial\gamma_{i}=0 ∂fr/∂γi=0可以求出 γ i ⋆ \gamma_{i}^{\star} γi⋆。然后对后面的分数项,做二次变换等效,引入辅助变量 y m y_{m} ym,得到另一个目标函数 f q ( x , γ , y ) f_{q}(\mathbf{x},\boldsymbol{\gamma},\mathbf{y}) fq(x,γ,y),通过 ∂ f q / ∂ y i = 0 \partial f_{q}/\partial y_{i}=0 ∂fq/∂yi=0可以求出 y i ⋆ y_{i}^{\star} yi⋆。这样就只剩下变量组 x \mathbf{x} x,此时目标函数不含有分数项,可能可以得到一些闭式解,或者 x \mathbf{x} x中的部分变量有闭式解,其他变量(如离散项)仍需要再找解法。
具体而言(从所给例子中得到),结合(4),得到:
∂ f r / ∂ γ m = 0 → γ m ⋆ = A m ( x ) / B m ( x ) \partial f_{r}/\partial\gamma_{m}=0\quad\rightarrow\quad\gamma_{m}^{\star}=A_{m}(\mathbf{x})/B_{m}(\mathbf{x}) ∂fr/∂γm=0→γm⋆=Am(x)/Bm(x)
f q ( x , γ , y ) = ∑ m = 1 M w m log ( 1 + γ m ) − ∑ m = 1 M w m γ m ⏟ f r 的前两项 + ∑ m = 1 M 2 y m w m ( 1 + γ m ) A m ( x ) ⏟ 分式项的分子A’ − y m 2 ( A m ( x ) + B m ( x ) ) ⏟ 分式项的分母B’ f_{q}(\mathbf{x},\boldsymbol{\gamma},\mathbf{y})=\underbrace{\sum_{m=1}^{M}w_{m}\log\,(1+\gamma_{m})-\sum_{m=1}^{M}w_{m}\gamma_{m}}_{f_{r}{的前两项}}+\sum_{m=1}^{M}2y_{m}\sqrt{\underbrace{w_{m}(1+\gamma_{m})A_{m}(\mathbf{x})}_{\text{分式项的分子A'}}}-y_{m}^{2}\underbrace{\left(A_{m}(\mathbf{x})+B_{m}(\mathbf{x})\right)}_{\text{分式项的分母B'}} fq(x,γ,y)=fr的前两项 m=1∑Mwmlog(1+γm)−m=1∑Mwmγm+m=1∑M2ym分式项的分子A’ wm(1+γm)Am(x)−ym2分式项的分母B’ (Am(x)+Bm(x))
∂ f q / ∂ y i = 0 → y m ⋆ = A ′ B ′ = w m ( 1 + γ m ) A m ( x ) A m ( x ) + B m ( x ) \partial f_{q}/\partial y_{i}=0\quad\rightarrow\quad y_{m}^{\star}=\frac{\sqrt{A'}}{B'}=\frac{\sqrt{w_{m}(1+\gamma_{m})A_{m}(\mathbf{x})}}{A_{m}(\mathbf{x})+B_{m}(\mathbf{x})} ∂fq/∂yi=0→ym⋆=B′A′=Am(x)+Bm(x)wm(1+γm)Am(x)
2.2多维问题
原问题:
maximize x ∑ m = 1 M w m log ( 1 + α m † ( x ) B m − 1 ( x ) α m ( x ) ) subject to x ∈ X \begin{aligned}\underset{\mathbf{x}}{{\text{maximize}}} & \quad\sum_{m=1}^{M}w_{m}\log\left(1+\boldsymbol{\alpha}_{m}^{\dagger}(\mathbf{x})\mathbf{B}_{m}^{-1}(\mathbf{x})\boldsymbol{\alpha}_{m}(\mathbf{x})\right)\\ {\text{subject to}} & \quad\mathbf{x}\in\mathcal{X} \end{aligned} xmaximizesubject tom=1∑Mwmlog(1+αm†(x)Bm−1(x)αm(x))x∈X
等效问题:
maximize x , γ f r ( x , γ ) subject to x ∈ X \begin{aligned}\underset{\mathbf{x},\,\boldsymbol{\gamma}}{{\text{maximize}}}\quad\ & f_{r}(\mathbf{x},\boldsymbol{\gamma})\\ {\text{subject to}}\quad\ & \mathbf{x}\in\mathcal{X} \end{aligned} x,γmaximize subject to fr(x,γ)x∈X
f r ( x , γ ) = ∑ m = 1 M w m log ( 1 + γ m ) − ∑ m = 1 M w m γ m + ∑ m = 1 M w m ( 1 + γ m ) α m † ( x ) ( α m ( x ) α m † ( x ) + B m ( x ) ) − 1 α m ( x ) f_{r}(\mathbf{x},\boldsymbol{\gamma})=\sum_{m=1}^{M}w_{m}\log\,(1+\gamma_{m})-\sum_{m=1}^{M}w_{m}\gamma_{m}+\sum_{m=1}^{M}w_{m}(1+\gamma_{m})\boldsymbol{\alpha}_{m}^{\dagger}(\mathbf{x})(\boldsymbol{\alpha}_{m}(\mathbf{x})\boldsymbol{\alpha}_{m}^{\dagger}(\mathbf{x})+\mathbf{B}_{m}(\mathbf{x}))^{-1}\boldsymbol{\alpha}_{m}(\mathbf{x}) fr(x,γ)=m=1∑Mwmlog(1+γm)−m=1∑Mwmγm+m=1∑Mwm(1+γm)αm†(x)(αm(x)αm†(x)+Bm(x))−1αm(x)
求解思路:同上。
具体而言(从所给例子中得到):
∂ f r / ∂ γ m = 0 → γ m ⋆ = α m † ( x ) B m − 1 ( x ) α m ( x ) \partial f_{r}/\partial\gamma_{m}=0\quad\rightarrow\quad\gamma_{m}^{\star}=\boldsymbol{\alpha}_{m}^{\dagger}(\mathbf{x})\mathbf{B}_{m}^{-1}(\mathbf{x})\boldsymbol{\alpha}_{m}(\mathbf{x}) ∂fr/∂γm=0→γm⋆=αm†(x)Bm−1(x)αm(x)
注意, f r f_{r} fr中的“分子”是 w m ( 1 + γ m ) α m † ( x ) α m ( x ) w_{m}(1+\gamma_{m})\boldsymbol{\alpha}_{m}^{\dagger}(\mathbf{x})\boldsymbol{\alpha}_{m}(\mathbf{x}) wm(1+γm)αm†(x)αm(x),对应的 α ′ m ( x ) = w m ( 1 + γ m ) α m ( x ) \boldsymbol{\alpha'}_{m}(\mathbf{x})=\sqrt{w_{m}(1+\gamma_{m})}\boldsymbol{\alpha}_{m}(\mathbf{x}) α′m(x)=wm(1+γm)αm(x)(记得常数项要开根号),而“分母”是 B ′ m ( x ) = α m ( x ) α m † ( x ) + B m ( x ) \mathbf{B'}_{m}(\mathbf{x})=\boldsymbol{\alpha}_{m}(\mathbf{x})\boldsymbol{\alpha}_{m}^{\dagger}(\mathbf{x})+\mathbf{B}_{m}(\mathbf{x}) B′m(x)=αm(x)αm†(x)+Bm(x),根据(8),得到:
f q ( x , γ , y ) = ∑ m = 1 M w m log ( 1 + γ m ) − ∑ m = 1 M w m γ m ⏟ f r 的前两项 + ∑ m = 1 M ( 2 Re { y m † α ′ m ( x ) } − y m † B ′ m ( x ) y m ) f_{q}(\mathbf{x},\boldsymbol{\gamma},\mathbf{y})=\underbrace{\sum_{m=1}^{M}w_{m}\log\,(1+\gamma_{m})-\sum_{m=1}^{M}w_{m}\gamma_{m}}_{f_{r}{的前两项}}+\sum_{m=1}^{M}\left(2{\text{Re}}\left\lbrace \mathbf{y}_{m}^{\dagger}\mathbf{\boldsymbol{\alpha}'}_{m}(\mathbf{x})\right\rbrace -\mathbf{y}_{m}^{\dagger}\mathbf{B'}_{m}(\mathbf{x})\mathbf{y}_{m}\right) fq(x,γ,y)=fr的前两项 m=1∑Mwmlog(1+γm)−m=1∑Mwmγm+m=1∑M(2Re{ym†α′m(x)}−ym†B′m(x)ym)
y m ⋆ = ( B ′ m ( x ) ) − 1 α ′ m ( x ) \mathbf{y}_{m}^{\star}=(\mathbf{B'}_{m}(\mathbf{x}))^{-1}\mathbf{\boldsymbol{\alpha}'}_{m}(\mathbf{x}) ym⋆=(B′m(x))−1α′m(x)
第2部分请点击 FP分数规划在无线通信中的应用(II)享用
欢迎关注VX公号“优化与算法”了解更多