This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Learning fixed-complexity polyhedral Lyapunov functions from counterexamples

Guillaume O. Berger and Sriram Sankaranarayanan G. Berger is funded in part by a fellowship from the Belgian American Educational Foundation (BAEF). This work was funded by the US National Science Foundation (NSF) under grant numbers CPS 1836900 and 1932189. Both authors are affiliated with the University of Colorado Boulder. Emails: {guillaume.berger,srirams}@colorado.edu
Abstract

We study the problem of synthesizing polyhedral Lyapunov functions for hybrid linear systems. Such functions are defined as convex piecewise linear functions, with a finite number of pieces. We first prove that deciding whether there exists an mm-piece polyhedral Lyapunov function for a given hybrid linear system is NP-hard. We then present a counterexample-guided algorithm for solving this problem. The algorithm alternates between choosing a candidate polyhedral function based on a finite set of counterexamples and verifying whether the candidate satisfies the Lyapunov conditions. If the verification fails, we find a new counterexample that is added to our set. We prove that if the algorithm terminates, it discovers a valid Lyapunov function or concludes that no such Lyapunov function exists. However, our initial algorithm can be non-terminating. We modify our algorithm to provide a terminating version based on the so-called cutting-plane argument from nonsmooth optimization. We demonstrate our algorithm on numerical examples.

I Introduction

Stability analysis of dynamical systems is of great importance in control theory, since many controllers seek to stabilize a system to a reference state or trajectory [1, 2]. Lyapunov methods are commonly used to prove stability of dynamical systems using a positive-definite function, called a Lyapunov function, whose value strictly decreases along all trajectories of the systems, except at the equilibrium point.

In this paper, we focus on the stability analysis of hybrid linear systems. These are systems with multiple modes, each with a different continuous-time linear dynamics and state-dependent switching between the modes. These systems appear naturally in a wide range of applications, or as abstractions of more complex dynamical systems [3]. To study the stability of these systems, we rely on polyhedral functions, which are convex piecewise linear functions. This class of functions is interesting for Lyapunov analysis because the expressiveness of the function can be easily modulated by adjusting the number of linear pieces. Furthermore, for a large class of hybrid systems (including switched linear systems), if the system is stable, then a polyhedral Lyapunov function is guaranteed to exist for the system [4].

In this paper, we first establish that the problem of deciding whether there exists a polyhedral Lyapunov function with given number of linear pieces for a given hybrid linear system is NP-hard. Despite the important body of work on polyhedral Lyapunov functions, the study of the algorithmic complexity of the underlying problem when the number of linear pieces is fixed seems to be elusive. We fill this gap, thereby providing an insight on the complexity of algorithms meant to solve the problem with guarantees.

Next, we introduce a counterexample-guided algorithm to compute polyhedral Lyapunov functions for hybrid linear systems. Our approach alternates between choosing a candidate Lyapunov function based on a finite set of counterexamples and verifying whether the candidate satisfies the Lyapunov conditions. If the verification fails, we find a new counterexample that is added to our set. In effect, this new counterexample removes the current candidate (and many others) from further consideration. The learning–verification process is repeated until either a valid Lyapunov function is found or no such function is shown to exist for the system. The key challenges in this approach are twofold. First, there are multiple ways of removing candidates using a counterexample while keeping the set of remaining candidates convex. Our approach uses a tree-based search algorithm to explore these possibilities. Second, the algorithm as presented thus far would be non-terminating. We modify our approach to guarantee termination using the cutting-plane argument, wherein a careful choice of the candidate and the pruning of branches of the tree based on the inner radius of the feasible set of candidates are used to ensure termination and get upper bounds on the complexity of the algorithm. The output of the modified algorithm is either a polyhedral Lyapunov function for the system, or the conclusion that no “ϵ\epsilon-robust” function exists for the system, where ϵ>0\epsilon>0 is an input to the algorithm. In effect, we conclude that if a polyhedral Lyapunov function were to exist for the system, then perturbing its coefficients by more than ϵ\epsilon in the L2L_{2}-norm will cause the function not to be a Lyapunov function.

Comparison with the literature. Blondel et al. provide a comprehensive introduction to the computational complexity of numerous decision problems related to control and stability of dynamical systems [5]. The problem of deciding stability of switched linear systems (a subclass of hybrid linear systems) is shown to be undecidable. The complexity of deciding whether a dynamical system admits a polyhedral Lyapunov function with a given number of linear pieces seems to not have been addressed so far. The same problem without the bound on the number of pieces is closely related to the problem of stability verification using general convex Lyapunov functions (see, e.g., [4]).

The problem of synthesizing Lyapunov functions for dynamical systems has received a lot of attention in the literature [1, 4]. Different classes of functions have been considered for that purpose, resulting in various trade-offs between expressiveness and computational burden. Polynomial functions have proved useful for stability analysis [6], but they can be too conservative for some hybrid systems, as shown in Example 1. Piecewise polynomial Lyapunov functions allow to reduce the conservatism [7], at the cost of introducing hyperparameters and/or increasing the complexity. The computation of polyhedral Lyapunov functions has also received attention, for instance, using optimization-based [8, 9, 10] and set-theoretic methods [11, 12]. One drawback of these approaches is that they generally lack guarantees of convergence (to a valid Lyapunov function), or guarantees of termination and complexity, or involve many hyperparameters. By contrast, the only parameters in our approach are the number of linear pieces and the accuracy ϵ\epsilon, and the algorithm always terminates and finds a polyhedral Lyapunov function, or ensures that no ϵ\epsilon-robust such function exists for the system.

The idea of learning Lyapunov functions from data and verifying the result has been explored by many researchers, starting with [13], whose approach relies on random sampling of states, learning a candidate Lyapunov function from the samples and verifying the result. Our approach falls more precisely into the category of Counterexample-Guided Inductive Synthesis (CeGIS) techniques, which consist in iteratively adding counterexamples from the verification step. These techniques have been used in a wide range of control problems [14, 15, 16, 17, 18, 19, 20]. Particularly related to our work, [20] searches for neural-network Lyapunov functions with ReLU activation functions, using MILP for the verification; and [8] searches for polyhedral Lyapunov functions, using Linear Programming for the verification and updating the domain of the linear pieces from the counterexamples. However, both approaches lack guarantees of convergence and complexity. In a recent work [21], we also studied counterexample-guided approaches to compute polyhedral Lyapunov functions without a bound on the number of linear pieces.

