Scheduling of Multistage Batch Processes under Utility Constraints

Mar 24, 2009 - Simultaneous Batching and Scheduling of Batch Plants That Operate in a Campaign-Mode, Considering Nonidentical Parallel Units and Seque...
0 downloads 13 Views 967KB Size
6050

Ind. Eng. Chem. Res. 2009, 48, 6050–6058

Scheduling of Multistage Batch Processes under Utility Constraints Arul Sundaramoorthy, Christos T. Maravelias,* and Pradeep Prasad Department of Chemical and Biological Engineering; UniVersity of WisconsinsMadison, Madison, Wisconsin 53705

We present a novel discrete-time mixed-integer programming (MIP) formulation for the simultaneous batching and scheduling in multiproduct multistage processes under utility constraints. In addition to processing units and storage vessels, we consider utilities such as cooling water, steam, and electricity that are available in limited quantities. Since different tasks often share the limited utilities at the same time, we use a common time-grid approach. Further, the proposed method handles the batching decisions (the number and sizes of batches) seamlessly without the usage of explicit batch-selection variables. To preserve batch identity in storage vessels, we introduce a new class of inventory variables and constraints. Our approach is the first to address limited utilities for simultaneous batching and scheduling in multistage processes. 1. Introduction In batch processes, the availability of a sufficient amount of utilities is important because several tasks often share the same utility concurrently. The consumption levels of utilities, therefore, must be monitored so as not to exceed their capacity. In complex network processes, a task can consume and/or produce multiple states. The same state can be produced by different tasks (batch mixing) as well as consumed by multiple tasks (batch splitting), and recycle streams are allowed. To correctly account for material balance constraints and different storage policies, a class of mixed-integer programming (MIP) formulations were proposed, henceforth referred to as networkbased formulations, that typically use a common time grid as a time reference basis. In addition to material balance constraints, the common time grid (discrete or continuous) facilitates the expression of utility constraints as well as the inclusion of batching decisions. Network-based formulations, therefore, can be used to address a wide range of scheduling problems, including batching/scheduling problems under different storage policies and utility constraints. Despite being rather versatile, network-based formulations have a limitation: they cannot be used to address problems where batches cannot be mixed or split, i.e., processes where the identity of the batch must be preserved. Such processes appear often in the chemical industry (food, fine chemicals, and pharmaceuticals). The most common class is the multistage processes where all batches are processed in a number of stages following the same sequence and without mixing or splitting. Thus, formulations developed for these multistage processes, henceforth called sequence-based formulations, ensure that the batch identities are preserved. In an attempt to preserve this identity, most existing approaches consider a limited set of problems with the following assumptions: (A1) Fixed Batches. The number and sizes of batches are known a priori; i.e., the batching problem is decoupled from the scheduling problem. (A2) Unlimited Storage. There are enough storage vessels available to store any number of batches of any size. This assumption holds not only for intermediates but also for finished products. * To whom correspondence should be addressed. Tel.: +1-608- 2659026. Fax: +1-608-262-5434. E-mail: [email protected].

(A3) Unlimited Utilities. It is assumed that enough utilities are available to perform any number of tasks concurrently. Most existing approaches are based on more than one of the above three restrictive assumptions.1 However, methods that address only standalone scheduling problems or problems with unlimited storage and/or unlimited utilities can easily become inapplicable when batching considerations, and storage and utility constraints are practically important. Batching decisions and storage and utility constraints have been addressed in various combinations for different classes of problems. In early attempts to model multipurpose processes, the batching problem was addressed in the context of campaign planning. Birewar and Grossmann2 proposed a simultaneous planning and scheduling model for a special class of multistage processes, while Voudouris and Grossmann3 considered batching decisions in their cyclic scheduling approach for multipurpose processes. Though the number of batches is an optimization decision in both works, the batches of the same product are aggregated and treated as a single task. Further, they did consider only zero-wait or dedicated storage. For single-stage processes, Mendez et al.,4 Castro et al.,5 and Erdirik-Dogan and Grossmann6 considered the batching problem as part of the optimization. While the first work proposed a two-step methodology, the last two solved both problems simultaneously. Later, Prasad and Maravelias7 and Sundaramoorthy and Maravelias8 addressed the simultaneous batching and scheduling problem for multistage batch processes with unlimited storage. However, a common assumption in all these works is that unlimited utilities are available. Several authors have addressed storage constraints for standalone scheduling problems. Ku and Karimi9 and Kim et al.10 addressed storage policies for processes with one unit per stage and common processing sequences for all products (flow-shop). Kim et al.11 studied scheduling under finite intermediate storage policy in job-shop processes. Mendez and Cerda12 and Wu and He13 considered storage constraints for scheduling in more general multipurpose batch processes. Although these approaches can readily address scheduling problems in multistage processes, none of them considered batching decisions and utility constraints. Sundaramoorthy and Maravelias14 presented a general classification of storage policies based on two key elements: capacity and timing restrictions. They also developed a framework for simulta-

10.1021/ie801386m CCC: $40.75  2009 American Chemical Society Published on Web 03/24/2009

Ind. Eng. Chem. Res., Vol. 48, No. 13, 2009

6051

Figure 1. Classification of batching and scheduling approaches for multistage processes. In this paper, we address the general problem: simultaneous batching and scheduling under storage and utility constraints (highlighted in gray). The other seven classes of problems can be viewed as special cases of the general problem.

neous batching and scheduling in multistage processes that addresses all storage policies. However, they did not consider utility constraints. Utility constraints have also been addressed for standalone scheduling problems in both single and multistage processes. Lamba and Karimi15 and Mendez and Cerda16 studied scheduling in single-stage processes with parallel units under resource constraints due to utilities, manpower, etc. For multistage processes, Mendez et al.17 and Mendez and Cerda18,19 presented a precedence-based approach to handle utility constraints, which, however, can potentially lead to overestimation of utility levels. Nevertheless, none of these works considered batching decisions and storage constraints. Figure 1 shows a classification of different approaches in the context of multistage scheduling using the aforementioned assumptions A1, A2, and A3. (A1) Batching. Prasad and Maravelias7 and Sundaramoorthy and Maravelias8,14 considered simultaneous batching and scheduling, while all other approaches assume that batching and scheduling decisions are made separately. Of the above three simultaneous approaches, the first two assumed unlimited storage and unlimited utilities; the last approach assumed limited storage but unlimited utilities. (A2) Storage. Mendez and Cerda12 and Wu and He13 addressed storage constraints; they did not account for batching decisions and utility constraints. Sundaramoorthy and Maravelias14 considered both batching decisions and limited storage, but they assumed unlimited utilities. (A3) Utilities. Mendez et al.17 and Mendez and Cerda18,19 considered limited utilities, but they did not account for batching decisions and assumed unlimited storage. It should be noted that the approaches for simultaneous batching and scheduling can be easily simplified to handle fixed batches, as discussed in Sundaramoorthy and Maravelias.8 Similarly, the approaches for limited storage can readily address unlimited storage as shown in Sundaramoorthy and Maravelias.14 In this paper, we develop a method for simultaneous batching and scheduling in multistage processes with storage as well as utility constraints. The paper is structured as follows. In the following section, we formally present the problem statement. In section 3, we discuss the basic concepts of our modeling approach. In section 4, we present the mathematical formulation in detail, and we discuss how the proposed general formulation can be modified to address the other two problem classes that have not been studied yet (see Figure 1). In section 5, we present four examples to illustrate the significance of utility constraints in multistage scheduling applications.

Figure 2. Multiproduct multistage batch plant with nonidentical processing units in each stage and with intermediate and final storage vessels.

2. Problem Statement Given is the multistage process described in terms of (see Figure 2) the following: (i) a set of processing stages k ∈ K; (ii) a set of processing units/storage vessels j ∈ JP/JS with minimum βmin and maximum βmax sizes; j j (iii) the subsets JPk , k ∈ K of parallel (identical or nonidentical) processing units in stage k (with JP ) ∪kJPk ); (iv) the subsets JSk , k ∈ K of storage vessels in stage k (with S J ) ∪kJSk ); (v) a set of utilities u ∈ U with maximum availability θumax and cost γu; and (vi) a set of orders i ∈ I with demand ωi, price πi, release time jεi, due time φ j i, processing time jτij and cost RPij in unit j, S storage cost Rij in vessel j, and fixed/variable amount ξiju/ψiju of utility u for a batch of order i in unit/vessel j. The goal is to determine (i) the number and sizes of batches for each order (batching), (ii) the assignment of batches to processing units and storage vessels, and (iii) the sequencing and timing of assigned batches in each unit and vessel, so as to optimize an objective that can be either an economic (profit, cost, and sales, etc.) or time-related (makespan, earliness, and lateness, etc.) metric. If an order has more than one product, then it is treated as multiple single-product orders with the same release and due times as the original order such that index i denotes an order of a particular product. Further, preemption of tasks is not allowed. It should be noted that we use the term diVide to describe the batching decision (i.e., an order is divided into batches), and the term split to describe the situation where a batch is split between stages (batch splitting is not allowed in multistage processes).

6052

Ind. Eng. Chem. Res., Vol. 48, No. 13, 2009

Figure 3. Common time-grid representation used in the proposed approach.

