Skip to content

Unified Algorithmic Structure

Although the previously introduced methods — ALC, ALADIN, SBDP, and Consensus ALC — differ in methodology, they share a unified structure. Each subsystem solves

\[\begin{aligned} {}^{i}d^{(k,\,l+1)} \leftarrow{} & \argmin_{{}^{i}d\;\in\;{}^{i}\mathcal{D}} \;\; {}^{i}v_f\!\left({}^{i}r\right) + {}^{i}P\!\left({}^{i}d,\; \left\{{}^{i}_{j}u,\;{}^{j}_{i}u\right\}_{j\in{}^{i}N},\; {}^{i}_{C}u,\;{}^{C}_{i}u\right) \\ & \text{s.t.} \;\; {}^{i}v_g\!\left({}^{i}r\right) \leq 0, \\ & \phantom{\text{s.t.}} \;\; {}^{i}v_h\!\left({}^{i}r\right) = 0, \\ & \phantom{\text{s.t.}} \;\; {}^{i}Q^{\leq}\!\left({}^{i}d,\; \left\{{}^{i}_{j}u,\;{}^{j}_{i}u\right\}_{j\in{}^{i}N},\; {}^{i}_{C}u,\;{}^{C}_{i}u\right) \leq 0, \\ & \phantom{\text{s.t.}} \;\; {}^{i}Q^{=}\!\left({}^{i}d,\; \left\{{}^{i}_{j}u,\;{}^{j}_{i}u\right\}_{j\in{}^{i}N},\; {}^{i}_{C}u,\;{}^{C}_{i}u\right) = 0, \end{aligned}\]

where \({}^{i}\)\(v_f\), \({}^{i}\)\(v_g\), and \({}^{i}\)\(v_h\) are private to subsystem \(i\). The coordination approach may introduce an objective term \({}^{i}\)\(P\) or constraint term \({}^{i}\)\(Q\) that depend on coupling information \(u\) exchanged with neighbors and, optionally, a controller. The controller solves

\[\begin{aligned} \Box \leftarrow{} & \argmin_{\Box} \;\; {}^{C}P\!\left(\Box,\; \left\{{}^{C}_{i}u,\;{}^{i}_{C}u\right\}_{i\in M}\right) \\ & \text{s.t.} \;\; {}^{C}Q^{\leq}\!\left(\Box,\; \left\{{}^{C}_{i}u,\;{}^{i}_{C}u\right\}_{i\in M}\right) \leq 0, \\ & \phantom{\text{s.t.}} \;\; {}^{C}Q^{=}\!\left(\Box,\; \left\{{}^{C}_{i}u,\;{}^{i}_{C}u\right\}_{i\in M}\right) = 0. \end{aligned}\]

The unified algorithm alternates between inner and outer loops—solving subsystem and/or controller problems, updating coupling parameters (e.g. multipliers or penalty parameters), and exchanging \(u\) through storage interfaces. Not every method uses all parts:

  • the controller problem may be absent,
  • the inner loop may collapse to a single iteration or be omitted entirely,
  • coupling parameters may be updated in the inner loop, the outer loop, or both.

Algorithm 5 therefore represents a generalized superset of the previously derived methods.

All symbols are defined in the Nomenclature.

Algorithm 5 Unified Algorithmic Structure
Require: hyperparameters for inner and outerloop convergence criteria
Require: hyperparameters for update of relevant coupling parameters
Require: initial relevant coupling parameters in interface storage
 
\(k \leftarrow 0\) ▷ initialize outerloop iterator
repeat
\(l \leftarrow 0\) ▷ initialize innerloop iterator
repeat ▷ following some iteration scheme
for every \(i \in M\) do
Copy relevant coupling parameters of \({}^{i}_{j}u,\; {}^{j}_{i}u \;\forall\; j \in {}^{i}N\) and \({}^{i}_{C}u,\; {}^{C}_{i}u\) from interface storage
Prepare optimization problem formulation
\[\begin{aligned} {}^{i}d^{(k,\,l+1)} \leftarrow{} & \argmin_{{}^{i}d \;\in\; {}^{i}\mathcal{D}} \;\; {}^{i}v_f\!\left({}^{i}r\right) + {}^{i}P\!\left({}^{i}d,\; \left\{{}^{i}_{j}u,\; {}^{j}_{i}u\right\}_{j \in {}^{i}N},\; {}^{i}_{C}u,\; {}^{C}_{i}u\right) \\ & \text{s.t.} \;\; {}^{i}v_g\!\left({}^{i}r\right) \leq 0, \\ & \phantom{\text{s.t.}} \;\; {}^{i}v_h\!\left({}^{i}r\right) = 0, \\ & \phantom{\text{s.t.}} \;\; {}^{i}Q^{\leq}\!\left({}^{i}d,\; \left\{{}^{i}_{j}u,\; {}^{j}_{i}u\right\}_{j \in {}^{i}N},\; {}^{i}_{C}u,\; {}^{C}_{i}u\right) \leq 0, \\ & \phantom{\text{s.t.}} \;\; {}^{i}Q^{=}\!\left({}^{i}d,\; \left\{{}^{i}_{j}u,\; {}^{j}_{i}u\right\}_{j \in {}^{i}N},\; {}^{i}_{C}u,\; {}^{C}_{i}u\right) = 0. \end{aligned}\]
Post-process the optimization
Copy relevant coupling parameters of \({}^{i}_{j}u,\; {}^{j}_{i}u \;\forall\; j \in {}^{i}N\) and \({}^{i}_{C}u,\; {}^{C}_{i}u\) to interface storage
end for
 