Prabhakar and Soto present a CeGIS approach for verifying stability of polyhedral hybrid systems with piecewise constant differential inclusions by using counterexamples to drive a partitioning of the state-space [22]. The partitioning is used to compute a weighted graph whose cycles provide evidence of stability if the product of weights for each cycle is less than one. Failing this, we conclude potentially unstable behavior. Prabhakar and Soto’s approach is distinct from our approach in two important ways: (a) it does not seek to compute a Lyapunov function but instead focuses on building a finite graph abstracting the behavior of the system and (b) they handle polyhedral inclusions, which are a different type of dynamics from those considered here.

Organization. Section II introduces the problem of interest and preliminary concepts related to Lyapunov analysis and polyhedral functions. In Section III, we describe the algorithm and its properties. Finally, in Section IV, we demonstrate the applicability on numerical examples.

Notation. \mathbb{N} denotes the set of nonnegative integers. We let ={0}\mathbb{N}_{*}=\mathbb{N}\setminus\{0\} and d=d{0}\mathbb{R}^{d}_{*}=\mathbb{R}^{d}\setminus\{0\}. For nn\in\mathbb{N}, we let [n]={1,,n}[n]=\{1,\ldots,n\}.

II Preliminaries and Problem Description

II-A Hybrid linear systems

Hybrid linear systems consist of a finite set of modes QQ, such that for each mode qQq\in Q, there is a closed polyhedral cone qd\mathcal{H}_{q}\subseteq\mathbb{R}^{d} called the domain, and a flow matrix Aqd×dA_{q}\in\mathbb{R}^{d\times d}. Let :dd\mathcal{F}:\mathbb{R}^{d}\rightrightarrows\mathbb{R}^{d} be the set-valued function defined by (x)={Aqx:qQ,xq}\mathcal{F}(x)=\{A_{q}x:q\in Q,\,x\in\mathcal{H}_{q}\}. For the purpose of our analysis, \mathcal{F} describes completely the dynamics of the system. Therefore, in the following, we will refer to the system as system \mathcal{F}. A function ξ:0d\xi:\mathbb{R}_{\geq 0}\to\mathbb{R}^{d} is a trajectory of system \mathcal{F} if ξ\xi is absolutely continuous and satisfies the differential inclusion ξ(t)(ξ(t))\xi^{\prime}(t)\in\mathcal{F}(\xi(t)) for almost all t0t\in\mathbb{R}_{\geq 0} [23].

Remark 1:

Note that the hybrid system considered above is a particular instance of hybrid linear systems, since there is no update of the continuous state at mode switches [3]. Extensions of our work to a more general class of hybrid systems will be considered in the future work.

II-B Polyhedral Lyapunov functions

A polyhedral function V:dV:\mathbb{R}^{d}\to\mathbb{R} can be described as the pointwise maximum of a finite set of linear functions, i.e., V(x)=maxi[m]cixV(x)=\max_{i\in[m]}\,c_{i}^{\top}x where m>0m\in\mathbb{N}_{>0} and {ci}i=1md\{c_{i}\}_{i=1}^{m}\subseteq\mathbb{R}^{d}.

To be a Lyapunov function for system \mathcal{F}, a piecewise smooth function V:dV:\mathbb{R}^{d}\to\mathbb{R} must (i) be positive everywhere except at the origin, and (ii) strictly decrease along all trajectories of the system not starting at the origin [1]. In the case of polyhedral functions, a sufficient condition for being a Lyapunov function and thereby ensuring stability of the system, is as follows [24, Proposition 3]:

Proposition 1:

A polyhedral function VV with linear pieces {ci}i=1m\{c_{i}\}_{i=1}^{m} is a Lyapunov function for system \mathcal{F} if

  • (C1)

    for all xdx\in\mathbb{R}^{d}_{*}, there is i[m]i\in[m] such that cix>0c_{i}^{\top}x>0;

  • (C2)

    for all xdx\in\mathbb{R}^{d}_{*}, v(x)v\in\mathcal{F}(x) and i[m]i\in[m] with cix=V(x)c_{i}^{\top}x=V(x), it holds that civ<0c_{i}^{\top}v<0.

In other words, a set a vectors {ci}i=1m\{c_{i}\}_{i=1}^{m} represents a polyhedral Lyapunov function for system \mathcal{F} if

(xd)(i[m])either(j[m])cix<cjxor[cix>0and(v(x))civ<0].\begin{array}[]{@{}l@{}}(\forall\,x\in\mathbb{R}^{d}_{*})\ (\forall\,i\in[m])\;\;\text{either}\;\;(\exists\,j\in[m])\ c_{i}^{\top}x<c_{j}^{\top}x\\ \quad\text{or}\;\;[\,c_{i}^{\top}x>0\;\;\text{and}\;\;(\forall\,v\in\mathcal{F}(x))\ c_{i}^{\top}v<0\,].\end{array} (1)

The condition in (1) is difficult to enforce because (i) it involves an infinite set of constraints, and (ii) each constraint involves a disjunction of mm clauses111m1m-1 clauses come from the “j\exists\,j” and one clause comes from the condition between brackets “[][\ldots]”.. In the next section, we describe a tree-based counterexample-guided algorithm to tackle this problem. The idea is to (i) consider only a finite set of constraints, obtained from the counterexamples, and (ii) decompose the disjunction by introducing a branch in the tree for each clause.

We define the mm-Lyap-Fun-Exists problem as that of checking the existence of a polyhedral function satisfying (1), given a hybrid linear system \mathcal{F} and a number of pieces m2m\geq 2.

Theorem 2:

The mm-Lyap-Fun-Exists problem is NP-hard, even for m=2m=2.

Proof: See Appendix -A.   

To conclude this section, let us introduce an example of hybrid linear systems that we will use throughout the paper to illustrate the approach.

Example 1 (Running illustrative example):

Consider the hybrid linear system with 44 modes, i.e., Q=[4]Q=[4], domains corresponding to the 44 quadrants of the 2D plane, namely, H1=0×0H_{1}=\mathbb{R}_{\geq 0}\times\mathbb{R}_{\geq 0}, H2=0×0H_{2}=\mathbb{R}_{\geq 0}\times\mathbb{R}_{\leq 0}, H3=0×0H_{3}=\mathbb{R}_{\leq 0}\times\mathbb{R}_{\leq 0} and H4=0×0H_{4}=\mathbb{R}_{\leq 0}\times\mathbb{R}_{\geq 0}, and flow matrices:

