Take a look at these examples:
On 18-03-14 09:24, Scott Danner wrote:
Hello,
We have a resource allocation problem. Could this be solved with OptaPlanner?
Here it is:There are N projects located in various places that need work done with machines (just one machine type for all machine work).Work can be parallelized, e.g. 6 work days can be done in 6 calendar days by one machine or in 3 calendar days by two, or in 4 calendar days by 2 machines (one works 4, other 2).
Cloud Balancing
https://www.youtube.com/watch?v=xhCtuM-Hiic
use as less machines as possible
Project Job Scheduling
https://www.youtube.com/watch?v=_2zweB9JD7c
in case the work has dependencies on other work items
Vehicle routing with Time Windows
https://www.youtube.com/watch?v=BxO3UFmtAPg
When a work gets assigned to a machine, use shadow variables to capture when the work will be done.
See docs about "variable listeners"These are all just constraints, I don't see any special stuff there.
How to best allocate machines to projects?Looking at planned project work, how many machines are needed for each calendar day? How many machines should we buy, and how many to rent, and when?
Details
For each project, the work can & must be done only in some selected calendar periods.Machine locations are always known.
Machine costs:* moving from location A to location B (per km). Moving also takes time, and a machine can be moved a maximum amount of km per day.* operating (per day)* staying in a project location (per day)* staying in a hangar (per day)* being rented for one day from location L (total cost = transport from rent location to project location and back, and daily rent)* being purchased
To make them easy to write, the domain classes will need a (shadow) variable that says when a work starts.Yes, see docs on repeated planning.
A machine also needs an operator, but for now that can be considered a single unit.
Ideally, also take into accounting weather for each project location. Weather might be known with 2 weeks in advance. Just re-plan by blocking the rainy days for some projects?
Thanks,Scott
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users