<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">&lt;<a href="mailto:ge0ffrey.spam@gmail.com" target="_blank">ge0ffrey.spam@gmail.com</a>&gt;</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 &quot;variable listeners&quot;<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 &amp; 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&#39;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>