Scheduling of a multipurpose batch plant using a graphically derived

Scheduling of a multipurpose batch plant using a graphically derived Mixed-Integer Linear Program model. Eleni P. Patsidou, and Jeffrey C. Kantor. Ind...
0 downloads 0 Views 3MB Size
1548

Ind. Eng. Chem. Res. 1991,30, 1548-1561

Scheduling of a Multipurpose Batch Plant Using a Graphically Derived Mixed-Integer Linear Program Model Eleni P. Patsidout and Jeffrey C. Kantor* Department of Chemical Engineering, University of Notre Dame, Notre Dame, Indiana 46556

Algorithms have been developed to solve specific scheduling and control problems that arise in multipurpose batch plants. The problems are formulated as Mixed-Integer Linear Programs (MILP). Continuous variables are the starting times of the events while integer zero-one variables are used t o describe a path of operations. The solution of the problem determines the control actions that need to be taken to minimize the makespan or the cycle time of a subset of activities. The constraints include the predetermined route each product follows, the possible processing sequences in each unit, production deadlines, the times that the resources are available, setup times between processing of consecutive batches in the same unit, and the different types of intermediate storage that may be used. 1. Background Production scheduling refers to the proper allocation of the resources and the sequencing of the operations they perform to optimize an economical or performance criterion. In a general scheduling problem, one may consider a set of jobs that have to be processed through a set of machines. Each job is processed in a particular order. The processing of a job on a machine is called an operation. When all the jobs follow the same route, the system is called flow-shop;otherwise it is called job-shop (Baker, 1974;Conway et al., 1967;French, 1982). The scheduling problem for chemical engineering applications is usually associated with the planning or design problem. Design refers to the selection of the appropriate equipment that meets the process specifications, whereas planning is the selection of the appropriate operation of an existing set of equipment items. In both problems the selection is based on cost or performance optimization criteria. In chemical plants where a lot of different products have to be produced by sharing the same equipment (e.g., pharmaceutical industries), the selection of the optimum scheduling policy is a very crucial decision because it affects the total processing time and, consequently, the production cost. We consider a chemical plant in which M product streams have to be processed through R resources. Examples of resources are batch units, utilities, manpower, etc.. Reklaitis (1982)distinguishes between systems with parallel or serial units and generalized serial systems. The systems with serial units are known as multiproduct batch plants when all the products follow the same route through the plant or multipurpose batch plants when the production route may change from product to product. In the usual scheduling terminology, a multiproduct batch plant is a flow-shop while a multipurpose batch plant is a jobshop. In the job-shops there are no restrictions on the processing steps for a job and alternative routings for the processing of the same product may be allowed. This characterization of processing complexity seems capable of describing most process environments. A chemical engineering problem is usually deterministic and static. A problem is called deterministic when all the process parameters are known in advance. It is static when the set of the tasks that have to be performed does not change, and dynamic when new tasks may arrive during

the operation. The tasks are considered to be nonpreemptive. Tasks are nonpreemptive if they finish in the units where they started and no production runs can be split among units. General scheduling problems are solved as mixed-integer programs, or they may be solved by implicit enumeration methods like branch and bound, random sampling, and dynamic programming. These techniques can be used to solve problems with a variety of optimization objectives. However, to avoid the complexity of calculations inherent to the above approaches, most of these techniques make use of heuristics that can be applied to specific problems, only. Also, constructive algorithms have been developed and used. According to French (1982),a constructive algorithm is one that builds up an optimal solution from the problem data by following a simple set of rules which exactly determine the processing order. Panwalker and Iskander (1977)present a survey of such rules that have been used to solve scheduling problems. Reklaitis (1982)and Ku et al. (1987)have presented a review of scheduling problems studied in the chemical processing industry. As they mention, there is no single algorithm that can solve a general scheduling problem. The available algorithms depend on the models, the problem formulation, and the assumptions made for each system. Rippin (1983)presents a classification of scheduling problems that have been reported in the literature and the methods used for their solution. In this work we try to develop a common basis for describing complex systems. The basic dynamical features of a batch plant are represented in a directed graph. The scheduling and control problems are formulated as mixed-integer linear programs in which the decision variables come from the graphical representation. In section 2, a batch plant is presented and it is shown how it can be described by a digraph. Section 3 gives the MILP model of the system. In section 4,the assumption about storage is relaxed and different storage policies are considered. Examples of short-term scheduling problems are given. The paper closes with a discussion on the method and on extensions of the basic model. 2. Graphical Representation of a Batch Plant