3. Proposed Approach 3.1. Common Time Grid. Network-based formulations with common time grid20-26 allow different batches of the same material to be mixed seamlessly in a storage tank and utilities to be monitored. However, in sequence-based formulations,26-31,5,7,8,12-14,17-19 at most one batch can be stored in a vessel at any time, and batches are neither mixed nor split, which means that the main concern in these formulations is to sequence the assigned batches on each unit/vessel. Thus, the existing approaches do not employ a common time grid, and they are based on the following: (a) precedence relationships or (b) unitspecific time grids (asynchronous slots). However, if limited utilities are present and multiple tasks share the same utility concurrently, then tasks in different units that have started at different time points are linked through the utility constraints. To accurately enforce utility constraints in such processes, a common time reference grid across all units and vessels is necessary. In this paper, we use a discrete-time framework to accurately model utility constraints in addition to enforcing the sequencing of batches on each unit/vessel. The time horizon is divided into a number of periods, T, defined by a set of time points t  T ) {0, 1, 2,..., T} (Figure 3). Period t starts (ends) at time point t - 1 (t), and its length, δ, is fixed. Further, as in any discretetime approach, we scale time-related data using δ and convert them to the time interval basis: τij ) τjij /δ, εi ) εji/δ, and φi ) φ j i /δ. Note that these time units are approximated by rounding up or down to the nearest integer values in such a way that the resulting optimal solution is feasible. Once the common time grid is defined, tasks can start and finish only at a time point of the grid. This implies that changes in the status of the units and the inventory and utility consumption levels can only occur at these time points, which further implies that it is sufficient to define variables and express constraints only at these time points. This network-based approach is followed in this paper although our goal is to model a sequential multistage process. 3.2. Batching Decisions. In our previous precedence-based approaches,8,14 we defined a batch-selection variable explicitly to determine the number of batches. Further, we used an additional index (batch number) for all the decision variables. In this paper, on the other hand, we use the common time-grid approach as in network-based formulations where the assignment and batch size variables can be nonzero at different time points, thus implicitly accounting for batching decisions. In this paper, the assignment variable Xijt is active if processing of order i starts in unit j at time point t, and the corresponding batch size is denoted by Bijt. Thus, we do not require any additional batch-selection variable. 3.3. Modeling of Storage. We treat storage vessels as pseudounits for which assignment constraints are enforced. While a batch has to be necessarily processed in a unit in each stage, the storage vessels can be bypassed.14 We introduce subset JSk of vessels between stages k and k + 1 with JS ) ∪kJSk and subset JASik of allowable vessels for order i in stage k. Upon completion in stage k, a batch is either

Figure 4. Connectivity of unit U3. Note that JCU3 includes the units from + which a batch can be transferred to U3, while JCU3 includes the units to which a batch can be transferred from U3.

assigned to a unit in stage k + 1 or stored in a vessel in JSk until a unit is available in stage k + 1. Further, storage of raw materials can also be modeled by assuming a zeroth stage with no processing units. 3.4. Batch Identity. In multistage processes, the identity of each batch has to be preserved. Thus, different batches of the same order cannot share a vessel between the stages. In achieving this, we use two modeling concepts: (i) explicitly account for connections between units and vessels,32 and (ii) disaggregate inventory variables. First, at any time point, a unit can be receiving material from only one unit or vessel in the previous stage. Similarly, from each unit, material can be sent to only one vessel in the same stage or unit in the next stage. To model these connectivity constraints, we define subsets JCj and JC+ j : JCj is the set of vessels and units from which j can receive material, while JC+ j is the subset of units/vessels which material from j can be sent to (Figure 4). Binary variable Wjj ′t takes the value of 1 if a connection is established between units/ vessels j and j ′ ∈ JC+ j at time point t. Then, there exists a flow Fijj ′t of a batch of order i from j to j′ at t. Second, we decouple the inventory variable Sijt into two novel inventory variables, one for inventory just before the time point, + , and one for inventory just after the time point, Sijt . This is Sijt necessary because the traditional inventory balance constraint, Sijt ) Sij(t-1) +



Fij'jt -

j'∈JCj-



Fijj't ∀i, j ∈ JS, t (1)

j'∈JCj+

fails to prevent the batches from mixing when two batches of the same order are stored in a vessel immediately one after the other (see Figure 5a). As we will see in the next section, the interaction between batches of the same order is avoided via the decoupling of inventory variables and the expression of two material balance constraints (see Figure 5b). In doing so, we assume that the flow Fijj′t coming out of a storage vessel j occurs just before a time point t, while the flow F ijj′t going into storage vessel j ′ occurs just after time point t. 4. Mathematical Formulation Our formulation includes the following time-indexed optimization decisions: (i) Batch assignment: Xijt ) 1 if a batch of order i is assigned to processing unit/storage vessel j; 0, otherwise (ii) Batch size: Bijt denotes the size of a batch of order i assigned to unit j.

Ind. Eng. Chem. Res., Vol. 48, No. 13, 2009

6053

Figure 5. Traditional inventory balance vs proposed inventory balance. Consider a multistage plant with two stages, k ∈ {1, 2}, two units per stage J1 ) {U1, U2}, J2 ) {U3, U4}, and one intermediate storage vessel V1. In a, two batches of order A with sizes of 30 kg (batch 1) and 40 kg (batch 2) are required to meet the total demand of 70 kg. The batches share vessel V1 sequentially (batch 1, t ) 3-6; batch 2, t ) 6-8). At t ) 6, batch 1 flows from V1 to unit U3 in the next stage, whereas batch 2 flows from unit U1 to V1. If a single inventory balance is used, batches can exchange material as shown in a. To avoid such interaction, we decouple the flow-out and flow-in processes in the vessel (see b).

(iii) Connectivity and flow: Wjj′t ) 1 if unit/vessel j is connected to another unit/vessel j′; 0, otherwise. Fijj′t corresponds to the flow of a batch of order i from unit/vessel j to unit/vessel j′. - + /Sijt represents the inventory of order i in (iv) Inventory: Sijt vessel j just before/after time point t. (v) Resource levels: Rjt ) 1 if unit/vessel j is idle at time point t; Nut monitors the consumption level of utility u. (vi) Order delivery: Dit ) 1 if the batches of order i is delivered as a whole to a customer at time point t. We use uppercase-bold letters for sets, lowercase-italic for indices, lowercase-Greek for parameters, and uppercase-italic for variables. 4.1. Assignment and Resource Balance. If a batch of order i is assigned to processing unit j, then the batch size must be within the size of the unit: max P βmin j Xijt e Bijt e βj Xijt ∀i, j ∈ J , t

