Skip to main content
Log in

A dual simplex-type algorithm for the smallest enclosing ball of balls

  • Published:
Computational Optimization and Applications Aims and scope Submit manuscript

Abstract

We develop a dual simplex-type algorithm for computing the smallest enclosing ball of a set of balls and other closely related problems. Our algorithm employs a pivoting scheme resembling the simplex method for linear programming, in which a sequence of exact curve searches is performed until a new dual feasible solution with a strictly smaller objective function value is found. We utilize the Cholesky factorization and procedures for updating it, yielding a numerically stable implementation of the algorithm. We show that our algorithm can efficiently solve instances of dimension 5000 with 100000 points, often within minutes.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  1. Agarwal, P.K., Har-Peled, S., Varadarajan, K.R.: Geometric approximation via coresets, in Combinatorial and Computational Geometry, pp. 1–30. University Press, MSRI (2005)

  2. Alizadeh, F., Goldfarb, D.: Second-order cone programming. Math. Program. 95, 3–51 (2003)

    Article  MathSciNet  Google Scholar 

  3. Ben-Hur, A., Horn, D., Siegelmann, H.T., Vapnik, V.: Support vector clustering. J. Mach. Learn. Res. 2, 125–137 (2002)

    MATH  Google Scholar 

  4. Bădoiu, M., Clarkson, K.L.: Optimal core-sets for balls. Comput. Geometry 40, 14–22 (2008)

    Article  MathSciNet  Google Scholar 

  5. Bădoiu, M., Har-Peled, S., Indyk, P.: Approximate clustering via core-sets. In: Proc. 34th Annual ACM Symp. on Theory of Computing, STOC ’02, New York, NY, USA, ACM, pp. 250–257 (2002)

  6. Bulatov, Y., Jambawalikar, S., Kumar, P., Sethia, S.: Hand recognition using geometric classifiers in authentication biometric, pp. 753–759. Springer, Heidelberg (2004)

    Google Scholar 

  7. Cavaleiro, M.: Simplex-Like Methods for Spherical Enclosure of Points and Spheres - Algorithms and Applications, Ph.D. Thesis, Rutgers University (2020)

  8. Cavaleiro, M., Alizadeh, F.: A faster dual algorithm for the Euclidean minimum covering ball problem. Annal Op Res 5, 1056 (2018)

    Google Scholar 

  9. Chapelle, O., Vapnik, V., Bousquet, O., Mukherjee, S.: Choosing multiple parameters for support vector machines. Mach Learn 46, 131–159 (2002)

    Article  Google Scholar 

  10. Dearing, P.M., Zeck, C.R.: A dual algorithm for the minimum covering ball problem in \(\mathbb{R}^n\). Op Res Lett 37, 171–175 (2009)

    Article  Google Scholar 

  11. Dyer, M.: A class of convex programs with applications to computational geometry. In: Proc. of the 8th Annual Symp. on Computational Geometry, SCG ’92, New York, NY, USA, ACM, pp. 9–15 (1992)

  12. Dyer, M., Gärtner, B., Megiddo, N., Welzl, E.: Linear programming. Chapman and Hall/CRC, Boca Raton (2017)

    Google Scholar 

  13. Dyer, M., Megiddo, N., Welzl, E.: Linear programming. Chapman and Hall/CRC, Boca Raton (2004)

    Google Scholar 

  14. Fischer, K., Gärtner, B.: The smallest enclosing ball of balls: combinatorial structure and algorithms. Int. J. Comput. Geometry Appl. 14, 341–387 (2004)

    Article  MathSciNet  Google Scholar 

  15. Fischer, K., Gärtner, B., Kutz, M.: Fast smallest-enclosing-ball computation in high dimensions, in Algorithms - ESA. Lecture Notes in Computer Science, vol. 2832. Springer 2003, 630–641 (2003)

  16. Gill, P.E., Golub, G.H., Murray, W., Saunders, M.A.: Methods for modifying matrix factorizations. Math. Comput. 28, 505–535 (1974)

    Article  MathSciNet  Google Scholar 

  17. Goldfarb, D.: Factorized variable metric methods for unconstrained optimization. Math. Comput. 30, 796–811 (1976)

    Article  MathSciNet  Google Scholar 

  18. Goldfarb, D., Idnani, A.: A numerically stable dual method for solving strictly convex quadratic programs. Math. Program. 27, 1–33 (1983)

    Article  MathSciNet  Google Scholar 

  19. Golub, G.H., Van Loan, C.: Matrix computations, 3rd edn. Johns Hopkins University Press, Baltimore (1996)

    MATH  Google Scholar 

  20. Hale, T.S., Moberg, C.R.: Location science research: a review. Annal. Op. Res. 123, 21–35 (2003)

    Article  MathSciNet  Google Scholar 

  21. Hubbard, P.M.: Approximating polyhedra with spheres for time-critical collision detection. ACM Trans. Gr. 15, 179–210 (1996)

    Article  Google Scholar 

  22. Källberg, L., Larsson, T.: Faster approximation of minimum enclosing balls by distance filtering and GPU parallelization. J. Gr. Tools 17, 67–84 (2013)

    Article  Google Scholar 

  23. Kumar, P., Mitchell, J.S.B., Yildirim, E.A.: Approximate minimum enclosing balls in high dimensions using core-sets. ACM J. Exp. Algorithm. 8, 689 (2003)

    Article  MathSciNet  Google Scholar 

  24. Larsson, T., Capannini, G., Källberg, L.: Parallel computation of optimal enclosing balls by iterative orthant scan. Computers & Gr 56, 1–10 (2016)

    Article  Google Scholar 

  25. Larsson, T., Källberg, L.: Fast and robust approximation of smallest enclosing balls in arbitrary dimensions. In: Proc. 11th Eurographics/ACMSIGGRAPH Symp. on Geometry Processing, SGP ’13, Aire-la-Ville, Switzerland, Eurographics Association, pp. 93–101 (2013)

  26. Megiddo, N.: On the ball spanned by balls, discrete. Comput. Geom. 4, 605–610 (1989)

    Article  MathSciNet  Google Scholar 

  27. Moradi, E., Bidkhori, M.: Single facility location problem. In: Location, Facility (ed.) Concepts, pp. 37–68. Physica-Verlag HD, Models, Algorithms and Case Studies, Heidelberg (2009)

  28. Mordukhovich, B., Nam, N.M., Villalobos, C.: The smallest enclosing ball problem and the smallest intersecting ball problem: existence and uniqueness of solutions. Optim. Lett. 7, 839–853 (2013)

    Article  MathSciNet  Google Scholar 

  29. MOSEK ApS: The MOSEK optimization toolbox for MATLAB manual. Version 8.1 (2017)

  30. Nam, N.M., Hoang, N., An, N.T.: Constructions of solutions to generalized Sylvester and Fermat-Torricelli problems for Euclidean balls. J. Optim. Theor. Appl. 160, 483–509 (2014)

    Article  MathSciNet  Google Scholar 

  31. Nam, N.M., Nguyen, T.A., Salinas, J.: Applications of convex analysis to the smallest intersecting ball problem. J. Convex Anal. 19, 497–518 (2012)

    MathSciNet  MATH  Google Scholar 

  32. Nielsen, F., Nock, R.: Approximating smallest enclosing balls with applications to machine learning. Int. J. Comput. Geom. Appl. 19, 389–414 (2009)

    Article  MathSciNet  Google Scholar 

  33. Panigrahy, R.: Minimum enclosing polytope in high dimensions, CoRR, cs.CG/0407020 (2004)

  34. Plastria, F.: Continuous covering location problems. In: Location, Facility (ed.) Applications and Theory, pp. 37–79. Springer, Berlin (2002)

  35. Sharir, M., Welzl, E.: A combinatorial bound for linear programming and related problems. In: STACS 92, Berlin, Heidelberg, pp. 567–579. Springer (1992)

  36. Toh, K.C., Todd, M.: SDPT3 - a MATLAB software package for semidefinite programming. Optim. Methods Softw. 11, 545–581 (1999)

    Article  MathSciNet  Google Scholar 

  37. Tsang, I.W., Kwok, J.T., Cheung, P.-M.: Core vector machines: fast SVM training on very large data sets. J. Mach. Learn. Res. 6, 363–392 (2005)

    MathSciNet  MATH  Google Scholar 

  38. Yildirim, E.A.: Two algorithms for the minimum enclosing ball problem. SIAM J. Optim. 19, 1368–1391 (2008)

    Article  MathSciNet  Google Scholar 

  39. Zhou, G., Tohemail, K.-C., Sun, J.: Efficient algorithms for the smallest enclosing ball problem. Comput. Optim. Appl. 30, 147–160 (2005)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

