Journal of Applied Mathematics and Physics
Vol.03 No.01(2015), Article ID:53577,6 pages
10.4236/jamp.2015.31008
Minkowski Sum of Polytopes Defined by Their Vertices
Vincent Delos, Denis Teissandier
University of Bordeaux, CNRS, National Center for French Research, I2M, UMR 5295, Talence, France
Email: v.delos@i2m.u-bordeaux1.fr, d.teissandier@i2m.u-bordeaux1.fr
Received December 2014
ABSTRACT
Minkowski sums are of theoretical interest and have applications in fields related to industrial backgrounds. In this paper we focus on the specific case of summing polytopes as we want to solve the tolerance analysis problem described in [1]. Our approach is based on the use of linear programming and is solvable in polynomial time. The algorithm we developed can be implemented and parallelized in a very easy way.
Keywords:
Computational Geometry, Polytope, Minkowski Sum, Linear Programming, Convex Hull
1. Introduction
Tolerance analysis is the branch of mechanical design dedicated to studying the impact of the manufacturing tolerances on the functional constraints of any mechanical system. Minkowski sums of polytopes are useful to model the cumulative stack-up of the pieces and thus, to check whether the final assembly respects such constraints or not, see [2] [3]. We are aware of the algorithms presented in [4]-[7] but we believe that neither the list of all edges nor facets are mandatory to perform the operation. So we only rely on the set of vertices to describe both polytope operands. In a first part we deal with a “natural way’’ to solve this problem based on the use of the convex hulls. Then we introduce an algorithm able to take advantage of the properties of the sums of polytopes to speed-up the process. We finally conclude with optimization hints and a geometric interpretation.
2. Basic Properties
2.1. Minkowski Sums
Given two sets and
, let
be the Minkowski sum of
and
2.2. Polytopes
A polytope is defined as the convex hull of a finite set of points, called the -representation, or as the bounded intersection of a finite set of half-spaces, called the
-representation. The Minkowski-Weyl theorem states that both definitions are equivalent.
3. Sum of V-Polytopes
In this paper we deal with -polytopes i.e. defined as the convex hull of a finite number of points. We note
,
and
the list of vertices of the polytopes
,
and
. We call
the list of Minkowski vertices. We note
and
.
3.1. Uniqueness of the Minkowski Vertices Decomposition
Let and
be two
-polytopes and
,
their respective lists of vertices. Let
and
where
and
.
(1)
We recall that in [4], we see that the vertex of
, as a face, can be written as the Minkowski sum of a face from
and a face from
. For obvious reasons of dimension,
is necessarily the sum of a vertex of
and a vertex of
. Moreover, in the same article, Fukuda shows that its decomposition is unique.
Reciprocally let and
be vertices from polytopes
and
such that
is unique. Let
and
such as
with
and
because the decomposition of
in elements from
and
is unique. Given that
and
are two vertices, we have
and
which implies
. As a consequence
is a vertex of
.
3.2. Summing Two Lists of Vertices
Let and
be two
-polytopes and
,
their lists of vertices, let
.
(2)
We know that because a Minkowski vertex has to be the sum of vertices from
and
so
.
The reciprocal is obvious as as
is a convex set.
At this step an algorithm removing all points which are not vertices of from
could be applied to compute
. The basic idea is the following: if we can build a hyperplane separating
from the other points of
then we have a Minkowski vertex, otherwise
is not an extreme point of the polytope
. The process trying to split the cloud of points is illustrated in Figure 1.
To perform such a task, a popular technique given in [8] solves the following linear programming system. In the case of summing polytopes, testing whether the point is a Minkowski vertex or not, means finding
from a system of
inequalities:
So if we define the matrix
then
Figure 1. Computing the vertices of the sum of two V-poly- topes through a convex hull algorithm.
The corresponding method is detailed in Algorithm 2. Now we would like to find a way to reduce the size of the main matrix as it is function of the product
.
3.3. Constructing the New Algorithm
In this section we want to use the basic property 1 characterizing a Minkowski vertex. Then the algorithm computes, as done before, all sums of pairs and checks whether there exists a pair
with
,
such as
. If it is the case then
, otherwise
.
with
and
with
and
.
We get the following system:
That is to say with matrices and under the hypothesis of positivity for both vectors and
:
We are not in the case of the linear feasibility problem as there is at least one obvious solution:
The question is to know whether it is unique or not. This first solution is a vertex of a polyhedron in
that verifies
equality constraints with positive coefficients. The algorithm tries to build another solution making use of linear programming techniques. We can note that the polyhedron is in fact a polytope because it is bounded. The reason is that, by hypothesis, the set in
of convex combinations of the vertices
is bounded as it defines the polytope
. Same thing for
in
. So in
the set of points verifying both constraints simultaneously is bounded too.
So we can write it in a more general form:
where only the second member is function of and
.
It gives the linear programming system:
(3)
Thanks to this system we have now the basic property the algorithm relies on:
(4)
there exists only one pair
to reach the maximum
as
and
the decomposition of
is unique
It is also interesting to note that when the maximum has been reached:
3.4. Optimizing the New Algorithm and Geometric Interpretation
The current state of the art runs linear programming algorithms and thus is solvable in polynomial time. We presented the data such that the matrix
is invariant and the parametrization is stored in both the second member and the objective function, so one can take advantage of this structure to save computation time. A straight idea could be using the classical sensitivity analysis techniques to test whether
is a Minkowski vertex or not from the previous steps, instead of restarting the computations from scratch at each iteration.
Let’s switch now to the geometric interpretation, given, let’s consider the cone generated by all the edges attached to
and pointing towards its neighbour vertices. After translating its apex to the origin
, we call this cone
and we call
the cone created by the same technique with the vertex
in the polytope
.
The method tries to build a pair, if it exists, with
,
such that
. Let’s introduce the variable
, and the straight line
.
So the question about being or not a Minkowski vertex can be presented this way:
(5)
The existence of a straight line inside the reunion of the cones is equivalent to the existence of a pair such that
which is equivalent to the fact that
is not a Minkowski vertex. This is illustrated in Figure 2. The property becomes obvious when we understand that if
exists in
then
and
are symmetric with respect to the origin. Once a straight line has been found inside the reunion of two cones, we can test this inclusion with the same straight line for another pair of cones, here is the geometric interpretation of an improved version of the algorithm making use of what has been computed in the previous steps.
We can resume the property writing it as an intersection introducing the cone being the symmetric of
with respect to the origin.
(6)
4. Conclusion
In this paper, our algorithm goes beyond the scope of simply finding the vertices of a cloud of points. That’s why we have characterized the Minkowski vertices. However, among all the properties, some of them are not easily exploitable in an algorithm. In all the cases we have worked directly in the polytopes and
, i.e. in the primal spaces and only with the polytopes
-descriptions. Other approaches use dual objects such as normal fans and dual cones. References can be found in [6] [7] [9] but they need more than the
-description for the polytopes they handle. This can be problematic as obtaining the double description can turn out to be impossible in high dimensions, see [4] where Fukuda uses both vertices and edges. Reference [6] works in
in a dual space where it intersects dual cones attached to the vertices, and it can be considered as the dual version
Figure 2. is not a vertex of C = A + B as
.
of property 6 where the intersection is computed with primal cones. It actually implements Weibel’s approach described in [9]. Such a method has been recently extended to any dimension for -polytopes in [7].
Special Thanks
We would like to thank Pr Pierre Calka from the LMRS in Rouen University for his precious help in writing this article.
Cite this paper
Vincent Delos,Denis Teissandier, (2015) Minkowski Sum of Polytopes Defined by Their Vertices. Journal of Applied Mathematics and Physics,03,62-67. doi: 10.4236/jamp.2015.31008
References
- 1. Teissandier, D., Delos, V. and Couetard, Y. (1999) Operations on Polytopes: Application to Tolerance Analysis. 6th CIRP Seminar on CAT, Enschede, Netherlands, 425-433.
- 2. Homri, L., Teissandier, D. and Ballu, A. (2013) Tole-rancing Analysis by Operations on Polytopes. Design and Modeling of Mechanical Systems, Djerba (Tunisia), 597, 604.
- 3. Srinivasan, V. (1993) Role of Sweeps in Tolerancing Semantics. ASME Proc. of the International Forum on Dimensional Tolerancing and Metrology, TS172.I5711, CRTD, Vol. 27, 69-78.
- 4. Fukuda, K. (2004) From the Zonotope Construction to the Minkowski Addition of Convex Polytopes. Journal of Symbolic Computation, 38, 1261-1272, http://dx.doi.org/10.1016/j.jsc.2003.08.007
- 5. Fukuda, K. and Weibel, C. (2005) Computing all Faces of the Minkowski Sum of V-Polytopes. Proceedings of the 17th Canadian Conference on Computational Geometry, 253-256,
- 6. Teissandier, D. and Delos, V. (2011) Algorithm to Calculate the Minkowski Sums of 3-Polytopes Based on Normal Fans. Computer-Aided Design, 43, 1567-1576, http://dx.doi.org/10.1016/j.cad.2011.06.016
- 7. Delos, V. and Teissandier, D. (2015) Minkowski Sum of -Polytopes in . Proceedings of the 4th Annual International Conference on Computational Mathematics, Computational Geometry and Statistics, Singapore.
- 8. Fukuda, K. (2004) Frequently Asked Questions in Polyhedral Computation. Swiss Federal Institute of Technology Lausanne and Zurich, Switzerland.
- 9. Weibel, C. (2007) Minkowski Sums of Polytopes. PhD Thesis, EPFL.