12.07.2015 Views

Polytopic Computations in Constrained Optimal Control

Polytopic Computations in Constrained Optimal Control

Polytopic Computations in Constrained Optimal Control

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ISSN 0005-1144ATKAFF 50(3–4), 119–134(2009)Mato Baotić<strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>UDKIFAC 681.513.525.5;2.8.1Orig<strong>in</strong>al scientific paperIn the last decade a lot of research has focused on the explicit solution of optimal and robust control problemsfor the class of constra<strong>in</strong>ed discrete-time systems. Many newly developed control algorithms for such controlproblems <strong>in</strong>ternally use operations on polytopic sets. We review basic polytopic manipulations and analyze them<strong>in</strong> the context of the computational effort.We especially consider the so-called regiondiff problem where the set difference between a polyhedron andunion of polyhedra needs to be computed. Regiondiff problem and related polycover problem – check<strong>in</strong>g if apolytope is covered by the union of other polytopes – are utilized very often <strong>in</strong> derivation of the explicit solutionsto the constra<strong>in</strong>ed f<strong>in</strong>ite time optimal control problems for piecewise aff<strong>in</strong>e systems. Similar observation holds forthe computation of the (positive) controlled <strong>in</strong>variant sets, <strong>in</strong>f<strong>in</strong>ite time optimal control solution and/or controllerswith reduced complexity for piecewise aff<strong>in</strong>e systems.We describe an <strong>in</strong>-place depth-first exploration algorithm that solves the regiondiff problem <strong>in</strong> an efficient manner.We derive strict upper bound for the computational complexity of the described algorithm. In extensivetest<strong>in</strong>g we show that our algorithm is superior to the mixed <strong>in</strong>teger l<strong>in</strong>ear programm<strong>in</strong>g approach when solv<strong>in</strong>g thepolycover problem.Key words: Polytope, Set difference, Set cover, Constra<strong>in</strong>ed optimal control, Discrete-time systemsOperacije nad politopskim skupovima kod optimalnog upravljanja sustava s ograničenjima. U posljednjihdesetak god<strong>in</strong>a znatna istraživačka aktivnost usmjerena je na pronalaženje eksplicitnih rješenja optimalnogi robusnog upravljanja za klasu vremenski diskretnih sustava s ograničenjima. Brojni razvijeni algoritmi <strong>in</strong>ternokoriste operacije nad politopskim skupovima. U ovom radu analiziramo osnovne operacije nad politopskimskupovima sa stajališta njihove računske kompleksnosti.Naročita pozornost dana je takozvanom regiondiff problemu, odnosno problemu proračuna razlike poliedarskogskupa i unije poliedara. Isto tako je analiziran i srodni polycover problem – provjera je li poliedarski skup upotpunosti prekriven unijom poliedara. Oba ova problema često se sreću pri konstruiranju ekplicitnih rješenja optimalnogupravljanja po dijelovima af<strong>in</strong>ih sustava uz konačan horizont predikcije, kao i pri proračunu pozitivnih<strong>in</strong>varijantnih skupova, optimalnog upravljanja uz beskonačan horizont predikcije i/ili proračunu regulatora smanjenekompleksnosti za po dijelovima af<strong>in</strong>e sustave.Razvijen je efikasan algoritam za rješenje regiondiff problema zasnovan na dub<strong>in</strong>skom pretraživanju stablastestrukture problema. Izvedena je teoretska gornja ograda za kompleksnost dobivenog algoritma, i pokazano je zaštoje takva ograda konzervartivna u praksi. Na nizu simulacija pokazana je računsku superiornost razvijenog algoritamza polycover problem u odnosu na pristup zasnovan na rješavanju mješovitog cjelobrojnog programa.Ključne riječi: politopski skupovi, razlika skupova, pokrivenost skupa, optimalno upravljanje sustava s ograničenjima,vremenski diskretni sustavi1 INTRODUCTIONSet-theoretic methods for analysis and design of controlsystems have a long history s<strong>in</strong>ce the first contributionstrace back to the early 70s (cf. [1–5]). The theorywas almost abandoned once it became clear that, althoughthe techniques are appropriate to solve many theoreticaland practical problems, the complexity of the required algorithmswas not compatible with the computer technologyof the time. In recent years, the theory is receiv<strong>in</strong>ga renewed <strong>in</strong>terest due the current computer performanceswhich are suitable to face non-trivial problems [5].In the last decade a lot of research has focused on thesolution of optimal and robust control problems for theclass of discrete-time constra<strong>in</strong>ed l<strong>in</strong>ear systems [6–11].Furthermore many algorithms have been extended to themore general class of so-called PieceWise Aff<strong>in</strong>e (PWA)systems [12–15].AUTOMATIKA 50(2009) 3–4, 119–134 119


<strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>M. BaotićMotivation for this paper is the computation of the explicitstate-feedback optimal controllers. The term “explicit”means that such design yields the optimal controller<strong>in</strong> a closed form, i.e. as an explicit function of the systemstates [6]. Constra<strong>in</strong>ed optimal and/or robust controlmethods ensure systematic design of high-quality controlsystems for demand<strong>in</strong>g applications. The optimal controlsystems satisfies prescribed constra<strong>in</strong>ts while achiev<strong>in</strong>gthe performance that is optimal with respect to the designobjective. Robustly controlled system can cope withthe measurement/modell<strong>in</strong>g uncerta<strong>in</strong>ty i.e. it can achievedesired goal while be<strong>in</strong>g exposed to the adverse effects ofthe environment. The computation of the optimal or robustcontroller for a general constra<strong>in</strong>ed non-l<strong>in</strong>ear systemis a very difficult problem. Consequently, with theexist<strong>in</strong>g computational capabilities, the solution to the optimalcontrol problem is tractable for a limited class of systems/constra<strong>in</strong>ts.Several optimal control formulations may be used <strong>in</strong> explicitcontroller design. The most common formulationsare the Constra<strong>in</strong>ed F<strong>in</strong>ite Time <strong>Optimal</strong> <strong>Control</strong> (CFTOC)and the Constra<strong>in</strong>ed Time <strong>Optimal</strong> <strong>Control</strong> (CTOC). Theperformance objective of the CFTOC is the sum over af<strong>in</strong>ite prediction horizon of piecewise l<strong>in</strong>ear or quadraticfunctions of the control <strong>in</strong>puts and (predicted values of)system states. An attractive property of the CFTOC problemis the fact that the optimizer, i.e. the optimal control<strong>in</strong>put, is a piecewise aff<strong>in</strong>e function of the (current) systemstates [6,13]. In the CTOC problem formulation the goal isto f<strong>in</strong>d the control <strong>in</strong>puts that <strong>in</strong> a m<strong>in</strong>imal number of timesteps move the (current) system states <strong>in</strong>to a controlled <strong>in</strong>variantset around the orig<strong>in</strong>. The computation of explicitcontroller for the CTOC problem can be solved by manipulationsof polytopes, and solution can be stored <strong>in</strong> a formof a PWA function of the current system states [14]. BothCFTOC and CTOC methodology rely on availability of avalid discrete-time model of the system. In practice thismeans that we need a systematic procedure for discretetimePWA model identification of nonl<strong>in</strong>ear process [15].Almost all developed CFTOC and CTOC algorithms <strong>in</strong>their core use some type of operations on polytopes andunions of polytopes. Furthermore, many of them rely onextensive computation of set difference between polytopeand union of polytopes [16]. In this paper we review basicpolytopic manipulations and analyze them <strong>in</strong> the contextof the computational effort. We derive efficient algorithmsfor solv<strong>in</strong>g two specific problems that emerge very oftenwhen deriv<strong>in</strong>g the explicit solution to the constra<strong>in</strong>ed optimalcontrol problem for PWA systems: (i) regiondiff problem– computation of the set difference between a polyhedronand union of polyhedra; (ii) polycover problem –check<strong>in</strong>g if a polytope is covered by the union of otherpolytopes.2 NOTATION AND DEFINITIONSÆis the set of positive <strong>in</strong>tegers,Êm×n , with m, n ∈Æ,is the space of m by n real matrices,Ên is the space of n-dimensional real column vectors, ∅ denotes the empty set,andÆ1:m is the shorthand notation for the set {1, . . . , m}.The symbol ’:=’ denotes that the left-hand side is def<strong>in</strong>edby the right-hand side, and ’=:’ is used for the reverse logic(e.g.,Æ1:m := {1, . . . , m}). Let r ∈Ên , R ∈Êm×n , i ∈Æ1:m, I ⊆Æ1:m, then R (i) denotes the i-th row of R; R (I)denotes the matrix formed from the rows of R <strong>in</strong>dexed byI; R T denotes the matrix transpose of R; ‖ · ‖ denotesthe Euclidean vector norm, i.e., ‖r‖ := √ r T r, and card(·)denotes card<strong>in</strong>ality of the set (e.g. card(Æ1:m) = m).Throughout the paper all vector <strong>in</strong>equalities are consideredcomponent-wise (e.g., a ≤ b, with a, b ∈Êm , isequivalent to a (i) ≤ b (i) , ∀i ∈Æ1:m). As a general rulevectors and matrices are denoted with italic letters (e.g.,a, b, R, . . .) and sets are denoted with the upper case calligraphicletters (e.g., I, Q, . . .).We use the shorthand notation {Q i } NQi=1for a collectionof sets, i.e., {Q i } NQi=1 := {Q 1, Q 2 , . . . , Q NQ }. Note thatfor Q = {Q i } NQi=1 we have card(Q) = N Q.Def<strong>in</strong>ition 1 (L<strong>in</strong>ear Program) A l<strong>in</strong>ear program (LP) isa convex optimization problem that can be expressed <strong>in</strong> theformm<strong>in</strong>xc T x (LP)subj. to Gx ≤ g,where x ∈Ên is the optimization variable, and matricesc ∈Ên , G ∈Êm×n , g ∈Êm are given problemparameters.□Theoretically every LP (with rational parameters) issolvable <strong>in</strong> polynomial time by both the ellipsoid methodof Khachiyan [17, 18] and various <strong>in</strong>terior po<strong>in</strong>t methods[19, 20]. A practical algorithm to solve an LP with nvariables and m constra<strong>in</strong>ts requires roughly O(n 3 m 0.5 +n 2 m 1.5 ) operations [21]. In this paper the computationalexpense of a s<strong>in</strong>gle LP has similar mean<strong>in</strong>g like s<strong>in</strong>gle additionor multiplication have <strong>in</strong> algebraic computations. Inmany <strong>in</strong>stances we will express complexity of algorithms<strong>in</strong> terms of the number of LPs one needs to solve, thusestablish<strong>in</strong>g the basis for relative comparison between differentalgorithms. Henceforth with lp(n, m) we denote thecomplexity of a s<strong>in</strong>gle LP with n variables and m constra<strong>in</strong>ts.Most of the follow<strong>in</strong>g def<strong>in</strong>itions are standard. For additionaldetails the reader is referred to [22, 23].120 AUTOMATIKA 50(2009) 3–4, 119–134


