Op 01-12-11 01:53, Patrik Dufresne schreef:
I am a Java developer and I am currently working on a work force
management software for food compagnies. So far, I've decided to use
constraint programming (CP) to find a solution to the problem. The
current version is using JaCoP as a solver, but I find it hard to make
it support soft-constraint and it only use Depth First search. So I'm
looking around for a different solver engine and Drools Planner seams
to fit my need. I'm just concern about it's speed since I don't see
any way to add global constraint (like all-different, Count, Among, etc.)
global constraints break down into simple score rules, in an
Object Orientated manner (instead of twiddling with primitive arrays).
Assignment($x : x)
not Assignment(x == $x)
Through ReteOO and rule engine forward chaining, these are made fast and
scalable with indexing, incremental score calculation (=delta's), ...
I've look closely to the nurse rostering example. My problem is very
similar. Let say, I have 150 nurses, ~42 different skills, 9 shifts,
~300 events to be assigned. Whats make it easier compare to the
example, I only need to plan one week. My question is simple, does
Drools will be able to handle it ?
Yes. Planner is used successfully in far greater
problems sets than this :)
Assigning 300 events is really not much: most of the examples already
have 1000-5000 planning entities to schedule (to multiple variables
sometimes, while nurse rostering only has 1 variable, the nurse).
To give a better understanding of the problem I'm trying to solve,
I've attach a PDF document with more explanations.
Thanks to post your opinion.
Any tips are welcome.
Once you've got the Planner implementation working well,
against your JaCoP results and blog/tweet them :)
rules-users mailing list
With kind regards,
Geoffrey De Smet