A1=[121132],A2=A4=[1111],A3=[1111]+[0.01000.01].\begin{array}[]{c}A_{1}=\left[\begin{array}[]{cc}\frac{1}{2}&1\\ -1&\frac{-3}{2}\end{array}\right],\quad A_{2}=A_{4}=\left[\begin{array}[]{cc}-1&1\\ -1&1\end{array}\right],\\ A_{3}=\left[\begin{array}[]{cc}1&1\\ -1&-1\end{array}\right]+\left[\begin{array}[]{cc}0.01&0\\ 0&0.01\end{array}\right].\end{array}

This system can be seen as a piecewise linear damped oscillator. The vector field and a trajectory starting from x=[1.5,0]x=[1.5,0]^{\top} are represented in Fig. 1. The system does not admit a polynomial Lyapunov function (a proof is provided in Appendix -B). Nevertheless, as we will see throughout the paper, we can compute a polyhedral Lyapunov function for the system, thereby ensuring that it is asymptotically stable.

Refer to caption
Figure 1: Hybrid linear system described in Example 1. The vector field is represented by gray arrows and a sample trajectory starting from x=[1.5,0]x=[1.5,0]^{\top} is represented in purple.

III Counterexample-guided Search

We present a tree-based counterexample-guided algorithm to find a polyhedral function satisfying (1). Our approach maintains a tree, wherein each node is associated with a set of constraints. At each step, the algorithm picks a leaf of the tree and expands it as follows:

  1. 1.

    Learning: Solve a linear program to obtain a candidate polyhedral Lyapunov function compatible with the associated set of constraints YY.

  2. 2.

    Verification: The candidate solution is then fed to a verifier that checks whether it satisfies (1). If this fails, the verifier provides a pair (x,i)d×[m](x,i)\in\mathbb{R}_{*}^{d}\times[m], called a counterexample, for which (1) is not satisfied.

  3. 3.

    Expansion: If a counterexample is found, the algorithm creates mm child nodes in the tree. Each child node is associated with a set of constraints obtained by adding to YY one of the clauses in (1) for the counterexample (x,i)(x,i) (see below for details).

The sets of constraints associated to each node are sets of triples of the form (x,i,j)d×[m]×[m](x,i,j)\in\mathbb{R}_{*}^{d}\times[m]\times[m] wherein (x,i)(x,i) are obtained from the counterexamples, and jj is an index indicating which clause of (1) must be enforced at (x,i)(x,i). More precisely, if iji\neq j, we enforce the clause

cix<cjx,c_{i}^{\top}x<c_{j}^{\top}x, (2)

and if i=ji=j, we enforce the clause

cix>0and(v(x))civ<0.c_{i}^{\top}x>0\;\;\text{and}\;\;(\forall\,v\in\mathcal{F}(x))\ c_{i}^{\top}\!v<0. (3)

Our approach systematically explores this tree and stops when one leaf of the tree yields a valid Lyapunov function. Under some modifications of the basic scheme above, we prove that the depth of this tree is bounded. This yields an upper bound on the running-time complexity of the algorithm.

The section is organized as follows: first, we describe the learning phase, then the verification phase, and finally the expansion phase which yields the overall recursive process.

III-A Learning Phase

Given a set of constraints Yd×[m]×[m]Y\subseteq\mathbb{R}^{d}_{*}\times[m]\times[m], we aim to find vectors (ci)i=1md(c_{i})_{i=1}^{m}\subseteq\mathbb{R}^{d} compatible with YY according to conditions (2)–(3). Therefore, we solve the following feasibility problem:

