Skip to main content

Combination of Boxes and Polyhedra Abstractions for Constraint Solving

  • Conference paper
  • First Online:

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

Abstract

This paper investigates the use of abstract domains from Abstract Interpretation (AI) in the field of Constraint Programming (CP). CP solvers are generally very efficient on a specific constraint language, but can hardly be extended to tackle more general languages, both in terms of variable representation (discrete or continuous) and constraint type (global, arithmetic, etc.). For instance, linear constraints are usually solved with linear programming techniques, but non-linear ones have to be either linearized, reformulated or sent to an external solver. We approach this problem by adapting to CP a popular domain construction used to combine the power of several analyses in AI: the reduced product. We apply this product on two well-known abstract domains, Boxes and Polyhedra, that we lift to constraint solving. Finally we define general metrics for the quality of the solver results, and present a benchmark accordingly. Experiments show promising results and good performances.

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.

    Contrarily to AI, in CP the term completeness refers to an algorithm which does not lose solutions (over-approximating the solution set), while soundness means that the solver under-approximates the solution set. This vocabulary can be misleading. In the following, we will use “over/under-approximation” to avoid any ambiguity.

  2. 2.

    Contrarily to the evolution of abstract elements during a static analysis in AI, constraint domains always decrease.

  3. 3.

    Available on GitHub https://github.com/mpelleau/AbSolute.

  4. 4.

    Available at http://www.mat.univie.ac.at/~neum/glopt/coconut/.

  5. 5.

    Note that AbSolute discriminates the elements in two categories: the ones such that all of the points in them satisfy the constraints, and the one where it is not the case. We have not showed this information in the experiments as Ibex does not do any kind of discrimination on the resulting elements.

References

  1. Apt, K.R.: The essence of constraint propagation. Theor. Comput. Sci. 221, 179–210 (1999)

    Article  MathSciNet  Google Scholar 

  2. Benhamou, F.: Heterogeneous constraint solving. In: Hanus, M., Rodríguez-Artalejo, M. (eds.) ALP 1996. LNCS, vol. 1139, pp. 62–76. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-61735-3_4

    Chapter  Google Scholar 

  3. Benhamou, F., Goualard, F., Granvilliers, L., Puget, J.-F.: Revisiting hull and box consistency. In: Proceedings of the 16th International Conference on Logic Programming, pp. 230–244 (1999)

    Google Scholar 

  4. Benhamou, F., Older, W.J.: Applying interval arithmetic to real, integer and boolean constraints. J. Logic Programm. 32(1), 1–24 (1997)

    Article  MathSciNet  Google Scholar 

  5. Chabert, G., Jaulin, L.: Contractor programming. Artif. Intell. 173, 1079–1100 (2009)

    Article  MathSciNet  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: Conference Record of the Fourth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 238–252 (1977)

    Google Scholar 

  7. Cousot, P., Cousot, R., Mauborgne, L.: The reduced product of abstract domains and the combination of decision procedures. In: Hofmann, M. (ed.) FoSSaCS 2011. LNCS, vol. 6604, pp. 456–472. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19805-2_31

    Chapter  MATH  Google Scholar 

  8. 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 (1978)

    Google Scholar 

  9. Goldberg, D.: What every computer scientist should know about floating point arithmetic. ACM Comput. Surv. 23(1), 5–48 (1991)

    Article  MathSciNet  Google Scholar 

  10. Goubault, E., Putot, S.: Static analysis of numerical algorithms. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 18–34. Springer, Heidelberg (2006). https://doi.org/10.1007/11823230_3

    Chapter  MATH  Google Scholar 

  11. Jeannet, B., Miné, A.: Apron: a library of numerical abstract domains for static analysis. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 661–667. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02658-4_52

    Chapter  Google Scholar 

  12. Maréchal, A., Fouilhé, A., King, T., Monniaux, D., Périn, M.: Polyhedral approximation of multivariate polynomials using Handelman’s theorem. In: Jobstmann, B., Leino, K.R.M. (eds.) VMCAI 2016. LNCS, vol. 9583, pp. 166–184. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49122-5_8

    Chapter  Google Scholar 

  13. Miné, A.: A new numerical abstract domain based on difference-bound matrices. In: Danvy, O., Filinski, A. (eds.) PADO 2001. LNCS, vol. 2053, pp. 155–172. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44978-7_10

    Chapter  Google Scholar 

  14. Miné, A.: Domaines numériques abstraits faiblement relationnels. Ph.D thesis, École Normale Supérieure, December 2004

    Google Scholar 

  15. Miné, A.: Symbolic methods to enhance the precision of numerical abstract domains. In: 7th International Conference on Verification, Model Checking, and Abstract Interpretation (2006)

    Google Scholar 

  16. Pelleau, M., Miné, A., Truchet, C., Benhamou, F.: A constraint solver based on abstract domains. In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) VMCAI 2013. LNCS, vol. 7737, pp. 434–454. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35873-9_26

    Chapter  MATH  Google Scholar 

  17. Pelleau, M., Truchet, C., Benhamou, F.: The octagon abstract domain for continuous constraints. Constraints 19(3), 309–337 (2014)

    Article  MathSciNet  Google Scholar 

  18. Puget, J.-F.: A fast algorithm for the bound consistency of alldiff constraints. In: Proceedings of the 15th National/10th Conference on Artificial Intelligence/Innovative Applications of Artificial Intelligence (AAAI 1998/IAAI 1998), pp. 359–366. American Association for Artificial Intelligence (1998)

    Google Scholar 

  19. Rival, X., Mauborgne, L.: The trace partitioning abstract domain. ACM Trans. Program. Lang. Syst. (TOPLAS) 29(5), 1–44 (2007)

    Article  Google Scholar 

  20. Schulte, C., Tack, G.: Weakly monotonic propagators. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 723–730. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04244-7_56

    Chapter  Google Scholar 

  21. Scott, J.: Other things besides number: abstraction, constraint propagation, and string variables. Ph.D thesis, University of Uppsala (2016)

    Google Scholar 

  22. Shcherbina, O., Neumaier, A., Sam-Haroud, D., Vu, X.-H., Nguyen, T.-V.: Benchmarking global optimization and constraint satisfaction codes. In: Bliek, C., Jermann, C., Neumaier, A. (eds.) COCOS 2002. LNCS, vol. 2861, pp. 211–222. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-39901-8_16

    Chapter  MATH  Google Scholar 

  23. van Hentenryck, P., Yip, J., Gervet, C., Dooms, G.: Bound consistency for binary length-lex set constraints. In: Proceedings of the 23rd National Conference on Artificial Intelligence (AAAI 2008), pp. 375–380. AAAI Press (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ghiles Ziat .

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

Ziat, G., Maréchal, A., Pelleau, M., Miné, A., Truchet, C. (2020). Combination of Boxes and Polyhedra Abstractions for Constraint Solving. In: Sekerinski, E., et al. Formal Methods. FM 2019 International Workshops. FM 2019. Lecture Notes in Computer Science(), vol 12233. Springer, Cham. https://doi.org/10.1007/978-3-030-54997-8_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-54997-8_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-54996-1

  • Online ISBN: 978-3-030-54997-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics