sout, j, p ) amount of state produced from unit j at time point p mu ( sin, j, p ) amount of state used in or enters unit j at time point p y ( s∗in, j, p ) binary variable associated with usage of state s at time point p d (sout, p) amount of state delivered to customers at time point p Parameters a ( s∗in, j ) duration parameter associated with variable batch size b ( s∗in, j ) duration parameter associated with variable batch size 18 2 Short-Term Scheduling tL ( s∗in, j ) minimum processing time in unit j corresponding to a particular task tU ( s∗in, j ) maximum processing time in unit j corresponding to a particular task VUj maximum design capacity of a particular unit j VLj minimum design capacity of a particular unit j H time horizon of interest τ ( s∗in, j ) mean processing time for a state Q0s (s) initial amount of state s stored QUs (s) maximum amount of state s stored within the time horizon of interest CP (s) Selling price of product s, s = product Capacity Constraints VLj y ( s∗in, j, p ) ≤ ∑ sin, j mu ( sin, j, p ) ≤ VUj y ( s∗in, j, p ) ,∀j ∈ J, p ∈ P,∀sin, j ∈ Sin, j (2.1) This constraint implies that the total amount of all the states consumed at time point p is limited by the capacity of the unit which consumes the states. The U and L superscripts denote the upper and the lower bound on capacity. According to constraint (2.1), states will be consumed in a particular unit jif the corresponding effective state is used at time point p. Material Balances ∑ sin, j mu ( sin, j, p− 1 ) = ∑ sout, j mp ( sout, j, p ) ,∀p ∈ P, p > p1, j ∈ J, ∀sin, j ∈ Sin, j, sout, j ∈ Sout, j (2.2) qs (s, p1) = Q0s (s)− mu (s, p1) , s = product,∀s ∈ S (2.3) qs (s, p) = qs (s, p− 1)− mu (s, p) , s = feed,∀s ∈ S,∀p ∈ P, p > p1 (2.4) qs (s, p) = qs (s, p− 1)+ mp (s, p)− mu (s, p) , s = product, feed,∀s ∈ S ∀p ∈ P, p > p1 (2.5) qs (s, p1) = Q0s (s)− d (s, p1) , s = product,∀s ∈ S (2.6) qs (s, p) = q (s, p− 1)+ mp (s, p)− d (s, p) , s = product, byproduct,∀s ∈ S ∀p ∈ P, p > p1 (2.7) 2.3 Mathematical Model 19 Constraint (2.2) is the material balance around a particular unit j. It implies that the sum of the masses for all the input states used at time point p –1 should be equal to the sum of the masses for all the output states produced at time point p. Constraint (2.3) states that the amount of state s stored at the first time point, is the difference between the amount stored before the beginning of the process and that being utilised at the first time point. Constraint (2.4) only applies to the feed, since it is the state that is only used in the process. Constraint (2.5) only applies to intermediates, since they are both produced and used in the process. Constraints (2.6) and (2.7) only apply to products and byproducts, since they are the only states that have to be taken out of the process as shown by the terms d(s, p). Duration Constraints (Batch Time as a Function of Variable Batch Size) In this section the duration constraints are modelled as a function of batch size. The following constraints show how this effect is modelled in the proposed approach using the SSN representation. tp ( sout, j, p )= tu ( s∗in, j, p−1 ) +a ( s∗in, j ) y ( s∗in, j, p−1 ) +b ( s∗in, j ) ∑ sin, j mu (s, p−1), ∀j ∈ J,∀p ∈ P, p > p1,∀sin, j ∈ Sin, j, sout, j ∈ Sout, j (2.8) b ( s∗in, j ) = tU ( s∗in, j ) − tL ( s∗in, j ) VUj − VLj ,∀j ∈ J,∀s∗in, j ∈ Sin, j (2.9) a ( s∗in, j ) = τ ( s∗in, j ) ( 1− υ ( s∗in, j )) = tL ( s∗in, j ) ,∀j ∈ J,∀s∗in, j ∈ Sin, j (2.10) tU ( s∗in, j ) = τ ( s∗in, j ) ( 1+ υ ( s∗in, j )) ,∀j ∈ J,∀s∗in, j ∈ Sin, j (2.11) The parameter for variable batch time is defined by constraint (2.9). This gives the amount of time required to process a unit amount of a batch corresponding to a particular effective state in a corresponding unit operation. Constraint (2.10) denotes the minimum processing time for the effective state in the corresponding unit operation. This is, in essence, the minimum residence time of a batch within a unit operation. In constraints (2.10) and (2.11), υ ( s∗in, j ) is the percentage variation in processing time based on operational experience. Duration Constraints (Batch Time Independent of Batch Size) In a situation where duration is constant regardless of the batch size, the duration constraint assumes the following form. 20 2 Short-Term Scheduling tp ( sout, j, p ) = tu ( s∗in, j, p− 1 ) + τ ( s∗in, j ) y ( s∗in, j, p− 1 ) , ∀p ∈ P, p > p1, ∀ sout, j ∈ Sout, j, s∗in, j ∈ Sin, j (2.12) Sequence Constraints tu ( sin, j, p ) ≥ ∑ sin, j ∑ sout, j ∑ p′≤p ( tp ( sout, j, p′ )− tu ( sin, j, p′ − 1 )) , ∀j ∈ J, p′ ∈ P, p > p1,∀sout, j ∈ Sout, j, sin, j ∈ Sin, j (2.13) tu ( sin, j, p ) ≥ tp ( sout, j, p′ )− H ( 2− y ( s∗in, j, p ) − y ( s∗in, j, p′ − 1 )) , ∀j ∈ J, p, p′ ∈ P, p′ > p1, p′ ≤ p,∀sout, j ∈ Sout, j, sin, j ∈ Sin, j, s∗in, j → sout, j (2.14) tu ( sin, j, p ) ≥ tp ( sout, j′ , p ′ ) − H ( 2− y ( s∗in, j, p ) − y ( s∗ in, j′ , p ′ − 1 )) , ∀j ∈ J, p, p′ ∈ P, p′ > p1, p′ ≤ p,∀sin, j ∈ Sin, j, sin, j = sout, j′ , s∗in, j′ → sout, j′ (2.15) Constraints (2.13) and (2.14) imply that state s can only be used in a particular unit, at any time point, after all the previous states have been processed. Constraint (2.13) is only relevant in situations where more than one task can be conducted in one unit, otherwise it is redundant in the presence of constraints (2.14) and (2.15). Constraint (2.15) stipulates that a state can only be processed at a particular time point p in a particular unit j after it has been produced from another unit j′. In case of a recycle, j is the same as j′. It is worthy of note that constraints (2.14) and (2.15) are only applicable to intermediates, since they are the only states that are both produced and used. For clarity of notation which is adopted throughout this textbook, s → s′ implies that state s′ is formed from a task that uses state s as its input. Assignment Constraint The assignment constraint is aimed at ensuring that only one task is conducted in a unit at any time point. It is, therefore, apparent that the assignment constraint is only necessary if more than one task can be performed in a given unit. Otherwise, it is also redundant. ∑ s∗in, j y ( s∗in, j, p ) ≤ 1,∀p ∈ P, j ∈ J, s∗in, j ∈ Sin, j (2.16) 2.4 Literature Examples 21 Time Horizon Constraints tu ( sin, j, p ) ≤ H,∀sin, j ∈ Sin, j, p ∈ P, j ∈ J (2.17) tu ( sout, j, p ) ≤ H,∀sout, j ∈ Sout, j, p ∈ P, j ∈ J (2.18) Constraints (2.17) and (2.18) respectively stipulate that the usage or production of state should be within the time horizon of interest. Storage Constraints qs (s, p) ≤ QU (s) ,∀s ∈ S, p ∈ P (2.19) Constraint (2.19) states that the amount of state s stored at each time point cannot exceed the maximum allowed. Objective Function The objective function for this formulation is the maximisation of product through- put or revenue. Maximize ∑ s ∑ p CP (s) d (s, p), s = product, s ⊂ S, p ∈ P (2.20) 2.4 Literature Examples 2.4.1 First Literature Example In this section, the above mathematical model is applied to a literature example shown in Fig. 2.2 (Ierapetritou and Floudas, 1998). The SSN representation is given in Fig. 2.3b. Table 2.1 gives data for this example. 5 time points and a 12-h time horizon were used. Using less time points leads to a suboptimal solution with an objective value of 50, and using more time points than 5 did not improve the solution. It is worthy of note that, in this particular example, constraint (2.13) is redundant as mentioned earlier, since each unit is only performing one task. Capacity Constraints State s1 mu (s1,p) ≤ 100y (s1, p) ,∀p ∈ P State s2 mu (s2, p) ≤ 75y (s2, p) ,∀p ∈ P State s3 mu (s3, p) ≤ 50y (s3, p) ,∀p ∈ P 22 2 Short-Term Scheduling Table 2.1 Data for the literature example (Ierapetritou and Floudas, 1998) Unit Capacity Suitability Mean processing time (τ) Unit 1 100