S j∈JAik

Xij(t-1) +



Xij(t-τij) )

P j∈JAik



Xijt +

S j∈JAik



Xijt

P j∈JAi(k+1)

∀i, k < |K|, t (3)

where JAPik/JASik is the set of processing units/storage vessels that order i can be assigned to in stage k. Note that eq 3 is not expressed for the last stage since it is common that finished batches of the same order share a storage vessel at the last stage. The resource constraint is expressed as: Rjt ) Rj(t-1) +

∑ i∈Ij

Xij(t-τij) -



i∈Ij

ij(t-τij)

where Ij is the set of orders that can be processed/stored in unit/ vessel j. Note that τij ) δ for storage vessels, and initial resource level Rj0 is 1 for all j. 4.2. Batch Flow Constraints. Whenever a batch is finished in unit j ∈ JP, the unit must be connected to another unit j′ ∈ JC+ j :

Wjj't ∀j ∈ JP, t

(5)

j'∈JCj+

∑X

ijt



)

Wj'jt ∀j ∈ JP, t

(6)

j'∈JCj-

i∈Ij

If a batch of order i finishes on unit j at time point t, then it must flow to a unit/vessel j′  JC+ j :



Bij(t-τij) )

Fijj't ∀i, j ∈ JP, t

(7)

j'∈JCj+

Similarly, if a batch of order i starts on j at t, then it must have flowed from a unit/vessel j′  JCj : Bijt )



Fij'jt ∀i, j ∈ JP, t

(8)

j'∈JCj-

The size of a batch that flows from j to j′ must be smaller than the maximum capacity of any of the two:

∑F

ijj't

max + e min(βmax j , βj' )Wjj't ∀j, j' ∈ JCj , t

(9)

i

4.3. Inventory Constraints. The inventory just before t is equal to the inventory just after t - 1 minus whatever flowed out of the vessel just before t (eq 10). Similarly, the inventory just after t is equal to the inventory just before t plus the total flows in to the vessel at the same time point (eq 11). + Sijt ) Sij(t-1) -



Fijj't ∀i, j ∈ JS, t

(10)

j'∈JCj+

Xijt ∀j ∈ JP ∪ JS, t (4)

i∈Ij



)

Similarly, to start a batch on unit j, another unit/vessel j′ from the previous stage must be connected to unit j:

(2)

When a batch is finished in stage k, it must be assigned either to a unit in the following stage or to a vessel in the same stage. Once assigned to a vessel, the storage of a batch continues until it is assigned to a processing unit in the next stage:



∑X

S+ ijt ) Sijt +



Fij'jt ∀i, j ∈ JS, t

(11)

j'∈JCj+ ) Sijt whenever the storage of a batch of order i Note that Sijt is continued in vessel j. Further, both of the inventory variables must be within the minimum and maximum sizes of the vessel:

6054

Ind. Eng. Chem. Res., Vol. 48, No. 13, 2009 + max S βmin j Xijt e Sijt e βj Xijt ∀i, j ∈ J , t

(12)

max S βmin j Xijt e Sijt e βj Xijt ∀i, j ∈ J , t

(13)

Finally, whenever a batch flows out of vessel j at time point t, the batch must be fully transferred so that it is not mixed with another batch at later times. In other words, the inventory of the batch just transferred from j must be zero at t:

∑S

ijt

e βmax j (1 -



Wjj't) ∀j ∈ JS, t

min MS

(20)

MS g Ditt ∀i, t

(21)

where

4.7.3. Total Earliness/Tardiness Minimization. The minimization of total earliness and total tardiness are expressed in eqs 22 and 23, respectively,

(14)

min

j'∈JCj+

i

Dit ) 1 ∀i

(15)

min

T Ei g

∑X

ijt

+ (φi -

t

Fijj't g ωiDit ∀i, j' ) j*, t

(16)

t

j∈J

P∪J S k k

(ξikuXijt' + ψikuBijt') e θmax u

i∈Ij t'>(t-τij)

∀u, t (17)

4.6. Additional Constraints. The release εi and due φi times can be enforced by fixing the assignment variables to zero before the release times and after the due times. Forbidden assignments can be enforced by fixing the corresponding assignment variables to zero. Finally, eq 18 expresses integrality and nonnegativity constraints. Xijt, Wjj't, Dit ∈ {0, 1} Bijt, Fijj't, Nut, Rjt,

Sijt,

S+ ijt

g0 (18)

The proposed MIP formulation consists of eqs 2-18. 4.7. Objective Function. The proposed model can accommodate various objective functions. 4.7.1. Profit Maximization/Cost Minimization. The maximization of profit, which is the total revenue less the total costs, is given by max



-,t i, j∈JCj*

πiFijj*t - (

∑RX

P ij ijt

i,j∈JP

+

(23)

∑RX

S ij ijt

i,j∈JS

∑ D t) it

S ∀i, j ∈ JAi|K|

(24)

∑ D (t - φ ) it

i

∀i

(25)

t>φi

Note that an order can also be delivered anytime during a time window [φi - µi, φi], in which case Dit can take the value of 1 only during this window.14 4.5. Utility Constraints. If ξiju /ψiju denote the fixed/variable requirement of order i in unit/vessel j for utility u, then the total consumption Nut of the utility at any time point must be constrained:

