Academia.eduAcademia.edu

Polyhedral Lyapunov Functions with Fixed Complexity

2021, arXiv (Cornell University)

Polyhedral Lyapunov functions can approximate any norm arbitrarily well. Because of this, they are used to study the stability of linear time varying and linear parameter varying systems without being conservative. However, the computational cost associated with using them grows unbounded as the size of their representation increases. Finding them is also a hard computational problem. Here we present an algorithm that attempts to find polyhedral functions while keeping the size of the representation fixed, to limit computational costs. We do this by measuring the gap from contraction for a given polyhedral set. The solution is then used to find perturbations on the polyhedral set that reduce the contraction gap. The process is repeated until a valid polyhedral Lyapunov function is obtained. The approach is rooted in linear programming. This leads to a flexible method capable of handling additional linear constraints and objectives, and enables the use of the algorithm for control synthesis. D. Kousoulidis is supported by the Engineering and Physical Sciences Research Council (EPSRC) of the United Kingdom. D. Kousoulidis and F. Forni are with the Department of Engineering,

Polyhedral Lyapunov Functions with Fixed Complexity arXiv:2103.03613v1 [math.OC] 5 Mar 2021 Dimitris Kousoulidis and Fulvio Forni Abstract— Polyhedral Lyapunov functions can approximate any norm arbitrarily well. Because of this, they are used to study the stability of linear time varying and linear parameter varying systems without being conservative. However, the computational cost associated with using them grows unbounded as the size of their representation increases. Finding them is also a hard computational problem. Here we present an algorithm that attempts to find polyhedral functions while keeping the size of the representation fixed, to limit computational costs. We do this by measuring the gap from contraction for a given polyhedral set. The solution is then used to find perturbations on the polyhedral set that reduce the contraction gap. The process is repeated until a valid polyhedral Lyapunov function is obtained. The approach is rooted in linear programming. This leads to a flexible method capable of handling additional linear constraints and objectives, and enables the use of the algorithm for control synthesis. set. This is one of the features that distinguish our approach from others available in the literature [2], [3], [10], [14], [17]. We provide a comparison in Section VI. Another relevant feature is that we can easily extend the framework to include additional constraints and new variables, which is of practical significance for control synthesis. This allows us to develop most of our discussion for autonomous linear systems, simplifying the exposition. We then show how the algorithm is generalized to control design and nonlinear systems in Section V. We also show how our algorithm can be used to assess contraction/incremental stability of a system. The effectiveness of the algorithm is illustrated on a DC motor example, in Section VII. I. I NTRODUCTION We use C to denote a convex set and int C to denote its interior, which we define as the largest open subset of Rn in C. Inequalities on vectors and matrices are used in the element-wise sense. We represent polyhedra in two ways: V-representation given n × m matrix V , In this paper we provide a tool for the analysis and design of Linear Time Varying (LTV) and Linear Parameter Varying (LPV) systems. We first focus on verifying the stability of these systems. Then, we focus on the design of linear feedback for the stabilization problem. For the stability problem we adopt the framework of polyhedral Lyapunov functions [3]. Those are asymmetric norms (finitely valued, satisfy the triangle inequality, positively homogeneous, and positive definite) whose unit balls are polyhedra. We provide the necessary background on polyhedra and polyhedral Lyapunov functions in Section II, and show how to use them for verifying stability in Section III. The polyhedral Lyapunov framework is less conservative than standard quadratic Lyapunov functions. But this comes at a price: whereas finding a quadratic Lyapunov function to assess stability is a convex problem, efficiently solved using linear matrix inequalities [4], the same problem is hard to solve for polyhedral Lyapunov functions. In this paper we tackle the problem by developing an approach based on a two step iterated procedure, along the lines of [11]. Each step is a linear program (LP) and the iterations build a sequence of polyhedral sets, each reducing the gap to a contractive set, i.e. to a decaying Lyapunov function. The full algorithm is presented in Section IV. A relevant feature of our algorithm is that we fix the complexity of the polyhedral Lyapunov function, that is, the number of vertices or constraints that define the polyhedral D. Kousoulidis is supported by the Engineering and Physical Sciences Research Council (EPSRC) of the United Kingdom. D. Kousoulidis and F. Forni are with the Department of Engineering, University of Cambridge, CB2 1PZ, UK [email protected] & [email protected] II. M ATHEMATICAL P RELIMINARIES A. Polyhedra CV (V ) = {x : x = V p, p ≥ 0, 1T p = 1} (1) H-representation given m × n matrix H, CH (H) = {x : Hx ≤ 1} (2) For this paper we exclusively use V-representation polyhedra. All results can be readily extended to H-representation polyhedra by duality, [3, Proposition 4.35]. Geometrically, the columns of the V correspond to the vertices of CV (V ), which is formed by taking their convex hull. We make the standing assumptions that our polyhedra • are Bounded (A1) • contain 0 in their interior (A2) Assumption (A1) is always true for V-representation polyhedra. Eq. (A2) requires that there exists a p+ > 0 such that 0 = V p+ , which we can test using linear programming (LP). B. Polyhedral Lyapunov Functions Any convex set C defines a non-negative function through its Minkowski functional. The Minkowski functional of a set C is given by ΨC (x) = inf{r ∈ R : r > 0 and x ∈ rC} (3) For V-representation polyhedra this means ΨV (x) = min{1T p : x = V p, p ≥ 0} (4) Using the strong duality of LP problems [5, Section 5.2.1], this is equivalent to ΨV (x) = max{hT x : hT V ≤ 1T } (5) Using LP, (4) and (5) can be evaluated numerically at any given point. For V-representation polyhedra satisfying (A2), ΨV is always a real valued function, strictly positive for all x 6= 0, and radially unbounded. As such they are valid Lyapunov function candidates. However, for us to fully establish the link with Lyapunov theory we also require the notion of a derivative of the candidate function. Unfortunately, the Minkowski functionals of polyhedra are not everywhere differentiable and we need to resort to the more general setting of subdifferentials: ∂Ψ(x) = {h : ∀y ∈ Rn , Ψ(y) − Ψ(x) ≥ hT (y − x)} (6) For differentiable functions the subdifferential at x corresponds to the gradient. For Minkowski functionals of V-representation polyhedra, we can obtain an explicit representations of ∂ΨV (x). Proposition 1 (V-representation Subdifferential): For any given matrix V , consider the Minkowski functional ΨV . Then, ∂ΨV (x) = {h : hT x = ΨV (x), hT V ≤ 1T } (7) Proof: (7) ⊆ ∂ΨV (x): We need to show that ΨV (y) ≥ hT y. From (5), this must be true. ∂ΨV (x) ⊆ (7): We prove this in two steps. We first show that any h ∈ ∂ΨV (x) must satisfy hT V ≤ 1T by contradiction. If h doesn’t satisfy hT V ≤ 1T , there must exist a column of V , [V ]i , such that hT [V ]i = c > 1 and ΨV ([V ]i ) = 1. If we set y = k[V ]i , for h ∈ ∂ΨV (x) we must then have k − ΨV (x) ≥ kc − hT x for all k > 0. However, if we set k > max(0, (hT x − ΨV (x))/(c − 1)) the inequality is invalidated, leading to a contradiction. As such, if h ∈ ∂ΨV (x) then hT V ≤ 1T . If we set y = 0 we get hT x ≥ ΨV (x). But from before hT V ≤ 1T , and so h must be included in the domain of (5) and therefore hT x = ΨV (x). Since h satisfies both hT V ≤ 1T and hT x = ΨV (x), h ∈ (7). We use subdifferentials to quantify how our candidate Lyapunov function ΨV changes along system trajectories. Proposition 2: For any trajectory x(·) of the autonomous system ẋ = Ax, Z t sup hT Ax(τ )dτ (8) ΨV (x(t)) − ΨV (x(0)) = 0 h∈∂ΨV (x(τ )) Proof: See [6] and [3, Sections 2.2]. The integrand is equivalent to max hT Ax subject to hT x = ΨV (x), hT V ≤ 1T , which is an LP that we can directly numerically compute. III. C ONTRACTION , L INEAR P ROGRAMMING , AND LYAPUNOV S TABILITY Convex sets can be used to show stability through the notion of contraction (also frequently referred to as strict positive invariance). For continuous time systems, this requires us to first define tangent cones. For a general convex set C, the interior of the tangent cone at a point x ∈ C is given by int KC (x) = {w : λ > 0, x + λw ∈ int C} (9) We then say that C is a contracting convex set under the dynamics ẋ = Ax if ∀x ∈ C, Ax ∈ int KC (x) (10) This can be interpreted in words as saying that the flow induced by the dynamics maps all points in C to points in int C for all t > 0. For polyhedra, we can express this geometric condition in a more convenient form. Proposition 3 (Contraction in V-representation): For a polyhedron CV (V ), (10) is equivalent to ∃M ∈ Rm×m and scalar η > 0 such that −η1T = 1T M, AV = V M, off-diag(M ) ≥ 0 [≡ M is Metzler] (11a) (11b) (11c) Where we use off-diag(M ) ≥ 0 to denote that all elements of M outside of the main diagonal are non-negative. We call η the rate of contraction. Proof: For CV (V ), we use (1) to express (10) as ∀(p ≥ 0, 1T p = 1) : ∃(λ > 0, p̂ ≥ 0, 1T p̂ < 1) : AV p = λ−1 V (p̂ − p) This is equivalent to ∃(Λ > 0, P̂ ≥ 0, 1T P̂ < 1T ) : AV = V Λ−1 (P̂ − I) where Λ is a diagonal matrix. Setting M̂ = Λ−1 (P̂ − I), we rewrite this as: ∃(η > 0, M̂ ) : 1T M̂ ≤ −η1T , AV = V M̂ , off-diag(M̂ ) ≥ 0 From (A2), ∃p+ > 0 such that 0 = V p+ . We can then add this p+ to each column of M̂ until it satisfies (11a) without affecting (11b) or (11c). Testing contraction is thus an LP optimization problem. max η M,η (12) s.t.: (11) The conditions of Proposition 3 are verified if the maximization in (12) is greater than 0. It is fairly straightforward to show that set contraction implies stability through the homogeneity of the linear dynamics. However, using (7), we can build a direct connection to Lyapunov theory. Proposition 4 (Lyapunov stability): CV (V ) is a contracting set for A with rate η if and only if ∀x ∈ Rn sup hT Ax ≤ −ηΨV (x) (13) h∈∂ΨV (x) Proof: (11) =⇒ (13): Starting with (7) and (4) we have that there exists some p such that hT x = 1T p = ΨV (x), x = V p, p ≥ 0 for the h ∈ ∂ΨV (x) that maximizes hT Ax. Also note that we can rewrite a matrix M satisfying (11c) as M = P + δI, where P is an positive matrix. Therefore hT Ax = hT AV p = hT V M p (11b) T = h V (P + δI)p = hT V P p + δhT V p = hT V P p + δ1T p [x = V p, 1T p = hT x] ≤ 1T P p + δ1T p = 1T M p [h ∈ ∂ΨV (x), P p ≥ 0] ≤ −η1T p (11a) ≤ −ηΨV (x) (13) =⇒ (11): We show this by contradiction. The optimization problem in (11) can be broken down to multiple multiple sub-problems, one for each column of V , [V ]i : ∃p ∈ Rm : η = −1T p, A[V ]i = V p, pj6=i ≥ 0 (14) where {j 6= i} is [1, m] \ {i}. If (11) is infeasible for a given η then (14) must be infeasible for at least one [V ]i . This is because otherwise a feasible solution for (11) could be generated by aggregating {p} into a matrix P . As such we begin by assuming that there exists some [V ]i for which (14) is infeasible. Then, by Farkas’ Lemma, there exists an h such that hT A[V ]i > −η, hT [V ]i = 1, hT V ≤ 1T (15) This means that h ∈ ∂ΨV ([V ]i ). But, since, ΨV ([V ]i ) = 1, hT A[V ]i > −ηΨV ([V ]i ), contradicting (13). From Lyapunov theory, (13) with η > 0 combined to (8) imply global exponential stability of the system with convergence rate η. The connection between contraction and Lyapunov stability is a well-known result in system theory [3, Thm 4.24, 4.33]. However, we include this proof to show how we can use (7) to directly proof results about polyhedral Lyapunov functions. We hope to use this approach to extend results that have no direct interprettation as set contraction, such as dissipativity, to polyhedral Lyapunov functions. This can be particularly useful for control design and for the analysis of open systems. IV. A LGORITHM FOR F INDING P OLYHEDRA A. Overview Testing if a set is contracting under the linear dynamics ẋ = Ax is a much easier problem than finding a contractive set. In fact, treating V as a variable makes (11b) nonconvex and nonlinear (since M and η are also variables). However, we can instead try to find such a V iteratively, by decomposing (12) into a pair of LP problems. One considers V fixed and estimates the contraction gap of V . The other, introduces variations on V to reduce the contraction gap. To initialize our algorithm we need to build an initial candidate polyhedron which satisfies our standing assumptions. A possible construction is suggested in Remark 1. The number of vertices m of our polyhedron will remain the same throughout the whole procedure. This means that we can control the complexity of our Lyapunov function and treat m as an input parameter. (i) Estimation of the contraction gap: for any given candidate polyhedron V , the contraction gap is estimated via the LP optimization (12) The following Proposition justifies the use of (12). Proposition 5: Given a CV (V ) that satisfies (A2), there exists some finite η (not necessarily > 0) that satisfies (11). Additionally, if CV (V ) satisfies (11) for some η ∗ , it will also satisfy (11) for any η < η ∗ . Proof: Note that (A2) implies that V is full row rank since otherwise the strict interior of CV (V ) would be empty. We rewrite p = pb +δi p+ , where pb is a solution to A[V ]i = V pb (implied to exist because V is full row rank) and p+ > 0 is a positive solution to 0 = V p+ (implied to exist because of (A2)). There then exists a δi∗ such that A[V ]i = V p and pi6=j ≥ 0 for all δi ≥ δi∗ . Since 1T p+ > 0, increasing δi decreases ηi = −1T pb − δi 1T p+ . As such, there exists {δi } such that for all i ηi∗ = − mini {1T pb + δi∗ p+ }. Aggregating {p} into a matrix P produces a solution to (11) with η = ηi∗ . By increasing {δi } further, (11) can be satisfied for any η < η∗ . If η > 0 we conclude that our polyhedron is contracting and we are done. (ii) Reduction of the contraction gap: if η ≤ 0, the following LP program searches for variations on V that are compatible with a reduction of the contraction gap. For a small ε > 0, solve: max δη (16a) −δη1 = 1T δM, (16b) δη,δM,δV T AδV = δV M + V δM, 0 ≤ off-diag(M + δM ) kδV k1 ≤ ε, kδM k1 ≤ ε (16c) (16d) (16e) The idea is to look for variations δV in a small neighborhood of V that would improve the gap η < η + δη. The search space is limited to the tangent space of the constraints manifold, at the point (η, V, M ). Therefore, for small enough variations, any solution to the LP above improves the contraction rate while preserving the integrity of the constraints. We thus build the new polyhedron as Vnew := V + δV . A small ε ensures that the Vnew remains in a small neighborhood of V to be compliant with the linear approximation above. It also guarantees that CV (Vnew ) satisfies our standing assumption (by continuity argument). The procedure iterates between these two steps until the estimation of the contraction gap returns a positive η. Remark 1: We compute an initial candidate polyhedron by randomly sampling m−1 points in Rn and rescaling them to have length 1. We then add an additional vertex equal to minus their sum and again normalised to have length 1. This way we obtain a polyhedron CV (V ) with m irreducible vertices that, as long as m ≥ n + 1, must also satisfy (A2). B. Fast reduction of the contraction gap We can speed up (16) by not having δη and δM as variables in the second optimization problem. We do this by considering directions in the tangent space that are compatible with the optimality conditions of (12) around a fixed previous solution. With these extra restrictions in place, we can obtain a directional derivative of η with respect to V. To estimate this derivative we need to rewrite (12) into standard LP form max ĉT x̂ (17a) x̂ s.t.: Âx̂ = b̂ x̂ ≥ 0 (17b) (17c) where  is a k × l matrix. A detailed transformation procedure is provided in Section IV-C. Using the standard form, we can then make use of the notion of Basic Feasible Solutions (BFS): from [15, Section 13.2], a BFS of (17) is a set B ⊂ {1, .., l} and a vector x̂ such that: • Âx̂ = b̂ and x̂ ≥ 0 • B contains k elements • i 6∈ B =⇒ x̂i = 0. • The k × k matrix B̂ defined as B̂ = [Âi ]i∈B is non-singular, where Âi is the ith column of Â. When solving (17) it is sufficient to only consider BFSs [15, Theorem 13.2]. We can obtain a BFS that is also an optimal solution of (17) via the Simplex algorithm [7]. Many commercial interior point solvers also offer the option of deriving a BFS as a cheap post-processing stage. With the optimal BFS we can now find the derivative of η with respect to changes in V . In general, we need to implicitly differentiate equation (17b) to obtain a derivative of x̂ (which represents our variables η and M in standard form) with respect to  and b̂ (which are functions of V ). However, an explicit solution can only be obtained if  is invertible [8]. Instead, we restrict ourselves to the BFS and consider only variables that aren’t constrained to be 0 by our choice of B. Indeed, given ŷ = {x̂i : i ∈ B}, we can always obtain the derivative of ŷ with respect to B̂ and b̂. Because B̂ is invertible (from the properties of the BFS), this derivative is always well defined. Using the transformation in Section IV-C, we can map the LP problem back to its original coordinates and build an explicit representation of DV η and DV M . We can then replace (16) with the following LP optimization problem: max (DV η)(δV ) subject to: kδV k1 ≤ ε δV and : (18) off-diag(M +(DV M )(δV )) ≥ 0 By constraining δV to be small enough we can also ensure that the new polyhedron CV (V +δV ) satisfies (A1) and (A2). This can also be enforced directly, as in [11], but keeping δV small seems to work sufficiently well in practice. We summarize the full algorithm below: Algorithm 1 Stability Verification Algorithm Data: The matrix A, the maximum number of iterations, and the number of vertices in the matrix m Result: V satisfying (11) if found, else F alse Procedure: V (0) = Initialize(m) k=0 while k ≤ max iter: η, M, B = Optimal BFS of (12) with V = V (k) if η > 0: return V (k) DV η, DV M = Derivatives of (12) using B and V = V (k) δV = (18) using M, DV η, and DV M V (k+1) = V (k) + δV k := k + 1 return F alse C. The Derivative Computation in Detail To go from (12) to (17) we use the vectorization operator vec(·), which converts a n × m matrix into a column vector with nm entries by stacking up its columns and the Kronecker product (⊗):     Im ⊗ V − vec(V ) 0nm 0nm vec(AV ) b̂ =  = 0m Im ⊗ 1Tm −1m 1m −1m     0mm vec(P )  0   −δ    ĉ =  x̂ =   1   η+  −1 η− (19) where η+ − η− = η and P + δI = M . We can also rewrite (17b) as f = Âx̂ − b̂ = B̂ ŷ − b̂ = Ĝ vec(V ) = 0 where Ĝ =   M T ⊗ In − Im ⊗ A 0m×(nm) (20) (21) From (20), we use the implicit function theorem to compute the Jacobian of ŷ with respect to vec(V ) ∇vec(V ) ŷ = −(∇ŷ f )−1 ∇vec(V ) f = −B̂ −1 Ĝ (22) such that (DV ŷ)(δV ) = (∇vec(V ) ŷ) vec(δV ). For our derivatives of interest (DV η)(δV ) = (DV η+ )(δV ) − (DV η− )(δV ) and, ∀i 6= j, (DV Mij )(δV ) = (DV Pij )(δV ) Note that all derivatives on the right hand side are of elements of x̂. To compute each of them we first obtain the corresponding index i in x̂ from (19). Then, if i 6∈ B, the derivative is zero. Else, we obtain the corresponding index j in ŷ so that x̂i = ŷj . To compute the derivative, we then multiply the j th row of (22) with vec(δV ). Our derivative calculations can be interpreted as only considering the effect of changes in V to our variables under a fixed basis. As long as the solution with the current basis is feasible for V + δV , this will still be a BFS (although it might not be the optimal one). V. G ENERALIZATIONS A. Feedback Design Algorithm 1 can be readily extended for output-feedback design for systems of the form ẋ = Ax + Bu y = Cx. This includes state feedback as a special case when C = I. We replace (12) with max η M,K,η (23) (A + BKC)V = V M, off-diag(M ) ≥ 0 [≡ M is Metzler] The two step procedure outlined in Section IV reduces the nonlinear (for non-fixed V ) program (12) into an iteration involving linear programs. A similar reduction can be applied to (23). Just like (12), (23) is a linear program for fixed V , which means that the estimation of the contraction gap is a straightforward operation. Likewise, for (23), the reduction of contraction gap step is performed on a larger manifold, which now also contains K. However, the search procedure remains essentially the same. This means that the approach in (IV-B) can also be adapted to control synthesis (it just requires different transformations to get the constraints into standard form). We can also consider scenarios beyond simple stabilization. New formulations may be considered as long as they are encoded into linear constraints. Natural directions to explore are testing/enforcing input/output gains, the design of dynamic output feedback, and the design of nonlinear state-feedback controllers taking advantage of the Lyapunov framework. This will be the goal of future research. B. From Linear Stability to LDIs The discussion in this paper has been developed for simple linear systems but, since (12) and (23) are convex, the same approach can be used for the analysis LTV and LPV systems, and even for nonlinear systems. The idea is that systems of the form ẋ = A(w(t))x + B(w(t))u (24) satisfy, for all t ≥ 0, A(w(t)) ∈ ch{Ai }, B(w(t)) ∈ ch{Bi } where ch{Ai } = {A : A = X i pi Ai , pi ≥ 0, −η1T = 1T Mi and Ai V = V Mi . Indeed, the extension of the constraint set does not change the structure of the solution. Combined with (23), this allows us to tackle the design of a stabilizing linear state-feedback law u = Kx. A similar approach can be explored to verify contraction [12], [18], [16], [9] of nonlinear systems of the form ẋ = f (x). The problem reduces to finding a contracting polyhedral set V for the linearization ˙ = ∂f (x)δx δx ∀x . The solution is obtained as above, by relaxing the problem to a suitable convex hull ∂f (x) ∈ ch{Ai } for all x. VI. C OMPARISON WITH R ELATED A PPROACHES −η1T = 1T M, s.t.: and likewise for ch{Bi }. Stability is thus verified as in (12) where constraints (11a) and (11b) are replaced by several constraints of the form X i pi = 1}; In systems theory polyhedral Lyapunov functions are usually constructed using algorithms that progressively add new vertices or constraints until a contractive set is reached. Other algorithms exploit optimization based approaches to directly construct contractive sets. [3], [10] and [14] provide examples of the iterative approach. The new vertices are generated by iterating the update equation of discrete-time linear systems. The main advantage of these approaches is that in many cases the sequence of polyhedra produced can be guaranteed to converge to a polyhedral Lyapunov function, if one exists. The main disadvantage is that not all linear constraints can be incorporated easily. Additionally, it is difficult to bound the complexity of the resulting polyhedron. Examples of optimization-based algorithms can be found in [2] and [17]. [17] considers positive rescalings of the vertices of the initial candidate polyhedron. This allows for fast computation but may lead to high complexity polyhedra even when a simple contractive polyhedron exists. The algorithm in [2] makes clever use of both representations of a polyhedron. However, this is also a limiting factor because of the possible difference in the number of vertices and constraints of the two representations. In higher dimensions, a few vertices/constraints in one representation may lead to a very large number of constraints/vertices in the other representation [13], which hinders the use of the algorithm in high dimensional settings. The approach proposed in this paper is also optimizationbased. It takes into account explicitly the problem of complexity of the polyhedron by taking the number of vertices of the polyhedron as a parameter. This comes at the price of weaker convergence guarantees (if the predefined number of vertices is too small the problem is unfeasible). Our algorithm generalizes the approach of [17] by allowing vertices to move freely, and, in constrast to [2], only uses a single representation. Our approach also tackles the problem linear control synthesis which is not considered by any of the approaches above. Using our algorithm we find that we simultaneously stabilise these under a common Lyapunov function using output feedback law   u = −19.7 −18.7 y (30) 0.2 i 0.1 0.0 The identified polyhedron is also shown in Fig. 1 and has only 9 vertices. −0.1 −0.2 −2.0−1.5−1.0−0.5 0.0 0.5 1.0 1.5 2.0 VIII. C ONCLUSIONS AND F UTURE W ORK ω Fig. 1: Left: Invariant polyhedron for (25) and (26), for γs = 10 (η ≥ 0.07). Right: Invariant polyhedron for (27) and (29), with γp = 4 and u as in (30) (η ≥ 0.004, 0.03 for nominal) R EFERENCES VII. E XAMPLE : DC M OTOR We test our optimization-based approach on the DC motor speed and position examples from [1]. For the DC motor speed example, we carry out a stability analysis under various possible parameter variations. We then solve the feedback design problem for the DC motor position example using both static and dynamic state feedback. We use the parameters given in the website for the speed example as our nominal values throughout (inertia J0 = .01, viscous friction constant b0 = .1, emf constant K0 = .01, resistance R0 = 1, and inductance L0 = .5). The DC motor speed example is governed by the following dynamics:      d ω −b/J K/J ω = (25) −K/L −R/L i dt i In this case, we consider 2 orders of magnitude of parameter perturbations of the form J ∈ [J0 /γs , γs J0 ], b ∈ [b0 /γs , γs b0 ], K ∈ [K0 /γs , γs K0 ] (26) for γs = 10. Using Algorithm 1, we are able to find a polyhedron satisfying (13) and (26) (with η = .07). It is shown in Fig. 1 and has only 6 vertices. For comparison, we are only able to find a common quadratic function using LMIs up to around γs = 8.7. We next consider the DC motor position example. The dynamics are now:        θ 0 1 0 θ 0 d    ω = 0 −b/J K/J  ω  +  0  u (27) dt i 0 −K/L −R/L i 1/L And we assume that we can only measure θ and i:     θ 1 0 0   ω y= 0 0 1 i (28) We also have parameter perturbations of the form J ∈ [J0 /γp , γp J0 ], K ∈ [K0 /γp , γp K0 ], with γp = 4. We presented an algorithm for finding polyhedral Lyapunov functions of fixed complexity for feedback design. We believe that this can be used to tackle interesting research directions. We plan to extend the theory to open systems and interconnections, and apply it to the nonlinear contraction setting. (29) [1] University of Michigan control Tutorials for MATLAB and Simulink. https://ctms.engin.umich.edu/CTMS/index. php?aux=Home. [2] R. Ambrosino, M. Ariola, and F. Amato. A Convex Condition for Robust Stability Analysis via Polyhedral Lyapunov Functions. 50(1):490–506. [3] F. Blanchini and S. Miani. Set-Theoretic Methods in Control. Systems & Control: Foundations & Applications. Birkhäuser, 2 edition. [4] S. Boyd, L. El Ghaoui, E. Feron, and V. Balakrishnan. Linear Matrix Inequalities in System and Control Theory. Studies in Applied and Numerical Mathematics. Society for Industrial and Applied Mathematics. [5] S. Boyd and L. Vandenberghe. Convex Optimization. Cambridge University Press. [6] F. Clarke. Lyapunov Functions and Feedback in Nonlinear Control. In M. S. Queiroz, M. Malisoff, and P. Wolenski, editors, Optimal Control, Stabilization and Nonsmooth Analysis, volume 301 of Lecture Notes in Control and Information Sciences, pages 267–282. Springer Berlin Heidelberg. [7] G. B. Dantzig. Origins of the simplex method. In S. G. Nash, editor, A History of Scientific Computing, pages 141–151. ACM. [8] A. L. Dontchev and R. T. Rockafellar. Implicit Functions and Solution Mappings: A View from Variational Analysis. Springer Monographs in Mathematics. Springer New York. [9] F. Forni and R. Sepulchre. A Differential Lyapunov Framework for Contraction Analysis. 59(3):614–628. [10] N. Guglielmi, L. Laglia, and V. Protasov. Polytope Lyapunov Functions for Stable and for Stabilizable LSS. 17(2):567–623. [11] D. Kousoulidis and F. Forni. An Optimization Approach to Verifying and Synthesizing K-cooperative Systems. In 21st IFAC World Congress (IFAC-V 2020). [12] W. Lohmiller and J. Slotine. On Contraction Analysis for Non-linear Systems. 34(6):683–696. [13] P. McMullen. The maximum numbers of faces of a convex polytope. 17(2):179–184. [14] S. Miani and C. Savorgnan. MAXIS-G: A software package for computing polyhedral invariant sets for constrained LPV systems. In Proceedings of the 44th IEEE Conference on Decision and Control, pages 7609–7614. [15] J. Nocedal and S. J. Wright. Numerical Optimization. Springer Series in Operations Research. Springer, 2nd ed edition. [16] A. Pavlov, N. van de Wouw, and H. Nijmeijer. Uniform Output Regulation of Nonlinear Systems: A Convergent Dynamics Approach. Systems & Control: Foundations & Applications. Birkhäuser, 2005. [17] A. Polański. On absolute stability analysis by polyhedral Lyapunov functions. 36(4):573–578. [18] G. Russo, M. Di Bernardo, and E. Sontag. Global entrainment of transcriptional systems to periodic inputs. PLoS Computational Biology, 6(4):e1000739, 04 2010.