Mixed Integer Linear Programming in Process Scheduling: Modeling ...
Mixed Integer Linear Programming in Process Scheduling: Modeling ...
Mixed Integer Linear Programming in Process Scheduling: Modeling ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
146 FLOUDAS AND LIN<br />
where dasn and ddsn are the amount and due date of the demand for state (s)atevent po<strong>in</strong>t<br />
(n). Note that the tasks that produce the <strong>in</strong>volved state are considered <strong>in</strong> Constra<strong>in</strong>t (27)<br />
and it is guaranteed that the product delivered at the event po<strong>in</strong>t is produced before the due<br />
date of the demand. Slack variables SL(s, n) are <strong>in</strong>troduced to provide more flexibility<br />
<strong>in</strong> handl<strong>in</strong>g partial fulfillment of demands.<br />
Furthermore, Janak, L<strong>in</strong>, and Floudas (2004) have recently presented an enhanced<br />
formulation which extends the work of Floudas and coworkers (Ierapetritou and Floudas,<br />
1998a, 1998b, 2001; Ierapetritou, Hené, and Floudas, 1999; L<strong>in</strong> and Floudas, 2001), to<br />
take <strong>in</strong>to account constra<strong>in</strong>ts on resources other than equipment items, such as utilities,<br />
and also considers various storage policies such as unlimited <strong>in</strong>termediate storage (UIS),<br />
fixed <strong>in</strong>termediate storage (FIS), no <strong>in</strong>termediate storage (NIS), and zero-wait (ZW) conditions.<br />
In their proposed model, tasks are allowed to cont<strong>in</strong>ue over several consecutive<br />
event po<strong>in</strong>ts <strong>in</strong> order to accurately monitor the utilization of resources and the storage of<br />
states so that specified limits are enforced. As a result, two sets of b<strong>in</strong>ary variables are<br />
employed, one which <strong>in</strong>dicates whether or not a task starts at each event po<strong>in</strong>t and another<br />
which <strong>in</strong>dicates whether or not a task ends at each event po<strong>in</strong>t. A cont<strong>in</strong>uous variable is<br />
also employed to <strong>in</strong>dicate if a task is active at each event po<strong>in</strong>t. In addition, new tasks are<br />
def<strong>in</strong>ed for the storage of states and the utilization of resources. The sequence and tim<strong>in</strong>g<br />
of these new tasks and the process<strong>in</strong>g tasks are then related so that the tim<strong>in</strong>g for changes<br />
<strong>in</strong> resource levels and amounts of states will be consistent and specified limits on both<br />
can be enforced. For <strong>in</strong>stance, constra<strong>in</strong>ts are written to def<strong>in</strong>e the amount of a utility<br />
used to undertake a task, to keep track of the amount of utility available at each event<br />
po<strong>in</strong>t, and also to relate the duration and tim<strong>in</strong>g of a utility to the tim<strong>in</strong>g of the process<strong>in</strong>g<br />
tasks which utilize that utility. In addition, constra<strong>in</strong>ts are <strong>in</strong>cluded which govern the<br />
batch-size of a storage task, relate the storage task to process<strong>in</strong>g tasks through material<br />
balances, and also relate the duration and tim<strong>in</strong>g of the storage task to the tim<strong>in</strong>g of the<br />
process<strong>in</strong>g tasks which produce or consume the state be<strong>in</strong>g stored through the storage<br />
task. Furthermore, the allocation constra<strong>in</strong>ts are expanded <strong>in</strong> order to relate the above<br />
mentioned b<strong>in</strong>ary and cont<strong>in</strong>uous assignment variables so that no tasks overlap, no tasks<br />
are assigned to the same event po<strong>in</strong>t <strong>in</strong> the same unit, and all tasks that start process<strong>in</strong>g<br />
must f<strong>in</strong>ish process<strong>in</strong>g. Also, constra<strong>in</strong>ts are added to relate the batch sizes for tasks<br />
which start and f<strong>in</strong>ish at the same or consecutive event po<strong>in</strong>ts so that tasks which extend<br />
over more than one event po<strong>in</strong>t have consistent batch sizes at each event po<strong>in</strong>t. Moreover,<br />
the duration constra<strong>in</strong>ts for a process<strong>in</strong>g task are expanded to allow tasks to extend over<br />
several event po<strong>in</strong>ts so that the f<strong>in</strong>ish<strong>in</strong>g time is related to a start<strong>in</strong>g time from a previous<br />
event po<strong>in</strong>t. Similarly, a set of order satifaction constra<strong>in</strong>ts are <strong>in</strong>cluded to allow orders<br />
for products to be due at <strong>in</strong>termediate due dates. These constra<strong>in</strong>ts force an order for a<br />
state to be met by a certa<strong>in</strong> due date and <strong>in</strong> a certa<strong>in</strong> amount. F<strong>in</strong>ally, a set of tighten<strong>in</strong>g<br />
constra<strong>in</strong>ts is <strong>in</strong>troduced to help improve the relaxed LP solution.<br />
Maravelias and Grossmann (2003) have also recently <strong>in</strong>troduced an approach for<br />
the short-term schedul<strong>in</strong>g of multipurpose batch plants <strong>in</strong>clud<strong>in</strong>g resource constra<strong>in</strong>ts and<br />
mixed storage policies, however, their formulation uses a global event based model. When<br />
compared to the unit-specific event based model presented by Janak, L<strong>in</strong>, and Floudas