Multiproduct plant scheduling studies using BOSS - Industrial

Aug 1, 1987 - Ind. Eng. Chem. Res. , 1987, 26 (8), pp 1551–1558. DOI: 10.1021/ie00068a010. Publication Date: August 1987. ACS Legacy Archive. Note: ...
1 downloads 0 Views 1MB Size
Ind. Eng. Chem. Res. 1987,26, 1551-1558

1551

Multiproduct Plant Scheduling Studies Using BOSS Kamal Kuriyan and Gintaras V. Reklaitis* School of Chemical Engineering, Purdue University, West Lafayette, Indiana 47907

Girish Joglekar Batch Process Technologies, Inc., West Lafayette, Indiana 47906

The BOSS simulation package was used t o study daily production a t a multiproduct dairy plant. Production schedules were generated by using efficient suboptimal algorithms. A simplified model for intermediate storage was used in the development of these algorithms. The performance of the algorithms was evaluated by using simulation studies. The results of these simulations showed that use of such algorithms can result in a significant improvement in equipment utilization. The sector of the U S . processing industry employing multiproduct batch/semicontinuous (B/SC) operations is assuming a growing importance because of the trend toward production of high-valued food and biochemical products. Of course this mode of operation has been in common use since the inception of the CPI; however, the complexities and apparent wide diversity of operating restrictions and customs have discouraged the development of computer-aided methodology for simulation and analysis. Yet, it is the very complexity of this mode of operation that provides such an exceptional opportunity for the application of advanced computer-aided methodology to enhance the efficiency and profitability of B/SC operations. In this paper we shall discuss the use of such methods to analyze daily production at a multiproduct dairy plant. In recent years, the dairy processing industry has been undergoing many changes. An important change has been toward fewer, larger processing plants and toward technical, capital-oriented manufacturing and processing. A key feature of such plants is that multiple products are produced using the same processing system. Thus, production scheduling becomes an important factor governing day to day plant operations. In this context, scheduling is the process of determining the order in which the different products utilize the resources of the system and the intervals of time over which this utilization is to occur. The objective is to optimize an appropriate measure of system performance. Resources here may be taken to include process operators and utilities as well as processing vessels such as pasteurizers, packaging units, and intermediate storage tanks. In this paper we examine several aspects of the scheduling problem. The first of these is the development of suboptimal scheduling algorithms. We will point out why it is necessary to use suboptimal algorithms rather than optimal algorithms. We then show how such algorithms can be developed. We will also discuss the use of idealized process models for scheduling purposes. Lastly we shall demonstrate how a discrete event simulator can be used to evaluate schedules generated by using such techniques. In this case the simulation studies were carried out by using BOSS, a general purpose “flow-sheeting”system for B/SC processes. The rest of this paper is organized as follows. We begin with a description of the dairy plant. This is followed by a discussion of the capabilities of BOSS. We conclude with an account of our solution to the scheduling problem. Process Description Processing Network. The process studied in this paper is described in a report by the Epstein Process Engineeringcompany (1983). The plant consists of around

70 items of equipment, including process vessels and storage tanks. A schematic flow sheet of the plant is given in Figure 1. Broadly speaking, the equipment items can be grouped into the following classes: raw material preparation, pasteurization, packaging, and intermediate storage. Raw material preparation is carried out in mixing tanks in which the various ingredients required in the manufacture of a product are blended together. The scheduling studies carried out in this paper assume that raw material preparation is not a critical factor and attention is therefore restricted to the latter half of the process which consists of the pasteurization and packaging steps. Surge tanks are available to hold products in between these two steps. Products may be pasteurized on any one of two pasteurizers depending on product type. Each packaging unit can be used to fill only a few of the many different package types. In some cases more than one unit may be capable of filling a given package type. After the packaging step, the products are transferred to a refrigerated storage vault. Products. A typical day’s production may involve the manufacture of about 60 products. For purposes of this study, products are differentiated both on the basis of composition and package size. Almost all the products are produced daily, but the actual product slate for a given day depends on factors such as projected demand, capacity, inventory costs, and slack in process. Four categories of dairy products are made at the plant currently. These are fluid milk, ice cream mix, juices, and yogurt. The total scheduled output is 180000 gal/day. Each category contains a large number of products due to brand name recipes and variations in package size. Resource Restrictions. There are two key shared resources in the process: operators and utilities. Different categories of operators are available in each shift to perform the various duties involved in plant operation. If an appropriate number of operators is not available in a particular category needed to start a task associated with a product, the initiation of that task is delayed until the required number becomes available. The other shared resource is electricity.

T h e BOSS Simulator BOSS (Batch Operations Simulation System) is inherently an equation-oriented dynamic simulation system which is modularly structured and which has the ability to detect and process state discontinuities. The simulator is designed to handle the key characteristics of batch operation, namely, the occurrence of discontinuous changes in the state of the system (state and time events), the dynamic rearrangement of processing paths as products are changed over and as state-dependent equipment assignments are made, and the constraints due to shared