A batch plant can be viewed as a system consisting of time-consuming activities that must be performed in a predefined order using a given set of resources. It can be characterized as a discrete-event dynamical system and * Author to whom correspondence should be addressed. 'Present address: Shell Development Company, Houston, TX. represented as a directed graph denoting a network of 0 1991 American Chemical Society 0888-5885/91/2630-1540$02.50/0

-

Ind. Eng. Chem. Res., Vol. 30,No. 7,1991 1549 a

( 1 lA)\..

.....................

.' ( l,B)

Figure 1. Multipurpoeebatch plant of three units and three product streams.

activities (Cohen et al., 1984). Activity (ij)is the processing of product stream j in unit i. The nodes of the graph represent activities while the arcs represent transitions between activities. Figure 1shows a multipurpose batch plant with three resources R1, R2, and FU and three products A, B, and C. This example plant will be used to illustrate the method. Figure 2a is the sequencing graph representing the activities that have to be performed to produce one batch of A, one of B, and one of C in the batch plant system of Figure 1. For presentation purposes Unlimited Intermediate Storage (UIS) is assumed. Other transfer policies will be described below. It is also assumed that there exists only one unit of each type in the system. The double-line vertical arcs in the sequencing graph of Figure 2 indicate the predetermined route of each product. Product A, for example, has to be processed f i i t in unit 1,then in unit 2, and lastly in unit 3. This is the predetermined processing path for product A shown in the system of Figure 1. In the sequencing graph, this route appears as transitions from activity (1,A) to activity (2,A) and from (2,A) to (3,A). Figure 1,however, does not give any information about the processing sequence in each unit for which there may be several alternatives. Unit 1,for example, can operate in two different ways: process first A and then B, or process first B and then A. Likewise, there are six alternate operating ways in unit 2 and two in unit 3. For a batch unit r, the possible processing sequences are NP,! where NPr is the number of activities it performs or, equivalently, the number of products it processes. For R units, the total number of possible configurations for the system is

The above number increases more rapidly with the number of activities each unit performs than with the number of units. The processing sequence in unit r is given by or. For the system in Figure 1, one possibility is 81 = A,& 82 = A,B,C; = A,C These processing sequences are denoted in Figure 2a by the solid horizontal arcs. The Gantt diagram of the same system is given in Figure 2b for hypothetical processing times of the seven activities that have to be performed. Each arc of the sequencing graph is weighted with the time needed between the starting times of the two activities connected by this arc. Thus, the weight aij of an arc ( i j ) connecting two activities i and j is (2) aij = 7i + 7ij where 7i is the processing time required by activity i and 7ij is the transition time between the end of activity i and the beginning of activity j . The transition time rii is usually taken equal to zero. The terms "longest path", "path with the maximum weight", and "path with the biggest load" have all the same meaning in this paper and they are used interchangeably.

1 . a r - N ........ (324)

..........................._.............. ...... =7

A

ci

Figure 2. (a) Sequencing graph describing the multipurpose batch plant of Figure 1 for the processing configuration = A, B;& = A, B,C; & = A, C. (b) Gantt diagram of the system described by the sequencing graph of (a).

or

From the graph one can acquire information about the starting times of activities. An activity can start when all the activities that precede it have finished. For example, in the system described by the sequencing graph of Figure 2a, processing of B in unit 2 (activity (2,B)) cannot start unless the processing of B in unit 1has finished (according to the given route of the product) and processing of A in unit 1has also finished (according to the chosen operating configuration for unit 2). Another piece of information concerns the difference between the starting times of any two activities. It is given by the longest path connecting the nodes which represent these activities. For example, activities (1,A) and (2,C) are connected with three different paths: (1) (LA) (1,B) (2,B) (2,C) (2) (LA) (%A) (2,B) (2,C) (3) (1,A) @,A) ( 3 4 ) (3,C) (2,C) The difference between their starting times is determined by the path with the maximum weight. It will be

-- -- -- - - -

