1 Introduction

This article deals with numerical shape optimization problems involving convex shapes under width constraints in \(\mathbb{R }^3\). Throughout the article, we make use of the following notations:

  • K is a convex body of \(\mathbb{R }^3\) with nonempty interior which contains the origin,

  • \(\partial K\) denotes its boundary,

  • \(\nu _K\) is the almost everywhere defined outer normal vector field on \(\partial K\), with values on the sphere \({\mathbf{S}^2}\),

  • for \(\nu \in {\mathbf{S}^2}\), \(\varphi _K(\nu )\) is the distance to the origin of the supporting plane to \(K\) of exterior normal \(\nu \). More explicitly,

    $$\begin{aligned} \varphi _K(\nu ) = \sup _{x\in K} x \cdot \nu , \end{aligned}$$

    where \(x.\nu \) stands for the usual scalar product of \(\mathbb{R }^3\). \(\varphi _K\) is called the support function of \(K\),

  • \(w_K(\nu )= \varphi _K(\nu ) + \varphi _K(-\nu )\) for \(\nu \in {\mathbf{S}^2}\) is called the width in the direction \(\nu \).

We are interested in the approximation of optimal shape of the two optimization problem :

$$\begin{aligned} \min _{K \in \mathcal K } F(K), \end{aligned}$$

where

$$\begin{aligned} \mathcal K =\{ K \; \text{ convex}, \; w_K(\nu ) = 1, \; \forall \nu \in {\mathbf{S}^2}\}, \end{aligned}$$
(1)

or

$$\begin{aligned} \mathcal K =\{ K \; \text{ convex}, \; w_K(\nu ) \ge 1, \; \forall \nu \in {\mathbf{S}^2}\}. \end{aligned}$$
(2)

In particular, focus our work on the numerical study of the previous problems when \(F(K)\) has a geometrical meaning. More precisely, we restrict our study to \(F(K)\) equal to the volume of \(K\) denoted by \(|K|\) or the surface area of \(\partial K\) denoted by \(|\partial K|\). Classical numerical methods do not work at all for these problems:

  1. 1.

    The convexity constraint prevents us to use an Euler equation which is the standard first step of many numerical approaches.

  2. 2.

    Optimal convex bodies are expected to be irregular. This important difficulty makes standard boundary parametrization (such as splines or Bezier surfaces) irrelevant in this context.

  3. 3.

    Penalization processes are other ways to deal with such geometrical constraints. But finding a good penalization is not easy, and this usually yields very slow algorithms, which in this particular case are not very convincing.

Taking \(F(K)\) equal to \(|K|\) (or equivalently to \(|\partial K|\) by Blaschke’s formula), problem (1) is related to the so called Meissner’s conjecture which received great attention during the last decade (see for instance [1, 3, 5, 11, 12, 15]). In dimension two, this problem was solved by Lebesgue and Blaschke: the solution turns out to be a Reuleaux triangle. In dimension three, this problem is still open. Indeed the mere existence of non-trivial three-dimensional bodies of constant width is not so easy to establish. In particular, no finite intersection of balls has constant width (except balls themselves), a striking difference with the two-dimensional case. A simple construction, to obtain constant width bodies in dimension 3, is to consider a two-dimensional body of constant width having an axis of symmetry (like the Reuleaux triangle for instance): the corresponding body of revolution obtained by rotation around this axis is of constant width. Campi et al. proved that the rotated Reuleaux triangle has the smallest volume among constant width bodies of revolution (see [1, 5, 15]). Many years before this surprisingly sophisticated proof, E. Meissner described the construction of another spheroform (usually called “Meissner’s tetrahedron”) which does not have the symmetry of revolution. The volume of this body is smaller than any other known of constant width, so it is a good candidate as a solution to the problem (1) (see [2, 1619]).

In a first part of this article, we study constant width constraints of type (1) using an analytical parametrization introduced in [3]. We discuss a cubic spline method based on [10] which approximates problem (1) by a standard quadratic programming problem under equalities and inequalities constraints. The main interest of the method is that it gives a discrete way to parameterize (and not to approximate) constant with bodies. This point is of dramatic importance in the numerical investigation of Meissner’s conjecture. Based on that method, we perform numerical experiments to study the local optimality of Meissner’s body and of the rotated Reuleaux triangle. Our numerical results satisfy the weak optimality condition which has been described in [3]. More precisely, any constant width body \(K^*\) which minimizes the area is irregular in the sense that for any \(\omega \in {\mathbf{S}^2}\) small enough, the part of \(\partial K^{*}\) whose normals are \(\omega \) and the other part whose normals are \(-\omega \) are not both regular.

In a second part, we study the relaxed problem (2). The question to minimize the volume and surface area among convex bodies of prescribed minimal width was first addressed in [8]. One convex body based on a regular simplex, whose precise description is recalled in the following, has been conjectured by Heil [9] to minimize volume but not surface area in 1978. The previous analytical parametrisation is not relevant in that context. Thus, we give a new algebraic discretization of convex bodies based on Minkowski’s sums. To illustrate the efficiency of our method for inequality constraints, we address numerically Heil’s problems. Our calculations confirm his first conjecture that his polytope minimizes volume. Moreover, the numerical optimization gives a polytope which is admissible (in the sense that it satisfies exactly the constraints up to round off errors) and has a surface area smaller than Heil’s polytope. This proves Heil’s conjecture concerning surface area.

2 A Geometrical Approach and Its Difficulties

For every \(\nu \in {\mathbf{S}^2}\) and every \(\varphi \ge 0\), let us define the half-space of \(\mathbb{R }^3\):

$$\begin{aligned} {\mathopen {[\![}\nu ,\varphi \mathclose {]\!]}}= \{ x \in \mathbb{R }^3,\ x \cdot \nu \le \varphi \}. \end{aligned}$$

In a previous article [13], the authors present a discretization of convex bodies based on half spaces. A convex set \(K\) is approached by a polytope \(P\) which is defined in the following way. Let \(n \in \mathbb{N }^*\), choose randomly and uniformly \(n\) vectors \(\nu _i\) of \({\mathbf{S}^2}\) and define

$$\begin{aligned} P_n = \bigcap _{i=1}^n {\mathopen {[\![}\nu _i,\varphi _i\mathclose {]\!]}}, \end{aligned}$$

where \(\varphi _i=\varphi _K(\nu _i)\). It is straightforward to show that when \(n\) tends to infinity this outer approximation converges with respect to the Hausdorff distance to the set \(K\). This discretization has been used in [13] to solve numerically different optimization’s problems where convex bodies are involved. The key idea is to start with a given convex polytope and to adjust the parameters \(\varphi _i\) in order to minimize the cost functional.

As it has been noticed in the introduction, a width constraint can be written in terms of the support function. Namely, \(w_K(\nu ) = 1\) is equivalent by definition to \(\varphi _K(\nu ) + \varphi _K(-\nu )= 1\). A simple idea would be to reproduce the method of [13] adding linear constraints to the parameters \(\varphi _i\) such that

$$\begin{aligned} \varphi _i^+ + \varphi _i^- = 1, \end{aligned}$$

where \(\varphi _i^{\pm }\) are the parameters associated to the normal vectors \(\pm \nu _i\). Here is the crucial difficulty: the latter statement on the parameters \(\varphi _i^{\pm }\) is not equivalent to \(\varphi _K(\nu _i)+\varphi _K(-\nu _i)=1\). It may happen for instance that

$$\begin{aligned} \bigcap _{i=1}^{n-1} {\mathopen {[\![}\nu _i,\varphi _i\mathclose {]\!]}} \subset \left\{ x \cdot \nu _n \le \varphi _n - \varepsilon \right\} \end{aligned}$$

with \(\varepsilon > 0\). In this case, the hyperplane

$$\begin{aligned} \{ x \in \mathbb{R }^3,\ x \cdot \nu _n = \varphi _n \} \end{aligned}$$

is not anymore in a tangent position, since it has an empty intersection with the body \(P_n\). This difficulty turns the previous algorithm inefficient for this kind of constraint.

We present in this article two alternative methods to handle width constraints in geometrical optimization. The two discretizations of problems (1) and (2) leads to standard non-convex quadratic programming problems which are solved by classical solvers (see Sect. 3.3.1).

3 Minimization Among Sets of Constant Width

In this section, we are interested in the numerical study of Meissner’s conjecture. Does Meissner’s tetrahedron minimize the volume (or equivalently in dimension \(3\), the surface area) among sets of constant and fixed width (see [3] for a complete description of this convex body)? In order to be able to eventually contradict the conjecture, we have to propose a discrete description of constant width bodies which is an exact sub-problem of (1). More precisely, we would like to restrict our optimization procedure to a subset of \(\mathcal K \). Moreover, we would like to be able to evaluate exactly (up to round off errors) its surface area in order to compare our results and Meissner’s conjecture.

We first recall a functional parametrisation result of constant width bodies obtained in [3]. Based on this parametrisation, problem (1) becomes a more classical optimization problem on some convex space functional. Then, in order to approximate an optimal function we follow an approach introduced in [10] based on tensor-product splines. We stress the point on the fact that our method gives at the end of the process a discrete description (based on the cubic splines parametrisation) of some real constant width body of \(\mathcal K \). Based on the previous formulation, our optimization problem becomes a large scale quadratic optimization problem. Finally, some numerical results are presented.

3.1 Parametrisation by the Median Surface

A major difficulty to handle the constant width constraint is the potential irregularity of those bodies. As it is suggested by the two-dimensional case, we have to consider shapes which may have singularities (consider for instance Reuleaux’s triangle which solves the question we are interested in, in dimension 2).

A framework designed to parametrise those kind of potentially irregular shapes is presented in [3]. We recall here the main results related to this parametrisation which will be useful to describe our optimization approach.

First, we recall from [3] that constant width sets can all be described by vector fields on the sphere which satisfy the following global conditions :

Theorem 1

Let \(\alpha >0\) be given and \(M: {\mathbf{S}^2}\rightarrow \mathbb{R }^3\) be a continuous application satisfying

$$\begin{aligned}&\forall \nu \in {\mathbf{S}^2}, \quad M(-\nu ) =M(\nu );\end{aligned}$$
(3)
$$\begin{aligned}&\forall \nu _0, \nu _1\in {\mathbf{S}^2}, \quad \bigl ( M(\nu _1)-M(\nu _0) \bigr )\cdot \nu _0 \le \frac{\alpha }{4}\left|\nu _1-\nu _0\right|^2. \end{aligned}$$
(4)

