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

11institutetext: Key Laboratory of System Software (Chinese Academy of Sciences)
and State Key Laboratory of Computer Science, Institute
of Software, Chinese Academy of Sciences, Beijing, China
11email: {rendj, wucy, wutr, xuebai}@ios.ac.cn
22institutetext: University of Chinese Academy of Sciences, Beijing, China 33institutetext: College of Computer Science and Technology, National
University of Defense Technology, Changsha, China
33email: liangzhen@nudt.edu.cn
44institutetext: Department of Electrical Engineering and Automation,
Aalto University, Espoo, Finland
44email: jianqiang.ding@aalto.fi

Inner-approximate Reachability Computation via Zonotopic Boundary Analysis

Dejin Ren(🖂) 1122 0000-0001-7779-0096    Zhen Liang 33 0000-0002-1171-7061    Chenyu Wu 1122 0009-0003-1571-4831    Jianqiang Ding 44 0000-0003-0705-0345    Taoran Wu 1122 0000-0003-3398-0466    Bai Xue(🖂) 1122 0000-0001-9717-846X
Abstract

Inner-approximate reachability analysis involves calculating subsets of reachable sets, known as inner-approximations. This analysis is crucial in the fields of dynamic systems analysis and control theory as it provides a reliable estimation of the set of states that a system can reach from given initial states at a specific time instant. In this paper, we study the inner-approximate reachability analysis problem based on the set-boundary reachability method for systems modelled by ordinary differential equations, in which the computed inner-approximations are represented with zonotopes. The set-boundary reachability method computes an inner-approximation by excluding states reached from the initial set’s boundary. The effectiveness of this method is highly dependent on the efficient extraction of the exact boundary of the initial set. To address this, we propose methods leveraging boundary and tiling matrices that can efficiently extract and refine the exact boundary of the initial set represented by zonotopes. Additionally, we enhance the exclusion strategy by contracting the outer-approximations in a flexible way, which allows for the computation of less conservative inner-approximations. To evaluate the proposed method, we compare it with state-of-the-art methods against a series of benchmarks. The numerical results demonstrate that our method is not only efficient but also accurate in computing inner-approximations.

Keywords:
Inner-approximations Reachability Analysis Set-boundary analysis Zonotopal tiling Nonlinear systems.
\SetWatermarkAngle

0 \SetWatermarkText[Uncaptioned image]                                                                             [Uncaptioned image]

1 Introduction

Reachability analysis involves the computation of reachable sets, which are sets of states achieved either through trajectories originating in a given initial set (i.e., forward reachable sets) or through the identification of initial states from which a system can reach a specified target set (i.e., backward reachable sets) [25]. This problem is fundamental and finds motivation in various applications such as formal verification, controller synthesis, and estimation of regions of attraction. As a result, it has garnered increasing attention from both industrial and academic communities, leading to the development of numerous theoretical results and computational approaches [2]. For many systems, exact reachability analysis is shown to be undecidable [15], particularly in the case of nonlinear systems. Hence, approximation methods are often employed. However, in order to use these approximations as a basis for formal reasoning about the system, it is crucial that they possess certain guarantees. Specifically, it is desirable for the computed approximation to either contain or be contained by the true reachable set, resulting in what are known as outer-approximations and inner-approximations.

This paper focuses on inner-approximate reachability analysis, which calculates an inner-approximation of the reachable set for systems described by ordinary differential equations (ODEs). The inner-approximate reachability analysis has various applications. For instance, it can be used to falsify a safety property by performing forward inner-approximate reachability analysis, which computes an inner-approximation of the forward reachable set [22]. If the computed inner-approximation includes states that violate the safety property, then the safety property is not satisfied. On the other hand, it can be used to find a set of initial states that satisfy a desired property by performing backward inner-approximate reachability analysis [21]. Recently, it has been applied to path-planning problems with collision avoidance [31]. Several methods have been proposed for the inner-approximate reachability analysis, such as Taylor models [8], intervals [13], and polynomial zonotopes [19].

In the computation of inner-approximations, the accumulation of computational errors, known as the wrapping effect [27], becomes pronounced with the propagation of the initial set. To overcome this, a common approach is to partition the initial set into smaller subsets, enabling independent computations on each subset. However, this widely used method often results in an excessively large number of subsets, causing burdensome computation. Consequently, in [35, 19], set-boundary reachability methods were developed based on a meticulous examination of the topological structure. These methods contract a pre-computed outer-approximation by excluding the reachable set from the boundary of the initial set, resulting in an inner-approximation. Compared to the partition of the entire initial set, set-boundary methods alleviate the computational burden and enhance the tightness of results by focusing on splitting only the boundary of the initial set. Hence, the precision of extracting and refining 111If 𝒫\mathcal{P} and 𝒬\mathcal{Q} are partitions (or covers) of a set XX, then 𝒫\mathcal{P} refines 𝒬\mathcal{Q} if for every U𝒫U\in\mathcal{P}, there is V𝒬V\in\mathcal{Q} such that UVU\subset V. the boundary of initial set significantly influences the non-conservativeness of inner-approximation aimed to compute. However, existing boundary operations have limitations that impact the precision and application of set-boundary reachability methods, either restricting the initial sets to be interval-formed [19] or utilizing interval sets to outer-approximate the set boundary [35], which leads to an overly conservative inner-approximation and hinders the application of set-boundary reachability methods.

On this concern, this paper proposes a novel set-boundary reachability method focusing on efficient extraction and refinement of the initial set’s boundary, along with flexible inner-approximation generations. We adopt zonotopes as the abstract representation of states due to their remarkable advantages: the facets of a zonotope remain zonotopes and can be split into non-overlapping subsets while preserving their zonotopic nature. Based on the symmetric property of zonotope’s boundary, we propose an algorithm which can efficiently extract all facets of zonotopes. To further refine the extracted boundary, a fundamental algorithm is developed to partition a zonotope into smaller, non-overlapping zonotopes, termed tiling algorithm. This algorithm leverages two innovative data structures, named as boundary and tiling matrices, providing a clear and efficient implementation of the partition procedure. Complexity analysis demonstrates the superior advantages of the tiling algorithm in computational complexity compared to the existing method [18]. Finally, we contract a pre-computed outer-approximation of reachable set to obtain an inner-approximation, which is achieved by excluding the outer-approximation of the reachable set from the refined boundary of the initial set. In contrast to proportionally shrinking the shape of computed outer-approximation utilized in existing method [35], we provide a more flexible strategy that allows an adaptive modification on the configuration of zonotopic outer-approximations, leading to more non-conservative inner-approximations.

The main contributions of this paper are as follows:

  • A Non-overlapping Zonotope Splitting Algorithm. We present a novel algorithm that efficiently splits a zonotope into non-overlapping subsets, while preserving their zonotopic properties. By utilizing boundary and tiling matrices, our algorithm offers a more straightforward implementation with improved computational complexity compared to existing methods.

  • An Adaptive Contraction Strategy. We put forward an adaptive contraction strategy for computing a zonotopic inner-approximation of the reachable set. This strategy, compared to existing methods, provides a more flexible approach for the contraction of the pre-computed outer-approximations, generating less conservative inner-approximations.

  • A Prototype Tool - BdryReach. We have developed a prototype tool named BdryReach to implement our proposed approach, which is available from https://github.com/ASAG-ISCAS/BdryReach. Numerous evaluations on various benchmarks demonstrate that BdryReach outperforms state-of-the-art tools in terms of efficiency and accuracy.

Related Work

1.0.1 Inner-approximation analysis

The methods for inner-approximation computation are generally categorized into two main groups: constraint solving methods and set-propagation methods. Constraint solving methods avoid the explicit computation of reachable sets, but have to address a set of quantified constraints, which are generally constructed via Lyapunov functions [7], occupation measures [20] and equations relaxation [34, 36]. However, solving these quantified constraints is usually computationally intensive (except the case of polynomial constraints for which there exists advanced tools such as semi-definite programming).

The set propagation method is an extension of traditional numerical methods for solving ODEs using set arithmetic rather than point arithmetic. While this method is simple and interesting, a major challenge is the propagation and accumulation of approximation errors over time. To ease this issue efficiently, various methods employing different representations have been developed. [29] presented a Taylor model backward flowpipe method that computes inner-approximations by representing them as the intersection of polynomial inequalities. However, this approach relied on a computationally expensive interval constraint propagation technique to ensure the validity of the representation. In [13], an approach is proposed to compute interval inner-approximations of the projection of the reachable set onto the coordinate axes for autonomous nonlinear systems. This method is later extended to systems with uncertain inputs in [14]. However, they cannot compute an inner-approximation of the entire reachable set, as studied in the present work. [35] proposed a set-boundary reachability method which propagates the initial set’s boundary to compute an polytopic inner-approximation of the reachable set. However, it used computationally expensive interval constraint satisfaction techniques to compute a set of intervals which outer-approximates the initial set’s boundary. Recently, inspired by the computational procedure in [35], [19] introduced a promising method based on polynomial zonotopes to compute inner-approximations of reachable sets for systems with an initial set in interval form. The method presented in this work is also inspired by the in [35]. However, we propose efficient and accurate algorithms for extracting and refining the boundary of the initial set represented by zonotopes and an adaptive strategy for contracting outer-approximations, facilitating the computation of non-conservative inner-approximations.

1.0.2 Splitting and tiling of zonotopes

To mitigate wrapping effect [27] and enhance computed results, it is a common way to split a zonotope into smaller zonotopes during computation. Despite zonotopes being special convex polytopes with centrally symmetric faces in all dimensions [38], traditional polytope splitting methods such as [5, 16] cannot be directly applied. The results obtained through these approaches are polytopes, not necessarily zonotopes. In the works [3, 33], they split a zonotope by bisecting it along one of its generators. However, the sub-zonotopes split by this way often have overlap parts, resulting in loss of precision and heavy computation burden. Hence, there is a pressing need for methods that split a zonotope into non-overlapping sub-zonotopes. The problem of zonotopal tiling, i.e., paving a zonotope by tiles (sub-zonotopes) without gaps and overlaps, is an important topic in combinatorics and topology [6, 38]. In the realm of zonotopal tiling, Bohne-Dress theorem [28] plays a crucial role by proving that a tiling of a zonotope can be uniquely represented by a collection of sign vectors or oriented matroid. Inspired by this theorem, [18] developed a tiling method by enumerating the vertices of the tiles as sign vectors of the so-called hyperplane arrangement [24] corresponding to a zonotope. However, in this paper we provide a novel and more accessible method for constructing a zonotopal tiling, which has better computational complexity.

The remainder of this paper is organized as follows. The inner-approximate reachability problem of interest is presented in Sect. 2. Then, we elucidate our reachability computational approach in Sect. 3 and evaluate it in Sect. 4. Finally, we summarize the paper in Sect. 5.

2 Preliminaries

2.1 Notation

The notations and operations concerning space, vectors, matrices, and sets utilized in this paper are presented in Table 1, where the symbols and descriptions for operations on vectors, matrices, and sets are mainly illustrated with specific examples of a vector 𝒙\bm{x}, a matrix 𝑴\bm{M}, and a set Δ\Delta.

Table 1: Notations utilized in the paper
Symbol Description Symbol Description
k\mathbb{R}^{k} kk-dimensional real space m,n\mathbb{R}^{m,n} space of m×nm\times n real matrices
[m,n]\mathbb{N}_{[m,n]} non-negative integers in [m,n][m,n] 𝒙1𝒙2\bm{x}_{1}\cdot\bm{x}_{2} inner product of 𝒙1\bm{x}_{1} and 𝒙2\bm{x}_{2}
𝒙,𝒚,\bm{x},\bm{y},\cdots vectors, boldface lowercase 𝑴,𝑵,\bm{M},\bm{N},\cdots matrices, boldface uppercase
𝟎\bm{0} vectors with all zero entries 𝟏\bm{1} vectors with all one entries
𝑴(i,)\bm{M}(i,\cdot) ii-th row vector of 𝑴\bm{M} 𝑴(,j)\bm{M}(\cdot,j) jj-th column vector of 𝑴\bm{M}
𝒙(i)\bm{x}(i) ii-th entry of 𝒙\bm{x} 𝑴(i,j)\bm{M}(i,j) jj-th entry in ii-th row of 𝑴\bm{M}
rows(𝑴)\text{rows}(\bm{M}) number of rows of 𝑴\bm{M} cols(𝑴)\text{cols}(\bm{M}) number of columns of 𝑴\bm{M}
𝑴(1,)\bm{M}(-1,\cdot) last row of 𝑴\bm{M} 𝑴(,1)\bm{M}(\cdot,-1) last column of 𝑴\bm{M}
𝑴[i]\bm{M}^{[i]} delete ii-th row of 𝑴\bm{M} 𝑴i\bm{M}^{\langle i\rangle} delete ii-th column of 𝑴\bm{M}
[𝑴;𝒙][\bm{M};\bm{x}^{\intercal}] add 𝒙\bm{x} to last row of 𝑴\bm{M} (𝑴,𝒙)(\bm{M},\bm{x}) add 𝒙\bm{x} to last column of 𝑴\bm{M}
rank(𝑴)\operatorname*{rank}(\bm{M}) rank of 𝑴\bm{M} 𝒙\|\bm{x}\| norm of 𝒙\bm{x}
Δ\Delta^{\circ} interior of set Δ\Delta Δ\partial\Delta boundary of set Δ\Delta
|Δ||\Delta| cardinality of set Δ\Delta 𝒮1𝒮2\mathcal{S}_{1}\setminus\mathcal{S}_{2} {s|s𝒮1s𝒮2}\{s~{}|~{}s\in\mathcal{S}_{1}\wedge s\notin\mathcal{S}_{2}\}

2.2 Problem Statement

This paper considers nonlinear systems which are modelled by ordinary differential equations of the following form:

𝒙˙=𝒇(𝒙)\dot{\bm{x}}=\bm{f}(\bm{x}) (1)

where 𝒙n\bm{x}\in\mathbb{R}^{n} and 𝒇\bm{f} is a locally Lipschitz continuous function. Thus, given an initial state 𝒙0\bm{x}_{0}, there exists an unique solution ϕ(;𝒙0):[0,T𝒙0)n\phi(\cdot;\bm{x}_{0}):[0,T_{\bm{x}_{0}})\rightarrow\mathbb{R}^{n} to system (1), where [0,T𝒙0)[0,T_{\bm{x}_{0}}) is the maximal time interval on which ϕ(;𝒙0)\phi(\cdot;\bm{x}_{0}) is defined.

Given a set 𝒳0\mathcal{X}_{0} of initial states, the reachable set is defined as follows:

Definition 1 (Reachable Set)

Given system (1) and an initial set 𝒳0\mathcal{X}_{0}, the reachable set at time t>0t>0 is

