Jan 17, 2014 - OC] 17 Jan 2014. 1. On the NP-completeness of the. Minimal Controllability Problem. Guilherme Ramos. â¡,â. Sérgio Pequito. â ,â¡,â. Soummya ...
1
On the NP-completeness of the Minimal Controllability Problem
arXiv:1401.4209v1 [math.OC] 17 Jan 2014
Guilherme Ramos
‡,⋆
S´ergio Pequito
A. Pedro Aguiar
‡,⋄
†,‡,⋆
Jaime Ramos
Soummya Kar
†
§
Abstract This paper studies the minimal controllability problem (MCP), i.e., the problem of, given a linear time invariant system, finding the sparsest input vector that ensures system’s controllability. We show that the MCP is NP-complete, when the eigenvalues of the system dynamics matrix are simple. This is achieved by reducing the MCP to a set covering problem. In addition, the approximated solutions to the set covering problem lead to feasible (but sub-optimal) solutions to the MCP. Further, we analyze the relation of the MCP with its structural counterpart, the minimal structural controllability problem (MSCP) which is known to admit a polynomial complexity solution procedure. In fact, we conclude that the MCP is almost polynomial (P) in the sense the MCP for which we cannot show that is P (but NPcomplete) has zero Lesbegue measure. Finally, we provide an illustrative example where the solution to the MCP is found using the main results and reductions developed in this paper and posteriorly compared with the solution of the MSCP. Keywords : Control Systems Design, Controllability, NP-completeness, Structural Controllability.
I. I NTRODUCTION Ensuring that a dynamic system can be driven toward a desired steady state regardless of its initial position is a fundamental property that has been studied in control systems and it is referred to as controllability. To ensure controllability, it is natural to pose the following question [13]: ⋆
The first two authors contributed equally to this work. Department of Electrical and Computer Engineering, Carnegie Mellon University, Pittsburgh, PA 15213 ‡ Institute for System and Robotics, Instituto Superior T´ecnico, Technical University of Lisbon, Lisbon, Portugal ⋄ Department of Electrical and Computer Engineering, Faculty of Engineering, University of Porto, Porto, Portugal § SQIG-Instituto de Telecomunicacoes, Department of Mathematics, Instituto Superior T´ecnico, University of Lisbon, Lisbon, Portugal †
January 20, 2014
DRAFT
2
Which state variables need to be directly actuated to ensures the controllability of a dynamical system? It is of paramount importance to address the above question in several applications, for instance, control processes, control of large-flexible structures, systems biology and power systems [3], [11], [12]. In fact, from a design perspective and/or due to economic constraints, we (often) aim to identify a relatively small subset of state variables that ensure the controllability of the system. The minimal controllability problem (MCP), relates with the aforementioned question, in the sense that it is the problem of identifying the sparsest input vector that ensures system’s controllability, see [7]. In [7], this problem was precisely stated as follows: determine the sparsest input vector b ∈ Rn (assuming that it exists) such that, given a dynamic matrix A ∈ Rn×n , associated with a linear time invariant system (LTI), x(t) ˙ = Ax(t) + bu(t),
(1)
with state x ∈ Rn and input u ∈ R, is controllable. We refer to the system in (1) by the pair (A, b). For brevity, if (1) is controllable, we say that (A, b) is controllable. Recently, the has been shown to be NP-hard1 [7]. In this paper we show that the MCP is in fact NP-complete, under the restriction that the system matrix A consists of simple eigenvalues, by polynomially reducing it to the set covering problem. This reduction is achieved by exploiting the Popov-Belevitch-Hautus (PBH) controllability criteria for LTI systems and it is obtained in two steps: first we provide a necessary condition on the structure ¯b of the sparsest input vector b, which is obtained by formulating a set covering problem associated with the structure (i.e., location of non-zero entries) of the left-eigenvectors of the system matrix A. Second, we show that a possible numerical realization of ¯b which solves the MCP may be generated using a polynomial construction and that the reduction to the set covering problem (which determines the structural pattern ¯b) is polynomial in the number of state variables. Together with the assumption that the matrix A has simple eigenvalues, the above implies that the MCP is NP-complete. Additionally, 1
The NP-complete classconsists of all the NP problems (i.e., the class of non-deterministic polynomial algorithms) that are polynomially reducible to each other. We say that P1 is an NP-hard problem if and only if there is an NP-complete problem P2 that is polynomially reducible to P1 . Note that, in such case, P1 is at least as hard as an NP problem and is not necessarily in the NP-complete class. Additionally, an NP-hard problem is assumed to be unlikely to have an efficient (with polynomial complexity) solution. We refer the reader to [5] for detailed information on complexity classes.
January 20, 2014
DRAFT
3
we provide density arguments which show that almost all numerical realizations of the structural vectors ¯b (with maximum sparsity given by the set covering problem) are solutions to the MCP. In addition to the main result of this paper, we show that approximated solutions to the set covering problem yield feasible (but sub-optimal) solutions to the MCP. This may be of practical interest and given that there exist polynomial approximation schemes for set covering problem, feasible solutions to the MCP may be constructed efficiently with guaranteed optimality gap. Subsequently, we analyze the relation of the MCP with its structural counterpart, the minimal structural controllability problem (MSCP) which is known to admit a polynomial complexity solution procedure (see [9]). We show that the MSCP associated with the structural matrix A¯ of A, always yields a lower bound on the sparsity of the input vector b∗ , the solution to the MCP. ¯ Furthermore, we show that the lower bound is tight for almost all numerical instances A of A, ¯ almost all numerical instances i.e., more specifically, for almost all numerical instances A of A, b of a structural vector ¯b′ that is a solution to the MSCP associated with A¯ is a solution to the MCP associated with A. Intuitively, this suggests that the set of hard (NP-complete) problems constitute a set of measure zero in the space of system matrices A with simple eigenvalues. In summary, the main contributions of this paper are threefold: 1) we show that the MCP, when the dynamic matrix A has only simple eigenvalues, is NP-complete (by reduction to the set covering problem); 2) we show that that approximated solutions to the set covering problem yield feasible (but sub-optimal) solutions to the MCP; and 3) for almost all numerical instances ¯ almost all numerical instances b of a structural vector ¯b′ that is a solution to the MSCP A of A, associated with A¯ is a solution to the MCP associated with A. N OTATION We denote vectors by small font letters such as v, w, b and its corresponding entries by subscripts, for instance, vj corresponds to the j-th entry in the vector v. A collection of vectors is denoted by {v j }j∈J , where the superscript indicates an enumeration of the vectors using indices from a set (usually denoted by calligraphic letter) such as I, J ⊂ N . The number of elements of a set S is denoted by |S|. Real-valued matrices are denoted by capital letters, such as A, B and Ai,j denotes the entry in the i-th row and j-th column in matrix A. We denote by In the n-dimensional identity matrix. Given a matrix A, σ(A) denotes the set of eigenvalues of A, also known as the spectrum of A. The structural pattern of a vector/matrix (i.e., the zero/non-zero pattern) or a January 20, 2014
DRAFT
4
structural vector/matrix have their entries in {0, ⋆}, where ⋆ denotes a non-zero entry, and are denoted by a vector/matrix with a bar on top of it. In other words, A¯ denotes a matrix with A¯i,j = ⋆ if Ai,j 6= 0 and A¯i,j = 0 otherwise. The function · : Rn ×Rn → R denotes the usual inner product in Rn , i.e., v · w = v ⊺ w. With some abuse of notation, · : {0, ⋆}n × {0, ⋆}n → {0, ⋆} also denotes the map where v¯ · w¯ 6= 0, with v¯, w¯ ∈ {0, ⋆}n if and only if there exists i ∈ {1, . . . , n} such that v¯i = w¯i = ⋆. Additionally, kvk0 denotes the number of non-zero entries of the vector v in either {0, ⋆}n or Rn . Inequalities involving vectors are to interpreted component-wise. With abuse of notation, we will use inequalities involving structural vectors as well – for instance, we say v¯ ≥ w¯ for two structural vectors v¯ and w¯ if and the only if the following implications hold: i) if w¯i = 0, then v¯i ∈ {0, ⋆} and ii) if w¯i = ⋆ then v¯i = ⋆ for all i. Some other operations over vectors are also considered: given v ∈ Rn , the vector v1:k (with k a natural number satisfying k ≤ n) represents a vector in Rk with its entries equal to the first k entries of v. By v|¯b we denote a real vector of dimension k¯bk0 where its entries matches those of v at the positions where ¯b is non-zero, and such that the order of their appearance is the same as in v. II. P RELIMINARIES
AND
T ERMINOLOGY
In this section, we review the set covering problem [1], the eigenvalues and eigenvectors Popov-Belevitch-Hautus (PBH) controllability criteria for LTI systems [6], as well as, the complexity of computationally determining the eigenvalues/eigenvectors of a matrix comprising only simple eigenvalues. Definition 1 ([1]): (Set Covering Problem) Given a universe of size m (set of m elements) U = {1, 2, . . . , m} and a set of n sets S = {S1 , . . . , Sn } such that n [
Si = U,
i=1
the set covering problem consists of finding a set of indices I ∗ ⊆ {1, 2, . . . , n} corresponding to the minimum number of sets covering U, i.e., I ∗ = arg min
|I|
I⊆{1,2,...,n}
subject to:
U=
[
Si .
i∈I
⋄ January 20, 2014
DRAFT
5
Now consider an arbitrary LTI system, given by x(t) ˙ = Ax(t) + Bu(t),
(2)
where x ∈ Rn is the system state and u ∈ Rp is the system input. Two possible and well known controllability tests are stated next. Theorem 1 ([6]): (PBH test for controllability using eigenvalues) Given (2), the system is controllable if and only if rank
h
A − λIn B
i
= n for all λ ∈ C.
In fact, it suffices to verify the criterion of Theorem 1 for each λ ∈ σ(A) only. Theorem 2 ([6]): (PBH test for controllability using eigenvectors) Given (2), the system is not controllable if and only if there exists a left-eigenvector v of A such that v ⊺ B = 0.
⋄
Remark 1: Since geometric multiplicity of an eigenvalue is at most equal to its algebraic multiplicity, we recall that a matrix A with all simple eigenvalues consists of n distinct eigenvectors (right or left) only (up to scalar multiplication). Subsequently, with some abuse of terminology we say that two eigenvectors v1 , v2 ∈ Rn of A are distinct if v1 6= cv2 for all c ∈ R\{0}.
⋄
In order to be able to compute the eigenvectors of a square matrix (comprising only simple eigenvalues) in polynomial time, we have the following result from [8]. Theorem 3 ([8]): Let A ∈ Rn×n be a matrix with simple eigenvalues. The deterministic arithmetic complexity of finding the eigenvalues and the eigenvectors of A is bounded by O (n3 ) + t (n, m) operations, where t(n, m) = O n log2 n log m + log2 n , for a required
upper bound of 2−m kAk on the absolute output error of the approximation of the eigenvalues and eigenvectors of A and for any fixed matrix norm k · k.
⋄
Remark 2 ([8]): The term t(n, m) can be neglected from the estimate in Theorem 3 if we
choose m = 2
O
n2 log2 n
⋄
.
III. M AIN R ESULTS In this section, we show that the minimal controllability problem (MCP) (under the assumption that the matrix A has only simple eigenvalues) is polynomially reducible to the set covering problem, which establishes its NP-completeness (Section 3.1). This reduction is achieved by exploiting the PHB eigenvector criterion (Theorem 2) for controllability. More precisely, the reduction is obtained in two steps: first we provide a necessary condition on the structure ¯b January 20, 2014
DRAFT
6
of the sparsest input vector b (see Lemma 1), which is obtained by formulating a set covering problem (see Algorithm 1) associated with the structure (i.e., location of non-zero entries) of the left-eigenvectors of the system matrix A. Second, we show that a possible numerical realization of ¯b which solves the may be generated using a polynomial construction, using Algorithm 2. More specifically, such sparsity of ¯b matches the one determined by Algorithm 1. Moreover, both algorithms (Algorithm 1 and Algorithm 2) have polynomial complexity in the number of state variables (see Lemma 2). These results are intermediary results to the main result of the paper, stated in Theorem 4, i.e., the MCP is NP-complete, when A has simple eigenvalues. Additionally, we provide density arguments which show that almost all numerical realizations of the structural vectors ¯b (with maximum sparsity given by Lemma 1) are a solution to the MCP, see Proposition 1. In addition to the main result of this paper, we show (see Corollary 1) that approximated solutions to the set covering problem yield feasible (but sub-optimal) solutions to the MCP, with guaranteed optimality gap. Alternatively, we analyze the relation of the MCP with its structural counterpart, the minimal structural controllability problem (MSCP), see Section 3.2. We show that the MSCP associated with the structural matrix A¯ of A, which admits a polynomial complexity algorithmic solution (see [9]), always yields a lower bound on the sparsity of the input vector b∗ , the solution to the MCP. Furthermore, we show that the lower bound is tight ¯ i.e., more specifically, almost all numerical instances for almost all numerical instances A of A, b of a structural vector ¯b that is a solution to the MSCP associated with A¯ is a solution to the MCP. A. NP-completeness of the Minimal Controllability Problem We start by considering a set of key intermediate results, upon which we will obtain the main result of this paper (Theorem 4), i.e., the minimal controllability problem (MCP) is reducible to the set covering problem under the assumption that the dynamic matrix A has only simple eigenvalues. The first set of results provides necessary conditions on the sparsity that an input vector b must satisfy to possibly ensure controllability of (A, b) (see Lemma 1) and a polynomial complexity algorithmic procedure (Algorithm 1) that reduces the problem of obtaining such necessary structural patterns to a set covering problem. Subsequently, we provide Algorithm 2 January 20, 2014
DRAFT
7
Algorithm 1 Polynomial reduction of the structural optimization problem (3) to a set-covering problem Input: {¯ v j }j∈J , a collection of |J | vectors in {0, ⋆}n . Output: S = {Si }i∈{1,...,n} and U, a set of n sets and the universe of the sets, respectively. 1: for i = 1, . . . , n set Si = {} end for 2: for j = 1, . . . , |J | for i = 1, . . . , n if v¯ij 6= 0 then Si = Si ∪ {j} end if end for end for 3: set S = {S1 , . . . , Sn } n [ Si 4: set U = i=1
with polynomial complexity (see Lemma 2), which is shown to provide solutions to the MCP by generating appropriate numerical instances of the structural input vectors. Lemma 1: Given {¯ v j }j∈J with v¯j ∈ {0, ⋆}n and v¯j 6= 0 for all j, the procedure of finding ¯b∗ ∈ {0, ⋆}n such that ¯b∗ = arg min
k¯bk0
¯b∈{0,⋆}n
subject to:
(3) v¯ · ¯b 6= 0, for all j ∈ J j
can be polynomially (in |J | and n) reducible to a set covering problem with universe U and a collection S of sets by applying Algorithm 1.
⋄
Proof: Consider the sets S and U obtained in Algorithm 1. Now, we have the following equivalences. Let I ⊂ {1, · · · , n} be a set of indices and ¯bI the structural vector whose i-th component is non-zero if and only if i ∈ I. Then, the collection of sets {Si }i∈I in S covers U if and only if ∀k ∈ J , ∃j ∈ I such that k ∈ Sj , which is the same as ∀k ∈ J , ∃j ∈ I such that v¯jk 6= 0 and ¯bj 6= 0 January 20, 2014
DRAFT
8
and can be rewritten as ∀k ∈ J , ∃j ∈ I such that v¯jk¯bj 6= 0 and therefore ∀k ∈ J v¯k · ¯b 6= 0. In summary, ¯bI is a feasible solution to the problem in (3). In addition, it can be seen that by such reduction, the optimal solution ¯b∗ of (3) corresponds to the structural vector ¯bI ∗ , where {Si }i∈I ∗ is the minimal collection of sets that cover U, i.e., I ∗ solves the minimum set covering problem associated with S and U. Hence, the result follows by observing that Algorithm 1 incurs in polynomial complexity given by O(max{|J |, n}3). Next, given a structural vector ¯b ∈ {0, ⋆}n and a set of vectors {v j }j∈J , where v j ∈ Rn , we use Algorithm 2 to find a numerical realization of ¯b, say b, that verifies v j · b 6= 0, for all j ∈ J . Note that, such b exists only satisfies ¯b ≥ ¯b∗ for some solution ¯b∗ of (3). v1 ' v2 ' 5
' b'H4L = bH3L ' b'H3L = bH2L ' b'H2L = bH1L
b'H1L 5
-5
v3 ' -5
Fig. 1. Illustration of Step 4 of Algorithm 2 considering {v j }j∈{1,2,3} and ¯b such that k¯bk0 = 2. In the first iteration of Step 4, the second entry of b′(1) is zero, hence a vector with the second entry different from zero is selected. Without loss of generality, let that vector to be v ′1 and in the second iteration we have b′(2) that has no zero entry but it is orthogonal to v ′1 . Therefore, the component of v ′1 has to be re-scaled, originating b′(3) . Although b′(3) is no longer orthogonal to v ′1 , it is orthogonal to v ′2 , hence the component of v ′1 has to be re-scaled once again. Thus, we obtain b′(4) which comprises only non-zero entries and it is not orthogonal with respect to v ′1 , v ′2 and v ′3 , terminating Step 4.
We now establish the correctness of Algorithm 2 and its polynomial computational complexity on the size of its input. Lemma 2: Algorithm 2 is correct and has complexity O(max{|J |, n}3 ), where |J | is the size of the collection of vectors given as input and n the size of vectors used as input to the algorithm.
January 20, 2014
⋄
DRAFT
9
Algorithm 2 Determine a numerical realization of an input vector b with specified input structure Input: {v j }j∈J , a collection of |J | real vectors, and ¯b ∈ {0, ⋆}n. Output: b ∈ Rn solution to (4). 1: If ¯ b is not such that v¯j · ¯b 6= 0 for all j ∈ J then no solution exists and exit; 2: Let b′ to be a real p × 1 vector where p = k¯ bk0 and let v ′j = v j |¯b with j ∈ J (see Notation section). 3:
4:
5:
ε1 = 0.1, b′ = 0 and αj = 1 for j ∈ J for j = 1, . . . , |J | Je = Je ∪ {j} b′ = b′ + αj v ′j for i ∈ Je if b′ · v ′i = 0 then b′ = b′ + ε1 v ′i else exit for end if end for end for ε2 = 0.1 for k = 1, . . . , p if b′k == 0 then find m such that vk′m 6= 0 for l = 1, . . . , p + |J | + 1 b′ = b′ + ε2 v ′m if (kb′1:k k0 == k) and (b′ · v ′j 6= 0, j ∈ J ) then exit for end if end for end if end for set b with the same structure as ¯b and where each non-zero entry as the value in b′ by order of its appearance.
Proof: Correctness: First, observe that if Step 1 succeeds, there exists a collection of k¯bk0 × 1 real vectors {b′j }j∈J without zero entries, such that v ′j · b′j 6= 0 for j ∈ J . Now, we have to show that there exists a common b′ without zero entries such that v ′j · b′ 6= 0 for j ∈ J . This is done into two steps: first we ensure that v ′j · b′ 6= 0 for j ∈ J (in Step 3) and second we ensure that b′ has no zero entries, while keeping v ′j · b′ 6= 0 for j ∈ J (Step 4). Notice that Step 4 is not executed if ¯b is the sparsest input vector, determined in Lemma 2. January 20, 2014
DRAFT
10
Step 3 is correct, by proceeding inductively as follows: Let b′(j) and b′(j) denote the value of b′ at the beginning and ending of iteration j respectively. If j = 1 then Je = {1} and b′(1) = α1 v ′1 , which implies that b′(1) · v ′1 6= 0. Now, let us assume that at iteration β of Step 3 we have b′(β) , such that b′(β) · v ′j 6= 0 for all j ∈ Je = {1, . . . , β − 1}. Thus, we need to show that b′(β) is such that b′(β) · v ′j 6= 0 for all j ∈ Je = {1, . . . , β}. Notice that b′(β) = b′(β) + sε1 v ′β , where s corresponds to the number of times the inner for-loop was executed. In fact, due to the linearity of the inner product, we have that v ′j · b′(β) = 0 for some j ∈ Je at most |Je | times. Hence after the execution of the inner-most loop (consisting of |Je | + 1 iterations at most), we have s such that the vector b′(β) satisfies v ′j · b′(β) 6= 0 for j ∈ Je = {1, . . . , β}. Hence, at the end of step |J |, we have b′(|J |) that is not orthogonal to v ′j for each j ∈ J . Nevertheless, b′(|J |) may still have some zero entries as a result of a specific linear combination leading it to lie on some hyperplane orthogonal to the canonical vectors of Rp . In that case, Step 4 is executed which fixes the issue. To show that Step 4 is correct, we proceed inductively as follows: First, observe that if b′(|J |) given at the end of Step 3 has no zero entries, Step 4 is not executed and the result follows straightforwardly. Now, let us assume that b′ = b′(|J |) has some zero entries, and consider the following inductive argument on k for b′1:k , where k corresponds to the iteration of the outer-most for-loop in Step 4. Consider k = 1 if k¯b1:1 k0 = 1, then the first entry of ¯b is non-zero as desired. Otherwise, if k¯b1:1 k0 = 0, then the first entry in b′ is zero. Therefore, we re-scale a single vector v ′m with m ∈ J that has the first entry different from zero, i.e., b′(1) = b′(1) + lε2 v ′m . Therefore, the new vector b′(1) no longer has its first entry equal to zero as desired. Now, let us consider the induction step. Suppose that at iteration k of the outer-most for-loop in Step 4, kb′1:k k0 = k − 1 and b′ · v ′j 6= 0 for j ∈ J , then we want to show that at the end of iteration k we have kb′1:k k0 = k and b′ · v ′j 6= for j ∈ J . Let b′(k) = b′(k) + lε2 v ′m for some l ∈ {1, . . . , p + |J | + 1}, see Figure 1. Similarly to Step 3, notice that due to the linearity of the inner product, b′(k) can be orthogonal to a canonical vector at most p times and orthogonal to a vector v ′j at most |J |, hence there exists an l ∈ {1, . . . , p + |J | + 1} such that kb′(k) k0 = k and b′ · v ′j 6= 0 for j ∈ J . Hence, the correctness of Step 4 follows. In other words, at the end of step 4 we obtain b′ that is not orthogonal to any vector v ′j and has all its entries different from zero. By performing Step 5 it follows immediately that b is a vector that is a solution to (4). Complexity: The computation complexity is dominated by the execution of the two nested for-loops (in Steps 3 and 4) which incurs in O(max{|J |, n}2 ), where n is an upperbound to January 20, 2014
DRAFT
11
p = k¯bk0 . Since the inner-most operations in the for-loops are at most linear in max{|J |, n}, it follows that Algorithm 2 runs in O(max{|J |, n}3 ). Algorithm 2 is used to prove the next lemma (Lemma 3), which shows that the sparsest vector pattern given by Lemma 1 leads to a numerical realization that is a solution to the MCP, by recalling Theorem 2 (the PHB eigenvector controllability test), as stated in (4). Lemma 3: Given {v i }i∈J with v i ∈ Rn , the procedure of finding b∗ ∈ Rn such that b∗ = arg min kbk0 b∈R n
(4)
subject to: v i · b 6= 0, for all i ∈ J , can be polynomially (in |J | and n) reduced to a set covering problem (provided by Algorithm 1). ⋄ Proof: Note that, by Lemma 1, given {¯ v i }i∈J , problem (4) can be polynomially (in |J | and n) reduced to a set covering problem. Now, given a solution ¯b to (3), Algorithm 2 may be used to obtain a numerical instantiation b with the same structure as ¯b such that v i ·b 6= 0 for all i ∈ J , which incurs polynomial complexity (in |J | and n) by Lemma 2. Furthermore, it is readily seen that any feasible solution b′ to (4) satisfies kb′ k0 ≥ k¯bk0 = kbk0 . Hence, b obtained by the above recipe is a solution to (4) and the desired assertion follows by noting that all steps in the above construction except the set covering problem yielding ¯b incur in polynomial complexity (in |J | and n). It is important to note that the reduction in Lemma 3 is polynomial in |J | and n. Hence, if |J | grows super-polynomially in n, the reduction is not polynomial in n. This, in fact, motivates our restriction that the set of dynamics matrices A have simple eigenvalues, in which case |J | = n. With this, the main result of this paper may now be stated as follows. Theorem 4: The MCP, for the case where all the eigenvalues of A in (1) are simple, is NPcomplete.
⋄
Proof: From [7], we have that the MCP is NP-hard, and, hence, in particular, the set covering problem can be polynomially reduced to it. Therefore, we just need to show that the MCP (assuming that A comprises only simple eigenvalues) can be reduced polynomially to the set covering problem. To this end, note that, since |J | = n, the set of left-eigenvectors of A, denoted by {v i }i∈J , can be computed with polynomial complexity (see Theorem 3). Now, note that, given the set {¯ v i }i∈J January 20, 2014
DRAFT
12
of left-eigenvectors of A, the MCP is equivalent to problem (4), the latter being polynomially (in |J | and n) reducible to the set covering problem (see Lemma 3). Since |J | = n, the overall reduction to the set covering problem is polynomial in n and the result follows. Now, notice that in Algorithm 2 both ε1 , ε2 can be arbitrary positive scalars, which leads to the conclusion that there exist infinitely many numerical realizations of the sparsest input vector (determined as in Lemma 1) that are solutions to (4), and hence the MCP. In fact, as we show next, given ¯b determined in Lemma 2, almost all possible numerical realizations b ∈ Rn (not only those determined by Algorithm 2) of ¯b are solutions for the optimization problem in (4). Proposition 1: Given {v i }i∈J with countable J such that v i 6= 0 for all i ∈ J . Then the set Ω = {b ∈ Rn : b ∼ ¯b, v i · b = 0 for some i ∈ J } has zero Lebesgue measure, where the notation b ∼ ¯b denotes that b is structurally similar to ¯b, i.e., a numerical instantiation of ¯b. In particular, taking {v i }i∈J to be the set of left-eigenvectors of A, almost all numerical instantiations b of ¯b (solution to problem (4)) are solutions to the MCP. ⋄ Proof: Let {v i }i∈J , with countable J , be given and let ¯b be a solution to problem (4). Now note that, for b ∈ Rn , the equation v i · b = 0 represents a hyperplane Hi ∈ Rn (provided v i 6= 0 for all i), thus the equation v i · b 6= 0 defines the space Rn \ Hi . Therefore, the set of b that satisfies v i · b 6= 0 for all i ∈ J , is given by \
i∈J
Rn \ H
i
= Rn \
[
i∈J
Hi
!
and the set Ω of values which does not verify the equations is the complement, i.e., !c [ [ Hi , Rn \ Hi = i∈J
i∈J
which is a set with zero Lebesgue measure in Rn . Now note that, if {v i }i∈J is taken to be the set of left-eigenvectors of A and ¯b the corresponding solution to problem (4), each member of the set Ω constitutes a solution to (4) and hence the MCP. Since, by the preceding arguments, Ω has Lebesgue measure zero in Rn , it follows readily that almost all numerical instances of ¯b are solutions to the MCP. Additionally, a practical consequence of Algorithm 2 and its correctness (see Lemma 2) is January 20, 2014
DRAFT
13
that any approximated solution of the set covering problem given by Algorithm 1 leads to a feasible (sub-optimal) solution to the MCP. This is formally stated as follows. Corollary 1: Let A be as in (1) with {v i }i∈J its set of left-eigenvectors and ¯b′ ∈ {0, ⋆}n be such that v¯j · ¯b 6= 0, for all j ∈ J , corresponding to an approximate solution of the set covering problem generated by Algorithm 1 on the input set {¯ v i }i∈J , where v¯i denotes the structural vector associated with v i for each i ∈ J . If Algorithm 2 is instantiated with {v i }i∈J and the sparsity pattern ¯b′ , then its output b′ ∈ Rn is a numerical realization such that (A, b′ ) is controllable.
⋄
For instance, in [4] a polynomial approximation to the set covering problem is provided with distance bounded by c log(s), where c ∈ R+ and s denotes the number of sets in an optimal solution. It is readily seen that in our formulation s corresponds to the number of non-zero elements in a solution ¯b of the MCP and hence, for A’s with simple eigenvalues, the algorithm in [4] may be used to provide a polynomial approximation to the MCP with suboptimality bounded by c log k¯bk0 . B. Minimal Structural Controllability Problem In this subsection, we introduce the structural counterpart of the MCP, the minimal structural controllability problem (MSCP). Informally, the MSCP considers the structural pattern A¯ of the ¯ such that almost all system matrix A and seeks to determine the minimal input matrix structure B ¯ B) ¯ are controllable. A complete solution of the MSCP numerical instances (A, B) of the pair (A, for multi-input systems was obtained in [9], in which it was further shown that the problem is polynomial solvable in the size of the state space n. In what follows, we will study some implications of the MSCP on the minimal controllability problem. To this end, we start by formalizing some notions in structural systems theory and relevant graph theoretic constructs needed to state the results. For a more exhaustive introduction to this topic we refer the reader to [2], [9]. We start by stating the structural counterpart of controllability as follows. Definition 2 ([2]): (Structural controllability) Given an LTI system (2) with sparseness given ¯ B), ¯ with A¯ ∈ {0, ⋆}n×n and B ¯ ∈ {0, ⋆}n×p, the pair (A, ¯ B) ¯ is said to be structurally by (A, ¯ B). ¯ controllable if there exists a controllable pair (A, B), with the same sparseness as (A, ⋄
January 20, 2014
DRAFT
14
In fact, a stronger characterization of structural controllability holds as stated in the following remark. ¯ B), ¯ the numerical realizations (A, B) Remark 3 ([10]): For a structurally controllable pair (A, ¯ B) ¯ that are non-controllable lies in a proper variety in Rn×n × with the same sparseness as (A, Rn×p . In other words, almost all realizations respecting the structural pattern of a structurally ⋄
controllable pair are controllable.
Naturally, the MSCP is posed as follows. ¯ ∈ {0, ⋆}n×p Given the structural matrix A¯ associated with the dynamical matrix A, find B such that ¯ = arg min B
¯ ′ ∈{0,⋆}n×p B
subject to:
¯ ′ k0 kB (5) ¯ B ¯ ′ ) is structurally controllable. (A, ⋄
In order to state formally the solution to problem (5) as obtained in [9], we introduce the following graph theoretic notions. A digraph consists of a set of vertices V and a set of directed edges E of the form (vi , vj ), where vi , vj ∈ V. Given the matrices A and B in (2) and their ¯ respectively, we can define the following digraphs: 1) the state structure denoted by A¯ and B ¯ = (X , EX ,X ), which is the digraph that comprises only the state digraph, denoted by D(A) variables as vertices (i.e., X = {x1 , . . . , xn } as state vertices) and a set of directed edges between the state vertices (i.e., EX ,X = (xi , xj ) : xi , xj ∈ X and A¯j,i 6= 0 ); 2) the system ¯ B) ¯ = (X ∪ U, EX ,X ∪ EU ,X ), where U = {u1, . . . , up } denote the input digraph, denoted by D(A, ¯j,i 6= 0 the edges from the input vertices vertices and EU ,X = (ui , xj ) : ui ∈ U, xj ∈ X and B
to the state vertices. A digraph D is said to be strongly connected if there exists a directed path
between any two vertices. A subgraph of D is a digraph whose vertex and edge sets are subsets of those of D respectively. A strongly connected component (SCC) is a maximal subgraph (i.e., there is no other subgraph, containing it, with the same property) DS = (VS , ES ) of D such that for every u, v ∈ VS there exists a path from u to v and from v to u. We can create a directed acyclic graph (DAG) by visualizing each SCC as a virtual vertex, in which a directed edge between two vertices (SCCs) exists if and only if there exists a directed edge connecting the corresponding SCCs in the digraph D = (V, E), the original digraph. The SCCs in the DAG may be further categorized as follows.
January 20, 2014
DRAFT
15
Definition 3 ([9]): An SCC is said to be linked if it has at least one incoming/outgoing edge from/to another SCC. In particular, an SCC is non-top linked if it has no incoming edge to its vertices from the vertices of another SCC.
⋄
Given D = (V, E), we can associate it with the bipartite graph B(V1 , V2 , EV1 ,V2 ), where V1 , V2 ⊂ V and the edge set EV1 ,V2 = {(v1 , v2 ) ∈ E : v1 ∈ V1 , v2 ∈ V2 }. A matching M, with respect to the bipartite graph B(V1 , V2 , EV1,V2 ), is a subset of edges in EV1 ,V2 , in which no two edges share a vertex in V1 ∪ V2 . A maximum matching M ∗ is a matching M with the largest number of edges among all possible matchings. Note that in general it may not be unique. A vertex in V1 /V2 is a left/right-matched vertex if it belongs to an edge in M ∗ , otherwise, it is an left/right-unmatched vertex. The set comprising all left/right-unmatched vertices with respect to a maximum matching is denoted by UL /UR . ¯ = A bipartite graph of particular interest is the state bipartite graph, denoted by B(A) ¯ = (X , EX ,X ). With this state bipartite (X , X , EX ,X ), associated with the system digraph D(A) ¯ B) ¯ as follows (see [9]). graph we can characterize all possible structurally controllable pairs (A, ¯ B) ¯ is structurally controllable if and only if there exists a Proposition 2 ([9]): The pair (A, ¯ with a set of right-unmatched vertices UR such that B ¯ has, at least, maximum matching of B(A) m non-zero entries, where m is the number of right-unmatched vertices, one in each of the rows corresponding to the different state variables in UR and located at different columns, and, at least, β non-zero entries, where β denotes the number of non-top linked SCCs, each belonging to a row (state variable) corresponding to a distinct non-top linked SCC and located in arbitrary columns.
⋄
Observe that the set of β non-zero entries in the above characterization may share columns with the first set of m non-zero entries. Furthermore, as a direct consequence of the construction, any ¯ such that (A, ¯ B) ¯ is structurally controllable must have at least m distinct non-zero columns, B ¯ by Proposition 1, to obtain the minimal B ¯ (i.e., i.e., m different inputs. Moreover, given A, ¯ B) ¯ is structurally the one with the smallest number of non-zero entries) such that the pair (A, ¯ so as to maximize controllable, intuitively we have to construct a maximum matching of B(A) the intersection between the set of right-unmatched vertices and the non-top linked SCCs. For a precise statement we refer the reader to [9], where a polynomial complexity algorithm (in the size n of the state space) is provided to construct such a maximum matching and hence obtain ¯ the solution to problem (5). the minimal B, January 20, 2014
DRAFT
16
We now specialize the above characterizations to the context of single-input systems and obtain connections with the MCP. First, note that, by Definition 2, a pair (A, b) is controllable only ¯ ¯b) is structurally controllable. Therefore, it is natural to if the corresponding structural pair (A, first characterize all the sparsest structures of input vectors that ensure structural controllability, i.e., solutions to (5). In particular, as a straightforward consequence of Remark 3 we have the following result which links the MCP to its structural counterpart. Proposition 3 ([9]): Given A, a solution b ∈ Rn for the MCP and a numerical realization ¯ we have b′ ∈ Rn of a solution to the MSCP associated with the structural matrix A, kbk0 ≥ kb′ k0 . More generally, for each b that solves the MCP, there exists a solution ¯b′ of the MSCP such that b′ satisfy ¯b ≥ ¯b′ , where ¯b denotes the structural vector associated with b. Conversely, given a structural matrix A¯ and a solution ¯b′ to the single-input minimal structural ¯ almost all controllability controllability problem, for almost all numerical instances A of A, numerical instances of ¯b′ are solutions to the MCP associated with A.
⋄
Finally, we emphasize that the solution to the MSCP has been fully explored in [9] and can be determined recuring to polynomial complexity algorithms. This leads to the following interesting observation. Remark 4: By Proposition 3 (the converse part), it follows that the solution of the MCP almost always coincides with a numerical realization of the solution to an associated minimal structural controllability. Combining this with the fact that the MCP is NP-hard in general (see [7]) and NP-complete when the eigenvalues of A are simple (see Theorem 4), we note that the set of NP-problems has zero Lebesgue measure, i.e., such problem instances are unlikely to occur. ⋄ As stated in Theorem 4, the condition that the system matrices A be restricted to have simple eigenvalues, is in fact necessary in a sense for the proposed reduction of the MCP to the set covering problem to be polynomial in n. In the next section, we provide an example where the number of left-eigenvectors grows exponentially with n for which the proposed reduction is no longer polynomial and fails to ensure NP-completeness. January 20, 2014
DRAFT
17
IV. D ISCUSSION
OF
R ESULTS
In this section, we discuss two direct consequences of the results presented in the previous section. More precisely, in Section 4.1, we show that the set of possible left-eigenvectors may grow super-polynomially in the dimension of the state, hence the proposed reduction is no longer polynomial in the dimension n of the state space. Second, we explore the computational aspects of the PHB criteria in Section 4.2 in relation to the NP-completeness of the MCP. A. Dynamic matrices with eigenvalues with multiplicity greater than one From Remark 1 we have that the eigenspace associated with each eigenvalue is of at most dimension one, when A has only simple eigenvalues. Therefore, if the eigenvalues are not assumed to be simple, it follows that the dimension of the eigenspace is at most the size of the algebraic multiplicity of the associated eigenvalue. In that case, several alternatives to an eigenbasis (set of linear independent eigenvectors that span the eigenspace) are possible, in other words, it can be described by distinct eigenvectors. Hereafter, we explore an extreme case where the algebraic multiplicity of an n × n matrix is n. More precisely, we identify a sequence of n × n matrices with n = 1, 2, . . . for which the number of distinct eigenvectors grows exponentially with n. To this purpose, consider A to be the n × n matrix given by
1 1 ··· 1
1 1n = ...
1 ··· . . .. . .
1 . ..
1 1 ··· 1
. n×n
Thus, a subset of possible (and distinct) left-eigenvectors associated with the eigenvalue 0 is given by Ξn =
(
[x1 , x2 , . . . , xn ]⊺ : xi ∈ {−1, 0, 1} and
n X i=1
)
xi = 0 .
(6)
In other words, it consists of all possible combinations of xi ∈ {−1, 0, 1} summing up to zero. This is illustrated in Figure 2, where for the matrix 1n we have m (exponential number of) left-eigenvectors in Ξn . This leads to the following remark. Remark 5: The proposed reduction from the MCP to the set covering problem is polynomial in max(|J |, n), where |J | denotes the number of left-eigenvectors. Nevertheless, because the January 20, 2014
DRAFT
18 m 8000
6000
4000
2000
2
Fig. 2.
4
6
8
10
12
n
Number of m left-eigenvectors of the matrix 1n in Ξn given by (6).
number of left-eigenvectors can grow exponentially it follows that the proposed reduction can not be used to show that the (general) MCP is NP-complete. However, this does not imply that the MCP for arbitrary system matrices (i.e., when A is not restricted to have simple eigenvalues) ⋄
is not NP-complete, which remains an open question. B. The implications of the minimal controllability problem on the PBH controllability tests
In Section 4.1, we have seen that the number of left-eigenvectors associated with A can grow exponentially. Nevertheless, the number of eigenvalues of A is always equal to n, and can be computed in polynomial time (see [8]). This leads to the following observations: •
PBH eigenvalue test (see Theorem 1): It provides a polynomial method to check the controllability of an LTI system, since for each eigenvalue λ of A (n in total) only the computation of the rank of [A − λIn b] is required. Nevertheless, it does not provide any immediate information about which entries of b should be different from zero and with what specific values such that the rank condition is ensured. Therefore, a naive usage of the PBH eigenvalue test would lead to a strictly combinatorial procedure for solving the MCP.
•
PBH eigenvector test (see Theorem 2): It provides an insight about the design of b, since only its sparseness has to be determined, for instance, by solving a set covering problem (given in Algorithm 1), regardless of the size of the collection of the left-eigenvectors considered. Thus, given a specified structural vector, a numerical realization can be determined using Algorithm 2. Although, it may still be difficult to compute the optimal solution in general, since the set covering problem is NP-complete. On the other hand it should not be used (in general) to verify controllability, since it requires to compute the entire set of lefteigenvectors (recall it can grow exponentially, see Section 4.1), and posterior verification if each one is orthogonal to the columns of the input matrix (see Theorem 2).
January 20, 2014
DRAFT
19
V. I LLUSTRATIVE
EXAMPLE
To illustrate the main results of this paper, consider the dynamical matrix A given by
3 23 − 32 −1 21 0 2 0 0 0 3 A = −2 − 2 25 −1 − 12 0 0 0 3 0 3 3 1 29 2 2 2
,
(7)
¯ with A¯ corresponding to the structure of A, is depicted in Figure 3. where the digraph D(A), Note that σ(A) = {1, 2, 3, 4, 5}, hence it consists of simple eigenvalues which implies that the results in Section 3.1 are applicable. A. Minimal controllability problem Applying the developments in Section 3.1, to obtain the solution for the MCP, the first step is to compute the left-eigenvectors of A. The left-eigenvectors of A are v 1 = [ 1 [0
⊺ 0 1 0 1] ,
v3 = [ 0
⊺ 0 0 1 0] ,
v4 = [ 0
1 0 0 0]
⊺
and v 5 = [ 1
0 0 ⋆ 0]
⊺
, v¯4 = [ 0
⋆ 0 0 0]
⊺
and v¯5 = [ ⋆
0 ⋆ ⋆ 0]
⊺
⊺
, v2 =
⊺ 0 1 1 0] .
Hence, the structures of the left-eigenvectors of A are v¯1 = [ ⋆ v¯3 = [ 0
1 0 0 1]
⊺ ⋆ 0 0 ⋆] ,
v¯2 = [ 0
0 ⋆ 0 ⋆]
⊺
,
. The next step is to build the sets,
using Algorithm 1, for the set covering problem, based on v¯i , i = 1, . . . , 5, where the j-th set corresponds to the set of indices of the left-eigenvector which have a non-zero entry on the j-th position, and we obtain S1 = {1, 5}, S2 = {1, 4}, S3 = {2, 5}, S4 = {3, 5} and S5 = {1, 2}. The universe of the set covering problem, computed with Algorithm 1, is U=
n [
Si = {1, 2, 3, 4, 5} .
i=1
Now, it is easy to see that a solution of this set covering problem is the set of indices I ∗ = {2, 3, 4}, since U = S2 ∪S3 ∪S4 and there is no pair of sets, i.e., I ′ = {i, i′ } with i, i′ ∈ {1, . . . , 5} such that U = Si ∪ Si′ . Therefore, the structure of the vector b, a solution for the MCP, has to be ¯b = [ 0 ⋆ ⋆ ⋆ 0 ]⊺ .
(8)
Finally, in order to design b, we have to solve the following system with three unknowns which
January 20, 2014
DRAFT
20
ensures that b is non-orthogonal to each left-eigenvector of A, i.e., 0
1 1 0 0 1
0 0 0
0
0 0 b3 6= 0 , b 0 0
0 1 0 1 b2 0 0 1 1 0 0
4
1 0 1 1 0
0
0
and hence we must have that b2 , b3 , b4 6= 0 and b3 + b4 6= 0. By inspection, a possible choice is b = [ 0 1 1 1 0 ]⊺ , although a systematic way can be executed using Algorithm 2, instantiated with the set of left-eigenvectors of A given by {v j }j∈{1,...,5} and the structure of b given by ¯b in (8). We can now verify that the controllability matrix of the system has full rank. The controllability matrix is given by C = [ b Ab 0 −1 = −1 14
A2 b A3 b A4 b ] 1
1
1
0
4 4 −6 9 22 , 8 −39 27 103 137 16 −216 81 472 2
0
3
and rank(C) = 5, therefore the LTI system is controllable. B. Minimal structural controllability problem We now consider the solution to the MSCP associated with A¯ associated with A given in (7). First notice that by Proposition 2, it follows that the system is structurally controllable through a single input. This happens because the set of right-unmatched vertices with respect to any maximum matching of the state bipartite representation is empty, and the decomposition in SCCs is composed by two non-top linked SCCs, see Figure 3-b) where the edges in the maximum matching are depicted in green. Therefore, to achieve structural controllability, we just need to connect a single input to a state variable in each non-top linked SCC (in this case two state variables, i.e., x2 and x4 ), which corresponds to having ¯b = [0 ⋆ 0 ⋆ 0]⊺ . C. Discussion of results In our illustrative example the structural controllability solution to the MSCP provides a strict lower bound on the number of state variables we should actuate with the input, i.e., the sparsity of the input vector (in accordance to Proposition 3). More precisely, we achieve structural controllability by actuating two variables (specifically x2 , x4 ), but in order to ensure January 20, 2014
DRAFT
21
x3
x3
x4
x2
x4
x2
x1
x1
x5
x5
(a)
(b)
¯ = (X , EX ,X ), for A in (7), and (b), where the green edges correspond to edges in a maximum Fig. 3. (a) represents D(A) ¯ and the the dashed rectangles denote the decomposition of D(A) ¯ = (X , EX ,X ) into SCCs, where the matching M ∗ of B(A) left and right dashed rectangles correspond to non-top link SCCs. Since all vertices are matched it follows that the set of rightunmatched vertices is empty, which implies that ¯b = [0 ⋆ 0 ⋆ 0]⊺ ensures a structurally controllable system, as prescribed in ¯ ¯b′ ) is structurally controllable Proposition 2. In addition, notice that no other ¯b′ with less non-zero elements exists such that (A, ¯ ¯ that b exists, therefore b is a solution for the MSCP.
controllability for the given numerical instance A in (7), an additional state variable, for instance, x3 , needs to be actuated. This verifies that structural controllability is a necessary, but not sufficient, condition to achieve controllability. In particular, considering the converse part of Proposition 3, we note that the numerical values of the matrix A fall into the set of zero Lebesgue measure (see also Remark 3), where the solution associated with the MSCP does not provide a solution for the MCP. To sharpen the intuition behind these results and observations, we perturbed the matrix A by adding a random uniform noise on the interval [−10−10 , 10−10 ] to each of its non-zero entries, which leads to a new matrix that we denote by A′ (with the same structure as A). The structure of the left-eigenvector of the matrix A′ now becomes: v¯′1 = [ ⋆ v¯′3 = [ 0
⊺ 0 0 ⋆ 0] ,
v¯′4 = [ 0
⊺ ⋆ 0 0 0]
and v¯′5 = [ ⋆
⊺ ⋆ ⋆ ⋆ ⋆] ,
v¯′2 = [ ⋆
⋆ ⋆ ⋆ ⋆]
⊺
,
⊺ ⋆ ⋆ ⋆ ⋆] .
Now, building the sets for the set covering problem, using Algorithm 1, based on v¯i′ , i = 1, . . . , 5, where the j-th set corresponds to the set of indices of the left-eigenvector which have a non-zero entry on the j-th position, we have S1′ = {1, 2, 5}, S2′ = {1, 2, 4, 5}, S3′ = {1, 2, 5}, S4′ = {1, 2, 3, 5} and S5′ = {1, 2, 5}, and the universe of the set covering problem is U = {1, 2, 3, 4, 5}. Finally, by inspection we can see that a solution of this set covering problem is the set of indices I ′∗ = {2, 4}. Hence, in this case, the solution to the MCP coincides with a ¯ This further illustrates the numerical realization of the solution to the MSCP associated with A. conclusions of Proposition 3 and Remark 3.
January 20, 2014
DRAFT
22
VI. C ONCLUSIONS
AND
F URTHER R ESEARCH
In this paper, we have showed that the MCP is NP-complete, when A comprises only simple eigenvalues, by reducing it to a set covering problem. From a practical point of view, feasible solutions may be obtained using efficient (polynomial complexity) approximation algorithms known for the set covering problem with guaranteed suboptimality bounds. Finally, we have analyzed the relation between the MCP and its structural counterpart, the minimal structural controllability problem. The paper naturally leads to an open question: for general system matrices (i.e., not restricted to have simple eigenvalues) and multi-input systems, whether the MCP may still be polynomially reducible to an NP-complete problem or not. R EFERENCES [1] Thomas H. Cormen, Clifford Stein, Ronald L. Rivest, and Charles E. Leiserson. Introduction to Algorithms. McGraw-Hill Higher Education, 2nd edition, 2001. [2] Jean-Michel Dion, Christian Commault, and Jacob Van der Woude. Generic properties and control of linear structured systems: a survey. Automatica, pages 1125–1144, 2003. [3] Magnus Egerstedt. Complex networks: Degrees of control. Nature, 473(7346):158–159, May 2011. [4] Uriel Feige. A threshold of ln(n) for approximating set cover. J. ACM, 45(4):634–652, July 1998. [5] Michael R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1979. [6] Jo˜ao P. Hespanha. Linear Systems Theory. Princeton Press, Princeton, New Jersey, Sep. 2009. [7] A. Olshevsky. The Minimal Controllability Problem. ArXiv e-prints http://arxiv.org/abs/1304.3071, July 2013. [8] Victor Y. Pan and Zhao Q. Chen. The complexity of the matrix eigenproblem. In Proceedings of the thirty-first annual ACM symposium on Theory of computing, STOC ’99, pages 507–516, New York, NY, USA, 1999. ACM. [9] Sergio Pequito, Soummya Kar, and A. Pedro Aguiar. A framework for structural input/output and control configuration selection of large-scale systems. Submitted to IEEE Trans. on Automatic Control, Available in http://arxiv.org/abs/1309.5868, 2013. [10] K. J. Reinschke. Multivariable control: a graph theoretic approach, volume 108 of Lect. Notes in Control and Information Sciences. Springer-Verlag, 1988. [11] Dragoslav D. Siljak. Large-Scale Dynamic Systems: Stability and Structure. Dover Publications, 2007. [12] Sigurd Skogestad. Control structure design for complete chemical plants. Computers and Chemical Engineering, 28(12):219–234, 2004. [13] Marc van de Wal and Bram de Jager. A review of methods for input/output selection. Automatica, 37(4):487 – 510, 2001.
January 20, 2014
DRAFT