Define a subset \(K\subset \mathbb{R }^n\) as follows:

$$\begin{aligned} K := \{ M(\nu ) + t\nu \mathbin ; \nu \in {\mathbf{S}^2}, t\in [0,\tfrac{\alpha }{2}]\}. \end{aligned}$$
(5)

Then \(K\) is a convex body of constant width \(\alpha \).

Conversely, any convex body of constant width \(\alpha \) can be described by (5) with some vector field M satisfying (3) and (4).

Next, we recall that the previous vector fields \(M\) on \({\mathbf{S}^2}\) can be parametrized by some smooth scalar functions satisfying second order differential conditions.

To this purpose, consider a parametrisation of the sphere \((u,v)\in \Omega \mapsto \nu (u,v)\in {\mathbf{S}^2}\), where \(\Omega \) is some subset of \(\mathbb{R }^2\). We assume that this parametrisation is isothermal, that is, satisfies for all \((u,v)\in \Omega \):

$$\begin{aligned} \partial _u\nu (u,v) \cdot \partial _v\nu (u,v) = 0 \quad \text{ and}\quad \left|\partial _u\nu (u,v)\right| = \left|\partial _v\nu (u,v)\right| =: \frac{1}{\lambda (u,v)}. \end{aligned}$$
(6)

Let \(K\) a body of constant width, then there exists a \(\mathrm{C}^{1}\) map \(h:{\Omega \rightarrow \mathbb{R }}\) such that

$$\begin{aligned} M(\nu )=\mathcal{M }(\nu (u,v)) = h\;\nu + \lambda \partial _uh\;\nu _u + \lambda \partial _vh\;\nu _v \end{aligned}$$
(7)

for all \((u,v)\in \Omega \), where \(M\) is a vector field associated to \(K\) defined by Theorem 1.

Conversely, sets of constant width are all described analytically with additional constraints on the previous function \(h\). In order to present those conditions, we recall the two definitions:

Definition 1

We shall say that \(D^2h(u,v) \le A = (a_{i,j})\) in a generalized sense, if the following occurs:

$$\begin{aligned} \limsup _{(\xi ,\eta )\rightarrow (0,0)} \frac{T[h](u,v;\xi ,\eta ) - \frac{1}{2}\bigl ( a_{11}\xi ^2 + 2a_{12}\xi \eta +a_{22}\eta ^2\bigr )}{\xi ^2+\eta ^2} \le 0, \end{aligned}$$
(8)

where

$$\begin{aligned} T[h](u,v;\xi ,\eta ) := h(u+\xi ,v+\eta ) - h(u,v) - \xi \partial _uh(u,v) -\eta \partial _vh(u,v) \end{aligned}$$

Similarly we say that \(D^2 h(u,v)\ge A\) in a generalised sense, if a similar property holds with a limit-inf \(\ge 0\) instead.

Notice that in the regular case (that is \(h\) of class \(C^2\)), the inequality \(D^2h(u,v) \le A\) is equivalent to the standard positiveness of the matrix \(A-D^2h(u,v)\).

Definition 2

Given an isothermal parametrisation \(\nu :\Omega \rightarrow {\mathbf{S}^2}\) of the sphere, let \(\sigma \) be its antipodal symmetry. Let \(\mathrm{C}^{1,1}_\sigma (\Omega )\) be the set of all \(\mathrm{C}^{1,1}\) maps \(h:{\Omega \rightarrow \mathbb{R }}\) such that

$$\begin{aligned} h\circ \sigma = -h. \end{aligned}$$
(9)

Let \(\mathrm{C}^{1,1}_{\sigma ,\alpha }(\Omega )\) be the subset of functions \(h\in \mathrm{C}^{1,1}_\sigma (\Omega )\) satisfying everywhere on \(\Omega \) in a generalised sense (see Definition 1 above):

$$\begin{aligned} -\frac{\alpha }{2\lambda ^2}\;\mathrm{Id }\le U[h] \le \frac{\alpha }{2\lambda ^2}\;\mathrm{Id }, \end{aligned}$$
(10)

where

$$\begin{aligned} U[h]:= D^2 h + \lambda ^{-2} h\;\mathrm{Id }+ \lambda ^{-1}\nabla \lambda \otimes \nabla h-\lambda ^{-1}\nabla ^\bot \lambda \otimes \nabla ^\bot h. \end{aligned}$$
(11)

We can now recall the main result obtain in [3] to describe constant width bodies. Then we have the characterisation of constant width set in terms of their support function:

Theorem 2