M. Baotić <strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>Def<strong>in</strong>ition 2 A hyperplane <strong>in</strong>Ên is a set of the form{x ∈Ên | a T x = b},where a ∈Ên , b ∈Ê, ‖a‖ > 0.Def<strong>in</strong>ition 3 A half-space <strong>in</strong>Ên is a set of the formH = {x ∈Ên | a T x ≤ b},where a ∈Ên , b ∈Ê, ‖a‖ > 0.Def<strong>in</strong>ition 4 (Polyhedron and polytope) A convex setP = {x ∈Ên | P x ≤ p}, (1)with P ∈Ên p×n , p ∈Ên p, n p < ∞, is called polyhedron.Bounded polyhedron is called polytope. The vector<strong>in</strong>equality <strong>in</strong> (1) is considered component-wise. □We say that a polytope P = {x ∈Ên | P x ≤ p}is full-dimensional if it is possible to fit a non-empty n-dimensional ball <strong>in</strong> P, i.e.,where∃x 0 ∈Ên , ǫ > 0 : B(x 0 , ǫ) ⊂ P, (2)B(x 0 , ǫ) := {x ∈Ên | ‖x − x 0 ‖ ≤ ǫ}. (3)Equivalently, polytope P is full-dimensional if∃x 0 ∈Ên , ǫ > 0 : ‖δ‖ ≤ ǫ ⇒ P (x 0 + δ) ≤ p. (4)Otherwise, we say that polytope P is lower-dimensional.A polytope P is referred to as empty if∄x ∈Ên : P x ≤ p. (5)Furthermore, if ‖P (i) ‖ = 1, i = 1, . . . , n p , we say that thepolytope P is normalized. One of the fundamental propertiesof a polytope is that it can be described <strong>in</strong> half-spacerepresentation (1) or <strong>in</strong> vertex representation (cf. [22]), asgiven below,P = {x ∈Ên | x =v P∑i=1α i V Pi , 0 ≤ α i ≤ 1,v P∑i=1□□α i = 1},where ViP ∈Ên denotes the i-th vertex of P, and v P is thetotal number of vertices of P.We will henceforth refer to the half-space representation(1) and vertex representation (6) as H- and V-representation respectively (see Fig. 1).(6)Def<strong>in</strong>ition 5 (Face) A l<strong>in</strong>ear <strong>in</strong>equality a T x ≤ b is calledvalid for a polyhedron P if a T x ≤ b holds for all x ∈ P.A subset of a polyhedron is called a face of P if it can berepresented asF = P ∩ {x ∈Ên | a T x = b}, (7)for some valid <strong>in</strong>equality a T x ≤ b. The faces of polyhedronP of dimension 0, 1, (n − 2) and (n − 1) are calledvertices, edges, ridges and facets, respectively. □We see that a set F ⊆ P is called a face of P if it is either ∅,P itself or the <strong>in</strong>tersection of P with a hyperplane derivedfrom a valid <strong>in</strong>equality. An empty set ∅ is a face of everypolyhedron and by convention it has dimension −1.Accord<strong>in</strong>g to our def<strong>in</strong>ition every polytope represents aconvex, compact (i.e. bounded and closed) set. We willsee later that polytopes – as simple objects as they are –play an <strong>in</strong>strumental role <strong>in</strong> the derivation of optimal controlstrategies for constra<strong>in</strong>ed l<strong>in</strong>ear and piecewise aff<strong>in</strong>esystems. Very often, however, we also encounter sets thatare disconnected or non-convex but can be represented as aunion of f<strong>in</strong>ite number of polytopes. Therefore, it is usefulto def<strong>in</strong>e the follow<strong>in</strong>g mathematical concept.Def<strong>in</strong>ition 6 A polytopal complex C is a f<strong>in</strong>ite collectionof polytopes <strong>in</strong>Ên such that• the empty set is <strong>in</strong> C• if P ∈ C, then all the faces of P are also <strong>in</strong> C,• the <strong>in</strong>tersection P ∩ Q of two polytopes P, Q ∈ C isa face both of P and Q.□Example 1 Here are several polytopal complexes <strong>in</strong>Ê1 :{∅, 0, 2, [0, 2]}, {∅, 0, 2, 4, [0, 2]}. Contrary to those,the follow<strong>in</strong>g sets are not polytopal complexes <strong>in</strong>Ê1 :{∅, 0, [0, 2]} – because of a miss<strong>in</strong>g polytope {2}, and{∅, −2, 0, 2, [−2, 0], [−2, 2], [0, 2]} – because <strong>in</strong>tersectionof two polytopes [−2, 0] and [−2, 2] is not a face of [−2, 2].□Characterization of a polytopal complex is quite expensive.For every polytope <strong>in</strong> the complex we need to computeall the faces (i.e. lower-dimensional polytopes). S<strong>in</strong>cewe usually work only with full-dimensional polytopes (cf.Remark 1) it is reasonable to <strong>in</strong>troduce a more practicalconcept.Def<strong>in</strong>ition 7 (P-collection) A P-collection C is a f<strong>in</strong>ite collectionof full-dimensional polytopes <strong>in</strong>Ên , i.e.,C = {C i } NCi=1 , (8)where N C = card(C) < ∞, C i := {x ∈Ên | C i x ≤ c i },C i full-dimensional, i = 1, . . . , N C .□AUTOMATIKA 50(2009) 3–4, 119–134 121


<strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>M. Baotić1098765x 2P432100 1 2 3 4 5 6 7 8 9 10x 11098765x 2P432100 1 2 3 4 5 6 7 8 9 10x 1(a) H-representation of a polytope <strong>in</strong>Ê2 . The hyperplanes{x | P (i) x = p (i) }, i = 1, . . . , 5, are depicted with dashed l<strong>in</strong>es(b) V-representation of a polytope <strong>in</strong>Ê2 .1, . . . , 5, are depicted with circlesThe vertices V Pi , i =Fig. 1. Illustration of a polytope <strong>in</strong> H-representation and V- representationDef<strong>in</strong>ition 8 (Underly<strong>in</strong>g Set) The underly<strong>in</strong>g set of a P-collection C = {C i } NCi=1 is the po<strong>in</strong>t set <strong>in</strong>ÊnC :=N⋃Ci=1C i . (9)Example 2 A collection R = {[−2, −1], [0, 2], [2, 4]} is aP-collection <strong>in</strong>Ê1 with the underly<strong>in</strong>g set R = [−2, −1] ∪[0, 4]. As another example, R = {[−2, 0], [−1, 1], [0, 2]}is a P-collection <strong>in</strong>Ê1 with underly<strong>in</strong>g set R = [−2, 2].Clearly, polytopes that def<strong>in</strong>e P-collection can overlap,while the underly<strong>in</strong>g sets can be disconnected and nonconvex.□Usually it is clear from the context if we are talk<strong>in</strong>gabout the P-collection or we are referr<strong>in</strong>g to the underly<strong>in</strong>gset of a P-collection, <strong>in</strong> which case, for simplicity, weuse the same notation for both.Def<strong>in</strong>ition 9 (Partition) A collection of sets {R i } NRi=1 is apartition of a set P if: (i) P = ∪ NRi=1 R i, and (ii) R i ∩R j =∅, ∀i ≠ j, with i, j ∈ {1, . . . , N R }. □Def<strong>in</strong>ition 10 (Polyhedral Partition) A collection of sets{R i } NRi=1 is a polyhedral partition of a set P if {R i} NRi=1is a partition of P and the sets ¯R i are polyhedra, wherei = 1, . . . , N R , and ¯R i denotes the closure of R i . □3 OPERATIONS ON POLYTOPESWe will now def<strong>in</strong>e some basic operations and functionson polytopes. Note that although we focus on polytopes□and polytopic objects most of the operations described hereare directly (or with m<strong>in</strong>or modifications) applicable topolyhedral objects. Additional details on polytope computationcan be found <strong>in</strong> [22, 23]. All operations and functionsdescribed <strong>in</strong> this section are conta<strong>in</strong>ed <strong>in</strong> the MPTtoolbox [24].3.1 M<strong>in</strong>imal RepresentationWe say that a polytope P ⊂Ên , P = {x ∈Ên | P x ≤p} is <strong>in</strong> a m<strong>in</strong>imal representation if the removal of any row<strong>in</strong> P x ≤ p would change it (i.e., there are no redundanthalf-spaces). The computation of m<strong>in</strong>imal representationof polytopes is discussed <strong>in</strong> [25] and generally requiressolution of one LP for each half-space def<strong>in</strong><strong>in</strong>g the nonm<strong>in</strong>imalrepresentation of P. We report one straightforwardimplementation of the m<strong>in</strong>imal representation computation<strong>in</strong> Algorithm 1.Algorithm 1 M<strong>in</strong>imal representation: m<strong>in</strong>rep(P)Input: P := {x ∈Ên | P x ≤ p}, p ∈Ên pOutput: M<strong>in</strong>imal representation of P1. I ← {1, . . . , n p }2. for i = 1 to n p do3. I ← I \ {i}4. f ∗ ← maxx {P (i)x | P (I) x ≤ p (I) , P (i) x ≤ p (i) +1}5. if f ∗ > p (i) then6. I ← I ∪ {i}7. end if8. end for9. return ˜P := {x | P (I) x ≤ p (I) }122 AUTOMATIKA 50(2009) 3–4, 119–134


<strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>M. Baotićwhat are we referr<strong>in</strong>g to, as is the case here, we will abusethe notation and use the former, more compact form.10864QP10864R 1R 2R 3R 41, . . . , N R , is a polytope(NR)⋃∑N Rco R i := {x ∈Ên | x = α i x i , x i ∈ R i ,i=1i=1∑N R0 ≤ α i ≤ 1, α i = 1}.i=1(14)200 2 4 6 8 10(a) Polytopes P and Q200 2 4 6 8 10(b) R = ⋃ i R i = P \ QAn illustration of the convex hull operation is given <strong>in</strong>Fig. 5. Construction of the convex hull is an expensive op-Fig. 4. Illustration of the set difference operation10810866Remark 2 The set difference of two <strong>in</strong>tersect<strong>in</strong>g polytopes(or any closed sets) P and Q is, <strong>in</strong> general, not a closedset. This means that some borders of polytopes R i froma P-collection R = P \ Q are open, while other bordersare closed. Even though it is possible to keep track of theorig<strong>in</strong> of particular borders of R i , thus specify<strong>in</strong>g if theyare open or closed, we are not do<strong>in</strong>g it <strong>in</strong> the algorithmsdescribed <strong>in</strong> this paper nor <strong>in</strong> MPT [24], cf. Remark 1. Incomputations, we will henceforth only consider the closureof sets R i .□Related to the above operation are the follow<strong>in</strong>gtwo computationally very demand<strong>in</strong>g problems/questions:what is the set difference between a polytope P and a P-collection Q := ∪ i Q i ; and is a polytope P fully coveredby a P-collection Q := ∪ i Q i ? For <strong>in</strong>stance, the latteroperation is needed to check if two unions of polyhedracover the same non-convex set [11, 14] (e.g., step 5 of Algorithm4.1 <strong>in</strong> [14]). In Section 4 and Section 5 we analyzethese problems <strong>in</strong> more details, and derive efficientalgorithms that perform these tasks.3.5 Convex HullThe convex hull of a set of po<strong>in</strong>ts V = {V i } NVi=1 , withV i ∈Ên , is a polytope def<strong>in</strong>ed as42R 2R 100 2 4 6 8 10(a) P-collection R = ⋃ i R i42co(R)00 2 4 6 8 10(b) Convex hull of RFig. 5. Illustration of the convex hull operationeration which is exponential <strong>in</strong> the number of facets of theorig<strong>in</strong>al polytope. An efficient software implementation isavailable from [32, 33].3.6 EnvelopeThe envelope of two H-polyhedra P = {x ∈Ên | P x ≤ p} and Q = {x ∈Ên | Qx ≤ q} is an H-polyhedronenv(P, Q) = {x ∈Ên | ˜P x ≤ ˜p, ˜Qx ≤ ˜q}, (15)where ˜P x ≤ ˜p is the subsystem of P x ≤ p obta<strong>in</strong>ed byremov<strong>in</strong>g all the <strong>in</strong>equalities not valid for the polyhedronQ, and ˜Qx ≤ ˜q are def<strong>in</strong>ed <strong>in</strong> a similar way with respect toQx ≤ q and P [34]. In a similar fashion def<strong>in</strong>ition can beextended to the case of the envelope of a P-collection. Anillustration of the envelope operation is depicted <strong>in</strong> Fig. 6.The computation of the envelope is relatively cheap s<strong>in</strong>ceit only requires the solution to one LP for each facet of Pand Q. Note that envelope of two (or more) polytopes isnot necessarily bounded set (e.g. when P ∪ Q is shapedlike a star).∑N V∑N V3.7 Vertex Enumerationco(V) = {x ∈Ên | x = α i V i , 0 ≤ α i ≤ 1, α i = 1}.i=1i=1(13)The convex hull operation is used to switch from a V-representation of a polytope to a H-representation. Theconvex hull of a union of polytopes R i ⊂Ên , i =The operation of extract<strong>in</strong>g the vertices of a polytopeP given <strong>in</strong> H-representation is referred to as vertex enumeration.This operation is the dual to the convex hulloperation and the algorithmic implementation is identicalto a convex hull computation, i.e. given a set of extreme124 AUTOMATIKA 50(2009) 3–4, 119–134


