Skip to main content

An Efficient Parametric Linear Programming Solver and Application to Polyhedral Projection

  • Conference paper
  • First Online:
Static Analysis (SAS 2019)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11822))

Included in the following conference series:

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

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

Access this chapter

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

Institutional subscriptions

Notes

  1. 1.

    Now distributed as part of APRON http://apron.cri.ensmp.fr/library/.

  2. 2.

    This is the canonical form of the LP problem. All the LP problems can be transformed into this form.

  3. 3.

    The GNU Linear Programming Toolkit (GLPK) is a linear programming solver implemented in floating-point arithmetic. https://www.gnu.org/software/glpk/.

  4. 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. 5.

    We use Flint, which provides exact rational scalar, vector and matrix computations, including solving of linear systems. http://www.flintlib.org/.

  6. 6.

    There may be rows of all zeros in the bottom of the matrix.

  7. 7.

    https://github.com/antoinemine/apron.

  8. 8.

    The minimization is still computed in floating-point numbers.

References

  1. 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)

    Article  MathSciNet  Google Scholar 

  2. 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

    Chapter  Google Scholar 

  3. Bland, R.G.: New finite pivoting rules for the simplex method. Math. Oper. Res. 2(2), 103–107 (1977)

    Article  MathSciNet  Google Scholar 

  4. 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)

    Article  Google Scholar 

  5. 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

    Chapter  Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Dantzig, G.B.: Application of the simplex method to a transportation problem. In: Activity Analysis and Production and Allocation (1951)

    Google Scholar 

  9. Dantzig, G.B.: Fourier-motzkin elimination and its dual. Technical report, Stanford Univ CA Dept of Operations Research (1972)

    Google Scholar 

  10. Dantzig, G.B., Thapa, M.N.: Linear Programming 2: Theory and Extensions. Springer, New York (2006)

    MATH  Google Scholar 

  11. Fouilhé, A.: Revisiting the abstract domain of polyhedra: constraints-only representation and formal proof. Ph.D. thesis, Université Grenoble Alpes (2015)

    Google Scholar 

  12. Henry, J., Monniaux, D., Moy, M.: PAGAI: a path sensitive static analyser. Electron. Notes Theor. Comput. Sci. 289, 15–25 (2012)

    Article  Google Scholar 

  13. 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)

    Article  MathSciNet  Google Scholar 

  14. Jones, C.N., Kerrigan, E.C., Maciejowski, J.M.: On polyhedral projection and parametric programming. J. Optim. Theory Appl. 138(2), 207–220 (2008)

    Article  MathSciNet  Google Scholar 

  15. 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)

    Google Scholar 

  16. Le Verge, H.: A note on Chernikova’s algorithm. Technical report 635, IRISA (1992). https://www.irisa.fr/polylib/document/cher.ps.gz

  17. 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

  18. 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

    Chapter  Google Scholar 

  19. 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

    Chapter  Google Scholar 

  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

    Chapter  Google Scholar 

  21. Singh, G., Püschel, M., Vechev, M.: Fast polyhedra abstract domain. ACM SIGPLAN Not. 52, 46–59 (2017)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hang Yu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics