The Algorithm
Algorithm description
Initialization: Initial guess \left (\{z_i^0\}_{i\in \mathcal{R}},\lambda^0 \right ), choose \Sigma_i \succ 0,\rho^0,\mu^0,\epsilon.
Repeat:
- Parallelizable Step: Solve for each i \in \mathcal{R}
-
Termination Criterion: If \left\|\sum_{i\in \mathcal{R}}A_ix^k_i -b \right\|\leq \epsilon \text{ and } \left\| x^k - z^k \right \|\leq \epsilon\;, return x^\star = x^k.
-
Sensitivity Evaluations: Compute and communicate local gradients g_i^k=\nabla f_i(x_i^k,p_i), Hessian approximations 0 \prec B_i^k \approx \nabla^2 \{ f_i( x_i^k,p_i )+\kappa_i^\top h_i(x_i^k,p_i)\}
and constraint Jacobians C^{k\top }_i :=\left [\nabla g_i(x^k_i,p_i)^\top\; \left (\nabla \tilde h_i(x^k_i,p_i) \right )_{j\in \mathbb{A}^k}^\top \right ]. -
Consensus Step: Solve the coordination QP
yielding \Delta x^k and \lambda^{\mathrm{QP}k} as the solution to the above problem.
- Line Search: Update primal and dual variables by
with \alpha^k_1,\alpha^k_2,\alpha^k_3 from HFD16.