Improving the Performance of FD Constraint Solving in a CFLP System

  • Ignacio Castiñeiras
  • Fernando Sáenz-Pérez
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7294)


Constraint Functional Logic Programming (CFLP) integrates lazy narrowing with constraint solving. It provides a high modeling abstraction, but its solving performance can be penalized by lazy narrowing and solver interface surcharges. As for real-world problems most of the solving time is carried out by solver computations, the system performance can be improved by interfacing state-of-the-art external solvers with proven performance. In this work we depart from the CFLP system \(\mathcal{TOY(FD})\), implemented in SICStus Prolog and supporting Finite Domain (\(\mathcal{FD}\)) constraints by using its underlying Prolog \(\mathcal{FD}\) solver. We present a scheme describing how to interface an external CP(\(\mathcal{FD}\)) solver to \(\mathcal{TOY(FD})\), and easily adaptable to other Prolog CLP or CFLP systems. We prove the scheme to be generic enough by interfacing Gecode and ILOG solvers, and we analyze the new performance achieved.


Logic Programming Constraint Programming Constraint Logic Programming Constraint Programming Modeling Primitive Constraint 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Curry: a truly integrated functional logic language,
  2. 2.
    Gecode 3.6.0: generic constraint development environment,
  3. 3.
    Amdahl, G.M.: Validity of the single processor approach to achieving large scale computing capabilities. In: AFIPS 1967, pp. 483–485. ACM (1967)Google Scholar
  4. 4.
    Castiñeiras, I., Sáenz-Pérez, F.: Integrating ILOG CP Technology into \(\mathcal{TOY}\). In: Escobar, S. (ed.) WFLP 2009. LNCS, vol. 5979, pp. 27–43. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    Castiñeiras, I., Sáenz-Pérez, F.: A CFLP Approach for Modeling and Solving a Real Life Employee Timetabling Problem. In: COPLAS 2011, pp. 63–70 (2011)Google Scholar
  6. 6.
    CSPLib: a problem library for constraints,
  7. 7.
    García de la Banda, M., Jeffery, D., Marriott, K., Nethercote, N., Stuckey, P.J., Holzbaur, C.: Building Constraint Solvers with HAL. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 90–104. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Dechter, R.: Constraint processing. Morgan Kaufmann (2003)Google Scholar
  9. 9.
    Fernández, A.J., Hortalá-González, T., Sáenz-Pérez, F., del Vado-Vírseda, R.: Constraint Functional Logic Programming over Finite Domains. TPLP 7(5), 537–582 (2007)zbMATHGoogle Scholar
  10. 10.
    Hanus, M.: Multi-paradigm Declarative Languages. In: Dahl, V., Niemelä, I. (eds.) ICLP 2007. LNCS, vol. 4670, pp. 45–75. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Hentenryck, P.V.: Constraint Satisfaction in Logic Programming. MIT Press (1989)Google Scholar
  12. 12.
  13. 13.
    Jaffar, J., Maher, M.: Constraint logic programming: a survey. The Journal of Logic Programming 19-20, 503–581 (1994)MathSciNetCrossRefGoogle Scholar
  14. 14.
    López-Fraguas, F., Rodríguez-Artalejo, M., Vado-Vírseda, R.: A lazy narrowing calculus for declarative constraint programming. In: PPDP 2004, pp. 43–54. ACM (2004)Google Scholar
  15. 15.
    Marriot, K., Stuckey, P.J.: Programming with constraints. MIT Press (1998)Google Scholar
  16. 16.
    Marte, M.: Towards constraint-based school timetabling. Annals OR 155(1), 207–225 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  17. 17.
  18. 18.
  19. 19.
    Peyton-Jones, S.: Haskell 98 language and libraries: the revised report. Technical report (2002),
  20. 20.
    Pinedo, M.: Planning and Scheduling in Manufacturing and Services. Springer Series in Operations Research (2004)Google Scholar
  21. 21.
    Reischuk, R.M., Schulte, C., Stuckey, P.J., Tack, G.: Maintaining State in Propagation Solvers. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 692–706. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  22. 22.
  23. 23.
  24. 24.
    Van Roy, P., Brand, P., Duchier, D., Haridi, S., Henz, M., Schulte, C.: Logic programming in the context of multiparadigm programming: the Oz experience. TPLP 3(6), 717–763 (2003)zbMATHGoogle Scholar
  25. 25.
    Wallace, M., Schimpf, J., Shen, K., Harvey, W.: On benchmarking constraint logic programming platforms. Response to fernandez and hill’s “a comparative study of eight constraint programming languages over the boolean and finite domains”. Constraints 9(1), 5–34 (2004)MathSciNetzbMATHCrossRefGoogle Scholar
  26. 26.
    Wuille, P., Schrijvers, T.: Parameterized Models for On-Line and Off-Line Use. In: Mariño, J. (ed.) WFLP 2010. LNCS, vol. 6559, pp. 101–118. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  27. 27.
    Yang, M., Cai, L., Song, G.: Constraint satisfaction timetabling research based on course-period-template selection and conflict-vector detection. In: FCST 2010, pp. 582–588 (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Ignacio Castiñeiras
    • 1
  • Fernando Sáenz-Pérez
    • 2
  1. 1.Dept. Sistemas Informáticos y ComputaciónUniversidad Complutense de MadridSpain
  2. 2.Dept. Ingeniería del Software e Inteligencia ArtificialUniversidad Complutense de MadridSpain

Personalised recommendations