cc(FD)

Design, implementation, and evaluation of the constraint language cc(FD). This paper describes the design, implementation, and applications of the constraint logic language cc(FD). cc(FD) is a declarative nondeterministic constraint logic language over finite domains based on the cc framework [33], an extension of the Constraint Logic Programming (CLP) scheme [21]. Its constraint solver includes (nonlinear) arithmetic constraints over natural numbers which are approximated using domain and interval consistency. The main novelty of cc(FD) is the inclusion of a number of general-purpose combinators, in particular cardinality, constructive disjunction, and blocking implication, in conjunction with new constraint operations such as constraint entailment and generalization. These combinators significantly improve the operational expressiveness, extensibility, and flexibility of CLP languages and allow issues such as the definition of nonprimitive constraints and disjunctions to be tackled at the language level. The implementation of cc(FD) (about 40,000 lines of C) includes a WAM-based engine [44], optimal arc-consistency algorithms based on AC-5 [40], and incremental implementation of the combinators. Results on numerous problems, including scheduling, resource allocation, sequencing, packing, and hamiltonian paths are reported and indicate that cc(FD) comes close to procedural languages on a number of combinatorial problems. In addition, a small cc(FD) program was able to find the optimal solution and prove optimality to a famous 10/10 disjunctive scheduling problem [29], which was left open for more than 20 years and finally solved in 1986


References in zbMATH (referenced in 17 articles , 1 standard article )

Showing results 1 to 17 of 17.
Sorted by year (citations)

  1. Michel, L.; Van Hentenryck, P.: A microkernel architecture for constraint programming (2017)
  2. Abdallah, A. Nait; van Emden, M. H.: Constraint propagation as information maximization (2013)
  3. Deville, Yves; van Hentenryck, Pascal; Mairy, Jean-Baptiste: Domain consistency with forbidden values (2013)
  4. Schulte, Christian; Tack, Guido: View-based propagator derivation (2013)
  5. Cortesi, Agostino; Zanioli, Matteo: Widening and narrowing operators for abstract interpretation (2011)
  6. Guns, Tias; Nijssen, Siegfried; De Raedt, Luc: Itemset mining: a constraint programming perspective (2011)
  7. Frisch, Alan M.; Hnich, Brahim; Kiziltan, Zeynep; Miguel, Ian; Walsh, Toby: Filtering algorithms for the multiset ordering constraint (2009)
  8. Ohrimenko, Olga; Stuckey, Peter J.; Codish, Michael: Propagation via lazy clause generation (2009)
  9. Bessiere, Christian; Debruyne, Romuald: Theoretical analysis of singleton arc consistency and its extensions (2008)
  10. Bessiere, Christian; Hebrard, Emmanuel; Hnich, Brahim; Walsh, Toby: The complexity of reasoning with global constraints (2007)
  11. Gutiérrez, Julian; Pérez, Jorge A.; Rueda, Camilo; Valencia, Frank D.: Timed concurrent constraint programming for analysing biological systems (2007)
  12. López Fraguas, Francisco J.; Rodríguez Artalejo, Mario; del Vado Vírseda, Rafael: A new generic scheme for functional logic programming with constraints (2007)
  13. Beldiceanu, Nicolas; Petit, Thierry; Rochart, Guillaume: Bounds of graph parameters for global constraints (2006)
  14. Régin, Jan-Charles; Rueher, Michel: Inequality-sum: a global constraint capturing the objective function (2005)
  15. Zhou, Neng-Fa; Kaneko, Sosuke: A hybrid algorithm for compiling equality constraints and its implementation (1999)
  16. Van Hentenryck, Pascal; Saraswat, Vijay; Deville, Yves: Design, implementation, and evaluation of the constraint language (cc(FD)) (1998)
  17. Wallace, Mark: Practical applications of constraint programming. (1996) ioport