Thus, it is ensured that all activities that precede activity (2,C) have been completed when activity (2,C) starts its performance. Observation 1 : The longest path connecting two activities i and j in the graph of a system determines the difference between the starting times of these two activities. Similarly, it is easy to estimate the makespan of the system (i.e., its total processing time), which is the difference between the starting time of the first activity and the completion time of the last activity. Since the difference depends on the longest path, it is possible to reduce the makespan of the system by changing the direction of the arcs and the processing configuration. The scheduling problem is then to choose the processing sequence in each unit to minimize the makespan. Models for cyclic operations must also consider the

1S50 Ind. Eng. Chem. Res., Vol. 30,No.7, 1991

restarting of processing sequence in each equipment item. The restarting of an operation is denoted in Figure 2 by the dotted horizontal arcs. For example, B can be processed in unit 1 after processing of A has been finished (solid arc). When processing of B has finished, then unit 1is released and can start processing again from the beginning. The dotted lines create certain cycles in the sequencing graph. For example there are four such cycles in Figure 2: (1) (LA) (1,B) (1,A) (2) @,A) (2,B) (2,C) @,A) (3) (3,A) (3,C) (3,A) (4) (2,A) ( 3 4 ) (3,C) (2,C) @,A) The three first cycles appear in all configurations. Each one of them corresponds to a batch unit and has weight equal to its load, i.e., its total utilization time. The fourth cycle, however, is the result of the backward arc (3,C) (2,C) and changes according to the processing sequence. To illustrate this last remark consider the following configuration: 81 = A,B; 8 2 = A,B,C; 8 3 = C,A

---

a

=l

l

l =*

-- -

- - -

-

Only the three first cycles appear in this system. There is not a fourth one due to the chosen processing sequence for unit 3. The cycle with the maximum weight determines the cycle time of the system. Qualitatively, cycle time is the time difference in obtaining two consecutive batches of the same product. The cycle time of the system described in Figure 2a is max ((71+72) (73+74+75) (76+77) (73+76+77+7&] Observation 2: The cycle time is the longest cycle that appears in the graph which has one dotted-line arc denoting the release of a unit from one cycle of operation. Any other internal cycle that appears in the graph and does not have one dotted-line arc leads to a nonadmissible configuration. In these configurations, the schedule is not compatible with the technological constraints and results in deadlocks. For example, a different operating configuration for the batch plant of Figure 1is shown in Figure 3a. This system is not dynamically admissible because the production of C is a prerequisite for the production of A in unit 2, while, according to the processing sequence chosen for unit 3, C cannot be processed unless A has finished. The forbidden cycle that the configuration p1 = A,B; O2 = C,A,B; = A,C creates is the following: (2,A) (3,A) (3,C) (2,C) (2,A) Observation 3: Any cycle in the graph of the system that consists only of solid-line arcs leads to deadlocks. These correspond to nonadmissible configurations. This is illustrated in Figure 3b, which gives the Gantt diagram of the system in the sequencing graph of Figure 3a. Product C cannot be scheduled in unit 3. When scheduled before A, it violates the sequence p3 = C,A desired for unit 3. When scheduled after A, it violates the correct processing route for product C. There exist a total of 24 possible configurations for the batch plant of Figure 1. The six nonadmissible configurations are given below: (1) 81 = A,B; p2 = B,C,A; 8 3 = A,C (2) 81 = A,B; 8 2 = C,A,B; 8 3 = A,C (3) 81 = A,B; 8 2 = C,B,A; 8 3 = A,C (4) 81 = B,A; 82 = B,C,A; 6 3 = A,C (5) 81 = B,A; 82 = C,A,B; 8 3 = A,C (6) 81 = B,A; 8 2 C,B,A; 6 3 = A,C Appendix A describes additional properties of the sequencing graph.

- - - -

b Resowe 1 A

E)

Resowe 2

Resome 3 A

Figure 3. (a) One nonadmissible configuration for the system of -Figure 1. (b) Gantt diagram of the system described by the sequencing graph of (a).

3. MILP Model of the System