M. Baotić <strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>108642R 2R 100 2 4 6 8 10(a) P-collection R = ⋃ i R i108642env(R)00 2 4 6 8 10(b) Envelope of RFig. 6. Illustration of the envelope operationpo<strong>in</strong>ts V = {V i } NVi=1 = vert(P) of a polytope P given<strong>in</strong> H-representation it holds that P = co(V), where theoperator vert denotes the vertex enumeration. The necessarycomputational effort is <strong>in</strong> the worst case exponential<strong>in</strong> the number of the polytope facets. Two different approachesto vertex enumeration exist: the double descriptionmethod [35] and reverse search [36]. An efficient implementationof the double description method is available<strong>in</strong> [32, 33].3.8 Pontryag<strong>in</strong> DifferenceThe Pontryag<strong>in</strong> difference (also known as M<strong>in</strong>kowskidifference) of two polytopes P and Q is a polytopeP ⊖ Q := {x ∈Ên | x + q ∈ P, ∀q ∈ Q}. (16)The Pontryag<strong>in</strong> difference can be efficiently computed forpolytopes by solv<strong>in</strong>g a sequence of LPs [37]. For specialcases (e.g. when Q is a hypercube), even more efficientcomputational methods exist [38]. An illustration of thePontryag<strong>in</strong> difference is given <strong>in</strong> Fig. 7.hull computation <strong>in</strong>Ên or a projection fromÊ2n down toÊn . The implementation of the M<strong>in</strong>kowski sum via projectionis based on the follow<strong>in</strong>g observation. ForP = {y ∈Ên | P y ≤ p},it holds thatQ = {z ∈Ên | Qz ≤ q},R = P ⊕ Q{}= x = y + z | y, z ∈Ên , P y ≤ p, Qz ≤ q{}= x ∈Ên | ∃y ∈Ên : P y ≤ p, Q(x − y) ≤ q{[ [ ] [ }= x ∈Ên | ∃y ∈Ên 0 P x p:≤Q −Q]y q]( { [ ] [ )0 P p}= proj n w ∈Ê2n | w ≤ .Q −Q q]Both the projection and vertex enumeration based methodsare implemented <strong>in</strong> the MPT toolbox [24]. An illustrationof the M<strong>in</strong>kowski sum is given <strong>in</strong> Fig. 8.21.510.50−0.5−1−1.5QP−2−2 −1.5 −1 −0.5 0 0.5 1 1.5 2(a) Polytopes P and Q21.510.50−0.5−1−1.5P ⊕ Q−2−2 −1.5 −1 −0.5 0 0.5 1 1.5 2(b) M<strong>in</strong>kowski sum P ⊕ QFig. 8. Illustration of the M<strong>in</strong>kowski sum operation21.510.50QP21.510.50P ⊖ QRemark 3 The M<strong>in</strong>kowski sum is not the complement ofthe Pontryag<strong>in</strong> difference. For two polytopes P and Q, itholds that (P ⊖ Q) ⊕ Q ⊆ P (cf. Fig. 7 and Fig. 8). □−0.5−0.5−1−1.5−1−1.54 REGIONDIFF PROBLEM−2−2 −1.5 −1 −0.5 0 0.5 1 1.5 2(a) Polytopes P and Q−2−2 −1.5 −1 −0.5 0 0.5 1 1.5 2(b) Pontryag<strong>in</strong> difference P ⊖QFig. 7. Illustration of the Pontryag<strong>in</strong> difference operation3.9 M<strong>in</strong>kowski SumThe M<strong>in</strong>kowski sum of two polytopes P and Q is apolytopeP ⊕ Q := {x + q ∈Ên | x ∈ P, q ∈ Q}. (17)The M<strong>in</strong>kowski sum is a computationally expensive operationwhich requires either vertex enumeration and convexLet P = {x | P x ≤ p} be a polyhedron <strong>in</strong>Ên givenas the <strong>in</strong>tersection of n p half-spaces and Q i = {x ∈Ên | Q i x ≤ q i } be N Q polyhedra <strong>in</strong>Ên given as the <strong>in</strong>tersectionof n qi half-spaces (i.e. Q i ∈Ên qi ×n ). We want todeterm<strong>in</strong>e the set difference P \ (∪ NQi=1 Q i). We refer to thisproblem as the regiondiff problem (to differentiate it fromthe problem of comput<strong>in</strong>g the set difference between twopolytopes, cf. Section 3.4).We outl<strong>in</strong>e the procedure of f<strong>in</strong>d<strong>in</strong>g the exact solutionto the regiondiff problem <strong>in</strong> Algorithm 2. It computes theset R = P \ (∪ NQi=1 Q i), where R (if not empty) is given asunion of non-overlapp<strong>in</strong>g polyhedra.AUTOMATIKA 50(2009) 3–4, 119–134 125


<strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>M. Baotić1010981P981R 1765Q 3221765Q 32R 3R 2214141321323Q 2Q 13213R 423Q 2Q 100 1 2 3 4 5 6 7 8(a) Polytope P and P-collection Q00 1 2 3 4 5 6 7 8(b) R := {R i } 4 i=1 = regiondiff(P, Q)Fig. 9. Example for the set difference computation with Algorithm 2 <strong>in</strong>Ê2 . Polytope P is depicted with full l<strong>in</strong>e, activeconstra<strong>in</strong>ts (see (18) for def<strong>in</strong>ition) of Q i with dashed l<strong>in</strong>es, and non-active constra<strong>in</strong>ts of Q i with th<strong>in</strong> l<strong>in</strong>es. The <strong>in</strong>dicesof correspond<strong>in</strong>g active constra<strong>in</strong>ts of each Q i are denoted as encircled numbers.One example of solv<strong>in</strong>g the regiondiff problem withAlgorithm 2 for 2-dimensional polytope P and P-collection {Q i } 3 i=1 is illustrated <strong>in</strong> Fig. 9.Algorithm 2 solves the regiondiff problem by basicallyimplement<strong>in</strong>g an <strong>in</strong>-place depth-first exploration ofthe tree of feasible constra<strong>in</strong>t comb<strong>in</strong>ations, where eachbranch/node corresponds to the <strong>in</strong>version of a facet of Q i(step 12 of Algorithm 2). The approach used to partitionthe space is based on [6].Note that the output of Algorithm 2 is a P-collection Rthat comprises only non-overlapp<strong>in</strong>g polyhedra, regardlessof possible overlaps <strong>in</strong> the <strong>in</strong>put P-collection Q. We alsonote that Algorithm 2 would work even if steps 2-10 werenot present. However, those steps potentially have a hugeimpact on the speed of computation s<strong>in</strong>ce they exclude unnecessarychecks at later stages (i.e. lower branches) of thealgorithm.Remark 4 Step 5 of Algorithm 2 is a simple feasibility LPof complexity lp(n + 1, n p + n qk ). Similarly, step 12 is afeasibility LP of complexity lp(n + 1, n p + 1). □Remark 5 (Preprocess<strong>in</strong>g) From a practical po<strong>in</strong>t ofview it makes sense to preprocess the data before us<strong>in</strong>gAlgorithm 2 to compute the set difference. Namely, wecan speed up the computation by ensur<strong>in</strong>g that P and Q i ,i = 1, . . . , N Q , are full-dimensional polyhedra <strong>in</strong>Ên given<strong>in</strong> the m<strong>in</strong>imal H-representation: P = {x | P x ≤ p},Q i = {x | Q i x ≤ q i }, P ∈Ên p×n , p ∈Ên p, Q i ∈Ên qi ×n , q i ∈Ên qi. Note that it is always possible to obta<strong>in</strong>normalized polyhedron <strong>in</strong> m<strong>in</strong>imal representation (seeSection 3.1) and to remove those Q i that do not <strong>in</strong>tersectP, e.g. by check<strong>in</strong>g if Chebyshev ball (see Section 3.2) ofa jo<strong>in</strong>t polyhedra {x | P x ≤ p, Q i x ≤ q i } is non-empty.Furthermore, it is useful to pre-compute the set of socalledactive constra<strong>in</strong>ts:A i = { j ∈ {1, . . . , n qi } | ∃x : P x ≤ p, [Q i ] (j) x > [q i ] (j)},(18)for each Q i , i = 1 . . . , N Q . This can be done at the expenseof at most ∑ N Qi=1 n q iLPs:N Q∑n qi · lp(n + 1, n p + n qi ). (19)i=1We note that the removal of non-active constra<strong>in</strong>ts fromthe description of each Q i does not change the result ofAlgorithm 2, i.e.,whereP \ {Q i } NQi=1 = P \ { ˜Q i } NQi=1 , (20)˜Q i := {x ∈Ên | ˜Q i x ≤ ˜q i }, (21)˜Q i = [Q i ] (Ai), ˜q i = [q i ] (Ai). (22)As a matter of fact, s<strong>in</strong>ce card(A i ) ≤ n qi , this removal ofnon-active constra<strong>in</strong>ts can significantly reduce dimensionof the problem parameters <strong>in</strong> Algorithm 2 and thus drasticallyreduce complexity of Algorithm 2.□Remark 6 (Postprocess<strong>in</strong>g) Note that Algorithm 2 returnsP-collection R = {R i } NRi=1 , with R i that are <strong>in</strong> (possibly)non-m<strong>in</strong>imal H-representation. As a postprocess<strong>in</strong>gstep one might call Algorithm 1 to obta<strong>in</strong> the m<strong>in</strong>imal representationfor each R i of the result.□126 AUTOMATIKA 50(2009) 3–4, 119–134


