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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

144 FLOUDAS AND LIN<br />

It should be emphasized that the number of event po<strong>in</strong>ts is the same for all the units,<br />

however, the tim<strong>in</strong>g of each event po<strong>in</strong>t can be different <strong>in</strong> different units. Also note that<br />

if a task can be performed <strong>in</strong> multiple units, it is split <strong>in</strong>to multiple tasks with each one<br />

performed <strong>in</strong> a different unit. This will <strong>in</strong>crease the number of wv(i, n) b<strong>in</strong>ary variables<br />

and <strong>in</strong> the worst case where every task can take place <strong>in</strong> every unit, the total number of<br />

tasks after splitt<strong>in</strong>g is equal to the number of the orig<strong>in</strong>al tasks times the number of units.<br />

Based on the STN process representation, the ma<strong>in</strong> cont<strong>in</strong>uous variables <strong>in</strong> this<br />

formulation <strong>in</strong>clude: B(i, j, n), the batch-size of task (i) <strong>in</strong>unit ( j) atevent po<strong>in</strong>t (n);<br />

ST(s, n) and D(s, n), the amounts of state (s) stored and delivered at event po<strong>in</strong>t (n)<br />

respectively. Us<strong>in</strong>g these variables, the unit capacity, material balance and storage constra<strong>in</strong>ts<br />

can be formulated similarly to those <strong>in</strong> the discrete-time models and global event<br />

based cont<strong>in</strong>uous-time models.<br />

V m<strong>in</strong><br />

max<br />

ij wv(i, n) ≤ B(i, j, n) ≤ Vij wv(i, n), ∀i ∈ I, j ∈ Ji, n ∈ N, (19)<br />

ST(s, n) = ST(s, n − 1) −D(s, n) + �<br />

i∈I p<br />

s<br />

ρ p<br />

is<br />

�<br />

B(i, j, n − 1) − �<br />

j∈Ji<br />

i∈I c s<br />

ρ c is<br />

�<br />

B(i, j, n),<br />

∀s ∈ S, n ∈ N, (20)<br />

0 ≤ ST(s, n) ≤ Cs, ∀s ∈ S, n ∈ N. (21)<br />

Note that the above constra<strong>in</strong>t (20) is written for batch tasks, while similar constra<strong>in</strong>ts<br />

can be written for cont<strong>in</strong>uous tasks which takes <strong>in</strong>to account the different nature of the<br />

cont<strong>in</strong>uous operation mode (see Ierapetritou and Floudas, 1998b). It should be po<strong>in</strong>ted<br />

out that the amount of state (s) atanevent po<strong>in</strong>t (n), represented by st(s, n), generally<br />

does not correspond to one well-def<strong>in</strong>ed time <strong>in</strong>stance or time period due to the fact<br />

that the state can be consumed or produced by different tasks that take place <strong>in</strong> different<br />

units with different time axis. When there is a storage limit for the state, an upper bound<br />

can be imposed on the ST(s, n) variable as an approximate way to model the storage<br />

restrictions, as represented by Constra<strong>in</strong>t (21). A rigorous way is to <strong>in</strong>troduce storage<br />

tasks and storage units with certa<strong>in</strong> capacity ranges (see Ierapetritou and Floudas, 1998b;<br />

L<strong>in</strong> and Floudas, 2001).<br />

To determ<strong>in</strong>e the task tim<strong>in</strong>gs, we resort to another two sets of cont<strong>in</strong>uous variables.<br />

T s (i, j, n) and T f (i, j, n) represent the start and end times of task (i)<strong>in</strong>unit ( j)atevent<br />

po<strong>in</strong>t (n). The duration of a task is represented as follows:<br />

T f (i, j, n) = T s (i, j, n) + αijwv(i, n) + βijB(i, j, n), ∀i ∈ I, j ∈ Ji, n ∈ N. (22)<br />

This l<strong>in</strong>ear expression of variable process<strong>in</strong>g time as a function of the batch-size is able<br />

to model a wide variety of processes. For example, <strong>in</strong> the case of fixed process<strong>in</strong>g times,<br />

αij corresponds to the process<strong>in</strong>g time of a task and βij is zero. While for tasks operat<strong>in</strong>g<br />

<strong>in</strong> the cont<strong>in</strong>uous mode, αij is zero and βij is the <strong>in</strong>verse of the process<strong>in</strong>g rate.<br />

In addition to the above duration constra<strong>in</strong>ts, the various relationships among the<br />

tim<strong>in</strong>gs of tasks are formulated through the follow<strong>in</strong>g three sets of sequence constra<strong>in</strong>ts,<br />

j∈Ji

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

Saved successfully!

Ooh no, something went wrong!