k

D i

t

T Di )

j∈JAiP|K| ∪ JAiS|K|

∑ ∑ ∑ ∑

∑T

where T Ei /T Di denote the earliness/tardiness of order i,

and the demand must be met for each order:

Nut )

(22)

i

t



E i

i

4.4. Demand Satisfaction and Order Delivery. For modeling purposes, we assume that all customers can be viewed as a single warehouse j* ∈ J to which all the batches of order i flow as a whole from the last stage to meet the required demand. Clearly, an order can be delivered only once,



∑T

+

∑γ N

u ut)

u,t

(19) The minimization of total costs can be achieved by using the cost terms in eq 19. Note that variable processing costs can be readily incorporated in the above equation. 4.7.2. Makespan Minimization. The minimization of makespan MS is given by

4.8. Tightening Constraints. It is possible to calculate the minimum ηmin and maximum ηmax numbers of batches required i i to meet order i: ) ωi /βˆ max ηmin i i  ∀i ηmax ) ωi /βˆ min i i  ∀i where βˆ max ) mink∈K[maxj∈JAikP (βmax and βˆ imin ) i j )] min maxk∈K[minj∈JAPik(βj )] are the maximum and minimum feasible batch sizes for order i, respectively. The computational performance can be improved by bounding the number of assignments:33 e ηmin i



Xijt e η max ∀i, k i

(26)

P ,t j∈JAik

Further, for the makespan minimization, eq 27 can be added: MS g



Xijt(t + τij) ∀i, k, j ∈ JPk , t

(27)

P i:j∈JAik

The effectiveness of tightening constraints (eqs 26 and 27) is discussed in section 5.5. 4.9. Remarks. In the classification of Figure 1, three classes of problems appear not to be studied yet. Of these three problem classes, the proposed formulation addresses the most general one, i.e., the simultaneous batching and scheduling under limited storage and limited utility constraints. Here, we present how the proposed general model can be modified to address the other two classes. (a) Unlimited Storage. We update the subsets JS, JSk , and JASik with dummy vessels for each stage with unlimited storage capacity both in terms of the number and size of batches. (b) Fixed Batches. To address the standalone scheduling problem, the novel inventory balance constraints are not required because mixing of batches of the same order in a vessel cannot occur since each order essentially has only one fixed batch. Thus, the traditional inventory balance constraint (eq 1) can be used instead of the proposed inventory balance constraints (section 4.3). Features such as sequence-dependent changeovers and semibatch operations can easily be incorporated in the existing formulation. In fact, the adoption of a common discrete-time

Ind. Eng. Chem. Res., Vol. 48, No. 13, 2009

6055

Figure 6. Gantt charts and utility consumption levels of optimal solutions for example 1.

grid enables the introduction of all modeling enhancements that have been developed for network-based formulations. Thus, the proposed approach is more versatile than previous approaches to multisage scheduling. 5. Examples We illustrate the significance of utilities in batching and scheduling of multistage processes using four examples. The first two show how utility constraints can impact not only the objective but also the batching decisions. The last three also illustrate how the proposed formulation can be used to address different objectives. Appendix A provides data for all examples. The length of each time period in all the examples is 1 h (i.e., δ ) 1). 5.1. Example 1. A multistage batch plant has two stages with two units per stage, one intermediate storage vessel and one finished product storage vessel. The process requires cooling water (CW) in both stages at the cost of $4/(metric ton/h). The objective is to minimize the total cost (production + inventory + utility) while meeting the eight customer orders subject to release and due times. We first solved the problem assuming that unlimited utility is available (instance 1a). Figure 6a shows the Gantt chart of the optimal solution obtained with a total cost of $2111.90, where 11 batches are required to meet eight orders. We then solved the same example with limited utility (maximum 10 ton/h). Now, the total cost increased to $2270.20. The Gantt chart and the

Figure 7. Optimal solutions for examples 2a and 2b with a minimum makespan of 35 h.

utility consumption level of the optimal solution are shown in Figure 6b. Note that 12 batches are required to meet the customer orders. This is because the limited utility level influences the concurrent processing of tasks, and thus leads to different batching decisions. 5.2. Example 2. We consider the same plant configuration and order data as in example 1 except that we increase the demands of orders C and G from 20 to 30 kg and increase the maximum utility level to 16 (instance 2a) and 12 ton/h (instance 2b). Further, the orders can be delivered anytime during a time window [φi - 5, φi]. The objective is to minimize the makespan subject to release and due times. Parts a and b of Figure 7 show the Gantt charts and the utility consumption levels for CW in the optimal solution of instances 2a and 2b, respectively, both of which have a minimum makespan of 35 h. Again the changes in the utility levels influence the batching decisions (11 vs 12). 5.3. Example 3. This example is the same as example 1 except that two types of utilities, steam (HS) and CW, are required. HS is used in stage 1, and CW is used only in stage

6056

Ind. Eng. Chem. Res., Vol. 48, No. 13, 2009

Figure 9. Solution of example 4 with a maximum profit of $7078.4. Figure 8. Optimal solution of example 3 with a minimum total earliness of 11.0 h.

