Wajid Hassan wrote: > Hi, > > I am just starting up with the constraint programming, and have been > stuck between whether to work on Eclipse based CLP or just go with > Minizinc. We need to be aware of the distinction between language and implementation(s). We use 'ECLiPSe' in both senses, i.e. the (Prolog-based) language, but also its single implementation (strictly speaking there is only one implementation, but you will recognize some features in other extended Prolog systems). 'Minizinc' on the other hand strictly refers to a language. This language has multiple implementations, among them the corresponding ECLiPSe library http://eclipseclp.org/doc/bips/lib_public/minizinc, the Melbourne G12 system, and the Gecode frontend. Minizinc is an excellent language for teaching and learning how to model problems in terms of constraints. It is however primarily a _modelling_ language, i.e. the focus is on the representation of the problem, not on how to solve it efficiently. Your flexibility in terms of solving is limited to experimenting with different 'model annotations' and different solver backends. This may or may not be a good thing, depending on your problem. When you model in the ECLiPSe language, there is probably a bit more to learn initally (in particular if your are new to Prolog) and a little more scope for mistakes, because it is not purely a modelling language, but a full programming language as well. In the long term, you may feel less restricted with ECLiPSe, for example once you need to think about problem specific search heuristics, combination of different solvers, adding I/O to your solver, etc. Having said that, the ECLiPSe implementation of Minizinc makes it quite easy to embed a Minizinc model into an ECLiPSe program. > > My target is to get optimal solutions for a binding and scheduling > problem so I am uncertain which one of the two wld be easier and faster > to learn (I have no prior knowledge of Prolog). If your problems are quite pure textbook-style problems, which are likely to be solvable by a 'black-box solver', then minizinc will work. If the problems are messy and require a lot of experimentation, the ECLiPSe approach may be more promising. It would be interesting to hear other practitioner's view on the situation! -- JoachimReceived on Fri Dec 16 2011 - 13:10:50 CET
This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET