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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 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.
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
Bagnara, R., Hill, P.M., Zaffanella, E., Bagnara, A.: The parma polyhedra library user’s manual (2002)
Balas, E.: Projection with a minimal system of inequalities. Comput. Optim. Appl. 10(2), 189–193 (1998)
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
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
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
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
Boulme, S., Marechaly, A., Monniaux, D., Perin, M., Yu, H.: The verified polyhedron library: an overview, pp. 9–17 (2018)
Bruns, W., Ichim, B.: Normaliz: algorithms for affine monoids and rational cones. J. Algebra 324(5), 1098–1113 (2010)
Bruns, W., Römer, T., Sieg, R., Söger, C.: Normaliz 3.0 (2008)
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
Chernikov, S.N.: Contraction of systems of linear inequalities. Dokl. Akad. Nauk SSSR 131(3), 518–521 (1960)
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)
Christof, T., Löbel, A.: PORTA: polyhedron representation transformation algorithm, version 1.3. 2. Konrad-Zuse-Zentrum für Informationstechnik Berlin (2000)
Dantzig, G.B.: Fourier-Motzkin elimination and its dual. Technical report (1972)
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
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
Fukuda, K.: The CDD and CDDplus homepage. https://www.inf.ethz.ch/personal/fukudak/cdd_home/
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
von zur Gathen, J., Gerhard, J.: Modern Computer Algebra, 2nd edn. Cambridge University Press, New York (2003)
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
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
Henk, M., Richter-Gebert, J., Ziegler, G.M.: 16 basic properties of convex polytopes. Handb. Discrete Comput. Geometry 255–382 (2004)
Huynh, T., Lassez, C., Lassez, J.L.: Practical issues on the projection of polyhedral sets. Ann. Math. Artif. Intell. 6(4), 295–315 (1992)
Imbert, J.L.: Fourier’s elimination: which to choose? In: PPCP, pp. 117–129 (1993)
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
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
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
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
Kohler, D.A.: Projections of convex polyhedral sets. Technical report, California University at Berkeley, Operations Research Center (1967)
Le Verge, H.: A note on Chernikova’s algorithm. Ph.D. thesis, INRIA (1992)
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
McMullen, P.: The maximum numbers of faces of a convex polytope. Mathematika 17(2), 179–184 (1970)
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
Schönhage, A., Strassen, V.: Schnelle multiplikation großer zahlen. Computing 7(3–4), 281–292 (1971). https://doi.org/10.1007/BF02242355
Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1986)
Storjohann, A.: Algorithms for matrix canonical forms. Ph.D. thesis, Swiss Federal Institute of Technology Zurich (2000)
Terzer, M.: Large scale methods to enumerate extreme rays and elementary modes. Ph.D. thesis, ETH Zurich (2009)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)