0888-5885/87/2626-1551$01.50/0 0 1987 American Chemical Society

1552 Ind. Eng. Chem. Res., Vol. 26, No. 8, 1987 Typical Fluid Dairy Plant

\ /

Benos

..

~

,T

-.

L'

JuCeS

~- .-

Surge

Tanks

\-

+ -

1 4

'

-1

- -~

Packaging Lines

Figure 1. Schematic flow sheet.

resources, such as operators, steam, electricity, etc. The simulator is also designed to handle frequent changes in the dimensionality and the form of the overall plant dynamic model brought about by changes in equipment status and/or changes in the number of species associated with the product assigned to an equipment. The simulator consists of an executive program that controls seven main functional blocks. These blocks are (a) initialization/restart, (b) integration and equation solving, (c) event processing, (d) equipment module library, (e) input processing, (f) report generation, and (g) physical properties interface. The initialization/restart block assembles the state variable vector from the state variable blocks associated with each active unit. The solution of simultaneous differential and algebraic equations is controlled by a block which employs a modified version of the LSODAR integration package (Hindmarsh, 1981). A sparse equation solver (Harwell, MA28) is used in the predictor/corrector algorithm employed by LSODAR. Events are processed with the sequential steps of event detection, event time determination, event identification, and event logic execution. Event times are determined by an efficient algorithm that exploits the integration polynomials maintained by LSODAR. The library of equipment modules consists of typical unit operations such as storage tanks, single-phase batch reactors, crystallizers, driers, and steady separators in versions with species dynamics and without detailed dynamics (the unit goes on, operates for a specific period of time, and goes off). BOSS, in its present form, has a stand-alone input data structure and a simple report generator for gathering statistics, trajectories of specified simulation variables, and status snapshots at selected points in time. Input data include equipment parameters, process topology, recipe information, routing information, and options specifying queue discipline and production sequences. The simulator can monitor key shared resources such as operators, steam, refrigeration, and raw materials. Physical properties are treated as externally supplied constants. Detailed discussion of these functional blocks is given in Joglekar and Reklaitis (1984a). The basic capabilities of BOSS have been successfully demonstrated through a series of modest applications and a large-scale polymer process study (Joglekar and Reklaitis, 1984b). The application described in this paper represents the first attempt to use the simulator as an aid in the scheduling of batch/semicontinuous processes. Input Information. In order to assemble a simulation, the user must describe the equipment items and the connections between them. He also has to describe utility and raw material requirements for the different products and supply information concerning plant operating policies. The product processing sequence (PPS), which could be global (for all units in the flow sheet) or local (specific to a unit or a group of units), defines the order in which the

products are made in the batch plant. The specification of PPS is critical, as it initiates and drives the simulation. The PPS imposes on units a predetermined order for preparing batches. The PPS is typically cyclic in nature, for example, make nl batches of ice cream mix for product PI, n2 batches of ice cream mix for product P2, and so on. After the tasks have been initiated at the starting points for a product, the downstream processing takes place according to the entries waiting in queue for service. A unit or a group of parallel units normally belongs to one queue, and the assignment of tasks to a unit belonging to a queue is made based on routing information and the instantaneous queue status. A unit must either have a PPS or belong to a queue or both. Output Information. At each event time during a simulation, BOSS records information about the status of each unit in a history file. An output analysis program then extracts interesting results from this file. This permanent record of the simulation is especially useful for case studies, since the user can return to previous cases to extract information that, initially, he may not have considered important enough to examine. The history file can be processed to extract time histories of specific equipment items, resources, and operators, and these trajectories can be displayed graphically. The number of status levels which are recorded for each simulation entity vary with entity and the logic associated with that entity. For instance, the operation of an equipment item can be monitored in considerable detail by following 10 different status levels. These status levels are active, waiting for more material, waiting to empty contents, waiting to fill, engaged in start up, engaged in clean up, waiting for clean-up operator, and idle. In addition to generating status trajectories, the output analysis program can also integrate the trajectories to determine the average time spent in each status and to report these averages as fractions of the total time in the form of pie charts. Such pie charts can be generated for operators, for individual items of equipment, or for a set of parallel units. The output analysis program can also calculate cumulative raw material or component utilization; product or by product production can also be calculated by the output analysis program and displayed graphically. This type of information can be quite helpful in materials requirement planning.

Scheduling Heuristics The production scheduling problem for the dairy plant consists of the following elements. (1)A set of n products can be manufactured on a given day. A typical value of n would be in the range 50-60. Products are differentiated both on the basis of composition and package size. Each product requires two processing steps: pasteurization and packaging. (2) There is a network of processors on which the required processing may be carried out. The pasteurization step may be carried out on either one of two units depending on the product type. The packaging step is carried out on 1 of 12 fillers. Each type of filler can handle a limited range of package sizes. However, more than one filler of a particular type may be available. The processing rate varies both with filler type and package size. (3) Since the processing rate of the pasteurizers is much greater than that of the fillers, the availability of adequate surge capacity between the two stages is a critical factor. A large variety of tanks of different sizes are currently available for this purpose.

