Ind. Eng. Chem. Res. 2010, 49, 633–647
633
An Analysis of Some Unit-Specific Event-Based Models for the Short-Term Scheduling of Noncontinuous Processes Jie Li,† Naresh Susarla,† I. A. Karimi,*,† Munawar A. Shaik,‡ and Christodoulos A. Floudas§ Department of Chemical and Biomolecular Engineering, UniVersity of Singapore, 4 Engineering DriVe 4, Singapore 117576, Department of Chemical Engineering, Indian Institute of Technology, Hauz Khas, New Delhi, 110016, India, and Department of Chemical Engineering, Princeton UniVersity, Princeton, New Jersey 08544
Several event-based formulations for scheduling noncontinuous processes have been reported in the past decade. In fact, some unit-specific event-based models have proved more efficient than other models on several literature problems. Recently, Janak and Floudas [Comput. Chem. Eng. 2008, 32 (4-5), 913-955] and Shaik and Floudas [Ind. Eng. Chem. Res. 2009, 48 (6), 2947-2964] have shown that, without allowing tasks to occur over multiple events, some unit-specific event-based models may lead to suboptimal solutions. In this work, we present five examples, involving batch and semicontinuous processes, to study the performance of some recent variants of unit-specific event-based models. The first two examples involve batch plants with finite storage as a shared resource for which a recent unit-specific event-based model [Shaik, M. A.; Floudas, C. A. Comput. Chem. Eng. 2008, 32 (1-2), 260-274] gives trivial or suboptimal solutions, depending on the example and data. Our analysis confirms that assuming a single event point for each task is one cause for the observed performance. When the tasks are allowed to span multiple events using the recent unified model of Shaik and Floudas [Ind. Eng. Chem. Res. 2009, 48 (6), 2947-2964], the issue is resolved. Three more examples involving semicontinuous processes are considered, the solutions of which explore the limitations of a recent unit-specific event-based model [Shaik, M. A.; Floudas, C. A. Ind. Eng. Chem. Res. 2007, 46 (6), 1764-1779]. In addition, the task sequencing constraints in the later model may require further study to ensure generality. The five examples presented in this work can serve as test problems for future scheduling models. 1. Introduction The short-term scheduling of noncontinuous (batch/semicontinuous) plants has received considerable attention1-3 in the last three decades. A variety of discrete-time4-7 and continuoustime formulations has appeared in the literature. Figure 1 classifies the three types of continuous-time scheduling models. The slot-based models8-20 model time by means of ordered slots of nonuniform unknown lengths to which batches, tasks, or activities are assigned. The literature has used two slot types. If a single common or shared set of slots is used for all units in the process, then such slots have been called synchronous13 or process slots.16 Such a slot design enables a straightforward treatment of shared resources such as storage, utilities, etc., as the relative timings of operations on all units are known with certainty. If an independent or separate set of slots is used for each unit in the process, then such slots have been called asynchronous13 or unit slots.16 Their asynchronous nature makes it hard to know the relative timings of activities on various units for accurately monitoring the resource levels. Lim and Karimi13 used binary variables to infer the relative times at which a resource is consumed or produced. Thus, unit slots have generally not been used for handling shared resources; however, there has been some recent progress in that direction.21-23 The unit-specific event-based models24-39 “introduce an original concept of event points, which are a sequence representing the beginning of a task or utilization of the unit. The locations of event points are different for different units, * To whom correspondence should be addressed. Tel.: +6565166359. Fax: +65 6779-1936. E-mail: cheiak@nus.edu.sg. † Department of Chemical and Biomolecular Engineering, University of Singapore. ‡ Department of Chemical Engineering, Indian Institute of Technology. § Department of Chemical Engineering, Princeton University.
allowing different tasks to start at different moments in different units for the same event point”.1 Although the two approaches using unit-specific events or unit-slots are analogous, the noteworthy contribution of unit-specific event-based models is in handling shared resources without using any additional binary variables. The global event-based models40-42 use one single set of event points and times for all units in a process. These are analogous to the models using process slots. The sequence-based models3,43-51 use direct (immediate) or indirect (general) sequencing (precedence) of task pairs on units to define a schedule. They do not model time explicitly in terms of slots or event points. While this eliminates the need to postulate the numbers of slots or event points a priori, they must postulate the number of tasks a priori. The work on these models is limited, and they do have the same difficulty in monitoring resource levels as the models that use unit-specific event points or unit slots do. The partially independent and asynchronous locations of event points on different units and one event point per task enable some unit-specific event-based models36-38 to use fewer eventpoints (thus binary variables) than the process slots or global event-based models. The models using process slots or global event points require equivalent numbers of slots and event points (thus binary variables), respectively. As model solution times generally grow exponentially with the number of slots or event points, some unit-specific event-based models have proved much faster36-38 than other models. Recently, Shaik and Floudas39 demonstrated that, with tasks also spreading over multiple events, their unit-specific event-based model performs better than the process slots or global-event based models for several examples.
10.1021/ie801879n 2010 American Chemical Society Published on Web 05/01/2009
634
Ind. Eng. Chem. Res., Vol. 49, No. 2, 2010
Figure 1. Classification of continuous-time scheduling models.
Since their introduction by Ierapetritou and Floudas24,25 and Ierapetritou et al.,26 the unit-specific event-based models or their variants have been used to solve a variety of problems27-39 in process operations. A key feature of these models is that the resource balance is done over event points with no unique time values. When the time instances linked to a given event point vary from unit to unit, such a balance in the domain of event points rather than time may lead to discrepancy in resource balance, as shown in the literature.35-37,39 As discussed by Shaik and Floudas,37,39 both the original model of Ierapetritou and Floudas24 and their improved model as given by Shaik et al.38 are not applicable for short-term scheduling of batch plants with finite intermediate storage and may yield real-time storage violations. To prevent this, either these models37,39 use additional task sequencing constraints to align the event timings across different units or consider storage as a separate task, as done by Lin and Floudas.28 While these constraints have correctly solved several literature problems, Janak et al.34 introduced an additional construct of storage tasks to guarantee that they work correctly, irrespective of scenario, example, or data. This was a significant departure from other models24-28,37,38 in that the additional storage tasks map the various storage and processing tasks on to a single time line and a task may span multiple event points. Indeed, Janak and Floudas35 and Shaik and Floudas39 demonstrated that not allowing tasks to span over multiple event points might yield suboptimal solutions in some cases. To reduce the complexity and improve the efficiency of the model of Janak et al.,34 Shaik and Floudas39 proposed a novel unified model that also allows tasks to occur over multiple event points. Their model requires an extra set of iterations that control the number of event points that a task is allowed to span. Shaik and Floudas39 established that both the original model of Ierapetritou and Floudas24 and their improved model as given by Shaik et al.;38 the model of Lin and Floudas28 with storage tasks; and the RTN-based model of Shaik and Floudas37 may give suboptimal solutions in some cases, because they do not allow tasks to occur over multiple events. For short-term scheduling of semicontinuous plants, Shaik and Floudas36 presented an improved model, compared to that of Ierapetritou and Floudas,25 that performed better than the other models considered in their study. In this work, we present and analyze five examples that involve batch and semicontinuous processes to study the performance of some recent variants of unit-specific event-based models. The first two examples involve batch plants with finite storage for some intermediates. Both the original model of Ierapetritou and Floudas24 and their improved model as given by Shaik et al.38 are not applicable for finite storage cases, unless storage is considered as a separate task, as reported in the
literature.34,37,39 However, these models24,38 have been shown39 to yield suboptimal solutions for some unlimited storage cases also, because of tasks that occur over single events. Therefore, in this study, the RTN-based model of Shaik and Floudas37 is used to solve the first two examples for which it gives either trivial or suboptimal solutions, depending on the example and data. This behavior is not unexpected, because, here, finite storage acts as a shared resource, and it has been shown in the literature35,39 that tasks should be allowed to span over multiple events to avoid discrepancies when there are shared resources. More importantly, we show that the recent model of Shaik and Floudas39 indeed addresses these shortcomings and successfully solves these two examples on multipurpose batch plants. Three more examples that involve semicontinuous processes are considered, the solutions of which explore the limitations of the unit-specific event-based model of Shaik and Floudas.36 Again, more importantly, we show in this study that a variation of the model of Shaik and Floudas36 indeed addresses these shortcomings and successfully solves the remaining three examples on semicontinuous plants. 2. Models and Implementations For this study, we used CPLEX 10.0.1/GAMS22.2 on a Dell Precision PWS690 workstation with Intel Xeon 3 GHz CPU, 16 GB RAM, and Windows XP Professional x64 Edition operating system. We implemented the models of Shaik and Floudas36,37 on this computing platform. Appendix B,37 as well as Appendices C-E,36 given at the end of this paper, list all the equations that we used in our implementations. To validate our implementations, we solved the following literature examples and confirmed that their solutions match those given by the unit-specific event-based models in the literature: (1) Example 1 of Sundaramoorthy and Karimi15 (2) Scheduling example from Kondili et al.4 (3) Example 3 of Sundaramoorthy and Karimi15 (4) Fast Moving Consumer Goods (FMCG) case study under scenarios (a-f) as used by various researchers: (a) unlimited intermediate storage (UIS),25,40,30,36,45 (b) no intermediate storage (NIS),39,36 (c) flexible finite intermediate storage (FFIS) with a maximum demand limit,30,36 (d) FFIS without a maximum demand limit,30,36,40,45 (e) restricted finite intermediate storage (RFIS) with a maximum demand limit36 and (f) RFIS without a maximum demand limit.30,36 The model statistics (optimal objective value, binary/continuous variables, constraints, etc.) in our implementations match those reported in the literature by various unit-specific event-
Ind. Eng. Chem. Res., Vol. 49, No. 2, 2010
635
Figure 2. State-task network for Example 1. Table 1. Data for Example 1a Batch Size (kg) task/unit task 1/Heater task 2/Reactor-1 task 3/Reactor-2 task 4/Separator intermediate storage tank S2 intermediate storage tank S3 a
scenario A scenario B max duration (h) (fixed) (variable, max) capacity (kg) 1 3 1 2
10 4 2 10
10 4 2 10 6 4
Scheduling horizon ) 6 h.
based models. This gives further support to the validity and accuracy of our implementations. We now present the five test examples and discuss them in detail one by one. For each example, we report the solution obtained from our implementation of an appropriate unit-specific event-based model, and another from a new model by Susarla et al.22 that uses unit slots. The latter can also be obtained manually or by using a scheduling model that uses global event points42 or process slots.15 For the first two examples on batch plants, we show how the optimal solutions can be obtained using the unified model of Shaik and Floudas.39 For the remaining three examples on continuous plants, we present corrected solutions using a variation of the model of Shaik and Floudas.36
Figure 3. Optimal schedule for Example 1 obtained from Susarla et al.22
3. Example 1 The first example (represented by Figure 2) is a modification of the motivating example of Maravelias and Grossmann.42 The modification is that the storage capacities of tanks S2 and S3 (holding hA and IB, respectively) are 6 kg and 4 kg, instead of unlimited. Table 1 gives all the data. The scheduling objective is maximum profit over a horizon of 6 h, which is equivalent to maximum production for this example. We consider two scenarios. Scenario A assumes fixed batch sizes of 10 kg for H (Heater), 4 kg for R1 (Reactor-1), 2 kg for R2 (Reactor-2), and 10 kg for C (Separator). Scenario B allows the flexibility of using any batch size smaller than that assumed in scenario A. For scenario A, the model of Shaik and Floudas37 (see Appendix A) yields a trivial schedule with zero production. This is irrespective of the number of event points. Although this model indicates that no production is possible in 6 h, a feasible schedule (described in Figure 3) with a production of 10 kg, in fact, does exist. In this schedule, H produces a batch of 10 kg at 1 h. From this, 4 kg goes to S2, 4 kg goes (directly) to R1, and 2 kg goes to R2. Both R1 and R2 begin a batch at 1 h. At 3 h, R2 finishes two batches of 2 kg each, so S3 holds 4 kg of IB. At 4 h, R1 finishes its first batch of 4 kg and R2 finishes its third batch of 2 kg. This 6 kg, along with the 4 kg from S3, enable a batch of 10 kg for the separator, which ends at 6 h. Figure 4 presents the inventory profiles of s2 and s3 for the schedule in Figure 3. The holdups of s2 and s3 always respect their storage capacities of 6 and 4 kg, respectively, at all times during the scheduling horizon. Thus, the schedule in Figure 3 is feasible and produces 10 kg of product.
Figure 4. Inventory profiles of s2 and s3 for the schedule shown in Figure 3.
To analyze why some unit-specific event-based models fail to generate the above schedule, we recall three critical features or constraints: (1) Each task is associated with only one event point. In other words, a task that starts at an event point also ends at the same event point. Of course, its actual start and end times will be different. (2) The resource balance is ST(s, n) ) ST(s, n - 1) +
∑
F(s, i)
i∈Fsi>0
∑
F(s, i)
i∈Fsi 1
(2)
i∈Ir
Note that eq 1 is taken from the state-task network model of Shaik et al.38 and eq 2 is taken from the resource-task network
636
Ind. Eng. Chem. Res., Vol. 49, No. 2, 2010
Figure 5. Optimal schedule for the motivating example of Maravelias and Grossmann41 from the model of Shaik and Floudas.37
Figure 6. Schedule for scenario B of Example 1 from Shaik and Floudas.37
model of Shaik and Floudas.37 These two mass balance equations can be represented by the following equation: level(n) ) level(n - 1) + resource generation(n - 1) consumption(n) (3) where n denotes an event point. (3) The term level(n) of each resource must satisfy the specified upper/lower limits on its capacity. For a shared resource such as the storage of a material, the material inventory at each event point must be within zero and the storage capacity. With these three features in mind, let us now analyze the solution for this example. The heater begins a batch of 10 kg at n ) 1 (or n1) and produces 10 kg of hA at n1. Since S2(n1) ) 0, R1 and R2 cannot start a batch at n1. Since H produces 10 kg at n1 and S2(n2) cannot exceed 6 kg, R1 must begin a batch at n2, because the batch size on R2 is only 2 kg. The batch from R1 makes S3(n3) ) 4 kg, which is the maximum capacity of S3. Since the separator requires 10 kg to begin a batch, it cannot begin a batch at n3. However, the fact that S3 is full at n3 means that R2 cannot begin a batch, even at n2. For the same reason, R1 cannot also begin another batch at n3. Furthermore, such a batch would not finish by 6 h. Thus, there is no recourse. Since S3 is full, R1 cannot begin another batch and R2 cannot begin any batch. On the other hand, since S3 does not have 10 kg, the separator cannot begin a batch. Thus, irrespective of the number of event points, the model cannot yield any schedule other than the trivial schedule with zero production. This shows that the model (see Figure 5) successfully solves the original motivating example of Maravelias and Grossmann,42 but may lead to suboptimal or trivial solutions, when the example data change. For scenario B with variable batch sizes, the model of Shaik and Floudas37 yields the schedule shown in Figure 6 with a production of 8 kg. This is suboptimal, because a better schedule that produces 10 kg exists (see Figure 3). In Figure 6, H begins a batch of 8 kg at n1 and produces 8 kg of hA at n1. S2(n1) ) 0 prevents R1 and R2 from starting a batch at n1. If both R1 and R2 begin a batch at n2, then the separator must begin a batch of at least 2 kg at n3 to avoid the overflow in S3. This batch would end at 6 h, and we will have an inferior solution of, at most, 6 kg. Therefore, the optimizer begins a batch of 2 kg on R2 at n2 and S3(n3) ) 2 kg. It would be useless for the separator to begin a batch of 2 kg at n3, so it must wait. Now, both R1 and R2 can begin a batch at n3. This would produce 6 kg of IB at n3 and with the 2 kg from S3, the separator can begin a batch of 8 kg at n4. Hence, the schedule in Figure 6 produces 8 kg with inventory profiles of s2 and s3 (see Figure 7).
Figure 7. Inventory profiles of s2 and s3 for the schedule shown in Figure 6.
Now, let us see why the Shaik and Floudas37 model cannot generate a better schedule than that shown in Figure 3. Suppose that H begins a batch of 8 + δ kg (0 < δ e 2) at n1. The models have three options. The first is to start a batch on both R1 and R2 at n2. As seen earlier, this cannot give a solution better than 6 kg. The second is to begin a batch only on R2 at n2, but this makes S1 overflow at n2. Therefore, the last option is to begin a batch of at least 2 + δ kg and, at most, 4 kg on R1 at n2. Having done this, R1 cannot begin another batch at n3, because that would go beyond the horizon of 6 h. Furthermore, R2 can begin a batch of at most 2 kg at n3 or any later event point. This would force the separator to begin a batch at the next event point. The size of such a batch cannot exceed 4 + δ kg, and another batch on the separator would be impossible within the 6-h horizon. Therefore, if the heater processes 8 + δ kg, a solution with more than 6 kg of production is impossible. Thus, the schedule presented in Figure 6 is the best that this model can give. Let us contrast our analysis for this example with that of Maravelias and Grossmann.42 Recall that the data are different from those used by Maravelias and Grossmann.42 Maravelias and Grossmann42 assumed the first task (heating) to start at an arbitrary event point k. Then, they argued that the second task (reaction) must begin at the next event point (k + 1) in both R1 and R2 simultaneously. They saw this as necessary to satisfy the mass balance equation. However, they did not allow the possibility that the second task could start at any subsequent event point (e.g., k + 2, or later). Their assumption that the second task must begin at event point (k + 1) resulted in a mass balance error later in the schedule. The example itself with the original data of Maravelias and Grossmann42 shows no error.
Ind. Eng. Chem. Res., Vol. 49, No. 2, 2010
637
Figure 8. State-task network for Example 2. Table 2. Data for Example 2a Batch Size (mu) task/unit task task task task task T1 T2 a
1/Mixer 2/Reactor-A 3/Reactor-B 4/Reactor-C 5/Separator
scenario A scenario B max duration (h) (fixed) (variable, max) capacity (mu) 1.5 4.5 1.5 1.5 3
150 60 30 30 150
150 60 30 30 150 60 60
Scheduling horizon ) 9 h.
Janak et al.34 confirmed this by solving the same example successfully, using the Lin and Floudas28 model by considering storage as a separate task, and we have also done the same (see Figure 5) using the model of Shaik and Floudas.37 In contrast, by modifying the example data, we have shown that some unitspecific event-based models may fail to give the optimal solution without any obvious mass balance error due to tasks occurring over single events.
Figure 9. Feasible schedule for scenario A of Example 2 obtained from Susarla et al.22
4. Example 2 This example (see Figure 8) involves five tasks, five processing units (Mixer, Reactor-A, Reactor-B, Reactor-C, Separator), two buffer tanks (T1 and T2), and seven materials (s1-s7). T1 and T2 store s4 and s5, with a capacity of 60 mass units (mu) each. The scheduling horizon is 9 h. Again, we consider two scenarios: scenario A with fixed batch sizes, and B with variable batch sizes. Table 2 gives all the data for this example. For scenario A, the model of Shaik and Floudas37 yields the trivial solution with zero production, irrespective of the number of event points. In contrast, the feasible schedule in Figure 9 produces 150 mu. Figure 10 gives the inventory profiles of s4 and s5 for this schedule. An explanation for this behavior is similar to that given for Example 1. The capacities of T1 and T2 prevent any production in this model. For scenario B, the model37 yields the schedule shown in Figure 11 with 180 mu of production. Figure 12 gives the corresponding inventory profiles of s4 and s5. This schedule is suboptimal, because the schedule in Figure 13 produces 210 mu. More importantly, the latter is feasible, because the inventories of s4 and s5 (Figure 14) satisfy their storage limits (60 mu for s4 and 60 mu for s5). As shown in Example 1, the model37 does not use the shared resources efficiently and leads to suboptimal solutions. In this case, a production of >180 mu is not achievable, because the batch sizes are
Figure 10. Inventory profiles of s4 and s5 for the schedule shown in Figure 9.
unnecessarily restricted by the storage capacity constraints as in Example 1. Examples 1 and 2 showed that the unit-specific event-based models that do not allow tasks to span over multiple events need refinement. Now, we show that the recent improved model of Shaik and Floudas39 indeed addresses the possible concerns and solves both the examples successfully. Optimal solutions can also be obtained using other unit-specific eventbased models34,35 that allow tasks to span over multiple events.
638
Ind. Eng. Chem. Res., Vol. 49, No. 2, 2010
Figure 11. Schedule for scenario B of Example 2 from Shaik and Floudas.37
Figure 14. Inventory profiles of s4 and s5 for the schedule in Figure 13.
Figure 15. Schedule for scenario A of Example 1 from Shaik and Floudas.39
Figure 12. Inventory profiles of s4 and s5 for the schedule shown in Figure 11.
Figure 13. Feasible schedule for scenario B of Example 2 obtained from Susarla et al.22
5. Optimal Solutions for Examples 1 and 2 Using the Unified Model of Shaik and Floudas39 Shaik and Floudas39 showed with an example that (especially) when there are shared resources, such as utilities or even when there are no shared resources, it is a general requirement for all the unit-specific event-based (or unit-slot based) models, including the model of Ierapetritou and Floudas,24 its improved version as presented in Shaik et al.,38 and the RTN-based model of Shaik and Floudas,37 to allow tasks to span over multiple events to obtain optimal solutions. Otherwise, these models that allow tasks to occur over only a single event may yield suboptimal solutions. Janak and Floudas35 also had demonstrated this
Figure 16. Schedule for scenario B of Example 1 from Shaik and Floudas.39
limitation. The first two examples on batch plants presented in this study fall under this category. Although there are no explicit resources, such as utilities, the finite intermediate storage in these two examples clearly acts as a shared resource over the parallel units. We now present the solutions to these two examples using the model of Shaik and Floudas.39 Since both examples of batch plants involve dedicated finite intermediate storage, the first option is to consider the additional sequencing constraints given by Shaik and Floudas37,39 to handle finite storage, although a more general approach would be to consider storage tasks explicitly. Shaik and Floudas39 used an additional parameter, ∆n, to control the number of events over which a task is allowed to span. This parameter also leads to compact problem size. 5.1. Example 1. For scenario A (fixed capacity), the unified model39 finds the optimal solution successfully with a production of 10 kg using five events and ∆n ) 2. The optimal schedule is given in Figure 15. For lower values of ∆n, the model yields trivial solution with no production, which also confirms that we must allow tasks to span at least two events to obtain the optimal solution. In the optimal schedule of Figure 15, we can see that the task in Reactor-1 starts at event ‘”n2” and ends at event “n4”, because of limited storage. For scenario B (variable capacity), the unified model39 finds the optimal solution successfully with a production of 10 kg using five events and ∆n ) 1. The optimal schedule is given in Figure 16. For ∆n ) 0 (meaning that tasks occur over single event), the model yields a suboptimal schedule with a production of only 8 kg, which confirms the earlier results using Shaik and Floudas37 that had this limitation. In the optimal schedule
Ind. Eng. Chem. Res., Vol. 49, No. 2, 2010
639
Figure 17. Schedule for scenario A of Example 2 from Shaik and Floudas.39
Figure 18. Schedule for scenario B of Example 2 from Shaik and Floudas.39
of Figure 16, we can see that the task in Reactor-1 starts at event “n3” and ends at event “n4”, because of limited storage. 5.2. Example 2. Similar to Example 1, this example also involves finite storage that leads to a shared resource over the parallel units. For scenario A (fixed capacity), the unified model39 finds the optimal solution successfully with a production of 150 mu using four events and ∆n ) 1. The optimal schedule is given in Figure 17, where it can be seen that the task in Reactor-A starts at event “n2” and ends at event “n3”. For ∆n ) 0, the model yields a trivial schedule with no production, which confirms the earlier results using Shaik and Floudas.37 For scenario B (variable capacity), the unified model39 finds the optimal solution successfully with a production of 210 mu using five events and ∆n ) 2. The optimal schedule is given in Figure 18, where it can be seen that the task in Reactor-A starts at event “n2”, processing 30 mu, then continues over event “n3”, where the same amount 30 mu is shown, and finally ends at event “n4”. For lower values of ∆n, the model yields a suboptimal solution with a production of 180 mu, which also confirms that we must allow tasks to span at least two events to obtain the optimal solution. In both examples, the inventory levels in both event domains and time domains are found to be within the storage capacity limitations for both the scenarios. Examples 1 and 2 involved batch plants. We now consider three more examples involving semicontinuous processes for which the limitations of the model of Shaik and Floudas36 are explored. These examples are special and smaller versions of the FMCG process studied by Shaik and Floudas.36 6. Example 3 In Figure 19, we consider four raw materials (s1-s4), four mixers (M-101-M-104), three packaging lines (PL-101-PL103), five intermediate materials (s5-s9), and five final products (s10-s14). Thirteen tasks (m1-m13) can be performed on mixers and packaging lines. The storage capacities for s1-s4 and s10-s14 are unlimited, but each intermediate material has a dedicated storage tank (S5-S9) of limited capacity. These capacities are 60 tons for S5, 200 tons for S6, 200 tons for S7, 200 tons for S8, and 200 tons for S9. Table 3 gives all the data for this example. Storage bypassing is allowed. For this example, the model of Shaik and Floudas36 (see Appendix B) gives an optimal solution (described in Figure 20) of $399K with four event points. The solution is the same for more than four event points. Task m1 on M-101 produces s5,
Figure 19. State-task network for Example 3.
while task m7 on PL-102 and task m8 on PL-103 consume s5 to produce s10. However, a detailed examination of this schedule (see Figure 21) reveals that the inventory in S5 is 98.5 tons at 5 h, and exceeds the 60-ton capacity of S5. In other words, the schedule is infeasible. Analyzing the mass balance constraints for this case, which are different from those for a batch process, we find that ST(s, n) ) ST(s, n - 1) +
∑F
ip∈Is
p sipb(ip, n)
+
∑F
ip∈Is
c sipb(ip, n)
∀s ∈ SIN, n ∈ N
(4)
ST(s5, n1) ) ST(s5, 0) + 60 - 0 ) 60 tons ST(s5, n2) ) ST(s5, n1) + 0 - 60 ) 0 tons ST(s5, n3) ) ST(s5, n2) + 38.5 - 0 ) 38.5 tons ST(s5, n4) ) ST(s5, n3) + 0 - 38.5 ) 0 tons Thus, the schedule meets the capacity constraints in the model at all event points, but not at all times. Moreover, the schedule in Figure 20 also satisfies all constraints in Appendix B but is infeasible. Shaik and Floudas36 imposed several constraints to “align” the timings of tasks. For instance, eqs B.11 and B.12 of Appendix B are present to ensure that tasks m7 and m8 are always “aligned” properly with task m1. Similarly, eqs B.14 and B.15 are to ensure that if m7 (or m8) and m1 are active at the same event, then the start and end times of m7 (or m8) and m1 must be identical. However, eqs B.11, B.12, B.14, and B.15 fail to correctly order event points on different units (M-101, PL-102, and PL-103). This is because a task at an event point (for example, n) on one unit may actually start at a time later than the end of another task at event point n + 1 on another unit. This can easily lead to a violation of storage capacity. To illustrate this point, examine the schedule shown in Figure 20. For instance, task m1 at n3 on M-101 ends at 5 h, which is when m8 starts at n2 on PL-103. Note that the same contradiction will occur, even if bypassing is not allowed. In other words, the model (Appendix D) of Shaik and Floudas36 for dedicated finite intermediate storage without bypassing may also suffer from the possible violation of storage capacity in some examples. Note that this possible violation is valid for their
640
Ind. Eng. Chem. Res., Vol. 49, No. 2, 2010
Table 3. Data for Example 3a
task, ip m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 a
max initial max Demand (ton) processing processing total clean-up amount capacity price processing changeover min cl unit, Jp rate (ton/h) time, τj (h) state (s) (ton) (ton) min max ($ ×103/ton) changeover, i′ f i unit, Jp time, ti′i (h) M-101 M-101 M-102 M-103 M-104 PL-101 PL-102 PL-103 PL-101 PL-103 PL-101 PL-102 PL-103
20 20 20 20 20 6 5.5 10 10 4 6 6 5
0 0 0 0 0 0 0 0 0 0 0 0 0
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14
+∞ +∞ +∞ +∞ 0 0 0 0 0 0 0 0 0 0
60 200 200 200 200 40 48 12 30 20
270 300 140 30 20
2 2 1 1 1
m2 f m1 m6 f m9 m9 f m6 m9 f m11 m6 f m11 m11 f m9 m7 f m12 m8 f m10 m8 f m13 m10 f m13 m13 f m8 m13 f m10
M-101 PL-101 PL-101 PL-101 PL-101 PL-101 PL-102 PL-103 PL-103 PL-103 PL-103 PL-103
4 3 6 6 6 3 6 6 6 6 2 2
Scheduling horizon ) 12 h.
Figure 20. Optimal schedule for Example 3 from Shaik and Floudas.36
Figure 21. Inventory profile of s5 in storage tank S5 for the schedule shown in Figure 20.
model36 with dedicated finite intermediate storage only and when storage is not treated as a separate task. 7. Example 4 In this example (Figure 22), we consider one raw material (s1), one mixer (M-101), three packaging lines (PL-101 to PL103), two intermediates (s2 and s3), and five final products (s4-s8). Ten tasks (m1-m10) can be performed on the mixer, storage tanks, and packaging lines. Two flexible storage tanks (ST-101 and ST-102) are available with a maximum capacity of 40 tons for each. ST-101 can store s2 and s3, while ST-102 can hold only s3. In contrast to Example 3, storage bypassing is not allowed. Table 4 lists all the data. The model of Shaik and Floudas36 (Appendix C) is unable to give a feasible solution for this example, even if we allow as many as 15 event points. However, a feasible solution does exist (Figure 23). The reason for this is as follows. From Figure 22, s2 is stored in ST-101 only and is used to produce s4 on PL-
Figure 22. State-task network for Example 4.
101 and s5 on PL-102. The minimum demands of both s4 and s5 are 100 tons. Thus, at least 200 tons of s2 are needed during the scheduling horizon to get a feasible solution. Similarly, the minimum amount of s3 needed is 50 tons, because of the minimum demands of s6, s7, and s8. Since the maximum processing rate of M-101 for both m1 and m2 is 10 ton/h, M-101 needs at least 20 h for 200 tons of s2 and 5 h for 50 tons of s3. Because the scheduling horizon is 30 h, we have two scenarios for performing m1 and m2 on M-101: (i) M-101 performs m2 first, then m1, or (ii) M-101 performs m1 first, and then m2. Now, let us examine the first scenario (first m2, and then m1 on M-101). Recall that the changeover time for switching from m2 to m1 on M-101 is 5 h. Thus, M-101 performs m2 during [0, 5] h, then changes to m1 during [5, 10] h, and performs m1 during [10, 30] h. Since the maximum consumption rate (when PL-101 and PL-102 process simultaneously) of s2 is 8 ton/h, it is impossible for PL-101 and PL-102 to consume 200 tons of s2 during [10, 30] h. In other words, the minimum demands of s4 and s5 cannot be satisfied. Thus, M-101 must produce 200 tons of s2 first, and then 50 tons of s3. On the other hand, PL-101 and PL-102, working together, need 25 h to consume 200 tons of s2. Since m10 can be done by PL-103 only, PL-103 needs 10 h to produce 10 tons of s8. During this 10 h, PL-101 and PL-102 can produce 20 tons of s6 and 20 tons of s7. However, the makespan is 35 h (25 h for PL-101 and PL-102 + 10 h for PL-103). This is beyond the scheduling horizon of 30 h. Therefore, it is not difficult to conclude that PL-101 and PL-102 must process 160 tons of s2 to produce 80 tons of s4 and 80 tons of s5 without break during [0, 20] h. Then, PL-103 must process 10 tons of s3 to produce
Ind. Eng. Chem. Res., Vol. 49, No. 2, 2010 Table 4. Data for Example 4
task, ip
max initial max Demand (ton) processing processing total clean up amount capacity price processing changeover min unit, Jp rate (ton/h) time, τj (h) state (s) (ton) (ton) min max ($ ×103/ton) changeover, i′ f i unit, Jp time, ti′icl (h)
m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 a
641
a
M-101 M-101 ST-101 ST-101 ST-102 PL-101 PL-102 PL-101 PL-102 PL-103
10 10
0 0
4 4 4 4 1
s1 s2 s3 s4 s5 s6 s7 s8
0 0 0 0 0
+∞ 0 0 0 0 0 0 0
40 40 40
(m2 f m1) (m8 f m6) (m9 f m7) 100 100 20 20 10
M-101 PL-101 PL-102
5 5 5
1 1 1 1 1
Scheduling horizon ) 30 h.
Figure 23. Feasible schedule for Example 4.
10 tons of s8 without break during [20, 30] h. During [20, 30] h, PL-101 and PL-102 must process 40 tons of s2 and 40 tons of s3 to produce 20 tons each of s4, s5, s6, and s7. Obviously, PL-101 and PL-102 must also process without break during [20, 30] h. Furthermore, it is not possible to produce 160 ton of s2 during [0, 20] h at a single event point due to the following equations (C.15 and C.16 in Appendix C), which demand that the amount produced at each event point cannot exceed the maximum storage capacity.
∑F
ist∈Is
p sistb(ist, n
- 1) +
∑F
ip∈Is
p sipb(ip, n)
e
∑V
ist∈Is
8. Example 5 max ist w(ist, n)
∀s ∈ SFIS, n ∈ N, n > 1 ST0(s) +
∑F
ip∈Is
p sipb(ip, n)
e
(5)
∑V
ist∈Is
of s2, because the production from m1 will exceed the consumption by m6 and m7. This residual amount of s2 will reduce the amount that can be produced at the next event point. This, in turn, will reduce the total amount of s2 production and make it impossible to produce 160 tons within 20 h. (3) If m1, m6, and m7 do not occur at the same event point, then m1 must not be performed for some time, which means 160 tons of s2 cannot be produced within 20 h. Therefore, the model of Shaik and Floudas36 cannot give a feasible solution for any number of event points. We tried 15 event points with no success. Equations 5 and 6 limit the total amount of material entering a storage tank at each event point to be less than the tank’s maximum capacity. They avoid the nonpermissible situations discussed in Appendix C of Shaik and Floudas.36 Clearly, this limitation is not needed, because the production and consumption of a material can happen simultaneously, even if storage bypassing is not allowed. In such a scenario, the production amount can indeed exceed the maximum storage capacity of the receiving tank at an event point. Because eqs 5 and 6 are also used for the dedicated finite intermediate storage case without bypassing storage (see D.1 and D.2 in Appendix D), a similar problem could occur. This shows that the constraints in Shaik and Floudas36 derived from the consideration of special scenarios may limit generality.
max ist w(ist, n)
∀s ∈ SFIS, n ∈ N, n ) 1 (6) Now, we analyze [0, 20] h, during which M-101 processes 160 tons of s2 and PL-101 and PL-102 consume s2 and produce 80 tons each of s4 and s5 without break. Note that this period cannot be represented by a single event point. Because the maximum processing rate of m1 on M-101 exceeds the sum of maximum processing rates of m6 and m7 on PL-101 and PL102, we have the following three scenarios for each event point: (1) If m1, m6, and m7 occur at the same event point (e.g., n), and m6 and m7 consume s2 produced by m1 completely at n, then the end times of m6 and m7 must exceed that of m1. At the next event point (n + 1), m1 must start when m6 and m7 end at n, rather than the time at which m1 ends at n. In other words, m1 is not performed for some time during [0, 20] h. Therefore, 160 tons of s2 cannot be produced within 20 h. (2) If m1, m6, and m7 occur at the same event point (e.g., n) with identical start and end times, then ST-101 must store some
This example (depicted in Figure 24) involves minor modifications of Case A from Shaik and Floudas.36 It has 3 raw materials (s1-s3), 3 mixers (M-101-M-103), 7 intermediates (s4-s10), 4 packaging lines (PL-101-PL-104), 27 processing tasks (m1-m27), and 15 final products (s11-s25). In the original data used by Shaik and Floudas,36 we change the changeover times of different tasks, as shown in Table 5, which gives all the revised data for this example. Unlimited intermediate storage policy is imposed on all storage tanks (S4-S10) and no maximum demand limit is imposed. The model of Shaik and Floudas36 (Appendix E) gives an optimal schedule of 2706.15 with five event points (see Figure 25). However, this schedule is infeasible, because it has zero time for changeover from m15 to m21 on PL-102, while, from Table 5, the required changeover time is 4 h. Let us examine the optimal solution in more detail. Table 6 gives the optimal values for w(i, n) and processing amounts (b(i, n) at event point n). In the optimal solution, m26 occurs at event point n2 on PL-102, between m15 at n1 and m21 at n3, but with zero processing time. In other words, the changeover times are not handled correctly, despite the penalty on the total number of changeovers. We obtain a feasible schedule manually as shown in Figure 26, where all tasks have the required changeover times.
642
Ind. Eng. Chem. Res., Vol. 49, No. 2, 2010
Figure 25. Optimal schedule for Example 5 from Shaik and Floudas.36 Table 6. Optimal Solution of Binary Variables (i.e., w(i,n) ) 1) with Task Amount (i.e., b(i,n)) for Example 5 from Shaik and Floudas36 event point
Figure 24. State-task network for Example 5.
n1
Although the aforementioned discussion was for the case of UIS policy, a similar problem may exist for other intermediate storage policies (such as NIS, DFIS, and FFIS), regardless of storage bypassing. 9. Optimal Solutions for Examples 3-5 In this section, we present ways to obtain the optimal solutions for Examples 3-5 involving semicontinuous processes based on slight modifications to the model of Shaik and Floudas.36 If one analyzes the constraints for handling changeovers in the model of Shaik and Floudas,36 it can be observed that these constraints are dependent on the activation of different tasks in the same unit; in other words, it is dependent on whether the binary variable w(i, n) is 0 or 1. For some trivial instances, when the binary variable is active (i.e., w(i, n) ) 1) but the amount produced is zero (b(i, n) ) 0), resulting in zero processing times, the sequencing constraints may get relaxed, leading to incorrect changeovers. When Example 5 is solved, we observed that this is exactly what happens. For some values of the penalty coefficients of the binary variables, the GAMS
n2 n3 n4 n5
tasks (process amounts) m1 (1413.16), m12 (133.091), m13 (615.997), m14 (535.163), m15 (261.996), m27 (119.591) m2 (22), m10 (306.053), m24 (236.553), m26 (0) m7 (632.352), m21 (42.5), m22 (589.852), m25 (16.5) m4 (47), m5 (152.5), m16 (15), m18 (47), m23 (53), m26 (13.5) m17 (7), m19 (8.5), m20 (144)
solution yields the trivial cases of w(i, n) ) 1 and b(i, n) ) 0. Therefore, the penalties (Ci) in the objective function of Shaik and Floudas36 simply must be tuned, like any other penalties, to avoid these trivial cases of w(i, n) ) 1 and b(i, n) ) 0. With this simple tuning of the penalty coefficients, the model of Shaik and Floudas36 successfully solved Example 5 for unlimited storage case. In the model of Shaik and Floudas,36 for dedicated finite intermediate storage cases, it was mentioned that an alternative option exists to treat storage as a separate task. In fact, our experience shows that it would be more general to consider storage as a separate task, irrespective of whether bypassing of storage is allowed or not, and it would avoid the infeasible or suboptimal solutions that may be obtained otherwise. Therefore, when storage is considered as a separate task, similar to the
Table 5. Data for Example 5a
task, ip
processing unit, Jp
max processing rate (ton/h)
total clean up time, τjmin (h)
m1-m2 m3, m5 m7, m9, m11 m4, m6 m8, m10, m12 m13 m14 m15 m16 m17 m18 m19 m20 m21 m22 m23 m24 m25 m26 m27
M-101 M-102 M-102 M-103 M-103 PL-103 PL-101 PL-102 PL-101 PL-102 PL-103 PL-104 PL-101 PL-102 PL-105 PL-105 PL-104 PL-104 PL-102 PL-104
17 17 12.24 17 12.24 5.5714 5.8333 2.7083 5.8333 2.7083 5.5714 2.241 5.8333 2.7083 5.3571 5.3571 3.3333 2.241 2.7083 3.3333
0 0 0 0 0 1 1 0 1 0 1 2 1 0 0 0 2 2 0 2
a
Scheduling horizon is 120 h.
state (s)
initial amount (ton)
s1-s3 s4-s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25
+∞ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
min demand (ton)
220 251 116 15 7 47 8.5 144 42.5 114.5 53 2.5 16.5 13.5 17.5
price ($ ×103/ton)
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
changeover, i′ f i
processing unit, Jp
changeover time, ti′icl (h)
(m13 f m18) (m18 f m13) (m20 f m14) (m20 f m16) (m21 f m17) (m24 f m19) (m15 f m17) (m27 f m19) (m14 f m20) (m16 f m20) (m17 f m21) (m17 f m15) (m19 f m24) (m19 f m27) (m21 f m15) (m24 f m25) (m25 f m24) (m25 f m27) (m15 f m21) (m27 f m25)
PL-103 PL-103 PL-101 PL-101 PL-102 PL-104 PL-102 PL-104 PL-101 PL-101 PL-102 PL-102 PL-104 PL-104 PL-102 PL-104 PL-104 PL-104 PL-102 PL-104
1 1 1 1 4 2 4 2 1 1 4 4 2 2 4 2 2 2 4 2
Ind. Eng. Chem. Res., Vol. 49, No. 2, 2010
643
Figure 28. Optimal schedule for Example 4, using a variation of Shaik and Floudas36 model.
Figure 26. Feasible schedule for Example 5.
Figure 29. Optimal schedule for Example 5 from Shaik and Floudas36 using better penalties.
Figure 27. Optimal schedule for Example 3 from Shaik and Floudas36 with storage tasks.
case of flexible finite storage, the model of Shaik and Floudas36 successfully solved Example 3. Finally, consider the case when the processing rates of successive stages are different with an intermediate storage tank between these stages. To control inventory levels when the tank simultaneously receives and discharges material at different rates, Shaik and Floudas36 made a practical assumption to not produce more than what can be stored when the storage bypassing is not allowed. If we relax this assumption, then we find that the model of Shaik and Floudas36 also successfully solves Example 4. We now present the optimal solutions obtained for Examples 3-5. 9.1. Example 3. Here, we show that if an explicit storage task is considered for each of the five intermediate states with finite storage requirements, then the model of Shaik and Floudas36 gives the optimal schedule shown in Figure 27, using five events. Again, the penalty coefficients (Ci) in the objective function may need to be tuned to avoid the trivial cases previously discussed. In this schedule, it can be observed that all the storage, material balance, and changeover requirements are met. 9.2. Example 4. When this example is solved by relaxing the practical assumption of the model36 previously discussed for the cases when storage bypassing is not allowed, the optimal schedule shown in Figure 28 was obtained. Here, the production was not constrained to what can be stored, rather only the excess amount beyond the simultaneous addition and removal from the tank was stored. 9.3. Example 5. This example involves unlimited storage, along with sequence-dependent changeovers. In the objective function given by eq E.1, if we use the penalty coefficient values
of C1 ) 1, C2 ) 0, then the profit obtained is 2695.32 for four events and 2706.15 for five events. However, in the solution of both these cases, it was determined that there are trivial cases of w(i, n) ) 1 and b(i, n) ) 0, leading to zero processing times. Therefore, although the changeovers are correctly calculated in the schedule for four events, the schedule using five events does not give correct changeovers. Thus, appropriate tuning of the penalty coefficient values was needed to avoid the trivial cases. It was determined that the profit is 2695.32 for four events using C1 ) 10, C2 ) -1; and the same profit is obtained for five events using C1 ) 1, C2 ) -50. The optimal schedule for five events is shown in Figure 29, where no such trivial cases are found, which leads to correct changeover timings. 10. Conclusion We have presented five examples to analyze the limitations of some unit-specific event-based models36,37 for scheduling multipurpose batch and semicontinuous processes. Our study confirms that, for the first two examples that involve batch plants, one reason for the limitations of these models is the allocation of only one event point for each task, which has also been previously demonstrated by Janak and Floudas35 and Shaik and Floudas.39 Thus, a general scheduling model should allow each task to span multiple event points (or slots).15,34,35,39,42 More importantly, we showed that the recent model of Shaik and Floudas39 indeed addresses the limitations of previous models by allowing a task to span several event points and solves the first two examples on batch plants successfully. The remaining three examples on semicontinuous processes explored the limitations of the model of Shaik and Floudas.36 In addition, the task sequencing constraints in the latter model may require further study to ensure generality. We believe that these examples can serve as test problems for future scheduling models. Acknowledgment The authors wish to acknowledge financial support from the National University of Singapore, National Science Foundation, and the Agency for Science And Technology Research (A*Star), under Grant No. 052 116 0074.
644
Ind. Eng. Chem. Res., Vol. 49, No. 2, 2010
Note Added after ASAP Publication: The version of this paper that was published online May 1, 2009 has been revised by the authors to include additional results that have been recently reported by other researchers and these results have been referenced accordingly. This revised version replaces the previously published version and was reposted to the Web December 17, 2009.
∑w
in
∀j, n ∈ N
e1
Rimin (T f(ip, n) - T s(ip, n)) e b(ip, n) e Rimax (T f(ip, n) - T s(ip, n)) p p ∀ip ∈ j, n ∈ N
ST(s, n) ) ST(s, n - 1) +
∑F
ip∈Is
Appendix A: Model of Shaik and Floudas37 for Examples 1 and 2 Equations A.1-A.14 describe the model devised by Shaik and Floudas in 2008 for Examples 1 and 2.37 E(r, n) ) E(r, n - 1) +
∑ (µ w(i, n - 1) + F b(i, n - 1)) + p ri
p ri
c ri
∀r ∈ R, n ∈ N, n > 1
c ri
E(r, n) ) E0(r) +
c ri
c ri
(B.4)
∑F
ST(s, n) ) ST(s, n - 1) +
ip∈Is
(A.2)
∀i ∈ I, n ∈ N
w(i, n)Bmin e b(i, n) e w(i, n)Bmax i i
(A.3)
∀r ∈ R, n ∈ N
Ermin e E(r, n) e Ermax
(A.4)
∑
ip∈Is
Dsmin e
∑ ∑F
n∈N ip∈Is
Fsip pb(ip, n)
ip∈Is
T (i, n) g T (i', n') + s
f
(A.7)
T (i, n + 1) g T (i', n) + Ri'w(i', n) + βi'b(i', n) - H(1 - w(i', n)) s
p ∀r ∈ RS, i ∈ Ir, i' ∈ Ir, i * i', Fri′ > 0, Fric < 0, n ∈ N, n < N (A.8)
T s(i, n) e H
∀i ∈ I, n ∈ N
T s(i, N) + Riw(i, N) + βib(i, N) e H
∑ ∑ R w(i, n) + β b(i, n) e H i
∀i ∈ I ∀r ∈ R
i
(A.9) (A.10) (A.11)
n∈N i∈Ir
s
p ∀r ∈ RFIS, i ∈ Ir, i' ∈ Ir, i * i', Fri′ > 0, Fcri < 0, n ∈ N (A.13)
r
r∈Rs
[
E(r, N) +
]
∑ (µ w(i, N) + F b(i, N)) p ri
i∈Ir
-
∑ ∑
w(i'', n'')
∀j ∈ J, i, i' ∈ Ij, i * i', n, n' ∈ N, n > n'
(B.10)
T s(ip, n) g T s(i'p, n) - H(1 - w(i'p, n)) p ∀s ∈ SIN, ip ∈ Is, i'p ∈ Is, ip * i'p, Fsi' > 0, Fsic p < 0, n ∈ N p
(B.11) T f(ip, n) g T f(i'p, n) - H(1 - w(i'p, n)) p ∀s ∈ SIN, ip ∈ Is, i'p ∈ Is, ip * i'p, Fsi' > 0, Fsic p < 0, n ∈ N p
(B.12)
∑ ∑ (T (i, n) - T (i, n)) e H - τ s
min j
∀j ∈ J
(B.13)
n∈N i∈Ij
p ri
(B.14) Tf(ip, n) e Tf(i'p, n) + H(2 - w(i'p, n) - w(ip, n)) p ∀s ∈ SFIS, ip ∈ Is, i'p ∈ Is, ip * i'p, Fsi' > 0, Fsic p < 0, n ∈ N p
T s(i, n) e T s(i', n) + Ri'w(i', n) + βi'b(i', n) + H(1 - w(i', n))
∑P
(B.9)
p ∀s ∈ SFIS, ip ∈ Is, i'p ∈ Is, ip * i'p, Fsi' > 0, Fsic p < 0, n ∈ N p
p ∀r ∈ RFIS, i ∈ Ir, i' ∈ Ir, i * i', Fri′ > 0, Fcri < 0, n ∈ N, n < N (A.12)
max profit )
(B.8)
T s(ip, n) e T s(i'p, n) + H(2 - w(i'p, n) - w(ip, n))
T (i, n + 1) e T (i', n) + Ri'w(i', n) + βi'b(i', n) + H(2 - w(i', n) - w(i, n + 1)) s
∀ip ∈ Ip, n ∈ N
i''∈Ij n'