Abstract
Polyhedral projection is a main operation of the polyhedron abstract domain. It can be computed via parametric linear programming (PLP), which is more efficient than the classic Fourier-Motzkin elimination method.
In prior work, PLP was done in arbitrary precision rational arithmetic. In this paper, we present an approach where most of the computation is performed in floating-point arithmetic, then exact rational results are reconstructed.
We also propose a workaround for a difficulty that plagued previous attempts at using PLP for computations on polyhedra: in general the linear programming problems are degenerate, resulting in redundant computations and geometric descriptions.
Grenoble INP—Institute of Engineering Univ. Grenoble Alpes
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Now distributed as part of APRON http://apron.cri.ensmp.fr/library/.
- 2.
This is the canonical form of the LP problem. All the LP problems can be transformed into this form.
- 3.
The GNU Linear Programming Toolkit (GLPK) is a linear programming solver implemented in floating-point arithmetic. https://www.gnu.org/software/glpk/.
- 4.
There also exist parametric linear programs where the parameters are in the constant terms of the inequalities, we do not consider them here.
- 5.
We use Flint, which provides exact rational scalar, vector and matrix computations, including solving of linear systems. http://www.flintlib.org/.
- 6.
There may be rows of all zeros in the bottom of the matrix.
- 7.
- 8.
The minimization is still computed in floating-point numbers.
References
Bagnara, R., Hill, P.M., Zaffanella, E.: The parma polyhedra library: toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems. Sci. Comput. Program. 72(1), 3–21 (2008)
Beyer, D.: Automatic verification of C and Java programs: SV-COMP 2019. In: Beyer, D., Huisman, M., Kordon, F., Steffen, B. (eds.) TACAS 2019. LNCS, vol. 11429, pp. 133–155. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17502-3_9
Bland, R.G.: New finite pivoting rules for the simplex method. Math. Oper. Res. 2(2), 103–107 (1977)
Chernikova, N.: Algorithm for discovering the set of all the solutions of a linear programming problem. USSR Comput. Math. Math. Phys. 8(6), 282–293 (1968)
Coti, C., Monniaux, D., Yu, H.: Parallel parametric linear programming solving, and application to polyhedral computations. In: Rodrigues, J.M.F., et al. (eds.) ICCS 2019. LNCS, vol. 11540, pp. 566–572. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-22750-0_52
Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pp. 238–252. ACM (1977)
Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Proceedings of the 5th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pp. 84–96. ACM (1978)
Dantzig, G.B.: Application of the simplex method to a transportation problem. In: Activity Analysis and Production and Allocation (1951)
Dantzig, G.B.: Fourier-motzkin elimination and its dual. Technical report, Stanford Univ CA Dept of Operations Research (1972)
Dantzig, G.B., Thapa, M.N.: Linear Programming 2: Theory and Extensions. Springer, New York (2006)
Fouilhé, A.: Revisiting the abstract domain of polyhedra: constraints-only representation and formal proof. Ph.D. thesis, Université Grenoble Alpes (2015)
Henry, J., Monniaux, D., Moy, M.: PAGAI: a path sensitive static analyser. Electron. Notes Theor. Comput. Sci. 289, 15–25 (2012)
Jones, C.N., Kerrigan, E.C., Maciejowski, J.M.: Lexicographic perturbation for multiparametric linear programming with applications to control. Automatica 43(10), 1808–1816 (2007)
Jones, C.N., Kerrigan, E.C., Maciejowski, J.M.: On polyhedral projection and parametric programming. J. Optim. Theory Appl. 138(2), 207–220 (2008)
King, T., Barrett, C., Tinelli, C.: Leveraging linear and mixed integer programming for SMT. In: Proceedings of the 14th Conference on Formal Methods in Computer-Aided Design, pp. 139–146. FMCAD Inc. (2014)
Le Verge, H.: A note on Chernikova’s algorithm. Technical report 635, IRISA (1992). https://www.irisa.fr/polylib/document/cher.ps.gz
Maréchal, A.: New Algorithmics for Polyhedral Calculus via Parametric Linear Programming. Theses, UGA - Université Grenoble Alpes, December 2017. https://hal.archives-ouvertes.fr/tel-01695086
Maréchal, A., Monniaux, D., Périn, M.: Scalable minimizing-operators on polyhedra via parametric linear programming. In: Ranzato, F. (ed.) SAS 2017. LNCS, vol. 10422, pp. 212–231. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66706-5_11
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
Monniaux, D.: On using floating-point computations to help an exact linear arithmetic decision procedure. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 570–583. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02658-4_42
Singh, G., Püschel, M., Vechev, M.: Fast polyhedra abstract domain. ACM SIGPLAN Not. 52, 46–59 (2017)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Yu, H., Monniaux, D. (2019). An Efficient Parametric Linear Programming Solver and Application to Polyhedral Projection. In: Chang, BY. (eds) Static Analysis. SAS 2019. Lecture Notes in Computer Science(), vol 11822. Springer, Cham. https://doi.org/10.1007/978-3-030-32304-2_11
Download citation
DOI: https://doi.org/10.1007/978-3-030-32304-2_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-32303-5
Online ISBN: 978-3-030-32304-2
eBook Packages: Computer ScienceComputer Science (R0)