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).
Take a look at these examples:
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"
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
These are all just constraints, I don't see any special stuff there.
To make them easy to write, the domain classes will need a (shadow)
variable that says when a work starts.
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?
Yes, see docs on repeated planning.
Thanks,
Scott
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users