Dual Decomposition with multiple coupling constraints

534 Views Asked by At

This is probably a a simple question, but have been stuck on this for a while and unable to figure out my issue from the standard Boyd/Vandhenbergen decomposition references.

I am interested in dual decomposition of the primal problem of the form: \begin{array}{lll} \text{minimize} & \sum_i J_i(x_i) \\ \text{subject to} & \sum_i x_i = F z + k_1 & (1) \\ & A y + E z + k_0 = 0 & (2) \\ & y \leq y_\max & (3) \\ & z \geq 0 & (4) \\ & x_i \in \mathcal{X}_i, ~i=1,2,\dots, N & (5) \end{array}

Where $A, E, F, k_0, k_1$ are rectangular matrices or vectors, $z, y$ are dependent variables (vectors), and $x_i \forall n=1, ..., N$ are decision variables (vectors). The problem is continuous, quadratic (i.e. with linear constraints), and convex and all sets are 'nice' (closed, convex, etc).

Constraint (1) can have multiple $z$ for a given set {$x_1, x_2, ..., x_N$} (i.e. $F$ is rectangular and not invertible). $A$ is invertible (so (2) could be eliminated and substituted into (3)), but was kept here for completeness and because it elicits a primal problem with far better numerical characteristics.

Now, the first step in performing the dual decomposition is with the partial Lagrangian: $$L(x_i, z, \lambda, \mu, \gamma, \rho) = \sum_i J_i(x_i) + \lambda^T \left(\sum_i x_i - Fz - k_1\right)+\mu^T (Ay + Ez + k_0) + \gamma^T (y-y_{max}) + \rho^T (-z)$$

Now, I am stuck as to how I get from the Lagrangian to the decomposition: \begin{array}{lll} \text{minimize} & \sum_i J_i(x_i) + \lambda^T x_i \\ & x_i \in \mathcal{X}_i,~i=1,2,\dots, N & (6) \end{array}

Specifically, I am unsure how to proceed with:

A) Dual update: how to relate Lagrange multipliers in the dual update

B) How to treat (and update) the dependent variables: $z$ and $y$.

---- My idea is: i) Solve decomposed problem to get $x_i^{(k)}$

ii) Use (1) and $x_i^{(k)}$ to find $z^{(k)}$

iii) Use (2) and $z^{(k)}$ to find $y^{(k)}$

iv) Use $y^{(k)}$ to update dual variables $\gamma^{(k)}$

iiv) Use $\gamma^{(k)}$ to somehow update other dual variables $\mu, \lambda^{(k)}$

iiiv) Go to i) or STOP (pending convergence conditions)

I hope my problem is clearly stated. Thank you so much in advance!