Resources on Constraint Programming
Jump to Blogs, Archives & Libraries, Associations, Books, Conferences & Workshops, Courses & Tutorials, Journals, Solvers & Languages / Libraries, or Various.
Blogs
- IT's Best Kept Secret Is Optimization, by Jean-François Puget
- Michael Trick's OR Blog mentions CP occasionally
- CP, by Gene Freuder
- CP Standardisation Blog, by Jacob Feldman
- CP-is-Fun Blog, launched by Jean-Charles Régin
- CP Applications Blog, by Helmut Simonis
- My CP Blog, by Håkan Kjellerstrand
Archives & Libraries
- COIN-OR, the COmputational INfrastructure for Operations Research
- CP Solvers, a catalogue
- Constraint Solving, by Martine Ceberio
- CLib, the Configuration Benchmarks Library
- CSPlib, a problem library for constraints
- Decision Management Tools
- Global-Constraint Catalogue & Seeker
- Global Optimisation
- LP and MIP Solvers, a catalogue
- Mathematical Programming Glossary
- MIPlib, a library of real-world pure and mixed integer programs
- NEOS, the Network-Enabled Optimization System, a server giving access to many solvers
- NP Optimisation Problems
- Operations Research: The Science of Better
- PrefLib, a library for preferences
- SATlib, the satisfiability library
- SMTlib, the Satisfiability Modulo Theories Library
Solvers & Languages / Libraries
Other listings are at CP Tools and Constraint Solving, and here is ours:
- AIMMS mathematical modelling language, with a CP backend
- AMPL, a modelling language for mathematical programming, with a CP backend
- B-Prolog, for constraint logic programming
- CHIP
- Choco, a Java library for CP
- CHR, Constraint Handling Rules
- Chuffed, a discrete optimiser combining CP and SAT solving techniques
- CPMpy, a Constraint Programming and Modelling library in Python
- CPViz, an open-source visualisation toolkit for finite-domain CP
- EasyLocal++, a flexible framework for local search algorithms
- ECLiPSe, for constraint logic programming
- Essence, a constraint modelling language and its toolchain: Conjure, Savile Row, and Minion
- FaCiLe, the Functional Constraint Library (Objective Caml)
- Gecode, the GEneric COnstraint Development Environment, a C++ library for CP
- GNU Prolog, for constraint logic programming
- Google OR-Tools, a suite of Operations Research tools for C++, Python, Java, and .NET, with CP, LP, vehicle routing, etc
- IBEX, a C++ numerical library based on interval arithmetic and constraint programming
- IBM ILOG CPLEX CP Optimizer
- IBM ILOG CPLEX Optimization Studio, based on OPL (Optimization Programming Language), with CP and MIP backends
- IF Prolog, for constraint logic programming
- iZ-C, a library with a CP backend to MiniZinc
- JaCoP, the Java Constraint Programming solver, a Java library for CP
- LIONsolver, a local search solver that learns from its previous attempts and from human feedback
- LocalSolver, a blackbox CBLS solver
- Mini-CP, a lightweight, open-source CP solver for educational purposes
- MiniBrass, an extension of MiniZinc for preferences and soft constraints
- Minion, a black-box constraint solver for matrix models
- MiniZinc, a medium-level constraint modelling language
- NCL, the Natural Constraint Language
- NumberJack, a constraint modelling package written in Python, with CP, MIP, and SAT backends
- Objective-CP, libraries in Objective-C with a CP solver and an interface to MIP solvers
- OscaR, a Scala toolkit to solve Operations Research problems, with CB, CBLS, and MIP backends
- Picat, a rule-based language with CP and SAT solvers
- Realpaver, nonlinear constraint solving and rigorous global optimisation
- SCIP, Solving Constraint Integer Programs
- SICStus Prolog (documentation of v4), for constraint logic programming
- SIMPL, a hybrid solver with CP, MIP, and global optimisation features
- SWI-Prolog, for constraint logic programming
- Yuck, a CBLS backend for MiniZinc
Associations
- AAAI, the Association for the Advancement of Artificial Intelligence
- ACM SIGART, the ACM Special Interest Group on Artificial Intelligence
- ACP, the Association for Constraint Programming (Yahoo! discussion group)
- AFPC, l'Association Française pour la Programmation par Contraintes
- ALP, the Association for Logic Programming
- ECCAI, the European Coordinating Committee for Artificial Intelligence
- ERCIM Working Group on Constraints
- IFORS, the International Federation of Operational Research Societies
- INFORMS Computing Society, of INFORMS, the Institute for Operations Research and the Management Sciences
- MOS, the Mathematical Optimisation Society
- RCRA, Working group on Knowledge Representation and Automated Reasoning (Italy)
- Reactive Search Optimisation
- SIAM, the Society for Industrial and Applied Mathematics
- NordConsNet, the Nordic Network for researchers and practitioners of Constraint programming
Conferences & Workshops
- AAAI, the AAAI conferences on Artificial Intelligence
- AISC 2014, the 12th international conference on Artificial Intelligence and Symbolic Computation
- AMAI, the international symposia on Artificial Intelligence and Mathematics
- CoProD, the workshops on Constraint Programming and Decision Making
- CP, the international conferences on the principles and practice of Constraint Programming
- CPAIOR, the international conferences on the integration of Constraint Programming, Artificial Intelligence, and Operations Research
- CSCLP, the Joint ERCIM/CoLogNet Workshops on Constraint Solving and Constraint Logic Programming
- CSTVA, the international workshops on Constraint Solving in Testing, Verification, and Analysis
- ECAI, the European Conferences on Artificial Intelligence (next in 2016)
- FLAIRS, the international conferences of the Florida AI Research Society
- HM 2014, the 9th international workshop on Hybrid Metaheuristics
- IAAI, the conferences on Innovative Applications of Artificial Intelligence
- ICAPS, the International Conferences on Automated Planning and Scheduling
- ICS, the conferences of the Computing Society of INFORMS, the Institute for Operations Research and the Management Sciences
- ICTAI 2015, the 27th IEEE International Conference on Tools with Artificial Intelligence
- IJCAI, the International Joint Conferences on Artificial Intelligence
- JFPC 2014, les 10ièmes Journées Francophones de Programmation par Contraintes
- KI, the German conference on artificial intelligence (Künstliche Intelligenz)
- KR, the international conferences on the principles of Knowledge Representation and Reasoning
- LION 8, the 8th international conference on Learning and Intelligent OptimizatioN
- LOPSTR 2014, the 24th international symposium on LOgic-based Program Synthesis and TRansformation (LOPSTR series, not up-to-date)
- LPAR, the international conferences on Logic for Programming, Artificial intelligence, and Reasoning (discontinued)
- LSCS, the international workshops on Local Search Techniques in Constraint Satisfaction, held at CP conferences (discontinued)
- MIC 2015, the 11th Metaheuristics International Conference
- ModRef, the international workshops on constraint Modelling and Reformulation, held at CP conferences
- PADL 2014, the 16th international symposium on Practical Aspects of Declarative Languages
- PATAT, the international conferences on the Practice and Theory of Automated Timetabling
- PPDP, the international symposia on the Principles and Practice of Declarative Programming
- RCRA, the international workshops on experimental evaluation of algorithms for solving problems with combinatorial explosion
- SAC 2014, Track on Constraint Solving and Programming, of the 29th ACM Symposium on Applied Computing
- SARA 2013, the 10th international Symposium on Abstraction, Reformulation, and Approximation
- SCAN 2014, the 16th International Symposium on Scientific Computing, Computer Arithmetic, and Validated Numerics
- SymCon, the international workshops on Symmetry in Constraint satisfaction problems, held at CP conferences (discontinued)
Journals
- ACM Transactions On Mathematical Software
- Artificial Intelligence (editor's page)
- AI Communications
- AI for Engineering Design, Analysis, and Manufacturing
- AI Magazine
- AI Review
- Annals of Operations Research
- Annals of Mathematics and AI
- Applied Artificial Intelligence
- Applied Intelligence
- Computational Intelligence
- Computational Optimization and Applications
- Constraint Programming Letters
- Constraints
- Engineering Applications of Artificial Intelligence
- Fundamenta Informaticae
- IEEE Intelligent Systems
- Information and Computation
- Information Processing Letters
- INFORMS Journal on Computing
- International Journal of Intelligent Systems
- Journal of AI Research
- Journal of Algorithms
- Journal of Applied Logic
- Journal of Automated Reasoning
- Journal of Combinatorial Optimization
- Journal of Discrete Algorithms
- Journal of Heuristics
- Knowledge Engineering Review
- Logical Methods in Computer Science
- Machine Learning
- New Generation Computing
- Optimization and Engineering
- Optimization Online
- Operations Research Letters
- RAIRO - Operations Research
- SIAM Journal on Applied Mathematics
- SIAM Journal on Computing
- SIAM Journal on Optimization
Books
- Principles of Constraint Programming, by Krzysztof R. Apt, at Cambridge University Press, 2003
- Constraint Logic Programming Using ECLiPSe, by Krzysztof R. Apt and Mark G. Wallace, at Cambridge University Press, 2006
- Constraint-Based Scheduling, by Philippe Baptiste, Claude Le Pape, and Wim Nuijten, at Springer, 2001
- Constraint Processing, by Rina Dechter, at Morgan Kaufmann, 2003
- Essentials of Constraint Programming, by Thom Frühwirth and Slim Abdennadher, at Springer, 2003
- Integrated Methods for Optimization (second edition), by John N. Hooker, at Springer, 2012
- Constraint Networks: Techniques and Algorithms, by Christophe Lecoutre, at ISTE/Wiley, 2009
- Programming with Constraints: An Introduction, by Kim Marriott and Peter J. Stuckey, at the MIT Press, 1998
- Handbook of Constraint Programming, edited by Francesca Rossi, Peter van Beek, and Toby Walsh, at Elsevier Science, 2006
- Programming Constraint Services, by Christian Schulte, at Springer, 2002
- Ant Colony Optimization and Constraint Programming, by Christine Solnon, at ISTE/Wiley, 2010
- Foundations of Constraint Satisfaction, by Edward Tsang, at Academic Press, 1993
- Numerica: A Modeling Language for Global Optimization, by Pascal Van Hentenryck, Laurent Michel, and Yves Deville, at The MIT Press, 1997
- The OPL Optimization Programming Language, by Pascal Van Hentenryck, at The MIT Press, 1999
- Constraint-Based Local Search, by Pascal Van Hentenryck and Laurent Michel, at The MIT Press, 2005
- Online Stochastic Combinatorial Optimization, by Pascal Van Hentenryck and Russell Bent, at The MIT Press, 2009
- Building Decision Support Systems using MiniZinc, by Mark G. Wallace, at Springer, 2020
- Constraint Solving and Planning with Picat, by Neng-Fa Zhou, Håkan Kjellerstrand, and Jonathan Fruhman, at Springer, 2015
Courses & Tutorials
- Constraint Programming, at KTH -- Royal Institute of Technology, Stockholm, Sweden
- Constraint Programming, at Université catholique de Louvain, Belgium
- Constraint Programming, at the University of Glasgow, UK
- Combinatorial Optimisation and Constraint Programming, at Uppsala University, Sweden (slides)
- Modelling for Combinatorial Optimisation, at Uppsala University, Sweden (slides)
- Basic Modeling for Discrete Optimization, by Peter Stuckey, at Coursera
- Advanced Modeling for Discrete Optimization, by Peter Stuckey, at Coursera
- Discrete Optimization, by Pascal Van Hentenryck, at Coursera
- Global Constraints, at Mines de Nantes, France
- Programming with Constraints: An Introduction, at the University of Melbourne, Australia
- ECLiPSE E-Learning, by Helmut Simonis, for ECLiPSe
Various
- Gurobi Optimizer, an LP and MIP solver
- lp_solve, a MIP solver
- The Scheduling Zoo, a searchable bibliography on scheduling