01.12.2012 Views

Mixed Integer Linear Programming in Process Scheduling: Modeling ...

Mixed Integer Linear Programming in Process Scheduling: Modeling ...

Mixed Integer Linear Programming in Process Scheduling: Modeling ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!