2

I'm new to CP. So far I've played with MiniZinc and I'm finding this a lot of fun.

Before I commit too much, I want to figure out what CP language & solver is best to start with in terms of most active community, actively being developed and used in research, and best learning resources (examples & tutorials).

The options so far seem to be: MiniZinc, ECLiPSe, and or-tools.

Thanks,

Mike
  • 251
  • 1
  • 12
  • 3
    I suggest that you continue to learn CP using MiniZinc, and at the same time check out the other systems, e.g. by subscribing to mailing list / forums etc to get a feeling for the communities. And also create (and read) as much models as possible to get used to the thinking. – hakank Dec 29 '15 at 18:48

3 Answers3

3

MiniZinc is an excelent starting point. If you are interested in more languages I suggest to study Choco and JaCoP, both can be used as Java libraries, and both have very active communities.

RafaelCaballero
  • 1,555
  • 2
  • 17
  • 24
1

Also take a look at OptaPlanner (Java, open source, Apache License):

  • daily commits
  • active community contributors that send in Pull Requests
  • monthly beta releases and 2 final releases per year
  • 350+ page manual and also javadocced
  • unit tests, integration tests and stress test
  • enterprise support by Red hat
Geoffrey De Smet
  • 26,223
  • 11
  • 73
  • 120
1

For the last few months I have been playing with, as you yet mentioned, the ECLiPSe programming language to solve all sorts of problems ranging from planning problems to arithmetic and logic puzzles and I've been nothing but amazed by the simplicity and power of this language. It is based on the Prolog language, so if you have the basic knowledge of Prolog, it will be pretty easy and fast to adapt to the language and its syntax. A bonus (imo) to the language are the integrated logical loops which make it very convenient to access certain data. Also, the website provides very clear documentation and code tutorials for all of its functionalities and a page with implementations to a bunch of well-known existing problems is provided here. These especially were very helpful to me while learning the language.

SND
  • 1,552
  • 2
  • 16
  • 29