The authors would like to thank the anonymous reviewers for their insightful and constructive feedback.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marta Cavaleiro.

Ethics declarations

Funding

Not applicable.

Conflict of interest

The authors declare that they have no conflict of interest to declare.

Availability of data and material

Not applicable.

Code availability

For access to the code, please contact the corresponding author.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A proof of theorem 2

A proof of theorem 2

The proof of the correctness of Algorithm 3 follows a similar approach to [18], and relies on the following definition and lemmas.

Definition 3

The triple \((x, \mathcal {S}, p^*)\) is said to be a (violated) V-triple if:

  1. (a)

    \(\overline{\mathcal {S}}\cup \{\overline{p}^*\}\) is affinely independent,

  2. (b)

    \(\left\| {\overline{p}^*-\overline{x}}\right\| \ge (p^*_0-x_0)\),

  3. (c)

    \(\left\| {\overline{p}_i-\overline{x}}\right\| =(p_{i0}-x_0)\), for all \(p_i\in \mathcal {S}\),

  4. (d)

    \(\overline{x}\in {\text {conv}}(\overline{\mathcal {S}}\cup \{\overline{p}^*\})\).

Lemma 2

Assume that, at the beginning of a curve search, we have a V-triple \((x^j, \mathcal {S}^j, p^*)\) such that \(|\mathcal {S}^j|>1\). Suppose a full step is taken (\({x}_0^{ F } > x_0^{ P })\). Then,

  1. i.

    \((\mathcal {S}^j\cup \{p^*\},x^{ F })\) is a dual feasible S-pair,

  2. ii.

    \({x}_0^{ F }\le x_0^j\).