We added eq 26 to examples 1 (cost minimization) and 3 (earliness minimization), and both eq 26 and eq 27 to example 2 (makespan minimization). These tightening constraints enhanced the computational performance of the model for examples 2b (46 CPU s vs no integer solution found until 1000 CPU s) and 3 (95.5 CPU s vs 14.2% gap after 1000 CPU s). Further, the addition of tightening constraints (eq 26) improved the relaxed objective values for the cost minimization problems ($1971.5 vs $1563.9 for example 1a; $1973.6 vs $1563.9 for example 1b), whereas the addition of tightening constraints to examples 2 and 3 improved the solution time significantly although the relaxed objective values remained the same. For example 4, since at least one batch of each order must be produced, the tightening becomes an integral part of the optimizaconstraint with ηmin i tion problem. Further, since the maximum number of batches for each order is not known a priori, we cannot add the (see eq 26). tightening constraint with ηmax i

2. Further, the utility consumption does not depend on the batch size. The maximum levels of HS and CW are 5 and 7 ton/h, respectively. The objective is to minimize the total earliness of all orders subject to release and due times. Figure 8 shows the Gantt chart and the utility consumption levels for CW and HS in the optimal solution (with a total earliness of 11.0 h). 5.4. Example 4. In this example, we consider a process with three stages, two processing units per stage and one intermediate storage vessel between stages. The objective is to maximize the profit (revenue less the total cost) over a horizon of 40 h, provided that at least one batch of each ) 1 for all orders. All the orders order is produced; i.e., ηmin i can be readily processed at the start of the horizon (release time ) 0). The process requires CW in all three stages, and the maximum availability of CW is 30 ton/h at $4/(ton/h). Furthermore, orders can be delivered as and when produced at the last stage; thus storage at the last stage is not considered. Figure 9 shows the Gantt chart of the best solution obtained within 1000 CPU s. 5.5. Computational Results. Table 1 summarizes the model and solution statistics for examples 1-4. We used GAMS 22.5/ CPLEX 10.2 on a desktop computer with a 2.8 GHz Pentium 4 processor and 512 MB RAM running on Windows XP. To illustrate the effectiveness of the tightening constraints, we present the results of the examples with and without using the tightening constraints.

6. Conclusions In this paper we presented a MIP formulation for the simultaneous batching and scheduling in multistage batch processes with storage as well as utility constraints, a class of problems that has not been studied in the literature. To model utility constraints accurately, we adopted a common discretetime reference grid, an approach previously used only in network-based formulations. To preserve the identity of batches,

Table 1. Model and Solution Statistics for Examples 1-4 example with tightening constraints

binary variables continuous variables constraints LP-relaxation objective value CPU (s) nodes a

without tightening constraints

1a

1b

2a

2b

3

4

1a

1b

2a

2b

3

1,412 8,511 10,168 1971.5 2111.9 17.5 32

1,412 8,511 10,168 1973.6 2270.2 383.5 3,324

1,467 8,374 10,659 10.0 35.0 41.4 69

1,467 8,374 10,659 10.0 35.0 46.0 170

1,467 8,751 10,586 1.6 11.0 95.5 663

3,801 12,067 16,431 7218.7 7078.4 1000a 44

1,412 8,511 10,136 1563.9 2111.9 102.6 2,142

1,412 8,511 10,136 1563.9 2270.2 105.7 1,922

1,467 8,374 10,463 10.0 35.0 28.2 89

1,467 8,374 10,463 10.0

1,467 8,751 10,554 1.6 11.0 1000c 6,632

1.87% gap after 1000 CPU s. b No integer solution found within 1000 CPU s. c 14.2% gap after 1000 CPU s.

1000b

Ind. Eng. Chem. Res., Vol. 48, No. 13, 2009

first we established connections between units and vessels, and second we developed novel inventory constraints based on two new inventory variables. The proposed discrete-time formulation can easily be used to address other classes of problems in multistage batch scheduling, making it the most general approach for this broad class of problems. Finally, to enhance the computational performance of the model, we presented a class of tightening constraints.

Table A4. Demands, Release, and Due Times in Examples 1-4 for given order example 1 2 3

Acknowledgment 4

The authors would like to acknowledge financial support from the American Chemical Society - The Petroleum Research Fund under Grant PRF #44050-G9, and the National Science Foundation under Grant CTS-0547443.

6057

parameter

A

B

C

D

E

F

G

H

I

J

ωi (kg) εi (h) φi (h) ωi (kg) εi (h) φi (h) ωi (kg) εi (h) φi (h) εi (h) φi (h)

50 0 40 50 0 40 50 0 40 0 40

35 0 10 35 0 10 35 0 10 0 40

20 0 10 30 0 10 20 0 10 0 40

50 0 30 50 0 30 50 0 30 0 40

60 5 30 60 5 30 60 5 30 0 40

40 10 40 40 10 40 40 10 40 0 40

20 10 20 30 10 20 20 10 20 0 40

40 5 20 40 5 20 40 5 20 0 40

0 40

0 40

Table A5. Utility Requirements of Orders in Examples 1-4

Appendix A

Table A1. Process Data in Examples 1-4a examples 1-3

example 4

processing stages unit/storage vessel β jmin (kg) β jmax (kg) β jmin (kg) β jmax (kg) 1

U1 U2 V1 U3 U4 V2 U5 U6

2 3

20 20 0 20 25 0

40 30 40 30 40 100

20 20 0 20 25 0 20 25

40 30 40 30 40 50 30 40

