From: Andreas Launila Date: 2007-06-27T04:56:45+09:00 Subject: [ANN] Gecode/R 0.3.0 Gecode/R version 0.3.0 has been released. http://gecoder.rubyforge.org/ It's still early in the development, so don't expect any form of backwards compatibility (things will change left and right if needed to). == What is Gecode/R? == Gecode/R is a Ruby interface to Gecode[1] which allows you to use constraint programming in Ruby. It's typically useful for problems where you otherwise have to do a search through various assignments to find a solution. All you have to do is describe the properties of solutions to a problem and Gecode will find them. Examples[2] of solving problems with Gecode/R include problems such as verbal arithmetic (recently featured on Ruby Quiz) and n-queens. == Learning more == The ambition of the documentation[3] is to keep up with the code, so it hopefully covers all of the available features (which in combination with the examples should get you going). Tutorials on topics such as modelling are currently missing, but questions are welcome. == Requirements == Gecode 1.3.1 is required, it's easy to install though (see installation[4] for links). == Features == * Finite domain integers and booleans. * Linear, distinct and basic boolean constraints. * Reification and propagation strength. == Changes (since 0.2.0) == * The constructor of Gecode::Model no longer has to be called by classes inheriting from it. * Added Model#reset! which resets a model after search. * Added Model#solution which passes the first solution to a block and returns the result of that block. * Added Model#each_solution which iterates over each solution. * Added boolean variables. They are created using Model#bool_var and Model#bool_var_array . * Added two options to constraints: propagation strength and reification variable. * Linear and simple relation constraints can now also be specified using #equal, #equal_to, #greater, #greater_than,... in addition to comparison operators. * Added distinct with offsets. * Simple relation constraints can now be used to specify relations between two variables. * Added basic boolean domain constraints along with conjunction and disjunction. * Added syntactic sugar for combining reifiable constraints with | and &. [1] http://www.gecode.org/ [2] http://gecoder.rubyforge.org/examples.html [3] http://gecoder.rubyforge.org/documentation/ [4] http://gecoder.rubyforge.org/installation.html -- Andreas Launila