Φ(t;𝒳0){ϕ(t;𝒙0)𝒙0𝒳0}.\Phi(t;\mathcal{X}_{0})\triangleq\{\phi(t;\bm{x}_{0})\mid\bm{x}_{0}\in\mathcal{X}_{0}\}.

The exact reachable set Φ(t;𝒳0)\Phi(t;\mathcal{X}_{0}) is usually impossible to be computed, especially for nonlinear systems. Outer-approximations and inner-approximations are often computed for formal reasoning on the system.

Definition 2

Given an initial set 𝒳0\mathcal{X}_{0} and a time instant t>0t>0, an outer-approximation O(t;𝒳0)O(t;\mathcal{X}_{0}) of the reachable set Φ(t;𝒳0)\Phi(t;\mathcal{X}_{0}) is a superset of the set Φ(t;𝒳0)\Phi(t;\mathcal{X}_{0}), i.e.,

Φ(t;𝒳0)O(t;𝒳0);\Phi(t;\mathcal{X}_{0})\subseteq O(t;\mathcal{X}_{0});

an inner-approximation U(t;𝒳0)U(t;\mathcal{X}_{0}) of the reachable set Φ(t;𝒳0)\Phi(t;\mathcal{X}_{0}) is a subset of the set Φ(t;𝒳0)\Phi(t;\mathcal{X}_{0}), i.e.,

U(t;𝒳0)Φ(t;𝒳0).U(t;\mathcal{X}_{0})\subseteq\Phi(t;\mathcal{X}_{0}).

In this paper, we focus on the computation of an inner-approximation represented by zonotopes. Zonotope is a special class of convex polytopes with the centrally symmetric nature. It can be viewed as a Minkowski sum of a finite set of line segments, known as G-representation, which is defined as the following.

Definition 3 (Zonotope)

A zonotope ZZ with pp generators is a set

Z\displaystyle Z ={𝒙n|𝒙=𝒄+i=1pαi𝒈𝒊,1αi1}\displaystyle=\left\{\bm{x}\in\mathbb{R}^{n}\Big{|}\bm{x}=\bm{c}+\sum\nolimits_{i=1}^{p}\alpha_{i}\cdot\bm{g_{i}},-1\leq\alpha_{i}\leq 1\right\}
={𝒙n|𝒙=𝒄+𝑮𝜶,𝟏𝜶𝟏},\displaystyle=\left\{\bm{x}\in\mathbb{R}^{n}\Big{|}\bm{x}=\bm{c}+\bm{G\alpha},-\bm{1}\leq\bm{\alpha}\leq\bm{1}\right\},

denoted by Z=𝒄,𝑮Z=\left\langle\bm{c},\bm{G}\right\rangle, where 𝒄n\bm{c}\in\mathbb{R}^{n} is referred as center and 𝒈1,,𝒈pn\bm{g}_{1},\cdots,\bm{g}_{p}\in\mathbb{R}^{n} as generators of zonotope. 𝑮=(𝒈i)1ipn,p\bm{G}=(\bm{g}_{i})_{1\leq i\leq p}\in\mathbb{R}^{n,p} is called generator matrix.

For a zonotope Z=𝒄,𝑮Z=\left\langle\bm{c},\bm{G}\right\rangle in space n\mathbb{R}^{n}, it is called kk-dimensional if rank(𝑮)=k,kn\operatorname*{rank}(\bm{G})=k,k\leq n. A kk-dimensional zonotope can be reduced into space k\mathbb{R}^{k} without altering its shape. Furthermore, the facets of a kk-dimensional (k1k\geq 1) zonotope are (k1)(k-1)-dimensional zonotopes. If an nn-dimensional zonotope has nn independent generators, then it’s called parallelotope. Additionally, If there is a zonotope ZZ^{\prime} such that ZZZ^{\prime}\subsetneqq Z, ZZ^{\prime} is called a sub-zonotope of ZZ.

3 Methodology

In this section we introduce our set-boundary reachability method to compute inner-approximations of reachable sets. Firstly, the framework of our method is presented in Subsection 3.1. Then, we introduce the algorithm of extracting the exact boundary of a zonotope in Subsection 3.2, the tiling algorithm for boundary refinement in Subsection 3.3 and the strategy for computing an inner-approximation via contracting an outer-approximation in Subsection 3.4.

3.1 Inner-approximation Computation Framework

The framework of computing inner-approximations in this paper follows the one proposed in [35], but with minor modifications.

Given system (1) with an initial set 𝒳0\mathcal{X}_{0}, represented by a zonotope, and a time duration T=NhT=Nh, where h>0h>0 is the time step and NN is a non-negative integer, we compute a zonotopic inner-approximation U((k+1)h;𝒳0)U((k+1)h;\mathcal{X}_{0}) of the reachable set Φ((k+1)h;𝒳0)\Phi((k+1)h;\mathcal{X}_{0}) for k{0,1,,N}k\in\{0,1,\cdots,N\}. The inner-approximation Uk+1=U((k+1)h;𝒳0)U_{k+1}=U((k+1)h;\mathcal{X}_{0}) is computed based on Uk=U(kh;𝒳0)U_{k}=U(kh;\mathcal{X}_{0}) (U0:=𝒳0)U_{0}:=\mathcal{X}_{0}) with the following procedures:

  1. 1.

    extract and refine the boundary Uk\partial U_{k} of UkU_{k} ;

  2. 2.

    compute a zonotopic outer-approximation O(h;Uk)O(h;U_{k}) of reachable set Φ(h;Uk)\Phi(h;U_{k}), and an outer-approximation O(h;Uk)O(h;\partial U_{k}) of reachable set Φ(h;Uk)\Phi(h;\partial U_{k}). These outer-approximations can be computed using existing zonotope-based approaches such as [3].

  3. 3.

    contract O(h;Uk)O(h;U_{k}) to obtain a zonotopic inner-approximation candidate Uk+1U^{\prime}_{k+1} by excluding the set O(h;Uk)O(h;\partial U_{k}), i.e., let Uk+1O(h;Uk)=U^{\prime}_{k+1}\cap O(h;\partial U_{k})=\emptyset.

  4. 4.

    compute an outer-approximation of the reachable set O(h;𝒄)O(h;\bm{c}) of the time-inverted system 𝒙˙=𝒇(𝒙)\dot{\bm{x}}=-\bm{f}(\bm{x}) with the single initial state 𝒄\bm{c}, where 𝒄\bm{c} is the center of the zonotope Uk+1U^{\prime}_{k+1}. If the computed outer-approximation O(h;𝒄)O(h;\bm{c}) is included in the set UkU_{k}, then Uk+1:=Uk+1U_{k+1}:=U^{\prime}_{k+1} is an inner-approximation of the reachable set Φ((k+1)h;𝒳0)\Phi((k+1)h;\mathcal{X}_{0}).

Refer to caption
Figure 1: Illustration of inner-approximation computation framework

The overall computational workflow is visualized in Fig. 1. There are three computational procedures that affect the efficacy (i.e., accuracy and efficiency) of inner-approximation computation in the aforementioned framework: the extraction and refinement of the boundary Uk\partial U_{k}, reachability analysis for computing outer-approximations O(h;Uk),O(h;Uk)O(h;U_{k}),O(h;\partial U_{k}), and contraction of O(h;Uk)O(h;U_{k}) to obtain an inner-approximation candidate Uk+1U_{k+1}^{\prime}. Since there are well-developed reachability algorithms in existing literature for computing outer-approximations such as [12, 3], we in the following focus on other two computational procedures. For the first one, as the outer-approximation computed O(h;Uk)O(h;\partial U_{k}) would be excluded from O(h;Uk)O(h;U_{k}), the accuracy of O(h;Uk)O(h;\partial U_{k}) significantly affects the one of Uk+1U_{k+1}. Additionally, the accuracy of O(h;Uk)O(h;\partial U_{k}) strongly correlates with the size of Uk\partial U_{k}. To improve the accuracy of Uk+1U_{k+1}, two algorithms are proposed: one for extracting and the other for tiling the boundary of a zonotope (i.e., splitting the boundary into sub-zonotopes without overlaps). As for the third one, an adaptive strategy is developed to make the inner-approximation Uk+1U_{k+1} much tighter. This is achieved by contracting O(h;Uk)O(h;U_{k}) in a flexible way, deviating from the proportional reduction of the size of O(h;Uk)O(h;U_{k}) in the existing methods [35].

3.2 Extraction of Zonotopes’ Boundaries

In this subsection we introduce the algorithm for extracting the exact boundary of a zonotope. The concept of cross product of a matrix provided by [26] will be utilized herein, which is formulated below.

Definition 4 (Cross Product)

Given a matrix 𝑴n,n1\bm{M}\in\mathbb{R}^{n,n-1} in which the column vectors are linearly independent. The cross product of 𝑴\bm{M} is a vector of the following form:

𝙲𝙿(𝑴)=(det(𝑴[1]),,(1)i+1det(𝑴[i]),,(1)n+1det(𝑴[n])),\mathtt{CP}(\bm{M})=\left(\operatorname{det}\left(\bm{M}^{[1]}\right),\cdots,(-1)^{i+1}\operatorname{det}\left(\bm{M}^{[i]}\right),\cdots,(-1)^{n+1}\operatorname{det}\left(\bm{M}^{[n]}\right)\right)^{\intercal},

where det()\operatorname{det}(\cdot) is the determinant of a matrix.

The cross product of 𝑴n,n1\bm{M}\in\mathbb{R}^{n,n-1} can be viewed as the normal vector of the hyperplane spanned by n1n-1 linearly independent column vectors in 𝑴\bm{M}.

Refer to caption
Figure 2: Illustration of boundary extraction algorithm

The boundary extraction algorithm is established on the fact that a zonotope is centrally symmetric and each facet, which is a zonotope, has an congruent facet on the opposite side of the center (e.g., two dark blue facets in Fig. 2).

Given an nn-dimensional zonotope Z=𝒄,𝑮Z=\left\langle\bm{c},\bm{G}\right\rangle, where 𝒄n\bm{c}\in\mathbb{R}^{n} and 𝑮=(𝒈i)1ipn,p\bm{G}=(\bm{g}_{i})_{1\leq i\leq p}\in\mathbb{R}^{n,p}, for each two symmetric facets, they lie in parallel hyperplanes and share the same generators. The two parallel hyperplanes are spanned by a part of generators of ZZ, which can form a submatrix of 𝑮\bm{G} with rank n1n-1. In boundary extraction algorithm, i.e., Alg. 1, we firstly enumerate all potential n×(n1)n\times(n-1) submatrices of 𝑮\bm{G} which are able to span a hyperplane. For a certain hyperplane spanned by a submatrix 𝑩b\bm{B}_{b}, to confirm the center and generators of its corresponding facets, we compute its normal vector by the cross product operator 𝙲𝙿()\mathtt{CP}(\cdot), then the center of the two symmetric facets can be respectively determined by moving the center 𝒄\bm{c} along the positive and negative directions of generators which are not perpendicular to 𝙲𝙿(𝑩b)\mathtt{CP}(\bm{B}_{b}), and the generator matrix of these corresponding facets can be represented by 𝑩b\bm{B}_{b} appending generators parallel to the hyperplane. The visible operations stated above are shown in Fig. 2.

Algorithm 1 Boundary Extraction Algorithm

Input: An nn-dimensional zonotope Z=𝒄,𝑮,𝑮=(𝒈i)1ipn×pZ=\left\langle\bm{c},\bm{G}\right\rangle,\bm{G}=(\bm{g}_{i})_{1\leq i\leq p}\in\mathbb{R}^{n\times p}.
Output: The boundary of the zonotope ZZ, i.e., Z\partial Z.

1:  Z:=\partial Z:=\emptyset
2:  :={𝑩b=(𝒈i)i{k1,,kn1},1k1<<kn1prank(𝑩b)=n1}\mathcal{B}:=\{\bm{B}_{b}=(\bm{g}_{i})_{i\in\{k_{1},\cdots,k_{n-1}\}},1\leq k_{1}<\cdots<k_{n-1}\leq p\mid\operatorname*{rank}(\bm{B}_{b})=n-1\}
3:  while  \mathcal{B}\neq\emptyset do
4:     𝒗:=𝙲𝙿(𝑩b)\bm{v}:=\mathtt{CP}(\bm{B}_{b})
5:     𝑩:=𝑩b=(𝒈k1,𝒈k2,,𝒈kn1)\bm{B}:=\bm{B}_{b}=(\bm{g}_{k_{1}},\bm{g}_{k_{2}},\cdots,\bm{g}_{k_{n-1}})\in\mathcal{B}, 𝒄b(i):=𝒄,i{1,2}\bm{c}_{b}^{(i)}:=\bm{c},i\in\{1,2\}
6:     for all 𝒈k=G(,k),k{1,2,,p}{k1,k2,,kn1}\bm{g}_{k}=G(\cdot,k),k\in\{1,2,\cdots,p\}\setminus\{k_{1},k_{2},\cdots,k_{n-1}\} do
7:        if 𝒗𝒈k=0\bm{v}\cdot\bm{g}_{k}=0 then
8:           𝑩:=(𝑩,𝒈k)\bm{B}:=(\bm{B},\bm{g}_{k})
9:        else if 𝒗𝒈k>0\bm{v}\cdot\bm{g}_{k}>0 then
10:           𝒄b(i):=𝒄b(i)+(1)i𝒈k\bm{c}_{b}^{(i)}:=\bm{c}_{b}^{(i)}+(-1)^{i}\bm{g}_{k}, i{1,2}i\in\{1,2\}
11:        else
12:           𝒄b(i):=𝒄b(i)(1)i𝒈k\bm{c}_{b}^{(i)}:=\bm{c}_{b}^{(i)}-(-1)^{i}\bm{g}_{k}, i{1,2}i\in\{1,2\}
13:        end if
14:        Zb(i):=𝒄b(i),𝑩Z_{b}^{(i)}:=\left\langle\bm{c}_{b}^{(i)},\bm{B}\right\rangle, i{1,2}i\in\{1,2\}
15:        Z:=Z{Zb(1),Zb(2)}\partial Z:=\partial Z\cup\{Z_{b}^{(1)},Z_{b}^{(2)}\}
16:     end for
17:     for all 𝑩b\bm{B}_{b}\in\mathcal{B} do
18:        if 𝑩b\bm{B}_{b} is a submatrix of 𝑩\bm{B} then
19:           :={𝑩b}\mathcal{B}:=\mathcal{B}\setminus\{\bm{B}_{b}\}
20:        end if
21:     end for
22:  end while
23:  return Z\partial Z

