Op 16-10-12 00:30, Paul Adams schreef:Hi everyone,I'm new to Drools, so apologies if I'm missing something obvious or mixing up my terms here. Hopefully the subject line got someone's attention!My problem is this (somewhat contrived and simplified):Facts:1. A person would like to eat 3 eggs per day, of each of several different breeds (Legbar, Rhode Island Red, Dorking)2. A hen takes 45 days to get to egg-laying stage (varies by breed)3. At maturity, each hen lays 2 eggs every 10 days (also varies by breed)4. A hen house has 30 available roosts5. Each hen can lay 5 times before they give up (luckily for us this isn't really true!)lol! I wonder what you're really planning ;)
I would expect that:
@PlanningEntity HenAssignment {
Hen hen; // a Hen has a Breed
@PlanningVariable Roost roost;
@PlanningVariable Day startingDay;
}
I am not sure if your number of Hens is static or dynamic.
<note>
If it's dynamic you might want to consider this alternative:
@PlanningEntity EggDonation {
Day day;
@PlanningVariable Hen hen;
@PlanningVariable Roost roost;
}
Which might be better of split up 2 entity classes (but until the placer
API is released, construction heuristics don't support that well)
</note>
My planning problem is to figure out how many chicks I need to buy, when I need to buy them, and to allocate them to a particular roost for their entire egg-laying life. Basically what I would like the solution to contain is an allocation of a particular hen to a roost for a particular period, when the eggs will appear, and when a roost will become free to plan more hens.Hard Constraint:No hen can share the same roostThe problem feels like the hospital bed problem in the examples, but where the number of patients is both a planning variable and a fact, and the planning period is undefined. As I said, the problem is paraphrased and simplified - there are a number of soft constraints - some hens like it hot :-)It's basically hospital bed planning but without a plannable admission
date, but with no need that a patient can switch beds ever.
Take a look at this post:
https://plus.google.com/112811208792575157490/posts/82h37pBvQ5mI would appreciate any guidance as to how I might model this problem, or any simplifications I could make.Many thanks,Paul._______________________________________________rules-users mailing listrules-users@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users