M. Baotić <strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>Algorithm 2 Set difference: regiondiff(P, Q)Input: P := {x ∈Ên | P x ≤ p}, p ∈Ên p, Q :={Q i } NQi=1 , Q i := {x ∈Ên | Q i x ≤ q i }, q i ∈Ên qi,i = 1, . . . , N QOutput: P-collection represent<strong>in</strong>g P \ Q1. R ← ∅, k ← 12. if ∃i ∈Æ1:N Q: n qi = 0 then3. return R4. end if5. while ∄x ∈Ên : P x < p, Q k x < q k do6. k ← k + 17. if k > N Q then8. return P9. end if10. end while11. for j = 1 to n qk do12. if ∃x ∈Ên : P x ≤ p, [Q k ] (j) x > [q k ] (j) then13. ˜P = P ∩ {x | [Qk ] (j) x ≥ [q k ] (j) }14. if k < N Q then15. R ← R ∪ regiondiff( ˜P, {Q i } NQi=k+1 )16. else17. R ← R ∪ ˜P18. end if19. end if20. P ← P ∩ {x | [Q k ] (j) x ≤ [q k ] (j) }21. end for22. return RThe most time consum<strong>in</strong>g part of Algorithm 2 lies <strong>in</strong>recursive calls to itself (step 15). Therefore <strong>in</strong> the follow<strong>in</strong>gcomputational complexity analysis we neglect the costof removal of the non-active constra<strong>in</strong>ts from Q i (cf. Remark5) or comput<strong>in</strong>g the m<strong>in</strong>imal representation of theregions R i that describe the set difference (cf. Remark 6).To establish the worst case complexity of Algorithm 2one needs to look at its tree-like exploration of the space.The depth of the tree is equal to N Q (i.e., the number ofregions Q i ). Clearly, every node on the level k has at mostn qk+1 children nodes on the level k + 1, where n qk denotesthe number of constra<strong>in</strong>ts of polytope Q k (if preprocess<strong>in</strong>gstep from Remark 5 is done then n qk is the number of activeconstra<strong>in</strong>ts) . Therefore the number of nodes at level kis bounded from above bywherek∏i=1n qi≤H k :=(Hkk) k, (23)k∑n qi , (24)i=1i.e., H k is the cumulative number of constra<strong>in</strong>ts up to thelevel k of the tree, and k = 1, . . . , N Q .One should note that (23) gives an overly conservativeupper bound for the number of nodes at level k. For example,if (23) was a strict upper bound, it would imply thatthe number of nodes at the bottom of the tree is of the order( ( ) )NQMN QO, (25)where M denotes the total number of constra<strong>in</strong>tsN Q∑M := n qi . (26)i=1To better estimate the upper bound on the number ofnodes at level k we recall the Buck’s formula [39] for thehyperplane arrangement problem. Buck’s formula gives anupper bound for the maximal number of cells created byH k hyperplanes <strong>in</strong>Ên . The upper bound is obta<strong>in</strong>ed by thehyperplanes <strong>in</strong> the so-called general position [22]. Therefore,we can obta<strong>in</strong> the strict upper bound on the numberof nodes at level kT k ≤n∑i=0(Hki)= O(Hknn!), (27)where T k denotes the number of nodes at level k of the treefor Algorithm 2, and k = 1, . . . , N Q .S<strong>in</strong>ce every region <strong>in</strong> the output of Algorithm 2 correspondsto exactly one feasible node at the bottom of theexploration tree, we clearly see that the number of nodesT NQ is an upper bound on the number of regions generatedby Algorithm 2N R ≤ T NQ . (28)Therefore, by tak<strong>in</strong>g <strong>in</strong>to account that H NQ = M, the follow<strong>in</strong>gstrict upper bound on N R can be computed from(27)n∑( ) ( )M MnN R ≤= O . (29)<strong>in</strong>!i=0Feasible nodes of level k + 1, with k = 1, . . . , N Q − 1,are computed from feasible nodes at level k. The computationat every node of level k <strong>in</strong>volves solution of at mostn qk+1 LPs with n+1 variables and at most n p +H k+1 constra<strong>in</strong>ts(cf. Remark 4). Therefore, the strict upper boundon the overall complexity of Algorithm 2 is given byN∑Q−1k=1T k · n qk+1 · lp(n + 1, n p + H k+1 ), (30)i.e., the overall complexity of Algorithm 2 is of the order( )Mn+1O · lp(n + 1, n p + M) . (31)n!AUTOMATIKA 50(2009) 3–4, 119–134 127


<strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>M. BaotićFrom (31) it is clear that for n > 1 the overall complexityof Algorithm 2 is hugely affected by M – the total numberof (active) constra<strong>in</strong>ts for the problem at hand. Therefore,for specific applications, where regiondiff problem issolved via Algorithm 2, one should <strong>in</strong>vestigate if it is possibleto split the orig<strong>in</strong>al problem <strong>in</strong> subproblems (assum<strong>in</strong>gthat the dimension n rema<strong>in</strong>s fixed) that would result <strong>in</strong>calls to Algorithm 2 with a reduced value of M (see [40]for one application of this idea).Remark 7 The expression (29) represents the strict upperbound on the output complexity (i.e. the set difference representation)for Algorithm 2, and therefore it cannot befurther improved. The same claim holds also for the expression(30) (and, consequently, for (31)) that def<strong>in</strong>es thestrict upper bound on the computational complexity of Algorithm2. However, <strong>in</strong> practice (n ≪ N Q ≪ M) theseexpressions are found to be very conservative (cf. test<strong>in</strong>gresults <strong>in</strong> Section 6).□Remark 8 Extension of the regiondiff problem to the casewhere both P and Q are P-collections is straightforward.Namely, the set difference is a P-collection R = {P i } NPi=1 \{Q j } NQj=1 that can be computed by cycl<strong>in</strong>g through all polytopesP i . We haveN⋃PR =i=1P i \ {Q j } NQj=1 . (32)Note that here the output P-collection R may conta<strong>in</strong> overlapp<strong>in</strong>gpolyhedra if the <strong>in</strong>put P-collection P has someoverlapp<strong>in</strong>g polyhedra.□5 POLYCOVER PROBLEMThe problem of check<strong>in</strong>g if some polytope is coveredwith the union of other polytopes emerges very often <strong>in</strong>the construction of explicit solution for the constra<strong>in</strong>ed f<strong>in</strong>itetime optimal control of piecewise aff<strong>in</strong>e systems. Theneed for solv<strong>in</strong>g this type of a problem is also common <strong>in</strong>the computation of the (positive) controlled <strong>in</strong>variant sets,<strong>in</strong>f<strong>in</strong>ite time solution or controllers with reduced complexityfor PWA systems. Thus, it is important to have an algorithmthat checks if a polytope P is fully covered by aP-collection Q := ∪ i Q i <strong>in</strong> an efficient manner. We referto this problem as the polycover problem.One idea of solv<strong>in</strong>g the polycover problem is <strong>in</strong>spiredby the follow<strong>in</strong>g observationP ⊆ ∪ i Q i ⇔ P = ∪ i (P ∩ Q i ).Therefore, we could create R i = Q i ∩ P, for i =1, . . . , N Q and then compute the union of the collection ofpolytopes {R i } by us<strong>in</strong>g the polyunion algorithm for comput<strong>in</strong>gthe convex union of H-polyhedra reported <strong>in</strong> [34].If approach [34] succeeds (i.e., the union is a convex set)and the result<strong>in</strong>g polytope is equal to P then P is coveredby {Q i } NQi=1 , otherwise it is not. However, this approach iscomputationally very expensive. The algorithm <strong>in</strong> [34] isbased on the idea that whenever P := ∪ i Q i is a polyhedronthen P = env({Q i } NQi=1). Unfortunately the underly<strong>in</strong>gcomputation is very expensive, and one needs to solveO(Π NQi=1 n q i) LPs with n variables and M = ∑ N Qi=1 n q iconstra<strong>in</strong>ts. Thus, the polyunion computation from [34]becomes quickly prohibitive with the <strong>in</strong>creas<strong>in</strong>g numberof polytopes N Q and constra<strong>in</strong>ts M.In the follow<strong>in</strong>g we propose two different approaches.5.1 Polycover: Regiondiff Based AlgorithmClearly, polycover is just a special case of regiondiff,where result<strong>in</strong>g P-collection R = ∅. In a special case whenwe only want to check if P ⊆ (∪ NQi=1 Q i) f<strong>in</strong>d<strong>in</strong>g any feasibleR j <strong>in</strong> Algorithm 2 provides a negative answer and wecan abort further search. Implementation of this strategy isgiven <strong>in</strong> Algorithm 3.Similarly to Algorithm 2 the worst case complexity ofAlgorithm 3 is bounded by (30) (see also Remark 5 andRemark 7).Remark 9 Note that it is straightforward to extend thepolycover problem to the case where both P and Q areP-collections:• Verification of {P i } NPi=1 ⊆ {Q j} NQj=1 :{P i } NPi=1 ⊆ {Q j} NQj=1 ⇔ {P i} NPi=1 \ {Q j} NQj=1 = ∅.• Verification of {P i } NPi=1 = {Q j} NQj=1 :{P i } NPi=1 = {Q j} NQj=1 ⇔{P i } NPi=1 \{Q j} NQj=1 = ∅ & {Q j} NQj=1 \ {P i} NPi=1 = ∅.Here the set difference between two P-collections can becomputed accord<strong>in</strong>g to (32).□5.2 Polycover: MILP formulationWhen some of the optimization variables <strong>in</strong> a l<strong>in</strong>ear program(see Def<strong>in</strong>ition 1) are constra<strong>in</strong>ed to <strong>in</strong>teger valuesthe ensu<strong>in</strong>g problem is called a mixed <strong>in</strong>teger l<strong>in</strong>ear program(MILP).Def<strong>in</strong>ition 11 A mixed <strong>in</strong>teger l<strong>in</strong>ear program (MILP) is anon-convex optimization problem that can be expressed <strong>in</strong>the formm<strong>in</strong>xf T x (MILP)subj. to Gx ≤ g,128 AUTOMATIKA 50(2009) 3–4, 119–134


M. Baotić <strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>Algorithm 3 Set cover: polycover(P, Q)Input: P := {x ∈Ên | P x ≤ p}, p ∈Ên p, Q :={Q i } NQi=1 , Q i := {x ∈Ên | Q i x ≤ q i }, q i ∈Ên qi,i = 1, . . . , N QOutput: Check if P ⊆ ∪ NQi=1 Q i, {true, false}1. k ← 12. if ∃i ∈Æ1:N Q: n qi = 0 then3. return R4. end if5. while ∄x ∈Ên : P x < p, Q k x < q k do6. k ← k + 17. if k > N Q then8. return false9. end if10. end while11. for j = 1 to n qk do12. if ∃x ∈Ên : P x ≤ P c , [Q k ] (j) x > [q k ] (j) then13. if k = N Q then14. return false15. end if16. ˜P = P ∩ {x | [Qk ] (j) x ≥ [q k ] (j) }17. if polycover( ˜P, {Q i } NQi=k+1) = false then18. return false19. end if20. P ← P ∩ {x | [Q k ] (j) x ≤ [q k ] (j) }21. end if22. end for23. return truewhere x ∈Ên r× {0, 1} n bis the optimization variable, n ris the number of real valued variables, n b is the numberof b<strong>in</strong>ary (or, <strong>in</strong> general, <strong>in</strong>teger) variables, and matricesf ∈Ên , G ∈Ên g×n , g ∈Ên g, with n = n r + n b , aregiven problem parameters.□We note that P is not fully covered by Q, i.e.P (∪ NQi=1 Q i) (33)if and only if there is a po<strong>in</strong>t x <strong>in</strong>side of P that violatesat least one of the constra<strong>in</strong>ts of each Q i , i = 1, . . . , N Q .This is equivalent to the follow<strong>in</strong>g set of conditions∃x ∈ P : ∃j i ∈ {1, . . . , n qi }, [Q i ] (ji)x − [q i ] (ji) > 0,i = 1, . . . , N Q .(34)To express this violation of constra<strong>in</strong>ts we <strong>in</strong>troduce slackvariables{ [Qi ] (j) x − [q i ] (j) if [Q i ] (j) x − [q i ] (j) ≥ 0,y i,j (x) =0 if [Q i ] (j) x − [q i ] (j) ≤ 0,j = 1, . . . , n qi , i = 1, . . . , N Q .(35)The expression (34) can now be posed as a feasibility question<strong>in</strong> x and y i,jP x ≤ p,∑ nqij=1 y (36)i,j > 0, i = 1, . . . , N QCheck<strong>in</strong>g the condition (36) is still not possible with standardsolvers, s<strong>in</strong>ce the relation (35) describes a non-l<strong>in</strong>earfunction. However, by <strong>in</strong>troduc<strong>in</strong>g auxiliary b<strong>in</strong>ary variablesone can rewrite (35) as the follow<strong>in</strong>g equivalent setof l<strong>in</strong>ear <strong>in</strong>equalities (cf. [41])⎡⎢⎣⎤0 −m L0 −M U1 −M U−1 m L⎥1 −m L⎦−1 M U]δ i,j ⎢⎣[yi,j⎡δ i,j ∈ {0, 1},j = 1, . . . , n qi ,[Q i] (j) x − [q i] (j) − m L−[Q i] (j) x + [q i] (j)00[Q i] (j) x − [q i] (j) − m L−[Q i] (j) x + [q i] (j) + M Ui = 1, . . . , N Q ,(37)where δ i,j are auxiliary b<strong>in</strong>ary variables and m L , M U ∈Êare bounds on constra<strong>in</strong>t expressions that can be precomputed(or overestimated) beforehandm L ≤M U ≥m<strong>in</strong>x,i,jsubj. tom<strong>in</strong>x,i,jsubj. to[Q i ] (j) x − [q i ] (j)P x ≤ pj ∈ {1, . . . , n qi }i ∈ {1, . . . , N Q }[Q i ] (j) x − [q i ] (j)P x ≤ pj ∈ {1, . . . , n qi }i ∈ {1, . . . , N Q }(38)(39)Actually, <strong>in</strong> terms of the number of <strong>in</strong>equalities that areused, (37) can be further simplified to⎡⎤−1 0⎡⎤[ ]0⎢−1 0⎥ yi,j ⎢ −[Q i] (j) x + [q i] (j) ⎥⎣ 1 −m L ⎦ δ⎣i,j [Q i] (j) x − [q i] (j) − m⎦L1 −M U 0δ i,j ∈ {0, 1},j = 1, . . . , n qi ,i = 1, . . . , N Q .(40)⎤⎥⎦AUTOMATIKA 50(2009) 3–4, 119–134 129


<strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>M. Baotić10 2 N QMILPAlg. 3MILPAlg. 310 2 N Q10 110 1time [s]10 0time [s]10 010 −110 −110 −210 20 30 40 50 60(a) Computational times for ¯n q ≈ 4.0 and dimension n = 210 −210 20 30 40 50 60(b) Computational times for ¯n q ≈ 6.8 and dimension n = 3Fig. 10. Setup 1. Comparison of MILP (41) and Algorithm 3 when solv<strong>in</strong>g polycover(P, {Q i } NQi=1 ), with P ⊂Ên ,n ∈ {2, 3}, and vary<strong>in</strong>g N Q = 11, . . . , 60. Reported computational times are average values for 100 random tests pereach scenario, i.e., value of N Q .S<strong>in</strong>ce (36) and (40) describe a Mixed Integer L<strong>in</strong>ear Programm<strong>in</strong>g(MILP) feasibility problem it follows that wecan check if P (∪ NQi=1 Q i) by solv<strong>in</strong>g an MILP feasibilityproblem.However, <strong>in</strong>stead of solv<strong>in</strong>g a feasibility MILP problemwith (36) it may be more useful (and numerically robust)to solve the follow<strong>in</strong>g optimality MILP problemmaxλ,x,δ i,j,y i,jλ⎧⎪⎨P x ≤ p,∑ nqij=1subj. toy i,j ≥ λ, i = 1, . . . , N Q∑ nqij=1⎪⎩δ i,j ≥ 1, i = 1, . . . , N Qconstra<strong>in</strong>ts (40)(41)Effectively, the optimal value λ ∗ is related to the size ofthe largest non-covered part of P.Theorem 1 Let λ ∗ be the solution to the problem (41),then P (∪ NQi=1 Q i) if and only if λ ∗ > 0. □Proof: Follows from the construction of the MILPproblem (41).Remark 10 Strictly speak<strong>in</strong>g, condition ∑ n qij=1 δ i,j ≥ 1<strong>in</strong> (41) is redundant, but it reduces the problems with the<strong>in</strong>tegrality tolerances <strong>in</strong> exist<strong>in</strong>g MILP solvers. Also notethat when solv<strong>in</strong>g (41) there is no need for condition y i,j ≥0 (first row <strong>in</strong> constra<strong>in</strong>ts (40)). □The MILP problem (41) has n p + 2N Q + 3 ∑ N Qi=1 n q iconstra<strong>in</strong>ts, n + 1 + ∑ N Qi=1 n q ireal variables and ∑ N Qi=1 n q ib<strong>in</strong>ary variables.6 TESTING OF ALGORITHMSIn this section we compare performances of thetwo approaches proposed <strong>in</strong> Section 5 for comput<strong>in</strong>gpolycover(P, {Q i } NQi=1 ), i.e., check<strong>in</strong>g if P ⊆ {Q i} NQi=1 .Test<strong>in</strong>g was carried out on a 2.4 GHz Pentium 4 mach<strong>in</strong>ewith 1.5 GB RAM. The polycover problem wassolved with MPT 2.6 [24] under MATLAB 7.01 <strong>in</strong> caseof Algorithm 3, and with CPLEX 9.0 [42] <strong>in</strong> case of theMILP formulation (41).Setup 1Series of random tests were performed <strong>in</strong> several dimensionsn, with vary<strong>in</strong>g number of regions N Q and averagenumber of constra<strong>in</strong>ts∑ NQi=1¯n q :=n q i= M . (42)N Q N QIn all test<strong>in</strong>g <strong>in</strong>stances P ⊂Ên was chosen as a fulldimensionalpolytope centered at the orig<strong>in</strong> with (a random)Chebyshev radius between 10 and 15. P-collection Qis such that Q i ⊂Ên , i = 1, . . . , N Q , are full-dimensionalpolytopes with an average Chebyshev radius equal to 10and Chebyshev centers randomly placed (with uniform distribution)with<strong>in</strong> a hypercube [−10, 10] n . Test<strong>in</strong>g resultsfor various scenarios are reported <strong>in</strong> Fig. 10 and Fig. 11.We note that Algorithm 3 is always better than the MILPformulation (41). This superiority is more pronounced forlarger dimensions of the space.Setup 2To illustrate effectiveness of Algorithm 3 we considerthe follow<strong>in</strong>g polycover problem setup that should always130 AUTOMATIKA 50(2009) 3–4, 119–134


M. Baotić <strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>10 3 ¯n qMILPAlg. 3MILPAlg. 310 3 ¯n q10 210 2time [s]10 110 0time [s]10 110 010 −110 −110 −25 10 15 20 25 30 35(a) Computational times for dimension n = 210 −25 10 15 20 25 30 35(b) Computational times for dimension n = 3Fig. 11. Setup 1. Comparison of MILP (41) and Algorithm 3 when solv<strong>in</strong>g polycover(P, {Q i } NQi=1 ), with P ⊂Ên ,n ∈ {2, 3}, N Q = 20, and vary<strong>in</strong>g ¯n q ∈ [6.8 33]. Reported computational times are average values for 100 random testsper each scenario, i.e., value of ¯n q .1010101055550000−5−5−5−5−10−10 −5 0 5 10(a) Partition for N Q = 5−10−10 −5 0 5 10(b) Partition for N Q = 40−10−10 −5 0 5 10(c) Partition for N Q = 100−10−10 −5 0 5 10(d) Partition for N Q = 500Fig. 12. Setup 2. Illustration of a P-collection Q generation <strong>in</strong>Ê2 .give the value true. Polytope P ⊂Ên is chosen as a hypercube[−10, 10] n centered at the orig<strong>in</strong>. For a fixed dimensionn ∈ {2, . . . , 12} and successive values of N Qthe P-collection Q is constructed as a polytopic partitionof P <strong>in</strong> the follow<strong>in</strong>g (iterative) manner: for N Q = 1,Q 1 = P; for N Q > 1 a randomly generated po<strong>in</strong>t x NQ<strong>in</strong> [−10, 10] n decides which polytope Q i , i ∈Æ1:N Q−1, issplit <strong>in</strong>to two polytopes by a random hyperplane pass<strong>in</strong>gtrough x NQ (i.e., through the <strong>in</strong>terior of Q i ) thus creat<strong>in</strong>gnew polytopic partition Q of P with N Q polytopes. SeeFig. 12 for illustration of the above procedure <strong>in</strong>Ê2 .Test<strong>in</strong>g results for vary<strong>in</strong>g N Q and different dimensionsof the space n are reported <strong>in</strong> Fig. 13. We po<strong>in</strong>t out thatfor most of the <strong>in</strong>stances reported <strong>in</strong> Fig. 13 the MILP formulation(41) is practically <strong>in</strong>tractable (i.e., it produces nosolution even after 24 hours of computation). Perhaps themost <strong>in</strong>formative view of the test<strong>in</strong>g results is reported <strong>in</strong>Fig. 14, which <strong>in</strong>dicates that the computational time of Algorithm3 (for all dimensions considered <strong>in</strong> Setup 2) growsapproximately with the square of the number of regions <strong>in</strong>P-collection Q.7 CONCLUSIONWe have reviewed standard polytopic operations that areutilized when deriv<strong>in</strong>g explicit form of the optimal and robustcontrol for discrete-time systems.We have analyzed <strong>in</strong> great detail two special classes ofthese polytopic operations: the so-called regiondiff problemwhere the set difference between a polyhedron andunion of polyhedra is computed, and the polycover problemwhere one is <strong>in</strong>terested <strong>in</strong> check<strong>in</strong>g if a polytope iscovered by the union of other polytopes.We have devised an <strong>in</strong>-place depth-first explorationalgorithm that solves <strong>in</strong> an efficient manner both theregiondiff problem and, as a special case, the polycoverproblem. Furthermore, we have derived the strict upperbound for the computational complexity of this algorithm.In large number of random test we have shown that ourpolycover algorithm is superior to the mixed <strong>in</strong>teger l<strong>in</strong>earprogramm<strong>in</strong>g solution to the same problem.AUTOMATIKA 50(2009) 3–4, 119–134 131


<strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>M. Baotić12time [s]10 210 110 010 −1n = 2, . . . , 1210 −210 3 N Q10 −30 100 200 300 400 500(a) Computational timesav. number of active constra<strong>in</strong>ts11109876543n = 2, . . . , 12N Q20 100 200 300 400 500(b) Average number of active constra<strong>in</strong>tsFig. 13. Setup 2. Computational times and average number of active constra<strong>in</strong>ts <strong>in</strong> Algorithm 3 for different dimensionsof the space n = 2, . . . , 12, and vary<strong>in</strong>g number of polytopes N Q ∈ {5, . . . , 500}. Reported values are average valuescomputed over 100 random tests per each scenario, i.e., value of n and N Q .log(comp. time)2.521.510.50−0.5−1−1.5−2n = 2, . . . , 12log(N Q )−2.50.5 1 1.5 2 2.5 3Fig. 14. Setup 2. Logarithmic scale representation of computationaltimes reported <strong>in</strong> Fig. 13ACKNOWLEDGMENTA large portion of reported research was carried outwhile the author was work<strong>in</strong>g at the Automatic <strong>Control</strong>Laboratory, ETH Zurich, Switzerland. Support ofthe Croatian M<strong>in</strong>istry of Science under grant No. 036-0361621-3012 and grant No. 036-0363078-3018 is k<strong>in</strong>dlyacknowledged. The author would also like to thank reviewersfor helpful suggestions for improvement of the paper.REFERENCES[1] H. S. Witsenhausen, A M<strong>in</strong>imax <strong>Control</strong> Problem forSampled L<strong>in</strong>ear Systems, IEEE Trans. on Automatic <strong>Control</strong>,vol. 13, no. 1, pp. 5–21, 1968.[2] D. P. Bertsekas and I. B. Rhodes, On the M<strong>in</strong>imax Reachabilityof Target Sets and Target Tubes, Automatica,vol. 7, no. 2, pp. 233–247, March 1971.[3] J. Glover and F. Schweppe, <strong>Control</strong> of l<strong>in</strong>ear dynamic systemswith set constra<strong>in</strong>ed disturbances, IEEE Trans. onAutomatic <strong>Control</strong>, vol. 16, no. 5, pp. 411–423, 1971.[4] D. P. Bertsekas, Inf<strong>in</strong>ite-time Reachability of State-SpaceRegions by Us<strong>in</strong>g Feedback <strong>Control</strong>, IEEE Trans. on Automatic<strong>Control</strong>, vol. 17, no. 5, pp. 604–613, 1972.[5] F. Blanch<strong>in</strong>i and S. Miani, Set-Theoretic Methods <strong>in</strong> <strong>Control</strong>.Berl<strong>in</strong>: Birkhäuser, 2007.[6] A. Bemporad, M. Morari, V. Dua, and E. Pistikopoulos,The explicit l<strong>in</strong>ear quadratic regulator for constra<strong>in</strong>edsystems, Automatica, vol. 38, no. 1, pp. 3–20, Jan. 2002.[7] A. Bemporad, F. Borrelli, and M. Morari, Model Predictive<strong>Control</strong> Based on L<strong>in</strong>ear Programm<strong>in</strong>g—The ExplicitSolution, IEEE Trans. on Automatic <strong>Control</strong>, vol. 47,no. 12, pp. 1974–1985, Dec. 2002.[8] A. Bemporad, F. Borrelli, and M. Morari, M<strong>in</strong>-Max <strong>Control</strong>of Constra<strong>in</strong>ed Uncerta<strong>in</strong> Discrete-Time L<strong>in</strong>earSystems, IEEE Trans. on Automatic <strong>Control</strong>, vol. 48, no. 9,pp. 1600–1606, Sept. 2003.[9] F. Borrelli, Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong> of L<strong>in</strong>ear andHybrid Systems, ser. Lecture Notes <strong>in</strong> <strong>Control</strong> and InformationSciences. Spr<strong>in</strong>ger, 2003, vol. 290.[10] M. Baotić, F. Borrelli, A. Bemporad, and M. Morari,Efficient On-L<strong>in</strong>e Computation of Constra<strong>in</strong>ed <strong>Optimal</strong><strong>Control</strong>, SIAM Journal on <strong>Control</strong> and Optimization,vol. 47, no. 5, pp. 2470–2489, Sept. 2008. [Onl<strong>in</strong>e].Available: http://control.ee.ethz.ch[11] S. V. Raković, E. C. Kerrigan, D. Q. Mayne, and J. Lygeros,Reachability Analysis of Discrete-Time Systems With132 AUTOMATIKA 50(2009) 3–4, 119–134


M. Baotić <strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>Disturbances, IEEE Trans. on Automatic <strong>Control</strong>, vol. 51,no. 4, pp. 546–561, 2006.[12] M. Baotić, F. J. Christophersen, and M. Morari, Constra<strong>in</strong>ed<strong>Optimal</strong> <strong>Control</strong> of Hybrid Systems With aL<strong>in</strong>ear Performance Index, IEEE Trans. on Automatic<strong>Control</strong>, vol. 51, no. 12, pp. 1903–1919, Dec. 2006.[13] F. Borrelli, M. Baotić, A. Bemporad, and M. Morari, Dynamicprogramm<strong>in</strong>g for constra<strong>in</strong>ed optimal control ofdiscrete-time l<strong>in</strong>ear hybrid systems, Automatica, vol. 41,pp. 1709–1721, Oct. 2005.[14] P. Grieder, M. Kvasnica, M. Baotić, and M. Morari, Stabiliz<strong>in</strong>glow complexity feedback control of constra<strong>in</strong>edpiecewise aff<strong>in</strong>e systems, Automatica, vol. 41, pp. 1683–1694, Oct. 2005.[15] M. Vašak and N. Perić, Comb<strong>in</strong><strong>in</strong>g identification and constra<strong>in</strong>edoptimal control of piecewise aff<strong>in</strong>e systems, Automatika,Journal for <strong>Control</strong>, Measurement, Electronics,Comput<strong>in</strong>g and Communications, vol. 48, no. 3–4, pp. 145–160, 2007.[16] M. Baotić, <strong>Optimal</strong> <strong>Control</strong> of Piecewise Aff<strong>in</strong>e Systems– a Multi-parametric Approach, Ph.D. dissertation,Swiss Federal Institute of Technology (ETH), Zürich,Switzerland, Mar. 2005. [Onl<strong>in</strong>e]. Available: http://control.ee.ethz.ch[17] L. Khachiyan, A polynomial algorithm <strong>in</strong> l<strong>in</strong>ear programm<strong>in</strong>g,Soviet Mathematics Doklady, vol. 20, pp. 191–194, 1979.[18] A. Schrijver, Theory of L<strong>in</strong>ear and Integer Programm<strong>in</strong>g.New York: John Wiley & Sons, Inc., 1986.[19] N. Karmarkar, A new polynomial-time algorithm for l<strong>in</strong>earprogramm<strong>in</strong>g, Comb<strong>in</strong>atorica, vol. 4, pp. 373–395,1984.[20] C. Roos, T. Terlaky, and J. Vial, Theory and Algorithmsfor L<strong>in</strong>ear Optimization: An Interior Po<strong>in</strong>t Approach.New York: John Wiley & Sons, Inc., 1997.[21] D. den Hertog, Interior Po<strong>in</strong>t Approach to L<strong>in</strong>ear,Quadratic and Convex Programm<strong>in</strong>g: Algorithms andComplexity, ser. Mathematics and its Applications. Dordrecht:Kluwer Academic Publishers, 1994, no. 277.[22] G. M. Ziegler, Lectures on Polytopes. Spr<strong>in</strong>ger, 1994.[23] B. Grünbaum, Convex Polytopes, 2nd ed. Spr<strong>in</strong>ger-Verlag, 2000.[24] M. Kvasnica, P. Grieder, and M. Baotić, Multi-ParametricToolbox (MPT), 2004. [Onl<strong>in</strong>e]. Available: http://control.ee.ethz.ch/~mpt[25] K. L. Clarkson, More output-sensitive geometric algorithms,In Proceed<strong>in</strong>gs of the 35th Annual Symposium onFoundations of Computer Science, 1994, pp. 695–702.[26] S. Boyd and L. Vandenberghe, Convex Optimization.Cambridge University Press, 2004.[27] S. Cernikov, Contraction of f<strong>in</strong>ite systems of l<strong>in</strong>ear <strong>in</strong>equalities,Doklady Akademiia Nauk SSSR, vol. 152, no. 5,pp. 1075–1078, 1963, <strong>in</strong> Russian (English translation <strong>in</strong> SocietMathematics Doklady, Vol. 4, No. 5 (1963), pp.1520–1524).[28] S. S. Keerthi and K. Sridharan, Solution of parametrizedl<strong>in</strong>ear <strong>in</strong>equalities by Fourier elim<strong>in</strong>ation and its applications,J. Opt. Theory and Applications, vol. 65, no. 1, pp.161–169, 1990.[29] E. Balas, Projection with a m<strong>in</strong>imum system of <strong>in</strong>equalities,Computational Optimization and Applications, vol. 10,pp. 189–193, 1998.[30] K. Fukuda, T. M. Liebl<strong>in</strong>g, and C. Lütolf, Extended convexhull, <strong>in</strong> 12th Canadian Conference on ComputationalGeometry, July 2000, pp. 57–64.[31] C. Jones, E. Kerrigan, and J. Maciejowski, Equality setprojection: A new algorithm for the projection of polytopes<strong>in</strong> halfspace representation, Department of Eng<strong>in</strong>eer<strong>in</strong>g,Cambridge University, UK, Tech. Rep. CUEDTechnical Report CUED/F-INFENG/TR.463, 2004, http://www-control.eng.cam.ac.uk/~cnj22.[32] C. B. Barber, D. P. Dobk<strong>in</strong>, and H. T. Huhdanpaa, Thequickhull algorithm for convex hulls, ACM Trans. onMathematical Software, vol. 22, no. 4, pp. 469–483, Dec.1996. [Onl<strong>in</strong>e]. Available: http://www.qhull.org[33] K. Fukuda, Cdd/cdd+ Reference Manual, Dec. 1997,www.cs.mcgill.ca/~fukuda/soft/cdd_home/cdd.html.[34] A. Bemporad, K. Fukuda, and F. Torrisi, Convexity recognitionof the union of polyhedra, Computational Geometry,vol. 18, pp. 141–154, Apr. 2001.[35] K. Fukuda and A. Prodon, Double description method revisited,Comb<strong>in</strong>atorics and Computer Science, vol. 1120,pp. 91–111, 1996.[36] D. Avis, lrs: A revised implementation of the reversesearch vertex enumeration algorithm, Polytopes, Comb<strong>in</strong>atoricsand Computation, pp. 177–198, 2000.[37] I. Kolmanovsky and E. G. Gilbert, Theory and computationof disturbance <strong>in</strong>variant sets for discrete-time l<strong>in</strong>earsystems, Mathematical Problems <strong>in</strong> Eg<strong>in</strong>eer<strong>in</strong>g, vol. 4, pp.317–367, 1998.[38] E. C. Kerrigan and J. M. Maciejowski, On robust optimizationand the optimal control of constra<strong>in</strong>ed l<strong>in</strong>earsystems with bounded state disturbances, <strong>in</strong> Proc. 2003European <strong>Control</strong> Conference, Cambridge, UK, Sept. 2003.[39] R. Buck, Partition of space, American MathematicalMonthly, vol. 50, pp. 541–544, 1943.[40] M. Vašak, M. Baotić, and N. Perić, Efficient Computationof the One-Step Robust Sets for Piecewise Aff<strong>in</strong>eSystems With <strong>Polytopic</strong> Additive Uncerta<strong>in</strong>ties, <strong>in</strong> Proceed<strong>in</strong>gsof the European <strong>Control</strong> Conference 2007, Kos,Greece, July 2007, pp. 1430–1435.[41] A. Bemporad and M. Morari, <strong>Control</strong> of systems <strong>in</strong>tegrat<strong>in</strong>glogic, dynamics, and contra<strong>in</strong>ts, Automatica, vol. 35,no. 3, pp. 407–427, Mar. 1999.[42] ILOG, Inc., CPLEX 9.0 User Manual, Gentilly Cedex,France, 2005, http://www.ilog.fr/products/cplex.AUTOMATIKA 50(2009) 3–4, 119–134 133


<strong>Polytopic</strong> <strong>Computations</strong> <strong>in</strong> Constra<strong>in</strong>ed <strong>Optimal</strong> <strong>Control</strong>M. BaotićMato Baotić received the B.Sc. andM.Sc. degrees, both <strong>in</strong> Electrical Eng<strong>in</strong>eer<strong>in</strong>g,from the Faculty of ElectricalEng<strong>in</strong>eer<strong>in</strong>g and Comput<strong>in</strong>g (FER Zagreb),University of Zagreb, Croatia, <strong>in</strong> 1997and 2000, respectively. As a recipientof the ESKAS scholarship of the SwissGovernment he was a visit<strong>in</strong>g researcher atthe Automatic <strong>Control</strong> Lab, Swiss Federal Institute of Technology (ETH)Zurich, Switzerland, dur<strong>in</strong>g the academic year 2000/2001. In 2005 hereceived the Ph.D. from the ETH Zurich, Switzerland. Currently he isAssistant Professor at the Department of <strong>Control</strong> and Computer Eng<strong>in</strong>eer<strong>in</strong>g,FER Zagreb, Croatia. His research <strong>in</strong>terests <strong>in</strong>clude mathematicalprogramm<strong>in</strong>g, hybrid systems, optimal control and model predictivecontrol.AUTHOR’S ADDRESSAsst. Prof. Mato Baotić, Ph.D.Department of <strong>Control</strong> and Computer Eng<strong>in</strong>eer<strong>in</strong>g,Faculty of Electrical Eng<strong>in</strong>eer<strong>in</strong>g and Comput<strong>in</strong>g,University of Zagreb,Unska 3, HR-10000 Zagreb, Croatiaemail: mato.baotic@fer.hrReceived: 2009-11-02Accepted: 2009-11-27134 AUTOMATIKA 50(2009) 3–4, 119–134

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!