The computation of a zonotope’s boundary is summarized in Alg. 1. Its soundness, i.e., the set computed by Alg. 1 is equal to the boundary Z\partial Z of the zonotope ZZ, is justified in Theorem 3.1, whose proof is available in Appendix A. In order to enhance the understanding of Alg. 1, we provide a simple example, Example 1 in Appendix B, to illustrate the computational process of Alg. 1.

Remark 1

In space n\mathbb{R}^{n}, if a zonotope Z=𝒄,𝑮Z=\left\langle\bm{c},\bm{G}\right\rangle isn’t nn-dimensional, i.e., rank(𝑮)<n\operatorname*{rank}(\bm{G})<n, then the boundary of this zonotope is itself.

Theorem 3.1 (Soundness of boundary extraction algorithm)

Given an nn-dimensional zonotope Z=𝐜,𝐆Z=\left\langle\bm{c},\bm{G}\right\rangle with pp generators, the set computed by Alg. 1 is equal to its boundary Z\partial Z.

3.2.1 The complexity of boundary extraction algorithm

For an nn-dimensional zonotope Z=𝒄,𝑮,𝑮n,pZ=\left\langle\bm{c},\bm{G}\right\rangle,\bm{G}\in\mathbb{R}^{n,p}, it has MM facets, where M(pn1)M\leq\binom{p}{n-1}. The number of n×(n1)n\times(n-1) submatrices of 𝑮\bm{G} is (pn1)\binom{p}{n-1}, and the computation of the rank of an n×(n1)n\times(n-1) matrix has the complexity O(n(n1)2)O(n(n-1)^{2}) (using QR decomposition), then the computation in Line 2 has the complexity O(n(n1)2(pn1))O(n(n-1)^{2}\binom{p}{n-1}). In “while” Loop (Line 3-22), it has M2\frac{M}{2} iterations. For the operation 𝙲𝙿()\mathtt{CP}(\cdot) on an n×(n1)n\times(n-1) matrix, its complexity is nDET(n1)n\operatorname*{DET}(n-1), where DET(n)\operatorname*{DET}(n) denote the complexity of computing a determinant of an n×nn\times n square matrix. By LU-decomposition, DET(n)\operatorname*{DET}(n) is O(n3)O(n^{3}), however by Coppersmith–Winograd algorithm [11], it can reach O(n2.373)O(n^{2.373}). For each 𝑩b\bm{B}_{b}\in\mathcal{B}, checking the inner product between 𝒗\bm{v} and remaining generators has pn+1p-n+1 loops, and the inner product has complexity O(n)O(n). Thus, the complexity of Alg. 1 is M2(nDET(n1)+n(pn+1))+O(n(n1)2(pn1))=O(Mn(DET(n1)+p)+n(n1)2(pn1))\frac{M}{2}\left(n\operatorname*{DET}(n-1)+n(p-n+1)\right)+O(n(n-1)^{2}\binom{p}{n-1})=O\left(Mn(\operatorname*{DET}(n-1)+p)+n(n-1)^{2}\binom{p}{n-1}\right).

3.3 Zonotopal Tiling and Boundary Refinement

This subsection introduces our tiling algorithm which can split a zonotope into sub-zonotopes without overlaps and then elaborates how this tiling algorithm is employed to refine the boundaries of zonotopes.

The boundary matrix, which is constructed according to Alg. 1, plays an important role in our tiling algorithm. Its entries are able to characterize the centers and generators for all facets of a zonotope.

Definition 5 (Boundary Matrix)

Given an nn-dimensional zonotope Z=𝒄,𝑮Z=\left\langle\bm{c},\bm{G}\right\rangle with MM facets, where 𝒄n\bm{c}\in\mathbb{R}^{n} and 𝑮n,p\bm{G}\in\mathbb{R}^{n,p}, its boundary matrix 𝑩M,p\bm{B}\in\mathbb{R}^{M,p} is a matrix whose each entry is 0,1,or -1, where

  • 1.

    𝑩(i,j)=0\bm{B}(i,j)=0 implies that the jj-th generator 𝒈j\bm{g}_{j} is a generator of the ii-th facet (corresponding to Line 8 in Alg. 1);

  • 2.

    𝑩(i,j)=1\bm{B}(i,j)=-1 implies that in order to obtain the center of the ii-th facet, the MINUS operator is applied to the jj-th generator 𝒈j\bm{g}_{j} (corresponding to Line 10 and 12 in Alg. 1);

  • 3.

    𝑩(i,j)=1\bm{B}(i,j)=1 implies that in order to obtain the center of the ii-th facet, the PLUS operator is applied to the jj-th generator 𝒈j\bm{g}_{j} (corresponding to Line 10 and 12 in Alg. 1).

From the boundary matrix of a zonotope, one can obtain all its facets. Appendix B provides an example (Example 2) to illustrate this claim.

Another matrix, tiling matrix, is constructed to store the outcomes of the tiling algorithm, i.e., all the non-overlapping sub-zonotopes whose union covers the original zonotope. Similar to the boundary matrix, a row of tiling matrix represents a sub-zonotope.

Definition 6 (Tiling Matrix)

Given an nn-dimensional zonotope Z=𝒄,𝑮Z=\left\langle\bm{c},\bm{G}\right\rangle, where 𝒄n\bm{c}\in\mathbb{R}^{n} and 𝑮n,p\bm{G}\in\mathbb{R}^{n,p}, its tiling matrix 𝑻s,p\bm{T}\in\mathbb{R}^{s,p} is a matrix satisfying the following conditions:

  1. 1.

    its each entry is 0,1 or -1, which has the same meaning with the one in the boundary matrix;

  2. 2.

    each row defines a sub-zonotope ZiZ_{i} such that i=1sZi=Z\bigcup_{i=1}^{s}Z_{i}=Z and ZiZj=Z^{\circ}_{i}\cap Z^{\circ}_{j}=\emptyset for iji\neq j.

Our tiling algorithm is based an intuitive observation: for a zonotope, moving its one-sided facets towards to the opposite side along the direction of a generator results in a new zonotope with this generator removed, simultaneously, several sub-zonotopes are generated by adding this generator to all these facets. This process, which is visualized in Fig. 3, can be iteratively conducted, until a parallelotope remains. At this point, the tiling algorithm terminates, yielding a collection of tiles denoted as zonotopes that tile the original zonotope.

Refer to caption
Figure 3: Illustration of one-step tiling

The tiling algorithm leverages operations on boundary matrix 𝑩\bm{B} to implement the facets’ movement and sub-zonotopes generation aforementioned. The results of each step, namely the sub-zonotopes after one-step tiling, are recorded in the tiling matrix 𝑻\bm{T}.

Given an nn-dimensional zonotope Z=𝒄,𝑮,Z=\left\langle\bm{c},\bm{G}\right\rangle, where 𝑮=(𝒈i)1ipn,p\bm{G}=(\bm{g}_{i})_{1\leq i\leq p}\in\mathbb{R}^{n,p}, we require that the right-most n×nn\times n submatrix of 𝑮\bm{G} is full rank to ensure that the sub-zonotopes with one generator removed after one-step tiling remain nn-dimensional. For the specific jj-th column of boundary matrix 𝑩\bm{B}, where 1j(pn)1\leq j\leq(p-n), we process the following operations to its entries:

  1. 1.

    if there exist ii’s such that 𝑩(i,j)=1\bm{B}(i,j)=-1, we add these rows in the boundary matrix 𝑩\bm{B} into the tiling matrix 𝑻\bm{T} as new rows, but change their jj-th entry to 0 in the tiling matrix 𝑻\bm{T}. Meanwhile, the jj-th entries of these rows in the boundary matrix 𝑩\bm{B} are modified into 11, i.e., 𝑩(i,j)=1\bm{B}(i,j)=1;

  2. 2.

    if there exist ii’s such that 𝑩(i,j)=0\bm{B}(i,j)=0, we delete these rows from the boundary matrix 𝑩\bm{B}.

After the jj-th iteration, the updated boundary matrix 𝑩\bm{B} characterizes the boundary of a new zonotope. This new zonotope is derived by removing the first through the jj-th generators from the original zonotope ZZ. Simultaneously, the sub-zonotopes generated by adding the generator 𝒈j\bm{g}_{j} to the facets are incorporated into the tiling matrix 𝑻\bm{T}. Finally, after pnp-n iterations, there remains one parallelotope, whose generator matrix is the right-most n×nn\times n submatrix of 𝑮\bm{G}, we put this parallelotope into the tiling matrix 𝑻\bm{T} and then output the result.

The above computational procedures are summarized in Alg. 2. Its soundness is justified by Theorem 3.2, whose proof is available in Appendix A. Moreover, Appendix B supplements an example (Example 3) to illustrate the main steps tiling a zonotope using Alg. 2.

Remark 2

For an nn-dimensional parallelotope, Alg. 2 only return itself since there is no generator to remove while keeping it nn-dimensional. However, one can use some simple methods to tile it such as parallelepiped grid.

Algorithm 2 Tiling Algorithm

Input: An nn-dimensional zonotope Z=𝒄,𝑮,𝑮=(𝒈i)1ipn,pZ=\left\langle\bm{c},\bm{G}\right\rangle,\bm{G}=(\bm{g}_{i})_{1\leq i\leq p}\in\mathbb{R}^{n,p}, the right-most n×nn\times n submatrix of 𝑮\bm{G} is full rank, i.e., rank((𝒈i)i[pn+1,p])=n\operatorname*{rank}((\bm{g}_{i})_{i\in\mathbb{N}_{[p-n+1,p]}})=n.
Output: Tiling matrix 𝑻\bm{T}.

1:  Call Alg. 1 to get boundary matrix 𝑩\bm{B}
2:  𝑻:=[]\bm{T}:=[~{}]
3:  for j=1j=1 to pnp-n do
4:     for i=1i=1 to rows(𝑩)\text{rows}(\bm{B}) do
5:        if B(i,j)=0B(i,j)=0 then
6:           𝑩:=𝑩[i]\bm{B}:=\bm{B}^{[i]}
7:        end if
8:        if B(i,j)=1B(i,j)=-1 then
9:           𝒗\bm{v}^{\intercal} := B(i,)B(i,\cdot)
10:           𝒗(j):=0\bm{v}(j):=0
11:           𝑻:=[𝑻;𝒗]\bm{T}:=[\bm{T};\bm{v}^{\intercal}]
12:           B(i,j):=1B(i,j):=1
13:        end if
14:     end for
15:  end for
16:  𝒗=𝑩(1,)\bm{v}^{\intercal}=\bm{B}(-1,\cdot)
17:  for j=pn+1j=p-n+1 to pp do
18:     𝒗(j):=0\bm{v}(j):=0
19:  end for
20:  𝑻:=[𝑻;𝒗]\bm{T}:=[\bm{T};\bm{v}^{\intercal}]
21:  return 𝑻\bm{T}
Remark 3

The sub-zonotopes obtained by Alg. 2 aren’t necessarily parallelotopes. To make the results of tiling are exclusively paralletopes, one can recursive applying Alg. 2 on each sub-zonotope in tiling matrix 𝑻\bm{T} until each sub-zonotope has nn generators. Additionally, Alg. 2 allows terminating at any iteration, and the result of each iteration can serve as a tiling of the original zonotope. This flexibility is valuable for controlling the number of partitioned sub-zonotopes. Therefore, our proposed tiling algorithm is particularly well-suited for the inner-approximation computation scenario outlined in this paper, it enables a balance between the computational burden and precision of evaluating O(h;Uk)O(h;\partial U_{k}) by constraining the number of sub-zonotopes in the tiling.

Theorem 3.2 (Soundness of tiling algorithm)

Given an nn-dimensional zonotope Z=𝐜,𝐆Z=\left\langle\bm{c},\bm{G}\right\rangle with pp generators, the tiling matrix 𝐓\bm{T} obtained by Alg. 2 satisfies the conditions in Def. 6.

3.3.1 The complexity of tiling algorithm

For an nn-dimensional zonotope Z=𝒄,𝑮,𝑮=(𝒈i)1ipn,pZ=\left\langle\bm{c},\bm{G}\right\rangle,\bm{G}=(\bm{g}_{i})_{1\leq i\leq p}\in\mathbb{R}^{n,p}, where rank((𝒈i)i[pn+1,p])=n\operatorname*{rank}((\bm{g}_{i})_{i\in\mathbb{N}_{[p-n+1,p]}})=n, assume ZZ has MM facets. The calling of Alg. 1 is O(Mn(DET(n1)+p)+n(n1)2(pn1))O\left(Mn(\operatorname*{DET}(n-1)+p)+n(n-1)^{2}\binom{p}{n-1}\right). The size of boundary matrix 𝑩\bm{B} is M×pM\times p, the two-layer “for” Loop (Line 3-15) has iterations less than M(pn)M(p-n), thus the calling of Alg. 1 is dominant in the complexity of tiling algorithm. Consequently, the complexity of Alg. 2 is O(Mn(DET(n1)+p)+n(n1)2(pn1))O\left(Mn(\operatorname*{DET}(n-1)+p)+n(n-1)^{2}\binom{p}{n-1}\right).

3.3.2 Complexity comparison

Here we compare the complexity of tiling algorithm proposed in [18] with ours. For an nn-dimensional zonotope Z=𝒄,𝑮,𝑮n,pZ=\left\langle\bm{c},\bm{G}\right\rangle,\bm{G}\in\mathbb{R}^{n,p}, assume ZZ has MM facets and NN vertexes. The main computation procure of algorithm in [18] is computing Σ\Sigma (a set of sign vectors of cells of the arrangement), which is equivalent to enumerate the sign vectors of all the vertexes of ZZ. The computation of Σ\Sigma, utilizing a reverse search algorithm [10], owns the complexity of O(npLP(p,n)|Σ|)=O(NnpLP(p,n))O(np\operatorname*{LP}(p,n)|\Sigma|)=O(Nnp\operatorname*{LP}(p,n)) (the number of sign vectors in Σ\Sigma is equal to NN), where LP(p,n)\operatorname*{LP}(p,n) is the time to solve a linear programming (LP) with pp inequalities in nn variables. There are various algorithms for solving LPs including simplex algorithm, interior point method and their variants. The state-of-the-art algorithms for solving LPs take complexity around O(n2.37)O(n^{2.37}) [9]. As for the complexity of our algorithm, we have clarified that dominant part in complexity is the procure extracting the boundary of a zonotope, which has the complexity O(Mn(DET(n1)+p)+n(n1)2(pn1))O\left(Mn(\operatorname*{DET}(n-1)+p)+n(n-1)^{2}\binom{p}{n-1}\right). Additionally for zonotope ZZ, the number of its vertexes NN is usually much larger than the one of its facets MM, particularly in high dimension (for example, a hypercube in n\mathbb{R}^{n} has 2n2^{n} vertexes and 2n2n facets). According to the analysis above, we can conclude the complexity of our tiling algorithm is better than the one of algorithm (O(NnpLP(p,n))O(Nnp\operatorname*{LP}(p,n))) in [18].

Refer to caption
Figure 4: Illustration of boundary refinement

3.3.3 Boundary refinement via tiling algorithm

Given an nn-dimensional zonotope Z=𝒄,𝑮,𝑮n,pZ=\left\langle\bm{c},\bm{G}\right\rangle,\bm{G}\in\mathbb{R}^{n,p}, for one of its facet F=𝒄b,𝑮bF=\left\langle\bm{c}_{b},\bm{G}_{b}\right\rangle, we transform it into the space n1\mathbb{R}^{n-1} with transformation matrix 𝑩b\bm{B}_{b}^{\intercal}, where 𝑩b\bm{B}_{b} is the n×(n1)n\times(n-1) submatrix of 𝑮b\bm{G}_{b} with rank n1n-1, then the (n1)(n-1)-dimensional transformed zonotope can be denoted as F~=𝑩b𝒄b,𝑩b𝑮b\tilde{F}=\left\langle\bm{B}_{b}^{\intercal}\bm{c}_{b},\bm{B}_{b}^{\intercal}\bm{G}_{b}\right\rangle. Using tiling algorithm, F~\tilde{F} can be split into some smaller sub-zonotopes {F~(1),F~(2),,F~(M)}\{\tilde{F}^{(1)},\tilde{F}^{(2)},\cdots,\tilde{F}^{(M)}\}. For each of (n1)(n-1)-dimensional sub-zonotopes such as F~(1)=𝒄~(1),𝑮~(1)\tilde{F}^{(1)}=\left\langle\tilde{\bm{c}}_{(1)},\tilde{\bm{G}}_{(1)}\right\rangle, an inverse transformation recovers it to the zonotope in the space n\mathbb{R}^{n}, i.e., F(1)=𝒄(1),𝑮(1)F^{(1)}=\left\langle\bm{c}_{(1)},\bm{G}_{(1)}\right\rangle, where 𝒄(1)=[𝑩b;𝙲𝙿(𝑩b)]1[𝒄~(1);𝙲𝙿(𝑩b)𝒄b]\bm{c}_{(1)}=[\bm{B}_{b}^{\intercal};\mathtt{CP}(\bm{B}_{b})^{\intercal}]^{-1}[\tilde{\bm{c}}_{(1)};\mathtt{CP}(\bm{B}_{b})\cdot\bm{c}_{b}], 𝑮(1)=[𝑩b;𝙲𝙿(𝑩b)]1[𝑮~(1);𝟎]\bm{G}_{(1)}=[\bm{B}_{b}^{\intercal};\mathtt{CP}(\bm{B}_{b})^{\intercal}]^{-1}[\tilde{\bm{G}}_{(1)};\bm{0}^{\intercal}]. The main steps of boundary refinement are visualized in Fig. 4.

3.4 Contracting Computed Outer-approximation

In this subsection we present our contraction method, yielding the inner approximation candidate Uk+1U_{k+1}^{\prime} by contracting O(h;Uk)O(h;U_{k}). In contrast to the approaches in [35], which contracts O(h;Uk)O(h;U_{k}) by reducing size proportionally, our contraction method offers a more flexible way. Specifically, the length of each generator of O(h;Uk)O(h;U_{k}) can be adjusted and some generators can be removed. The incorporation of this adaptive contraction method enhances the tightness of the computed inner-approximation.

By extracting and refining of boundary Uk\partial U_{k} of UkU_{k}, we get a collection of sub-zonotopes, i.e., {Uk(i)}i[1,s]\{\partial U_{k}^{(i)}\}_{i\in\mathbb{N}_{[1,s]}}, where i=1sUk(i)=Uk\bigcup_{i=1}^{s}\partial U_{k}^{(i)}=\partial U_{k}. Then O(h;Uk)O(h;\partial U_{k}) can be obtained by uniting all the out-approximations Ok+1(i):=O(h;Uk(i)),i[1,s]\partial O_{k+1}^{(i)}:=O(h;\partial U_{k}^{(i)}),i\in\mathbb{N}_{[1,s]}, i.e., O(h;Uk)=i=1sOk+1(i)O(h;\partial U_{k})=\bigcup_{i=1}^{s}\partial O_{k+1}^{(i)}.

Noticing that the shape of every outer-approximation Ok+1(i)=𝒄o,𝑮o\partial O_{k+1}^{(i)}=\left\langle\bm{c}_{o},\bm{G}_{o}\right\rangle is usually long and narrow (refer to Fig. 1), we choose the top n1n-1 independent generators by norm (such as Euclidean norm) to span a hyperplane, which can be seen as an (n1)(n-1)-dimensional form approximating Ok+1(i)\partial O_{k+1}^{(i)}. Then we compute the cross product 𝙲𝙿()\mathtt{CP}(\cdot) of this hyperplane as its normal vector to represent the attitude of Ok+1(i)\partial O_{k+1}^{(i)}, denoted by 𝙰𝚃(Ok+1(i))\mathtt{AT}\left(\partial O_{k+1}^{(i)}\right) (i.e. 𝙲𝙿(𝑮^o)\mathtt{CP}(\hat{\bm{G}}_{o}), where 𝑮^o\hat{\bm{G}}_{o} contains top n1n-1 indenpent generators of 𝑮o\bm{G}_{o} by norm).

Initially, we set the inner-approximation candidate Uk+1:=O(h;Uk)U_{k+1}^{\prime}:=O(h;U_{k}). Subsequently, we iteratively reduce the length of generators and adjust the position (by changing the center) of Uk+1U_{k+1}^{\prime} until the intersections between Uk+1U_{k+1}^{\prime} and all outer-approximations Ok+1(i)\partial O_{k+1}^{(i)} become empty sets. For each outer-approximation Ok+1(i)\partial O_{k+1}^{(i)}, we begin by shortening the length of generators that are most likely to yield collisions between Uk+1U_{k+1}^{\prime} and Ok+1(i)\partial O_{k+1}^{(i)}, which would prevent the unnecessary contraction of Uk+1U_{k+1}^{\prime} and make the result tighter. Heuristically, the generators with directions closest to 𝙰𝚃(Ok+1(i))\mathtt{AT}\left(\partial O_{k+1}^{(i)}\right), or in other words, those most likely to “perpendicular” to Ok+1(i)\partial O_{k+1}^{(i)} (precisely, perpendicular to hyperplane spanned by column vectors of 𝑮^o\hat{\bm{G}}_{o}) should be given priority considerations. When encountering a generator that dose not need to be shortened, indicating that Uk+1U_{k+1}^{\prime} and Ok+1(i)\partial O_{k+1}^{(i)} have no overlapping parts, we turn to the next outer-approximation Ok+1(i+1)\partial O_{k+1}^{(i+1)}. The details of contraction method proposed is summarized below.

  1. 1.

    Initialize inner-approximation candidate Uk+1:=𝒄u,𝑮u=O(h;Uk)U_{k+1}^{\prime}:=\left\langle\bm{c}_{u},\bm{G}_{u}\right\rangle=O(h;U_{k}).

  2. 2.

    For every boundary outer-approximations Ok+1(i)=𝒄o,𝑮o,i[1,s]\partial O_{k+1}^{(i)}=\left\langle\bm{c}_{o},\bm{G}_{o}\right\rangle,i\in\mathbb{N}_{[1,s]}, carry out the following processing steps.

    • 2a.

      Sort the generators {𝒈l}1lcols(𝑮u)\{\bm{g}_{l}\}_{1\leq l\leq\operatorname*{cols}(\bm{G}_{u})} of Uk+1U_{k+1}^{\prime} according the angle with 𝙰𝚃(Ok+1(i))\mathtt{AT}\left(\partial O_{k+1}^{(i)}\right) from small to large (i.e., cosθ=𝒈l𝙰𝚃(Ok+1(i))𝒈l𝙰𝚃(Ok+1(i))\|{\rm cos}\theta\|=\frac{\|\bm{g}_{l}\cdot\mathtt{AT}\left(\partial O_{k+1}^{(i)}\right)\|}{\|\bm{g}_{l}\|\|\mathtt{AT}\left(\partial O_{k+1}^{(i)}\right)\|} from large to small).

    • 2b.

      Loop all the generators according to the sorted order, for the generator 𝒈l\bm{g}_{l}, compute its domain [αl¯,αl¯][\underline{\alpha_{l}},\overline{\alpha_{l}}] which intersects with Ok+1(i)\partial O_{k+1}^{(i)} by LPs (2) and (3) (using approach in [17, Chapter 4.2.54.2.5]), where 𝜶=(α1,,αl,,αcols(𝑮u))\bm{\alpha}=(\alpha_{1},\cdots,\alpha_{l},\cdots,\alpha_{\operatorname*{cols}(\bm{G}_{u})})^{\intercal}, 𝜷=(β1,,βcols(𝑮o))\bm{\beta}=(\beta_{1},\cdots,\beta_{\operatorname*{cols}(\bm{G}_{o})})^{\intercal}.

      min\displaystyle\min αl\displaystyle\alpha_{l} (2)
      s.t.\displaystyle s.t. 𝒄u+𝑮u𝜶=𝒄o+𝑮o𝜷\displaystyle\bm{c}_{u}+\bm{G}_{u}\bm{\alpha}=\bm{c}_{o}+\bm{G}_{o}\bm{\beta}
      𝟏𝜶𝟏,𝟏𝜷𝟏\displaystyle-\bm{1}\leq\bm{\alpha}\leq\bm{1},-\bm{1}\leq\bm{\beta}\leq\bm{1}
      max\displaystyle\max αl\displaystyle\alpha_{l} (3)
      s.t.\displaystyle s.t. 𝒄u+𝑮u𝜶=𝒄o+𝑮o𝜷\displaystyle\bm{c}_{u}+\bm{G}_{u}\bm{\alpha}=\bm{c}_{o}+\bm{G}_{o}\bm{\beta}
      𝟏𝜶𝟏,𝟏𝜷𝟏\displaystyle-\bm{1}\leq\bm{\alpha}\leq\bm{1},-\bm{1}\leq\bm{\beta}\leq\bm{1}

      When the optimal value of (2) or (3) can’t be found, then terminate this loop and continue for the next boundary outer-approximation Ok+1(i+1)\partial O_{k+1}^{(i+1)}.

    • 2c.

      If [αl¯,αl¯]=[1,1][\underline{\alpha_{l}},\overline{\alpha_{l}}]=[-1,1], then delete 𝒈l\bm{g}_{l} from generator matrix 𝑮u\bm{G}_{u}. Else, update the range of almax{[1,al¯ϵ],[al¯+ϵ,1]}[γ¯,γ¯]a_{l}\in\max\{[-1,\underline{a_{l}}-\epsilon],[\overline{a_{l}}+\epsilon,1]\}\triangleq[\underline{\gamma},\overline{\gamma}], where the operation max{,}\max\{\cdot,\cdot\} means choosing the interval with maximum length and ϵ\epsilon is a user-defined small positive number.

    • 2d.

      Update 𝒄u:=𝒄u+0.5(γ¯+γ¯)𝒈l\bm{c}_{u}:=\bm{c}_{u}+0.5(\overline{\gamma}+\underline{\gamma})\bm{g}_{l} and 𝒈l:=0.5(γ¯γ¯)𝒈l\bm{g}_{l}:=0.5(\overline{\gamma}-\underline{\gamma})\bm{g}_{l}.

Remark 4

The introducing of the user-defined small positive number ϵ\epsilon is to ensure Uk+1Ok+1(i)=U_{k+1}^{\prime}\cap\partial O_{k+1}^{(i)}=\emptyset.

Remark 5

In practice, it is a common case that [αl¯,αl¯]=[1,1][\underline{\alpha_{l}},\overline{\alpha_{l}}]=[-1,1], thus the number of generators of inner-approximation candidate Uk+1U_{k+1}^{\prime} is usually less than O(h;Uk)O(h;U_{k})’s, which shows that this contraction method has the advantage for zonotope order reduction [37].

Appendix B provides an example (Example 4) to illustrate the procedure of the contraction method and why is necessary to sort the generators {𝒈l}1lcols(𝑮u)\{\bm{g}_{l}\}_{1\leq l\leq\operatorname*{cols}(\bm{G}_{u})} of Uk+1U_{k+1}^{\prime} according to the angle with 𝙰𝚃(Ok+1(i))\mathtt{AT}\left(\partial O_{k+1}^{(i)}\right).

3.4.1 Verification of inner-approximation candidate

According to Theorem 1 and 3 in [19], after obtaining inner-approximation candidate Uk+1U_{k+1}^{\prime}, it’s crucial to check whether the outer-approximation O(h;𝒄)O(h;\bm{c}) (𝒄\bm{c} is the center of Uk+1U^{\prime}_{k+1}) of the time-inverted system 𝒙˙=𝒇(𝒙)\dot{\bm{x}}=-\bm{f}(\bm{x}) is within UkU_{k}, which confirms the correctness of computed inner-approximation Uk+1U_{k+1}. Since both Uk+1U_{k+1}^{\prime} and O(h;𝒄)O(h;\bm{c}) are zonotopes, this verification reduces a zonotope containment problem. In our approach, we leverage a sufficient condition outlined in [30], which can be encoded into LP to perform the inclusion verification.

4 Experiments

In this section we demonstrate the performance of our approach on various benchmarks. Our implementation utilizes the floating point linear programming solver GLPK and C++ library Eigen. We adopt the approach outlined in [3] to compute outer-approximations appeared in our method. All experiments herein are run on Ubuntu 20.04.3 LTS in virtual machine with CPU 12th Gen Intel Core i9-12900K × 8 and RAM 15.6 GB.

To evaluate the precision of the computed inner-approximations, we use the minimum width ration γmin\gamma_{min} similar to [19], which is defined as

γmin=min𝒗𝒱|γi(𝒗)||γo(𝒗)|\displaystyle\gamma_{\min}=\min_{\bm{v}\in\mathcal{V}}\frac{\left|\gamma_{i}(\bm{v})\right|}{\left|\gamma_{o}(\bm{v})\right|} (4)
with γi(𝒗)=maxxUk𝒗x+maxxUk𝒗x\displaystyle\gamma_{i}(\bm{v})=\max_{x\in U_{k}}\bm{v}^{\intercal}x+\max_{x\in U_{k}}-\bm{v}^{\intercal}x
γo(𝒗)=maxxOk𝒗x+maxxOk𝒗x\displaystyle\gamma_{o}(\bm{v})=\max_{x\in O_{k}}\bm{v}^{\intercal}x+\max_{x\in O_{k}}-\bm{v}^{\intercal}x

