Skip to main content

Complexity Estimates for Fourier-Motzkin Elimination

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

Abstract

In this paper, we propose an efficient method for removing all redundant inequalities generated by Fourier-Motzkin Elimination. This method is based on an improved version of Balas’ work and can also be used to remove all redundant inequalities in the input system. Moreover, our method only uses arithmetic operations on matrices and avoids resorting to linear programming techniques. Algebraic complexity estimates and experimental results show that our method outperforms alternative approaches, in particular those based on linear programming and the simplex algorithm.

Keywords

  • Polyhedral set
  • Fourier-Motzkin Elimination
  • Algebraic complexity
  • Efficient implementation

This is a preview of subscription content, access via your 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   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.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.

    It should be noted that, although we are using his idea, we have found a flaw in Balas’ paper. In fact, the last inequality in representation of \(W^0\) is written as equality that paper.

  2. 2.

    For example, P is generated by \(\{(1,2,3,4)^t, (2,3,4,5)^t, (2,3,7,9)^t\}\), the projection of P onto the last two coordinates is generated by \(\{(3,4)^t, (4,5)^t, (7,9)^t\}\).

References

  1. Bagnara, R., Hill, P.M., Zaffanella, E., Bagnara, A.: The parma polyhedra library user’s manual (2002)

    Google Scholar 

  2. Balas, E.: Projection with a minimal system of inequalities. Comput. Optim. Appl. 10(2), 189–193 (1998)

    CrossRef  MathSciNet  Google Scholar 

  3. Bastoul, C.: Code generation in the polyhedral model is easier than you think. In: Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques, PACT 2004, pp. 7–16. IEEE Computer Society, Washington, DC (2004). https://doi.org/10.1109/PACT.2004.11

  4. Benabderrahmane, M.-W., Pouchet, L.-N., Cohen, A., Bastoul, C.: The polyhedral model is more widely applicable than you think. In: Gupta, R. (ed.) CC 2010. LNCS, vol. 6011, pp. 283–303. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11970-5_16

    CrossRef  Google Scholar 

  5. Blumofe, R.D., Joerg, C.F., Kuszmaul, B.C., Leiserson, C.E., Randall, K.H., Zhou, Y.: Cilk: an efficient multithreaded runtime system. SIGPLAN Not. 30(8), 207–216 (1995). https://doi.org/10.1145/209937.209958

    CrossRef  Google Scholar 

  6. Bondhugula, U., Hartono, A., Ramanujam, J., Sadayappan, P.: A practical automatic polyhedral parallelizer and locality optimizer. SIGPLAN Not. 43(6), 101–113 (2008). https://doi.org/10.1145/1379022.1375595

    CrossRef  Google Scholar 

  7. Boulme, S., Marechaly, A., Monniaux, D., Perin, M., Yu, H.: The verified polyhedron library: an overview, pp. 9–17 (2018)

    Google Scholar 

  8. Bruns, W., Ichim, B.: Normaliz: algorithms for affine monoids and rational cones. J. Algebra 324(5), 1098–1113 (2010)

    CrossRef  MathSciNet  Google Scholar 

  9. Bruns, W., Römer, T., Sieg, R., Söger, C.: Normaliz 3.0 (2008)

    Google Scholar 

  10. Chen, C., Covanov, S., Mansouri, F., Maza, M.M., Xie, N., Xie, Y.: The basic polynomial algebra subprograms. In: Hong, H., Yap, C. (eds.) ICMS 2014. LNCS, vol. 8592, pp. 669–676. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-44199-2_100

    CrossRef  Google Scholar 

  11. Chernikov, S.N.: Contraction of systems of linear inequalities. Dokl. Akad. Nauk SSSR 131(3), 518–521 (1960)

    MathSciNet  Google Scholar 

  12. Chernikova, N.V.: Algorithm for finding a general formula for the non-negative solutions of a system of linear inequalities. Zhurnal Vychislitel’noi Mat. Mat. Fiziki 5(2), 334–337 (1965)

    MathSciNet  Google Scholar 

  13. Christof, T., Löbel, A.: PORTA: polyhedron representation transformation algorithm, version 1.3. 2. Konrad-Zuse-Zentrum für Informationstechnik Berlin (2000)

    Google Scholar 

  14. Dantzig, G.B.: Fourier-Motzkin elimination and its dual. Technical report (1972)

    Google Scholar 

  15. Feautrier, P.: Dataflow analysis of array and scalar references. Int. J. Parallel Program. 20, 23–53 (1991). http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.1342

    CrossRef  Google Scholar 

  16. Feautrier, P.: Automatic parallelization in the polytope model. In: Perrin, G.-R., Darte, A. (eds.) The Data Parallel Programming Model. LNCS, vol. 1132, pp. 79–103. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-61736-1_44

    CrossRef  Google Scholar 

  17. Fukuda, K.: The CDD and CDDplus homepage. https://www.inf.ethz.ch/personal/fukudak/cdd_home/

  18. Fukuda, K., Prodon, A.: Double description method revisited. In: Deza, M., Euler, R., Manoussakis, I. (eds.) CCS 1995. LNCS, vol. 1120, pp. 91–111. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-61576-8_77

    CrossRef  Google Scholar 

  19. von zur Gathen, J., Gerhard, J.: Modern Computer Algebra, 2nd edn. Cambridge University Press, New York (2003)

    MATH  Google Scholar 

  20. Gawrilow, E., Joswig, M.: Polymake: a framework for analyzing convex polytopes. In: Kalai, G., Ziegler, G.M. (eds.) Polytopes-Combinatorics and Computation, pp. 43–73. Springer, Heidelberg (2000). https://doi.org/10.1007/978-3-0348-8438-9_2

    CrossRef  MATH  Google Scholar 

  21. Grosser, T., Zheng, H., Aloor, R., Simbürger, A., Größlinger, A., Pouchet, L.: Polly - polyhedral optimization in LLVM. In: First International Workshop on Polyhedral Compilation Techniques (IMPACT 2011), Chamonix, France, April 2011

    Google Scholar 

  22. Henk, M., Richter-Gebert, J., Ziegler, G.M.: 16 basic properties of convex polytopes. Handb. Discrete Comput. Geometry 255–382 (2004)

    Google Scholar 

  23. Huynh, T., Lassez, C., Lassez, J.L.: Practical issues on the projection of polyhedral sets. Ann. Math. Artif. Intell. 6(4), 295–315 (1992)

    CrossRef  MathSciNet  Google Scholar 

  24. Imbert, J.L.: Fourier’s elimination: which to choose? In: PPCP, pp. 117–129 (1993)

    Google Scholar 

  25. Jing, R.-J., Moreno Maza, M.: Computing the integer points of a polyhedron, I: algorithm. In: Gerdt, V.P., Koepf, W., Seiler, W.M., Vorozhtsov, E.V. (eds.) CASC 2017. LNCS, vol. 10490, pp. 225–241. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66320-3_17

    CrossRef  MATH  Google Scholar 

  26. Jing, R.-J., Moreno Maza, M.: Computing the integer points of a polyhedron, II: complexity estimates. In: Gerdt, V.P., Koepf, W., Seiler, W.M., Vorozhtsov, E.V. (eds.) CASC 2017. LNCS, vol. 10490, pp. 242–256. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66320-3_18

    CrossRef  MATH  Google Scholar 

  27. Karmarkar, N.: A new polynomial-time algorithm for linear programming. In: Proceedings of the Sixteenth Annual ACM Symposium on Theory of Computing, STOC 1984, pp. 302–311. ACM, New York (1984). https://doi.org/10.1145/800057.808695

  28. Khachiyan, L.: Fourier-Motzkin elimination method. In: Floudas, C.A., Pardalos, P.M. (eds.) Encyclopedia of Optimization, 2nd edn., pp. 1074–1077. Springer, Heidelberg (2009). https://doi.org/10.1007/978-0-387-74759-0_187

    CrossRef  Google Scholar 

  29. Kohler, D.A.: Projections of convex polyhedral sets. Technical report, California University at Berkeley, Operations Research Center (1967)

    Google Scholar 

  30. Le Verge, H.: A note on Chernikova’s algorithm. Ph.D. thesis, INRIA (1992)

    Google Scholar 

  31. Maréchal, A., Périn, M.: Efficient elimination of redundancies in polyhedra by raytracing. In: Bouajjani, A., Monniaux, D. (eds.) VMCAI 2017. LNCS, vol. 10145, pp. 367–385. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-52234-0_20

    CrossRef  Google Scholar 

  32. McMullen, P.: The maximum numbers of faces of a convex polytope. Mathematika 17(2), 179–184 (1970)

    CrossRef  MathSciNet  Google Scholar 

  33. Monniaux, D.: Quantifier elimination by lazy model enumeration. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 585–599. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14295-6_51

    CrossRef  Google Scholar 

  34. Schönhage, A., Strassen, V.: Schnelle multiplikation großer zahlen. Computing 7(3–4), 281–292 (1971). https://doi.org/10.1007/BF02242355

    CrossRef  MathSciNet  MATH  Google Scholar 

  35. Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1986)

    MATH  Google Scholar 

  36. Storjohann, A.: Algorithms for matrix canonical forms. Ph.D. thesis, Swiss Federal Institute of Technology Zurich (2000)

    Google Scholar 

  37. Terzer, M.: Large scale methods to enumerate extreme rays and elementary modes. Ph.D. thesis, ETH Zurich (2009)

    Google Scholar 

  38. Verdoolaege, S., Carlos Juega, J., Cohen, A., Ignacio Gómez, J., Tenllado, C., Catthoor, F.: Polyhedral parallel code generation for CUDA. TACO 9(4), 54 (2013)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Delaram Talaashrafi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Jing, RJ., Moreno-Maza, M., Talaashrafi, D. (2020). Complexity Estimates for Fourier-Motzkin Elimination. In: Boulier, F., England, M., Sadykov, T.M., Vorozhtsov, E.V. (eds) Computer Algebra in Scientific Computing. CASC 2020. Lecture Notes in Computer Science(), vol 12291. Springer, Cham. https://doi.org/10.1007/978-3-030-60026-6_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-60026-6_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-60025-9

  • Online ISBN: 978-3-030-60026-6

  • eBook Packages: Computer ScienceComputer Science (R0)