a Forbidden Assignments (order, unit/vessel): examples 1-3: (E, U2) and (G, U2).

Table A2. Processing Times in Examples 1-4 processing time (τij) (h) examples 1-3

example 4

orders

U1

U2

U3

U4

U1

U2

U3

U4

U5

U6

A B C D E F G H I J

3 5 5 2 2 4 6 3

2 5 5 3 3 4 5 2

4 4 5 4 4 2 3 5

5 5 5 4 3 3 3 4

3 4 4 2 2 3 4 3 4 3

2 4 4 3 3 3 4 2 3 3

3 3 4 3 3 2 3 4 4 4

4 4 4 3 3 3 3 3 4 3

3 3 3 3 4 4 3 3 4 3

3 4 3 3 3 3 4 4 4 3

Table A3. Processing Costs and Inventory Costs in Examples 1-4 processing/storage cost (RPij/RSij) ($) examples 1-3

example 4

orders U1 U2 V1 U3 U4 V2 U1 U2 V1 U3 U4 V2 U5 U6 A B C D E F G H I J

46 42 39 35 25 61 48 64

40 52 34 35 32 56 57 51

10 12 15 15 10 10 11 10

24 23 30 44 42 30 40 41

22 33 33 43 43 20 26 22

15 15 20 20 20 15 15 20

46 42 39 35 25 61 48 64 36 22

40 52 34 35 32 56 57 51 45 33

10 12 15 15 10 10 11 10 10 12

24 23 30 44 42 30 40 41 40 39

22 33 33 43 43 20 26 22 36 25

15 15 20 20 20 15 15 20 15 20

30 25 26 34 40 45 45 50 35 50

26 24 23 32 44 40 50 55 40 45

Nomenclature Indices/Sets i, i′ ∈ I ) orders j, j′ ∈ JP/JS ) processing units/storage vessels k ∈ K) stages t ∈ T ) time points u ∈ U ) utilities Subsets Ij ) orders that can be processed/stored in unit/vessel j J Pk /J Sk ) processing units/storage vessels in stage k JAikP /JAikS ) processing units/storage vessels in stage k that are allowed to process/store order i JCj-/ JCj+ ) units or vessels that can be connected to/from unit or vessel j Parameters R ijP/R ijS ) processing/storage cost of order i in unit/vessel j βjmin/βjmax ) minimum/maximum allowable batch size in processing unit j βˆ imax/βˆ imin ) maximum/minimum feasible batch size of order i δ ) length of each period ηimin/ηimax ) minimum/maximum number of batches for order i

6058

Ind. Eng. Chem. Res., Vol. 48, No. 13, 2009

εi/φi ) release/due time for order i γu ) cost of utility u µi ) delivery window for order i ωi ) demand amount for order i πi ) price of product associated with order i τij ) processing time of order i in unit j θ umax ) maximum availability of utility u ξ iju / Ψiju ) fixed/variable amount of utility u for a batch of order i in unit/vessel j Binary Variables Dit ) delivery of order i at time point t Xijt ) assignment of a batch of order i to unit/vessel j at time point t Wjj′t ) connection of unit/vessel j to unit/vessel j′ at time point t NonnegatiVe Variables Fijj′t ) flow of a batch of order i from unit/vessel j to unit/vessel j′ at time point t Bijt ) size of a batch of order i in unit/vessel j at time point t Rjt ) excess resource level of unit/vessel j at time point t MS ) makespan Nut ) consumption level of utility u at time point t Sijt ) inventory of order i in unit j just before time point t + Sijt ) inventory of order i in unit j just after time point t T iD ) tardiness of order i T iE ) earliness of order i

Literature Cited (1) Me´ndez, C. A.; Cerda, J.; Grossmann, I. E.; Harjunkoski, I.; Fahl, M. State-of-the-art review of optimization methods for short-term scheduling of batch processes. Comput. Chem. Eng. 2006, 30, 913–946. (2) Birewar, D. B.; Grossmann, I. E. Simultaneous production planning and scheduling in multiproduct batch plants. Ind. Eng. Chem. Res. 1990, 29, 570–580. (3) Voudouris, V. T.; Grossmann, I. E. MILP model for scheduling and design of a special class of multipurpose batch plants. Comput. Chem. Eng. 1996, 20, 1335–1360. (4) Me´ndez, C. A.; Henning, G. P.; Cerda´, J. Optimal scheduling of batch plants satisfying multiple product orders with different due-dates. Comput. Chem. Eng. 2000, 24, 2223–2245. (5) Castro, P. M.; Grossmann, I. E.; Novais, A. Q. Two new continuoustime models for the scheduling of multi-stage batch plants with sequence dependent changeovers. Ind. Eng. Chem. Res. 2006, 45, 6210–6226. (6) Erdirik-Dogan, M.; Grossmann, I. E. Planning models for parallel batch reactors with sequence-dependent changeovers. AIChE J. 2007, 53, 2284–2300. (7) Prasad, P.; Maravelias, C. T. Batch selection, assignment and sequencing in multi-stage multi-product processes. Comput. Chem. Eng. 2008, 32, 1106–1119. (8) Sundaramoorthy, A.; Maravelias, C. T. Simultaneous batching and scheduling in multistage multiproduct processes. Ind. Eng. Chem. Res. 2008a, 47, 1546–1555. (9) Ku, H. M.; Karimi, I. A. Scheduling in serial multiproduct batch processes with finite intermediate storage: A mixed integer linear programming formulation. Ind. Eng. Chem. Res. 1988, 27, 1840–1848. (10) Kim, M.; Jung, J. H.; Lee, I. B. Optimal scheduling of multiproduct batch processes for various intermediate storage policies. Ind. Eng. Chem. Res. 1996, 35, 4058–4066. (11) Kim, S. B.; Lee, H. K.; Lee, I. B.; Lee, E. S.; Lee, B. Scheduling of non-sequential multipurpose batch processes under finite intermediate storage policy. Comput. Chem. Eng. 2000, 24, 1603–1610.