where UkU_{k} and OkO_{k} are the inner-approximation and outer-approximation of the reachable set at kk step respectively. 𝒗𝒱n\bm{v}\in\mathcal{V}\subset\mathbb{R}^{n}, and 𝒱\mathcal{V} is the set consisting of nn axis-aligned unit-vectors. To ensure a fair comparison, the OkO_{k} is chosen to be the interval enclosure of 10001000 random points at the final time instant simulated via ode45 in MATLAB. Intuitively, the larger this ratio, the better the approximation.

Our approach is systematically compared with the state-of-the-art method presented in [19], which is publicly available in the reachability analysis toolbox CORA [1]. Benchmarks with system’s dimension from 22 to 1212 are utilized to show the the comprehensive advantages of our approach. Their configurations including dimensions, initial sets and references are listed in Table 2.

Table 2: Benchmarks and their dimensions, initial sets and references
Dim Benchmark Initial Set Reference
2 ElectroOsc 𝒄1+[0.1,0.1]2\bm{c}_{1}+[-0.1,0.1]^{2} Example 3 in [35]
3 Rossler 𝒄2+[0.15,0.15]3\bm{c}_{2}+[-0.15,0.15]^{3} Example 3.4.3 in [8]
4 Lotka-Volterra 𝒄3+[0.2,0.2]4\bm{c}_{3}+[-0.2,0.2]^{4} Example 5.2.3 in [8]
6 Tank6 𝒄4+[0.2,0.2]6\bm{c}_{4}+[-0.2,0.2]^{6} [3]
7 BiologicalSystemI 𝒄5+[0.01,0.01]7\bm{c}_{5}+[-0.01,0.01]^{7} Example 5.2.4 in [8]
9 BiologicalSystemII 𝒄6+[0.01,0.01]9\bm{c}_{6}+[-0.01,0.01]^{9} Example 5.2.4 in [8]
12 Tank12 𝒄7+[0.2,0.2]12\bm{c}_{7}+[-0.2,0.2]^{12} [3]
  • Note: for the parameters of Tank6 and Tank12, all AiA_{i} are set to Ai=1A_{i}=1, and all kik_{i} are set to ki=0.015k_{i}=0.015, κ=0.01,v=0,g=9.81\kappa=0.01,v=0,g=9.81, for Tank6 n=6n=6 and for Tank12 n=12n=12; for the centers of initial sets, 𝒄1=(0,3)\bm{c}_{1}=(0,3)^{\top}, 𝒄2=(0.05,8.35,0.05)\bm{c}_{2}=(0.05,-8.35,0.05)^{\top}, 𝒄3=(0.6,0.6,0.6,0.6)\bm{c}_{3}=(0.6,0.6,0.6,0.6)^{\top}, 𝒄4=(2,4,4,2,10,4)\bm{c}_{4}=(2,4,4,2,10,4)^{\top}, 𝒄5=(0.1,0.1,0.1,0.1,0.1,0.1,0.1)\bm{c}_{5}=(0.1,0.1,0.1,0.1,0.1,0.1,0.1)^{\top}, 𝒄6=(1,1,1,1,1,1,1,1,1)\bm{c}_{6}=(1,1,1,1,1,1,1,1,1)^{\top}, 𝒄7=(2,4,4,2,10,4,2,2,2,2,2,2)\bm{c}_{7}=(2,4,4,2,10,4,2,2,2,2,2,2)^{\top}.

4.1 Advantage in efficiency and precision

For each benchmark stated in Table 2, we compute the inner-approximations at the time instant TT using our approach and the one in CORA. Table 3 demonstrates the time cost and γmin\gamma_{min} for tow methods. The advantages of our approach are evident from low dimensional scenario (22-dimensional) to high dimensional scenario (1212-dimensional), showcasing improved efficiency and precision, particularly in higher dimensions. Taking the benchmark Tank12 as an instance, our approach achieves nearly 38%38\% improvement in precision while requiring only 12%12\% of the time compared to CORA. The visualization of the inner-approximations computed by our approach and CORA is illustrated in Fig. 7 provided in Appendix C, together with the outer-approximations computed by CORA in this figure for sake of convenient comparison.

Table 3: Comparison between our approach and CORA for each benchmark
Dim Benchmark T Our Approach CORA
time (s) γmin\gamma_{min} time (s) γmin\gamma_{min}
2 ElectroOsc 2.5 23.56\bm{23.56} 0.88\bm{0.88} 36.50 0.57
3 Rossler 1.5 27.72\bm{27.72} 0.76 36.63 0.78\bm{0.78}
4 Lotka-Volterra 1 10.43\bm{10.43} 0.65\bm{0.65} 335.06 0.34
6 Tank6 80 50.83\bm{50.83} 0.82\bm{0.82} 201.05 0.63
7 BiologicalSystemI 0.2 1.74\bm{1.74} 0.96\bm{0.96} 125.73 0.90
9 BiologicalSystemII 0.2 72.47\bm{72.47} 0.95\bm{0.95} 188.25 0.88
12 Tank12 60 235.88\bm{235.88} 0.77\bm{0.77} 1834.65 0.56

4.2 Advantage in long time horizons

Further, we extend the time horizon in Table 3 and compare the performance of inner-approximation computation between our approach and CORA. As evidenced by the results in Table 4, our approach demonstrates the reliable capability to compute inner-approximations in relatively longer time horizons compared to CORA. It shows that our approach can consistently compute all inner-approximations while maintaining benign efficiency and precision. In contrast, the approach in CORA fails to compute inner-approximations for all benchmarks. The visualization of the inner-approximations computed by our approach and CORA is illustrated in Fig. 8 provided in Appendix C.

Table 4: Comparison between our approach and CORA for each benchmark in relatively longer time horizons
Dim Benchmark T Our Approach CORA
time (s) γmin\gamma_{min} time (s) γmin\gamma_{min}
2 ElectroOsc 3 73.76 0.90 \bm{-} \bm{-}
3 Rossler 2.5 63.42 0.60
4 Lotka-Volterra 1.5 81.81 0.62
6 Tank6 120 129.58 0.65
7 BiologicalSystemI 1.3 462.87 0.41
9 BiologicalSystemII 0.375 261.78 0.66
12 Tank12 100 377.85 0.49
  • Note: the symbol “\bm{-}” means that in this experimental configuration CORA cannot compute inner-approximations.

4.3 Advantage in big initial sets

We also expand the initial sets as listed in Table 2 to highlight our advantage in computing inner-approximations from larger initial sets. For each benchmark, we set both a short and a long time instant to compute inner-approximations using our approach and CORA. As shown in Table 5, our approach can accomplish all the inner-approximation computations while maintaining high levels of efficiency and precision. In contrast, for the short time instant scenario, the performance of CORA is worse than ours in both computation time and accuracy, and CORA fails to compute inner-approximations at long time instant for all benchmarks. The visualization of the inner-approximations computed by our approach and CORA is illustrated in Fig. 9 and Fig. 10 provided in Appendix C.

Table 5: Comparison between our approach and CORA for each benchmark in big initial sets.
Dim Benchmark Initial Set T Our Approach CORA
time (s) γmin\gamma_{min} time (s) γmin\gamma_{min}
2 ElectroOsc 𝒄1+0.5𝑰2\bm{c}_{1}+0.5\bm{I}^{2} 1.5 4.79\bm{4.79} 0.92\bm{0.92} 24.32 0.43
2 11.29 0.84 \bm{-} \bm{-}
3 Rossler 𝒄2+0.5𝑰3\bm{c}_{2}+0.5\bm{I}^{3} 1 15.88\bm{15.88} 0.59\bm{0.59} 36.54 0.53
1.5 24.01 0.58 \bm{-} \bm{-}
4 Lotka-Volterra 𝒄3+0.5𝑰4\bm{c}_{3}+0.5\bm{I}^{4} 0.4 15.45\bm{15.45} 0.71\bm{0.71} 153.57 0.38
1 64.17 0.52 \bm{-} \bm{-}
6 Tank6 𝒄4+0.5𝑰6\bm{c}_{4}+0.5\bm{I}^{6} 80 66.83\bm{66.83} 0.60\bm{0.60} 463.28 0.13
100 80.91 0.53 \bm{-} \bm{-}
7 BiologicalSystemI 𝒄5+0.05𝑰7\bm{c}_{5}+0.05\bm{I}^{7} 0.5 118.65\bm{118.65} 0.62\bm{0.62} 615.89 0.38
0.7 281.05 0.41 \bm{-} \bm{-}
9 BiologicalSystemII 𝒄6+0.05𝑰9\bm{c}_{6}+0.05\bm{I}^{9} 0.26 142.17\bm{142.17} 0.65\bm{0.65} 1494.38 0.32
0.28 142.02 0.55 \bm{-} \bm{-}
12 Tank12 𝒄7+0.5𝑰12\bm{c}_{7}+0.5\bm{I}^{12} 40 162.46\bm{162.46} 0.73\bm{0.73} 1693.68 0.41
60 235.57 0.54 \bm{-} \bm{-}
  • Note: the symbol “\bm{-}” means that in this experimental configuration CORA cannot compute inner-approximations. 𝑰d\bm{I}^{d} denotes the box [1,1]d[-1,1]^{d}.

5 Conclusion

In this paper we propose a novel approach to compute inner-approximations of reachable sets for nonlinear systems based on zonotopic boundary analysis. To enhance the efficiency and precision of the computed inner-approximations, we introduce three innovative and efficient methods, including the algorithm of extracting boundaries of zonotopes, the algorithm of tiling zonotopes for boundary refinement, and contraction strategy for obtaining inner-approximations from pre-computed outer-approximations. In comparison to the state-of-the-art methods for inner-approximation computation, our approach demonstrates superior performance in terms of efficiency and precision, particularly within high dimensional cases. Moreover, our proposed approach exhibits a remarkable capability to compute inner-approximations for scenarios with long time horizons and large initial sets, where the inner-approximations are usually failed to be computed by existing methods.

Acknowledgement

This work is funded by the CAS Pioneer Hundred Talents Program, Basic Research Program of Institute of Software, CAS (Grant No. ISCAS-JCMS-202302) and National Key R&D Program of China (Grant No. 2022YFA1005101).

References

  • [1] Althoff, M.: An introduction to cora 2015. In: Proc. of the workshop on applied verification for continuous and hybrid systems. pp. 120–151 (2015)
  • [2] Althoff, M., Frehse, G., Girard, A.: Set propagation techniques for reachability analysis. Annual Review of Control, Robotics, and Autonomous Systems 4, 369–395 (2021)
  • [3] Althoff, M., Stursberg, O., Buss, M.: Reachability analysis of nonlinear systems with uncertain parameters using conservative linearization. In: 2008 47th IEEE Conference on Decision and Control. pp. 4042–4048. IEEE (2008)
  • [4] Althoff, M., Stursberg, O., Buss, M.: Computing reachable sets of hybrid systems using a combination of zonotopes and polytopes. Nonlinear analysis: hybrid systems 4(2), 233–249 (2010)
  • [5] Bajaj, C.L., Pascucci, V.: Splitting a complex of convex polytopes in any dimension. In: Proceedings of the twelfth annual symposium on Computational geometry. pp. 88–97 (1996)
  • [6] Björner, A.: Oriented matroids. No. 46, Cambridge University Press (1999)
  • [7] Branicky, M.S.: Multiple lyapunov functions and other analysis tools for switched and hybrid systems. IEEE Transactions on automatic control 43(4), 475–482 (1998)
  • [8] Chen, X.: Reachability analysis of non-linear hybrid systems using taylor models. Ph.D. thesis, Fachgruppe Informatik, RWTH Aachen University (2015)
  • [9] Cohen, M.B., Lee, Y.T., Song, Z.: Solving linear programs in the current matrix multiplication time. Journal of the ACM (JACM) 68(1), 1–39 (2021)
  • [10] Ferrez, J.A., Fukuda, K., Liebling, T.M.: Solving the fixed rank convex quadratic maximization in binary variables by a parallel zonotope construction algorithm. European Journal of Operational Research 166(1), 35–50 (2005)
  • [11] Fisikopoulos, V., Penaranda, L.: Faster geometric algorithms via dynamic determinant computation. Computational Geometry 54, 1–16 (2016)
  • [12] Girard, A.: Reachability of uncertain linear systems using zonotopes. In: HSCC. vol. 3414, pp. 291–305. Springer (2005)
  • [13] Goubault, E., Putot, S.: Forward inner-approximated reachability of non-linear continuous systems. In: Proceedings of the 20th international conference on hybrid systems: computation and control. pp. 1–10 (2017)
  • [14] Goubault, E., Putot, S.: Inner and outer reachability for the verification of control systems. In: Proceedings of the 22nd ACM International Conference on Hybrid Systems: Computation and Control. pp. 11–22 (2019)
  • [15] Henzinger, T.A., Kopke, P.W., Puri, A., Varaiya, P.: What’s decidable about hybrid automata? In: Proceedings of the twenty-seventh annual ACM symposium on Theory of computing. pp. 373–382 (1995)
  • [16] Herrmann, S., Joswig, M.: Splitting polytopes. arXiv preprint arXiv:0805.0774 (2008)
  • [17] Jaulin, L., Kieffer, M., Didrit, O., Walter, E.: Interval analysis. In: Applied interval analysis, pp. 11–43. Springer (2001)
  • [18] Kabi, B.: Synthesizing invariants: a constraint programming approach based on zonotopic abstraction. Ph.D. thesis, Institut polytechnique de Paris (2020)
  • [19] Kochdumper, N., Althoff, M.: Computing non-convex inner-approximations of reachable sets for nonlinear continuous systems. In: 2020 59th IEEE Conference on Decision and Control (CDC). pp. 2130–2137. IEEE (2020)
  • [20] Korda, M., Henrion, D., Jones, C.N.: Inner approximations of the region of attraction for polynomial dynamical systems. IFAC Proceedings Volumes 46(23), 534–539 (2013)
  • [21] Lakshmikantham, V., Leela, S., Martynyuk, A.A.: Practical stability of nonlinear systems. World Scientific (1990)
  • [22] Li, J., Dureja, R., Pu, G., Rozier, K.Y., Vardi, M.Y.: Simplecar: An efficient bug-finding tool based on approximate reachability. In: Computer Aided Verification: 30th International Conference, CAV 2018, Held as Part of the Federated Logic Conference, FloC 2018, Oxford, UK, July 14-17, 2018, Proceedings, Part II 30. pp. 37–44. Springer (2018)
  • [23] Massey, W.S.: A basic course in algebraic topology, vol. 127. Springer (2019)
  • [24] McMullen, P.: On zonotopes. Transactions of the American Mathematical Society 159, 91–109 (1971)
  • [25] Mitchell, I.M.: Comparing forward and backward reachability as tools for safety analysis. In: Hybrid Systems: Computation and Control: 10th International Workshop, HSCC 2007, Pisa, Italy, April 3-5, 2007. Proceedings 10. pp. 428–443. Springer (2007)
  • [26] Mortari, D.: n-dimensional cross product and its application to the matrix eigenanalysis. Journal of Guidance, Control, and Dynamics 20(3), 509–515 (1997)
  • [27] Neumaier, A.: The wrapping effect, ellipsoid arithmetic, stability and confidence regions. Springer (1993)
  • [28] Richter-Gebert, J., Ziegler, G.M.: Zonotopal tilings and the bohne-dress theorem. Contemporary Mathematics 178, 211–211 (1994)
  • [29] Rwth, X.C., Sankaranarayanan, S., Ábrahám, E.: Under-approximate flowpipes for non-linear continuous systems. In: 2014 Formal Methods in Computer-Aided Design (FMCAD). pp. 59–66. IEEE (2014)
  • [30] Sadraddini, S., Tedrake, R.: Linear encodings for polytope containment problems. In: 2019 IEEE 58th Conference on Decision and Control (CDC). pp. 4367–4372. IEEE (2019)
  • [31] Schoels, T., Palmieri, L., Arras, K.O., Diehl, M.: An nmpc approach using convex inner approximations for online motion planning with guaranteed collision avoidance. In: 2020 IEEE International Conference on Robotics and Automation (ICRA). pp. 3574–3580. IEEE (2020)
  • [32] Shephard, G.C.: Combinatorial properties of associated zonotopes. Canadian Journal of Mathematics 26(2), 302–321 (1974)
  • [33] Wan, J., Vehi, J., Luo, N.: A numerical approach to design control invariant sets for constrained nonlinear discrete-time systems with guaranteed optimality. Journal of Global Optimization 44, 395–407 (2009)
  • [34] Xue, B., Fränzle, M., Zhan, N.: Inner-approximating reachable sets for polynomial systems with time-varying uncertainties. IEEE Transactions on Automatic Control 65(4), 1468–1483 (2019)
  • [35] Xue, B., She, Z., Easwaran, A.: Under-approximating backward reachable sets by polytopes. In: International Conference on Computer Aided Verification. pp. 457–476. Springer (2016)
  • [36] Xue, B., Zhan, N., Fränzle, M., Wang, J., Liu, W.: Reach-avoid verification based on convex optimization. IEEE Transactions on Automatic Control 69(1), 598–605 (2024)
  • [37] Yang, X., Scott, J.K.: A comparison of zonotope order reduction techniques. Automatica 95, 378–384 (2018)
  • [38] Ziegler, G.M.: Lectures on polytopes, vol. 152. Springer Science & Business Media (2012)

