Dual Decomposition
In computer science, decomposition is breaking down a complex problem (difficult) into smaller problems. It is sometimes more efficient or easier to understand.
Consider
where objective function $f$ is separable, $x=\left ( x_{1},…,x_{N} \right )$, and the variables $x_{i} \in \mathbb{R}^{n}$ are subvectors of $x$.
Similarly, $A=\left [ A_{1},A_{2},…,A_{N} \right ]$
so $Ax = \sum_{i=1}^{N} A_{i}x_{i}$, and the Lagrangian function is as follows,
The minimization step splits into $N$ separate problems, which are solved parallelly.
The dual variable update is as follows,
Thus, this decomposition in dual ascent is referred to as dual decomposition.