find ci[1,1]d,i[m]\displaystyle c_{i}\in[-1,1]^{d},\quad i\in[m] (4a)
s.t. {(2) if ij(3) if i=j,(x,i,j)Y,.\displaystyle\left\{\begin{array}[]{l}\text{\eqref{eq-constraint-smaller} if $i\neq j$}\\ \text{\eqref{eq-constraint-deriv} if $i=j$}\end{array}\right.,\quad\forall\,(x,i,j)\in Y,. (4d)

When YY is finite, (4) is a Linear Program and thus can be solved efficiently [25, 26]. We denote by S(Y)S(Y) the set of feasible solutions of (5). A set of vectors (ci)i=1md(c_{i})_{i=1}^{m}\subseteq\mathbb{R}^{d} is thus a candidate solution compatible with YY iff (ci)i=1mS(Y)(c_{i})_{i=1}^{m}\in S(Y). Note that S(Y)S(Y) is a convex set.

III-B Verification Phase

We verify whether a candidate solution (ci)i=1m(c_{i})_{i=1}^{m} computed in the learning phase provides a valid Lyapunov function for system \mathcal{F}, by checking whether it satisfies (C1) and (C2) in Proposition 1. If this is not the case, we generates a pair (x,i)d×[m](x,i)\in\mathbb{R}^{d}\times[m], called a counterexample, at which (1) is not satisfied.

First, we verify that (C1) holds for the candidate solution by searching for xdx\in\mathbb{R}_{*}^{d} such that V(x)0V(x)\leq 0. Without loss of generality, we can set xx to be on the boundary of [1,1]d[-1,1]^{d}. Therefore, we solve 2d2d Linear Programs, for each facet FF of [1,1]d[-1,1]^{d}:

find xd\displaystyle x\in\mathbb{R}^{d} (5a)
s.t. cix0,i[m],\displaystyle c_{i}^{\top}x\leq 0,\quad\forall\,i\in[m], (5b)
xF.\displaystyle x\in F. (5c)

If for all facet FF, (5) is infeasible, then (C1) holds. However, if there is a facet FF for which (5) has a feasible solution xx, then it holds that x0x\neq 0 and V(x)0V(x)\leq 0. We find index i[m]i\in[m] with cix=V(x)c_{i}^{\top}x=V(x), yielding a counterexample (x,i)(x,i).

If (C1) is shown to hold, we next verify that (C2) holds too. Therefore, we solve m|Q|m\lvert Q\rvert LPs, for each i[m]i\in[m] and qQq\in Q,

find xd\displaystyle x\in\mathbb{R}^{d} (6a)
s.t. cix=1cjx,j[m],\displaystyle c_{i}^{\top}x=1\geq c_{j}^{\top}x,\quad\forall\,j\in[m], (6b)
xq,\displaystyle x\in\mathcal{H}_{q}, (6c)
ciAqx0.\displaystyle c_{i}^{\top}\!A_{q}x\geq 0. (6d)

If for all i,qi,q, (6) is infeasible, then (C2) holds. However, if there are i,qi,q for which (6) has a feasible solution xx, then it holds that x0x\neq 0, cix=V(x)c_{i}^{\top}x=V(x) and civ0c_{i}^{\top}v\geq 0 wherein v=Aqx(x)v=A_{q}x\in\mathcal{F}(x), so that (x,i)(x,i) is a counterexample.

Example 2 (Running illustrative example):

Consider the 44-piece polyhedral function VV whose 11-sublevel set is represented in Fig. 2-left (in yellow). The point x=[1,0]x=[-1,0]^{\top} (in red) provides a direction in which αx\alpha x is in the 11-sublevel set of VV for all α0\alpha\geq 0. This implies that V(x)0V(x)\leq 0, so that xx is a feasible solution to (5).

Now, consider the system of Example 1 and the 1010-piece polyhedral function VV whose 11-sublevel set is represented in Fig. 2-right (in yellow). For q=4q=4, (6) has a feasible solution x=[0,1.2]x=[0,1.2]^{\top} (red dot). The flow direction of the system from xx is represented in Fig. 2-right (red line). We see that the flow direction points towards the exterior of the 11-sublevel set of VV.

Refer to caption
Figure 2: Left: A point xdx\in\mathbb{R}^{d}_{*} (in red) at which V(x)0V(x)\leq 0. Right: A point xdx\in\mathbb{R}^{d}_{*} (in red) at which (C2) in Proposition 1 is not satisfied for the system described in Example 1.

III-C Expansion and Overall Algorithm

The algorithm organizes the set of constraints as a tree with the following properties: (a) each node uu is associated with a set of constraints Y(u)Y(u) and thus with a convex set of candidates S(u)S(Y(u))S(u)\coloneqq S(Y(u)); (b) the root of the tree is associated with Y(root)=Y(\text{root})=\emptyset; and (c) each node uu has mm children, u1,,umu_{1},\ldots,u_{m}, with associated sets of constraints Y(uj)=Y(u){(x,i,j)}Y(u_{j})=Y(u)\uplus\{(x,i,j)\}, wherein (x,i)(x,i) is the counterexample found during the verification of the candidate at node uu. Each leaf of the tree is marked as unexplored or infeasible.

Each iteration of our algorithm is as follows:

  1. 1.

    Choose an unexplored leaf uu.

  2. 2.

    Find a candidate (ci)i=1mS(u)(c_{i})_{i=1}^{m}\in S(u).

  3. 3.

    Verify the candidate using (5) and (6).

  4. 4.

    If we find a counterexample (x,i)(x,i), we add mm children, u1,,umu_{1},\ldots,u_{m}, to uu wherein uju_{j} is unexplored and has set of constraints Y(uj)=Y(u){(x,i,j)}Y(u_{j})=Y(u)\uplus\{(x,i,j)\}.

Data: system \mathcal{F}, number of pieces mm.
Result: (ci)i=1m(c_{i})_{i=1}^{m}: polyhedral Lyapunov function coefficients.
1 Initial tree is set to a root with Y(root)=Y(\text{root})=\emptyset.
2 while Tree has unexplored leaves do
3       Choose unexplored leaf uu.
4       if S(u)S(u) is empty then mark uu as Infeasible.
5       else
6             Choose (ci)i=1mS(u)(c_{i})_{i=1}^{m}\in S(u)
7             Verify (ci)i=1m(c_{i})_{i=1}^{m} using (5) and (6).
8             if (ci)i=1m(c_{i})_{i=1}^{m} is Lyapunov then return (ci)i=1m(c_{i})_{i=1}^{m}
9             else
10                   Let (x,i)(x,i) be the counterexample.
11                   Add mm children u1,,umu_{1},\ldots,u_{m} to uu.
12                   for j=1,,mj=1,\ldots,m do
13                         Y(uj)Y(u){(x,i,j)}Y(u_{j})\leftarrow Y(u)\cup\{(x,i,j)\}.
14                         Mark uju_{j} as unexplored.
15                        
16                  
17            
18      
19Return “No Lyapunov Found”
Algorithm 1 Find Polyhedral Lyapunov Function.

Alg. 1 shows the pseudo-code. We will now establish some properties of Alg. 1. Let (ci)i=1m(c_{i})_{i=1}^{m} be a candidate chosen for some leaf uu (Line 1) and (x,i)(x,i) be a counterexample that was found for this candidate (Line 1). Consider S(uj)S(u_{j}) for some child uju_{j} of uu (Line 1).

Proposition 3:

S(uj)S(u)S(u_{j})\subseteq S(u) and (ci)i=1mS(uj)(c_{i})_{i=1}^{m}\not\in S(u_{j}).

Proof: The first part is straightforward since Y(uj)=Y(u)(x,i,j)Y(u)Y(u_{j})=Y(u)\uplus(x,i,j)\supseteq Y(u). To show that (ci)i=1mS(uj)(c_{i})_{i=1}^{m}\notin S(u_{j}), note that by definition of (x,i)(x,i), it holds that cix=V(x)c_{i}^{\top}x=V(x). Hence, for all j[m]{i}j\in[m]\setminus\{i\}, (2) is not satisfied. Furthermore, (x,i)(x,i) satisfies

cix0(v(x))civ0.c_{i}^{\top}x\leq 0\;\vee\;(\exists v\in\mathcal{F}(x))\ c_{i}^{\top}v\geq 0.

Thus, (3) is not satisfied. We thus conclude that S(uj)S(u_{j}) cannot contain the candidate (ci)i=1m(c_{i})_{i=1}^{m}.   

Let us assume that the underlying system \mathcal{F} has a polyhedral Lyapunov function, given by (ci)i=1m(c_{i}^{*})_{i=1}^{m}, satisfying (1) and without loss of generality assume {ci}i=1m[1,1]d\{c_{i}^{*}\}_{i=1}^{m}\subseteq[-1,1]^{d}.

Proposition 4:

At every step of any execution of Alg. 1, there is an unexplored leaf vv such that (ci)i=1mS(v)(c_{i}^{*})_{i=1}^{m}\in S(v).

Proof: See Appendix -C.   

As a corollary, we get the soundness of the algorithm:

Corollary 5:

If Alg. 1 returns vectors (ci)i=1m(c_{i})_{i=1}^{m}, then the polyhedral function associated to (ci)i=1m(c_{i})_{i=1}^{m} is a Lyapunov function for system \mathcal{F}. However, if Alg. 1 returns “No Lyapunov Found”, then system \mathcal{F} does not admit an mm-piece polyhedral Lyapunov function satisfying (1).

Proof: If Alg. 1 returns (ci)i=1m(c_{i})_{i=1}^{m}, it means that (ci)i=1m(c_{i})_{i=1}^{m} has passed the verification phase (Line 1), thereby ensuring that it provides a Lyapunov function for system \mathcal{F}. If Alg. 1 terminates without finding a Lyapunov function, it means that all leaves are marked infeasible. By applying Proposition 4, we note that no Lyapunov function could have existed in the first place.   

Example 3 (Running illustrative example):

Consider the system of Example 1. A 44-piece polyhedral Lyapunov function for this system was computed using Alg. 1. Its 11-sublevel set is represented in Fig. 3 (in yellow). The states involved in the constraints Yd×[m]×[m]Y\in\mathbb{R}^{d}_{*}\times[m]\times[m] of the node that provided this function are represented by blue dots. We have also represented a trajectory of the system starting from x=[1.25,0]x=[1.25,0]^{\top} (in purple). We observe that the trajectory does not leave the 11-sublevel set, as expected.

Refer to caption
Figure 3: 44-piece polyhedral Lyapunov function VV for the system in Example 1. The blue dots are the states involved in the constraints leading to this polyhedral function. A sample trajectory starting from x=[1.25,0]x=[1.25,0]^{\top} is represented in purple. Note the small “offset” (see zoomed-in inset): the domains of the linear pieces of VV do not coincide with the domains of the hybrid system; this is necessary for condition (C2) in Proposition 1 to be satisfied at the boundary of these domains.

Note that there is no guarantee that Alg. 1 will terminate. To ensure termination, we modify the algorithm by leveraging a central result in convex nonsmooth optimization, known as the cutting-plane argument.

Therefore, assume that at Line 1 of Alg. 1, the candidate (ci)i=1m(c_{i})_{i=1}^{m} is chosen as the center of the Maximum Volume Ellipsoid (MVE) inscribed in S(u)S(u). The MVE center of a polyhedron can be computed efficiently using Semidefinite Programming [26, Proposition 4.9.1]. Remember that the rationale of adding constraints from the counterexample (Line 1) is to exclude the candidate from further consideration at all descendant nodes. The choice of the candidate as the MVE center makes the exclusion stronger by guaranteeing a minimum rate of decrease of the volume of S(u)S(u) when going from one node to any of its children. This follows from the cutting-plane argument:

Lemma 6 (Cutting-plane argument [27]):

Let 𝒮r\mathcal{S}\subseteq\mathbb{R}^{r} be a bounded convex set. Let xx be the MVE center of 𝒮\mathcal{S}. Let 𝒯\mathcal{T} be a convex set not containing xx. It holds that vol(𝒮𝒯)(11r)vol(𝒮)\mathrm{vol}(\mathcal{S}\cap\mathcal{T})\leq(1-\frac{1}{r})\mathrm{vol}(\mathcal{S}).

Based on the above, consider the following modification of the algorithm. Fixed ϵ>0\epsilon>0 and consider Alg. 1, except that in the learning phase, if S(u)S(u) does not contain a ball of radius ϵ\epsilon, then uu is declared infeasible; otherwise, we choose the candidate (ci)i=1m(c_{i})_{i=1}^{m} as the MVE center of S(Y)S(Y). See Alg. 2 for a pseudo-code of the modified learning phase. It holds that the modified algorithm terminates in finite time.

1 if  S(u)S(u) does not contain a ball of radius ϵ\epsilon then mark uu as infeasible
Choose (ci)i=1m(c_{i})_{i=1}^{m} as the MVE center of S(u)S(u).
Algorithm 2 Modify Alg. 1 Line 1 for termination.
Theorem 7 (Termination and soundness):

Alg. 2 always terminates. Moreover, if Alg. 2 returns vectors (ci)i=1m(c_{i})_{i=1}^{m}, then the polyhedral function associated to (ci)i=1m(c_{i})_{i=1}^{m} is a Lyapunov function for system \mathcal{F}. If Alg. 2 returns “No Lyapunov Found”, then system \mathcal{F} does not admit an ϵ\epsilon-robust polyhedral Lyapunov function, that is, a polyhedral function for which any (L2L_{2}) ϵ\epsilon-perturbation of the linear pieces satisfies (1).

Proof: See Appendix -D.   

III-D Complexity analysis

The dominant factor in the complexity of Alg. 2 is the depth DD of the tree explored during the execution of the algorithm. From the proof of Theorem 7, it holds that

Drlog(ϵ)log(11r),D\leq\frac{r\log(\epsilon)}{\log(1-\frac{1}{r})}, (7)

where r=mdr=md. Alg. 2 explores at most mD+1m^{D+1} nodes before termination. We deduce the following complexity bound:

Theorem 8:

The complexity of Alg. 2 is

𝒪(mm2d2log(1/ϵ))FLOPs.\mathcal{O}(m^{m^{2}d^{2}\log(1/\epsilon)})\;\text{FLOPs}.

Proof: Using the bound log(11r)1r-\log(1-\frac{1}{r})\geq\frac{1}{r}, we get that Dr2log(ϵ)D\leq r^{2}\log(\epsilon). The proof then follows from (7).   

The complexity of Alg. 2 is exponential in dd and mm. The exponential dependence on dd is to be expected from Theorem 2 which shows that mm-Lyap-Fun-Exists is NP-hard, even with m=2m=2.

IV Numerical example

Consider the hybrid linear system with two modes, i.e., Q=[2]Q=[2], domains H1=×0H_{1}=\mathbb{R}\times\mathbb{R}_{\geq 0} and H2=×0H_{2}=\mathbb{R}\times\mathbb{R}_{\leq 0}, and flow matrices:

A1=[121112],A2=[341134].A_{1}=\left[\begin{array}[]{cc}\frac{-1}{2}&1\\ -1&\frac{-1}{2}\end{array}\right],\quad A_{2}=\left[\begin{array}[]{cc}\frac{-3}{4}&1\\ -1&\frac{-3}{4}\end{array}\right].

Fig. 4 shows the vector field and a sample trajectory of the system. Although a trivial quadratic Lyapunov function (e.g., xx2x\mapsto\lVert x\rVert^{2}) exists for this system, finding a polyhedral one is challenging because many pieces are required to capture the rotational dynamics of the system.

Using the process described in Section III, we computed a 88-piece polyhedral Lyapunov function for the system. As an approximation of the MVE center, we used the Chebyshev center (center of the largest enclosed Euclidean ball), which can be computed using Linear Programming (more efficient and reliable than Semidefinite Programming). Although the theoretical guarantees on the termination of the process using the Chebyshev center are weaker than the ones with the MVE center (see Theorem 8), this provides a powerful heuristic in practice (see, e.g., [27, §4.4] and the references therein). The computation takes about 60 seconds.222On a laptop with processor Intel Core i7-7600u and 16 GB RAM running Windows. We use GurobiTM, under academic license, as linear optimization solver. The 11-sublevel set of the polyhedral Lyapunov function is represented in Fig. 4-right (in yellow).

Refer to caption
Figure 4: Vector field (gray arrows), sample trajectory (purple line) and 88-piece polyhedral Lyapunov function (yellow) for the system described in Section IV. The blue dots are the states involved in the constraints leading to this polyhedral function.

V Conclusions

In conclusion, we provide a NP-hardness result for finding fixed-complexity polyhedral Lyapunov function for hybrid linear systems. Furthermore, we describe a counterexample-driven approach based on switching between learning and verification followed by a tree of possible refutations. Our approach is modified to yield termination but at the cost of completeness. Our future work will focus on an efficient implementation of the procedure described in this paper and extensions to barrier and control Lyapunov function synthesis.

-A Proof of Theorem 2

We show that mm-Lyap-Fun-Exist with m=2m=2 is NP-hard by reducing NAE-SAT3 to it. NAE-SAT3 (Not All Equal SATisfiability) is a version of the SAT3 problem that takes as input LL clauses C1,,CLC_{1},\ldots,C_{L} over nn propositions p1,,pnp_{1},\ldots,p_{n}. Each clause ClC_{l} is a triple of literals: Cl=(sl,1,sl,2,sl,3)C_{l}=(s_{l,1},s_{l,2},s_{l,3}) wherein sl,h{p1,,pn}{¬p1,,¬pn}s_{l,h}\in\{p_{1},\ldots,p_{n}\}\cup\{\neg p_{1},\ldots,\neg p_{n}\}.

Given such a tuple φ=(C1,,CL)\varphi=(C_{1},\ldots,C_{L}) of clauses, the NAE-SAT3 problem asks whether there exists an assignment of 𝑡𝑟𝑢𝑒\mathit{true} or 𝑓𝑎𝑙𝑠𝑒\mathit{false} to each proposition pkp_{k} such that for each clause ClC_{l}, at least one literal is true and at least one literal is false. Without loss of generality, we assume that for each clause, the three literals involve distinct propositions (otherwise, the clause is trivially “satisfied”). It is well known that NAE-SAT3 is NP-complete [28].

We will now reduce any given NAE-SAT3 instance φ\varphi with nn propositions and LL clauses to yield a hybrid linear system, described by ({q}qQ,{Aq}qQ)(\{\mathcal{H}_{q}\}_{q\in Q},\{A_{q}\}_{q\in Q}), that has a 22-piece polyhedral Lyapunov function iff φ\varphi has a truth assignment that makes it NAE-SAT3-satisfiable.

Let d=n+2d=n+2. Consider a vector of dd variables: x=(x¯1,,x¯n,x^,x~)x=(\bar{x}_{1},\ldots,\bar{x}_{n},\hat{x},\tilde{x}). Also, consider two vectors of dd coefficients: f=(f¯1,,f¯n,f^,f~)f=(\bar{f}_{1},\ldots,\bar{f}_{n},\hat{f},\tilde{f}) and g=(g¯1,,g¯n,g^,g~)g=(\bar{g}_{1},\ldots,\bar{g}_{n},\hat{g},\tilde{g}). We look for a 22-piece polyhedral Lyapunov function, defined by V(x)=max{fx,gx}V(x)=\max\,\{f^{\top}x,g^{\top}x\}, for the system defined below.

For each k[n]k\in[n], let

k={(x¯,x^,x~):[(k[n]{k})x¯k=0]x^=x~=0}\mathcal{H}_{k}=\{(\bar{x},\hat{x},\tilde{x}):[(\forall\,k^{\prime}\in[n]\setminus\{k\})\ \bar{x}_{k^{\prime}}=0]\,\wedge\,\hat{x}=\tilde{x}=0\}

and consider the dynamics: x¯˙k=x¯k\dot{\bar{x}}_{k}=-\bar{x}_{k}; for all k[n]{k}k^{\prime}\in[n]\setminus\{k\}, x¯˙k=0\dot{\bar{x}}_{k^{\prime}}=0; x^˙=0\dot{\hat{x}}=0; x~˙=|xk|\dot{\tilde{x}}=\lvert x_{k}\rvert (mind the absolute value which can be cast as a piecewise linear dynamics by splitting k\mathcal{H}_{k} in two pieces). Condition (1) then becomes

(λ0)[(f¯kλg¯kλ(f¯kλ>0f¯kλ+f~|λ|<0))(g¯kλf¯kλ(g¯kλ>0g¯kλ+g~|λ|<0))].\begin{array}[]{l}(\forall\,\lambda\neq 0)\\[2.0pt] [(\bar{f}_{k}\lambda\geq\bar{g}_{k}\lambda\,\Rightarrow\,(\bar{f}_{k}\lambda>0\,\wedge\,-\bar{f}_{k}\lambda+\tilde{f}\lvert\lambda\rvert<0))\\[3.0pt] \hskip 14.22636pt\,\wedge\,(\bar{g}_{k}\lambda\geq\bar{f}_{k}\lambda\,\Rightarrow\,(\bar{g}_{k}\lambda>0\,\wedge\,-\bar{g}_{k}\lambda+\tilde{g}\lvert\lambda\rvert<0))].\end{array}

This is equivalent to saying that (i) f¯kg¯k<0\bar{f}_{k}\bar{g}_{k}<0 (i.e., both are nonzero and have opposite signs), (ii) |f¯k|>f~\lvert\bar{f}_{k}\rvert>\tilde{f}, and (iii) |g¯k|>g~\lvert\bar{g}_{k}\rvert>\tilde{g}.

If f¯k<0\bar{f}_{k}<0 (i.e., g¯k>0\bar{g}_{k}>0), we assign the value true to pkp_{k}; otherwise, we assign the value false.

Now, for each l[L]l\in[L], let

l={(x¯,x^,x~):x¯=0,x~=0}\mathcal{H}_{l}=\{(\bar{x},\hat{x},\tilde{x}):\bar{x}=0,\>\tilde{x}=0\}

and consider the dynamics: for all k[n]k\in[n], x¯˙k=σl,k|x^|\dot{\bar{x}}_{k}=\sigma_{l,k}\lvert\hat{x}\rvert where

σl,k={1if Cl contains pk,1if Cl contains ¬pk,0otherwise;\sigma_{l,k}=\left\{\begin{array}[]{ll}1&\text{if $C_{l}$ contains $p_{k}$,}\\ -1&\text{if $C_{l}$ contains $\neg p_{k}$,}\\ 0&\text{otherwise;}\end{array}\right.

x^˙=0\dot{\hat{x}}=0; x~˙=3|x^|\dot{\tilde{x}}=-3\lvert\hat{x}\rvert. Condition (1) then becomes

(λ0)[(f^λg^λ(f^λ>0k=1nσl,kf¯k3f~<0))(g^λf^λ)(g^λ>0k=1nσl,kg¯k3g~<0))].\begin{array}[]{@{}l@{}}(\forall\,\lambda\neq 0)\\[2.0pt] [(\hat{f}\lambda\geq\hat{g}\lambda\,\Rightarrow\,(\hat{f}\lambda>0\,\wedge\,\sum_{k=1}^{n}\sigma_{l,k}\bar{f}_{k}-3\tilde{f}<0))\\[3.0pt] \hskip 14.22636pt\,\wedge\,(\hat{g}\lambda\geq\hat{f}\lambda)\,\Rightarrow\,(\hat{g}\lambda>0\,\wedge\,\sum_{k=1}^{n}\sigma_{l,k}\bar{g}_{k}-3\tilde{g}<0))].\end{array}

This is equivalent to saying that f^g^\hat{f}\hat{g}, k=1nσl,kf¯k3f~\sum_{k=1}^{n}\sigma_{l,k}\bar{f}_{k}-3\tilde{f} and k=1nσl,kg¯k3g~\sum_{k=1}^{n}\sigma_{l,k}\bar{g}_{k}-3\tilde{g} are negative.

Now, it holds that k=1nσl,kf¯k3f~<0\sum_{k=1}^{n}\sigma_{l,k}\bar{f}_{k}-3\tilde{f}<0 only if there is k[n]k\in[n] such that σl,kf¯k<0\sigma_{l,k}\bar{f}_{k}<0. Similarly, k=1nσl,kg¯k3g~<0\sum_{k=1}^{n}\sigma_{l,k}\bar{g}_{k}-3\tilde{g}<0 only if there is k[n]k\in[n] such that σl,kg¯k<0\sigma_{l,k}\bar{g}_{k}<0. Thus, NAE-SAT3 is satisfied with the assignment described above. On the other hand, if p1,,pnp_{1},\ldots,p_{n} satisfies NAE-SAT3, then the assignment: for all k[n]k\in[n], f¯k=g¯k=1\bar{f}_{k}=-\bar{g}_{k}=1 if ¬pk\neg p_{k} and f¯k=g¯k=1\bar{f}_{k}=-\bar{g}_{k}=-1 if pkp_{k}, f^=g^=1\hat{f}=-\hat{g}=1, and f~=g~=0.9\tilde{f}=\tilde{g}=0.9, provides a 22-piece polyhedral Lyapunov function for the above system. Thus, the above system admits a 22-piece polyhedral Lyapunov function iff φ\varphi is NAE-SAT3-satisfiable.

-B Further analysis of Example 1

We prove that system \mathcal{F} in Example 1 does not admit a polynomial Lyapunov function. For the sake of a contradiction, assume that VV is a polynomial Lyapunov function for the system. Since VV is radially unbounded, it is of nonzero even degree. Fix r>0r\in\mathbb{R}_{>0} and let x:0dx:\mathbb{R}_{\geq 0}\to\mathbb{R}^{d} be the trajectory of the system starting from x(0)=[r,0]x(0)=[r,0]^{\top}. It holds that x(1)=eA2x(0)=[0,r]x(1)=e^{A_{2}}x(0)=[0,-r]^{\top} and x(2)=eA3x(1)=e0.01[r,0]x(2)=e^{A_{3}}x(1)=e^{0.01}[-r,0]^{\top}. Since VV is of nonzero even degree, we have that V(e0.01[r,0])>V([r,0])V(e^{0.01}[-r,0]^{\top})>V([r,0]^{\top}) whenever |r|\lvert r\rvert is large enough. Since r>0r>0 was arbitrary, this contradicts the property that VV decreases along all trajectories of the system.

-C Proof of Proposition 4

The proof is by induction on the iterations the algorithm. The property is true at the very beginning since (ci)i=1mS(root)(c_{i}^{*})_{i=1}^{m}\in S(\text{root}). Assume it is true after kk iterations of the while loop and let vv be a leaf satisfying the property at this step. If the algorithm stops at this step, there is nothing to prove. Thus, assume some unexplored leaf uu is to be expanded at this step. If uvu\neq v, then the property will be trivially satisfied at the subsequent step. Hence, suppose u=vu=v, and let (x,i)(x,i) be the counterexample found by the verifier. Let j[m]j\in[m] be such that (ci)i=1mS({(x,i,j)})(c_{i}^{*})_{i=1}^{m}\subseteq S(\{(x,i,j)\}) (which always exists since (ci)i=1m(c_{i}^{*})_{i=1}^{m} satisfies (1)). Since (ci)i=1mS(Y(u))(c_{i}^{*})_{i=1}^{m}\subseteq S(Y(u)), it holds that (ci)i=1mS(Y(u){(x,i,j)})(c_{i}^{*})_{i=1}^{m}\subseteq S(Y(u)\cup\{(x,i,j)\}), so that the child node uju_{j} of uu satisfies (ci)i=1mS(uj)(c_{i}^{*})_{i=1}^{m}\in S(u_{j}), concluding the proof.

-D Proof of Theorem 7

First, we prove that Alg. 2 always terminates. Let uu be the leaf that is expanded and let vv be any of its children. Let r=mdr=md. Since (ci)i=1m(c_{i})_{i=1}^{m} is the MVE center of S(u)S(u), it holds by Lemma 6 that vol(S(v))(11r)vol(S(u))\mathrm{vol}(S(v))\leq(1-\frac{1}{r})\mathrm{vol}(S(u)). At the very start of the algorithm, S(root)[1,1]m×dS(\text{root})\cong[-1,1]^{m\times d} which has volume V02rV_{0}\coloneqq 2^{r}. Let vv be an unexplored leaf at depth DD of the tree. By induction, we can show that vol(S(v))(11r)DV0\mathrm{vol}(S(v))\leq(1-\frac{1}{r})^{D}V_{0}. Let Vϵ(2ϵ)rV_{\epsilon}\coloneqq(2\epsilon)^{r} be the volume of the ϵ\epsilon-ball [ϵ,ϵ]m×d[-\epsilon,\epsilon]^{m\times d}. Since we terminate whenever vol(S(v))Vϵ\mathrm{vol}(S(v))\leq V_{\epsilon}, it holds that Dlog(Vϵ)log(V0)log(11r)D\leq\frac{\log(V_{\epsilon})-\log(V_{0})}{\log(1-\frac{1}{r})}. In other words, the depth of the tree is upper bounded. This proves that Alg. 2 always terminates.

The proof that Alg. 2 is sound is similar to the proof of Theorem 5.

References

  • [1] H. K. Khalil, Nonlinear systems, 3rd ed.   Upper Saddle River, NJ: Prentice-Hall, 2002.
  • [2] E. D. Sontag, Mathematical control theory: deterministic finite dimensional systems, 2nd ed.   New York, NY: Springer, 1998.
  • [3] R. Goebel, R. G. Sanfelice, and A. R. Teel, Hybrid dynamical systems: modeling stability, and robustness.   Princeton, NJ: Princeton University Press, 2012.
  • [4] Z. Sun and S. S. Ge, Stability theory of switched dynamical systems.   London: Springer, 2011.
  • [5] V. D. Blondel and J. N. Tsitsiklis, “A survey of computational complexity results in systems and control,” Automatica, vol. 36, no. 9, pp. 1249–1274, 2000.
  • [6] P. A. Parrilo, “Structured semidefinite programs and semialgebraic geometry methods in robustness and optimization,” Ph.D. dissertation, California Institute of Technology, 2000.
  • [7] M. Johansson and A. Rantzer, “Computation of piecewise quadratic Lyapunov functions for hybrid systems,” IEEE Transactions on Automatic Control, vol. 43, no. 4, pp. 555–559, 1998.
  • [8] A. Polański, “On absolute stability analysis by polyhedral Lyapunov functions,” Automatica, vol. 36, no. 4, pp. 573–578, 2000.
  • [9] R. Ambrosino, M. Ariola, and F. Amato, “A convex condition for robust stability analysis via polyhedral Lyapunov functions,” SIAM Journal on Control and Optimization, vol. 50, no. 1, pp. 490–506, 2012.
  • [10] D. Kousoulidis and F. Forni, “Polyhedral Lyapunov functions with fixed complexity,” in 2021 60th IEEE Conference on Decision and Control (CDC).   IEEE, 2021, pp. 3293–3298.
  • [11] F. Blanchini and S. Miani, Set-theoretic methods in control, 2nd ed.   Cham: Birkhäuser, 2015.
  • [12] N. Guglielmi, L. Laglia, and V. Protasov, “Polytope Lyapunov functions for stable and for stabilizable LSS,” Foundations of Computational Mathematics, vol. 17, no. 2, pp. 567–623, 2017.
  • [13] U. Topcu, A. Packard, and P. Seiler, “Local stability analysis using simulations and sum-of-squares programming,” Automatica, vol. 44, no. 10, pp. 2669–2675, 2008.
  • [14] J. Kapinski, J. V. Deshmukh, S. Sankaranarayanan, and N. Aréchiga, “Simulation-guided Lyapunov analysis for hybrid dynamical systems,” in Proceedings of the 17th international conference on Hybrid systems: computation and control.   ACM, 2014, pp. 133–142.
  • [15] Y.-C. Chang, N. Roohi, and S. Gao, “Neural Lyapunov control,” in NIPS’19: Proceedings of the 33rd International Conference on Neural Information Processing Systems.   ACM, 2019, pp. 3245–3254.
  • [16] H. Ravanbakhsh and S. Sankaranarayanan, “Learning control Lyapunov functions from counterexamples and demonstrations,” Autonomous Robots, vol. 43, no. 2, pp. 275–307, 2019.
  • [17] H. A. Poonawala, “Stability analysis via refinement of piece-wise linear Lyapunov functions,” in 2019 IEEE 58th Conference on Decision and Control (CDC).   IEEE, 2019, pp. 1442–1447.
  • [18] D. Ahmed, A. Peruffo, and A. Abate, “Automated and sound synthesis of Lyapunov functions with SMT solvers,” in International Conference on Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2020., ser. Lecture Notes in Computer Science, A. Biere and D. Parker, Eds., vol. 12078.   Springer, 2020, pp. 97–114.
  • [19] A. Abate, D. Ahmed, M. Giacobbe, and A. Peruffo, “Formal synthesis of Lyapunov neural networks,” IEEE Control Systems Letters, vol. 5, no. 3, pp. 773–778, 2021.
  • [20] H. Dai, B. Landry, L. Yang, M. Pavone, and R. Tedrake, “Lyapunov-stable neural-network control,” in Proceedings of Robotics: Science and Systems, Virtual, 2021.
  • [21] G. O. Berger and S. Sankaranarayanan, “Counterexample-guided computation of polyhedral Lyapunov functions for hybrid systems,” 2022, arXiv preprint arXiv:2206.11176.
  • [22] P. Prabhakar and M. G. Soto, “Counterexample guided abstraction refinement for stability analysis,” in Computer Aided Verification. CAV 2016., ser. Lecture Notes in Computer Science, S. Chaudhuri and A. Farzan, Eds., vol. 9779.   Cham: Springer, 2016, pp. 495–512.
  • [23] J.-P. Aubin and A. Cellina, Differential inclusions: set-valued maps and viability theory.   Berlin: Springer, 1984.
  • [24] M. Della Rossa, A. Tanwani, and L. Zaccarian, “Smooth approximation of patchy Lyapunov functions for switched systems,” IFAC-PapersOnLine, vol. 52, no. 16, pp. 364–369, 2019.
  • [25] Y. Nesterov and A. Nemirovskii, Interior-point polynomial algorithms in convex programming.   Philadelphia, PA: SIAM, 1994.
  • [26] A. Ben-Tal and A. Nemirovski, Lectures on modern convex optimization: analysis, algorithms, and engineering applications.   Philadelphia, PA: SIAM, 2001.
  • [27] S. Boyd and L. Vandenberghe, “Localization and cutting-plane methods,” 2008, https://see.stanford.edu/materials/lsocoee364b/05-localization˙methods˙notes.pdf.
  • [28] C. H. Papadimitriou, Computational Complexity.   Reading, MA: Addison-Wesley, 1994.