[rules-users] What's the difference between Drools and other constraints solvers?

Geoffrey De Smet ge0ffrey.spam at gmail.com
Wed Aug 22 04:09:24 EDT 2012


Op 22-08-12 03:47, Davide Sottara schreef:
> Choco is written in java and has a very permissive license model, unlike the
> others which are either
> commercial or GPLx, but the last time I tried it ( ~6 months ago ) it was
> still suffering from some numerical computation problems. I had it almost
> stuck in a local plateau for several seconds while
> trying to solve a small minimization problem with ~4 variables and ~10
> constraints.

For such a small problem you might be better of using brute force (which 
usually works up to n <= 10).
Most solvers don't scale, so any experiment done on a small dataset 
tells you nothing about how they behave on big datasets :(

For example, LocalSolver (the only real competition for Drools Planner), 
can't handle the roadef B9 instance with 50 000 variables yet with 40GB 
of RAM as a whole: http://www.localsolver.com/news.html?id=11
Planner can handle it as a whole with only 1GB of RAM and has better 
results:
http://blog.athico.com/2012/06/roadef-2012-first-results-for-dataset-b.html

>
> @Geoffrey: but can Planner be used effectively - i.e. with little overhead -
> for LP optimization problems,
> including the integer-LP and the mixed-LP variants? And quadratic ones?
>

Yes, but Planner doesn't use LP, it uses Metaheuristics. Both have their 
uses.

Metaheuristics and LP can both be applied to planning, scheduling and 
assignment problems, but in my experience (shown by the competitions),
metaheuristics clearly win most battles, especially if the problems 
scales out.
LP is usually better for non-discrete (often non NP-complete) problems, 
such as figuring out the center of a triangle.

LP is also far less powerful on how to define the constraints.
For example getting LP to solve a toy problem like TSP requires complex 
equations (such as comb inequalities) to squeeze the hard constraints 
into equations. Metaheuristics just repair the chain while doing moves.


>
>
>
> --
> View this message in context: http://drools.46999.n3.nabble.com/What-s-the-difference-between-Drools-and-other-constraints-solvers-tp4019299p4019333.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>




More information about the rules-users mailing list