A linear optimization oracle for zonotope computation
Introduction
Linear optimization consists in finding a vertex of a polyhedron that maximizes some linear functional. It is widely used in many areas of science and engineering. Linear optimization has been used for solving some prominent questions and has led to formulating a number of other widely studied problems. While linear optimization itself is known to be polynomial time solvable in the size of the problem, the complexity of simplex methods, pivot-based linear optimization algorithms, is still not known, see for instance [1] and references therein. In contrast to linear optimization that consists in finding just one vertex of a polyhedron, convex hull computation amounts to enumerate all the faces of a polytope.
A number of practical algorithms have been given that address this particular problem [2], [3], [4]. Since the number of faces of a polytope of arbitrary dimension is exponential, for instance in its number of vertices, the worst case complexity of these algorithms is exponential. This article considers a case that lies in-between linear optimization and convex hull computation. Just as with linear optimization, we are interested in the small dimensional faces of polytopes (their vertices and edges) and, in keeping with convex hull computations, one of our main goals is to enumerate them. We are going to do that for a particular class of polytopes, the zonotopes or, in other words, the Minkowski sums of line segments.
Recall that the Minkowski sum of two subsets A and B of is the set
This notion is illustrated in Fig. 1 in the particular case of a zonotope and in Fig. 2 in general.
By their definition, zonotopes are more combinatorial, and can behave rather differently than arbitrary polytopes. For instance, linear optimization over a zonotope is linear time solvable in the number of its generators. Zonotopes arise in a number of counting problems related to different fields, often in terms of their dual hyperplane arrangement [5], [6], [7], [8]. These counting problems ask for the number of vertices of a zonotope given as the set of its generators (or equivalently, for the number of chambers of the dual hyperplane arrangement). This can be done in practice by using an efficient, convex-hull-free algorithm that computes the vertices of a zonotope from its set of generators, see for instance [9], [10].
Our first contribution is an efficient algorithm that performs the inverse task, also without requiring any convex hull computation. Given the vertex set of a polytope P, this algorithm will decide whether P is a zonotope and, if so, it will return its set of generators. In this sense it can also be considered a decision algorithm. It is polynomial in the number of vertices of the considered polytope. In fact, considering complexity in terms of the combined size of the input and output [2], all the algorithms we propose are polynomial. Our second contribution is an algorithm that provides a practical approach to the decomposability of a polytope in terms of Minkowski sums, another topic that has attracted significant attention [11], [12], [13], [14], [15]. It efficiently computes the greatest zonotopal summand of an arbitrary polytope. Let us illustrate this notion. By a summand of a polytope P, we mean any polytope Q such that P is the Minkowski sum of Q with another polytope. In Fig. 2 for instance, the octagon P is the Minkowski sum of the triangle Q with the hexagon Z. In particular, Q and Z are two summands of P. Observe that Z is, up to translation, the Minkowski sum of three of its edges. In other words, Z is a zonotope. On the other hand, since Q is a triangle, no line segment—and therefore no zonotope—can be a summand of Q. In this case, Z is what we call the greatest zonotopal summand of P.
When a polytope P is given as the convex hull of a finite set of points, linear optimization is polynomial time solvable in the number of these points since it amounts to computing the value of a linear functional at each of them. According to the theory developed in [16], deciding whether a given point is a vertex of P is then also polynomial time solvable. Similarly, deciding whether two points are the extremities of an edge of P can be done in polynomial time. Our algorithms rely on the ability to solve these two problems. In Section 2, we will give an explicit linear optimization oracle that provides a practical way to do that. In section 3, we will recall a number of properties of Minkowski sums and zonotopes, and derive further properties that will be used in the sequel.
As mentioned earlier, efficients algorithms are known that enumerate the vertices of a zonotope from its set of generators, see for instance [9], [10]. This task will appear as a subtask in our algorithms. For this reason, and in order to keep our article self-contained, we give an algorithm that performs this task in Section 4. The greatest zonotopal summand of a polytope is defined and studied at in Section 5, and the algorithm that computes it is described at the end of the section. Finally, the algorithm that enumerates the generators of a zonotope from its vertex set is given in Section 6.
Section snippets
A linear optimization oracle
We begin the section with a linear optimization oracle that allows to tell whether the convex hull of a finite subset of is disjoint from the affine hull of another finite subset of . We then show that this oracle provides a practical way to decide when a polytope is a face of another when both are given as convex hulls of finite sets of points. As a consequence, we obtain an explicit algorithm that efficiently computes the graph of a polytope given either as the set of its vertices or as
Combinatorial properties of Minkowski additions
When P and Q are polyhedra, the faces of are exactly the Minkowski sums of a face F of P and a face G of Q such that, for some non-zero vector c in , the linear functional is maximized at F in P and at G in Q, see for instance Proposition 12.1 in [18] or Lemma 2.1 in [11]. As already mentioned, a zonotope, is the Minkowski sum of a finite set of line segments. In fact, a zonotope Z contained in is uniquely obtained, up to translation, as the Minkowski sum of a finite set of
An efficient algorithm to compute zonotopes
Throughout this section, Z is a fixed zonotope contained in . Recall that a zonotope is, up to translation, the Minkowski sum of its generators. In this section, we assume that Z is exactly the Minkowski sum of its generators, which can be done without loss of generality by translating Z, if needed. Denote by the set of the non-zero vertices of the generators of Z. The purpose of the section is to give an algorithm to recover the vertex set of Z from . Since Z is the Minkowski sum of its
The greatest zonotopal summand of a polytope
We introduce the greatest zonotopal summand of a polytope in this section. We also discuss some of its properties and give an efficient algorithm to compute it for a polytope given as the set of its vertices. In the remainder of the section P is a fixed d-dimensional polytope with n vertices.
Denote by the set made up of the edges of P that are also summands of P and consider a segment e in . We refer to as the unique translate of e whose one vertex is incident to 0 and whose first
Deciding whether a polytope is a zonotope
Throughout this section, P is a fixed d-dimensional polytope with n vertices, just as in Section 5. Observe that, when P is a zonotope, is a translate of P and shrinks to a single point. In particular, Algorithm 2 allows to decide whether a polytope P is a zonotope: this will be the case when the set of the vertices of returned by this algorithm is made up of a single point. In order to solve this decision problem, we can give an alternative algorithm that terminates faster in
Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Acknowledgement
The authors thank the anonymous referees for providing valuable comments and suggestions.
References (18)
- et al.
Pivot versus interior point methods: pros and cons
Eur. J. Oper. Res.
(2002) - et al.
How good are convex hull algorithms?
Comput. Geom.
(1997) - et al.
Convex integer optimization by constantly many linear counterparts
Linear Algebra Appl.
(2014) - et al.
A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra
Discrete Comput. Geom.
(1992) - et al.
Computational Geometry: an Introduction
(1985) - et al.
Aperiodic tilings, positive scalar curvature, and amenability of spaces
J. Am. Math. Soc.
(1992) - et al.
Primitive zonotopes
Discrete Comput. Geom.
(2018) - et al.
Root cones and the resonance arrangement
Electron. J. Comb.
(2021) - et al.
Reverse search for enumeration
Discrete Appl. Math.
(1992)
Cited by (5)
Computing Characteristic Polynomials of Hyperplane Arrangements with Symmetries
2023, Discrete and Computational GeometryM-Representation of Polytopes
2023, arXivFinding Optimal Modular Robots for Aerial Tasks
2023, Proceedings - IEEE International Conference on Robotics and AutomationSIZING THE WHITE WHALE
2022, arXiv