(12) Me´ndez, C. A.; Cerda´, J. An MILP continuous-time framework for short-term scheduling of multipurpose batch processes under different operation strategies. Optim. Eng. 2003, 4, 7–22. (13) Wu, J.; He, X. A new model for scheduling of batch process with mixed intermediate storage policies. J. Chin. Inst. Chem. Eng. 2004, 35, 381–387. (14) Sundaramoorthy, A.; Maravelias, C. T. Modeling of storage in batching and scheduling of multistage processes. Ind. Eng. Chem. Res. 2008b, 47, 6648–6660. (15) Lamba, N.; Karimi, I. A. Scheduling parallel production lines with resource constraints. 1. Model formulation. Ind. Eng. Chem. Res. 2002, 41, 779–789. (16) Me´ndez, C. A.; Cerda´, J. An MILP framework for short-term scheduling of single-stage batch plants with limited discrete resources. Proc. Eur. Symp. Comput. Aided Process Eng.-12 2002, 721–726. (17) Me´ndez, C. A.; Henning, G. P.; Cerda´, J. An MILP continuoustime approach to short-term scheduling of resource constrained multi-stage flowshop batch facilities. Comput. Chem. Eng. 2001, 25, 701–711. (18) Me´ndez, C. A.; Cerda´, J. In Short-term scheduling of multistage batch processes subject to limited finite resources. Process Systems Engineering; Chen, B., Westerberg, A. W., Eds.; 2003; pp 984-989. (19) Me´ndez, C. A.; Cerda´, J. An MILP framework for batch reactive scheduling with limited discrete resources. Comput. Chem. Eng. 2004, 28, 1059–1068. (20) Kondili, E.; Pantelides, C. C.; Sargent, R. W. H. A. General algorithm for short-term scheduling of batch operations-I. MILP Fformulation. Comput. Chem. Eng. 1993, 17, 211–227. (21) Pantelides C. C. Unified frameworks for the optimal process planning and scheduling. Proceeding on the Second Conference on Foundations of Computer Aided Operations; AIChE: New York, 1994; pp 253-274. (22) Mockus, L.; Reklaitis, G. V. Mathematical programming formulation for scheduling of batch operations based on non-uniform time discretization. Comput. Chem. Eng. 1997, 21, 1147–1156. (23) Castro, P. M.; Barbosa-Povoa, A. P. F. D.; Matos, H. An improved RTN continuous-time formulation for the short-term scheduling of multipurpose batch plants. Ind. Eng. Chem. Res. 2001, 40, 2059–2068. (24) Maravelias, C. T.; Grossmann, I. E. New continuous-time state task network formulation for the scheduling of multipurpose batch plants. Ind. Eng. Chem. Res. 2003, 42, 3056–3074. (25) Sundaramoorthy, A.; Karimi, I. A. A simpler better slot-based continuous-time formulation for short-term scheduling in multipurpose batch plants. Chem. Eng. Sci. 2005, 60 (10), 2679–2702. (26) Maravelias, C. T. Mixed-time representation for state-task network models. Ind. Eng. Chem. Res. 2001, 40, 2059–2068. (27) Pinto, J. M.; Grossmann, I. E. A continuous time mixed integer linear programming model for short term scheduling of multi-stage batch plants. Ind. Eng. Chem. Res. 1995, 34, 3037–3051. (28) Hui, C. H.; Gupta, A. A novel MILP formulation for short-term scheduling of multistage multiproduct batch plants. Comput. Chem. Eng. 2000, 24, 1611–1617. (29) Gupta, S.; Karimi, I. A. Scheduling a two-stage multiproduct process with limited product shelf life in intermediate storage. Ind. Eng. Chem. Res. 2003, 42 (3), 490–508. (30) Castro, P. M.; Grossmann, I. E. New continuous-time MILP model for the short-term scheduling of multi-stage batch plants. Ind. Eng. Chem. Res. 2005, 44, 9175–9190. (31) Liu, Y.; Karimi, I. A. Scheduling multistage, multiproduct batch plants with nonidentical parallel units and unlimited intermediate storage. Chem. Eng. Sci. 2007, 62, 1549–1566. (32) Prasad, P.; Maravelias, C. T.; Kelly, J. Optimization of aluminum smelter casthouse operations. Ind. Eng. Chem. Res. 2006, 45, 7603–7617. (33) Burkard, R. E.; Hatzl, J. Review, extensions and computational comparison of MILP formulations for scheduling of batch processes. Comput. Chem. Eng. 2005, 29, 1752–1769.

ReceiVed for reView September 14, 2008 ReVised manuscript receiVed January 14, 2009 Accepted January 16, 2009 IE801386M