Appendix

A Proofs of Theorems in the Paper

The proof of Theorem 3.1:

to prove the soundness of Alg. 1, we firstly give the boundary of a parallelotope in Lemma 1.

Lemma 1 (Boundary of a parallelotope)

An nn-dimensional parallelotope P=𝐜,𝐆P=\left\langle\bm{c},\bm{G}\right\rangle has 2n2n facets which can be characterized by following form,

P(i)=𝒄+𝑮(,i),𝑮i,P(n+i)=𝒄𝑮(,i),𝑮i\partial P^{(i)}=\left\langle\bm{c}+\bm{G}(\cdot,i),\bm{G}^{\langle i\rangle}\right\rangle,~{}\partial P^{(n+i)}=\left\langle\bm{c}-\bm{G}(\cdot,i),\bm{G}^{\langle i\rangle}\right\rangle

where i[1,n]i\in\mathbb{N}_{[1,n]}.

Proof

An nn-dimensional parallelotope P=𝒄,𝑮P=\left\langle\bm{c},\bm{G}\right\rangle is actually the codomain of the linear map 𝒉:[1,1]nPn\bm{h}:[-1,1]^{n}\mapsto P\subset\mathbb{R}^{n}, where 𝒉(𝜶)=𝒄+𝑮𝜶,𝜶[1,1]n\bm{h}(\bm{\alpha})=\bm{c}+\bm{G\alpha},\bm{\alpha}\in[-1,1]^{n}. In fact, 𝒉\bm{h} is a homeomorphism map for which it is a bijection and both the function 𝒉\bm{h} and the inverse function 𝒉1\bm{h}^{-1} are continuous. According Corollary 6.7 in [23], the function 𝒉\bm{h} maps interior points onto interior points and boundary points onto boundary points. For the domain [1,1]n[-1,1]^{n}, it’s easy to obtain its boundary by fixing a certain dimension as 1-1 or 11 while maintaining other dimensions (e.g., 1×[1,1]n1-1\times[-1,1]^{n-1} and 1×[1,1]n11\times[-1,1]^{n-1}). By mapping these facets of domain onto codomain, the boundary of the parallelotope PP can be expressed as following zonotopes.

P(i)=𝒄+𝑮(,i),𝑮i,P(n+i)=𝒄𝑮(,i),𝑮i\partial P^{(i)}=\left\langle\bm{c}+\bm{G}(\cdot,i),\bm{G}^{\langle i\rangle}\right\rangle,~{}\partial P^{(n+i)}=\left\langle\bm{c}-\bm{G}(\cdot,i),\bm{G}^{\langle i\rangle}\right\rangle

where i[1,n]i\in\mathbb{N}_{[1,n]}.

At this point, we give a proof of Theorem 3.1.

Proof

Firstly considering an nn-dimensional parallelotope P=𝒄,𝑮P=\left\langle\bm{c},\bm{G}\right\rangle, where 𝑮=(𝒈i)1in\bm{G}=(\bm{g}_{i})_{1\leq i\leq n}, we add a new generator 𝒈n+1\bm{g}_{n+1} to its generator matrix, e.g. 𝑮^=(𝑮,𝒈n+1)\hat{\bm{G}}=(\bm{G},\bm{g}_{n+1}). This operation would form a new zonotope Z^=𝒄,𝑮^\hat{Z}=\langle\bm{c},\hat{\bm{G}}\rangle. For a certain facet P(i)=𝒄+𝒈i,𝑮i\partial P^{(i)}=\left\langle\bm{c}+\bm{g}_{i},\bm{G}^{\langle i\rangle}\right\rangle of PP, the addition of 𝒈n+1\bm{g}_{n+1} may cause two cases (the two cases are also suitable for its symmetric facet P(n+i)=𝒄𝒈i,𝑮i\partial P^{(n+i)}=\left\langle\bm{c}-\bm{g}_{i},\bm{G}^{\langle i\rangle}\right\rangle):

Case 1: 𝙲𝙿(𝑮i)𝒈n+1=0\mathtt{CP}(\bm{G}^{\langle i\rangle})\cdot\bm{g}_{n+1}=0. This means that adding 𝒈n+1\bm{g}_{n+1} won’t change the position of P(i)\partial P^{(i)}, instead, it would change the shape of P(i)\partial P^{(i)} by replacing generator matrix 𝑮i\bm{G}^{\langle i\rangle} with (𝑮i,𝒈n+1)(\bm{G}^{\langle i\rangle},\bm{g}_{n+1}).

Case 2: 𝙲𝙿(𝑮i)𝒈n+10\mathtt{CP}(\bm{G}^{\langle i\rangle})\cdot\bm{g}_{n+1}\neq 0. This means that adding 𝒈n+1\bm{g}_{n+1} would change the position of P(i)\partial P^{(i)} and push it away from the center 𝒄\bm{c}. if 𝙲𝙿(𝑮i)𝒈i>0\mathtt{CP}(\bm{G}^{\langle i\rangle})\cdot\bm{g}_{i}>0, it represents that P(i)\partial P^{(i)} is on the positive direction oriented by 𝙲𝙿(𝑮i)\mathtt{CP}(\bm{G}^{\langle i\rangle}) and negative direction otherwise. Taking the situation 𝙲𝙿(𝑮i)𝒈i>0\mathtt{CP}(\bm{G}^{\langle i\rangle})\cdot\bm{g}_{i}>0 as an example, if 𝙲𝙿(𝑮i)𝒈n+1>\mathtt{CP}(\bm{G}^{\langle i\rangle})\cdot\bm{g}_{n+1}> (resp. <<) 0, P(i)\partial P^{(i)} would translate along with 𝒈n+1\bm{g}_{n+1} (resp. 𝒈n+1-\bm{g}_{n+1}) to ensure being a new facet away from the center 𝒄\bm{c}, the new facet of the new zonotope Z^\hat{Z} would be 𝒄+𝒈i+𝒈n+1,𝑮i\left\langle\bm{c}+\bm{g}_{i}+\bm{g}_{n+1},\bm{G}^{\langle i\rangle}\right\rangle (resp. 𝒄+𝒈i𝒈n+1,𝑮i\left\langle\bm{c}+\bm{g}_{i}-\bm{g}_{n+1},\bm{G}^{\langle i\rangle}\right\rangle).

Viewing zonotope Z^=𝒄,𝑮^\hat{Z}=\langle\bm{c},\hat{\bm{G}}\rangle is derived from parallelotope P^=𝒄,𝑮^i\hat{P}=\langle\bm{c},\hat{\bm{G}}^{\langle i\rangle}\rangle adding a generator 𝒈i\bm{g}_{i}, we execute the same progress as case 1 and 2 do (If 𝑮^i\hat{\bm{G}}^{\langle i\rangle} isn’t full rank, then skip), we loop all the i[1,n]i\in\mathbb{N}_{[1,n]} then all the facets of Z^\hat{Z} can be obtained.

Now we consider a general zonotope Z=𝒄¯,𝑮¯Z=\left\langle\overline{\bm{c}},\overline{\bm{G}}\right\rangle. Inspired by aforementioned progress, to obtain all the facets of ZZ, firstly we collect all the potential hyperplanes, then for each hyperplane, these generators which don’t lie in the hyperplane are chosen to make the hyperplane as far away from 𝒄¯\overline{\bm{c}} as possible, i.e. fix the direction of normal vector of the hyperplane as the positive direction, for each generator which isn’t parallel with the hyperplane, if its direction is same as the normal vector, then add it to 𝒄\bm{c}, else subtract it form 𝒄\bm{c}. Notice that for a hyperplane, there are two facets which are symmetrical to 𝒄\bm{c}, to obtain another facet, one just have to do same progress by changing the positive operation to negative operation.

The proof of Theorem 3.2:

In the sequel, we would utilize the concept of Minkowski sum, i.e., for two sets 𝒮1,𝒮2\mathcal{S}_{1},\mathcal{S}_{2}, their Minkowski sum is defined as 𝒮1+𝒮2:={s1+s2|s1𝒮1,s2𝒮2}\mathcal{S}_{1}+\mathcal{S}_{2}:=\{s_{1}+s_{2}|s_{1}\in\mathcal{S}_{1},s_{2}\in\mathcal{S}_{2}\}. For Minkowski sum of zonotopes, it has following properties:

  1. 1.

    zonotopes are closed under Minkowski sum, let Z1=𝒄1,𝑮1,Z2=𝒄2,𝑮2Z_{1}=\langle\bm{c}_{1},\bm{G}_{1}\rangle,Z_{2}=\langle\bm{c}_{2},\bm{G}_{2}\rangle, then Z1+Z2=𝒄1+𝒄2,𝑮1+𝑮2Z_{1}+Z_{2}=\langle\bm{c}_{1}+\bm{c}_{2},\bm{G}_{1}+\bm{G}_{2}\rangle;

  2. 2.

    for all zonotopes Z1,Z2,Z3Z_{1},Z_{2},Z_{3}, (Z1Z2)+Z3=(Z1+Z3)(Z2+Z3),(Z1Z2)+Z3=(Z1+Z3)(Z2+Z3)(Z_{1}\cap Z_{2})+Z_{3}=(Z_{1}+Z_{3})\cap(Z_{2}+Z_{3}),(Z_{1}\cup Z_{2})+Z_{3}=(Z_{1}+Z_{3})\cup(Z_{2}+Z_{3}).

We would slightly abuse symbols if it doesn’t lead to ambiguity in the proof. For a zonotope ZZ and a generator 𝒈\bm{g}, Z+𝒈Z+\bm{g} means that Z+𝒈,𝟎Z+\langle\bm{g},\bm{0}\rangle. Further, for a set 𝒵\mathcal{Z} containing zonotopes, 𝒵+𝒈:={Z+𝒈Z𝒵}\mathcal{Z}+\bm{g}:=\{Z+\bm{g}\mid Z\in\mathcal{Z}\}. Next we begin our proof of theorem 3.2.

Proof

Since the symmetry of the facets of ZZ, its boundary matrix 𝑩\bm{B} would have the form below,

𝑩=[0011],\bm{B}=\left[\begin{array}[]{llll}~{}~{}0&\cdots\\ ~{}~{}0&\cdots\\ \cdots&\cdots\\ -1&\cdots\\ \cdots&\cdots\\ ~{}1&\cdots\\ \cdots&\cdots\end{array}\right],

where the numbers of 1-1 in 11 of 𝑩(,j)\bm{B}(\cdot,j) are equal since the operations in Alg. 1, Line 1010 and 1212. We denote the set of facets for which the jj-th entry of the rows is 1-1 (resp. 11) as 1(j)\mathcal{F}^{(j)}_{-1} (resp. 1(j)\mathcal{F}^{(j)}_{1}). The number of facets is same for 1(j)\mathcal{F}^{(j)}_{-1} and 1(j)\mathcal{F}^{(j)}_{1} , meanwhile the symmetric facets of 1(j)\mathcal{F}^{(j)}_{-1} and 1(j)\mathcal{F}^{(j)}_{1} share the same generator matrix. We set ss to be the number of facets in 1(1)\mathcal{F}^{(1)}_{-1} and let IiI_{i} be the indicator set containing the generator indexes of a facet FiF_{i} (e.g., for zonotope Z=𝒄,(𝒈1,𝒈2,𝒈3)Z=\langle\bm{c},(\bm{g}_{1},\bm{g}_{2},\bm{g}_{3})\rangle, F1=𝒄+𝒈1,(𝒈2,𝒈3)F_{1}=\langle\bm{c}+\bm{g}_{1},(\bm{g}_{2},\bm{g}_{3})\rangle is one of its facets, then I1={2,3}I_{1}=\{2,3\}).

Next we use mathematical induction.

Base case: p=np=n, the tiling of ZZ is itself.

Inductive step: suppose the conclusion is true for pnp\geq n, then next we would prove it’s true for pn+1p\geq n+1.

