Skip to main content

A Fast and Practical Method to Estimate Volumes of Convex Polytopes

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9130))

Abstract

The volume is an important attribute of a convex body. In general, it is quite difficult to calculate the exact volume. But in many cases, it suffices to have an approximate value. Volume estimation methods for convex bodies have been extensively studied in theory, however, there is still a lack of practical implementations of such methods. In this paper, we present an efficient method which is based on the Multiphase Monte-Carlo algorithm to estimate volumes of convex polytopes. It uses the coordinate directions hit-and-run method, and employs a technique of reutilizing sample points. We also introduce a new result checking method for performance evaluation. The experiments show that our method can efficiently handle instances with dozens of dimensions with high accuracy.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    “soft-O” notation \(O^*\) indicates that we suppress factors of \(\log n\) as well as factors depending on other parameters like the error bound.

References

  1. Dyer, M., Frieze, A.: On the complexity of computing the volume of a polyhedron. SIAM J. Comput. 17(5), 967–974 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  2. Khachiyan, L.G.: On the complexity of computing the volume of a polytope. Izvestia Akad. Nauk SSSR Tekhn. Kibernet 3, 216–217 (1988)

    Google Scholar 

  3. Khachiyan, L.G.: The problem of computing the volume of polytopes is NP-hard. Uspekhi Mat. Nauk. 44, 179–180 (1989). In Russian; translation in. Russian Math. Surv. 44(3), 199–200

    MATH  MathSciNet  Google Scholar 

  4. Büeler, B., Enge, A., Fukuda, K.: Exact volume computation for polytopes: a practical study. In: Kalai, G., Ziegler, G.M. (eds.) Polytopes—Combinatorics and Computation, pp. 131–154. Birkhäuser Verlag, Birkhäuser Basel (2000)

    Google Scholar 

  5. Dyer, M., Frieze, A., Kannan, R.: A random polynomial time algorithm for approximating the volume of convex bodies. In: 21st Annual ACM Symposium on Theory of Computing, pp. 375–381 (1989)

    Google Scholar 

  6. Lovász, L., Simonovits M.: Mixing rate of Markov chains, an isoperimetric inequality, and computing a the volume. In: 31st Annual Symposium on Foundations of Computer Science, Vol. I, II, pp. 346–354 (1990)

    Google Scholar 

  7. Kannan, R., Lovász, L., Simonovits, M.: Random walks and an \(O^*(n^5)\) volume algorithm for convex bodies. Random Struct. Algorithms 11(1), 1–50 (1997)

    Article  MATH  Google Scholar 

  8. Lovász, L.: Hit-and-Run mixes fast. Math. Prog. 86(3), 443–461 (1999)

    Article  MATH  Google Scholar 

  9. Lovász, L., Vempala, S.: Simulated annealing in convex bodies and an \(O^*(n^4)\) volume algorithm. J. Comput. Syst. Sci. 72(2), 392–417 (2006)

    Article  MATH  Google Scholar 

  10. http://www.math.u-bordeaux1.fr/aenge/?category=software&page=vinci

  11. Grötschel, M., Lovász, L., Schrijver, A.: Geometric Algorithms and Combinatorial Optimization. Springer, Heidelberg (1993)

    Book  MATH  Google Scholar 

  12. Goldfarb, D., Todd, M.J.: Modifications and implementation of the ellipsoid algorithm for linear programming. Math. Program. 23(1), 1–19 (1982)

    Article  MATH  MathSciNet  Google Scholar 

  13. Smith, R.L.: Efficient Monte-Carlo procedures for generating points uniformly distributed over bounded regions. Oper. Res. 32, 1296–1308 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  14. Berbee, H.C.P., Boender, C.G.E., Ran, A.R., Scheffer, C.L., Smith, R.L., Telgen, J.: Hit-and-run algorithms for the identification of nonredundant linear inequalities. Math. Program. 37(2), 184–207 (1987)

    Article  MATH  Google Scholar 

  15. Belisle, C.J.P., Romeijn, H.E., Smith, R.L.: Hit-and-run algorithms for generating multivariate distributions. Math. Oper. Res. 18(2), 255–266 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  16. Liu, S., Zhang, J., Zhu, B.: Volume computation using a direct Monte Carlo method. In: Lin, G. (ed.) COCOON 2007. LNCS, vol. 4598, pp. 198–209. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  17. Lovász, L., Deák, I.: Computational results of an \(O^*(n^4)\) volume algorithm. Eur. J. Oper. Res. 216, 152–161 (2012)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cunjing Ge .

Editor information

Editors and Affiliations

Appendices

Appendix

A About the Number of Sample Points

From Formula (1),

$$\begin{aligned} \frac{vol(P)}{vol(B(0,1))} = \prod _{i=0}^{l-1} \alpha _i = \prod _{i=0}^{l-1} \frac{step\_size}{c_i} = \frac{step\_size^l}{\prod _{i=0}^{l-1} c_i}, \end{aligned}$$

which shows that to obtain confidence interval of \(vol(P)\), we only have to focus on \(\prod _{i=0}^{l-1} c_i\). For a fixed \(P\), \(\{\alpha _i\}\) are fixed numbers. Let \(c = \prod _{i=1}^{l}c_i\) and \(\mathbb {D}(l, P)\) denote the distribution of \(c\). With statistical results of substantial expriments on concentric balls, we observe that, when \(step\_size\) is sufficiently large, the distribution of \(c_i\) is unbiased and its standard deviation is smaller than twice of the standard deviation of binomial distribution in dimensions below 80. Though such observation sometimes not holds when we sample on convex bodies other than balls, we still use this to approximate the distribution of \(c_i\). Consider random variables \(X_i\) following binomial distribution \(\mathbb {B}(step\_size, 1 / \alpha _i)\), we have

$$\begin{aligned} E(c) = E(c_1) \dots E(c_l) = E(X_1) \dots E(X_l) = step\_size^l \prod _{i=1}^{l}\frac{1}{\alpha _i}, \end{aligned}$$
$$\begin{aligned} D(c)= & {} E((c_1 \dots c_l)^2) - E(c)^2 = \prod _{i=1}^{l}(D(c_i)+E(c_i)^2) - E(c)^2\\= & {} \prod _{i=1}^{l}(4D(X_i)+E(X_i)^2) - E(c)^2\\= & {} \prod _{i=1}^{l}\frac{step\_size^2}{\alpha _i^2}(1+\frac{4\alpha _i}{step\_size}(1-\frac{1}{\alpha _i})) - E(c)^2\\= & {} E(c)^2(\beta - 1), \end{aligned}$$

where \(\beta = \prod _{i=1}^{l}(1 + \frac{4\alpha _i}{step\_size} - \frac{4}{step\_size})\).

Suppose \(\{\xi _1, \dots , \xi _{t}\}\) is a sequence of i.i.d. random variables following \(\mathbb {D}(l, P)\). Notice \(D(c)\), the variance of \(\mathbb {D}(l, P)\), is finite because \(\beta - 1 \rightarrow 0\) as \(t\rightarrow \infty \). According to central limit theorem, we have

$$\begin{aligned} \frac{\sum _{i=1}^{t}\xi _i - tE(c)}{\sqrt{t} D(c)} \mathop {\rightarrow }\limits ^{d} N(0, 1). \end{aligned}$$

So we obtain the approximation of \(95\,\%\) confidence interval of \(c\), \([E(c) - \sigma \sqrt{D(c)}, E(c) + \sigma \sqrt{D(c)}]\), where \(\sigma = 1.96\). And

$$\begin{aligned} Pr(\frac{vol(B(0, 1))step\_size^l}{E(c) + \sigma \sqrt{D(c)}} \le \overline{vol(P)} \le \frac{vol(B(0, 1))step\_size^l}{E(c) - \sigma \sqrt{D(c)}}) \approx 0.95. \end{aligned}$$

Let \(\epsilon \in [0, 1]\) denote the ratio of confidence interval’s range to exact value of \(vol(P)\), that is

$$\begin{aligned}&\frac{vol(B(0, 1))step\_size^l}{E(c) + \sigma \sqrt{D(c)}} - \frac{vol(B(0, 1))step\_size^l}{E(c) - \sigma \sqrt{D(c)}} \le vol(P) \cdot \epsilon \end{aligned}$$
(5)
$$\begin{aligned}\Longleftrightarrow & {} \frac{1}{E(c) - \sigma \sqrt{D(c)}} - \frac{1}{E(c) + \sigma \sqrt{D(c)}} \le \frac{\epsilon }{E(c)}\end{aligned}$$
(6)
$$\begin{aligned}\Longleftrightarrow & {} \frac{1}{1 - \sigma \sqrt{\beta - 1}} - \frac{1}{1 + \sigma \sqrt{\beta - 1}} \le \epsilon \end{aligned}$$
(7)
$$\begin{aligned}\Longleftrightarrow & {} 4\sigma ^2(\beta - 1) \le \epsilon ^2 (1 + \sigma ^2 - \sigma ^2\beta )^2\end{aligned}$$
(8)
$$\begin{aligned}\Longleftrightarrow & {} \epsilon ^2\sigma ^2\beta ^2 - 2\epsilon ^2(1+\sigma ^2)\beta - 4\beta + (\frac{1}{\sigma }+\sigma )^2 + 4 \ge 0. \end{aligned}$$
(9)

Solve inequality (9), we get \(\beta _1(\epsilon , \sigma )\), \(\beta _2(\epsilon , \sigma )\) that \(\beta \le \beta _1\) and \(\beta \ge \beta _2\) (ignore \(\beta \ge \beta _2\) because \(1 - \sigma \sqrt{\beta _2-1} < 0\)). \(\beta \le (1 + \frac{4}{step\_size})^l\), since \(1 \le \alpha _i \le 2\).

$$\begin{aligned} (1 + \frac{4}{step\_size})^l \le \beta _1 \Longleftrightarrow step\_size \ge \frac{4}{\beta _1^{1 / l} - 1}, \end{aligned}$$
(10)

(10) is a sufficient condition of \(\beta \le \beta _1\). Furthermore, \(4 / (l\beta _1^{1 / l} - l)\) is nearly a constant as \(\epsilon \) and \(\sigma \) are fixed. For example, \(4 / (l\beta _1^{1 / l} - l) \approx 1569.2 \le 1600\) when \(\epsilon = 0.2\), \(\sigma = 1.96\). So \(step\_size = 1600l\) keeps the range of \(95\,\%\) confidence interval of \(vol(P)\) less than \(20\,\%\) of the exact value of \(vol(P)\).

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Ge, C., Ma, F. (2015). A Fast and Practical Method to Estimate Volumes of Convex Polytopes. In: Wang, J., Yap, C. (eds) Frontiers in Algorithmics. FAW 2015. Lecture Notes in Computer Science(), vol 9130. Springer, Cham. https://doi.org/10.1007/978-3-319-19647-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-19647-3_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-19646-6

  • Online ISBN: 978-3-319-19647-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics