Op 01-12-11 01:53, Patrik Dufresne schreef:
Hi,

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.)
Those global constraints break down into simple score rules, in an Object Orientated manner (instead of twiddling with primitive arrays). For example:

all different:
  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. (https://docs.google.com/open?id=0BykkHu_UReIvYzg3NmM2YmUtYjVhNy00NjgwLTliNjctNWJjZTMyNjU0MDM2)

Thanks to post your opinion. 
Any tips are welcome.
Once you've got the Planner implementation working well, benchmark it against your JaCoP results and blog/tweet them :)

--
Patrik Dufresne
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users

-- 
With kind regards,
Geoffrey De Smet