The problem of finding the optimum configuration of a multipurpose batch plant can be formulated as a mixed-integer linear program. The graphical representation of the system helps us to determine an effective set of descriptive variables. The state variables X of the model are the starting times of activities. Inputs are any subset of activities that may be of interest to control, such as the first activities each resource performs or the first activities in the processing of each product. In this model, inputs U are the times that the resources are available and can start processing. Outputs Yare the times that the resources are released from their duties and can be used again in another cycle of operation or in other parts of the plant. The modeling and control problems have been formulated by means of minimax algebra in which the equations become linear (Yamalidou et al., 1990). 3.1. Basic Model. This section presents a version of the optimization problem with many assumptions to permit a straightforward, expository treatment. These assumptions are later relaxed to treat the more general cases. Assumptions: There is one unit of each type in the system. A fixed number of batches are produced per cycle of operation and there is one predetermined route for each product. The quantity of each product to be processed is equal to or less than the batch size of the smallest unit in the system and is therefore processed in a single batch. The processing times of the N activities are known and deterministic. The system is therefore static and deterministic. The transfer and the cleanup times are zero or else incorporated into the total processing time. The setup times are not sequence dependent. Unlimited intermediate storage is assumed. Labeling of Activities. The enumeration of the nodes in the graph of the system and the labeling of activities is done left to right, starting from the upper left corner

Ind. Eng. Chem. Res., Vol. 30, No. 7, 1991 1551 of the graph (see Figure 2a). The enumeration starts from unit 1and the product with the smallest index processed by unit 1. Then, it continues with unit 2, unit 3, .,,,unit R, in such a way that for two units rl and r2 with rl < r2 all the activities performed by unit rl are enumerated first and have smaller indices to denote them. Also, if two products p1and p 2 are processed in the same unit r and p1C p 2 ,then the activity (pl,r) is enumerated before activity (p2,r)and consequently corresponds to a lower index. Parameters. The system consists of R units that have to process M product streams or, equivalently, have to perform N activities with processing times ri, i = 1,...,N. Each unit r, r = 1, ..., R performs NP, activities given by the sets N(r). The units are available at the times given by the vector U 1 0. The units must be released earlier than the times given by the vector Yd. For example, in the system of Figure 2a, M = 3 and R = 3. Unit 1performs activities 1and 2 and therefore NP1= 2 and N (1) = [ 121. Likewise, unit 2 performs activities 3, 4, and 5 and therefore NP2 = 3 and N(2) = [3 4 51. Decision Variables. The following set of variables are determined by optimization. Continuous variables: (a) x i is the time an activity i starts, i = 1, ...,N . (b) y, is the time a resource r is released, r = 1, R. (c) d, is the total utilization time of a resource r, r = 1, ..., R. It includes idle times between activities of the schedule but not before or after the first and the last activity, respectively, of the schedule. (d) z is the total processing time (makespan) required to finish the given tasks. (e) z, is the cycle time of the system. Zeroone variables: For any r, r = 1, ...,R, i, j E N(r) and i # j : p(ij) = 0 if there is a horizontal arc from node i to node j in the graph (or if activity i precedes activity j )

...,

and

d i j ) = 1 otherwise Note carefully that p ( i j ) = 1marks the absence of an arc. The number of integer variables is equal to the number of possible horizontal arcs: R

not. = C (NPANPr - 1)) r-1

(3)

The number of binary variables increases more rapidly with additional products in the system than with additional resources. Constraint Sets. Lower and upper bounds on the variables: (a) The activities cannot start before the relevant resources become available ( N constraints): V i E N(r) x i 1 U, (4) (b) The integer variables are 0-1 variables (2nol constraints). They are considered continuous with bounds 0 and 1in the model, and their binary nature is used in the branch-and-bound algorithm for the solution of the MILP. p ( i j ) 2 0 and p ( i j ) 5 1 (5) Given routings of the products: Theae equations connect the state variables x and are due to the fact that the route of each product is predetermined. They have the form xi

1 xj

+ 7j

(6)

if there ia a vertical arc from node j to node i. The number of these constraints is equal to the number of vertical arc8 in the graph.

Sequence of processing in each unit: These constraints connect the state variables x with the binary variables p. They show the sequence of activities performed in each unit. They are of the form x i 1 x j + r j - p(j,i)big (7) where parameter “big” is a large number. Equation 7 reduces to xi 1 x j

+ 7j