Proof

It is easy to see that \((\mathcal {S}^j\cup \{p^*\}, x^{ F })\) is a dual feasible S-pair. First, \(\overline{\mathcal {S}}^j\cup \{\overline{p}^*\}\) is affinely independent by assumption. Additionally, \(\overline{x}^{ F }\in {\text {ri}}{\text {conv}}(\overline{\mathcal {S}}^j)\), because otherwise there would exist an \(\alpha _i(x_0^{ F })=0\), meaning a partial step would have been taken instead, contradicting the assumption that \({x}_0^{ F } > x_0^{ P }\). Finally, recall that the full step finds a point \(x^{ F }\) such that \(\left\| {\overline{p}^*-\overline{x}^{ F }}\right\| = p^*_0-x_0^{ F }\), \(\left\| {\overline{p}_{j_i}-\overline{x}^{ F }}\right\| = p_{{j_i}0} -x_0^{ F }\), \(\forall \, p_{j_i}\in \mathcal {S}^j\), and \(\overline{x}\in {\text {aff}}(\overline{\mathcal {S}}\cup \{\overline{p}^*\})\), whenever these conditions are feasible. Lastly, \({x}_0^{ F }\le x_0^j\) follows from the definition of full step. \(\square\)

Lemma 3

Assume that, at the beginning of a curve search, we have a V-triple \((x^j, \mathcal {S}^j, p^*)\) such that \(|\mathcal {S}^j|>1\). Suppose a partial step was taken (\({x}_0^{ F } \le x_0^{ P }\)). Let \(p_{j_k}\in \mathcal {S}^j\) be the point selected to be dropped from \(\mathcal {S}^j\). Then,

  1. i.

    \(({x}^{ P }, \mathcal {S}^j\setminus \{p_{j_k}\}, p^*)\) is a V-triple,

  2. ii.

    \({x}_0^{ P }\le x_0^j\).

Proof

Item ii., \({x}_0^{ P }\le x_0^j\), follows from the definition of partial step. Let us now prove properties (a-d) from Definition 3 for \(({x}^{ P }, \mathcal {S}^j\setminus \{p_{j_k}\}, p^*)\). Property (a) follows from the assumption that \((x^j, \mathcal {S}^j, p^*)\) is a V-triple. Property (b) is proved by a continuity argument: since the curve search starts at \(x^j\) such that \(\Vert \overline{p}^*-\overline{x}^j\Vert \ge p_{0}^* -x_0^j\) and it ends at \(x^{ P }\) such that \(x_0^{ F }\le x_0^{ P }\le x_0^j\), then \(\Vert \overline{p}^*-\overline{x}^{ P }\Vert \ge p_{0}^* -x_0^{ P }\) (recall that \(x_0\) is decreasing and \(x^{ F }\) corresponds to the point of smallest value \(x_0\le x_0^j\) for which \(\Vert \overline{p}^*-\overline{\varGamma _j}^+(x_0)\Vert \ge p_{0}^* -x_0\)). Property (c) is maintained at any point of the curve so it holds for \(x^{ P }\), and property (d) also holds since \(\alpha _i(x_0^{ P })\ge 0\) and \(\alpha ^*(x_0^{ P })\ge 0\). \(\square\)

Lemma 4

Suppose \(|\mathcal {S}^j|=1\). Let \(x^{j+1}\) and \(\mathcal {S}^{j+1}\) be the optimal solution and basis, respectively, of \({\rm{Inf}}_{{\rm{Q}}} (S^{j} \cup \{ p^{*} \} )\) obtained from Proposition 4. Then \((\mathcal {S}^{j+1}, x^{j+1})\) is a dual feasible S-pair.

Lemma 5

