There's been many posts about PROLOG here in HN these past months. I was wondering if anyone is using it or other languages that support constraint programming in production. If yes, what is your experience?
Sometimes I get to use constraint programming (CP) at $DAYJOB.
For prototying solutions, the MiniZinc language is nice to use, since it is a language for modelling combinatorial optimization problems.
To use a CP solution in an actual product, I prefer to use a solver library in C++ or Java. Typical examples would be Gecode (C++), Choco (Java), or or_tools (C++ with Java bindings). If I had the money to buy an expensive product, IBM CP Optimizer seems to be a really good system with awesome automated search heuristics.
In addition, the ideas and techniques in CP systems are useful for all kinds of optimization tasks, so even if there is not actual CP-system used, I think it is worthwhile to use as a way to think about problems.
Interesting question. By the way, would PROLOG, being mainly a logic programming language, really be the go-to language for constraint programming in the industry?
For prototying solutions, the MiniZinc language is nice to use, since it is a language for modelling combinatorial optimization problems.
To use a CP solution in an actual product, I prefer to use a solver library in C++ or Java. Typical examples would be Gecode (C++), Choco (Java), or or_tools (C++ with Java bindings). If I had the money to buy an expensive product, IBM CP Optimizer seems to be a really good system with awesome automated search heuristics.
In addition, the ideas and techniques in CP systems are useful for all kinds of optimization tasks, so even if there is not actual CP-system used, I think it is worthwhile to use as a way to think about problems.