首页 > 其他分享 >FP分数规划在无线通信中的应用

FP分数规划在无线通信中的应用

时间:2024-07-30 21:17:00浏览次数:11  
标签:FP 问题 分数 变换 用户 调度 无线通信 等效

更多精彩内容请关注微信公众号 ‘优化与算法

前言

在数学优化中,分数规划是线性分式规划的推广。分数规划中的目标函数是两个函数的比值,这两个函数通常是非线性的。要优化的比值通常描述系统的某种效率。

1. Concave-convex FP问题

1.1 基本形式

一维问题。符号说明:用R表示实数集,用R+表示非负实数集,再用R++表示严格正实数集,用C表示复数集,用S++表示对称正定矩阵集。\mathcal{X}\subseteq\mathbb{R}^{d}(d\in\mathbb{N}),A为非负函数A(\mathbf{x}):\mathbb{R}^{d}\rightarrow\mathbb{R}_{+},B为正函数B(\mathbf{x}):\mathbb{R}^{d}\rightarrow\mathbb{R}_{++} \begin{equation}
\begin{aligned}\underset{\mathbf{x}}{{\text{maximize}}}\quad\  & \frac{A(\mathbf{x})}{B(\mathbf{x})}\
{\text{subject to}}\quad\  & \mathbf{x}\in\mathcal{X}.
\end{aligned}
\label{eq:FPbase}
\end{equation}\\ 二次变换等效形式如下。这种构造有几个性质:分子与分母解耦、最优解与原问题等效、目标函数与原问题等效(比前一个性质更强,适用于多比率问题)、目标函数concave.

\begin{equation}
\begin{aligned}\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}.
\end{aligned}
\label{eq:FPbase_eq}
\end{equation}\\

当满足以下条件时,此FP问题为concave-convex :(1)分子A_{m}(\mathbf{x})都是concave;(2)分母B_{m}(\mathbf{x})都convex;(3)约束集\mathcal{X}是由有限个不等式约束表示的标准形式的非空凸集。


一维FP concave-convex问题算法

  • 步骤1:找到\mathbf{x}可行解,并将原问题做二次变换等效。
  • 步骤2:由y_{m}^{\star}=\frac{\sqrt{A_{m}(\mathbf{x})}}{B_{m}(\mathbf{x})},\;\forall m=1,\ldots,M.更新所有y_{m}
  • 步骤3:将y_{m}代入等效问题,求解关于\mathbf{x}的concave问题,更新\mathbf{x}
  • 步骤4:重复步骤2和3,直至收敛。(本算法确保可收敛到一个stationary point)

传统的Dinkelbach’s变换可以比所提出的二次变换更快地收敛,但前者的使用仅限于单个比率问题,而后者能够处理多个比率问题。

1.2 比率和问题 sum-of-ratios

原问题: \begin{equation}
\begin{aligned}\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}
\end{aligned}
\label{eq:FPsum}
\end{equation}\\ 等效问题: \begin{equation}
\begin{aligned}\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}.
\end{aligned}
\label{eq:FPsum_eq}
\end{equation}\\ 若满足concave-convex条件,使用算法1求解。

1.3 Max-min Ratio

原问题: \begin{equation}
\begin{aligned}\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}
\end{aligned}
\label{eq:FPmaxmin}
\end{equation}\\ 等效问题: \begin{equation}
\begin{aligned}\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.
\end{aligned}
\label{eq:FPmaxmin_eq}
\end{equation}\\ 若满足concave-convex条件,使用算法1求解。

1.4 多维问题

MIMO系统中,分子是向量,分母是矩阵的多维复数情况下考虑FP。\mathbf{a}_{m}(\mathbf{x}):\mathbb{C}^{d_{1}}\rightarrow\mathbb{C}^{d_{2}},\mathbf{B}_{m}(\mathbf{x}):\mathbb{C}^{d_{1}}\rightarrow\mathbb{S}_{++}^{d_{2}\times d_{2}},\mathbf{a}_{m}^{\dagger}\mathbf{a}_{m}(\mathbf{x})共轭转置(矩阵同理),\mathbf{B}_{m}^{-1}为矩阵的逆。

原问题: \begin{equation}
\begin{array}{l}
\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}.
\end{array}
\label{eq:FPmD}
\end{equation}\\

等效问题: \begin{equation}
\begin{array}{l}
\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}}}
\end{array}
\label{eq8}
\end{equation}\\

若满足concave-convex条件,该问题也可使用算法1求解,步骤2替换为\mathbf{y}_{m}^{\star}=(\mathbf{B}_{m}(\mathbf{x}))^{-1}\mathbf{a}_{m}(\mathbf{x})即可。

2. FP的拉格朗日对偶变换

当FP不满足concave-convex条件时,比如约束集\mathcal{X}非凸,即\mathbf{x}含有离散变量时,可用拉格朗日对偶变换(Lagrangian dual transform),以下直接贴出论文中推导结果。

2.1 一维问题

原问题:

\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}
\\

等效问题:加入了辅助变量\gamma_{m}

\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}
\\ \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}
\\

求解思路:对于固定的\mathbf{x},通过\partial f_{r}/\partial\gamma_{i}=0可以求出\gamma_{i}^{\star}。然后对后面的分数项,做二次变换等效,引入辅助变量y_{m},得到另一个目标函数f_{q}(\mathbf{x},\boldsymbol{\gamma},\mathbf{y}),通过\partial f_{q}/\partial y_{i}=0可以求出y_{i}^{\star}。这样就只剩下变量组\mathbf{x},此时目标函数不含有分数项,可能可以得到一些闭式解,或者\mathbf{x}中的部分变量有闭式解,其他变量(如离散项)仍需要再找解法。

具体而言(从所给例子中得到),结合(4),得到:

\partial f_{r}/\partial\gamma_{m}=0\quad\rightarrow\quad\gamma_{m}^{\star}=A_{m}(\mathbf{x})/B_{m}(\mathbf{x})
\\ 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'}}
\\ \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})}
\\

2.2多维问题

