Chapter II: Synthesis and Implementation
2.4 Distributed AND Localized MPC Based on ADMM
We now use the previous results to reformulate the DLMPC problem (2.7) in a way that is amenable to distributed optimization techniques, and show that ADMM [52]
can be used to find a solution in a distributed manner. We exploit the separability (Assumption 1), locality constraints, and the notion of row/column-wise separability (to be defined next), to solve each of the local subproblems in parallel and withπ- local information only. In what follows, we restrict Assumption 1 to the case where only dynamical coupling is considered. In the next section we extend these results to all cases considered in Assumption 1, i.e., constraints and objective functions that introduce π-localized couplings. Hence, all cost function and constraints have structure:
π(x,u) =
π
βοΈ
π=1
ππ( [x]π,[u]π), and [xβΊuβΊ]βΊ β P if and only if
"
[x]π
[u]π
#
β Pπ, whereP =P1Γ Β· Β· Β· Γ Pπ.
By definition of the SLS system responses (2.5), we can equivalently write these conditions in terms ofπ½as
π(π½{1}π₯0) =
π
βοΈ
π=1
ππ π½{1}(π―π,:)π₯0 , and π½β P if and only ifπ½(π―π,:)π₯0 β Pπβπ,
where π―π is the set of rows in π½ corresponding to subsystem π, i.e., those that parametrize [x]πand [u]π. These separability features are formalized as follows:
Definition 5. Given the partition{π―1, ...,π―π}, a functional/set isrow-wise separable if:
β’ For a functional π, π(π½) = Γπ
π=1ππ π½(π―π,:)
for some functionals ππ for π=1, ..., π.
β’ For a set P, π½ β P if and only if π½(π―π,:) β Pπ βπ for some sets Pπ for π=1, ..., π.
An analogous definition exists forcolumn-wise separablefunctionals and sets [51], where the partition{π 1, ...,π π} entails the columns ofπ½, i.e.,π½(:,π π).
When the objective function and all the constraints of an optimization problem are separable with respect to a partition of cardinalityπ, then the optimization trivially decomposes into π independent subproblems. However, this is not the case for the localized DLMPC problem (2.7), since some elements are row-wise separable while others are column-wise separable. To make it amenable to a distributed solution, we propose the following reformulation, which applies to the noise-free case as well as to both noisy cases (locally norm-bounded and polytopic) considered in the previous section:
minπ½,Λ πΏΛ
π(π1π½{Λ 1}π₯0) (2.11)
s.t. ππ΄ π΅π2πΏΛ =πΌ , π₯0=π₯(π), π½Λ,πΏΛ β Lπ, π½Λ βPΛ, π½Λ =π»ΛπΏΛ,
where:
β’ In the noise-free case:
π½Λ :=π½{1}, πΏΛ :=πΏ{1}, π1= π2=π»Λ =:πΌ , PΛ ={π½{1} : π½{1}π₯0 β P }.
β’ In the noisy case:
π1:=
"
πΌ 0 0 0
#
, π2:= h 0 πΌ
i
, π»Λ :=
"
πΌ 0
0 π»
# , β when noise is locally bounded:
π½Λ :=
"
π½{1} 0 π{1} π{2 :π}
#
, πΏΛ :=
"
πΏ{1} 0 πΏ{1} πΏ{2 :π}
# , PΛ :={π: [π{1}]π[π₯0]π+ βοΈ
π
π πβΊ
π[π{2 :π}]πππ β
β€ [β]πβπ}.
β when noise is polytopic:
π½Λ :=
"
π½{1} 0 π{1} π΅πΊ
#
, πΏΛ :=
"
πΏ{1} 0 πΏ{1} πΏ{2 :π}
# , PΛ :={π,π΅:π{1}π₯0+π΅π β€ β, π΅ β₯ 0}.
The matrices πΏ and π are simply duplicates of π½, and π΅ is the dual variable as introduced in Lemma 2. The advantage of introducing these variables and creating the augmented variables Λπ½and ΛπΏis that all components of problem (2.11) involving Λπ½ are row-wise separable, and all components involving ΛπΏare column- wise separable. We can easily separate these two computations via ADMM using the relationship between both variables Λπ»π½Λ =πΏ. Furthermore, we take advantage of theΛ structure of these subproblems and separate them with respect to a row and column partition induced by the subsystem-wise partitions of the state and control inputs, [x]π and [u]π for each subsystem π. Each of these row and column subproblems resulting from the distribution across subsystems can be solved independently and in parallel, where each subsystem solves for its corresponding row and column partition. Moreover, since locality constraints are imposed, the decision variables π½Λ,πΏΛ have a sparse structure. This means that the length of the rows and columns that a subsystem solves for is much smaller than the length of the rows and columns of π½. For instance, when considering the column-wise subproblem evaluated at subsystemπ, the πth row of theπth column partitions ofπ½π₯ andπ½π’ is nonzero only if π β βͺπβoutπ(π)π―π and π β βͺπβoutπ(π+1)π―π, respectively.5 Thus, the subproblems that subsystemπsolves for are:
[π½]Λ ππ+1
π =


ο£²


ο£³ argmin
[π½]Λ ππ
π( [π1π½]ππ[π₯0]ππ)+π 2ππ
π(π½Λ,πΏΛπ,π²π) s.t. [π½]Λ ππ β PΛπβ© Lπ, [π₯0]ππ =[π₯(π)]ππ


ο£½


ο£Ύ
(2.12a)
[πΏ]Λ ππ+1
π =


ο£²