for the 𝒈1\bm{g}_{1}, it connects two sets of symmetry facets 1(1)\mathcal{F}^{(1)}_{-1} and 1(1)\mathcal{F}^{(1)}_{1}, moving the facets in the set 1(1)\mathcal{F}^{(1)}_{-1} along the direction of generator 𝒈1\bm{g}_{1} with the length of 2𝒈12\bm{g}_{1} would form a new zonotope Z(1)=𝒄+𝒈1,𝑮1Z^{(1)}=\langle\bm{c}+\bm{g}_{1},\bm{G}^{\langle 1\rangle}\rangle and the moving trajectory would form a few zonotopes, i.e., 𝒫={Pi=Fi+𝒈1,𝒈1Fi1(1)}\mathcal{P}=\{P_{i}=F_{i}+\langle\bm{g}_{1},\bm{g}_{1}\rangle\mid F_{i}\in\mathcal{F}^{(1)}_{-1}\}. (The progress of one iteration of tiling can be visualized in Fig. 5.)

Firstly we would prove the zonotopes after one-step tiling don’t have overlaps.

  • 1.

    Pi,Pj𝒫,ij\forall P_{i},P_{j}\in\mathcal{P},i\neq j, PiPjP_{i}\cap P_{j} is a zonotope with rank less than or equal to n1n-1, i.e., PiPj=P_{i}^{\circ}\cap P_{j}^{\circ}=\emptyset.

    PiPj=(Fi+𝒈1,𝒈1)(Fj+𝒈1,𝒈1)=𝒈1,𝒈1+(FiFj)P_{i}\cap P_{j}=(F_{i}+\langle\bm{g}_{1},\bm{g}_{1}\rangle)\cap(F_{j}+\langle\bm{g}_{1},\bm{g}_{1}\rangle)=\langle\bm{g}_{1},\bm{g}_{1}\rangle+(F_{i}\cap F_{j}), FiFjF_{i}\cap F_{j} is a zonotope whose rank is less than or equal to n2n-2, then 𝒈1,𝒈1+(FiFj)\langle\bm{g}_{1},\bm{g}_{1}\rangle+(F_{i}\cap F_{j}) is a zonotope whose rank is less than or equal to n1n-1, thus PiPj=P_{i}^{\circ}\cap P_{j}^{\circ}=\emptyset.

  • 2.

    Pi𝒫\forall P_{i}\in\mathcal{P}, (Z(1))Pi=(Z^{(1)})^{\circ}\cap P_{i}^{\circ}=\emptyset.

    Firstly, according to Alg. 1 and Theorem 3.1, it’s easy to get the boundary of Z(1)Z^{(1)}, which is 2𝒈1+1(1)={Fi+2𝒈1Fi1(1)}2\bm{g}_{1}+\mathcal{F}^{(1)}_{-1}=\{F_{i}+2\bm{g}_{1}\mid F_{i}\in\mathcal{F}^{(1)}_{-1}\} and 1(1)\mathcal{F}^{(1)}_{1}. Fi+2𝒈1F_{i}+2\bm{g}_{1} and FiF_{i} is two facets of PiP_{i}. For a facet FF, let 𝒄(F)\bm{c}(F) and 𝑮(F)\bm{G}(F) denote the center and generator matrix of FF respectively. Further, let 𝑮^(F)\hat{\bm{G}}(F) represent the n×(n1)n\times(n-1) submatrix of FF’s generator matrix containing n1n-1 independent column vectors. For the hyperplane i={𝒙n|𝙲𝙿(𝑮^(Fi))(𝒙𝒄(Fi)2𝒈1)=0}\mathcal{H}_{i}=\left\{\bm{x}\in\mathbb{R}^{n}~{}\big{|}~{}\mathtt{CP}\left(\hat{\bm{G}}(F_{i})\right)\cdot\left(\bm{x}-\bm{c}(F_{i})-2\bm{g}_{1}\right)=0\right\} determined by Fi+2𝒈1F_{i}+2\bm{g}_{1}, it divides n\mathbb{R}^{n} into two half-spaces i+\mathcal{H}_{i}^{+} and i\mathcal{H}_{i}^{-}. Let i+\mathcal{H}_{i}^{+} be the half-space on the side pointed by the direction of 𝒈1\bm{g}_{1} and i\mathcal{H}_{i}^{-} on the opposite side (see Fig. 5), since 1(1)\mathcal{F}^{(1)}_{1} lies in i+\mathcal{H}_{i}^{+} and FiF_{i} lies in i\mathcal{H}_{i}^{-}, then Z(1)Z^{(1)} and PiP_{i} lies in i+\mathcal{H}_{i}^{+} and i\mathcal{H}_{i}^{-} respectively (recall that a zonotope is a polytope which can be viewed as the intersection of half-spaces determined by its boundary [4]).

Refer to caption
Figure 5: Illustration in the proof of Theorem 3.2.

Secondly we would prove that the union of zonotopes after one-step tiling is the zonotope ZZ, i.e., Z(1)i[1,s]Pi=ZZ^{(1)}\cup\bigcup\limits_{i\in\mathbb{N}{[1,s]}}P_{i}=Z.

Recalling that a volume of an nn-dimensional zonotope with pp generators Z=𝒄,𝑮=𝒄,(𝒈1,𝒈2,,𝒈p)Z=\langle\bm{c},\bm{G}\rangle=\langle\bm{c},(\bm{g}_{1},\bm{g}_{2},\dots,\bm{g}_{p})\rangle is

vol(Z)=2d1j1<j2<<jnp|det((𝒈j1,𝒈j2,,𝒈jn))|,\operatorname{vol}(Z)=2^{d}\sum\limits_{1\leq j_{1}<j_{2}<\cdots<j_{n}\leq p}\left|\operatorname{det}\left((\bm{g}_{j_{1}},\bm{g}_{j_{2}},\dots,\bm{g}_{j_{n}})\right)\right|,

which was discovered by [32], then

vol(Z(1))+i[1,s]vol(Pi)\displaystyle\operatorname{vol}(Z^{(1)})+\sum\limits_{i\in\mathbb{N}_{[1,s]}}\operatorname{vol}(P_{i})
=\displaystyle= 2d(2j1<j2<<jnp|det((𝒈j1,𝒈j2,,𝒈jn))|\displaystyle 2^{d}\left(\sum\limits_{2\leq j_{1}<j_{2}<\cdots<j_{n}\leq p}\left|\operatorname{det}\left((\bm{g}_{j_{1}},\bm{g}_{j_{2}},\dots,\bm{g}_{j_{n}})\right)\right|\right.
+i[1,s]2j1<j2<<jn1pj1,j2,,jn1Ii|det((𝒈1,𝒈j1,,𝒈jn1))|).\displaystyle+\left.\sum\limits_{i\in\mathbb{N}_{[1,s]}}\sum\limits_{\begin{subarray}{c}2\leq j_{1}<j_{2}<\cdots<j_{n-1}\leq p\\ j_{1},j_{2},\cdots,j_{n-1}\in I_{i}\end{subarray}}\left|\operatorname{det}\left((\bm{g}_{1},\bm{g}_{j_{1}},\dots,\bm{g}_{j_{n-1}})\right)\right|\right).

Recalling Algorithm 1 and Theorem 3.1, the matrix set 𝒢={𝑮(Fi)Fi1(1)}\mathcal{G}=\{\bm{G}(F_{i})\mid F_{i}\in\mathcal{F}^{(1)}_{-1}\} is the collection all the combination of generators of ZZ except 𝒈1\bm{g}_{1} with rank n1n-1, thus 𝒢={(𝒈1,𝑮(Fi))Fi1(1)}\mathcal{G}^{\prime}=\{(\bm{g}_{1},\bm{G}(F_{i}))\mid F_{i}\in\mathcal{F}^{(1)}_{-1}\} collects all the combination of generators of ZZ including 𝒈1\bm{g}_{1} with rank nn. In other words, if a combination of generators including 𝒈1\bm{g}_{1} can’t be found in 𝒢\mathcal{G}^{\prime} or isn’t a submatrix of matrix in 𝒢\mathcal{G}^{\prime}, then its rank must be less than nn, leading to zero determinant. Therefore, we have

i[1,s]2j1<j2<<jn1pj1,j2,,jn1Ii|det((𝒈1,𝒈j1,,𝒈jn1))|\displaystyle\sum\limits_{i\in\mathbb{N}_{[1,s]}}\sum\limits_{\begin{subarray}{c}2\leq j_{1}<j_{2}<\cdots<j_{n-1}\leq p\\ j_{1},j_{2},\cdots,j_{n-1}\in I_{i}\end{subarray}}\left|\operatorname{det}\left((\bm{g}_{1},\bm{g}_{j_{1}},\dots,\bm{g}_{j_{n-1}})\right)\right|
=\displaystyle= 2j1<j2<<jn1p|det((𝒈1,𝒈j1,,𝒈jn1))|,\displaystyle\sum\limits_{2\leq j_{1}<j_{2}<\cdots<j_{n-1}\leq p}\left|\operatorname{det}\left((\bm{g}_{1},\bm{g}_{j_{1}},\dots,\bm{g}_{j_{n-1}})\right)\right|,

thus

vol(Z(1))+i[1,s]vol(Pi)\displaystyle\operatorname{vol}(Z^{(1)})+\sum\limits_{i\in\mathbb{N}_{[1,s]}}\operatorname{vol}(P_{i})
=\displaystyle= 2d(2j1<j2<<jnp|det((𝒈j1,𝒈j2,,𝒈jn))|\displaystyle 2^{d}\left(\sum\limits_{2\leq j_{1}<j_{2}<\cdots<j_{n}\leq p}\left|\operatorname{det}\left((\bm{g}_{j_{1}},\bm{g}_{j_{2}},\dots,\bm{g}_{j_{n}})\right)\right|\right.
+2j1<j2<<jn1p|det((𝒈1,𝒈j1,,𝒈jn1))|)\displaystyle+\left.\sum\limits_{2\leq j_{1}<j_{2}<\cdots<j_{n-1}\leq p}\left|\operatorname{det}\left((\bm{g}_{1},\bm{g}_{j_{1}},\dots,\bm{g}_{j_{n-1}})\right)\right|\right)
=\displaystyle= 2d1j1<j2<<jnp|det((𝒈j1,𝒈j2,,𝒈jn))|\displaystyle 2^{d}\sum\limits_{1\leq j_{1}<j_{2}<\cdots<j_{n}\leq p}|\operatorname{det}\left((\bm{g}_{j_{1}},\bm{g}_{j_{2}},\dots,\bm{g}_{j_{n}})\right)|
=\displaystyle= vol(Z).\displaystyle\operatorname{vol}(Z).

Besides, for all 𝒙Z(1)i[1,s]Pi\bm{x}\in Z^{(1)}\cup\bigcup\limits_{i\in\mathbb{N}{[1,s]}}P_{i}, 𝒙Z\bm{x}\in Z, then Z(1)i[1,s]Pi=ZZ^{(1)}\cup\bigcup\limits_{i\in\mathbb{N}{[1,s]}}P_{i}=Z.

After one-step tiling, the boundary matrix 𝑩\bm{B} represents all the facets of Z(1)Z^{(1)}, which has p1p-1 generators, thus according to the inductive principle, the conclusion holds.

B Illustrative Examples

Example 1

Consider a 33-dimensional zonotope with 44 generators Z=𝒄,𝑮Z=\left\langle\bm{c},\bm{G}\right\rangle, where

𝒄=[442],𝑮=(𝒈1,𝒈2,𝒈3,𝒈4)=[101001100001].\bm{c}=\left[\begin{array}[]{l}4\\ 4\\ 2\end{array}\right],\bm{G}=(\bm{g}_{1},\bm{g}_{2},\bm{g}_{3},\bm{g}_{4})=\left[\begin{array}[]{llll}1&0&1&0\\ 0&1&1&0\\ 0&0&0&1\end{array}\right].

We follow the computational procedures in Alg. 1 to obtain all the facets of the zonotope ZZ, i.e., Z\partial Z, which is detailed below.

  1. 1.

    Find all the n×(n1)n\times(n-1) submatrices of 𝑮\bm{G} with rank n1n-1, :={𝑩1,𝑩2,𝑩3,𝑩4,𝑩5,𝑩6}={(𝒈1,𝒈2),(𝒈1,𝒈3),(𝒈1,𝒈4),(𝒈2,𝒈3),(𝒈2,𝒈4),(𝒈3,𝒈4)}\mathcal{B}:=\{\bm{B}_{1},\bm{B}_{2},\bm{B}_{3},\bm{B}_{4},\\ \bm{B}_{5},\bm{B}_{6}\}=\left\{(\bm{g}_{1},\bm{g}_{2}),(\bm{g}_{1},\bm{g}_{3}),(\bm{g}_{1},\bm{g}_{4}),(\bm{g}_{2},\bm{g}_{3}),(\bm{g}_{2},\bm{g}_{4}),(\bm{g}_{3},\bm{g}_{4})\right\}.

  2. 2.

    𝑩:=𝑩1=(𝒈1,𝒈2)\bm{B}:=\bm{B}_{1}=(\bm{g}_{1},\bm{g}_{2}); 𝒄b(1)=𝒄b(2):=𝒄\bm{c}_{b}^{(1)}=\bm{c}_{b}^{(2)}:=\bm{c}; 𝒗:=𝙲𝙿(𝑩1)=(0,0,1)\bm{v}:=\mathtt{CP}(\bm{B}_{1})=(0,0,1)^{\intercal}.

    • 2a.

      For 𝒈3=(1,1,0)\bm{g}_{3}=(1,1,0)^{\intercal}, due to 𝒗𝒈3=0\bm{v}\cdot\bm{g}_{3}=0, then 𝑩:=(𝑩,𝒈3)=(𝒈1,𝒈2,𝒈3)\bm{B}:=(\bm{B},\bm{g}_{3})=(\bm{g}_{1},\bm{g}_{2},\bm{g}_{3}).

    • 2b.

      For 𝒈4=(0,0,1)\bm{g}_{4}=(0,0,1)^{\intercal}, due to 𝒗𝒈4=1>0\bm{v}\cdot\bm{g}_{4}=1>0, then 𝒄b(1):=𝒄b(1)𝒈4=(4,4,1)\bm{c}_{b}^{(1)}:=\bm{c}_{b}^{(1)}-\bm{g}_{4}=(4,4,1)^{\intercal} and 𝒄b(2):=𝒄b(2)+𝒈4=(4,4,3)\bm{c}_{b}^{(2)}:=\bm{c}_{b}^{(2)}+\bm{g}_{4}=(4,4,3)^{\intercal}.

  3. 3.

    Now we have two facets Zb(1)=𝒄b(1),𝑩Z_{b}^{(1)}=\left\langle\bm{c}_{b}^{(1)},\bm{B}\right\rangle and Zb(2)=𝒄b(2),𝑩\partial Z_{b}^{(2)}=\left\langle\bm{c}_{b}^{(2)},\bm{B}\right\rangle, put them into boundary set Z\partial Z.

  4. 4.

    Remove 𝑩1,𝑩2,𝑩4\bm{B}_{1},\bm{B}_{2},\bm{B}_{4} from \mathcal{B} since 𝑩1,𝑩2,𝑩4\bm{B}_{1},\bm{B}_{2},\bm{B}_{4} are the submatrices of 𝑩\bm{B}, now :={𝑩3,𝑩5,𝑩6}\mathcal{B}:=\{\bm{B}_{3},\bm{B}_{5},\bm{B}_{6}\}.

  5. 5.

    Repeat (2)(2)-(4)(4) until =\mathcal{B}=\emptyset, finally all eight facets of zonotope ZZ is obtained.