(8)

if there is an arc ( j , i ) and therefore p ( j , i ) = 0, or xi 1 x, ‘zj - big

+

(9)

if there is not an arc (j,i) and therefore p(j,i) = 1. In this case, the constraint becomes big 1 x j + r j (10) which is self-satisfied. The number of sequencing constraints is equal to the number of binary variables p ( i j ) . The value of parameter “big” should be greater than the sum of all processing times but not so large as to cause numerical difficulties. A small value of “big” will cause more LP problems to be solved before the optimum solution is found. In the other extreme too large a value leads to infeasible or incorrect answers. Therefore the selection of the parameter is very important. A rule used in this work is that “big” is 1or 2 orders of magnitude larger than the s u m of all proceasing times. In general, one cannot take for granted the value of “big” but should do a sensitivity analysis before starting work on a given problem. Relations among the discrete variables p ( i j ) : These constraints provide relations among the discrete variables p ( i j ) . The graphical representation of the system helps again in visualizing these relations. (a) There is at the most one arc starting from each node. Each product is processed either last or before one and only one product.

V r and

V i E N(r)

Np,

C.

p ( i j ) 1 NP,

-2

jEN(r)J#i

(11)

The arithmetic factor 2 comes into the equation due to the definition of p ( i j ) . All p ( i j ) but one should take the value 1 in the solution of the MILP. (b) There is at the most one arc ending in each node. Each product is either first in a processing sequence or follows the processing of one and only one product. NP,

V r and V j E N(r)

p ( i j ) 1 NP, iEN(r),i#j

-2

(12) (c) There cannot be two arcs that have the same edges. Each product can appear in a sequence only once. V r and V i, j E N(r),i # j p ( i j ) + p(j,i) 1 1 (13) (d) There must be a path that connects all the activities in the same unit. V r C p(iJ)= NP,(NP, - 1)- (NP, - 1) i,,iEN(r),i#j

(NP, (14) These relations force a certain number of decision variables to take zero values and ensure that all the activities are performed. When NP, = 2, i.e., unit r performs only two activities, then equality constraints d include constraints c and the latter are not taken into consideration. (e) Configurations that result in cycles must be rejected.

1562 Ind. Eng. Chem. Res., Vol. 30, No. 7, 1991

For any two vertical arcs (i1jl)and (i2j2) with the activities il and j 2 performed by unit rl and activities jl and i2 performed by unit r2, there must exist sequences of horizontal arcs: G2,11), (Il,&), ..., (im,il) that connect nodes j , and il and

WJ, ( W 2 1 , ..., ( G 2 )

Table I. Equotionr Umd in the Minimieotion of the Makerpan of a simple Syrtem V i E N ( r ) x i > U, p ( i j ) 2 0 and r ( i j ) i 1 xi xi

2 2

xj

+ Tj

+ TI - r(j,i)big V r and V 1 E N ( r ) Xgk(,l,j,,i d i j ) t NP, - 2 V r and V j E N ( r ) E&(,),i,,, Aij) t NP, - 2 V r and V i , j E N ( r ) , i # j p ( z j ) + &,i) 2 1 xj

that connect nodes jl and i2

where m = 0, ..., NPrl - 1 and n = 0, ..., NPr2- 1. This constraint is stated as &h) + + && + cl0’2,ll) + ... + dlm,i1) 2 1 (15) That is, not all the variables d i j ) are zero; not all of the arca are followed. In order to write down these constraints, a graph search is done to find all the cycles that might appear. Appendix B discusses the search algorithm used to generate the above constraints. Definition of the outputs and the makespan: These equations give relations between state variables xi, outputs y,, and the makespan z. (a) Constraints about the outputs y,. Each output will depend on the chosen configuration. Vr y , = m p ( x i + 7i) i E N(r) (16)

...

Vr

ZLY,

1

They are written as V r and V i E N(r)

y, 1 xi

+7i

(17)

