Ind. Eng. Chem. Res. 1997, 36, 5321-5328
5321
A New Completion Time Algorithm Considering an Out-of-Phase Policy in Batch Processes Jun-Hyung Ryu and In-Beum Lee* Department of Chemical Engineering, Automatic Research Center, Pohang University of Science and Technology, San 31, Hyoja-Dong, Pohang 790-784, Korea
To raise the scheduling efficiency in batch processes, we propose a new approach is to consider an out-of-phase operating mode. Previous scheduling algorithms which have been concerned only with single-unit single-stage case problems are extended. We suggest new completion time algorithms of single-product and multiproduct batch processes for the unlimited intermediate storage (UIS) and no intermediate storage (NIS) case from the single-product multicampaign model. To check out the effect of our algorithm and to visualize processing progress, we develop the program calculating and displaying the Gantt chart mappingsGantt Man. Five simple examples are presented to show the effectiveness of the proposed algorithms. Introduction Chemical process industry (CPI) has been attracted to the batch process for its flexibility. To utilize chemical processes more efficiently, the scheduling of the batch process is getting more important. Generally speaking, the batch process is used to manufacture many products in the same line. So, scheduling is needed to produce multiple products by sharing the available production time between products. Therefore, we can say that the solution of the scheduling problem is critically affected by the following attributes: (1) structure of the network; (2) presence or absence of IST; (3) cost or performance criterion used to rank schedules. From the reviews (Ku et al., 1987; Reklaitis, 1991), to enhance the productivity of the multiproduct batch processes, we can think of inserting IST between the stages or change the operating mode of the process. These make the single-unit multiproduct batch process shorten the idle time of the equipment and augment the production quantity in a given time. When we want to synthesize the chemical plant, many stages take different times, depending on the product species. There may be a stage consuming especially longer time and one that is least-effective compared with others. We call the stage of the process which requires the longest cycle time the limiting cycle time (LCT) stage and the stage which produces the least material (productivity) the limiting batch size (LBS) stage. If we want to improve the performance of the process, these two characteristics of the process should be relaxed. For the LCT stage, additional units operating the same task can be used with the out-of-phase (in sequence) mode. On the other hand, at the LBS stage, we can insert additional units doing the same job simultaneously with the in-phase mode. We are to deal with the out-of-phase mode in this paper because it is more related to scheduling matters. The Out-of-phase mode is a method to add additional units functioning “alternately” in the production line to raise the efficiency of the process. For example, Figure 1 has an out-of-phase unit in the LCT stagesstage 2. If two batches are progressed, with a single unit, the process ends after 29 time units. But with another outof-phase unit, only 22 time units are required. Alter* To whom all correspondence should be addressed. Telephone: +82-562-279-2274. Fax: +82-562-279-2699. E-mail:
[email protected]. S0888-5885(97)00286-8 CCC: $14.00
Figure 1. Illustration of the effect of out-of-phase mode in the UIS policy: (a) single unit; (b) out-of-phase mode.
nating units doing the same job can reduce the LCT from 12 to 6. Researches on these mode changes have been mainly treated in the design field. For the synthesis of a batch process with an out-of-phase mode, Vaselenak et al. (1987) and Fletcher et al. (1991) proposed a MINLP formulation for the optimal retrofit design of the multiproduct batch process. Lee and Lee (1996) suggested and utilized a mode change in the NLP formulation for the improvement of process efficiency in the preliminary design and retrofit. In the scheduling field, an optimal single production case was proposed by Wellons and Reklaitis (1989), where they summarized the relations for schedule generation very well, but their works were more concerned with the batch size and multipurpose process. Though we are to calculate the completion time of a scheduling problem that has a multiunit stage, we cannot use the past suggested algorithms suitable for simple serial batch processes. So, we are going to treat out-of-phase modes from the scheduling point of view with simple representation. To understand the time and stage utilization, we made the system displaying the processing timesGantt Mansshow our suggestion and performance. This paper will approach the scheduling problem by the following procedure: First, a single-product multicampaign case considering the out-of-phase mode will be developed under UIS and NIS policies, and examples are exhibited. Then we expand it to the multiproduct case, and a general form with additional time such as © 1997 American Chemical Society
5322 Ind. Eng. Chem. Res., Vol. 36, No. 12, 1997
setup and cleaning time will be shown. Analysis of our proposals is made finally with conclusion. Completion Time Algorithm The assumptions are as follows: (1) Our target process is a multiproduct batch process, where all products follow the same stages without skipping one. (2) The processing times are given and taken as deterministic, and the number of stages and number of equipments with out-of-phase mode are decided in advance at the design step. We insert an out-of-phase unit in a certain stage if the completion time of that takes longer than that of others. However, extra out-of-phase units are not recommended because additional units may charge large investment cost. Besides processing time, we can think of additional time like setup time and cleaning time. We will show the algorithm with additional time after showing a simple form. We are going to show the completion time algorithm of a single-product batch product first. The single product case was not seriously dealt with in the scheduling researches, but, as Yeh and Reklaitis (1989) showed, it is very clear that the multiproduct case should be initiated from the single-product case study. The main concern of the single-product case is to calculate the completion time of the campaign. The general scheduling policy is governed by the number of intermediate storage tanks (IST) between stages. Characteristics of the products can decide the pattern of IST. We can refer to Kim et al. (1996) for various storage policies. The UIS policy supposes that there are a sufficient number of tanks as needed for the products. So, we can reduce the idle time by holding products in IST. The NIS policy uses no tank, but the unit itself acts as the storage by the time the next stage is ready, and that means the completion time of NIS is expressed by the sum of the processing time and the holding time. Let N denote the number of products to produce, and M, the number of stages for products to go through. G means a prespecified number of campaigns for the single-product case. Product has index i, with campaign g and stage j. The number of out-of-phase units is n(j). So, Cgj is the completion time of stage j in campaign g for the single-product case, but for the multiproduct case, the term becomes Cij. Our research aims to calculate the minimum completion time as an objective function. Makespan is the completion time of the last product produced at the final stage. Then our target is to minimize CGM and CNM. Additional processing time considered here is setup time S(i-1)ij and cleaning time clij. Single-Product UIS Case. A traditional single-unit UIS process is shown in Figure 2. The gth campaign passes through the j - 1 stage and the j stage. At the j stage, the completion time is determined by C(g-1)j and Cg(j-1). If the former is greater than the latter, no IST is required between j - 1 and j. Otherwise, the gth campaign product should hold in IST after C(g-1)j. So, we can make the recurrence relation as
Cgj ) Max[Cg(j-1),C(g-1)j] + tj Cgj is 0 when either j or g is 0.
(1)
Figure 2. Determination of Cij defined in the UIS case.
Figure 3. Process configuration of example 1. Table 1. Data for Example 1 processing time unit 1 unit 2
5 7
processing time unit 3 unit 4
3 6
We can calculate the completion time after a certain campaign with this relation. Example 1 uses this relation recursively. When the j stage is LCT or a longer time stage than any other stages, an additional unit can be inserted at the j stage with an out-of-phase mode. The completion time can be determined as follows. The j - 1 stage finishes the gth campaign, and the gth campaign cannot go to the j stage if the (g - 2)th campaign does not finish its activity at the j stage. If C(j-1)g is bigger than C(g-2)j, C(j-1)g can go to the j stage without being held. Otherwise, the gth campaign has to wait in IST until the jth unit is ready. In this relation, we can find a new recursive formula that can consider the out-of-phase unit at the j stage. If the j stage has two out-of-phase units, the completion time of the j stage is
Cgj ) Max[Cg,j-1,Cg-2, j] + tj
(2)
If we take that N(j) units are at the j stage, we can get
Cgj ) Max[Cg, j-1,Cg-N(j), j] + tj
(3)
The completion time of the units which do not act like the out-of-phase mode is decided by (1). Example 1. We want to produce product A. Product A has to be manufactured with five campaigns under the UIS policy. The process has four stages, and the data of processing time is in Table 1. If we calculate for the single-unit process as shown in Figure 3a, the completion time is 49 from (1). From Table 1, LCT is stage 2. If we add an out-ofphase unit at stage 2, namely, take a process configu-
Ind. Eng. Chem. Res., Vol. 36, No. 12, 1997 5323
Figure 4. Gantt Man displaying UIS schedule of example 1. Table 2. Results of the UIS Completion Time Algorithm mode campaign
(a) single-unit stage
(b) out-of-phase mode (stage 2)
(c) two out-of-phase units mode (stages 2 and 4)
1 2 3 4 5
21 28 35 42 49
21 27 33 39 45
21 26 31 36 41
Table 3. Data for Example 2 processing time unit 1 unit 2
ration like Figure 3b, we can calculate the completion time using (2) at stage 2 and (1) at other stages. The completion time is 45 reduced from 49, because the outof-phase unit at stage 2 debottlenecks the process by alternating the process progress at stage 2. Since stage 4 is the second longest time-consuming stage, if we add another out-of-phase unit at stage 4 as in Figure 3c, we can calculate the completion time with (1) at stages 1 and 3 and (2) at stages 2 and 4. The result is 41, as summarized in Table 2. It shows us that we can reduce makespan by inserting out-of-phase units at LCT or long time-consuming stages, but to insert IST anywhere, at random, is not reasonable since it causes additional investment cost burden. We developed a computer SoftwaresGantt Mansto display the Gantt chart of stage and time horizon. Figure 4 displays case b, two units in stage 2. From Figure 4, vertical lines between stages mean no IST is needed, while slash lines between stages 3 and 4 of 2, 3, 4, and 5 batches represent that the products are stored in IST by the time the next stage 4 is ready. A slash line which does not cross with others means only one IST is required in the whole process. Since the capacity of IST can be calculated with additional design information, from this Gantt Man, we can easily find which batch is at which stage and how long it has to be held in IST. This conception can make us schedule future production plans in advance and check the quality by identifying production time and material information. Single-Product NIS Case. As we already said, the NIS policy means that the material is kept in the equipment itself without using an IST. That is to say, the processing time of the NIS policy is the sum of genuine manufacturing and holding times. In the NIS policy, the more time that can be saved, the sooner the next stage is ready, because out-of-phase units reduce the holding time as in Figure 5. In the NIS case, the following formula was proposed by Ku and Karini (1988).
Cij ) Max[Ci( j-1),C(i-1)( j+1)-tki j] + tki j
Figure 5. An illustration of the effect of out-of-phase mode in NIS policy: (a) single unit and (b) out-of-phase mode.
(3)
5 15
processing time unit 3 unit 4
3 9
Cij is zero if i or j is 0 and j ) M + 1. Kim et al. (1996) corrected the formula as
Cij ) Max[C(i-1)i,C(i-1)(j+1)-tki j] + tki j Cij ) Max[Ci(j-1),C(i-1)(j+1)-tki j] + tki j
j ) 1 (4)
j ) 2 - M (5)
Cij is also zero if i or j is 0 and j ) M + 1. The completion time of the NIS policy considering the out-of-phase mode can be obtained as in the UIS case. To find the recurrence relation, we divide it into three cases. One is the stage just before the out-of-phase unit is used, another is the out-of-phase unit, and the other is other stages without out-of-phase units. If stage j is the former stage of the out-of-phase unit, the process goes on like the UIS policy, so the completion time of the j stage in the g campaign is
Cgj ) Max[Cg(j-1),C(g-1)j] + tj
(6)
If stage j has two out-of-phase units, the completion time can be adjusted as
Cgj ) Max[Cg(j-1),C(g-2)j,C(g-1)(j+1)-tj] + tj
(7a)
and if we expand with N(j) out-of-phase units, the completion time becomes as follows:
Cgj ) Max[Cg(j-1),C(g-n(j))j,C(g-1)(j+1)-tj] + tj (7b) The completion time of other stages without out-ofphase units is
Cgj ) Max[Cg(j-1),C(g-1)(j+1)-tj] + tj
(8)
Example 2. We produce B product under the NIS policy with five campaigns with the data of processing time in Table 3. First, we calculated the completion time in the single-unit process as in Figure 6a. The calculated time with (8) is 92. From Table 3, we can find LCT as stage 2. So, if we insert an out-of-phase unit at stage 2, as in Figure 6b, we use (7) at stage 2 and (8) at other units. The completion time is reduced to only 68. This is a dramatic example of the case obtained by the out-of-phase mode. Time saving will
5324 Ind. Eng. Chem. Res., Vol. 36, No. 12, 1997
Figure 6. Process configuration of example 4. Table 4. Results of the NIS Completion Time Calculation mode campaign
(a) single-unit stage
(b) out-of-phase mode (stage 2)
1 2 3 4 5
32 47 62 77 92
32 41 50 59 68
increase as the campaign proceeds. We think that more time saving can be found in the NIS single-product case than in the UIS case because NIS includes the holding time as processing time. Since alternating out-of-phase units reduces the holding time, we can have an effect of reducing the processing time. The results are listed in Table 4. Multiproduct UIS Case. For the multiproduct case, it is almost the same as in the single-product case, while each campaign of single product has different processing times. In multiproduct scheduling, minimization of completion time can be decided based on the sequence. So, the index g is the same as i for the multiproduct case. As shown in Figure 2, a general process has IST between each stage. Figure 3a shows that the completion time of the j - 1 stage determines that of the j stage without requiring IST. In the other case, Figure 3b indicates that C(i-1)j is a critical factor of the completion time of Cij. So, these two terms decide the completion time of the current i product in the j stage. In the UIS case, the recurrence relation is suggested by Kim et al. (1996)
Figure 7. Determination of Cij defined in the UIS case with outof-phase mode.
Cij ) Max[Ci(j-1),C(i-1)j] + tki j Cij ) Max[Ci(j-1),C(i-1)j+cl(i-1)j+S(i-1)ij] + tki j ki is decided by the sequence, and Cij is 0 if i or j is 0. To consider the out-of-phase mode, take into account of the process diagram of Figure 7, which has two outof-phase units in stage j. Parts a and b of Figure 7 are the Gantt chart of this case. From Figure 7, we can find that C(i-2)j is the deciding factor for the completion time of i product in stage j instead of C(i-1)j. So, the following equation should be used instead of the above relation for stage j with two out-of-phase units as in Figure 7c.
Cij ) Max[Ci(j-1),C(i-2)j] + tki j Cij ) Max[Ci(j-1),C(i-2)j+cl(i-2)j+S(i-2)ij] + tki j
(9) (10)
If we extend the number of out-of-phase units in the process to N(j) at stage j, we can find a generalized recurrence relation considering the out-of-phase mode under the UIS policy as follows:
Cij ) Max[Ci(j-1),C(i-N(j))j] + tki j
(11)
Cij ) Max[Ci(j-1),C(i-N(j))j+cl(i-N(j))j+S(i-N(j))ij] + tki j (12)
Figure 8. Determination of Cij in general out-of-phase mode.
Cij and clij are 0 if i or j is 0 or below 0, and S(i-1)ij is 0 if i - 1 is below 0. We can refer to Figure 8. Once we can decide the recurrence relation, we have to apply this relation to find the optimal production sequence. First, we approach it with a mathematical programming method. Then, an enumerative search
Ind. Eng. Chem. Res., Vol. 36, No. 12, 1997 5325 Table 6. Resultsa of Example 3 UIS Completion Time
completion time optimal sequence no. of variables (binary variables) execution time (s)
(a) single-unit stage
(b) out-of-phase mode (stage 2)
94 1f4f2f3 33 (16)
88 1f2f4f3 33 (16)
0.09
0.54
a
H/W: IBM RS-6000 Model 350 workstation. S/W: GAMS-OSL for MILP.
Figure 9. Gantt Man displaying the UIS schedule of example 3.
each storage policy are needed. They are formulated from the completion times algorithm which was shown in the previous section.
objective function:
Minimize CNM
(Model 1)
(constraints) M
Xij ) 1 ∑ j)1
(13)
N
Xij ) 1 ∑ i)1
(14)
N
Cij - C(i-N(j))j -
∑ tkjXki g 0
(15)
k)1
Figure 10. Gantt Man displaying the NIS schedule of example 4.
Cij - Ci(j-1) -
Table 5. Data for Example 3 processing time product 1
product 2
product 3
product 4
1 2 3 4
9 14 18 6
6 19 12 8
7 20 13 5
13 14 17 9
technique is developed with Gantt Man, which will be dealt with in the next section. MILP Formulation of the UIS Case. The problem of multiproduct batch scheduling is widely solved by a mixed-integer linear programming (MILP) method (Kim et al. (1996)). For the formulation of optimal scheduling of multiproduct problems, binary variables are defined as follows:
{
1: if product i is in position j in the sequence 0: otherwise
Then, the constraints, which mean a position in the sequence must be assigned to only one product, are as follows: M
Xij ) 1 ∑ j)1
(i ) 1, 2, ..., N)
(13)
An ordered product must be processed only once. So, the constraints are constructed as follows: M
Xij ) 1 ∑ i)1
∑ tkjXki g 0
(16)
k)1
stage
Xij )
N
(j ) 1, 2, ..., M)
(14)
Equations 13 and 14 are the constraints that are commonly used in MILP programming. To solve the optimal scheduling under various storage policies, additional constraints which show the characteristics of
The value of Cij is zero when i or j is zero or below zero. Example 3. We are going to produce four different kinds of products under the UIS policy. The process consists of four stages, and the data of processing time at each stage are given in Table 5. First, we begin with the single-unit case. The single-unit process of N(j) of (15) is always 1 for all j in Model 1. Model 1 calculated the completion time (Table 6) of 94 and its optimal sequence is 1 f 4 f 2 f 3. From Table 5, LCT of most products is stage 2. So, if we insert an out-of-phase unit at stage 2, we calculate the completion time using Model 1 by setting N(2) as 2 and other N(j) as 1 for other stage j. We can get it as 88 reduced from 94 for the singleunit process. Its optimal sequence is changed to 1 f 2 f 4 f 3. This can be possible because the out-of-phase unit at stage 2 debottlenecks the process. The result is in Table 6, and Figure 9 shows the Gantt chart of the out-of-phase case. The out-of-phase mode has a great effect if the products have similar processing time patterns. That is, if LCT of all products happens to be the same, we can save a lot of time with the out-of-phase mode. If LCT of products widely differ from each other, we cannot expect a great deal of processing time savings. The outof-phase unit scheduling can be more effective in singleproduct scheduling because all batches have the same LCT, so the time saving effect can be mostly noticeable. In multiproduct scheduling, we can presume it is reasonable to insert out-of-phase units at the stage of LCT of many products. Multiproduct NIS Case. Like the UIS case from single to multiproduct extension, we can extend the single-product NIS case to the multiproduct case. Without redundant explanation, we show the recursive relation. Let j be the former stage of the out-of-phase stage. Since the constraint for the unit holding itself is not
5326 Ind. Eng. Chem. Res., Vol. 36, No. 12, 1997
affected, we only consider the following relation:
Cij ) Max[Ci(j-1),C(i-1)j] + tki j
Table 7. Data for Example 4
(17)
Cij ) Max[Ci(j-1),C(i-1)j+cl(i-1)j+S(i-1)ij] + tki j
and the completion time of other stages without the outof-phase unit can be similar to the past form.
(21)
Cij ) Max[Ci(j-1),C(i-1)(j+1)+cl(i-1)(j+1)+S(i-1)i(j+1)tki j] + tki j (22) We also use MILP methods with the following equations:
objective function:
Minimize CNM
(Model 2)
(constraints) M
Xij ) 1 ∑ j)1
(13)
N
Xij ) 1 ∑ i)1
(14)
If j is the former stage of the out-of-phase unit N
Cij - C(i-1)j -
∑ tkjXki g 0
(23)
k)1 N
Cij - Ci(j-1) -
∑ tkjXki g 0 k)1
(24)
If j is the stage of the out-of-phase unit N
Cij - C(i-N(j))j -
∑ tkjXki g 0
(25)
k)1 N
Cij - Ci(j-1) -
∑ tkjXki g 0
(24)
k)1
Cij - C(i-1)(j+1) g 0
(26)
If j is the latter stage of the out-of-phase unit N
Cij - Ci(j-1) -
∑ tkjXki g 0 k)1
Cij - C(i-1)(j+1) g 0
product 2
product 3
product 4
1 2 3 4
5 7 18 9
7 13 12 5
6 11 15 9
9 10 17 6
Table 8. Resultsa of Example 4 NIS Completion Time
(19)
Cij ) Max[Ci(j-1),C(i-N(j))j,cl(i-N(j))j+S(i-N(j))ij, C(i-1)(j+1)-tkij+cl(i-2)(j+1)+S(i-1)i(j+1)] + tki j (20)
Cij ) Max[Ci(j-1),C(i-1)(j+1)-tki j] + tki j
product 1
(18)
If stage j is the out-of-phase unit with N(j) units, the completion time can be adjusted
Cij ) Max[Ci(j-1),C(i-N(j))j,C(i-1)(j+1)-tki j] + tki j
processing time stage
(24) (26)
The value of Cij is zero when i or j is zero or below zero. Example 4. We are going to produce four products under the NIS policy. The data are in Table 7. In the
completion time optimal sequence no. of variables (binary variables) execution time (s)
(a) single-unit stage
(b) out-of-phase mode (stage 3)
79 1f3f4f2 33 (16)
63 1f3f4f2 33 (16)
0.41
0.43
a
H/W: IBM RS-6000 Model 350 workstation. S/W: GAMS-OSL for MILP.
single-unit process case, the completion time is 79, with the optimal sequence in Table 8. Since we can find stage 3 as LCT for three products, by inserting an outof-phase unit there, we calculated the completion time and optimal sequence with Model 2. The former stage is stage 2, so (23) and (24) are used for stage 2, (24), (25), and (26) are used for stage 3, and (24) and (26) are used for stage 4. The completion time is 63, shortened from the single-unit case, as in the UIS multiproduct example, but the optimal sequence is the same as that in the single-unit case, 1 f 3 f 4 f 2. Gantt chart is shown in Figure 10. We tested other problem cases, and the sequence shows no absolute conformity; that is, the optimal sequence can be changed or not. It can be said to rely on the problem data. Example 5. The multiproduct scheduling case has been approached mainly by being formulated in MINLP (mixed-integer nonlinear programming) as mentioned by Kim et al. (1996). Once the optimal schedule is solved by MINLP, the outcome should be converted to show and display the operating time, but Gantt Man both calculates and displays the process condition at the same time. In order to do this, we use an enumerative search. If we produce N products, N factorial sequences are the candidates even in including additional time. Due to rapid computing powers, we can use this to some extent. We show an example as a realistic case considering setup time and cleaning time. The data for this are in Table 9. Cleaning time and setup time are included. We calculate the completion time as 116, and its optimal sequence is 1 f 3 f 2 f 4. The processing time data in Table 9a show that stage 2 is LCT for three products and the second longest for the other remaining product. By inserting an out-of-phase unit in stage 2, we can find the completion time is reduced to 103. The sequence is changed to 3 f 1 f 2 f 4. The result is shown in Table 10. From the recursive relation and examples, we can say the algorithm considering the out-of-phase mode has the following advantages. The first conspicuous one is that it can reduce the makespan. To debottleneck the LCT stage by other units can shorten the whole production time. The second one is the shortening of the idle time of units. High-technology equipment can be deserted without economic scheduling. The third one is it can increase the stability by spare units. Urgent process breakdown may delay the whole process and cause serious customer dissatisfaction, but we can operate another unit while continuing to repair the damaged
Ind. Eng. Chem. Res., Vol. 36, No. 12, 1997 5327 Table 9. Data for Example 5 (a) Processing Time stage
P1
P2
P3
P4
1 2 3 4
10 20 5 30
15 18 12 10
5 17 9 15
12 17 15 7
(b) Cleaning Time stage
P1
P2
P3
P4
1 2 3 4
2 2 2 3
3 3 3 1
2 4 2 1
2 2 1 4
(c) Setup Time
Figure 11. Storage tank decision algorithms. stage
product seq.
1
2
3
4
0-1 1-2 1-3 1-4 0-2 2-1 2-3 2-4 0-3 3-1 3-2 3-4 0-4 4-1 4-2 4-3
1 2 1 2 2 2 1 1 1 1 3 3 4 3 4 3
1 2 1 1 2 1 2 1 3 2 1 1 1 4 3 3
2 2 2 3 1 3 2 2 2 2 2 2 3 2 2 1
1 1 1 3 3 3 1 1 2 1 2 2 1 2 1 1
Table 10. Resultsa of Example with Additional Time
optimal sequence completion time execution time
single unit
out-of-phase mode (stage 2)
1f3f2f4 116 1.0
3f1f2f4 103 1.2
a
H/W: IBM Pentium-120 personnel computer. S/W: Gantt Man.
one. We can also point out that we can reduce the number of IST by passing directly to the next stage using other units. Sufficient Conditions for Deciding the Necessity of IST. Generally speaking, the completion time is different according to the IST policy. UIS is the shortest and then NIS, FIS, and ZW increase in order. When the process is operated under the UIS policy to produce N products, N - 1 of IST are thought to be located between the stages (Ku and Karimi, 1988), but if we really calculate the completion time, every product does not need IST. In some cases, none of the products need IST, and in those cases this means the completion time of UIS is the same as that of NIS or FIS. It is possible for the UIS policy not to need all N - 1 ISTs. In that case, if we can set the number of IST for UIS as the number of FIS, we can use the advantages of FIS and UIS at the same time. Otherwise, if we want to choose the IST location in the FIS policy, we can rule out the stages which do not need holding time of IST from the UIS calculation time. This selective UIS policy is economic and suitable for needs. Figure 11 shows that the IST policy chooses the transfer algorithm between stages. To easily detect the completion time, we suggest a sufficient condition of calculation time relation. This is not to direct the start time or stop time of each
product, but it can be used as a backward procedure to confirm that calculated time is well designated. So, we call this relation a satisfactory relation. Whether we know the completion time of products and the optimal sequence order or not, we can set the IST policy and the number of IST without displaying the Gantt chart. If we want to know the state of the j stage, what is needed is two terms: C(i-1)j, Ci(j-1). It can be clearly said that the main concern should be the difference of C(i-1)j and Ci(j-1). If the Ci(j-1) is bigger than C(i-1)j, the difference is the idle time of the j stage. In the other case, if Ci(j-1) is bigger than C(i-1)j, the difference accords to the IST holding time - residence time. If the two terms are the same, it can perfectly pass through the j - 1 stage and the j stage. It can be applied to UIS, NIS, and FIS. So, if we formulate these equations, we can use binary variables and constant variables in the following satisfactory relationship.
hi(j-1)j ) |Ci(j-1) - C(i-1)j| ) hYi(j-1)j
(27)
Ci(j-1) - C(i-1)j g 0
then Yi(j-1)j )1
(28)
Ci(j-1) - C(i-1)j < 0
then Yi(j-1)j )0
(29)
N
NISTj-1,j )
∑i Yi(j-1)j
(30)
If hi(j-1)j is less than 0, h is the idle time. If it is greater than 0, h is a holding time between the j - 1 stage and the j stage. The binary variable Yi(j-1)j is to be 1 when Ci(j-1) is greater than C(i-1)j, so IST is used by i product holding. We count the number of binary variables by calculating NISTj-1,j. The variable Yi(j-1)j can be enhanced to count the number of ISTs, which it can simply show that IST is required. We examined example 3 of the multiproduct UIS case. So, five binary variables are used, that is, three are between stages 1 and 2 and two are between stages 2 and 3. But after we insert an out-of-phase unit at stage 2, only three binary variables are found between stages 2 and 3. This tells us that, by using three ISTs, we can have the UIS time saving effect. Conclusion The main object of scheduling and production planning is to find a sequence of tasks that satisfies the objective criterion. The main variety of the scheduling policy results from the existence of IST between stages. In this paper, we suggest a new completion time
5328 Ind. Eng. Chem. Res., Vol. 36, No. 12, 1997
algorithm of single and multiproduct modes under UIS and NIS policies. By considering the out-of-phase mode in the scheduling, we can reduce the makespan and decrease the idle time of the LCT stage. The parallel units can raise the stability of the process. We test four examples to show the calculated values are acceptable, and the Gantt chart confirms it. Our algorithm can consider the out-of-phase effect on scheduling, which is the main contribution of the scheduling field. Acknowledgment This work was supported in part by the Korean Science and Engineering Foundation (Grant No. 960502-08-01-3). Nomenclature bjg:
beginning time of the g campaign at the j stage
Cij:
completion time of the ith product at the j stage for the multiproduct case
Cjg:
completion time of the g campaign at the j stage for the single-product case
hi(j-1)j:
holding time or IST residence time of the i product between the j - 1 stage and the j stage
clij:
cleaning time of the ith product at the j stage for the multiproduct case
S(i-1)ij:
setup time required for product i after i - 1 in the j stage
M:
number of batch stages in the plant
N:
number of products to be produced
N(j):
number of out-of-phase mode units in the j stage
NIST(j-1)j: number of IST between the j - 1 stage and the j stage tij:
processing time of the i product at the j stage
t j:
processing time at the j stage in the singleproduct case
Xij:
binary variable whose value is 1 if the i product is produced at the j stage; otherwise, it is 0
Yi(j-1)j:
binary variable whose value is 1 if the ith product uses IST between the j - 1 stage and the j stage; otherwise, it is 0
Literature Cited Fletcher, R.; Hall, J. A. J.; Johns, W. R. Flexible Retrofit Design of Multiproduct Batch Plants. Comput. Chem. Eng. 1991, 15, 843-852. Kim, M.; Jung, J.-H.; Lee, I.-B. Optimal Scheduling of Multiproduct Batch Processes for Various Intermediate Storage Policies. Ind. Eng. Chem. Res. 1996, 35, 4058-4066. Ku, H.; Karimi, I. Scheduling in Serial Multiproduct Batch Processes with Finite Interstage Storage. Ind. Eng. Chem. Res. 1988, 27, 1840-1848. Ku, H.; Rajagopalan, D.; Karimi, L. Scheduling in Batch Processes. Chem. Eng. Prog. 1987, Aug, 35-45. Lee; H.-K.; Lee, I.-B. A Synthesis of Multiproduct Batch Plants Considering Both In-Phase and Out-of-Phase Modes. Comput. Chem. Eng. 1996, 20, S195-S200. Reklaitis, G. V. Perspectives on scheduling and planning of process operations. Proceedings of 4th the lnternationa1 Symposium on PSE, Montebello, Canada, l991. Vaselenak, J.; Grossmann, I. E.; Westerberg, A. W. Optimal Retrofit Design of Multiproduct Batch Plants. Ind. Eng.Chem. Res. 1987, 26, 718-726. Wellons, M. C.; Reklaitis, G. V. Optimal Schedule Generation for a single-product production linesI. Problem formulation. Comput. Chem. Eng. 1989, 13, 201-212. Yeh, N. C.; Reklaitis, G. V. Synthesis and sizing batch/semicontinuous process: single product plants. Comput. Chem. Eng. 1989, 11, 639-634.
Received for review April 17, 1997 Revised manuscript received September 26, 1997 Accepted September 26, 1997X IE970286P X Abstract published in Advance ACS Abstracts, November 1, 1997.