Example 2

Consider the zonotope ZZ in Example 1, which has eight facets. According to Alg. 1, we can obtain its boundary matrix:

[00010001011001101010101011001100]\left[\begin{array}[]{llll}~{}~{}0&~{}~{}0&~{}~{}0&-1\\ ~{}~{}0&~{}~{}0&~{}~{}0&~{}~{}1\\ ~{}~{}0&~{}~{}1&~{}~{}1&~{}~{}0\\ ~{}~{}0&-1&-1&~{}~{}0\\ -1&~{}~{}0&-1&~{}~{}0\\ ~{}~{}1&~{}~{}0&~{}~{}1&~{}~{}0\\ -1&~{}~{}1&~{}~{}0&~{}~{}0\\ ~{}~{}1&-1&~{}~{}0&~{}~{}0\end{array}\right]

Take the first row as an instance, the facet can be obtained as follows:

Z1=[442][001],[101011000]=[441],[101011000].\partial Z_{1}=\left\langle\left[\begin{array}[]{l}4\\ 4\\ 2\end{array}\right]-\left[\begin{array}[]{l}0\\ 0\\ 1\end{array}\right],\left[\begin{array}[]{lll}1&0&1\\ 0&1&1\\ 0&0&0\end{array}\right]\right\rangle=\left\langle\left[\begin{array}[]{l}4\\ 4\\ 1\end{array}\right],\left[\begin{array}[]{lll}1&0&1\\ 0&1&1\\ 0&0&0\end{array}\right]\right\rangle.
Example 3

Consider the zonotope ZZ in Example 1 again. Its boundary matrix 𝑩\bm{B} is shown in Example 2.

For the rows whose the 11-th entry equaled with 0, delete them from boundary matrix 𝑩\bm{B}, Then

𝑩=[1010101011001100]\bm{B}=\left[\begin{array}[]{llll}-1&0&-1&0\\ 1&0&1&0\\ -1&1&0&0\\ 1&-1&0&0\end{array}\right]

For the rows whose the 11-th entry equaled with 1-1, add them to tiling matrix 𝑻\bm{T}, change the value of the 11-th entry to 0 in tiling matrix 𝑻\bm{T} and and change the value of the 11-th entry to 11 in boundary matrix 𝑩\bm{B}. i.e.,

𝑻=[00100100],𝑩=[1010101011001100]\bm{T}=\left[\begin{array}[]{llll}0&0&-1&0\\ 0&1&0&0\\ \end{array}\right],\bm{B}=\left[\begin{array}[]{llll}1&0&-1&0\\ 1&0&1&0\\ 1&1&0&0\\ 1&-1&0&0\end{array}\right]

Add the last row of boundary matrix 𝑩\bm{B} to tiling matrix 𝑻\bm{T} and change the value of its ii-th entry (i=2,3,4i=2,3,4) to 0 in tiling matrix 𝑻\bm{T}. At this point, we have

𝑻=[001001001000]\bm{T}=\left[\begin{array}[]{llll}0&0&-1&0\\ 0&1&0&0\\ 1&0&0&0\end{array}\right]

Obtain sub-zonotopes form each row of tiling matrix 𝑻\bm{T} with the operations in Def. 5, i.e.,

Z1=[332],[100010001],Z2=[452],[110010001],Z3=[542],[010110001].Z_{1}=\left\langle\left[\begin{array}[]{l}3\\ 3\\ 2\end{array}\right],\left[\begin{array}[]{lll}1&0&0\\ 0&1&0\\ 0&0&1\end{array}\right]\right\rangle,Z_{2}=\left\langle\left[\begin{array}[]{l}4\\ 5\\ 2\end{array}\right],\left[\begin{array}[]{lll}1&1&0\\ 0&1&0\\ 0&0&1\end{array}\right]\right\rangle,Z_{3}=\left\langle\left[\begin{array}[]{l}5\\ 4\\ 2\end{array}\right],\left[\begin{array}[]{lll}0&1&0\\ 1&1&0\\ 0&0&1\end{array}\right]\right\rangle.

The tiling of ZZ can be visualized in Fig. 3.

Example 4

Given Ok+1(1)=[10],[1.2000.2]\partial O_{k+1}^{(1)}=\left\langle\begin{bmatrix}1\\ 0\end{bmatrix},\begin{bmatrix}1.2&0\\ 0&0.2\end{bmatrix}\right\rangle and O(h;Uk)=[11],[1001]O(h;U_{k})=\left\langle\begin{bmatrix}1\\ 1\end{bmatrix},\begin{bmatrix}1&0\\ 0&1\end{bmatrix}\right\rangle, we compute inner-approximation candidate Uk+1U_{k+1}^{\prime} using unsorted and sorted order respectively. In this example we set ϵ=0.01\epsilon=0.01 for better illustration, the smallest ϵ\epsilon equal to LP numerical accurate is suggested in practice.

Unsorted case:

  1. 1.

    Solving LP (2) and (3) for 𝒈1=[1,0]\bm{g}_{1}=[1,0]^{\intercal}, we get its domain [α1¯,α1¯]=[1,1][\underline{\alpha_{1}},\overline{\alpha_{1}}]=[-1,1], thus 𝒈1\bm{g}_{1} is deleted from generator matrix 𝑮u\bm{G}_{u}.

  2. 2.

    Solving LP (2) and (3) for 𝒈2=[0,1]\bm{g}_{2}=[0,1]^{\intercal}, we get its domain [α1¯,α1¯]=[1,0.8][\underline{\alpha_{1}},\overline{\alpha_{1}}]=[-1,-0.8], thus [γ¯,γ¯]=[0.79,1][\underline{\gamma},\overline{\gamma}]=[-0.79,1]. Update 𝒄u=𝒄u+0.5(γ¯+γ¯)𝒈2=[1,1.105]\bm{c}_{u}=\bm{c}_{u}+0.5(\overline{\gamma}+\underline{\gamma})\bm{g}_{2}=[1,1.105]^{\intercal} and 𝒈2=0.5(γ¯γ¯)𝒈2=[0,0.895]\bm{g}_{2}=0.5(\overline{\gamma}-\underline{\gamma})\bm{g}_{2}=[0,0.895]^{\intercal}.

  3. 3.

    Finally, we get inner-approximation candidate Uk+1=[11.105],[00.895]U_{k+1}^{\prime}=\left\langle\begin{bmatrix}1\\ 1.105\end{bmatrix},\begin{bmatrix}0\\ 0.895\end{bmatrix}\right\rangle.

Sorted case:

  1. 1.

    For Ok+1(1)\partial O_{k+1}^{(1)}, its top n1=1n-1=1 generator by norm is [1.2,0][1.2,0]^{\intercal}, we compute its cross product of approximating hyperplane 𝙰𝚃(Ok+1(1))=[0,1.2]\mathtt{AT}(\partial O_{k+1}^{(1)})=[0,-1.2]^{\intercal}.

  2. 2.

    Sort {𝒈1,𝒈2}\{\bm{g}_{1},\bm{g}_{2}\} according to 𝒈l𝙰𝚃(Ok+1(i))𝒈l𝙰𝚃(Ok+1(i))\frac{\|\bm{g}_{l}\cdot\mathtt{AT}\left(\partial O_{k+1}^{(i)}\right)\|}{\|\bm{g}_{l}\|\|\mathtt{AT}\left(\partial O_{k+1}^{(i)}\right)\|} from large to small, we get the new order of generators {𝒈2,𝒈1}={[0,1],[1,0]}\{\bm{g}_{2},\bm{g}_{1}\}=\{[0,1]^{\intercal},[1,0]^{\intercal}\}.

  3. 3.

    Solving LP (2) and (3) for 𝒈2=[0,1]\bm{g}_{2}=[0,1]^{\intercal}, we get its domain [α1¯,α1¯]=[1,0.8][\underline{\alpha_{1}},\overline{\alpha_{1}}]=[-1,-0.8], thus [γ¯,γ¯]=[0.79,1][\underline{\gamma},\overline{\gamma}]=[-0.79,1]. Update 𝒄u=𝒄u+0.5(γ¯+γ¯)𝒈2=[1,1.105]\bm{c}_{u}=\bm{c}_{u}+0.5(\overline{\gamma}+\underline{\gamma})\bm{g}_{2}=[1,1.105]^{\intercal} and 𝒈2=0.5(γ¯γ¯)𝒈2=[0,0.895]\bm{g}_{2}=0.5(\overline{\gamma}-\underline{\gamma})\bm{g}_{2}=[0,0.895]^{\intercal}.

  4. 4.

    Solving LP (2) and (3) for 𝒈1=[1,0]\bm{g}_{1}=[1,0]^{\intercal}, neither of them have feasible solution, thus end this process.

  5. 5.

    Finally, we get inner-approximation candidate Uk+1=[11.105],[010.8950]U_{k+1}^{\prime}=\left\langle\begin{bmatrix}1\\ 1.105\end{bmatrix},\begin{bmatrix}0&1\\ 0.895&0\end{bmatrix}\right\rangle.

The results of sorted and unsorted cases are visualized in figure 6(b) and figure 6(c) respectively. In the unsorted case Uk+1U_{k+1}^{\prime} is reduced to a 11-dimensional zonotope while in the sorted case Uk+1U_{k+1}^{\prime} is 22-dimensional and more bigger.

Refer to caption
((a)) Ok+1(1)\partial O_{k+1}^{(1)} and initial Uk+1U_{k+1}^{\prime}
Refer to caption
((b)) Ok+1(1)\partial O_{k+1}^{(1)} and final Uk+1U_{k+1}^{\prime} in the unsorted case
Refer to caption
((c)) Ok+1(1)\partial O_{k+1}^{(1)} and final Uk+1U_{k+1}^{\prime} in the sorted case
Figure 6: Illustration of Example 4

C Supplemental Figures

Refer to caption
((a)) ElectroOsc T=2.5T=2.5 γmin:\gamma_{min}: 0.880.88, 0.570.57
Refer to caption
((b)) Rossler T=1.5T=1.5 γmin:\gamma_{min}: 0.760.76, 0.780.78
Refer to caption
((c)) Lotka-Volterra T=1T=1 γmin:\gamma_{min}: 0.650.65, 0.340.34
Refer to caption
((d)) Tank6 T=80T=80 γmin:\gamma_{min}: 0.820.82, 0.630.63
Refer to caption
((e)) BiologicalSystemI T=0.2T=0.2 γmin:\gamma_{min}: 0.960.96, 0.900.90
Refer to caption
((f)) BiologicalSystemII T=0.2T=0.2 γmin:\gamma_{min}: 0.950.95, 0.880.88
Refer to caption
((g)) Tank12 T=60T=60 γmin:\gamma_{min}: 0.770.77, 0.560.56
Figure 7: Visualization of the inner-approximation computed by our approach and CORA in Table 3. Blue curve: the boundary of inner-approximation computed by our approach. Red curve: the boundary of inner-approximation computed by CORA. Green curve: the boundary of outer-approximation computed by CORA.
Refer to caption
((a)) ElectroOsc T=3T=3 γmin:\gamma_{min}: 0.900.90
Refer to caption
((b)) Rossler T=2.5T=2.5 γmin:\gamma_{min}: 0.600.60
Refer to caption
((c)) Lotka-Volterra T=1.5T=1.5 γmin:\gamma_{min}: 0.620.62
Refer to caption
((d)) Tank6 T=120T=120 γmin:\gamma_{min}: 0.650.65
Refer to caption
((e)) BiologicalSystemI T=1.3T=1.3 γmin:\gamma_{min}: 0.410.41
Refer to caption
((f)) BiologicalSystemII T=0.375T=0.375 γmin:\gamma_{min}: 0.660.66
Refer to caption
((g)) Tank12 T=100T=100 γmin:\gamma_{min}: 0.490.49
Figure 8: Visualization of the inner-approximation computed by our approach in Table 4, for these cases CORA fails to compute inner-approximation. Blue curve: the boundary of inner-approximation computed by our approach. Green curve: the boundary of outer-approximation computed by CORA.
Refer to caption
((a)) ElectroOsc T=1.5T=1.5 γmin:\gamma_{min}: 0.920.92, 0.430.43
Refer to caption
((b)) Rossler T=1T=1 γmin:\gamma_{min}: 0.590.59, 0.530.53
Refer to caption
((c)) Lotka-Volterra T=0.4T=0.4 γmin:\gamma_{min}: 0.710.71, 0.380.38
Refer to caption
((d)) Tank6 T=80T=80 γmin:\gamma_{min}: 0.600.60, 0.130.13
Refer to caption
((e)) BiologicalSystemI T=0.5T=0.5 γmin:\gamma_{min}: 0.620.62, 0.380.38
Refer to caption
((f)) BiologicalSystemII T=0.26T=0.26 γmin:\gamma_{min}: 0.650.65, 0.320.32
Refer to caption
((g)) Tank12 T=40T=40 γmin:\gamma_{min}: 0.730.73, 0.410.41
Figure 9: Visualization of the inner-approximation computed by our approach and CORA in Table 5. Blue curve: the boundary of inner-approximation computed by our approach. Red curve: the boundary of inner-approximation computed by CORA. Green curve: the boundary of outer-approximation computed by CORA.
Refer to caption
((a)) ElectroOsc T=2T=2 γmin:\gamma_{min}: 0.840.84
Refer to caption
((b)) Rossler T=1.5T=1.5 γmin:\gamma_{min}: 0.580.58
Refer to caption
((c)) Lotka-Volterra T=1T=1 γmin:\gamma_{min}: 0.520.52
Refer to caption
((d)) Tank6 T=100T=100 γmin:\gamma_{min}: 0.530.53
Refer to caption
((e)) BiologicalSystemI T=0.7T=0.7 γmin:\gamma_{min}: 0.410.41
Refer to caption
((f)) BiologicalSystemII T=0.28T=0.28 γmin:\gamma_{min}: 0.550.55
Refer to caption
((g)) Tank12 T=60T=60 γmin:\gamma_{min}: 0.540.54
Figure 10: Visualization of the inner-approximation computed by our approach in Table 5, for these cases CORA fails to compute inner-approximation. Blue curve: the boundary of inner-approximation computed by our approach. Green curve: the boundary of outer-approximation computed by CORA.