(b) Constraints about the makespan z. The makespan is equal to the longest output. z = max (y,) r = 1, ...,R (18) r These constraints are written as Vr z ~ Y , (19) (c) The outputs should be less than the desired values Yd (possibly deadlines for the utilization of the resources). v r Yr 5 yd,r (20) The last constraint (eq 20) is used in problems with given deadlines. The variables y, are redundant. Equations 17 and (19) can be combined as z 1 xi + 7i (21) However, eqs 17 might be useful in problems with deadlines or when one is interested in the times that the equipment will be released. Definition of the utilization times and the cycle time: These constraints relate the utilization times of the resources d, and the cycle time z, with the state variables Xi.

(a) Constraints about the utilization times d,. Vr d, = y, - mjn ( x i ) i E N(r)

(22)

1

They are written as V r and V i E N(r)

d, 2 y, - x i

(23)

(b) Constraints about the cycle time of the system z,. The cycle time is equal to the longest utilization time. z, = max (d,) r = 1, ..., R (24) r

These constraints are written as Vr z, L d, The cycle time is the time difference between two subsequent outputs of the same resource when the system

reaches ita steady state. In this MILP formulation of the problem, however, the cycle time can be found even from the first cycle of operation. This occurs because the MILP solution minimizes the maximum utilization time thereby avoiding unnecessary idle times between consecutive processings in the same unit. Objective Function. The objective functions to be minimized are either (1)the makespan of the system J1= min z CC

or (2) the cycle time of the system Jz = min z, CC

(27)

If we are interested in knowing the earliest times that the activities are performed, we can consider as objective the minimization of the sum of the outputs R

J3 = min Cy, p

r-1

(28)

Objective 28 is not necessarily equivalent to (26). Tables I and I1 present the equations used in the minimization of the makespan and the cycle time of a simple system, shown in Figure 1. 3%. An Unlimited IntermediateStorage Scheduling Problem. The constraints given in section 3.1 can be used to solve different problems. The makespan objective (eq 26) is good for short-term scheduling problems while the cycle-time objective (eq 27) is good for cyclic long-term scheduling problems. An example of a short-term scheduling problem is given here. The system consists of six units that have to process four product streams. Figure 4 shows the routes each product must follow. Two different problems are solved. The first is a simple system with a makespan minimization objective. In the second the optimization objective is the minimization of the cycle time. The solution of the problem will give the processing sequence in the units and the exact times that the activities must start to achieve the shortest makespan. The input

Ind. Eng. Chem. Res., Vol. 30, No. 7, 1991 1563

3. Sequencing of processing in each unit: x1 2 x 2 + 72 - p(2,l)big, x 2 I x1 + r1- p(l,2)big

c

x3

1 x4

+ 7 4 - p(4,3)big,

x4 1 x 3

+ r 3 - p(3,4)big

(6,A)

0

Figure 4. Graph showing the routea of the products for example 3.2.

data are the number of units, the number of products, the route that each product follows in the plant, the processing times of activities, and the timea that the units ate initially available in the plant. The other parameters and the constraints of the problem are generated by the computer program, baaed on this information, only.

R

Parameters: = 6, M = 4, N = 12, T