ο£³
argmin
[πΏ]Λ ππ
ππ
π(π½Λπ+1,πΏΛ,π²π) s.t. [ππ΄ π΅]ππ[π2πΏ]Λ ππ =[πΌ]ππ


ο£½


ο£Ύ
(2.12b)
[π²]ππ
π = [π½]Λ ππ+1
π
β [π»Λ]ππ[πΏ]Λ ππ+1
π
+ [π²]ππ, (2.12c)
where the scalarπis the ADMM multiplier, operatorπ²is the dual variable associated with ADMM, and
πβ’(π½Λ,πΏΛ,π²)=
[π½]Λ β’β [π»Λ]β’[πΏ]Λ β’+ [π²]β’
2 πΉ
,
5An algorithm to find the relevant components for each subsystem rows and columns can be found in Appendix A of [51].
whereβ’indicatesππ orππdepending on the context. To simplify notation we denote as [π½]ππ the submatrix of π½ formed by the nonzero components of the relevant rows for subsystem π, π―π, and as [π½]ππ the submatrix of π½formed by the nonzero components of the relevant columns for subsystemπ, π π. We use a similar bracket notation for the vectors and matrices that multiply the decision variables to indicate that those are composed from the relevant components of their global versions.
In subroutine (2.12), the computation of iterate (2.12b) can be sped up by virtue of the following Lemma:
Lemma 3. Letπ§β (π , π£ , π, π) :=argmin
π§
β₯π π§βπ£β₯2πΉ s.t. π π§=π. Then
"
π§β πβ
#
=
"
π πβΊ πβΊ
π 0
#β "
πβΊπ£ π
# ,
whereβ denotes pseudo-inverse, is the optimal solution andπβ is the corresponding optimal Lagrange multiplier.
Proof. The proof follows from applying the KKT conditions to the optimization problem. By the stationarity condition,πβΊπ π§β βπβΊπ£+πβΊπβ =0, whereπ§β is the solution to the optimization problem andπβ the optimal Lagrange multiplier vector.
From the primal feasibility condition,π π§β =π. Hence, π§β and πβ are computed as
the solution to this system of two equations. β‘
This results in the following closed-form solution for iterate (2.12b):
[πΏ]ππ+1
π =π§β
[π»Λ]ππ,[π½]Λ ππ+1
π + [π²]Λ ππ
π
,[ππ΄ π΅π2]ππ,[πΌ]ππ
. (2.13)
Notice that the number of nonzero components for both the rows and columns is much smaller than the size of the network π since it is determined by the size of the local neighborhoodπ through the locality constraints. In turn, this implies that the subsystem only requires small submatrices of the system and constraint matrices (π΄, π΅, π» , etc.) to perform the computations. Therefore, the DLMPC subroutine (2.12) can be distributed across the subsystems and solved in parallel, where each subsystem solves for a local patch of system responses. In Alg. 1 we present the DLMPC algorithm that each sub-controller executes, and where only information exchanges withinπ-hop neighbors take place. Alg. 1 is guaranteed to converge as shown in the next section.
Algorithm 1SubsystemπDLMPC implementation input: ππ, ππ, π > 0.
1: Measure local state [π₯(π)]π, π β 0.
2: Share the measurement with neighbors inoutπ(π). Receive the corresponding [π₯(π)]π frominπ(π)and build [π₯0]ππ.
3: Solve optimization problem (2.12a).
4: Share[π½]Λ π+1
ππ withoutπ(π). Receive the corresponding[π½]Λ π+1
ππ frominπ(π)and build [π½]Λ π+1
ππ .
5: Solve problem (2.12b) via the closed form (2.13).
6: Share [πΏ]Λ π+1
ππ withoutπ(π). Receive the corresponding[πΏ]Λ π+1
ππ frominπ(π)and build [πΏ]Λ π+1
ππ .
7: Perform the multiplier update step (2.12c).
8: if
[π½]Λ π+1
ππ
β [π»Λ]ππ[πΏ]Λ π+1
ππ
πΉ
β€ππ and
[πΏ]Λ π+1
ππ
β [πΏ]Λ π
ππ
πΉ
β€ ππ:
Apply control action[π’0]π= [Ξ¦π’,0[0]]ππ[π₯0]ππ, and return to step 1.6 else:
Setπ β π+1, return to step 3.
Computational complexity of Alg. 1
The complexity of the algorithm is determined by update steps 3, 5 and 7. In particular, steps 5 and 7 can be directly solved in closed form, reducing their evaluation to the multiplication of matrices of dimensionπ(π2π2)in the noisy case, andπ(π2π)in the noise-free case. In general, step 3 requires an optimization solver where each local iterate sub-problem is overπ(π2π2)optimization variables in the noisy case, and π(π2π) in the noise-free case, subject to π(ππ) constraints. In certain cases, step 3 can also be computed in closed form if a proximal operator exists for the formulation [52]. This is true, for instance, if step 3 reduces to a quadratic convex cost function subject to affine equality constraints, in which case complexity reduces toπ(π2π) since piece-wise closed form solutions can be computed [58]. Notice that the complexity of the subproblems is largely dependent on whether noise is considered. The reason for this is that in the noise-free case, only the first block-column ofπ½is considered, whereas in the presence of noise allπ block-columns must be computed. Regardless, the use of locality constraints leads to a significant computational saving whenπ βͺ π (recall that both the local radius π and the time horizonπ are independent design parameters). The communication complexityβas determined by steps 2, 4 and 6βis limited to the local exchange of information betweenπ-local neighbors.