Let \((\mathcal {S}^j, x^j)\) be a dual feasible S-pair and \(p^*\in \mathcal {P}\) correspond to an infeasible constraint at \(x^j\). Suppose \(\overline{\mathcal {S}}^j\cup \{\overline{p}^*\}\) is affinely dependent and let \(p_{j_k}\in \mathcal {S}^j\) be the point corresponding to the minimizing index of (13), k. Then, \((x^j, \mathcal {S}^j\setminus \{p_{j_k}\}, p^*)\) is a V-triple.

Proof

First note that the affine dependence assumption implies that \(|\mathcal {S}^j|>1\). To prove that \((x^j, \mathcal {S}^j\setminus \{p_{j_k}\}, p^*)\) is a V-triple, we need to prove the four properties from Definition 3. Property (b) is trivial, and property (c) follows directly from \((\mathcal {S}^j, x^j)\) being a dual feasible S-pair. Now, in order to prove (a), suppose, by contradiction, that \(\overline{\mathcal {S}}^j\setminus \{\overline{p}_{j_k}\}\cup \{\overline{p}^*\}\) is affinely dependent. Since \(\overline{\mathcal {S}}^j\setminus \{\overline{p}_{j_k}\}\) is affinely independent, there exists \(\beta _i\), \(i\ne k\), such that

$$\begin{aligned} \textstyle \overline{p}^* = \sum_{i=1, i\ne k}^{s}{\beta _i\overline{p}_{j_i}},\quad \text {with} \quad \sum _{i=1, i\ne k }^{s}\beta _i=1. \end{aligned}$$

On the other hand, \(z=\overline{p}^*-\overline{p}_1+Mw=0\) since \(\overline{\mathcal {S}}^j\cup \{\overline{p}^*\}\) is affinely dependent. Thus \(\textstyle \overline{p}^* = - \sum _{i=1}^{s}{\sigma _i\overline{p}_{j_i}}\), for \(\sigma _i\), \(i=1,...,s\), as in (12). As a consequence, we have

$$\begin{aligned} \textstyle \overline{p}_{j_k} = \sum _{i=1, i\ne k}^{s}{\frac{\beta _i+\sigma _i}{-\sigma _k}\overline{p}_{j_i}},\quad \text {with} \; \sum _{ i=1, i\ne k }^{s} \frac{\beta _i+\sigma _i}{-\sigma _k} = 1, \end{aligned}$$

contradicting the affine independence of \(\overline{\mathcal {S}}^j\) (note that \(\sigma _k< 0\)).

Now consider \(\rho\) as in (12). Let \(\delta =\rho -\frac{\rho _k}{\sigma _k}\sigma\) and \(\theta =-\frac{\rho _k}{\sigma _k}\). It is easy to see that \(\delta \ge 0\) and, in particular, \(\delta _k=0\). Since \(z=0\), property (d) now follows from:

$$\begin{aligned} M\delta _{2:s}+\theta (\overline{p}^*-\overline{p}_{j_1})+\overline{p}_{j_1}=M(u+x_0v) + \overline{p}_{j_1}- \frac{\rho _k}{\sigma _k}z=\overline{x}^j. \end{aligned}$$

\(\square\)

Recall that the algorithm is initialized with a dual feasible S-pair. The lemmas above show that we always have a V-triple before a curve search; and that we always have a dual feasible S-pair at the beginning of a new loop iteration when an infeasible point \(p^*\) is selected. We conclude that, starting from a V-triple \((x^j,\mathcal {S}^j,p^*)\) for which \(\left\| {\overline{p}^*-\overline{x}^j}\right\| >(p_0^*-x_0^j)\), one can obtain a new dual feasible S-pair, \((\mathcal {S}^{j+1},{x}^{j+1})\), in \(|\mathcal {S}^j|-|\mathcal {S}^{j+1}|\le n\) partial steps and one full step. This new feasible S-pair is such that \(\mathcal {S}^{j+1}\subseteq \mathcal {S}^j\), and \(x^{j+1}_0<x_0^j\), since, even though the value of \(x_0\) may not change in some partial steps or in a full step, the value of \(x_0\) must decrease either in at least one of the partial steps or the full step. That is because, otherwise, we would have \(x^{j+1}=x^j\), contradicting the fact that \(p^*\) is infeasible at \(x^j\). Therefore, since the value of \(x_0\) strictly decreases at each loop iteration, the same dual feasible S-pair can never reoccur. Since the number of dual feasible S-pairs is finite, we conclude the statement of Theorem 2.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Cavaleiro, M., Alizadeh, F. A dual simplex-type algorithm for the smallest enclosing ball of balls. Comput Optim Appl 79, 767–787 (2021). https://doi.org/10.1007/s10589-021-00283-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10589-021-00283-6

Keywords

Navigation