Ind. Eng. Chem. Res., Vol. 26, No. 8, 1987 1553

pa*tsun'zsr

A

E

l

C

packager #1 packager 12

1

C

pa.teurl2.r packager #I

packager #2

Figure 2. Gantt charts.

(4) To complete the description of the model, we need to specify the objective. For purposes of this study the objective was to determine the product processing sequences on all the pasteurizers and the product-unit assignments on the packagers so as to minimize the makespan, which is defined as the total time required to manufacture the entire set of n products. Kuriyan and Reklaitis (1985) point out that scheduling problems of this kind are quite difficult to solve in a reasonable amount of computation time. Makespan minimization on parallel processors is an NP-complete optimization problem. This means that the time required to obtain an exact solution to such problems increases exponentially with problem size. It is therefore impractical to seek optimal solutions for all but the smallest of problems. However, one can often obtain good suboptimal solutions in an efficient manner by using heuristic scheduling procedures. The following route was taken in developing heuristics for solving the dairy plant scheduling problem. We first studied a simplified version of the problem in which a single pasteurizer is used for the first processing step. The algorithms used for this problem were then modified to take into account the availability of a second pasteurizer. The heuristics were based on the following observation. Consider the schedule represented by the Gantt chart in Figure 2. Three products, A, B, and C, are to be made on a system consisting of one pasteurizer, two fillers, and two surge tanks. The product processing sequence on the pasteurizer is (A,B,CJ. Products A and B are packaged on filler 1, whereas product C is packaged on filler 2. The sequence (A,B,C)is clearly inefficient since the pasteurizer must remain idle in between processing product A and product B. This is due to the fact that the surge tank for filler 1cannot hold products A and B simultaneously and the pasteurizer must be shut down until the packaging of product A is completed. However, if product C is processed before product B, the pasteurizer does not have to be shut down, and the processing on filler 2 can be completed at an earlier time. Two schemes were considered for generating schedules which avoided inefficiencies of the kind described in the preceding paragraph: Algorithm A. (1)Set up an ordered list of unscheduled products. The processing sequence 11on the pasteurizer is initially set to a null sequence. (2) Select the first product from the list of unscheduled products. This product is now a candidate to be appended to the processing sequence on the pasteurizer. The remainder of the algorithm consists of checking whether it would be better to process another product from the un-

pasteurizers

surge tanks

packagers

Figure 3. Flow sheet for simulations.

scheduled list ahead of the candidate. (3) Suppose the candidate product is product A. Select products in order from the set of products that follow A in the list of unscheduled products and perform the following test. Suppose the product being tested is product B. Calculate the completion times for all the products assuming the processing sequence on the pasteurizers is IIAB and also if the sequence is IIBA (11 denotes the sequence consisting of the products that have already been scheduled). If the completion time for the product pair AB is greater when the processing sequence is IIAB, then product B replaces product A as the candidate product. The completion time for a product pair is defined as the maximum of the completion times of either product. This process of testing is repeated until all the products in the unscheduled list have been tested against a candidate. (4) Suppose product C is the candidate at the end of the testing process described above. Delete product C from the list of unscheduled products and append it to the processing sequence of the pasteurizers. If any products remain on the unscheduled list, go to step 2 to determine the next candidate. The order in which products are arranged on the list of unscheduled products has a significant effect on the makespan of the final schedule. The following four rules were used in this study: (1)longest processing time first (LPT), (2) shortest processing time first (SPT),(3) largest difference first (LDF), and (4) random ordering (R). The LDF rule orders products by decreasing order of the difference in processing times on the packaging unit and the pasteurizer. This is the optimal sequence for the special case when every product is processed on a different packaging unit. The other two rules were chosen since they are often used as dispatching rules for scheduling production in job shops. The other algorithm used in this study is based on a slightly different idea. Whereas algorithm A tries to find the best product to add to the processing sequence on the pasteurizer, algorithm B attempts to find the best position in which to place a specific product in the processing sequence. Algorithm B. (1)Set up an ordered list of unscheduled products. The processing sequence II on the pasteurizer is initially set to a null sequence. (2) Select the first product from the list of unscheduled products. Suppose this is product A. Its position in the processing sequence II on the pasteurizer is determined as follows. Suppose the sequence II consists of k products. Then k + l sequences are generated by inserting product A in the sequence II. For example if II = (C,D,EJ,then the following sequences are generated: (A,C,D,E),(C,A,-

1554 Ind. Eng. Chem. Res., Vol. 26, No. 8, 1987

D,E), (C,D,A,E), {C,D,E,A). Out of these k + l sequences, the best one is retained as the processing sequence on the pasteurizer. Product A is deleted from the list of unscheduled products. This process is repeated until all the products have been scheduled. The products in the list of unscheduled products were ordered by using the same four rules that were used in conjunction with algorithm A. Completion Time Calculation. Both algorithm A and algorithm B require information about the completion times for partial product sequences while generating complete sequences. Calculating completion time involves a fairly complicated procedure. A pasteurizer cannot feed a filler directly since the two operate at different rates, and thus the pasteurizer has to be shut down if all the surge tanks are in use. This implies that the completion time calculation must keep track of the fluid levels in the storage tanks. A complicating factor is that the surge tanks are of different sizes and certain products may require more than one surge tank. One way to calculate completion times for such a process is to use a discrete event simulation package like BOSS. BOSS uses time events, state events, priority queues, and a sophisticated time advance mechanism to model processes such as this one. Unfortunately, it is not practical to use BOSS simulations in conjunction with the algorithms described above. A BOSS simulation of the dairy process typically takes 5-10 s of CPU time on a CDC 6500. In order to schedule a set of 58 products, algorithm B would need to test about 1700 partial sequences. It follows that sequencing algorithms described above are very expensive if a BOSS simulation is used to evaluate partial sequences. To circumvent this problem, both algorithm A and algorithm B use an approximate sequence evaluation procedure. The approximate scheme relies on a simplified model of storage to speed up the completion time calculation. It is assumed that a single surge tank is located upstream from each filler. It is also assumed that this tank is large enough to hold the entire production of any one product. To see why this assumption simplifies the completion time calculation, consider a system of two semicontinuous units separated by a single surge tank. A product occupies the surge tank throughout the time interval in which it is processed by the slower of the two semicontinuous units. In the dairy plant the pasteurizers operate at a higher processing rate than the fillers, and it follows that a surge tank and its associated filler can be treated as a single unit for the completion time calculation. In a feasible schedule, the composite downstream unit (surge tank filler) has to be available at the time the upstream unit (pasteurizer) starts a product. Completion times can thus be calculated by using the simple recursive formulas

Cw(k) and Cf,(k) denote the completion times for product k on the pasteurizer and filler, respectively, and tp,,(k) and tfill(k)are the processing times for product k. Product i is the previous product on the pasteurizer, and product j is the previous product on the filler. The formulas are derived with the assumption that there is no “unforced” idle time between products. Test Procedures. The next step in this study was to compare algorithm A and algorithm B and to determine which ordering rule to use. The methods used were similar to those first proposed by Dannenbring (1977). Forty test problems were generated in the following manner. Sixty

products were to be scheduled in each case. The processing times on the pasteurizer were chosen to be random numbers uniformly distributed on the interval [0,30]min. The ratios of the processing rate of the pasteurizer to the processing rate of the packaging units were chosen to be random numbers in the range [2.0,29.0]. The number of packaging units was fixed at 12. The products were assigned to the packaging units a t random. These parameters were chosen so that the production scenario corresponded, roughly, to that encountered in a day’s production at the dairy plant. The performance measures used in conjunction with these tests are described below and are based on those used by Dannenbring. In the following paragraphs, WA is the makespan of the schedule produced by the algorithm being evaluated, wb is the makespan of the schedule produced by the algorithm which gave the best makespan value, w, is the makespan of the schedule produced by the algorithm which gave the worst makespan value, and q b is a lower bound on the optimal makespan. q b is the maximum of lower bounds calculated for each unit in the process. The lower bound for each unit is equal to the sum of processing times for all the products that have to be processed on the unit. 1. minimum relative error r

1:

rmin= 100 ll

2. consistency c = rmi2 3. maximum relative error

-

r,,,

;1:

= 100 - - 1

1

1

4. relative ranking

5. Percentage of times algorithm produced a schedule with the best value of makespan, Ph. The tabulated values are the values of the above measures averaged over all the test problems. The measure rminindicates how the makespan of the schedule produced by an algorithm compares with the makespan of the best schedule found for a particular test problem. If rmin= 0.0, it means that the algorithm produced the best schedule for that problem. Consistency is similar to rminbut since the error is squared, greater weight is given to those test problems on which the algorithm performed poorly. The maximum relative error criterion overestimates the deviation from the optimal makespan. The true error has a value in between rminand rmm. Relative ranking rates the algorithms on a scale of 0-100,O for the best algorithm and 100 for the worst. Test Results. The test results are presented in Table I. The following notation was used to identify the heuristics. The first element of the name identifies the sequencing rule, while the second element identifies the algorithm type. Thus, LPT/A denotes the schedule generated by using algorithm A with the LPT sequencing rule. For comparison purposes, schedules were also generated by simply using the sequencing rules, without applying either algorithm A or algorithm B to eliminate inefficient processing sequences. The tabulated values show that algorithm B is clearly superior to algorithm A. If either the LPT or the LDF

Ind. Eng. Chem. Res., Vol. 26, No. 8, 1987 1555 Table I. Testing of Heuristics-Single Pasteurizer heuristic r, rmh C RR Ph LPT/B 0.1 0.0 0.1 0.0 92 LDF~B 0.2 0.1 0.4 0.1 70 1.8 3.3 4.8 37.2 39.0 42.6 59.5 65.1 86.9 95.5

RIB LDF/A SPT/B RIA SPT/A LPT/A LPT SPT R LDF

1.7 3.2 4.7 37.0 38.8 42.4 59.3 64.8 86.6 95.2

3.5 7.8 7.5 44.0 46.7 48.2 66.6 72.3 98.1 103.1

1.4 2.9 3.9 33.3 35.5 38.6 56.1 60.9 79.9 91.5

50 20 35 0 0 0 0 0 0 0

Table 11. Testing of Heuristics-Two Pasteurizers heuristic LPTIB LDF/B RIB SPT/B LDF/A RIA SPT/A LPT/A LPT SPT LDF R

rmax 0.1 0.4 1.6 2.3 6.0 19.0 18.4 20.9 29.0 36.7 43.7 47.5

rmin 0.1 0.3 1.5 2.2 6.0 19.0 18.4 20.9 28.9 36.6 43.6 47.4

C

0.2 1.6 3.5 3.9 11.0 27.9 22.8 24.9 33.0 41.0 47.6 53.8

RR 0.1 0.3 2.2 3.4 10.7 29.1 32.0 35.3 50.7 65.7 77.0 77.6

Ph 90 92 60 27 40 0 7 0 0 0 0 0

Table IV. Production Requirements (lb) product P,

quantity 5 160 15480 3 440 10 320 5 160 5 160 - 5160 3 440 4 644 4 644 54 510 12 900 2 322 15 480 5 160 4 644 4 644 54 610 2 322 3 440 246 820 174580 20 640 20 210 62 350 6 020 141900 4 730 9 374

product P,,-” p32

p33 p34 p35 p36

p37 P38 p39 p40 p41

’42

p43 p44 p45 p46 p47 P48 p49 P5rJ p51 p52

p53 p54 p55 p56 p57 P58

quantity 23 306 3 554 5 040 15652 6 278 4 128 8 772 15050 46 827 44 978 2 580 3 870 12 470 6 278 7 740 38 227 17 909 2 365 7 792 4 558 2 322 782 38 227 17 909 2 365 26 918 20 102 246 820 20 102

Table 111. Processing Rates (lb/h) processing unit 1. pasteurizer 2. pasteurizer fillers 3. paper, gal 4. naked, 6 g 5. bag in box 6. plastic, 1 g 7. plastic, 1 g

.

max processing rate 86 000.0 38700.0 15480.0 15480.0 15480.0 41280.0 41 280.0

processing unit 8. paper, 0.5 g 9. std base 10. std base 11. EPAK 12. E PAK 13. E PAK 14. E PAK

max processing rate 23 200.0 14 448.0 14448.0 4 730.0 4 730.0 4 730.0 7 095.0

sequencing rules are used, the makespans of the schedules are within 1’?& of the optimum on an average. Algorithm A is effective only when the LDF rule is used, in which case the average error is less than 5%. Both algorithms produce schedules which are better than those prodyed by simply applying the sequencing rule without any attempt to eliminate inefficient utilization of the pasteurizer. Table I1 presents test results for the case when there are two pasteurizers. The algorithms were modified in the following manner to account for the second pasteurizer. Products were assigned to either pasteurizer arbitrarily. (In the plant, the assignment is governed by technological constraints. For example, ice cream mixes can only be processed on the dual-speed pasteurizer.) Separate lists of unscheduled products were maintained for each pasteurizer. The candidate products were selected from the unscheduled list of the pasteurizer which had less processing assigned to it at that point. As can be seen from the tabulated values, the relative performance of the algorithms is similar to that for the single pasteurizer case.

Simulation Studies Using BOSS The final step in this study was to generate processing sequences for the “typical production day” and to evaluate these sequences rigorously with a BOSS simulation. (The production requirements for the typical production day are taken from the Epstein report.) A BOSS simulation model consists of three types of information: a description of the network of processing units, a description of the

tasks necessary to manufacture each product, and lastly, a description of the production schedule. Processing Network. The processing network consists of three types of equipment items: pasteurizers, surge tanks, and fillers. The pasteurizers are depicted by “continuous separator” modules with a single input and a single output. (Such modules are typically used to represent semicontinuous units like pumps. The modules represent true continuous separation units when there is more than one output.) The single input is taken from a “finite source” which represents a reservoir of raw material. Finite sources can be thought of as storage tanks with an unlimited capacity to hold material. The single output of the module is directed to a surge tank. The processing rate of the pasteurizer for a particular product is specified in the product recipe information (supplementary Tables 3 and 4). The simulation package performs the mass balances associated with the transfer of material from the finite source to the surge tanks. Surge tanks are modeled as “type 3 storage tanks”. These tanks receive material from a pasteurizer and can simultaneously supply material to a filler. Start up of output from the tank is disabled if the volume of material falls below 5% of the tank capacity. Similarly, start up of input is disabled if the volume rises to 95% of the tank capacity. The capacities of the tanks conform with plant data (supplementary Table 2). Like the pasteurizers, the fillers are depicted by “continuous separator” modules. In this case, input is taken from one of the surge tanks, while the output is connected to a “sink” representing a storage vault for the packaged products. The rate at which a filler can package a product is specified in the product recipe information (supplementary Tables 3 and 4). Supplementary Tables 1 and 2 specify the parameters, such as tank capacities, for the BOSS modules representing the different units in the plant. In addition to a description of the individual modules, one also has to specify the connections between modules. These connections represent feasible routes for the transfer of material between modules. Both of the pasteurizers

1556 Ind. Eng. Chem. Res., Vol. 26, No. 8, 1987

have upstream connections to finite sources and downstream connections to all the surge tanks. The surge tanks have downstream connections to all the fillers, which in turn are connected to sinks. The model of the processing network differs from the actual plant in one respect. In the dairy plant a single surge tank can simultaneously feed several fillers. The simulation model only allows a single output since BOSS does not have storage tank modules with multiple outputs. Thus, the simulation model should provide conservative estimates of completion times for scheduling studies. Products. The manufacture of a product is represented by three “tasks”: pasteurization, intermediate storage, and packaging. The production volumes are taken from the data for the typical production day (supplementary Table 1). When a pasteurizer becomes available, the required volume of raw material is drawn from a finite source, processed at a constant rate, and then stored in one of the surge tanks till a filler is available. Material is then drawn from the surge tank, processed at a constant processing rate on a filler, and finally placed in a sink. Any given product can only use a subset of all the tanks available. This subset is chosen to be a set of tanks whose volumes are closest to the total production volume of that product. Similarly, each product can be processed on only one of the pasteurizers and on certain fillers. These assignments are governed by technological considerations. The permitted units for each task, and the processing rates for pasteurization and packaging are specified in the product recipe information (supplementary Tables 3 and 4). The electricity requirements and set-up times are given in supplementary Table 1. These values are set arbitrarily and do not necessarily reflect actual plant data. Throughout the process, products are differentiated both by composition and by package size. Separate products are defined for chocolate milk in 1/2-galcontainers and for chocolate milk in 1-qt containers. This is not an exact representation of the dairy plant since, in reality, the two products can be distinguished from each other only after the packaging step begins. Thus, while it is possible, in practice, to simultaneously store both of the chocolate milk products in a single surge tank, the simulation model does not permit this. To model the actual plant more accurately, it would be necessary to define additional products. Thus, there would be a ‘/,-gal-chocolate milk product, a 1-qt chocolate milk product, and a generic-chocolate milk product. The generic-chocolate milk product would be processed on a pasteurizer and then stored in a surge tank. The material in this surge tank would then be used to feed the fillers manufacturing the 1/2-galand 1-qt chocolate milk products. Unfortunately, as we show below, this representation is not very convenient for scheduling studies. Schedules. Scheduling information for a BOSS simulation can be provided in two forms. Processing sequences on units can be specified a priori as Product Processing Sequences (PPS), or they can be determined during the course of the simulation by using priority queues. The following approach is used in this study. Production on the pasteurizers is governed by PPS’s, while production on the remaining units is governed by first-in-first-out (FIFO) queues. Whenever a pasteurizer becomes idle, the BOSS executive checks to see if any products remain in the PPS for the pasteurizer. If there are any such products, the executive tries to begin production of the first product in the PPS. If a surge tank for the product is available, it is reserved and production begins immediately. If no surge tank is available, a reservation request is placed

in the queue for surge tanks. Requests are honored on a first-in-first-out basis. Production on the pasteurizer begins only when a surge tank has been reserved for the product. Immediately after this a reservation request is made for a filler. Once again, if a filler for the product is not available, a request is placed in the appropriate queue. Groups of identical fillers share a common queue. Packaging of a product begins when a filler is reserved. Production at all times is subject to the constraints of the module used to model surge tanks. Once the surge tank is filled, further input is blocked till the level falls below 95% of the total capacity. Similarly, if the tank empties out, then further output is blocked till the level rises to 5% of total capacity. These thresholds are arbitrary but are necessary to avoid an infinite sequence of switchings. When the processing of a product on the pasteurizer is completed, it is removed from the PPS. The PPS’s on the pasteurizers are calculated with the algorithms LPT/B, SPT/B, and LDF/B. The LPT, SPT, and LDF rules are also used for purposes of comparison. Thus, six different sets of PPS’s are evaluated with BOSS simulations. Note that algorithm B requires information about completion times for partial sequences in order to generate the final product processing sequence. This information is obtained from the approximate scheme described earlier. An alternative approach is to use PPS’s rather than FIFO queues to govern production on the fillers. However, some preliminary simulations showed that such schedules typically resulted in poor utilization of the fillers. Suppose the PPS on a filler is AB, where product A is processed on pasteurizer 1and product B is processed on pasteurizer 2. Quite often product B is pasteurized long before product A, but the filler remains idle because the PPS specifies that product A must be processed before product B. Since the model for the surge tanks is quite complicated, it is difficult to predict whether the pasteurization of product A will begin before the pasteurization of product B. It is therefore difficult to determine a good PPS for the fillers. A trial and error approach is not practical due to the large number of products involved. This problem can be avoided if the processing sequence of the fillers is determined dynamically by using FIFO queues. Two methods for defining products were described above. The second method is a more accurate representation of the conditions prevailing in the dairy plant. However, the implementation of BOSS forces one to use PPS’s to govern production on the fillers if this method is used to define products. We therefore chose to use the first method. This choice is not unreasonable if one notes that the first method is inaccurate only in that, occasionally, it does not allow one to make full use of available storage. It is a conservative model and, therefore, should not lead to production scenarios that are unachievable in practice. Table V presents completion time data obtained from the simulation of the six different schedules. It can be seen that the three schedules produced by algorithm B have makespan values significantly less than that of the schedules produced using simple sequencing rules. Thus, the algorithm is capable of producing good schedules in spite of the fact that an approximate model of storage was used to estimate completion times for partial sequences. The reader will recall that the idea behind algorithm B was t o improve utilization of the pasteurizer by eliminating inefficient processing sequences. The pie graphs in Figure 4 show the utilization of the pasteurizer for the LDF and LDF,/R schedules. The pasteurizer idle time for the

Ind. Eng. Chem. Res., Vol. 26, No. 8, 1987 1557 Table V. Simulation Results unit type 1. pasteurizer 2. pasteurizer fillers 3. paper, gal 4. naked, 6 g 5. bag in box 6. plastic, 1 g 7 . plastic, 1 g 8. paper, 0.5 g 9. std base 10. std base 11. E PAK 12. E PAK 13. E PAK 14. E PAK makespan LDF SCHEDULE

SPT 22.21 14.50

LPT 23.63 10.61

10.17 13.53 12.09 25.43 22.51 19.80 11.56 12.59 16.70 18.70 14.40 16.72 25.43

9.59 23.90 23.70 9.04 10.45 17.52 21.93 21.64 27.50 28.29 23.82 24.31 28.29

LDF/BF

active 14.79hr.s 59.4%

SCHEDULE

completion times on units (h) LDF SPT/B 24.89 19.06 21.99 10.26 21.23 26.68 25.21 25.65 22.05 26.26 25.09 25.05 18.95 17.29 13.00 25.37 26.68

8.93 19.28 20.37 17.96 4.66 21.13 18.48 18.30 16.62 13.68 14.40 18.40 21.13

LPT/B 19.82 11.69

LDF/B 18.57 14.74

11.90 21.04 21.84 18.23 6.13 18.83 22.26 20.82 15.51 18.10 13.83 18.60 22.26

15.41 20.17 18.92 17.21 19.34 20.03 18.87 18.83 13.43 14.98 16.54 19.15 20.17

500

I

active

set up

- 0.80hrs

" (

1

3.2% 3.2% 0

idle 9.30hrs 37.4%

2.99hrs 16.1%

0

20

10

50

tlms ( h n ) 500

I -

~~

Figure 4. Pasteurizer utilization.

LDF/B schedule is 3 h as compared to 9.3 h for the LDF schedule. Clearly, algorithm B succeeds in improving pasteurizer utilization. Apart from information regarding equipment utilization, it is also possible to extract information about resource requirements from the simulation output. Parts a and b of Figure 5 show the electricity consumption for the LDF and LDF/B schedules, respectively. Note that if a maximum utilization level of 400 units had to be enforced, then this could be accounted for in the simulation. Specifically, BOSS would delay the start up of any unit requiring the utility until the utilization rate dropped below the specified maximum level. This of course would have the effect of extending the makespan.

Discussion and Conclusions In this paper we have attempted to demonstrate the importance of scheduling considerations in the operation of a multiproduct plant. As can be seen from the data in Table V, using the proper schedule can result in a significant improvement in processing efficiency. We have shown how idealized process models can be used both in the development of scheduling algorithms and also for generating good schedules. However, a number of areas for further investigation can be identified. The scheduling algorithm used here does not attempt to take into account the effect of sequencedependent clean-up times. Moreover, it is assumed that utility and manpower constraints are not critical. The improvement in processing efficiency obtained by using the scheduling algorithm is primarily due to an improved utilization of process equipment. However, in situations where the factors mentioned above are important, it is possible that the algorithm would not be very effective. Thus, it is important to have available a simulation

0 4

0

10

20

30

time (hra)

Figure 5. Electricity consumption for (a, top) LDF schedule and (b, bottom) LDF/BF schedule.

package such as BOSS to enable one to identify the critical factors that a scheduling algorithm must account for. There is room for improvement here as well. It is not always possible to construct an exact model of the process with BOSS. BATCHES (Carmichael et al., 1987), a more recent version of BOSS developed after this study was completed, has improved facilities for modeling processes. There are also some limitations on the kinds of scheduling algorithms that can be built into a simulation. Currently, priority queues are the only means for defining schedules dynamically during the course of a simulation. Priorities for products have to be specified a priori. I t is thus not possible to use a dynamic scheduling algorithm which makes decisions based on the status of several different units. Acknowledgment This work was supported in part under Grants CPE7924565 and CBT-8518175 from the National Science Foundation. The application was developed and initiated

1558

Ind. Eng. C h e m . Res. 1987,26, 1558-1564

by Dr. Peter Clark of Epstein Process Engineering Inc. Supplementary Material Available: Four tables giving detailed product recipe information and a list of the BOSS modules used in the simulation (4 pages). Ordering information is given on any current masthead page. Literature Cited Carmichael, D.; Clark, S.; Joglekar, G. BATCHES Reference Manual; Batch Process Technologies: West Lafayette, IN, 1987. Dannenbring, D. G. Manag. Sci. 1977, 23, 1174-1182.

Epstein Process Engineering Inc. Simulation Study Report, 1983. Hindmarsh, A. C. ODEPACK-Library of Integrators; Lawrence Livermore Laboratory: Livermore, CA, 1981. Joglekar, G.; Reklaitis, G. V. Comp. Chem. Eng. 1984a, 8 , 315-327. Joglekar, G.; Reklaitis, G . V. Paper presented at the AIChE Annual Meeting, San Fransisco, 1984b. Kuriyan, K.; Reklaitis, G. V. PSE ’85: The Use of Computers in Chemical Engineering; IChE Symposium Series 92; Pergamon: Oxford, U.K., 1985; pp 79-90.

Received for review April 7, 1986 Accepted April 27, 1987

Constrained Minimum Variance Controllers: Internal Model Structure and Robustness Properties Luis G. Bergh? and John F. MacGregor* Department of Chemical Engineering, McMaster University, Hamilton, Ontario, Canada L8S 4L7

Discrete minimum variance controllers subject to a constraint on the variance of the manipulated vatiable, that is, constrained minimum variance (CMV) controllers, are shown to exhibit good performance and robustness properties. These C M V controllers are internal model controllers (IMC) for specified disturbance structures, and the Wiener-Hopf design procedure used to obtain them provides a convenient means of obtaining stable model inverses and filters. The higher order filters usually provided by this design approach give both good disturbance prediction and rapid gain roll-off at high frequencies. 1. Introduction Most modern control theories are model-based. Recently the control literature has begun to focus attention on the “robustness” of these control algorithms to mismatch between the model used to design the controller and the real process. A controller is said to be “robust” if the stability and performance of the closed-loop system are not severely compromised by moderate errors in the process model. Robustness is an important property for a controller to possess because, even though one is often able to identify good process models in a particular operating region or at one particular time by using some of the very efficient process identification methods now available, process conditions do change with time and nonlinearities do change the process behavior in different operating regions. We would like our control algorithms to behave well over the range of operation usually encountered in the plant. One way of achieving this is to use adaptive controllers, but they too pose their own set of problems, particularly if they are to be left running in a continuously adaptive mode. Optimal controllers are designed to optimize some index of performance under the assumption that the process model is correct. In this situation, with certain mild restrictions, optimal controllers will be stable. When uncertainties exist in the process model, optimal performance cannot be maintained. If the deterioration in performance is small for the type of modeling errors that might feasibly be expected, this will be referred to as “performance robustness”. Furthermore, when modeling errors exist, the closed-loop system can become unstable. If the stability region is wide enough to cover the modeling errors which might occur in practice, this is referred to as “stability robustness”. The size of the stability region in the model parameter space or in the corresponding frequency domain *Author to whom correspondence should be addressed. +Now at the University of Santa Maria, Valparaiso, Chile.

is a measure of the relative robustness of a controller. In most of the literature and in what follows in this paper, robustness is used to mean stability robustness. It has been shown that in certain situations discrete minimum variance stochastic controllers lack robustness (Palmor and Shinnar, 1979). These situations occur mainly when the discrete process transfer function model approaches noninvertibility (i.e., has a zero near the unit circle), when the sampling interval is short relative to the process time constanb, and for certain types of disturbance structures (particularly those which exhibit low-frequency drifting characteristics typical of load disturbances). In this paper we examine the robustness properties of more general constrained minimum variance (CMV) or Linear-Quadratic (LQ) output controllers which optimize the performance index minimize (Var (Y,)+ h Var (Vdu,)) (1) where Y, = output deviation from target and V d u ,= the dth difference of the manipulated input ( d = 0 , l usually). This performance criterion can be viewed as one in which the variance of Y is $0 be minimized subject to a constraint on the magnitude of the variance of the input changes Vdu (i.e., CMV). The constraint parameter X is then like a Lagrangian multiplier. The design of these controllers is accomplished by a spectral factorization solution to a discrete Wiener-Hopf equation if transfer functions are used, or by the solution of matrix Riccati equations if state space models are used (e.g., Astrom and Wittenmark, 1984; MacGregor, 1973). The internal model structure of model-based controllers was introduced by Brosilow (1979), Zames (1981), and Garcia and Morari (1982). This internal model control (IMC) structure is important both for the analysis and design of controllers. A real advantage of expressing controllers in this structure is that it reveals the similarities among many modern control theories. For example, CMV controllers, as shown in the next section, are internal model controllers for systems having specified disturbance

0888-5885/8~/2626-155~~01.50/0 0 1987 American Chemical Society