<div dir="ltr"><div><br></div><div>Thanks Geoffrey!</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 18, 2014 at 11:51 AM, Geoffrey De Smet <span dir="ltr"><<a href="mailto:ge0ffrey.spam@gmail.com" target="_blank">ge0ffrey.spam@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><div class="">
<br>
<div>On 18-03-14 09:24, Scott Danner wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Hello,</div>
<div><br>
</div>
<div>We have a resource allocation problem. Could this be solved
with OptaPlanner?</div>
<div><br>
</div>
<div>Here it is:</div>
<div>There are N projects located in various places that need
work done with machines (just one machine type for all machine
work).</div>
<div>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).</div>
</div>
</blockquote></div>
Take a look at these examples:<br>
<br>
Cloud Balancing<br>
<a href="https://www.youtube.com/watch?v=xhCtuM-Hiic" target="_blank">https://www.youtube.com/watch?v=xhCtuM-Hiic</a><br>
use as less machines as possible<br>
<br>
Project Job Scheduling<br>
<a href="https://www.youtube.com/watch?v=_2zweB9JD7c" target="_blank">https://www.youtube.com/watch?v=_2zweB9JD7c</a><br>
in case the work has dependencies on other work items<br>
<br>
Vehicle routing with Time Windows<br>
<a href="https://www.youtube.com/watch?v=BxO3UFmtAPg" target="_blank">https://www.youtube.com/watch?v=BxO3UFmtAPg</a><br>
When a work gets assigned to a machine, use shadow variables to
capture when the work will be done.<br>
See docs about "variable listeners"<div class=""><br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>How to best allocate machines to projects?</div>
<div>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?</div>
<div><br>
</div>
<div><br>
</div>
<div>Details</div>
<div><br>
</div>
<div>For each project, the work can & must be done only in
some selected calendar periods.</div>
<div>Machine locations are always known. </div>
<div><br>
</div>
<div>Machine costs:</div>
<div>* 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.</div>
<div>* operating (per day)</div>
<div>* staying in a project location (per day)</div>
<div>* staying in a hangar (per day)</div>
<div>* being rented for one day from location L (total cost =
transport from rent location to project location and back, and
daily rent)</div>
<div>* being purchased</div>
<div><br>
</div>
</div>
</blockquote></div>
These are all just constraints, I don't see any special stuff there.<br>
To make them easy to write, the domain classes will need a (shadow)
variable that says when a work starts.<div class=""><br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div><br>
</div>
<div>A machine also needs an operator, but for now that can be
considered a single unit.</div>
<div><br>
</div>
<div>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?</div>
</div>
</blockquote></div>
Yes, see docs on repeated planning.<br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Thanks,</div>
<div>Scott</div>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
rules-users mailing list
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a></pre>
</blockquote>
<br>
</div>
<br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br></blockquote></div><br></div></div>