Used scaled version of admm instead of unscaled
This commit is contained in:
parent
ad4dfc6325
commit
c34b1ca687
@ -800,6 +800,25 @@ The same is true for $\left( \boldsymbol{\lambda}_j \right)_i$.}
|
|||||||
It should be noted that all of the $\boldsymbol{z}_j$-updates can be computed simultaneously,
|
It should be noted that all of the $\boldsymbol{z}_j$-updates can be computed simultaneously,
|
||||||
as they are independent of one another.
|
as they are independent of one another.
|
||||||
The same is true for the updates of the individual components of $\tilde{\boldsymbol{c}}$.
|
The same is true for the updates of the individual components of $\tilde{\boldsymbol{c}}$.
|
||||||
|
This representation can be slightly simplified by substituting
|
||||||
|
$\boldsymbol{\lambda}_j = \mu \cdot \boldsymbol{u}_j \,\forall\,j\in\mathcal{J}$:%
|
||||||
|
%
|
||||||
|
\begin{alignat*}{3}
|
||||||
|
\tilde{c}_i &\leftarrow \frac{1}{\left| N_v\left( i \right) \right|} \left(
|
||||||
|
\sum_{j\in N_v\left( i \right) } \Big( \left( \boldsymbol{z}_j \right)_i
|
||||||
|
- \left( \boldsymbol{u}_j \right)_i \Big)
|
||||||
|
- \gamma_i \right)
|
||||||
|
\hspace{3mm} && \forall i\in\mathcal{I} \\
|
||||||
|
\boldsymbol{z}_j &\leftarrow \Pi_{\mathcal{P}_{d_j}}\left(
|
||||||
|
\boldsymbol{T}_j\tilde{\boldsymbol{c}} + \boldsymbol{u}_j \right)
|
||||||
|
\hspace{3mm} && \forall j\in\mathcal{J} \\
|
||||||
|
\boldsymbol{u}_j &\leftarrow \boldsymbol{u}_j
|
||||||
|
+ \boldsymbol{T}_j\tilde{\boldsymbol{c}}
|
||||||
|
- \boldsymbol{z}_j
|
||||||
|
\hspace{3mm} && \forall j\in\mathcal{J}
|
||||||
|
.\end{alignat*}
|
||||||
|
%
|
||||||
|
|
||||||
|
|
||||||
The reason \ac{ADMM} is able to perform so well is due to the relocation of the constraints
|
The reason \ac{ADMM} is able to perform so well is due to the relocation of the constraints
|
||||||
$\boldsymbol{T}_j\tilde{\boldsymbol{c}}_j\in\mathcal{P}_{d_j}\,\forall\, j\in\mathcal{J}$
|
$\boldsymbol{T}_j\tilde{\boldsymbol{c}}_j\in\mathcal{P}_{d_j}\,\forall\, j\in\mathcal{J}$
|
||||||
@ -819,19 +838,19 @@ as is shown in figure \ref{fig:lp:message_passing}.%
|
|||||||
\begin{genericAlgorithm}[caption={}, label={},
|
\begin{genericAlgorithm}[caption={}, label={},
|
||||||
basicstyle=\fontsize{11}{16}\selectfont
|
basicstyle=\fontsize{11}{16}\selectfont
|
||||||
]
|
]
|
||||||
Initialize $\tilde{\boldsymbol{c}}, \boldsymbol{z}_{[1:m]}$ and $\boldsymbol{\lambda}_{[1:m]}$
|
Initialize $\tilde{\boldsymbol{c}}, \boldsymbol{z}_{[1:m]}$ and $\boldsymbol{u}_{[1:m]}$
|
||||||
while $\sum_{j\in\mathcal{J}} \lVert \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \rVert_2 \ge \epsilon_{\text{pri}}$ or $\sum_{j\in\mathcal{J}} \lVert \boldsymbol{z}^\prime_j - \boldsymbol{z}_j \rVert_2 \ge \epsilon_{\text{dual}}$ do
|
while $\sum_{j\in\mathcal{J}} \lVert \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \rVert_2 \ge \epsilon_{\text{pri}}$ or $\sum_{j\in\mathcal{J}} \lVert \boldsymbol{z}^\prime_j - \boldsymbol{z}_j \rVert_2 \ge \epsilon_{\text{dual}}$ do
|
||||||
for all $j$ in $\mathcal{J}$ do
|
for $j$ in $\mathcal{J}$ do
|
||||||
$\boldsymbol{z}_j \leftarrow \Pi_{\mathcal{P}_{d_j}}\left(
|
$\boldsymbol{z}_j \leftarrow \Pi_{\mathcal{P}_{d_j}}\left(
|
||||||
\boldsymbol{T}_j\tilde{\boldsymbol{c}} + \frac{\boldsymbol{\lambda}_j}{\mu} \right)$
|
\boldsymbol{T}_j\tilde{\boldsymbol{c}} + \boldsymbol{u}_j \right)$
|
||||||
$\boldsymbol{\lambda}_j \leftarrow \boldsymbol{\lambda}_j
|
$\boldsymbol{u}_j \leftarrow \boldsymbol{u}_j
|
||||||
+ \mu\left( \boldsymbol{T}_j\tilde{\boldsymbol{c}}
|
+ \boldsymbol{T}_j\tilde{\boldsymbol{c}}
|
||||||
- \boldsymbol{z}_j \right)$
|
- \boldsymbol{z}_j$
|
||||||
end for
|
end for
|
||||||
for all $i$ in $\mathcal{I}$ do
|
for $i$ in $\mathcal{I}$ do
|
||||||
$\tilde{c}_i \leftarrow \frac{1}{\left| N_v\left( i \right) \right|} \left(
|
$\tilde{c}_i \leftarrow \frac{1}{\left| N_v\left( i \right) \right|} \left(
|
||||||
\sum_{j\in N_v\left( i \right) } \Big(
|
\sum_{j\in N_v\left( i \right) } \Big(
|
||||||
\left( \boldsymbol{z}_j \right)_i - \frac{1}{\mu} \left( \boldsymbol{\lambda}_j
|
\left( \boldsymbol{z}_j \right)_i - \left( \boldsymbol{u}_j
|
||||||
\right)_i
|
\right)_i
|
||||||
\Big) - \frac{\gamma_i}{\mu} \right)$
|
\Big) - \frac{\gamma_i}{\mu} \right)$
|
||||||
end for
|
end for
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user