原问题:

\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}
\\

等效问题:

\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}
\\ 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})
\\

求解思路:同上。

具体而言(从所给例子中得到):

\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})
\\

注意,f_{r}中的“分子”是w_{m}(1+\gamma_{m})\boldsymbol{\alpha}_{m}^{\dagger}(\mathbf{x})\boldsymbol{\alpha}_{m}(\mathbf{x}),对应的\boldsymbol{\alpha'}_{m}(\mathbf{x})=\sqrt{w_{m}(1+\gamma_{m})}\boldsymbol{\alpha}_{m}(\mathbf{x})(记得常数项要开根号),而“分母”是\mathbf{B'}_{m}(\mathbf{x})=\boldsymbol{\alpha}_{m}(\mathbf{x})\boldsymbol{\alpha}_{m}^{\dagger}(\mathbf{x})+\mathbf{B}_{m}(\mathbf{x}),根据(8),得到:

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)
\\ \mathbf{y}_{m}^{\star}=(\mathbf{B'}_{m}(\mathbf{x}))^{-1}\mathbf{\boldsymbol{\alpha}'}_{m}(\mathbf{x})
\\

3. 具体例子

3.1-3.3都只需要用第一章concave-convex方法求解,3.4-3.6需要用到第二章的拉格朗日对偶变换,而且具体解\mathbf{x}时需要对离散变量单独开发算法。

3.1 多小区SISO能量分配

第一个例子是具有一组单天线基站(BSs)\mathcal{B}的下行链路SISO蜂窝网络的经典功率控制问题,每个基站服务于单天线用户。设h_{i,j}\inC是从BS j到用户i的下行链路信道;设\sigma^{2}为加性高斯白噪声(AWGN)功率电平。为每个BS i引入可变p_{i}作为其发射功率电平,受Pmax功率预算的约束。第i个用户的速率

R_{i}=\log\left(1+\frac{|h_{i,i}|^{2}p_{i}}{\sum_{j\ne i}|h_{i,j}|^{2}p_{j}+\sigma^{2}}\right)
\\

优化问题如下。

\begin{aligned}\underset{\mathbf{p}}{\text{maximize}}\quad\  & f_{o}(\mathbf{p})=\sum_{i\in\mathcal{B}}w_{i}R_{i}\\
\text{subject to}\quad\  & 0\leq p_{i}\leq P_{\max},\;\forall i\in\mathcal{B}.
\end{aligned}
\\

先说明,对于两种等效方法,都可以使用简单的初始值,比如能量平均分配。此问题可以拓展到多载波R_{i}=\sum_{t=1}^{T}\frac{1}{T}\log\left(1+\frac{|h_{i,i}^{t}|^{2}p_{i}^{t}}{\sum_{j\ne i}|h_{i,j}^{t}|^{2}p_{j}^{t}+\sigma^{2}}\right)

3.1.1 Direct FP

对log里面的分数项做处理,得到直接FP形式如下。直接使用算法1,可以得到y_{i}^{\star}=\frac{\sqrt{A_{m}(\mathbf{x})}}{B_{m}(\mathbf{x})}=\frac{\sqrt{|h_{i,i}|^{2}p_{i}}}{\sum_{j\ne i}|h_{i,j}|^{2}p_{j}+\sigma^{2}},代入后用数值方法求解p(剩下的是凸问题),然后迭代。

f_{q}^{\text{DIR}}(\mathbf{p},\mathbf{y})=\sum_{i\in\mathcal{B}}w_{i}\log\Bigg(1+2y_{i}\sqrt{|h_{i,i}|^{2}p_{i}}-y_{i}^{2}\Bigg(\sum_{j\ne i}|h_{i,j}|^{2}p_{j}+\sigma^{2}\Bigg)\Bigg)
\\

进一步地,只要目标函数(或叫做效用函数)U_{i}是关于R_{i}的nondecreasing concave函数,都可以对R_{i}里面的分数项使用二次变换等效。

3.1.2 拉格朗日对偶变换求闭式解

应用第二部分的拉格朗日对偶变换方法,首先得到下式,

f_{r}^{{\text{CF}}}(\mathbf{p},\boldsymbol{\gamma})=\sum_{i\in\mathcal{B}}w_{i}\log\left(1+\gamma_{i}\right)-\sum_{i\in\mathcal{B}}w_{i}\gamma_{i}+\sum_{i\in\mathcal{B}}\frac{w_{i}(1+\gamma_{i})|h_{i,i}|^{2}p_{i}}{\sum_{j\in\mathcal{B}}|h_{i,j}|^{2}p_{j}+\sigma^{2}}
\\

上式引入辅助变量的最优解为\gamma_{i}^{\star}=\frac{A_{m}(\mathbf{x})}{B_{m}(\mathbf{x})}=\frac{|h_{i,i}|^{2}p_{i}}{\sum_{j\ne i}|h_{i,j}|^{2}p_{j}+\sigma^{2}},再对最后一项分数项做二次变换,f_{r}的前两项记为\text{const}(\boldsymbol{\gamma})

f_{q}^{\text{CF}}(\mathbf{p},\boldsymbol{\gamma},\mathbf{y})=\sum_{i\in\mathcal{B}}2y_{i}\sqrt{w_{i}(1+\gamma_{i})|h_{i,i}|^{2}p_{i}}-\sum_{i\in\mathcal{B}}y_{i}^{2}\Bigg(\sum_{j\in\mathcal{B}}|h_{i,j}|^{2}p_{j}+\sigma^{2}\Bigg)+\text{const}(\boldsymbol{\gamma})
\\

上式引入辅助变量的最优解为y_{i}^{\star}=\frac{\sqrt{A_{m}(\mathbf{x})}}{B_{m}(\mathbf{x})}=\frac{\sqrt{w_{i}(1+\gamma_{i})|h_{i,i}|^{2}p_{i}}}{\sum_{j\in\mathcal{B}}|h_{i,j}|^{2}p_{j}+\sigma^{2}},\;\forall i\in\mathcal{B}.,然后f_{q}p求导,再结合约束条件中$p<p_{\max}$,即可解得< p=""> p_{i}^{\star}=\min\Bigg\lbrace P_{\max},\frac{y_{i}^{2}w_{i}(1+\gamma_{i})|h_{i,i}|^{2}}{\big(\sum_{j\in\mathcal{B}}y_{j}^{2}|h_{j,i}|^{2}\big)^{2}}\Bigg\rbrace,\;\forall i\in\mathcal{B}
\\

最后,\gamma_{i}^{\star},y_{i}^{\star},p_{i}^{\star}依次迭代,可收敛到最优值。

自行推导p_{i}^{\star}:首先可以得到f_{q}中关于p_{i}的一项为:

f_{q,i}=2y_{i}\sqrt{w_{i}(1+\gamma_{i})|h_{i,i}|^{2}}\sqrt{p_{i}}-\sum_{j\in\mathcal{B}}y_{j}^{2}|h_{j,i}|^{2}\cdot p_{i}
\\

注意f_{q}后面一项要拆分再合并才得到f_{q,i}的后面一项。此时f_{q,i}=c_{1}\sqrt{p_{i}}/2-c_{2}\cdot p_{i},令\partial f_{q,i}/\partial p_{i}=c_{1}/\sqrt{p_{i}}/2-c_{2}=0,则p_{i}=(c_{1}/c_{2}/4)^{2},就是上式。

3.1.3 结果比较

图中的SCALE是一个modified version of geometric programming (GP)[32]. 要注意,SCALE每次迭代要用数值法解一个GP问题,Direct FP每次迭代要用数值法解一个关于p的凸优化问题,牛顿法中有比较复杂的公式和一部分搜索,而闭式解FP则全是解析解。虽然所提的FP方法需要迭代数多,但复杂度还是要更低的。在作者的测试中,closed-form FP最快收敛完成。从结果上看,依靠数值法求解的SCALE和Direct FP能得到更好的性能。

  • [32] J. Papandriopoulos and J. S. Evans, “SCALE: A low-complexity distributed protocol for spectrum balancing in multiuser DSL networks,” IEEE Trans. Inf. Theory, vol. 55, no. 8, pp. 3711–3724, Jul. 2009

3.2 多小区MIMO beamforming

考虑具有一组BS \mathcal{B}的下行链路MIMO蜂窝网络。假设每个BS具有M个天线,并且每个用户终端具有N个天线;则经由空间复用每个小区最多支持M个下行链路数据流。设\mathbf{H}_{im,j}\in\mathbb{C}^{N\times M}是从{[}BS
j{]}{[}BS i]的第m个数据流中调度的用户的下行链路信道。设σ2是AWGN功率电平。引入变量\mathbf{v}_{im}\in\mathbb{C}^{M}作为其第m个数据流在BS i处的下行链路发射波束形成器。流(i,m)的数据速率如下

R_{im}(\mathbf{V})=\log\Bigg(1+\mathbf{v}_{im}^{\dagger}\mathbf{H}_{im,i}^{\dagger}\Bigg(\sigma^{2}\mathbf{I}+\sum_{(j,n)\ne(i,m)}\mathbf{H}_{im,j}\mathbf{v}_{jn}\mathbf{v}_{jn}^{\dagger}\mathbf{H}_{im,j}^{\dagger}\Bigg)^{-1}\mathbf{H}_{im,i}\mathbf{v}_{im}\Bigg)
\\

\mathbf{V}代表所有的\{\mathbf{v}_{im}\},加入权重之后,优化问题如下

\begin{aligned}\underset{\mathbf{V}}{\text{maximize}}\quad\  & \sum_{i,m}w_{im}R_{im}(\mathbf{V})\\
\text{subject to}\quad\  & \sum_{m=1}^{M}\Vert\mathbf{v}_{im}\Vert_{2}^{2}\leq P_{\max},\;\forall i\in\mathcal{B}
\end{aligned}
\\

3.2.1 Direct FP

使用1.4节中的方法,做二次变换,得到

f_{q}^{\text{DIR}}(\mathbf{V},\mathbf{Y})=\sum_{(i,m)}w_{im}\log\Bigg(1+2\text{Re}\left\lbrace \mathbf{y}_{im}^{\dagger}\mathbf{H}_{im,i}\mathbf{v}_{im}\right\rbrace -\mathbf{y}_{im}^{\dagger}\Bigg(\sigma^{2}\mathbf{I}+\sum_{(j,n)\ne(i,m)}\mathbf{H}_{im,j}\mathbf{v}_{jn}\mathbf{v}_{jn}^{\dagger}\mathbf{H}_{im,j}^{\dagger}\Bigg)\mathbf{y}_{im}\Bigg)
\\

根据\mathbf{y}_{m}^{\star}=(\mathbf{B}_{m}(\mathbf{x}))^{-1}\mathbf{a}_{m}(\mathbf{x}),得到下式。然后数值法求解二次变换后的等效问题(关于V是凸问题),迭代求解。

\mathbf{y}_{im}^{\star}=\Bigg(\sigma^{2}\mathbf{I}+\sum_{(j,n)\ne(i,m)}\mathbf{H}_{im,j}\mathbf{v}_{jn}\mathbf{v}_{jn}^{\dagger}\mathbf{H}_{im,j}^{\dagger}\Bigg)^{-1}\mathbf{H}_{im,i}\mathbf{v}_{im}
\\

3.2.2 拉格朗日对偶变换求闭式解

与3.1.2类似,只不过是矩阵形式的。首先通过拉格朗日对偶得到f_{r},再对内部的分式做二次变换得到f_{q}.

f_{r}^{\text{CF}}(\mathbf{V},\boldsymbol{\gamma})=\sum_{(i,m)}w_{im}\Bigg(\log(1+\gamma_{im})-\gamma_{im}+(1+\gamma_{im})\mathbf{v}_{im}^{\dagger}\mathbf{H}_{im,i}^{\dagger}\Bigg(\sigma^{2}\mathbf{I}+\sum_{(j,n)}\mathbf{H}_{im,j}\mathbf{v}_{jn}\mathbf{v}_{jn}^{\dagger}\mathbf{H}_{im,j}^{\dagger}\Bigg)^{-1}\mathbf{H}_{im,i}\mathbf{v}_{im}\Bigg)
\\ \gamma_{im}^{\star}=\mathbf{v}_{im}^{\dagger}\mathbf{H}_{im,i}^{\dagger}\Bigg(\sigma^{2}\mathbf{I}+\sum_{(j,n)\ne(i,m)}\mathbf{H}_{im,j}\mathbf{v}_{jn}\mathbf{v}_{jn}^{\dagger}\mathbf{H}_{im,j}^{\dagger}\Bigg)^{-1}\mathbf{H}_{im,i}\mathbf{v}_{im}
\\ f_{q}^{\text{CF}}(\mathbf{V},\boldsymbol{\gamma},\mathbf{Y})=\sum_{(i,m)}\Bigg(2\sqrt{w_{im}(1+\gamma_{im})}\;\text{Re}\lbrace\mathbf{v}_{im}^{\dagger}\mathbf{H}_{im,i}^{\dagger}\mathbf{y}_{im}\rbrace-\mathbf{y}_{im}^{\dagger}\Bigg(\sigma^{2}\mathbf{I}+\sum_{(j,n)}\mathbf{H}_{im,j}\mathbf{v}_{jn}\mathbf{v}_{jn}^{\dagger}\mathbf{H}_{im,j}^{\dagger}\Bigg)\mathbf{y}_{im}\Bigg)+\text{const}(\boldsymbol{\gamma})
\\ \mathbf{y}_{im}^{\star}=\Bigg(\sigma^{2}\mathbf{I}+\sum_{(j,n)}\mathbf{H}_{im,j}\mathbf{v}_{jn}\mathbf{v}_{jn}^{\dagger}\mathbf{H}_{im,j}^{\dagger}\Bigg)^{-1}\cdot\sqrt{w_{im}(1+\gamma_{im})}\mathbf{H}_{im,i}\mathbf{v}_{im}
\\ \mathbf{v}_{im}^{\star}=\Bigg(\eta_{i}\mathbf{I}+\sum_{(j,n)}\mathbf{H}_{jn,i}^{\dagger}\mathbf{y}_{jn}\mathbf{y}_{jn}^{\dagger}\mathbf{H}_{jn,i}\Bigg)^{-1}\cdot\sqrt{w_{im}(1+\gamma_{im})}\mathbf{H}_{im,i}^{\dagger}\mathbf{y}_{im}
\\

注意\mathbf{v}_{im}^{\star}中还有一个变量\eta_{i}\eta_{i}是为功率约束引入的对偶变量,由(互补松弛)最优确定。文章说这个值可以由二分搜索等方法得到,应该是把\eta_{i}代入上式,

\eta_{i}^{\star}=\min\left\lbrace \eta_{i}\geq0:\sum_{m=1}^{M}\Vert\mathbf{v}_{im}(\eta_{i})\Vert_{2}^{2}\leq P_{\max}\right\rbrace 
\\

需要注意的是,此方法和WMMSE等效算法得到的结果是一致的。与前面类似,Direct FP可以得到更好的性能,而Closed-form FP可以得到更低复杂度。

自行推导\mathbf{v}_{im}^{\star}:与3.1.2类似,注意矩阵求导\partial\mathbf{b}^{T}\mathbf{X}^{T}\mathbf{Xc}/\partial\mathbf{X}=\mathbf{X}(\mathbf{b}\mathbf{c}^{T}+\mathbf{c}\mathbf{b}^{T}),则\partial\mathbf{b}^{T}\mathbf{X}^{T}\mathbf{Xb}/\partial\mathbf{X}=2\mathbf{b}\mathbf{b}^{T}\mathbf{X}. \eta_{i}是在求解\mathbf{v}_{im}^{\star}时,把约束考虑进来之后,构造出来的拉格朗日对偶问题引入的辅助变量。 对于约束\sum_{m=1}^{M}\Vert\mathbf{v}_{im}\Vert_{2}^{2}\leq P_{\max},可写为\sum_{m=1}^{M}\mathbf{v}_{im}^{\dagger}\mathbf{v}_{im}-P_{\max}\leq0,即\mathrm{tr}\{\mathbf{V}_{i}^{\dagger}\mathbf{V}_{i}\}-P_{\max}\leq0, 构造出

f_{q,v}^{\text{CF}}(\mathbf{V},\boldsymbol{\gamma},\mathbf{Y})=f_{q}^{\text{CF}}(\mathbf{V},\boldsymbol{\gamma},\mathbf{Y})-\sum_{i}\eta_{i}\left(\mathrm{tr}\{\mathbf{V}_{i}^{\dagger}\mathbf{V}_{i}\}-P_{\max}\right)
\\

添加的对偶项求导后为2\eta_{i}\mathbf{V}_{i}.

3.3 能效最大化

跨多个干扰链路的能效最大化是一个更具挑战性的问题。考虑一个空间复用多天线广播信道模型,其中一个发送器配备有M个天线,以向其M个接收器发送单独的数据。假设每个接收机具有N个天线并且支持一个数据流。设\mathbf{H}_{m}\in\mathbb{C}^{N\times M}是发送方和第M个接收方之间的信道;设\mathbf{v}_{m}\in\mathbb{C}^{M}是用于传输到第m个接收器的波束形成器。P_{on}是电路的固定功耗。在这种情况下,能源效率最大化问题如下

\begin{aligned}\underset{\mathbf{V}}{\text{maximize}}\quad\  & \frac{\sum_{m=1}^{M}R_{m}(\mathbf{V})}{\sum_{m=1}^{M}\Vert\mathbf{v}_{m}\Vert_{2}^{2}+P_{\text{on}}}\\
\text{subject to}\quad\  & \sum_{m=1}^{M}\Vert\mathbf{v}_{m}\Vert_{2}^{2}\leq P_{\max}
\end{aligned}
\\ R_{m}(\mathbf{V})=\log\Bigg(1+\mathbf{v}_{m}^{\dagger}\mathbf{H}_{m}^{\dagger}\Bigg(\sigma^{2}\mathbf{I}+\sum_{n\ne m}\mathbf{H}_{m}\mathbf{v}_{n}\mathbf{v}_{n}^{\dagger}\mathbf{H}_{m}^{\dagger}\Bigg)^{-1}\cdot\mathbf{H}_{m}\mathbf{v}_{m}\Bigg)
\\

这个问题里,目标函数是一个分式,而R_{m}内部又是一个分式,直接使用两次二次变换等效,使用Direct FP方法求解。仿真表明,在单链路问题下,可以收敛到和Dinkelbach等效方法一致的结果,多链路时Dinkelbach方法不适用。

3.4 多小区SISO上行调度和能量分配

考虑无线蜂窝网络的上行链路,B是部署在网络中的基站(BSs)集合,\mathcal{K}_{i}是与BS i关联的用户集合,每个BS i及其在\mathcal{K}_{i}中的关联用户构成一个小区。在每个时隙中,用户被调度为基于小区的上行链路传输。为了用户调度和功率控制的目的,引入变量s_{i}\in\mathcal{K}_{i}表示在BS i调度的用户,如果用户k被调度为上行链路传输,则引入变量p_{k}表示其发射功率电平。设h_{i,k}\in\mathbb{C}是从用户k到BS i的上行信道系数。关于s_{i}的理解,SISO场景,基站i一个时刻只能与一个设备通信,s_{i}就是这个设备的编号?比如基站1对设备5,基站2对设备6,那么s_{1}=5,s_{2}=6 ?由于上行链路调度决策对干扰模式有重要影响,即小区i中的特定调度决策si强烈影响其相邻小区中的调度决策sj,因此这个问题很难直接解决。为什么直接讨论拉格朗日对偶变换法(性能比direct FP差点),因为想得到更多的解析式来讨论?

\begin{aligned}\underset{\mathbf{s},\,\mathbf{p}}{\text{maximize}}\quad\  & f_{o}(\mathbf{s},\mathbf{p})=\sum_{i\in\,\mathcal{B}}w_{s_{i}}\log\left(1+\frac{|h_{i,s_{i}}|^{2}p_{s_{i}}}{\sum_{j\ne i}|h_{i,s_{j}}|^{2}p_{s_{j}}+\sigma^{2}}\right)\\
\text{subject to}\quad\  & 0\leq p_{k}\leq P_{\max},\quad s_{i}\in\mathcal{K}_{i}\cup\lbrace\varnothing\rbrace
\end{aligned}
\\

一种经典的等效方法是

f_{o}(\mathbf{p})=\sum_{i\in\,\mathcal{B}}\sum_{k\in{\mathcal{K}}_{i}}w_{k}\log\bigg(1+\frac{|h_{i,k}|^{2}p_{k}}{\sum_{k^{\prime}\ne k}|h_{i,k^{\prime}}|^{2}p_{k^{\prime}}+\sigma^{2}}\bigg)
\\

主要问题是,由于目标函数的高度非凸性,功率控制算法的驻点对初始条件高度敏感。因此,这类方法存在严重的过早停止问题。如果某个环节在迭代优化的早期阶段被停用,那么它就永远无法在以后的迭代中被重新激活,因为它的局部梯度会强烈阻碍它这样做。使用GP的方法[30]可以改善这点,但只能在高SINR下工作,但是在小区干扰场景中,SINR往往较低。 使用拉格朗日对偶变换:

f_{r}(\mathbf{s},\mathbf{p},\boldsymbol{\gamma})=\sum_{i\in\,\mathcal{B}}w_{s_{i}}\log\left(1+\gamma_{i}\right)-\sum_{i\in\,\mathcal{B}}w_{s_{i}}\gamma_{i}+\sum_{i\in\,\mathcal{B}}\frac{w_{s_{i}}(\gamma_{i}+1)|h_{i,s_{i}}|^{2}p_{s_{i}}}{\sum_{j}|h_{i,s_{j}}|^{2}p_{s_{j}}+\sigma^{2}}
\\

与前面的步骤一样,\gamma_{i}^{\star}=\frac{|h_{i,s_{i}}|^{2}p_{s_{i}}}{\sum_{j\ne i}|h_{i,s_{j}}|^{2}p_{s_{j}}+\sigma^{2}},再对f_{r}分数项做二次变换f_{q}y_{i}^{\star}=\frac{\sqrt{w_{s_{i}}(1+\gamma_{i})|h_{i,s_{i}}|^{2}p_{s_{i}}}}{\sum_{j\in\,\mathcal{B}}|h_{i,s_{j}}|^{2}p_{s_{j}}+\sigma^{2}},也可求得p_{k}^{\star}=\min\left\lbrace P_{\max},\frac{w_{k}(1+\gamma_{i})\left|h_{i,k}\right|^{2}y_{i}^{2}}{\left(\sum_{j\in\,\mathcal{B}}\left|h_{j,k}\right|^{2}y_{j}^{2}\right)^{2}}\right\rbrace ,\;\forall k\in\mathcal{K}_{i}.

f_{q}(\mathbf{s},\mathbf{p},\boldsymbol{\gamma},\mathbf{y})=\sum_{i\in\,\mathcal{B}}w_{s_{i}}\log\,(1+\gamma_{i})-\sum_{i\in\,\mathcal{B}}w_{s_{i}}\gamma_{i}+\sum_{i\in\,\mathcal{B}}\Bigg(2y_{i}\sqrt{w_{s_{i}}(\gamma_{i}+1)\left|h_{i,s_{i}}\right|^{2}p_{s_{i}}}-y_{i}^{2}\Bigg(\sum_{j\in\,\mathcal{B}}\left|h_{i,s_{j}}\right|^{2}p_{s_{j}}+\sigma^{2}\Bigg)\Bigg)
\\

重写成如下形式,可以看到问题被解耦,具体地说,“每个小区中的调度和功率优化,即(s_{i}p_{i}),可以在每个小区中独立地完成。即当γ和y固定时,si的优化不依赖于其他sj变量。”(不是很理解,y\gamma的取值不是还和s_{j}有关么?也不算完全解耦,只是这个式子里确实只关注s_{i}就行,而且计算p_{k}^{\star}的时候也不用关注s_{i}是哪个。)下式也可以看做一个总的效用函数,G_{i}(k)({其中计算时}k\in\mathcal{K}_{i})是在BS i处调度用户k的效用增益,而D_{j}(k)({其中计算时}k\notin\mathcal{K}_{j})则是通过调度用户k干扰相邻小区j的惩罚。即遍历计算每个用户k的总效用,选最大就完成了s_{i}的优化,不需要对所有(s_{1},s_{2},...)调度组合做搜索,复杂度大大降低。在实际应用中,可以使用两阶段调度策略来降低该算法的实现复杂度。我们首先根据潜在用户的权重粗略地选择其子集,然后应用算法对调度决策进行细化。

f_{q}(\mathbf{s},\mathbf{p},\boldsymbol{\gamma},\mathbf{y})=\sum_{i\in\,\mathcal{B}}\Bigg(\underbrace{w_{s_{i}}\log\,(1+\gamma_{i})-w_{s_{i}}\gamma_{i}-y_{i}^{2}\sigma^{2}+2y_{i}\sqrt{w_{s_{i}}(\gamma_{i}+1)\left|h_{i,s_{i}}\right|^{2}p_{s_{i}}}}_{G_{i}(s_{i})}-\sum_{j\in\,\mathcal{B}}\underbrace{y_{j}^{2}\left|h_{j,s_{i}}\right|^{2}p_{s_{i}}}_{D_{j}(s_{i})}\Bigg)
\\ s_{i}^{\star}=\begin{cases}
\varnothing, & \text{if}\;\max_{k\in\,\mathcal{K}_{i}}\Bigg\lbrace G_{i}(k)-\sum_{j\ne i}D_{j}(k)\Bigg\rbrace\leq0\\
\arg\max_{k\in\,\mathcal{K}_{i}} & \Bigg\lbrace G_{i}(k)-\sum_{j\ne i}D_{j}(k)\Bigg\rbrace,\;\text{otherwise}
\end{cases}
\\

结果:曲线有交叉,怎么就说明FP好了呢? 主要看低速率的。比如横着看,CDF=0.1时,即对最差的10%用户,FP方法对应的data rate约1Mbps,而Power control约0.5Mbps,FP更保障了这部分差用户的性能。竖着看,速率为2Mbps(按照CDF定义,此处的值表示有多少用户低于此速率),FP只有40%用户,而Power control有60%用户,FP处于低速率的用户更少,因此更好。而对于最好的20%用户(4Mbps+),FP确实要差一些。但文章还提供了一个表,总速率的性能(总效用函数),FP大幅优于旧方法。

3.5 多小区MIMO上行调度和beamforming

假设每个用户配备有N个天线,并且每个BS配备有M个天线。因此,空间复用可以支持每个小区多达M个数据流(但是一些数据流可能具有零吞吐量)。设s_{im}是在BS i的第m个流中调度的用户的索引。如果用户k得到调度,则设\mathbf{v}_{k}\in\mathbb{C}^{N}是用户k的发送波束形成器。设\mathbf{H}_{i,k}\in\mathbb{C}^{M\times N}是从用户k到BS i的上行链路信道。

\begin{aligned}\underset{\mathbf{s},\,\mathbf{V}}{\text{maximize}}\quad\  & f_{o}(\mathbf{s},\mathbf{V}
\text{subject to}\quad\  & \Vert\mathbf{v}_{im}\Vert_{2}^{2}\leq P_{\max}\\
\quad\  & s_{im}\in\mathcal{K}_{i}\cup\lbrace\varnothing\rbrace
\end{aligned}
\\ f_{o}(\mathbf{s},\mathbf{V})=\sum_{(i,m)}w_{s_{im}}\log\left(1+\mathbf{v}_{s_{im}}^{\dagger}\mathbf{H}_{i,s_{im}}^{\dagger}\Bigg(\sigma^{2}\mathbf{I}+\sum_{(j,n)\ne(i,m)}\mathbf{H}_{i,s_{jn}}\mathbf{v}_{s_{jn}}\mathbf{v}_{s_{jn}}^{\dagger}\mathbf{H}_{i,s_{jn}}^{\dagger}\Bigg)^{-1}\mathbf{H}_{i,s_{im}}\mathbf{v}_{s_{im}}\right)
\\

问题比较直观,也和3.2与3.4那样先做两次变换,其中

\gamma _{im}^ \star  = {\bf{v}}_{{s_{im}}}^\dagger {\bf{H}}_{i,{s_{im}}}^\dagger {\left( {{\sigma ^2}{\bf{I}} + \sum\limits_{(j,n) \ne (i,m)} {{{\bf{H}}_{i,{s_{jn}}}}} {{\bf{v}}_{{s_{jn}}}}{\bf{v}}_{{s_{jn}}}^\dagger {\bf{H}}_{i,{s_{jn}}}^\dagger } \right)^{ - 1}}{{\bf{H}}_{i,{s_{im}}}}{{\bf{v}}_{{s_{im}}}}
\\ {\bf{y}}_{im}^ \star  = {({\sigma ^2}{\bf{I}} + \sum\limits_{(j,n)} {{{\bf{H}}_{i,{s_{jn}}}}} {{\bf{v}}_{{s_{jn}}}}{\bf{v}}_{{s_{jn}}}^\dagger {\bf{H}}_{i,{s_{jn}}}^\dagger )^{ - 1}} \cdot \sqrt {{w_{{s_{im}}}}(1 + {\gamma _{im}})} {{\bf{H}}_{i,{s_{im}}}}{{\bf{v}}_{{s_{im}}}}
\\ \begin{array}{l}
{f_r}({\bf{s}},{\bf{V}},{\bf{\gamma }}) = \sum\limits_{(i,m)} {{w_{{s_{im}}}}} (\log {\mkern 1mu} (1 + {\gamma _{im}})\\
 - {\gamma _{im}} + (1 + {\gamma _{im}}){\bf{v}}_{{s_{im}}}^\dagger {\bf{H}}_{i,{s_{im}}}^\dagger {({\sigma ^2}{\bf{I}} + \sum\limits_{(j,n)} {{{\bf{H}}_{i,{s_{jn}}}}} {{\bf{v}}_{{s_{jn}}}}{\bf{v}}_{{s_{jn}}}^\dagger {\bf{H}}_{i,{s_{jn}}}^\dagger )^{ - 1}}{{\bf{H}}_{i,{s_{im}}}}{{\bf{v}}_{{s_{im}}}})
\end{array}
\\ \begin{array}{l}
{f_q}({\bf{s}},{\bf{V}},{\bf{\gamma }},{\bf{Y}}) = \sum\limits_{(i,m)} {{w_{{s_{im}}}}} \log {\mkern 1mu} (1 + {\gamma _{im}})\\
 - \sum\limits_{(i,m)} {{w_{{s_{im}}}}} {\gamma _{im}} + \sum\limits_{(i,m)} ( 2\sqrt {{w_{{s_{im}}}}(1 + {\gamma _{im}})} \;{\rm{Re}}\left\{ {{\bf{v}}_{{s_{im}}}^\dagger {\bf{H}}_{i,{s_{im}}}^\dagger {{\bf{y}}_{im}}} \right\}\\
 - {\bf{y}}_{im}^\dagger ({\sigma ^2}{\bf{I}} + \sum\limits_{(j,n)} {{{\bf{H}}_{i,{s_{jn}}}}} {{\bf{v}}_{{s_{jn}}}}{\bf{v}}_{{s_{jn}}}^\dagger {\bf{H}}_{i,{s_{jn}}}^\dagger ){{\bf{y}}_{im}})
\end{array}\\

接下来的问题又是\mathbf{s}\mathbf{V}的优化问题。将加权二部匹配的思想引入到这两个变量的联合优化中。首先,由f_{q}可以看出,特定数据流(i,m)s_{im}\mathbf{v}_{im}与其他流的s和v优化是独立的(类似SISO问题中的“解耦”)。如果某个用户k在数据流(i,m)中被调度,即s_{im}=k,则用户k关于(i,m)的最优发射波束形成器可通过\partial f_{q}/\partial\mathbf{v}_{s_{im}}=0求得,表示为\tau_{k,im}

\boldsymbol{\tau}_{k,im}=\Bigg(\sum_{(j,n)}\mathbf{H}_{j,k}^{\dagger}\mathbf{y}_{jn}\mathbf{y}_{jn}^{\dagger}\mathbf{H}_{j,k}+\eta_{k,im}^{\star}\mathbf{I}\Bigg)^{-1}\cdot\sqrt{w_{k}(1+\gamma_{im})}\mathbf{H}_{i,k}^{\dagger}\mathbf{y}_{im}
\\

与3.2中的问题类似,由于约束的引入,多了个\eta_{k,im}^{\star},通过二分搜索求解\eta_{k,im}^{\star}=\min\lbrace\eta_{k,im}\geq0:\Vert\boldsymbol{\tau}_{k,im}(\eta_{k,im})\Vert_{2}^{2}\leq P_{\max}\rbrace

类似3.4节,根据f_{q}先定义一个将用户k分配给数据流(i,m)的效用函数:

\xi_{k,im}=w_{k}\log\,(1+\gamma_{im})-w_{k}\gamma_{im}+2\sqrt{w_{k}(1+\gamma_{im})}\;\text{Re}\left\lbrace \boldsymbol{\tau}_{k,im}^{\dagger}\mathbf{H}_{i,k}^{\dagger}\mathbf{y}_{im}\right\rbrace -\sigma^{2}\Vert{\mathbf{y}}_{im}\Vert_{2}^{2}-\sum_{(j,n)}\mathbf{y}_{jn}^{\dagger}\mathbf{H}_{j,k}\boldsymbol{\tau}_{k,im}\boldsymbol{\tau}_{k,im}^{\dagger}\mathbf{H}_{j,k}^{\dagger}\mathbf{y}_{jn}
\\

然后,fq最大化问题简化为以下加权二分匹配问题(背包问题),其中二进制变量x_{k,im}表示用户k是否调度在数据流(i,m)中。每个用户只能用一个流,每个流只能调度一个用户。通过使用例如匈牙利算法[6]和拍卖算法[7]的具有多项式时间计算复杂度的现有算法,计算复杂度为O((K+M)^ 3)。此外,由于在实践中,匹配权重ξk,im总是以有限精度进行评估,因此在这种有限精度的情况下,可以使用[34]中的算法将匹配的复杂度降低到O((K+M)^ 2).

\begin{aligned}\underset{\mathbf{x}}{\text{maximize}}\quad\  & \sum_{k\in\,\mathcal{K}_{i}}\sum_{m=1}^{N}\xi_{k,im}x_{k,im}\\
\text{subject to}\quad\  & \sum_{k\in\,\mathcal{K}_{i}}x_{k,im}\leq1,\;\forall m\\
\quad\  & \sum_{m=1}^{N}x_{k,im}\leq1,\;\forall k\\
\quad\  & x_{k,im}\in\left\lbrace 0,1\right\rbrace ,
\end{aligned}
\\

如果考虑预编码权值是离散的,考虑码本

{\mathcal{V}}=\left\lbrace \boldsymbol{\phi}_{1},\boldsymbol{\phi}_{2},\cdots,\boldsymbol{\phi}_{|{\mathcal{V}}|}\right\rbrace 
\\

其中\boldsymbol{\phi}_{n}\in\mathbb{C}^{N}为一个特定预编码。此时,用户k关于(i,m)的最优预编码改为(可通过搜索得到,复杂度O(|V|))

\boldsymbol{\tau}_{k,im}=\arg\max_{{\mathbf{v}}\in{\mathcal{V}}}\left\{ 2\sqrt{w_{k}(1+\gamma_{im})}\;\text{Re}\left\lbrace {\mathbf{v}}^{\dagger}\mathbf{H}_{i,k}^{\dagger}\mathbf{y}_{im}\right\rbrace -\sum_{(j,n)}\mathbf{y}_{jn}^{\dagger}\mathbf{H}_{j,k}{\mathbf{v}}{\mathbf{v}}^{\dagger}\mathbf{H}_{j,k}^{\dagger}\mathbf{y}_{jn}\right\} 
\\

再用背包问题求解,也是一样的。如果先按老方法优化,然后找一个距离最近的波束,即\boldsymbol{\tau}_{k,im}=\arg\min_{\boldsymbol{\phi}\in\,{\mathcal{V}}}\Vert\boldsymbol{\phi}-\tilde{{\mathbf{v}}}_{im}\Vert_{2},这样能降低复杂度到O(log|V|),虽然看上去是启发式的搜索,但论文里证明了能到最优。

再然后就是和WMMSE方法的比较,对信道差的用户提供的速率比WMMSE好,总效用函数高10%。在K>>M的情况下,WMMSE有更高的communication complexity。在K>>M和N的情况下,FP方法的计算复杂度也要更低(特别是使用更高效的背包问题求解方法后)。

标签:FP,问题,分数,变换,用户,调度,无线通信,等效
From: https://www.cnblogs.com/louisanu/p/18333368

相关文章

  • ssy中学暑假集训分数规划笔记
    分数规划出现在了我们今天的模拟赛中,看在这个名字深得我心而且我能看懂证明和内容的份上,给开个专题吧!\(1.定义\):分数规划就是求分数的极值。形象一点就是,给出\(a_i\)和\(b_i\),求一组\(w_i\in\{0,1\}\)最小化或者最大化下面的算式:\[\frac{\sum_{i=1}^{n}a_i*w_i}{\sum_{i=1}......
  • 在分数限制下,如何权衡专业与学校选择?
    在分数限制下,如何权衡专业与学校选择?面对高考或研究生考试等重要的学术选拔考试,我们总会面临一个共同的难题:在分数限制下,究竟是应该优先选择心仪的专业,还是选择一所声誉更高的学校?这个问题没有绝对的答案,因为每个人的情况和目标都是不同的。但在这篇文章中,我们将探讨一些关......
  • KerasRegressor 决定系数 R^2 分数
    我正在Keras中构建一个用于回归任务的小型神经网络,我想使用与scikit-learnRandomForestRegressor:系数R^2定义为|相同的精度指标|||,其中(1-u/v)是回归平方和u,而((y_true-y_pred)**2).sum()是残差平方和......
  • CEFPython
    在Tkinter界面中直接嵌入Selenium的浏览器视图并不是一件直接的事情,因为Selenium本身并不提供图形界面嵌入的功能。Selenium主要用于自动化web浏览器,但它并不直接控制浏览器窗口的显示方式,而是依赖于WebDriver来与浏览器交互。然而,你可以使用一些替代方案来在Tkinter应用中模拟或......
  • glibc2.35 CTFPwn高版本下的堆块利用
    运用exithook:劫持tls_dtor_list:例题(XYCTF2024 ptmalloc2it‘smyheappro):题目的libc版本是2.35,在glibc2.34版本的时候我们常用的exithook(比如dl_rtld_lock_recursive和dl_rtld_unlock_recursive)就被删除了,所以在这道题里面我们劫持另一个exithook,tls_dtor_list,但这里和之......
  • [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-19 读写I2C接口EEPROM实验
    软件版本:Anlogic-TD5.9.1-DR1_ES1.1操作系统:WIN1064bit硬件平台:适用安路(Anlogic)FPGA实验平台:米联客-MLK-L1-CZ06-DR1M90G开发板板卡获取平台:https://milianke.tmall.com/登录"米联客"FPGA社区http://www.uisrc.com视频课程、答疑解惑! 1概述前面的课程中,我们......
  • FPGA知识基础之---呼吸灯实验
    目录一、呼吸灯简介1.定义2.特点3.工作原理PWM(脉冲宽度调制)二、实验任务三、PVM(PulseWidthModulation)简介3.1工作原理3.2优点3.3应用领域四、程序设计1、思路整理2、系统框图3、波形图4、呼吸原理五、RTL代码六、仿真分析6.1Testbench代码6.2Modelsim仿真波形......
  • [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-20 读写I2C接口的RTC时钟芯片
    软件版本:Anlogic-TD5.9.1-DR1_ES1.1操作系统:WIN1064bit硬件平台:适用安路(Anlogic)FPGA实验平台:米联客-MLK-L1-CZ06-DR1M90G开发板板卡获取平台:https://milianke.tmall.com/登录"米联客"FPGA社区http://www.uisrc.com视频课程、答疑解惑! 1概述    本节课继续利用I......
  • [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-17 I2C通信协议原理
    软件版本:Anlogic-TD5.9.1-DR1_ES1.1操作系统:WIN1064bit硬件平台:适用安路(Anlogic)FPGA实验平台:米联客-MLK-L1-CZ06-DR1M90G开发板板卡获取平台:https://milianke.tmall.com/登录"米联客"FPGA社区http://www.uisrc.com视频课程、答疑解惑! 1概述    我们知道I......
  • [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-18 I2C MASTER控制器驱动设计
    软件版本:Anlogic-TD5.9.1-DR1_ES1.1操作系统:WIN1064bit硬件平台:适用安路(Anlogic)FPGA实验平台:米联客-MLK-L1-CZ06-DR1M90G开发板板卡获取平台:https://milianke.tmall.com/登录"米联客"FPGA社区http://www.uisrc.com视频课程、答疑解惑! 1系统框图I2CMaster控......