Given an isothermal parametrisation of the sphere, let \(\mathrm{C}^{1,1}_{\sigma ,\alpha }(\Omega )\) be given by the Definition 2 above. Then an application \(M:{\mathbf{S}^2}\rightarrow \mathbb{R }^3\) is the median surface of a constant width body (that is corresponds to a constant width body by (5) if and only if there exists \(h\in \mathrm{C}^{1,1}_{\sigma ,\alpha }(\Omega )\) such that \(M(\nu ) = \mathcal{M }(h)(u,v)\) for all \(\nu =\nu (u,v)\), where the map \(\mathcal{M }(h): \Omega \rightarrow \mathbb{R }^3\) is defined by (7). In this case, the map \(\mathcal{M }(h+\frac{\alpha }{2}):\Omega \rightarrow \mathbb{R }^3\) describes all but a finite number of the points on \(\partial K\).

3.2 Discretization of \(\mathrm{C}^{1,1}_{\sigma ,\alpha }(\Omega )\)

Based on Theorem 2, the discretization of our optimization problem can be reduced to the discretization of the space functional \(\mathrm{C}^{1,1}_{\sigma ,\alpha }(\Omega )\). We follow an approach introduced in [10] based on tensor-product splines to obtain splines which satisfy exactly (and not approximately) the differential constraints (10).

In the following, we will use the standard isothermal parametrisation of the sphere \(\nu \):

$$\begin{aligned} (u,v)\in \Omega \longmapsto \left( \frac{\cos u}{\cosh v}, \frac{\sin u}{\cosh v}, \tanh v\right) \end{aligned}$$
(12)

where \(\Omega = [-\pi ,\pi ]\times \mathbb{R }\), \(\lambda (u,v) = \cosh v\), and \(\nu (\Omega )={\mathbf{S}^2}\setminus \{(0,0,\pm 1)\}\).

The starting point of our approach is to discretise the space of parameters \([-\pi ,\pi ]\times [0,v_\mathrm{max}]\) by a bounded regular orthogonal grid where \(v_\mathrm{max}\) is a parameter of the method. In order to satisfy exactly the antipodal symmetry constraint (9), we impose to the grid to contain the origin. Consider now a tensor-product spline \(h_d\) defined on that grid. We want to find sufficient conditions on the coefficients of \(h_d\) which ensure that \(h_d \in \mathrm{C}^{1,1}_{\sigma ,\alpha }(\Omega )\). Since the final goal of the discretization is to achieve an optimization procedure, we want the constraints on the coefficients of \(h_d\) to be linear.

Notice first that the periodicity and the antipodal symmetry constraint (9) are equivalent to linear equality constraints on those coefficients. The most challenging problem is to manage the constraints (10) in a linear way. We will describe how to deduce a set of linear inequality constraints which is asymptotically equivalent to those conditions. For simplicity, we restrict our description to the differential inequality

$$\begin{aligned} 0 \le U[h_d] + \frac{\alpha }{2\lambda ^2}\;\mathrm{Id }. \end{aligned}$$
(13)

In [10], the author describes how to obtain a set of linear inequality which ensures that the tensor-product spline to be a convex function. In that sense it is an interior approximation of the convexity constraint. Moreover, it is also proved that any strictly convex patch satisfies this kind of constraints for a suitable choice of the set of constraints. Due to the weight \(\lambda \) which appears in (10), we need to adapt the method to the space \(\mathrm{C}^{1,1}_{\sigma ,\alpha }(\Omega )\). Let us first describe more precisely the constraint (13) on a patch of the tensor-product spline assuming for simplicity \(\alpha =1\):

$$\begin{aligned} \left( \begin{array}{l|l} \partial _{uu} h_d + \dfrac{h_d+1/2}{\lambda ^2} - \dfrac{\sinh (v)\partial _v h_d}{\lambda }&\partial _{uv} h_d + \dfrac{\sinh (v)\partial _u h_d}{\lambda }\\ \hline \\ \partial _{uv} h_d + \dfrac{\sinh (v)\partial _u h_d}{\lambda }&\partial _{vv} h_d + \dfrac{h_d+1/2}{\lambda ^2} + \dfrac{\sinh (v)\partial _v h_d}{\lambda }\\ \end{array} \right) \ge 0.\nonumber \\ \end{aligned}$$
(14)

The key point is to remark that the previous matrix may be rewritten only in terms of \(\tanh (v)\) and \(\tanh ^2(v)\) by the standard formula \( 1/\lambda ^2 = 1-\tanh ^2(v)\). Regarding \(Y := \tanh (v)\) as a new parameter and using the approach of [10], we can force the differential constraints by a set of linear inequalities imposed on the coefficients of the cubic spline. We do not recall here all the technical description of those inequalities but we illustrate the principle of the method in the following to avoid a continuous set of linear constraints depending on \(Y\). If one consider one of the inequalities provided by [10] regarding \(Y\) as a parameter, it is straightforward to observe that is has the form

$$\begin{aligned} \displaystyle Y^2 l_1 + Y l_2 + l_3 \le 0, \end{aligned}$$
(15)

where \(l_1, \, l_2\), and \(l_3\) are affine forms of the Bernstein/Bezier coefficients of the cubic polynomial \(h_d\) on the patch which is considered. Notice that we want (15) to be satisfied for all \(Y \in [\tanh (v_1),\tanh (v_2)]\) for some \(v_1<v_2\) depending on the patch. In order to reduce this set of constraints to a finite number of inequalities we use the same strategy as in [10]. Consider the polynomial of two variables

$$\begin{aligned} p(x,y) = xy l_1 + \frac{x+y}{2}l_2 + l_3. \end{aligned}$$
(16)

Let \(\Sigma = (\sigma _0 \cdots , \sigma _Q) \) be a strictly increasing sequence satisfying

$$\begin{aligned} \sigma _0 = v_1 < \cdots <\sigma _Q = v_2 \end{aligned}$$

for some integer \(Q>1\). We define a new set of inequalities

$$\begin{aligned} \mathcal I (l_1,l_2,l_3) \!=\! \left\{ p( v_1, v_1) \le 0, \; p( v_2, v_2) \le 0, \; \text{ and} \; p(\sigma _i,\sigma _{i+1}) \!\le \! 0 \; \forall i\!=\!0 \ldots Q\!-\!1\!\right\} .\nonumber \\ \end{aligned}$$
(17)

Following the proof of the Lemma 1 of [10], we obtain:

Lemma 1

Let \((l_1,l_2,l_3)\in \mathbb{R }^3\), \(v_\mathrm{max}>0\) and \(Q \in \mathbb{N }^{*}\). Suppose that \((l_1,l_2,l_3)\) satisfies a set of constraints of type (17) for some increasing sequence

$$\begin{aligned} \sigma _0 = v_1 < \cdots <\sigma _Q = v_2. \end{aligned}$$

Then \((l_1,l_2,l_3)\) satisfies (15) for all \(Y\in [v_1,v_2]\).

Proof

First observe that \(p(\sigma _i,\sigma _i) \le 0, \, \, \, \forall i=0 \ldots Q\). If \(i=0,Q\) this is a consequence of the definition of \(\mathcal I (l_1,l_2,l_3)\). For \(0<i<Q\), we have

$$\begin{aligned} p(\sigma _i,\sigma _i) = \frac{\sigma _{i+1}-\sigma _{i}}{\sigma _{i+1}-\sigma _{i-1}}p(\sigma _{i},\sigma _{i-1}) + \frac{\sigma _{i}-\sigma _{i-1}}{\sigma _{i+1}-\sigma _{i-1}}p(\sigma _{i},\sigma _{i+1}) \le 0 \end{aligned}$$

since both coefficients are positive. Now let \(Y\in [v_1,v_2]\), it exists \(i\) such that \(Y \in [\sigma _i,\sigma _{i+1}]\). In the same way as before, we have

$$\begin{aligned} \begin{array}{l l l } p(Y,Y)&= p \left( \dfrac{Y-\sigma _{i}}{\sigma _{i+1}-\sigma _{i}}\sigma _{i+1} + \dfrac{\sigma _{i+1}-Y}{\sigma _{i+1}-\sigma _{i}}\sigma _{i}, Y\right)\\&= \displaystyle \dfrac{Y-\sigma _{i}}{\sigma _{i+1}-\sigma _{i}}p(\sigma _{i+1},Y) + \dfrac{\sigma _{i+1}-Y}{\sigma _{i+1}-\sigma _{i}} p(\sigma _{i},Y)\\&= \displaystyle \left(\dfrac{Y-\sigma _{i}}{\sigma _{i+1}-\sigma _{i}}\right)^2 p(\sigma _{i+1},\sigma _{i+1}) + \left(\dfrac{\sigma _{i+1}-Y}{\sigma _{i+1}-\sigma _{i}}\right)^2 p(\sigma _{i},\sigma _{i}) \\&\,&+ 2 \dfrac{(Y-\sigma _{i})(\sigma _{i+1}-Y)}{(\sigma _{i+1}-\sigma _{i})^2}p (\sigma _{i+1},\sigma _i). \end{array} \end{aligned}$$
(18)

Since \(p(Y,Y)\) is equal to \(Y^2 l_1 + Y l_2 + l_3\) by definition, the inequality follows for all \(Y\in [v_1,v_2]\). \(\square \)

By this lemma, we are able, up to the introduction of the new parameter \(\Sigma \), to describe a set of linear constraints on the coefficients of the cubic spline which ensure that the body associated to \(h_d\) by (7) is of constant width.

To conclude the description of our optimization approach, we recall from [3] that the surface area \(\left|\partial K\right|\) of a body of constant width defined by its support function \(h\) can be evaluated by the formula:

$$\begin{aligned} \left|\partial K\right|&= \int \limits _\Omega \left(\lambda ^{-2}h^2-\frac{1}{2}\left|\nabla h\right|^2\right) + \pi \alpha ^2, \end{aligned}$$
(19)

By the last equality, the surface area associated to the constant width body defined by \(h_d\) is a quadratic form of its Berstein/Bezier coefficients. This observation complete the description of our internal approximation of problem (1) as a large scale quadratic problem. We describe below the numerical optimal conditions which have been used to solve that quadratic problem.

3.3 Numerical Results

All the discrete constraints that have been considered up to now are the discretization of local constraints. This matter of fact has a crucial impact on the complexity of the discrete optimization problem, since we have to deal only with sparse constraints.

3.3.1 Computer Implementation

In order to take benefit of this sparsity we used the efficient large scale optimization software LANCELOT of the GALAHAD library developed by Gould, Orban, and Toint (see [6, 7]).

Let us describe more precisely the local optimality conditions that the LANCELOT module tries to reach. As explained in [6], a general nonlinear constrained optimization problem can be reformulated in the form:

$$\begin{aligned} \min _{x \in \mathbb{R }^N} f(x), \end{aligned}$$

where \(x\) is subject to the equality constraints

$$\begin{aligned} c_j(x)=0 \quad 1 \le j \le m, \end{aligned}$$

and the simple bounds

$$\begin{aligned} l_i \le x_i \le u_i, \quad 1 \le j \le N. \end{aligned}$$

The algorithm implemented in LANCELOT is based on an augmented Lagrangian method. At each step, an approximate minimizer of the augmented Lagrangian function

$$\begin{aligned} \Phi (x,\lambda ,S,\nu )=f(x)+\sum _{i=1}^m\lambda _i c_i(x) +\frac{1}{2\nu } \sum _{i=1}^m s_{ii} c_i(x)^2 \end{aligned}$$

is found (the parameter \(\nu \) and the factors \(s_{ii}\) are adjusted by the program). Let \(P\) be the projection operator on the bound constraints, namely:

$$\begin{aligned} P(x,l,u)_i= \left\{ \begin{array}{lll} l_i&\text{ if}&x_i <l_i\\ u_i&\text{ if}&x_i >u_i\\ x_i&\text{ otherwise}.&\\ \end{array} \right. \end{aligned}$$

The algorithm stops when the two conditions

$$\begin{aligned} ||x-P(x-\nabla _x L(x,\lambda ),l,u)||_{\infty } \le \varepsilon _l \end{aligned}$$
(20)

and

$$\begin{aligned} ||c(x)||_{\infty } \le \varepsilon _c, \end{aligned}$$
(21)

where \(\varepsilon _l\) and \(\varepsilon _c\) are precision factors which are prescribed by the user.

3.3.2 Our Results

We present in the following figures the results of our approach. The first point we are interested in is to check the local optimality of Meissner’s tetrahedron. We then compute analytically the \(h\) function (see [3] for the complete expression) which defines this body and project \(h\) on the grid we are working on. This set of values is the starting point of our numerical process. We present in Fig. 1 the starting \(h\) function and Meissner’s body.

Fig. 1
figure 1

Meissner’s \(h\) function and the associated body

Actually, it has not been possible to distinguish the initial shape and the result produced by the optimization: Meissner’s body is, at least in a numerical way, a local minimizer of the surface area among constant width bodies. We give in Table 1 numerical details of the precision reached with Meissner’s tetrahedron as initial guess on different grids.

Table 1 Precision obtained with the grids \(41\times 20\), \(51\times 25\), \(61\times 30\)

The same experiment has been carried out starting from the Reuleaux’s rotated triangle. This body is known to be the body of least surface area among constant width body of revolution. By this experiment, we wanted to study the optimality of that body in the larger class of sets of constant width. As it is reported in Figs. 2 and 3, this body is not numerically speaking a local optima: the critical shape that has been found seems to be build on a Reuleaux pentagon by the process described in [14]. To conclude, as reported in the introduction, notice that the shape of Fig. 2 satisfies the weak optimality condition which has been described in [3]: for any \(\omega \in {\mathbf{S}^2}\) small enough, the part of the boundary of that body which normals are \(\omega \) and the opposite part which normals are \(-\omega \) are not both regular.

Fig. 2
figure 2

Result of the local optimization of reuleaux rotated body

Fig. 3
figure 3

Initial and final \(h\) support functions

4 Minkowski Sums: An Algebraic Discretization for Inequality Constraints

In the following, we are interested in the approximation of an optimal solution of the following problem:

$$\begin{aligned} \min _{K \in \mathcal K } |\partial K|, \end{aligned}$$
(22)

where \(\mathcal{K } =\{ K \subset \mathbb{R }^3, \; \text{ convex},\; w_K(\nu ) \ge 1, \; \forall \nu \in {\mathbf{S}^2}\}\) and \(|\partial K|\) stands for the surface area of the body \(K\). Before introducing our approach, let us first recall some basic facts on Minkowski’s sum of two sets \(A,B\subset \mathbb{R }^3\). We define Minkowski’s sum of sets \(A\) and \(B\) by

$$\begin{aligned} A+B = \left\{ x+y, (x,y)\in A \times B\right\} . \end{aligned}$$

An interesting feature related to the width of a convex set and Minkowski’s sum is its almost linear behaviour. Let \(\lambda , \mu \in \mathbb{R }_+^*\), \(A\) and \(B\) two convex sets of \(\mathbb{R }^N\), then \(\lambda A+\mu B\) is convex and its support function is given by

$$\begin{aligned} \varphi _{\lambda A+\mu B}=\lambda \varphi _{A}+\mu \varphi _{B}. \end{aligned}$$
(23)

When \(A\) and \(B\) are subsets of \(\mathbb{R }^3\) with nonempty interior, the surface area of the resulting body \(S_{\lambda A + \mu B}\) is deduced by the formula

$$\begin{aligned} S_{\lambda A + \mu B}= \lambda ^2 S_A + \mu ^2 S_B+\lambda \mu (S_{A+B}-S_A-S_B). \end{aligned}$$
(24)

We refer to [20] or [4] for the proof of the previous equality and many other results on convex bodies.

4.1 Outline of the Algorithm

Equations (23) and (24) are the starting points of our first method. Let \((K_i)_{i \in I}\) be a finite family of convex sets of \(\mathbb{R }^3\) which contain the origin. Consider the approximation of \(\mathcal K \) obtained by the cone

$$\begin{aligned} \mathcal{C }_I = \Big \{ \sum _{i \in I} \lambda _i K_i, \lambda _i \in \mathbb{R }^+ \Big \}, \end{aligned}$$
(25)

where the positive vector \(\lambda = (\lambda _1, \ldots ) \) is restricted to the subset of vectors which satisfy \(\sum _{i \in I} \lambda _i K_i \in \mathcal K \). By relation (23), the constraint \(\sum _{i \in I} \lambda _i K_i \in \mathcal K \) is equivalent to impose inequality constraints depending on polytopes \((K_j)\) to the coefficients \((\lambda _j)\). That is

$$\begin{aligned} \sum _{i \in I} \lambda _i \varphi _{K_i}(\nu ) \ge 1 \,\, \forall \nu \in {\mathbf{S}^2}. \end{aligned}$$
(26)

It is classical that the convex polytope \(\sum _{i \in I} \lambda _i K_i\) may have a huge number of vertices. Thus it is not possible to impose exactly the previous constraints. Then, we approximate (26) by a naive discretization of \({\mathbf{S}^2}\): let \(\nu _1, \ldots , \nu _m\) be \(m\) randomly chosen vectors of the sphere. We consider the finite set of constraints:

$$\begin{aligned} \varphi _{\scriptscriptstyle \sum _i \lambda _i K_i}(\nu _k)+\varphi _{\scriptscriptstyle \sum _i \lambda _i K_i}(-\nu _k) \ge 1, \quad k=1, \ldots , m \end{aligned}$$

which are equivalent thanks to (23) to

$$\begin{aligned} \sum _i (b_{ik}^+ + b_{ik}^-) \lambda _i \ge 1,\quad k=1, \ldots , m, \end{aligned}$$
(27)

where \(b_{ik}^\pm = \varphi _{K_i}(\pm \nu _k)\). Thus, solutions of the sub-problem

$$\begin{aligned} \min _{K \in \mathcal C_I } |\partial K|, \end{aligned}$$
(28)

may be approximated by the solutions of the quadratic program:

$$\begin{aligned} \min _{ \lambda } \sum _{i,j} a_{ij} \lambda _i \lambda _j, \end{aligned}$$
(29)

for vectors \(\lambda \) which satisfy (27). Moreover according to (24), the coefficients \(a_{ij}\) can be explicitly estimated by the relations

$$\begin{aligned} \left\{ \begin{array}{lll} a_{ij} =&\frac{1}{2} (S_{K_i+K_j}-S_{K_i}-S_{K_j})&i \ne j,\\ a_{ij} =&S_{K_i}&i=j. \end{array} \right. \end{aligned}$$

At this step one main difficulty remains. How do we choose the family \((K_i)\) in an effective way in order to get a reasonable approximation of \(\mathcal K \) ?

4.2 The Cone \(\mathcal C _I\)

4.2.1 The Algorithm

Since it is difficult, to estimate numerically quantities like \(S_{K_i+K_j}\) when the convex bodies \(K_i\) or \(K_j\) have a great number of vertices, we would like to be able to approximate a convex body as a Minkowski’s sum of “simple” polytopes. Whereas it is true in \(\mathbb{R }^2\) that every convex polytope can be decomposed as a finite sum of triangles and segments, the situation is dramatically more complex in dimension \(3\). Actually, any generic convex polytope (that is a polytope every \(2\)-faces of which are triangles) is indecomposable (see [21]). Thus, if we want to generate a sequence of bodies \((K_i)\) whose associated cone (25) converges to \(\mathcal K \), we do not have to restrict ourselves to simplices. We propose the following iterative process to handle this difficulty.

Fix \(l\) the maximum number of extremal points of an element of the sequence \((K_i^0)\), and \(n\) the number of elements of this family. Let \(\varepsilon >0\) be a precision parameter and \(j_\mathrm{max}\) the maximum number of iterations.

  1. 0.

    Set \(j=0\). Choose randomly \(n\) convex polytopes \((K^0_i)\) with at most \(l\) extremal points.

  2. 1.

    Solve the optimization problem (29) associated to the family \((K^j_i)\).

  3. 2.

    Let \(I^j\) be the subset of indices of the optimal vector \(\lambda ^0\) whose components are greater in absolute value than \(\varepsilon \). Construct a new family \((K^{j+1}_i)\) keeping the bodies \((K^{j}_i)_{i \in I^j} \) and choosing randomly the others.

  4. 3.

    Let \(j \leftarrow j+1\). If \(j>j_\mathrm{max}\) or \(I=I^j\) stop, otherwise go to 1.

Of course the parameter \(j_\mathrm{max}\) has to be adjusted in relation with the CPU time needed for solving the optimization step 1. In all our experiments, we used a very naive random generator of convex polytopes in steps \(0\) and \(2\): to pick one convex polytope with at most \(l\) extremal points, we simply consider the convex hull of \(l\) points of \(\mathbb{R }^3\) generated (uniformly) randomly in \([0,1]^3\).

There is no simple way to give convergence estimates with respect to the choice of the parameters \(n\), \(l\), and \(\varepsilon \). We propose hereafter one simple numerical experiment to adjust those parameters.

4.2.2 Numerical Tests

In order to choose relevant values for parameters \(n\), \(l\), and \(\varepsilon \), we test our discretization by Minkowski’s sum to approximate a truncated cone. The cone seems to us difficult to approximate by sum of random polytopes, since its normal directions cover only a subset of \({\mathbf{S}^2}\) of dimension \(1\). To measure the quality of the approximation, we introduce a cost functional based on the Euclidian distance between support functions. Consider one truncated cone \(K\) and its support function \(\varphi _K\). In order to observe, if our algorithm is able to generate a sequence \(K^j\) of bodies which converges to \(K\), we define the following cost function:

$$\begin{aligned} D_K(K^j) = \sum _k \left(\varphi _K (\nu _k) - \varphi _{K^j} (\nu _k)\right)^2, \end{aligned}$$

where \( (\nu _k)\) is a fixed list of arbitrary vectors of \(\mathbf{{S}}^2\). Thanks to (23), the auxiliary optimization problem that we solve at step 1 is the quadratic problem in \(\lambda \):

$$\begin{aligned} \min _{\lambda \ge 0} \sum _k (\varphi _K (\nu _k) - \sum _i \lambda _i \varphi _{K^j_i} (\nu _k))^2. \end{aligned}$$

We present in Fig. 4, the results we obtained for \(K\) equal to a regular cone. The values that have been used to obtain this approximation, are \(\#I=100\), \(\varepsilon =10^{-6}\), \(j_\mathrm{max}=10^5\), \(l=10\) and \(10^4\) normal vectors \(\nu _k\). Notice that a large number of iterations are required in order to get a satisfactory sequence of bodies. This constraint requires an efficient and fast solver for the optimization step.

Fig. 4
figure 4

Approximation of a cone by Minkowski sums

4.3 The Relaxed Problem and the Conjecture of E. Heil

In this section, we apply the previous method to a more realistic situation which was addressed by Heil in his Preprint [9], see also Gruber and Schneider [8, p. 261]. We look for a solution of

$$\begin{aligned} \min _{K \in \mathcal K } |\partial K|, \end{aligned}$$
(30)

where \(\mathcal{K } =\{ K \subset \mathbb{R }^3, \quad \text{ convex},\quad w_K(\nu ) \ge 1, \quad \forall \nu \in {\mathbf{S}^2}\}.\)

As it has been explained, the latter problem can be approximated by a sequence of quadratic problems. Exactly the same method applied on the problem of minimizing the volume would lead to solve a sequence of cubic problems. Up to now, there is no efficient way to solve numerically dense and large cubic problems which makes our method irrelevant in this situation.

Heil propose the following construction of its optimal body: consider the regular tetrahedron of edge-length \(1\) and replace each edge by a circular arc of radius \(\sqrt{2} /2\) and center in the middle of the opposite edge. Take the four points of distance \(\sqrt{2} /2\) to the facets of the tetrahedron which are on the line between a vertex and the center of the opposite facet of the tetrahedron. Heil claims that the convex hull of the pre9vious \(4\) points and \(6\) arcs is a set of width greater or equal than \(\sqrt{2} /2\) (see Fig. 5). Moreover, he observed that its volume and its surface are smaller than the ones of standard convex shapes of same minimal width (such the regular tetrahedron, the circular cone, the ball, Meissner’s tetrahedron and Reuleaux’s tetrahedron). Does this set minimize the volume and the surface among convex bodies of fixed minimal width ?

Fig. 5
figure 5

The body of E. Heil

Due to the approximation made by (29), our algorithm does not always provide us a polytope which is precisely a member of \(\mathcal{K }\). The resulting body satisfies only the width constraint at a discrete level. Notice that for a polytope,

$$\begin{aligned} \Delta = \min _{\nu \in {\mathbf{S}^2}} w_K(\nu ), \end{aligned}$$

is equal to the finite number of conditions

$$\begin{aligned} \min _{\nu _k } w_K(\nu _k), \end{aligned}$$
(31)

where \(\nu _k\) are the normal vectors of the polytope \(K\). In order to get an element of \(\mathcal{K }\), we apply the following post-processing: starting from the result of our optimization process, we first compute its normal vectors. Then thanks to (23) and (31), the polytope defined by \(\frac{1}{\Delta }P\) is in \(\mathcal{K }\).

We present in Fig. 6, two different views of the resulting body. Hereafter are the values related to surfaces area and volumes of the our optimal shape and the body of Heil (for a minimal width equal to \(1\)):

 

Surface area

Volume

Heil body

2.9306

0.2983

Computed shape

2.9249

0.3862

Fig. 6
figure 6

Approximation of the body of fixed minimal width with smallest surface area

Notice that the polytope generated by our algorithm has a significantly smaller surface area than the shape proposed by E. Heil but has a greater volume.

5 Conclusion

Up to our knowledge, our results are the first numerical studies of geometrical optimization problem under width constraints. We introduced two new parametrization of convex bodies which satisfy additional width constraints. We illustrated the efficiency of both approaches by the numerical approximation of three open problems from convex geometry. Our results prove Heil’s conjecture concerning surface area.