Minkowski Sum of Polytopes Defined by Their Vertices


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.

Share and Cite:

Delos, V. and Teissandier, D. (2015) Minkowski Sum of Polytopes Defined by Their Vertices. Journal of Applied Mathematics and Physics, 3, 62-67. doi: 10.4236/jamp.2015.31008.

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.


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.


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


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:


Thanks to this system we have now the basic property the algorithm relies on:


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:


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.


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.

Conflicts of Interest

The authors declare no conflicts of interest.


[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.

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.