for Controller do
Copy relevant coupling parameters of \({}^{C}_{i}u,\; {}^{i}_{C}u \;\forall\; i \in M\) from interface storage
Prepare optimization problem formulation
\[\begin{aligned} \Box \leftarrow{} & \argmin_{\Box} \;\; {}^{C}P\!\left(\Box,\; \left\{{}^{C}_{i}u,\; {}^{i}_{C}u\right\}_{i \in M}\right) \\ & \text{s.t.} \;\; {}^{C}Q^{\leq}\!\left(\Box,\; \left\{{}^{C}_{i}u,\; {}^{i}_{C}u\right\}_{i \in M}\right) \leq 0, \\ & \phantom{\text{s.t.}} \;\; {}^{C}Q^{=}\!\left(\Box,\; \left\{{}^{C}_{i}u,\; {}^{i}_{C}u\right\}_{i \in M}\right) = 0. \end{aligned}\]
Post-process the optimization
Copy relevant coupling parameters of \({}^{C}_{i}u,\; {}^{i}_{C}u \;\forall\; i \in M\) to interface storage
end for
 
for every \(i \in M\) and Controller in parallel do
Copy relevant coupling parameters of \({}^{i}_{j}u,\; {}^{j}_{i}u \;\forall\; j \in {}^{i}N\) and \({}^{i}_{C}u,\; {}^{C}_{i}u\) from interface storage
Update relevant coupling parameters \({}^{i}_{j}u,\; {}^{j}_{i}u \;\forall\; j \in {}^{i}N\) and \({}^{i}_{C}u,\; {}^{C}_{i}u\)
Copy relevant coupling parameters of \({}^{i}_{j}u,\; {}^{j}_{i}u \;\forall\; j \in {}^{i}N\) and \({}^{i}_{C}u,\; {}^{C}_{i}u\) to interface storage
end for
 
Compute innerloop convergence criterion
\(l \leftarrow l + 1\)
until innerloop convergence criterion is met
 
\({}^{i}d^{(k+1)} \leftarrow {}^{i}d^{(k,\,l)} \;\forall\; i \in M\)
 
for every \(i \in M\) and Controller in parallel do
Copy relevant coupling parameters of \({}^{i}_{j}u,\; {}^{j}_{i}u \;\forall\; j \in {}^{i}N\) and \({}^{i}_{C}u,\; {}^{C}_{i}u\) from interface storage
Prepare update of relevant coupling parameters \({}^{i}_{j}u,\; {}^{j}_{i}u \;\forall\; j \in {}^{i}N\) and \({}^{i}_{C}u,\; {}^{C}_{i}u\)
Copy relevant coupling parameters of \({}^{i}_{j}u,\; {}^{j}_{i}u \;\forall\; j \in {}^{i}N\) and \({}^{i}_{C}u,\; {}^{C}_{i}u\) to interface storage
end for
 
for every \(i \in M\) and Controller in parallel do
Copy relevant coupling parameters of \({}^{i}_{j}u,\; {}^{j}_{i}u \;\forall\; j \in {}^{i}N\) and \({}^{i}_{C}u,\; {}^{C}_{i}u\) from interface storage
Update relevant coupling parameters \({}^{i}_{j}u,\; {}^{j}_{i}u \;\forall\; j \in {}^{i}N\) and \({}^{i}_{C}u,\; {}^{C}_{i}u\)
Copy relevant coupling parameters of \({}^{i}_{j}u,\; {}^{j}_{i}u \;\forall\; j \in {}^{i}N\) and \({}^{i}_{C}u,\; {}^{C}_{i}u\) to interface storage
end for
 
Compute outerloop convergence criterion
\(k \leftarrow k + 1\)
until outerloop convergence criterion is met
return \(\left\{{}^{i}d^{(k)}\right\}_{i \in M}\)