multiple routings and reaction paths in project scheduling

4
Ind. Eng. Chem. Res. 1987, 26, 1940-1943 Routings and Reaction Paths in Project Scheduling 1940 Multiple A mixed (binary) integer programming formulation for short-range production planning in plants with batch operations and time-varying customer demand is presented. The frequency and size of production campaigns are determined, and the campaigns are sequenced on equipment units. The model is capable of handling production schemes in which (i) a step in a batch process synthesis can be assigned to more than one processor and/or (ii) products can be produced via more than one reaction path. Multipurpose batch plants, common to the food and pharmaceutical industries, are characterized by concurrent production of products following varied routes through the plant. Scheduling production in the plant so as to make efficient use of equipment and labor proves to be a for- midable task for a human scheduler because of the difficult combinatorial nature of the problem. The scheduler must consider the frequency of production, production levels in each run, and the sequencing of jobs at the equipment units. In a recent article (Rich and Prokopakis, 19861, a mixed (binary) integer programming model, suitable for short-range planning, is presented which can aid plant managers in devising effective schedules in a multipurpose environment. The model accounts for precedence rela- tionships among the products and availability of inter- mediate products. Customer orders are distributed dis- cretely over the planning horizon with associated due dates. Several performance measures can be used to evaluate schedules. The model discussed in Rich and Prokopakis (1986) restricts each saleable product to one production routing. This is to say that each saleable product is produced via a unique reaction pathway and each step in the process is associated with a unique set of processors. In this paper, these assumptions are relaxed to allow for more flexible situations. A plant manager may have the option of choosing from among multiple sets of processors (batch reactors) to fulfill production requirements for a particular product (intermediate or saleable), thereby allowing for concurrent production of a product at different plant lo- cations. Moreover, a product may be produced via alter- nate reaction pathways utilizing different raw materials and/or processing steps. The ability of the scheduler to consider alternate routes in such a case is highly desirable (Mauderli and Rippin, 1980); raw material limitations are accounted for and congested processors are relieved. Other approaches for scheduling production in a multipurpose plant with multiple processor sets have been presented by Prabhakar (1974) (integer programming with loop con- straints) and more recently by Sawik (1985) (polynomial time algorithm to minimize makespan). Model Summary To avoid unnecessary repetition, only a summary of the original MILP formulation will be given here. For a de- tailed description, the reader is referred to the original paper. The mathematical programming formulation is presented in Figure 1. Attention is restricted to mini- mizing mean weighted tardiness (1). The production run start times (Si& and production levels (Nik) are the decision variables of primary interest. Precedence relationships between jobs i and j, represented by arcs in a precedence network, are specified by constraint set (2). Sib + Nikti is the finishing time of the kth production run of product i. Constraint set (3) constrains production run k + 1 of product i to follow production run k in time. Constraint set (4) requires that demand through the kth order of product i is filled from inventory or production in run k. The excess production [the difference between t,he right- 0888-5885/87/2626-1940$01.50/0 SUBJECT TO: Precedence: V (ij) E network (2) k = 1 ,,.,, R(i) i = 1 ,..., N' k = 1 ,.,., R(i) - 1 (3) Si,k+l 2 Sik + Nikti Demand: k k ]io + Bi Nip 2 c Xip p= I p=l Availability: 'V (ij) E network (5) BjNjk 5 [Xik + Id(l/f,l) k = 1 ,..., R(i) - 1 k k p=l p=l where Iik = Iio + B i z Nip - Xip (6) Due DateFinishing Time: [(Sik + Nikti) - Did - Tik I: 0 Vi E A ; k = 1 ,..., R(i) (7) Nonnegativity: S&t 0; Nik2 0; Tik2 0; yikjk' = (0, 11 Figure 1. Summary of mathematical programming formulation. and left-hand sides of (4)] is stored as inventory and is used to meet production in future runs. Constraint set (5) ensures the availability in stock of intermediate products resulting from prior processing steps. Set (7) equates tardiness to max [O, (Fik - Dik)]. Fik is the finishing time of the kth order of product i, and it can be equated to sik + Nikti. The pair of disjunctive constraints (8) is used to resolve a potential conflict on a processing unit between run k of product i and run k' of product j. The binary variable Yikjk' takes on the value of 1 if run k of product i precedes run k'of product j and takes on the value zero otherwise. One of the disjunctive constraints will be active while the other will be trivially satisfied if the coefficient W is properly set. A preprocessing step systematically determines all potential conflicts. The formulation can be strengthened by appending two sets of logical inequalities. The first set places upper bounds on production levels while the second identifies relationships among the binary variables (e.g., Ylmjk' I Ylfijk' with m > k). These additional constraints serve to (a) define a feasible region which better approximates the 0 1987 American Chemical Society

Upload: george-j

Post on 19-Feb-2017

217 views

Category:

Documents


4 download

TRANSCRIPT

Ind. Eng. Chem. Res. 1987, 26, 1940-1943

Routings and Reaction Paths in Project Scheduling 1940

Multiple A mixed (binary) integer programming formulation for short-range production planning in plants with batch operations and time-varying customer demand is presented. The frequency and size of production campaigns are determined, and the campaigns are sequenced on equipment units. The model is capable of handling production schemes in which (i) a step in a batch process synthesis can be assigned to more than one processor and/or (ii) products can be produced via more than one reaction path.

Multipurpose batch plants, common to the food and pharmaceutical industries, are characterized by concurrent production of products following varied routes through the plant. Scheduling production in the plant so as to make efficient use of equipment and labor proves to be a for- midable task for a human scheduler because of the difficult combinatorial nature of the problem. The scheduler must consider the frequency of production, production levels in each run, and the sequencing of jobs at the equipment units. In a recent article (Rich and Prokopakis, 19861, a mixed (binary) integer programming model, suitable for short-range planning, is presented which can aid plant managers in devising effective schedules in a multipurpose environment. The model accounts for precedence rela- tionships among the products and availability of inter- mediate products. Customer orders are distributed dis- cretely over the planning horizon with associated due dates. Several performance measures can be used to evaluate schedules.

The model discussed in Rich and Prokopakis (1986) restricts each saleable product to one production routing. This is to say that each saleable product is produced via a unique reaction pathway and each step in the process is associated with a unique set of processors. In this paper, these assumptions are relaxed to allow for more flexible situations. A plant manager may have the option of choosing from among multiple sets of processors (batch reactors) to fulfill production requirements for a particular product (intermediate or saleable), thereby allowing for concurrent production of a product at different plant lo- cations. Moreover, a product may be produced via alter- nate reaction pathways utilizing different raw materials and/or processing steps. The ability of the scheduler to consider alternate routes in such a case is highly desirable (Mauderli and Rippin, 1980); raw material limitations are accounted for and congested processors are relieved. Other approaches for scheduling production in a multipurpose plant with multiple processor sets have been presented by Prabhakar (1974) (integer programming with loop con- straints) and more recently by Sawik (1985) (polynomial time algorithm to minimize makespan).

Model Summary To avoid unnecessary repetition, only a summary of the

original MILP formulation will be given here. For a de- tailed description, the reader is referred to the original paper. The mathematical programming formulation is presented in Figure 1. Attention is restricted to mini- mizing mean weighted tardiness (1). The production run start times (Si& and production levels (Nik) are the decision variables of primary interest. Precedence relationships between jobs i and j , represented by arcs in a precedence network, are specified by constraint set ( 2 ) . Sib + Nikti is the finishing time of the kth production run of product i. Constraint set (3) constrains production run k + 1 of product i to follow production run k in time. Constraint set (4) requires that demand through the kth order of product i is filled from inventory or production in run k. The excess production [the difference between t,he right-

0888-5885/87/2626-1940$01.50/0

SUBJECT TO:

Precedence:

V ( i j ) E network (2) k = 1 ,,.,, R(i)

i = 1 ,..., N' k = 1 ,.,., R(i) - 1

(3) Si,k+l 2 Sik + Nikti

Demand:

k k ]io + Bi Nip 2 c Xip

p= I p=l

Availability:

'V ( i j ) E network ( 5 ) BjNjk 5 [Xik + Id( l / f , l ) k = 1 ,..., R(i) - 1

k k

p=l p=l where Iik = Iio + B i z Nip - Xip (6)

Due DateFinishing Time:

[(Sik + Nikti) - D i d - Tik I: 0 V i E A ; k = 1 ,..., R(i) (7)

Nonnegativity:

S & t 0; N i k 2 0 ; T i k 2 0; yikjk' = ( 0 , 1 1

Figure 1. Summary of mathematical programming formulation.

and left-hand sides of (4)] is stored as inventory and is used to meet production in future runs. Constraint set (5) ensures the availability in stock of intermediate products resulting from prior processing steps. Set (7) equates tardiness to max [O, (Fik - Dik)]. Fik is the finishing time of the kth order of product i, and it can be equated to sik + Nikti . The pair of disjunctive constraints (8) is used to resolve a potential conflict on a processing unit between run k of product i and run k' of product j . The binary variable Y i k j k ' takes on the value of 1 if run k of product i precedes run k'of product j and takes on the value zero otherwise. One of the disjunctive constraints will be active while the other will be trivially satisfied if the coefficient W is properly set. A preprocessing step systematically determines all potential conflicts.

The formulation can be strengthened by appending two sets of logical inequalities. The first set places upper bounds on production levels while the second identifies relationships among the binary variables (e.g., Ylmjk' I Ylf i jk '

with m > k). These additional constraints serve to (a) define a feasible region which better approximates the

0 1987 American Chemical Society

Ind. Eng. Chem. Res., Vol. 26, No. 9, 1987 1941

product i. This constraint replaces the demand constraint (4) for saleable product i. Since the amount of saleable product to be synthesized via each path is not known a priori, the production requirements of intermediate products become variables in the model. For all inter- mediate products i in the mth precedence network graph associated with saleable product, s (m = 1, ..., p ( i ) ) , replace (throughout the formulation) the constants Xik (k = 1, ..., R(i ) ) with the respective variables Nik (k = 1, ..., R(i ) ) multiplied by the appropriate stoichiometric factor. Tardiness constraints (7) for saleable products with al- ternate reaction pathways are written in the same manner as (7a), with the index m running from 1 to p ( i ) . Zin represents the latest completion time of saleable product i taking all paths which can produce i into consideration.

Though the use of superscripts is a convenient means of indexing multiple pathways and/or processors, it proves to be a cumbersome device when defining variables for input to a linear programming package such as LINDO (Schrage, 1981). For example, binary variables Y&k could have two additional subscripts. It is best to have multiple indexes correspond to a single product; that is, a pseudo- product is introduced for each additional processor set. For instance, suppose two processor sets can produce product 3. Rather than defining the production quantity variables as Nik and # k , the notation NSk and N4k can be used instead. Nodes 3 and 4 in the precedence network would both represent the task of producing product 3.

Additional Model Extensions When applied in practice, our model may require further

modifications to allow for contingencies such as quality control of semifinished products or periodic shutdowns of processors for preventive maintenance. In general, these modifications will result in additional constraints which place further restrictions on start times. If, for example, processors cannot be serviced during idle time gaps in the optimal schedule (personnel may be available only during specific time intervalb)), then constraints can be added to the formulation to force gaps in the schedule to allow for maintenance. Suppose that processor p must be shut down in the interval [T1,T2] for preventive maintenance. One could think of maintenance as a job in potential conflict with all other jobs that require processor p . Define the binary variable Ym,ik as

convex polytope that encloses the integer feasible solutions and (b) expedite the search toward the optimal solution in the branch and bound solution phase, by logically im- plying values for certain binary variables. Alternate Production Routings

The model summarized in the previous section limits the assignment of product production to a unique set of processors. In addition, only one reaction pathway is used for each saleable product. In this section, we describe modifications to the formulation which relax these as- sumptions. These extensions introduce an additional dimension of complexity to the problem in that decisions must be made regarding the split of product production among processor sets and/or reaction pathways.

Multiple Processor Sets. First consider the option of distributing the production of a particular product over multiple processor sets. Let s(i) be the number of sets of processors which are capable of producing product i. Define Njk as the number of batches of product i, produced during the kth production run by the j th set of processors. The demand and availability constraints (4)-(6) now read, respectively,

demand

Ii, + E BYN$ 1 C X i k v i; n = 1, ..., R(i ) (4a)

availability Sti)

C BTN$ 5 [Xin + I i n I ( l / f i j )

n s ( i ) n

k = l m=l k=l

m = l V ( i j ) E network; n = 1, ..., (R(i) - 1) (5a)

where n

Note that the modifications occur only in the production terms, which now sum production over all processor sets associated with product i. The network precedence con- straints (2) and (3)

syk 2 S$ + N$ti m = 1, ..., 4); q = 1, ..., s(j) (2a)

(3a)

are slightly modified by adding the superscripts shown above. If the product is saleable, then the tardiness con- straint (7) is changed to

( 7 4

STk+1 1 S$ + N$ti m = 1, ..., s ( i )

[Zi, - Din] - Ti, I 0 n = 1, ..., R(i) Z,, 1 Si", + Ngti m = 1, ..., s(i)

i.e., tardiness is calculated on the basis of the latest com- pletion time (ZEn) of the nth run of product i taking all s(i) processor sets into consideration.

Alternate Reaction Pathways. When alternate re- action pathways exist for a saleable product, the model must determine how product production is to be split among these paths so as to meet customer orders. Multiple graphs in the precedence network will be associated with the same product. Let Njk be the number of batches of saleable product i produced in run k by the j th pathway. Then

n ~ ( i ) n

k=lm=l k = l Ijo -k BTN$ I X X i k v i E A; n = 1, ..., R(i)

(4b) where p ( i ) is the number of reaction pathways for saleable

This is to say that if Ym,ik takes on the value of zero (one), then run h of product i precedes (follows) maintenance shutdown. The pair of disjunctive constraints

Sik + Nikti 5 + WYm,ik k = 1, ..., R(i)

is added to the formulation for each product i which uses processor p . W is the binary variable coefficient in con- straint set (8). Relational constraints of the form

Y m , i k 5 Ym, ik , for k' > k

Ym,ik 5 y m j k ,

aid in tightening the formulation.

Sample Results Two test cases are presented in this section. The first

problem illustrates alternate processor sets for product production. The second problem demonstrates the model's

for k' 1 k and a directed path connects nodes i and j in the network

1942 Ind. Eng. Chem. Res., Vol. 26, No. 9, 1987

Processor #I N51 - 1 5 ' yo* N52 - 20 N22 = 50 N32 I 30

0 30 4 5 55 135 ' 8 3

Processor lt2 N11 = 50 NE2 - 20 N i 2 - 100

0 2 1 85 ' 35 '53

- h?2 . ?:

.li

Proccriar # I

KEY

N11.23 N12=33 N 4 2 = 1 b 1 h 6 2 = 1 3 S 1 1 1 E S

0 21 16 79 96!W 'I! 160

idle processor

stan ->me 4 10 30 + F8nrh Time

Figure 3. Optimal solution to test problem 1; 2'32 = 72; T15,61,2 = 25; all other due dates met.

Table I. Data for Test Problem 1" saleable demand product order (batches) due data

3 1 10 45 3 '2 30 108 -1 1 15 36

[5,61 1 15 48 15.61 2 40 60

processing processing product time/batch (t ,) product time/batch ( t , )

1 0.5 4 1.0 2 1.0 5 2.0 3 1.5 6 3.0

= f Z 3 = 5; all other f,, = 1. All objective function weights are equal. Three processors: U1 = [2,3,5]; U2 = [1,61; C'? = [3,41.

performance when alternate reaction pathways are avail- able. Both problems were run on a DEC 2060.

Test Problem 1. The problem is presented in Figure 2 and Table I. There are three saleable products, one intermediate product to the first saleable product, and three processors. Production can be distributed between two processor sets for two of the products. The interme- diate to the first saleable product (node 3 in the precedence network) can be produced by using either processor 1 (node 2) or processor 2 (node 1). Similarly, the third saleable product, represented by nodes 5 and 6 in the precedence network, can be produced by using either of these pro- cessors. The formulation consists of a total of 87 con- straints, 10 of which are upper bound constraints on pro- duction levels and 22 are constraints relating binary var- iables. The formulation requires 15 binary and 28 con- tinuous variables. The minimization of mean weighted tardiness, with equal weights, is the chosen objective. The run terminates in 2.3 min of CPU time. The branch and bound tree consists of 136 branches, 79 of those used to complete the tree after locating the optimal solution.

The optimal solution is shown in Figure 3. One might expect that a product's production, in each production campaign, is distributed among its alternate processor sets in the same proportions. The optimal solution shows that this intuitively appealing rule need not hold. Fifty batches of product 3's precursor (nodes 1 and 2) are needed to meet the first customer order of 10 batches, and 150 batches are required to satisfy the second order. One-hundred percent

NSI i 1: N12 = 27 N 2 l = z*

0 I * 5 79

Pro 'e i io r 112

Figure 5. Optimal solution to test problem 2; T14,61,1 = 16; all other due dates met.

Table 11. Data for Test Problem 2" saleable demand product order (batches) due data

[ G I 1 20 80 [4,61 2 30 160

I 1 30 45 8 1 20 60

product time/batch ( t , ) product time/batch (t ,)

-

processing processing

1 1.0 5 2.0 2 0.5 6 2.0 3 1.0 7 1.5 4 2.0 8 2.0

Of13 = f5E = 2; all other f i j = 1. All objective function weights are equal. Four processors: U1 = [1,4,61; U2 = [5,71; U3 = [2,5]; U4 = [3,81.

of the first production requirement of 50 batches is pro- duced on processor 2 (Nil = 50), whereas 67% of the 150 batch requirement to fill the second order is produced on processor 2 (N12 = 100). The remaining 33% is produced simultaneously on processor 1 (N22 = 50) in the time in- terval [85,135]. The split of production of the third saleable product between processor 1 (node 5) and pro- cessor 2 (node 6) also varies between its two customer orders of 15 and 40 batches. Processor 1 fills 100% of the first order (Nbl = 15). The second order is divided equally between the two processors (NS2 = 20; NG2 = 201, with simultaneous production occurring in the interval [45,85].

Test Problem 2. The second test case of four processors and three saleable products is presented in Figure 4 and Table II. The first of the saleable products can be syn- thesized via two reaction paths (nodes 4 and 6 represent the saleable product). The other two saleable products (nodes 7 and 8) are produced directly from raw materials. Product 5 requires both processor 2 and 3, i.e., product 5 is produced by employing processors 2 and 3 in series, and these two production steps cannot be decoupled. Ac- cording to the model assumptions, both processors 2 and 3 are engaged simultaneously during the course of product 5 production. The formulation is comprised of 97 total constraints, 32 of which are tightening constraints. There are 17 integer and 32 continuous variables. Again, mean weighted tardiness with equal weights is used as the per-

Znd. Eng. Chem. Res. 1987, 26, 1943-1944 1943

formance measure by which schedules are assessed. The run is completed in 2.4 CPU min.

The optimal solution is given in Figure 5. All due dates are met with the exception of the first order for the first saleable product (nodes 4 and 6) which is 16 time units late. Note that 57.5% (Ndl = 11.5) of the first customer order of 20 batches for the first saleable product is allocated to the first reaction pathway compared to 55% (N42 = 16.5) of the second order of 30 batches. These unusual splits result because production run levels of products 4 and 5 (the intermediate in the second path) are set so that the finishing times of their respective runs coincide. Once processor 1 is relieved of product 4 production, a pro- duction run of product 6 immediately begins using the batches of its precursor (product 5) just yielded by the reactor series comprised of processors 2 and 3.

Conclusion Several extensions to the mixed (binary) integer pro-

gramming model in Rich and Prokopakis (1986) for scheduling batch operations in a multipurpose plant have been presented. The model is now capable of handling alternate production routings with or without alternate reaction pathways. That is, a product may be produced io different processor sets via the same or different reaction pathways. This permits the simultaneous production of a product in two or more locations in the plant, giving greater flexibility to a plant manager with respect to routing of processes in the plant and assigning products to processors. Two test problems have been solved with reasonable computational effort.

We have also demonstrated how the model can be fur- ther modified to allow for preventive maintenance by placing limitations on start times of production. Other occurrences, such as shortages of raw materials or time lags between steps due to quality control tests, can be dealt with in a similar fashion.

Nomenclature A = set of indexes corresponding to saleable products Bi = processor (reactor) batch size for product i 4” = number of binary variables used in formulation Dik = due date for kth order of saleable product i f i j = stoichiometric factor: number of units of product i re-

quired to produce one unit of immediate successor product

Fik = finishing time of production run k of product i Zjo = initial inventory for product i M = number of processors

i

CORRESPONDENCE

N = number of products N‘ = total number of nodes in the precedence network, N’ 2 N; the strict inequality holds if the precedence network is other than an assembly structure

Narc.; = number of arcs in digraph associated with saleable - . --. product i

Nlk = number of batches of product i produced in production run k (decision variable)

Nk = number of batches of product i produced in production run k via j th reaction path or by j th set of processors (decision variable)

p(i) = number of reaction paths through which saleable product i can be synthesized

R(i) = number of customer orders for saleable product i s(i) = number of processor sets capable of producing product

i Slk = start time of production of kth run of product i (decision

variable) t , = cycle time for a processor (or processor set) required by

product i Tlk = tardiness of kth order of saleable product i (decision

variable) U = the set of products which require processor p # = large number relative to any task duration w,k = objective function weight for kth order of saleable

product i X,k = production requirement for product i (expressed in the

same units as El); size of kth customer order if i is saleable; product demand due to order k if i is intermediate

Y1k# = binary variable used to resolve potential conflict be- tween product ilrun k and product j/run k’

Z,, = latest completion time of the nth run of product i taking all s(i) processor sets (or all p ( i ) reaction paths) into con- sideration

Li terature Cited Mauderli, A.; Rippin, D. W. T. Chem. Eng. Prog. 1980, 76(4), 37. Prabhakar, T. Manage. Sci. 1974,21(1), 34. Rich, S. H.; Prokopakis, G . J. Ind. Eng. Chem. Process Des. Dev.

Sawik, T. J. Eur. J. Oper. Res. 1985, 19(3), 331. Schrage, L. ‘‘Users Manual for L INDO; Scientific: New York, 1981.

1986, 25(4), 979-988.

* Author to whom correspondence should be addressed.

Steven H. Rich, George J. Prokopakis* Department of Chemical Engineering

and Applied Chemistry Columbia University

New York, Ne& York 10027

Received for review August 28, 1986 Revised manuscript received June 9, 1987

Accepted June 23, 1987

Comments on “Structure of Complex Catalytic Reactions: Thermodynamic Constraints in Kinetic Modeling and Catalyst Evaluation”

Sir: The article by Shinnar and Feng looks considerably like the results published earlier by Gorban and co-authors (Bykov and Gorban, 1984, 1985; Gorban, 1979a-c, 1980; Gorban and Bykov, 1980; Gorban and Yablonskii, 1980, 1981; Gorban et al., 1980). To avoid further duplications and to inform the readers, I report that in the above-cited articles, a new concept for qualitative analysis of chemical kinetics equations has been developed. In Gorban (1979a), the algorithm for the definition of regions of accessible composition for a given reaction mechanism and the lo-

0888-5885/87/2626-1943$01.50/0 0

cation of the equilibrium and original compositions has been proposed. In Gorban (1979b), many thermodynam- ically allowed paths of reaction have been studied. In Gorban et al. (1980), this method has been extended to open catalytic systems. The developed methods allow one to create a new procedure for planning unsteady kinetic experiments (Gorban and Yablonskii, 1980). These results are partially reflected in a survey by Gorban et al. (1980). By use of these results, the problem on boundary equi- libriums has been solved (Gorban, 1980). In Gorban

1987 American Chemical Society