= [3 5 8 2 6 7 4 3 5 9 3 41

NP = [2 2 1 3 2 21, U = [0 0 0 0 0 01, big = loo00 N(1) = 11,2), N(2) = 13,41, N(3) = (51, N(4) = {6,7,8}, N(5) = (9,lO},N(6) = {11,12}

p(9,lO) + p(10,9) = 1, p(11,12) + p(12,ll) = 1 (4v) d2,U + c1(6,8) 2 1, r(2,l) + r(6,7) + d7,8) 2 1 5. Constraints about the outputs and the makespan: (59 y1 2 x1 + rl, y1 2 x 2 + r2, y2 2 x 3 + r3 y2 1 x4

+ 749

Y3

2

x5

+ 769

Y4

2

x6

+ 76

y4 2

+ 77,

y4

2

x8

+ 78,

y6 2

x9

+ 79

Y6

x10

+

Y6

xll

+ ?ll, Y6

x12

+ ?12

(5ii) z 2 yl, z 1 yz, z 2 y 3 , z 1 y4, z 2 y6, z2Y6

Variables: (a) Continuous: x1, x2, x3, x4, XIS, x69 x79 x8, x9, x10, xll, x12, Y1,

YZ,

Y3t

Y4t Y6, Y6t

z

J1 = min z Objective function: The total number of constraints is 96. Some of the constraints of this small problem are redundant, such aa the Constraints requiring that variables p ( i J ) are less than 1,because of the constraints about the binary variables. However, they are included for larger or more complex systems where they might be necessary. The optimum solution is given in Table I11 and it is shown in Figures 5 and 6. The optimum configuration suggested is 81 A,D; 82 B,A; 8 3 = A; @4 = D,C,A; 86 = C,B; @6 = C,A The solution of another example is presented in Figure 7. It is the problem of minimizing the cycle time. The optimum configuration found for this case is 81 A,D; 82 = B,A; @a = A; b4 D,C,A; 6 6 = C,B; 6 6 = C,A As can be seen in Figures 6 and 7, the optimum solutions are not unique. In this example, it happens that the optimum configuration under the makespan objective is the same aa the optimum configuration under the cycle time objective. However, in general, the optimum solution is

1554 Ind. Eng. Chem. Res., Vol. 30,No. 7, 1991 0

3

0.8

3

8

Resource 1 11

Resource 2

B

..

A

4"

Resource 3 A

Resource 4

.......... ......................................................... "

II

..... Resource 5 0

Resource 6

c (CIA)

IP (6,C) .............................. -----' 'ell

--r49 !

..e..

11 T

C

A

b p make~p"27 d-. Figure 6. Gantt diagram for the optimum configuration, shown in Figure 5.

Figure S. Sequencinggraph of the optimum processing configuration for the multipurpose batch plant of Figure 4. Table 111. The Optimum Solution of the Makespan Problem of Example 3.2

na

-

..

Resoarce 3

A Resource 4

Resource 5

Q Resource 6 C

not necessarily the same under different optimization objectives. 3.3. Sequence-DependentSetup Times. In the model of the previous paragraph, the setup times were considered to be sequence independent, which is not always the case. If the products are similar, then very little or no cleaning at all is required. However, if the products processed in the same cycle of operation are quite different from one another, the cleaning times of the equipment could be longer. Birewar and Grossmann (1989)have shown that single-product campaigns are preferred if the setup times between products are significantly larger than between repeats of the same product. Minimization of the makespan objective: Setup times take into account the transition times between the processing of two consecutive products in the same unit. If S j i is the time required to prepare the resource for performing activity i after it has performed activity j , then the sequencing constraints are modified: Therefore, if activity i is indeed performed after j , then p ( j , i ) = 0 and xi 1 x j

+ + sji 7j

(30)

+cy~lehe=16

A

4

Figure 7. Gantt diagram for the optimum configuration,under the cycle time minimization objective,

However, if activity i is not performed after j , then pG,i) = 1and xi 1 -big (31) which is always true for a proper choice of "big" as discussed in section 3.1. Setup times between physically implausible systems are set equal to infinity. With the above change in sequencing constraints,we are able to take into account the transitions in the same cycle of operation. If the optimization objective is the minimization of the makespan, then this change is adequate. Minimization of the cycle time objective: When consecutive cycles of operation are considered, then the time necessary to switch from the last activity performed by each unit to the first one must also be included. In the m d e l described in section 3.1,the fmt and the last activity cannot be identified. If there were a way to identify them, then the time that a unit r would be released would be given by an equation of the form (32) ~ r =' Y r + S r l H

Ind. Eng. Chem. Res., Vol. 30, No. 7, 1991 1555 Table IV. Equations Used in the Minimization of the Makespan of a Simple Syrtem with Setup Times V i E N(r) xi 2 Ur (4)

Table V. Equations U d in the Minimization of the Cycle Time of a Simple System with Setup Times V i E N ( r ) xi 1 U, (4)

-

V r and V j E N ( r ) zZk(,),i#jAiJ)1 NP, 2 (12) V r and V i , j E N ( r ) ,i # J p(ij) + p u l i ) 1 1 (13) Vr Xi,j€~(,),i*j did = NPANP, - 1) - (NP, - 1) =

(NP, - 1)2

+ ... + p(kn,iz) + pG2,lJ + ... + dL,$i) 1 1 and V i E N ( r ) y, 1 x i + ~i

p&,kJ

Vr V r

~ 1 Y r

(14) (15) (17) (19)

where yr is the output for one cycle, y i is the corrected output for the case that the processing would start from the beginning,and sW is the necessary time to switch from the last activity rl to the first activity rf in unit r. The use of additional binary variables to identify the first and the last activities, or equivalently to identify which is the backward arc describing the transition from the last activity each resource performs to the first one, would result in a large number of additional binary variables. Another way to approach this problem is to manipulate: the setup times sip All the possible paths, il - i2 - ... - in, in each unit must be identified and the backward arc inil in each one of them must be related to the corresponding setup time sinil. For example, in a unit that performs three activities i, j , and k, there are six possible orderings of these activities. Each one is assigned a transition time slfwhere f and 1 are the first aqd the last activity in the order of processing. For example, the setup time ski is assigned to the processing path i-j-k. The additional constraints then that enter the problem are Y r 1 x& + 7& + (1- ( p ( i j ) + pO',k)))Shi (~(i+ j )pO',k))big (33) Equation 33 relates the outputs of a resource r with the activities i, j , k performed by this resource. For example, if the path i-j-k is followed, so that p ( i j ) = 0 and p G , k ) = 0, then Y r 1 x h + 7 6 + ski (34) If the path i-j-k is not followed and p ( i j ) + p G , k ) 1 1, then yr 5 -big (35) which is always true. Equation 33 can be generalized for the case where n activities 1, 2, ..., n are performed in this order in a unit

