Decomposition Methods
Some interesting structure may exist in objective function and constraints function, decomposition is an strategy to utilize the structure. In the simplest situation, when solve an unconstrained optimization problem and the objective function
So in this case, the variable are divided into many subvectors
Unconstrained optimization problem
With Only Complicating Variable
In this case, we want to solve
Here vector
Primal decomposition
Inspired by the face that, if
and define a master problem which equivalent to problem (1).
So primal decomposition works in the following order
1. start with initial guess of
2. solve
3. solve
This method called primal decomposition because we manipulate the primal variable directly. Solve the sub-problem could use any method, so the master problem.
Dual decomposition
Instead we solve the original problem directly, we transform the original problem (1) into follow
In this form, we create two copies of boundary variable
Lagrangian problem becomes
Now the sub-problem
Sub-gradient for master problem
If we wan to solve the master problem with sub-gradient method or cutting-plane method, we need to calculate the sub-gradient of master problem with respect to
Convergence Estimation
Under some circumstance, we will perform some convergence test. Usual convergence criterion include
1. Gradient of the norm less than a predefined
2. norm of difference of function value between iterations less than
3. norm of difference of optimization variable between iterations less than
4. norm of difference of current value and optimal value less than
When using Dual decomposition method, we can estimate the difference of current function value
After iteration k, we get optimal value for sub-problem:
when the optimization not convergence the
when we get upper
Another better way to estimate the upper bound is to optimize the primal problem given
Constrained Optimization
With only complicating variable
In this scenario, we need to deal with following problem
A little complicated than previous problem, the only difference is the vector inequality constraints
Primal Decompositon
Solve this problem with primal decomposition method, it works by set up two new sub-problem as follow
And get a new master problem
We solve this new problem as follow: start with a random
So the sub-gradient is
Dual Decomposition
In order to perform dual decomposition, we first write down the lagrange function of primal problem as follow:
From this structure we know the solving would be very easy. we solve the problem independently. We use
General Structure Problem
In this section, general means have “coupling variable” and “complicating constraint”. For this kind of problem, we can convert to a sub-problem constrained by consistency constraint. For example, we have following problem
we convert this problem into follow:
Then we can solve sub-problem, the only difference is how to calculate the sub-gradient of master problem.
Combing decomposition with proximal gradient, we can derive powerful ADMM algorithm for distributed optimization L1-constrained problem which is widely used in everywhere.
Summary
Decomposition works by split original problem into more sub-sized problem and utilize the power of multiple machine.