Models for Global Constraint Applications - Cork Constraint ...
Models for Global Constraint Applications - Cork Constraint ...
Models for Global Constraint Applications - Cork Constraint ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3.3.2 Frozen Schedule<br />
The scheduling system is not just used to create one master schedule, but is<br />
constantly re-run to update the schedule with the latest production data, so<br />
that the effects of delays on customer deliveries are immediately visible. When<br />
rescheduling we do not want the system to re-arrange the schedule completely.<br />
In the user interface we have the possibility to “freeze” the schedule of a line<br />
up to a given task. This fixes the order of the tasks, but not their start times,<br />
as these might be affected by the work in progress. This “freezing” can also be<br />
used to protect manual changes in the schedule.<br />
3.3.3 Task Ordering<br />
If we have multiple tasks producing the same product, then we can order them<br />
according to their due date. This reduces the amount of bin capacity we will<br />
need <strong>for</strong> this product and cuts some part of the search tree.<br />
3.3.4 Throughput Learning<br />
∀i,j∈I : ri = rj ∧ duei < duej =⇒ si < sj<br />
(36)<br />
The accuracy of the schedule depends to a large extend on the accuracy of the<br />
throughput data which controls the duration of tasks and to some extend the<br />
machine assignment. The system contains a learning module which periodically<br />
checks actual production data in order to recalculate the throughput data <strong>for</strong><br />
each product. The user can interact with this module by excluding certain<br />
measurements or by <strong>for</strong>cing a particular value.<br />
3.4 Search<br />
In a problem like this where there are many different types of variables with domains<br />
which even initially are very different in size it is not possible to rely on a<br />
standard labelling routine which selects the variables without an understanding<br />
of their purpose in the model.<br />
We have developed a number of strategies which interleave the assignment<br />
of successor and setup variables, but which also use the start or end variables<br />
<strong>for</strong> task selection.<br />
a This is a standard labelling routine, which was not able to find any solution<br />
<strong>for</strong> the sample problems below. It was there<strong>for</strong>e not included in the result<br />
tables.<br />
b This strategy first assigns <strong>for</strong> each selected task the setup and then the successor<br />
variable. The selection is done by the most constrained successor<br />
variable. Doing this <strong>for</strong> all tasks fixes the machine assignment and the<br />
sequence of tasks on each machine. At the end it labels the start of all<br />
tasks to the earliest time point.<br />
c Like b, but select the task with the smallest value in the successor variable.<br />
d Like b, but select the task with the most constrained setup variable first.<br />
19