r:

n-1

n-1

There is one such constraint for each possible ordering of activities. Tables IV and V contain the equations used in the minimization of the makespan and the cycle time of a simple system with setup times. 4. Different Intermediate Storage Policies

4.1. Background. Intermediate storage is used to accommodate imbalances caused by processing rate variations, equipment failures and their associated repair times, and variation in materials delivery and shipping schedules. When multiple products are processed, storage is also necessary to isolate products during changeovers. An ex-

tensive discussion on intermediate storage and its roles can be found in Karimi and Reklaitis (1984). Most of the available analysis in the literature is focused on single-product applications. Multiproduct applications generally require consideration of scheduling as well. A plant can operate with many different storage policies. These are classified as Unlimited Intermediate Storage (UIS), No Intermediate Storage (NIS), Zero-Wait Processing (ZWP),and Finite Intermediate Storage (FIS). In the no intermediate storage (NIS) case, a product stream remains in the unit where it has just finished being processed if the downstream unit is engaged. The zero-wait processing (ZWP) is a special case of NIS appropriate for unstable products. Intermediate products cannot wait between processing steps and must be immediately processed in the next unit in the sequence (Reklaitis, 1982). In the finite intermediate storage case (FIS), some of the intermediate products can be stored between processing steps. Mixed Intermediate Storage (MIS) cases have also been reported, where different policies are followed in different parts of the plant. The storage policy used in a system can add either additional degrees of freedom or additional constraints. The operation under US,NIS,or FIS mode is a decision based on performance or economic objectives, whereas the ZWP is a constraint imposed by the nature of the products. In spite of the extensive literature associated with the flow-shop problem, there do not appear to exist exact analytical solutions or polynomial bounded algorithmic solutions even for the UIS case. The only multiunit flow-shop problems for which good solution methods exist are based on Johnson's rule (Baker, 1974) and are applicable to the UIS two-stage and the ZW two-stage makespan problems. In the absence of exact solutions, much recent research has been focused on finding good suboptimal algorithms. The FIS problem has received the least attention. To our knowledge, a single study involving a two-unit flowshop has been reported (Dutta and Cunningham, 1975). Storage has been taken into account in design problems. Birewar and Grossmann (1989) anticipate the impact of scheduling at the design stage. They present examples of UIS and ZW systems in mixed-product campaigns that may or may not involve setup times. Modi and Karimi (1989) consider the insertion of parallel units and/or storage tanks in the preliminary design of batch processes as a means of decreasing the limiting cycle time of the system and thus improving the equipment utilization. Monte Carlo analysis has also been used in the study of systems with intermediate storage. However, Monte Carlo analysis is not an analytical tool. It provides answers through trial-and-error case studies, and it is left to the analyst to define the most relevant cases and to construct and solve each new application from the beginning.

1556 Ind. Eng. Chem. Res., Vol. 30, No. 7, 1991

.......-.-................................,,..+ ..... =5

.....

..

=6

(3,A)