§Wrote ADMM in proximal form

This commit is contained in:
Andreas Tsouchlos 2023-04-02 01:02:26 +02:00
parent d8646a2741
commit 1beb8c484e

View File

@ -63,14 +63,14 @@ proximal operator form.%
\end{align*}
\begin{genericAlgorithm}[caption={}, label={},
basicstyle=\fontsize{10.5}{15}\selectfont
basicstyle=\fontsize{11}{17}\selectfont
]
Initialize variables
while stopping critierion not satisfied do
$\boldsymbol{r} \leftarrow \boldsymbol{r}
+ \omega \nabla L\left( \boldsymbol{y} \mid \boldsymbol{s} \right) $
$\boldsymbol{s} \leftarrow
\text{prox}_{\gamma h}\left( \boldsymbol{r} \right) $|\Suppressnumber|
\textbf{prox}_{\scaleto{\gamma h}{7.5pt}}\left( \boldsymbol{r} \right) $|\Suppressnumber|
|\Reactivatenumber|
end while
return $\boldsymbol{s}$
@ -86,24 +86,28 @@ return $\boldsymbol{s}$
\text{minimize}\hspace{5mm} &
\underbrace{\boldsymbol{\gamma}^\text{T}\tilde{\boldsymbol{c}}}
_{\text{Likelihood}}
+ \underbrace{\text{TODO}}_{\text{Constraints}} \\
% + \sum_{j\in\mathcal{J}} \boldsymbol{\lambda}^\text{T}_j
% \left( \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \right)
% + \frac{\mu}{2}\sum_{j\in\mathcal{J}}
% \lVert \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \rVert^2_2 \\
\text{subject to}\hspace{5mm} & \text{TODO}
+ \underbrace{\sum_{j\in\mathcal{J}} g_j\left(
\boldsymbol{T}_j\tilde{\boldsymbol{c}} \right) }
_{\text{Constraints}} \\
\text{subject to}\hspace{5mm} &
\tilde{\boldsymbol{c}} \in \mathbb{R}^n
% \boldsymbol{T}_j\tilde{\boldsymbol{c}} = \boldsymbol{z}_j\hspace{3mm}
% \forall j\in\mathcal{J}
\end{align*}
\begin{genericAlgorithm}[caption={}, label={},
basicstyle=\fontsize{10.5}{15}\selectfont
basicstyle=\fontsize{11}{17}\selectfont
]
Initialize variables
while stopping criterion not satisfied do
$\tilde{\boldsymbol{c}} \leftarrow \text{prox}_{\text{TODO}}\left( \text{TODO} \right) $
$\boldsymbol{z} \leftarrow \text{prox}_{\text{TODO}}\left( \text{TODO} \right) $
$\boldsymbol{u}_j \leftarrow \boldsymbol{u}_j
+ \boldsymbol{T}_j\tilde{\boldsymbol{c}}
- \boldsymbol{z}_j$
$\tilde{\boldsymbol{c}} \leftarrow \textbf{prox}_{
\scaleto{\nu \cdot \boldsymbol{\gamma}^{\text{T}}\tilde{\boldsymbol{c}}}{8.5pt}}
\left( \boldsymbol{z} - \boldsymbol{u} \right) $
$\boldsymbol{z}_j \leftarrow \textbf{prox}_{\scaleto{g_j}{7pt}}
\left( \boldsymbol{T}_j\tilde{\boldsymbol{c}}
+ \boldsymbol{T}_j\boldsymbol{u} \right) \hspace{5mm}\forall j\in\mathcal{J}$
$\boldsymbol{u} \leftarrow \boldsymbol{u}
+ \tilde{\boldsymbol{c}} - \boldsymbol{z}$
end while
return $\tilde{\boldsymbol{c}}$
\end{genericAlgorithm}
@ -117,6 +121,16 @@ return $\tilde{\boldsymbol{c}}$
\label{fig:ana:theo_comp_alg}
\end{figure}%
%
\todo{Show how $\tilde{\boldsymbol{c}} \leftarrow \textbf{prox}
_{1 / \mu \cdot \boldsymbol{\gamma}^{\text{T}}\tilde{\boldsymbol{c}}}
\left( \boldsymbol{z} - \boldsymbol{u} \right) $
is the same as
$\boldsymbol{\gamma}^\text{T}\tilde{\boldsymbol{c}}
+ \sum_{j\in\mathcal{J}} \boldsymbol{\lambda}^\text{T}_j
\left( \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \right)
+ \frac{\mu}{2}\sum_{j\in\mathcal{J}}
\lVert \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \rVert^2_2$}%
%
\noindent The objective functions of both problems are similar in that they
both comprise two parts: one associated to the likelihood that a given
codeword was sent and one associated to the constraints the codeword is
@ -124,7 +138,7 @@ subjected to.
Their major difference is that the two parts of the objective minimized with
proximal decoding are both functions of the same variable
$\tilde{\boldsymbol{x}}$, whereas with \ac{ADMM} the two parts are functions
of different variables: $\tilde{\boldsymbol{c}}$ and $\boldsymbol{z}$.
of different variables: $\tilde{\boldsymbol{c}}$ and $\boldsymbol{z}_{[1:m]}$.
This difference means that while with proximal decoding the alternating
minimization of the two parts of the objective function inevitably leads to
oscillatory behaviour (as explained in section (TODO)), this is not the