Improving the Computational Performance of STN ... - ACS Publications

They are expressed as novel equations in terms of binary variables alone that take advantage of structural characteristic of general STN and RTN formu...
0 downloads 0 Views 4MB Size
Ind. Eng. Chem. Res. 2010, 49, 12477–12495

12477

Improving the Computational Performance of STN/RTN Formulations for Short-Term Scheduling Guillermo A. Durand* and J. Alberto Bandoni Planta Piloto de Ingenierı´a Quı´mica, PLAPIQUI (UNS-CONICET) and Chemical Engineering Department (UniVersidad Nacional del Sur), Camino La Carrindanga, km. 7, 8000 Bahı´a Blanca, Argentina

In this article, we present a series of integer cuts to improve the computational performance of scheduling problems based on either discrete- or continuous-time representation. They are expressed as novel equations in terms of binary variables alone that take advantage of structural characteristic of general STN and RTN formulations. Different fixed pairs of tasks appearing in scheduling problems of continuous and batch-continuous processes are identified, and corresponding integer cuts are developed to improve the solution efficiency of the mathematical formulations. For demonstration purposes, five selected scheduling formulations are modified as proposed in this article and applied to three well-known benchmark problems, and their computational performances are compared against the unmodified formulations. An industrial case study is also used to demonstrate the advantages of using the new equations. This case study corresponds to a sector, the so-called “sugarhouse”, of a beet sugar plant. The scheduling model is presented, and the results are discussed in terms of both the optimal plant schedule and the computational point of view. 1. Introduction Making good decisions daily is one of the greatest challenges for engineers, plant operators, and managers in the process industry. The increasing complexity of industrial systems and the current tendency to consider larger sectors of the entire production system within which those decisions have to be made make this action ever more difficult. A schedule is the sequence and timing in which several different tasks are carried out. The schedule also specifies the units or equipment in which the tasks are performed. Determining the optimal schedule in terms of a given objective function (e.g., production or profit maximization, cost minimization) while at the same time verifying the satisfaction of several constraints (e.g., in available resources) is a well-known problem that is often very difficult to solve, even with substantial computing power. For this reason, a good deal of research has been dedicated to this theme in the past decade, mainly focused on developing new methods of formulating short-term scheduling models to improve computational performance. One of the most popular existing strategies for optimizing scheduling problems in process plants is to consider the operation time horizon as composed of several time periods of equal and fixed length (discrete-time representation) and then to optimally assign operation of units to each period by using binary variables, resulting in a mixed-integer linear programming (MILP) mathematical formulation. This approach was introduced by Kondili et al.,1,2 who also presented the first generic methodological representation of batch processes, the so-called state-task network (STN). This idea was further developed by several authors (e.g., Shah et al.,3 Pantelides4) during the past decade. Pantelides4 developed the alternative representation for scheduling problems called the resource-task network (RTN), where the main concept is the consumption and production of resources, instead of states. The main disadvantage of these discrete-time formulations is the unnecessarily large number of binary and continuous variables needed to realistically represent * To whom correspondence should be addressed. E-mail: gdurand@ plapiqui.edu.ar.

the scheduling horizon of real problems. As a result, efforts have been dedicated to migrating to a continuous-time representation of the time horizon. In this direction, the Pantelides4 formulation was later used by Schilling and Pantelides5 to model the time horizon in a continuous form. Ierapetritou and Floudas6,7 proposed a new STN formulation for the short-term scheduling of continuous/batch plants that was based on the concept of time events, which define the starting and ending of time slots. This last method generates simpler and smaller problems, with fewer binary and continuous variables, requiring a smaller number of constraints and linear relaxations. These improved formulations allow the optimal solution of scheduling problems to be found in a significantly smaller computational time. However, when the number of event-related binary variables exceeds 20 and the quantity of tasks is around 10-20, even this formulation can become computationally expensive. Some works have provided improvements on this issue. Castro, Barbosa-Povoa and Matos8 utilized the RTN representation to create a continuous-time formulation that reduces the number of constraints used to model utilization of resources. Wang and Guignard9 proposed a hybrid technique that simplifies the problem by ignoring the different values of some parameters, quickly bringing a good starting solution for a modular heuristic method. Maravelias and Grossmann10 formulated a new continuous-time STN that eliminates a significant number of continuous variables, thus reducing the size of the problem. Decomposition methods have also been considered to increase the computational performance of short-term scheduling formulations. Basset et al.11 presented a number of decompositionin-time approaches based on a discrete-time formulation. Khmelnitsky et al.12 proposed a time-based decomposition approach to solve large-scale scheduling problems and obtain near-optimal solutions based on the decomposition of the original problem into three subproblems. Gupta and Maranas13 proposed a hierarchical Lagrangean relaxation procedure, along with a heuristic to generate upper bounds, that applies to midterm planning problems. Wu and Ierapetritou14 utilized several decomposition approaches to split the main problem into smaller subproblems and presented an iterative solution framework.

10.1021/ie901093y  2010 American Chemical Society Published on Web 10/29/2010

12478

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

In more recent years, attention has turned toward improving previous formulations,15-21 developing decomposition schemes for medium-term scheduling,22-25 or devising new RTN formulations that account for changeover dependence.26 Also of relevance are the works of Janak and Floudas,20 Shaik and Floudas,27 and Li et al.,28 who showed that not allowing for tasks to last more than one time slot can lead to suboptimal solutions in some unit-specific event-based models. For a more comprehensive review of the research done in short-term scheduling of industrial plants, the authors recommend consulting the works of Floudas and Lin,29 Burkard and Hazl,30 Me´ndez et al.,31 and the comparative study of Shaik et al.32 An aspect that has remained ignored in previous works is the possibility that STN/RTN formulations take advantage of structural characteristics of general product recipes, that is, the sequence the tasks must follow to go from raw materials to final products. The product recipe has typically been modeled with continuous variables, using material balances and/or task timing as constraints. However, there are certain aspects of the product recipes that cannot be properly captured using continuous variables but that can be easily modeled using binary variables, leading to an additional set of pure integer constraints (integer cuts) that improve the tightening of the formulation. In this article, we present the development of two types of integer cuts, equalities and inequalities, that take advantage of structural characteristics of scheduling problems. The equality cuts favor the tightening of the formulation by effectively eliminating degrees of freedom of the binary variables. On the other hand, inequality constraints introduce integer cuts that help the MILP solver to improve the branch-and-bound searching process. This article is structured as follows: In section 2, general aspects of existing STN/RTN formulations are discussed, and integer cuts are proposed that take advantage of structural characteristics to improve the resolution performance. In section 3, these modifications are applied and tested in several STN/ RTN formulations from previous works, and the performances of the original techniques are compared with those of the modified ones. In section 4, a real industrial problem (the production of sugar from beets) is modeled using the proposed modifications to an STN formulation, and the optimal scheduling results are discussed. Finally, in section 5, conclusions and future work are described. 2. Task Coupling: Improvement of STN/RTN Formulations Using Structural Characteristics of Product Recipes In existing STN/RTN formulations, the time horizon of scheduling models based on a continuous representation is divided into a fixed number of periods called time slots. The start and end of each slot are defined by time events. The number of events (N) is a model parameter, and it represents the maximum number (N - 1) of occurrences of a given task within the time horizon. A task is defined as a process action (e.g., mixing, storage, separation, reaction, etc.) that belongs to the product recipe and can take place (occur) or not in a given time slot. The occurrence or not of the task is modeled with a binary variable indexed in events and tasks. The tasks can produce and/or consume one or more states (materials). Each task occurrence has a variable duration that is determined, along with its starting and ending times, using timing, sequencing, and mass balance equations. These equations have the goal of correctly placing the tasks’ occurrences, which have

Figure 1. The four possible configurations for pairs of producing tasks/ consuming tasks.

to be synchronized with the corresponding preceding and following tasks’ occurrences, in order to match what happens in the real world. They are written in terms of continuous variables and, in some cases, also task-occurrence binary variables. In this work, a series of additional equations are proposed. The idea is to identify in the product recipe the existing pairs of producing task(s)/consuming task(s) for each state and model them using pure binary variable equations, that is, integer cuts, to capture the occurrence or not of a given task. These integer cuts allow the elimination of certain variable values of a given pair that cannot possibly take place in a real situation. Correspondingly, certain nodes do not have to be computed by the optimization algorithm, leading to better performance in terms of computing time required to reach an optimal solution. These equations are not a complete STN/RTN modeling technique per se, because they do not code relationships between mass- and resource-associated variables, but rather they constitute a group of integer cuts that can be added to mathematical models created through many current STN/RTN formulations to improve their computational efficiency. In a state-task network representation, the concept of pairs of producing task(s)/consuming task(s) leads to four possible combinations (shown in Figure 1) and two special cases. For the RTN representation, the situation is equivalent when considering only tasks’ interactions with material resources. In the next paragraphs, the proposed integer cuts, which model these configurations using the basis outlined by Jeroslow and Lowe,33 are presented. 2.1. One-to-One Pairs. In the configuration of one-to-one pairs, all of the material that production task i makes is consumed by consumption task i′ in the same slot (or in the next if task i is batch). Then, if task i starts at event n, task i′ must start in the same event (or the next n + 1). Likewise, the contrary is also true: task i′ cannot start at event n if task i has not started in the same event (or the previous n - 1). This is mathematically modeled as Yi,n ) Yi',n ∀n ∈ N

(1)

where Yi,n is the binary variable assigning the starting of task i to event n. If task i is batch, then consuming task i′ must wait for the former to finish; that is, its occurrence will be in the next event, n + 1, and eq 1 must be reformulated as Yi,n ) Yi',n+1 ∀n ∈ N, n * N

(2)

One-to-one pairs can often be encountered in manufacturing plants; for example, the producing task can represent the activity

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

of a heater that feeds a chemical reactor, which represents the consuming task. Another example could be this same reactor (this time acting as the producing task) that feeds a separator (consuming task). Equations 1 and 2, and the following equations up to eq 14, are written considering that each instance of a task lasts only one time slot or period (and, therefore, is associated with one event variable), as in STN formulations like the one from Ierapetritou and Floudas.6,7 For formulations where each task’s instance is described by event starting and ending binary variables, such as in that of Maravelias and Grossmann,10 the production task is represented in eqs 1 and 2 by its event ending binary variable, and the consumption task is represented by its event starting binary variable. The same reasoning is used in the rest of the equations of section 2. The main advantage of modeling pairs of consuming task/ producing task using only binary-variable-based equations is that, for each eq 1 or 2 that is included in the model, one integer degree of freedom is eliminated in the scheduling problem, thus reducing the effective size and quite probably improving the solution performance. Equations 1 and 2 take advantage of the structural characteristics of STN/RTN formulations to code for new information about tasks’ order of precedence directly from the set of binary variables. 2.2. One-to-Many Pairs. As shown in Figure 1b, the material produced by task i can be consumed by one, several, or all tasks i1′, i2′, ..., iK′, belonging to subset IC (the subset of tasks that can consume the intermediate material), during the same time slot starting in event n (or in the next event if task i is batch). However, none of these tasks can be activated at event n if task i does not start at the same event (or a previous one). This can be modeled by the following set of inequalities in terms of binary variables Yi,n e

∑Y

i',n

∀n ∈ N

∑Y

i',n+1

∀n ∈ N, n * N

(5)

i'∈IC

Yi,n g Yi',n+1 ∀i' ∈ IC, n ∈ N, n * N

(6)

It can be expected that, because we are using inequalities to model this kind of pair, they do not provide as much advantage in the solution performance as the equations modeling the oneto-one pairs. Nevertheless, eqs 3-6 reduce the integer part of the search space by eliminating degrees of freedom. Equations 1 and 2 fix the value of one of the involved binary variables in a direct approach. This eliminates two of the possible 22 ) 4 combinations of binary variables, which means that it eliminates 50% of the combinations on each modeled pair. Although eqs 3 and 4, or eqs 5 and 6, also eliminate the same fraction of possible combinations (see Table 1), they accomplish this indirectly by coupling producing and consuming tasks. 2.3. Many-to-One Pairs. For this configuration, if one, several, or all tasks i1, i2, ..., iK, belonging to the subset of tasks that produce an intermediate material, IP, start at event n, then consuming task i′ has to be present at the same time slot (or begin in the next event n + 1 if the production is carried out in batch units), as shown in Figure 1c. Otherwise, if none of the intermediate-producing tasks occurs, then task i′ cannot start at event n (or the next one if production is batch) because there is no material to feed it. This results in the following set of integer cuts Yi,n e Yi',n ∀i ∈ IP, n ∈ N

∑Y

i,n

g Yi',n ∀n ∈ N

(7) (8)

i∈IP

(3)

When tasks i1, i2, ..., iK, are batch, the set of inequalities becomes

(4)

Yi,n e Yi',n+1 ∀i ∈ IP, n ∈ N, n * N

i'∈IC

Yi,n g Yi',n ∀i' ∈ IC, n ∈ N

Yi,n e

12479

The mathematical behavior of this set of integer cuts is described as follows: If producing task i starts at event n, Yi,n will take the value 1. Then, to verify eq 3, at least one of the binary variables of the right-hand side must be 1. This means that the corresponding consuming task will also start at event n. Because eq 3 is an inequality, it does not rule out the possibility that more than one consuming task might start at event n. On the other hand, if the solving algorithm finds that at least one consuming task must begin at event n, then its associated binary variable must be 1, and by eq 4, Yi,n would have to increment its value to match or exceed the right-hand side. The only feasible result is that the right-hand side be 1, which indicates that producing task i starts at event n. If eq 4 were an equality, all of the consuming tasks would have to begin at event n if producing task i also started at that event, and this is not always true in real problems (e.g., for a storage tank that feeds several packing lines, it could happen that the optimal schedule requires that all of the material be sent to only one packing line and that the others be used for different products). Otherwise, modeling eq 4 as an inequality allows either each binary variable associated with consuming tasks (Yi′,n) to take the value of 0, or one or several, but not necessarily all, to be 1. As in the previous configuration, if task i is batch, the consuming task will have to wait to the next event, n + 1, and then the corresponding equations are

∑Y

i,n

g Yi',n+1 ∀n ∈ N, n * N

(9) (10)

i∈IP

The equations of this configuration can be thought of as those from the one-to-many pairs, but seen from the opposite point of view (here, the producing task of one-to-many pairs is the consuming task, and the consuming tasks of the previous configuration are the producing tasks). Consequently, the potential for elimination of combinations of values of binary variables in this configuration is the same as with the one-tomany pairs. 2.4. Many-to-Many Pairs. This type of equation describes the most general case of coupling between producing tasks and consuming tasks. That is, there are multiple tasks that produce the same states, which, in turn, are the feed to multiple tasks. To develop a model for this case following the idea of using pure binary-variable-based equations, we just need to extend the method used for the previous two configurations. Specifically, each producing task is considered as part of a one-tomany pair, and each of the consuming tasks is considered as the consuming task of a many-to-one pair. Following this approach in the context of the STN representation of Figure 1d, if any of the producing tasks i1-iK, belonging to subset IP, begins at event n, then at least one of the consuming tasks i1′-iL′, belonging to subset IC, must also be also active in order to receive the state’s production. Equation 11 models this require-

12480

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

Table 1. Elimination of Combinations of Binary Variables Values in One-to-Many Pairs: Example for One Producing Task and Three Consuming Tasksa

Table 2. Elimination of Combinations of Binary Variables Values in Many-to-Many Pairs: Example for Two Producing Tasks (i1 and i2) and Two Consuming Tasks (i′1 and i′2)a

combination {Yi,n, Yi′1,n, Yi′2,n, Yi′3,n}

eq 3

eq 4a

eq 4b

eq 4c

results

combination {Yi1,n, Yi2,n, Yi′1,n, Yi′2,n}

eq 11a

{0, 0, 0, 0} {1, 0, 0, 0} {0, 1, 0, 0} {1, 1, 0, 0} {0, 0, 1, 0} {1, 0, 1, 0} {0, 1, 1, 0} {1, 1, 1, 0} {0, 0, 0, 1} {1, 0, 0, 1} {0, 1, 0, 1} {1, 1, 0, 1} {0, 0, 1, 1} {1, 0, 1, 1} {0, 1, 1, 1} {1, 1, 1, 1}

T F T T T T T T T T T T T T T T

T T F T T T F T T T F T T T F T

T T T T F T F T T T T T F T F T

T T T T T T T T F T F T F T F T

valid not valid not valid valid not valid valid not valid valid not valid valid not valid valid not valid valid not valid valid

{0, 0, 0, 0} {1, 0, 0, 0} {0, 1, 0, 0} {1, 1, 0, 0} {0, 0, 1, 0} {1, 0, 1, 0} {0, 1, 1, 0} {1, 1, 1, 0} {0, 0, 0, 1} {1, 0, 0, 1} {0, 1, 0, 1} {1, 1, 0, 1} {0, 0, 1, 1} {1, 0, 1, 1} {0, 1, 1, 1} {1, 1, 1, 1}

T F T F T T T T T T T T T T T T

total number of combinations eliminated combinations

42 ) 16 8 (50%)

a

T indicates that the combination complies with the column’s equation (true); F indicates that the combination fails to comply (false).

ment. The expression and mathematical behavior is very similar to those from eq 3 of the one-to-many pairs. Likewise, if any of the consuming tasks of subset IC starts at a given event n, then at least one of the tasks of subset IP must also be active to produce the needed state. This is modeled with eq 12, following the same method as used for eq 11 but with the producing and consuming tasks interchanged Yi,n e

∑Y

∀i ∈ IP, n ∈ N

(11)

g Yi',n ∀i' ∈ IC, n ∈ N

(12)

i',n

i'∈IC

∑Y

i,n

i∈IP

If the producing tasks operate in batch mode, to model the requirement that the consuming task must wait to start until the next event n + 1, eqs 11 and 12 must be reformulated as in eqs 13 and 14, respectively. Yi,n e

∑Y

∀i ∈ IP, n ∈ N, n * N

(13)

g Yi',n+1 ∀i' ∈ IC, n ∈ N, n * N

(14)

i',n+1

i'∈IC

∑Y

i,n

eq 12a

eq 12b

T T T T T T F T T F T T T F T T T T T T T T T T T T F T T T T T T T T T T F F T T T T T T T T T total number of combinations eliminated combinations

results valid not valid not valid not valid not valid valid valid valid not valid valid valid valid not valid valid valid valid 42 ) 16 6 (37.5%)

a T indicates that the combination complies with the column’s equation (true); F indicates that the combination fails to comply (false).

duration. This technique associates storing with binary variables, and thus, it can be included in the task-coupling pairs described above. However, in the second method, the modeling can be done to allow the storage task to self-feed or not. Self-feeding is a situation where the storage task not only delivers the materials that it has been holding to downstream consuming tasks, but it also retains a leftover amount that has to be “fed” to another instance of the same storage task that starts in the next time event. This new instance is not only fed by the previous instance, it can also obviously receive material from upstream tasks, as a normal storage task. The characteristic mentioned above generates two configurations that are included in neither the STN representations of Figure 1 nor the previous sections. The first of these configurations is a special case of one-tomany pairs, where the producing task is a self-feeding storage task (storage bypassing not allowed). A task-coupling model of this configuration has to include the task storage instance starting on the next event between the consuming tasks, as shown in eq 15, wherein ist is the storage task and IC is the subset of consuming process tasks. The task-coupling pair is completed with eq 4.

i∈IP

The integer cuts developed in this section eliminate a smaller fraction of the possible combinations of binary variable values. Table 2 illustrates this situation using an example of two producing tasks and two consuming tasks. 2.5. Special Cases. 2.5.1. One-to-Many Pairs with SelfFeeding Producing Storage Tasks (Storage Bypassing Not Allowed). Storage of intermediate materials is modeled using two main methods in STN/RTN formulations. In one of these methods, the amount of intermediate material that is being stored at any time event is modeled by calculating the excess of material that is not being processed/will be processed by tasks. In this method, storage is not associated with tasks’ binary variables; therefore, it cannot be encoded with the integer cuts presented in this work. In the other method, storage can be modeled explicitly as a processing task, “consuming” resources (materials and equipment tanks), keeping them for one or more time slots, and then “producing” them at the end of their

eq 11b

Yist,n e

∑Y

i',n

+ Yist,n+1 ∀n ∈ N, n * N

(15)

i'∈IC

The instance that begins at event n + 1 of the storage task is not present in eq 4 and is not included in the IC subset. If this instance starts (Yist,n+1 ) 1), this does not necessarily mean that the previous instance is active because it can be fed by the upstream tasks. These upstream tasks cannot be included in this task-coupling configuration as producing tasks because storage bypassing is not allowed. If bypassing were allowed, this taskcoupling pair should be modeled as a many-to-many example with eqs 11 and 12, including upstream tasks and the n instance of the storage task in the IP subset, as well as the downstream tasks and the n + 1 storage task’s instance in the IC subset. If the consuming tasks work in batch mode, then eq 5 must be modified in the same manner. 2.5.2. Many-to-One Pairs with Self-Feeding Consuming Storage Tasks (Storage Bypassing Not Allowed). For this

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

configuration, not only the processing producing tasks of the pair can feed the storage task. If the storage task is self-feeding, then the n - 1 instance of the storage task can also feed the n instance. To model this requirement, eq 8 has to be modified to

∑Y

i,n

+ Yist,n-1 g Yist,n ∀n ∈ N, n > 1

(16)

i∈IP

The task-coupling pair model is completed with eq 7. As in the previous special case, the n - 1 instance of the storage task is not present in eq 7 and is not included in the IC subset, for the same reason as with downstream tasks. In the case of the producing tasks working in batch mode, eq 10 has to be modified similarly to eq 16. 2.6. Applicability Conditions. The proposed integer cuts cannot be applied to every pair of producing/consuming tasks. As can be surmised from eqs 1-16, a key requirement for the application of the proposed integer cuts is that the production and consumption of intermediate materials have to be done by binary-variable-related actions (explicitly modeled tasks) that occupy concurrent time slots with the producing tasks, or the time slot immediately after if the production action(s) is (are) batch. This requirement obviously excludes any situation in short-term scheduling where intermediate materials can be obtained or sent to other, non-binary-variable-related sources or consuming entities. In general, STN/RTN short-term scheduling formulations have three characteristics that could pose a problem to this requirement. 2.6.1. Storage Requirements. The presence of available storage for intermediate materials raises the possibility of many valid combinations between the producing and consuming tasks, and some of these combinations could be eliminated if the proposed integer cuts were applied. As discussed earlier, storage is modeled using two main methods in STN/RTN formulations. In several STN/RTN formulations (as in Maravelias and Grossmann,10 for example) the storage is modeled by calculating the excess of materials at the event points (i.e., material intermediates that are not currently processed by any task, so they must be in storage) and setting limits for them. This modeling technique supplies no binary variables corresponding to the storage, so the proposed cuts cannot consider them. However, several other formulations model the storage as a task (called the storage task). Examples of this are the formulations of Ierapetritou and Floudas7 and Castro et al.15 Modeling the storage as a task gives more control of its synchronization with the processing tasks, balancing the consequences of having more tasks with their associated variables. Some STN/RTN formulations allow the modeler to use any of these two methods to include material storing, for examploe, that of Shaik and Floudas.27 In the latter method, the proposed cuts can be used by breaking the task-coupling pair in two: one with the producing task(s) feeding the storage task, which act as a consuming task, and the other with the storage task feeding the consuming tasks. An example of how this is done is shown in case studies I (section 3.1) and III (section 3.3). If the storage task being modeled is self-feeding, please refer to section 2.5. The industrial case of section 4 is an example of self-feeding storage. Therefore, one condition for the application of the proposed cuts is that there is no available storage for the intermediate material of the task-coupling pair if it is modeled by calculating excess material. This situation is encountered in the nointermediate-storage (NIS) and zero-wait (ZW) policies. If the

12481

modeling of storage is done with storage tasks, then they can be applied following the technique mentioned in the previous paragraph. 2.6.2. Task Duration Requirements. A necessary condition is that the consuming task(s) must always start at the same event as the producing task(s) if they are continuous. In the case of producing task(s) working in batch mode, the consuming tasks must always start in the following event where the producing task(s) ends. The condition for batch tasks makes it important to identify the ending event of such tasks with binary variables. When the STN/RTN formulation that is being utilized considers tasks to last one time slot (as in Ierapetritou and Floudas6,7), the proposed cuts must be applied as shown in eqs 1-14. If tasks can extend more than one time slot, eqs 1-14 can be modified in two ways: (i) If the formulation provides a binary variable to locate the ending event of tasks (as in Maravelias and Grossmann10), replace the Yi,n variables in the integer cuts for producing tasks for these variables. (ii) If the duration of tasks, defined in terms of the number of events or time slots, are defined by a parameter (as in the discrete-time formulations, or some models of Castro et al.15), subtract this number from the Yi,n variables of the consuming tasks. Equations 37-39b of case study V give an example of how this is done. If the tasks’ duration is only limited by a parameter, giving the freedom to choose the ending event of a specified interval, the integer cuts presented here have to be modified as shown in case study IV. 2.6.3. Raw Materials and Final Products. Raw materials are produced outside the scope of the scheduling problem; therefore, their production is not associated with binary variables in STN/RTN formulations and cannot be included in taskcoupling pairs. This also includes any intermediate material that has an initial inventory greater than zero. The production of final products, waste products and any material that is sent outside the flowsheet of tasks cannot be modeled with the proposed integer cuts, because their “consumption” is not associated with any binary-variable-related action. 3. Case Studies: Examples of Application to Existing STN/RTN Formulations As shown in the literature review, several formulations based on STN or RTN representation have been developed in the field of short-term scheduling. Although they share many characteristics, each one has its own technique and nomenclature for problem modeling. So, the application of the modifications proposed in this section differs slightly in each case. In this section, five existing STN/RTN formulations are selected from the literature to test the developed constraints: the first two and the fourth use a continuous-time STN-based representation, the third is a continuous-time RTN formulation, and the last technique is based on a discrete-time STN representation. 3.1. Case Study I: Application to an STN-Based Continuous-Time Formulation (Unit-Specific Time Events). In the first case study, the integer cuts presented in section 2 will be applied to a model generated with the formulation of Ierapetritou and Floudas,7 here called the IF formulation. This is a continuoustime formulation based on an STN representation of the modeled process. The continuous-time formulation uses a nonuniform time grid and, to gain more flexibility without increasing the number of time points, it allows different tasks to start at different times in different units at the same event (unit-specific time events). As a result, each instance of a task can last only

12482

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010 Table 4. Case Study I: Demands for Final Products at the End of 120 h of Production

Figure 2. STN representation of case study I. Table 3. Case Study I: Capacities and Cleaning Times of Equipment equipment mixer 1 mixer 2 mixer 3 tank 1 tank 2 tank 3 packing packing packing packing packing

line line line line line

1 2 3 4 5

rate/capacity

cleaning time (h)

17.00 tons/h 12.24 tons/h 12.24 tons/h 60 tons 60 tons 60 tons 5.833 tons/h 2.708 tons/h 5.571 tons/h 3.333 tons/h 5.357 tons/h

1 4 1 2 -

one time slot. This technique models the storage of intermediate materials as batch tasks, with their corresponding associated binary variables. A variation of the example exposed in section 3.1.2 of Ierapetritou and Floudas7 is used. This problem has been employed in several other works in short-term scheduling research as a benchmark test. Figure 2 shows the STN representation of the process. The tasks, units, and states modeled are shown in parentheses, italics, and italics within parentheses, respectively. The modeled plant obtains 15 different products from three different bases. The three bases are processed to make seven different intermediates using three mixers. The intermediates are stored in three storage tanks and then sent to five packing lines that produce the 15 final products. In this case, no direct consumption is allowed for the intermediates, that is, the total mass of a determined intermediate must go first to storage and only then to the packing lines. All of the units operate in continuous mode. The operation rates and cleanup requirements of each unit are given in Table 3. The minimum required masses of all final products at the end of the week (120 h) are given in Table 4.

product

demand (tons)

product

demand (tons)

P1 P2 P3 P4 P5 P6 P7 P8

110.0 107.0 5.5 10.0 4.5 7.0 3.0 27.0

P9 P10 P11 P12 P13 P14 P15

3.5 5.0 7.0 8.5 3.0 2.5 5.0

To study the effects of all types of task-coupling pairs, two instances of these problems were generated. For each instance, two models were generated to compare the solution performance: one created with the original unmodified formulation and one containing the additional integer cuts we are proposing. In the first instance, the bypassing of intermediate storage tasks was not allowed; for example, intermediate S4, generated by task 1, must go to storage (task 13) before proceeding to packaging (tasks 20-22). Because tasks can take only one time slot, this produced instances of one-to-one pairs (see section 2.1), one-to-many pairs, and many-to-one pairs (sections 2.2 and 2.3). In Figure 2, each gray double-headed arrow and the ellipses indicate the task pairs using the task-coupling integer cuts. In the second instance of the problem, every intermediate material was allowed to bypass storage and go directly to packaging, but all storage tasks were modeled as non-selffeeding (for an example of self-feeding, see the industrial case of section 4). For this problem, the storage tasks appeared as both producing and consuming tasks in each task-coupling pair; for example, intermediate S4 could be produced by processing task 1 and/or storage task 13, and it could be consumed by storage task 13 and/or processing tasks 20-22, all starting in the same event. Thus, all task-coupling pairs were of the manyto-many type. For both instances of the problem, the objective function utilized was to produce the maximum amount of final products P1-P15 within a time horizon of 120 h. 3.1.1. Implementation. Using the native nomenclature of the IF formulation, below is given an example of the constraints generated by the application of one-to-one pair to task 1/task 13 (eq 15) and an example of one-to-many pair applied to task 13/tasks 20-22 (eqs 16 and 17). wv(1, n) ) wv(13, n) ∀n ∈ N wv(13, n) e



wv(i', n) ∀n ∈ N

(17) (18)

i'∈{20,21,22}

wv(13, n) g wv(i', n) ∀i' ∈ {20, 21, 22}, n ∈ N

(19)

Equations 20 and 21 present an example of the many-tomany pairs modeled for the problem with storage bypassing allowed. wv(i, n) e



wv(i', n) ∀i ∈ {1, 13}, n ∈ N

i'∈{13,20,21,22}

(20) wv(1, n) + wv(13, n) g wv(i', n) ∀i' ∈ {13, 20, 21, 22}, n ∈ N

(21)

The models of this case study were implemented and solved using the GAMS 23.0/CPLEX 11.2 optimization package on an AMD Athlon 64 X2 dual-core processor 4200+ computer

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

12483

Table 5. Case Study I: Solution Performance Comparison between Original and Modified Models model

event points

integer variables

continuous variables

BN-Un BN-Mod

12 12

540 540

1992 1992

BA-Un BA-Mod

12 12

540 540

1992 1992

constraints

obj relaxed MILP

obj MILP (int gap)

CPU time (s)

2160.00 2160.00

2160.00 (0.00%) 2160.00 (0.00%)

557.9 110.1

2661.93 2661.93

2586.63a (2.91%) 2586.63a (2.91%)

7200 (741.3) 7200 (222.2)

No Storage Bypassing Allowed 5512 5800

Storage Bypassing Allowed 5443 5935

a Best integer solutions found within a CPU time limit of 7200 s. The time in parentheses corresponds to the moment at which the best integer solution was found.

Figure 3. Case study I: Optimal schedule for no-storage-bypassing-allowed policy.

with 1 GB of RAM memory. The stopping criterion for the branch-and-bound algorithm was to achieve an integer gap of 2.5% or less. 3.1.2. Results. Table 5 reports the results of the solution performances of the original and modified models; the Gantt chart of the solution for the no-storage-bypassing-allowed model is presented in Figure 3. The computational statistics of the model generated with the original formulation for the no-storagebypassing-allowed problem (BN-Un) is show in the first row, and its modified counterpart is shown in the BN-Mod row. The results of the problem where intermediates are allowed to bypass storage are shown in the rows BA-Un (corresponding to the unmodified formulation) and BA-Mod (model generated considering the proposed integer cuts). The optimal number of event for each problem was determined using the unmodified formulation’s models. The same number of events was used in BN-Mod and BA-Mod to compare performances. Both no-storage-bypassing-allowed models could be solved to optimality (with zero integrality gaps), but with the proposed modifications, the solution was found 4 times faster. The objective function value reached was lower than that found with the BA models, because the no-storage-bypassing condition allows less available processing time. However, this condition yields significant lower integrality gaps. Allowing for storage bypassing permits more flexibility to accommodate processing and storage tasks, improving the

objective function value. This resulted in an improvement of the objective function of 20% over the BN models. However, the greater flexibility also led to a greater integer gap, and the problem could not be solved to optimality within the computing time limit (7200 s). Table 5 shows the time point where the best MILP solution was found for both models. For this statistic, the BA-Mod model performed 230% faster. This improvement, coming for a model that contained only task-coupling equations for many-to-many pairs, was, as expected, lower than that provided for the BN-Mod model, which included one-to-one, one-to-many, and many-to-many pairs. The statistics in Table 5 show that the constraints proposed in section 2 decrease the computing time needed to solve a shortterm scheduling problem using the IF formulation. However, this technique has its drawbacks: it has been shown20,27,28 to give suboptimal solutions for some problems and, in general, produces relatively large integer gaps (mainly because of the way the storage for continuous and semicontinuous plants is modeled). More recent formulations improve over these disadvantages, and in the next case studies, the effects on performance provided by the proposed modifications are shown. 3.2. Case Study II: Application to an STN-Based Continuous-Time Formulation (Global Time Events). The problem studied in this case was originally presented by Papageorgiou and Pantelides.34 Its STN representation is shown in Figure 4, and the required data are in Table 6. Six units are available for the 10 tasks, and each one has a constant processing

12484

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

Figure 4. STN representation of case study II. Table 6. Case Study II: Parameters Bimax in tons, ri in h, γir in kg/h, and δir in kg/(h ton) task

unit

Bimax

Ri

utility

γir

δir

T1 T2 T3 T4 T5 T6 T7 T8 T9 T10

U1 U2 U3 U1 U4 U4 U5 U6 U5 U6

5 8 6 5 8 8 3 4 3 4

2 1 1 2 2 2 4 2 2 3

LPS CW LPS HPS LPS HPS CW LPS CW CW

3 4 4 3 8 4 5 5 5 3

2 2 3 2 4 3 4 3 3 3

time. States in black (F1, F2, INT1, INT2, P1, P2, P3, WS) have unlimited storage; limited storage is available for states in green S3 (15 tons) and S4 (40 tons). For states in white, S2 and S6, there is no available intermediate storage, and a zerowait policy is applied to states in darker gray S1 and S5. The states shown in lighter gray, S3 and S4, have available storage capacity (15 and 40 tons, respectively), but in this work, S3 was changed to no available storage to produce an example of one-to-many pairs. States F1, F2, and S4 are initially available in sufficient amounts. The plant has three final products, P1, P2 and P3, with P2 having a byproduct of no selling value, WS. Each task also requires one of the three following utilities: cooling water (CW), low-pressure stream (LPS), and high-

pressure steam (HPS). Their maximum availabilities are 25, 40, and 20 kg/min, respectively. Again, the pairs of tasks where the integer cuts from section 2 are applied are indicated with double-headed gray arrows (one-to-one pairs) and gray arrows and ellipses (one-to-many pairs). The models for the case study were generated with the continuous-time scheduling formulation presented in Maravelias and Grossmann,10 referred to here as the MG formulation. This formulation is also based on an STN representation, but it uses global event points for the time index. It permits a better expression of several storage policies, including UIS, FIS, NIS, and ZW, and allows for batch mixing/splitting. The better handling of storage policies comes in part from the improved management of excess resource variables. In the no-intermediate-storage (NIS) and zero-wait (ZW) policies, one just needs to set the corresponding excess resource variables to zero. This technique is destined for batch processes only. As in the previous case study, although this is sufficient to model the storage policy’s requirements, the additional equations proposed in this work provided a better computational performance. 3.2.1. Implementation. This case study was solved on the same computational system as used for case study I. For a more thorough study, several modified instances of the original problem were created by changing the horizon time. For each problem instance, the optimal number of events, N, was determined for the models created using the original formulation, and the same number was used for the modified models. The MG formulation allows tasks to last more than one time slot, and two binary variables are used to mark the starting and ending of each one. Binary variable Wsi,n is 1 if task i starts at time point n, and binary variable Wfi,n is 1 if task i finishes at or before time point n. Therefore, to apply eqs 1-14, binary variables associated with production tasks have been replaced by Wfi,n, and their counterparts of consuming tasks have been replaced by the Wsi,n variables.

Table 7. Case Study II: Solution Performance Comparison between Original and Modified Models model

event points

integer variables

continuous variables

MG-O MG-OtO MG-OtM MG-Full

6 6 6 6

120 120 120 120

816 816 816 816

MG-O MG-OtO MG-OtM MG-Full

8 8 8 8

160 160 160 160

1088 1088 1088 1088

MG-O MG-OtO MG-OtM MG-Full

8 8 8 8

160 160 160 160

1088 1088 1088 1088

constraints

obj relaxed MILP

obj MILP (int gap)

CPU time (s)

5.00 5.00 5.00 5.00

5.00 (0.00%) 5.00 (0.00%) 5.00 (0.00%) 5.00 (0.00%)

0.312 0.140 0.109 0.125

10.00 10.00 10.00 10.00

10.00 (0.00%) 10.00 (0.00%) 10.00 (0.00%) 10.00 (0.00%)

6.171 1.687 4.687 1.734

11.35 11.35 11.35 11.35

11.35 (0.00%) 11.35 (0.00%) 11.35 (0.00%) 11.35 (0.00%)

12.000 5.266 12.062 5.046

13.00 13.00 13.00 13.00

13.00 (0.00%) 13.00 (0.00%) 13.00 (0.00%) 13.00 (0.00%)

37.703 28.062 34.203 18.484

16.35 16.35 16.35 16.35

16.35 (0.00%) 16.35 (0.00%) 16.35 (0.00%) 16.35 (0.00%)

38.531 11.921 19.734 11.890

H)8h 1644 1660 1655 1671 H ) 10 h 2180 2204 2197 2221 H ) 11 h 2180 2204 2197 2221 H ) 12 h MG-O MG-OtO MG-OtM MG-Full

9 9 9 9

180 180 180 180

1584 1584 1584 1584

MG-O MG-OtO MG-OtM MG-Full

9a 9a 9a 9a

180 180 180 180

1584 1584 1584 1584

2800 2828 2820 2848 H ) 14 h

a

2800 2828 2820 2848

This instance was also solved in Janak et al.16 using the MG formulation. They reported that it needed 10 time events to reach the objective function shown here, but in our application, 9 time events were sufficient.

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

12485

Figure 5. Gantt diagram of the solution found with both MG-O and MG-Full models.

WfT1,n ) WfT2,n ∀n ∈ N WfT4,n e



Wsi',n ∀n ∈ N

(22) (23)

i'∈{T5,T6}

WfT4,n g Wsi',n ∀i' ∈ {T5, T6}, n ∈ N

(24)

Equation 22 models one of the one-to-one pairs present in the problem using the MG formulation’s native nomenclature, while eqs 23 and 24 present the only instance of one-to-many pairs found. 3.2.2. Results. Results for case study II are presented in Table 7. Rows show the models’ computational performance for each value of time horizon (H). Model MG-O was obtained with the unmodified formulation; model MG-OtO is a modified model with only one-to-one pair integer cuts; rows marked with MGOtM correspond to the modified model with only one-to-many pair integer cuts; and rows labeled MG-Full present the results of the model having the complete set of proposed modifications. For each value of H, the four models found the confirmed optimal integer solution for the specified number of events (0.00% integer gap). Model MG-O is outperformed by the solution performance of the MG-Full model in each value of the horizon time. Although the objective function values in the two models are the same, the reductions in the computing time are conspicuous, ranging from 51% (H ) 12 h) to 72% (H ) 10 h). The performance of the partially modified MG-OtO model is similar to that of the MG-Full model, even with similar reductions of the CPU time when compared to the MG-O model. As the MG-OtM model does not show similar behavior, with smaller time reductions and even a time increase with respect to the MG-O model in one instance (H ) 11 h), we can conclude that, for this problem, the better performance comes mainly from the one-to-one task-coupling integer cuts. Figure 5 shows the Gantt diagram of the optimal schedule for the 12-h instance, obtained by solving any of the four models.

3.3. Case Study III: Application to an RTN-Based Continuous-Time Formulation (Global Time Events). The proposed integer cuts can also be applied to RTN-based formulations. The formulation chosen for this case study was extracted from Castro et al.15 (CBPM formulation) and was used to solve the same problem as presented in case study I. As in the original work of Castro el al.,15 no-intermediate-storage (NIS), finite-intermediate-storage (FIS), and unlimited-intermediate-storage (UIS) policies were used. Figure 6 shows the RTN representation of the model. All parameter values remain the same as in case study I. The CBPM formulation is an improvement over the modeling technique presented by Castro et al.,8 considering that it allows handling capacity of continuous tasks, a more efficient modeling for zero-wait batch tasks, and better timing constraints in terms of linear relaxation. 3.3.1. Implementation. The binary variables associated with tasks in the CBPM formulation take the form Ni,t,t′, meaning that task i, which starts at event t and ends at event t′, is active if it takes the value of 1 and inactive if takes the value of 0. This nomenclature could lead one to think that this formulation utilizes t2 binary variables per each task i, a number much greater than in other formulations. However, this is not the case, because included in the model are only the variables Ni,t,t′ with t′ > t. Continuous tasks, cleaning tasks, and storage tasks are considered to last one time interval (t′ ) t + 1). For the NIS instance of this problem, there were two oneto-many, one many-to-one, and four many-to-many task couplings (see Figure 6). Equations 25 and 26 show how one of the one-to-many pairs was modeled using the original nomenclature of this formulation, whereas eqs 27 and 28 do the same for a many-to-many pair. NMake_Int2,t,t+1 e



Ni',t,t+1 ∀t ∈ T, t * T

i'∈{Pack_D21,Pack_D22}

(25)

12486

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

Figure 6. RTN representation of case study III. The continuous lines indicate continuous interactions, whereas the dashed lines indicate discrete interaction.

NMake_Int2,t,t+1 g Ni',t,t+1 ∀i' ∈ {Pack_D21, Pack_D22}, t ∈ T, t * T



Ni,t,t+1 e

(26)

Ni',t,t+1

i'∈{Pack_D41,Pack_D42}

∀i ∈ {Make_Int4B, Make_Int4C}, t ∈ T, t * T



(27)

Ni,t,t+1 g Ni',t,t+1

i∈{Make_Int4B,Make_Int4C}

∀i' ∈ {Pack_D41, Pack_D42}, t ∈ T, t * T

(28)

The FIS and UIS instances of the problem share the characteristic that both needed to include tasks to model the storage of intermediates. The inclusion of these storage tasks between the processing and packing tasks had the effect of replacing the previous task-coupling pairs with new ones of the many-to-many type, because, for each time event, a storage task could function as a producing and/or consuming task. All of the models were solved with the same computing system/optimization software as the two previous case studies. For each storage policy, the optimal number of events was obtained using the model generated with the unmodified formulation and then used in the modified models. 3.3.2. Results. Table 8 reports the results of the original and modified formulations for the three storage policies. Rows identified with the suffix -Un correspond to results of models not including proposed integer cuts, whereas rows with the suffix -Mod show results including them. In the two problem instances that allowed intermediate storage (FIS and UIS), both original and modified models were solved to optimality with zero integer gaps. For the NIS instance, an MILP objective value function very near the relaxed MILP value

was obtained. Considering that the NIS policy reduces the flexibility of the scheduling and the small integer gap, it can be considered that the MILP value was optimal or very near it. In the cases of FIS and UIS policies, where only integer cuts for many-to-many pairs are present, the improvement in favor of the modified models in lower than in the NIS case, but it is still very important, giving computing times faster than the unmodified models by 170% and 15%, respectively. A characteristic of this case study is that it presents a multiplicity of optimal solutions; that is, there were several distinct schedules that had the same optimal objective value. Similar behavior was found for solutions near the optimal value. The multiplicity of solutions comes from the fact that there many feasible and equivalent sequences of production for each final product. The solutions found by the modified and unmodified models for the NIS and FIS cases were the same, whereas the schedules for the two models exhibited differences for the UIS policy. Figure 9 shows the schedule of the UIS-Mod model. Because of the multiplicity of solutions, the optimal schedules presented in Figures 7-9 are not equal to those presented in the work of Castro et al.15 3.4. Case Study IV: Application to an STN-Based Continuous-Time Formulation (Unit-Specific Time Events) with Tasks Lasting for More than One Time Slot. Case study IV includes a well-known example of short-term scheduling in multipurpose batch plants. Studied by several authors, the version presented here has been modified in the storage policy. Specifically, the policy was changed from UIS to NIS to force consuming tasks to start right after the producing tasks have ended. This change allowed us to introduce the proposed integer cuts and study their effects.

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

12487

Table 8. Case Study III: Solution Performance Comparison between Original and Modified Models model

event points

integer variables

NIS-Un NIS-Mod

9 9

248 248

FIS-Un FIS-Mod

10 10

342 342

continuous variables

constraints

obj relaxed MILP

obj MILP (int gap)

CPU time (s)

2695.32 2695.32

2686.44 (0.33%) 2686.44 (0.33%)

3573.3 390.7

2695.32 2695.32

2695.32 (0.00%) 2695.32 (0.00%)

140.4 51.8

2695.32 2695.32

2695.32 (0.00%) 2695.32 (0.00%)

41.4 37.1

No Intermediate Storage Policy 770 770

1486 1702

Finite Intermediate Storage Policy 935 935

1749 1877

Unlimited Intermediate Storage Policy UIS-Un UIS-Mod

9 9

304 304

835 835

The technique used for this example was presented in Shaik and Floudas27 (here called SF), an STN-representation-based, continuous-time, unit-specific time events formulation that allows for tasks to last longer than one time slot. To avoid creating models that are too large, this particularity is limited by the value of the ∆n parameter, which indicates the maximum number of events a tasks can last. The presence of this parameter has the problem of necessitating one more loop of iterations to find the optimal value for the selected number of time events, an issue that Susarla et al.35 studied in their work in depth. Figure 10 shows the STN representation of the example, and Table 9 lists the values of the model parameters. All units operate in batch mode, and task durations are calculated as Ri + βiBi, where Bi is the batch mass size. Reactions 1-3 can be done in two reactors with different capabilities, so they are represented by two tasks each. Starting inventories of intermediate materials are null (in accord with the NIS policy). The price of products 1 and 2 is $10/mu each, and the raw materials have

Figure 7. Case study III: Optimal schedule for the NIS policy.

1561 1889

no cost. Gray arrows and ovals indicate where the task-coupling has been applied. 3.4.1. Implementation. As in the CBPM formulation, a three-index binary variable, w(i,n,n′) is used to model tasks that last longer than one time slot. A task that starts at time event n can finish at any of the values n e n′ e n + ∆n. To avoid having more than one instance of the same task starting at the same event and ending at different events (or ending at the same event and starting at different events), allocation constraints are included prohibiting these combinations. This allows the start and end of each task to be clearly located, as shown in eqs 29-36. Equations 29 and 30 model the only instance of one-to-many task coupling (task Heat feeding Rx21, Rx22, or both). The sum of the left-hand terms identifies which of the Heat task occurrences that start at events from n - ∆n - 1 to n - 1 ends at event n - 1, which is equivalent to the Yi,n variable of eq 9.

12488

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

Figure 8. Case study III: Optimal schedule for the FIS policy.

The sum over n′ of the right-hand term specifies which of the reactions (Rx21 and Rx22) that end at events from n to n + ∆n starts at event n.





i'∈{Rx21,Rx22}



w(i', n, n') ∀n ∈ N, n > 1, n * N

n'∈N nen'en+∆n

(29)



n'∈N n-∆n-1en'en-1

w(Heat, n', n - 1) g





w(Sepa, n, n') ∀n ∈ N, n > 1, n * N

∀i' ∈ {Rx21, Rx22}, n ∈ N, n > 1, n * N



(32)



i'∈{Rx21,Rx22}



w(i', n, n')

n'∈N nen'en+∆n

∀i ∈ {Rx11, Rx12},n ∈ N, n > 1, n * N

(33)

(30)



i∈{Rx11,Rx12}

n'∈N n-∆n-1en'en-1

n'∈N nen'en+∆n

(31)



w(i, n', n - 1) g

n'∈N n-∆n-1en'en-1



w(i', n, n')

n'∈N nen'en+∆n

∀i' ∈ {Rx21, Rx22},n ∈ N, n > 1, n * N



w(Sepa, n, n')

∀i ∈ {Rx31, Rx32},n ∈ N, n > 1, n * N

w(i, n', n - 1) e

n'∈N n-∆n-1en'en-1

As seen in Figure 10, there is only one many-to-one task coupling, because both reactions 3 (Rx31 and Rx32) feed task Sepa, as modeled in eqs 31 and 32.

n'∈N n-∆n-1en'en-1

w(i, n', n - 1) g

Equations 33-36 model the many-to-many task couplings present in the example. Equations 33 and 34 specify the relation between tasks Rx11 and Rx12 feeding Rx21 and Rx22, and eqs 35 and 36 do the same for producing tasks Rx21 and Rx22 and Sepa/consuming tasks Rx31 and Rx32.



w(i', n, n')

n'∈N nen'en+∆n

w(i, n', n - 1) e



n'∈N n-∆n-1en'en-1

n'∈N nen'en+∆n

w(Heat, n', n - 1) e

n'∈N n-∆n-1en'en-1





i∈{Rx31,Rx32}

w(i, n', n - 1) e



i'∈{Rx31,Rx32}



(34)

w(i', n, n')

n'∈N nen'en+∆n

∀i ∈ {Rx21, Rx22,Sepa},n ∈ N, n > 1, n * N

(35)

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

12489

Figure 9. Case study III: Optimal schedule for the UIS policy. Table 9. Case Study IV: Model Parameters Values task heating reaction 1 reaction 2 reaction 3 separation

Figure 10. Case study IV: STN representation.



i∈{Rx21,Rx22,Sepa}



w(i, n', n - 1) g

n'∈N n-∆n-1en'en-1



w(i', n, n')

n'∈N nen'en+∆n

∀i' ∈ {Rx31, Rx32},n ∈ N, n > 1, n * N

(36) 3.4.2. Results. Shaik and Floudas showed that the original version of this example needs tasks to last more than one event to reach the optimal integer solution, which requires ∆n ) 1. The modified version presented in this work showed a similar behavior but with different objective values. Table 10 shows the solution performance of the models when solved in the same computing system as the previous case studies. Two models were created to compare performances. SF-Un rows correspond to runs done with the model prepared as specified in the SF formulation, and SF-Mod rows correspond to the model including the proposed integer cuts. Both SF-Un and SF-Mod models improve their performance when ∆n ) 1, finding a better value of the objective function 27

(i (i (i (i (i (i (i (i

) ) ) ) ) ) ) )

Heat) Rx11) Rx12) Rx21) Rx22) Rx31) Rx32) Sepa)

unit

Ri

βi

Bimin

Bimax

heater reactor 1 reactor 2 reactor 1 reactor 2 reactor 1 reactor 2 separator

0.667 1.334 1.334 1.334 1.334 0.667 0.667 1.3342

0.00667 0.02664 0.01665 0.02664 0.01665 0.01332 0.008325 0.00666

-

100 50 80 50 80 50 80 200

but taking more time to reach it. Further increases of the ∆n parameters showed no better solutions. The CPU time column shows the number of seconds needed to comply with the specified integer gap (2.5% as in the previous case studies), but the solutions shown correspond to the optimal integer solution when solved until 0% gap with the ∆n value used. It can be seen from Table 10 that the SF-Mod model performed better than its unmodified counterpart with both values of ∆n, taking 57% and 41% less time to reach the optimal integer solution. Figures 11 and 12 show the optimal schedules for ∆n ) 0 and ∆n ) 1, respectively. 3.5. Case Study V: Application to an STN-Based DiscreteTime Formulation (Global Time Events). Discrete-time shortterm scheduling formulations have been almost completely superseded by continuous-time techniques, even when they provide better integer gaps. The main disadvantage of discretetime formulations is that they are only approximations to the real-time problems and, theoretically, need infinite time intervals to reproduce the performance of the continuous-time representation.

12490

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

Table 10. Case Study IV: Solution Performance Comparison between Original and Modified Models model

event points

integer variables

continuous variables

SF-Un SF-Mod

6 6

48 48

198 198

SF-Un SF-Mod

6 6

88 88

238 238

constraints

obj relaxed MILP

obj MILP (int gap)

CPU time (s)

764 824

1698.16 1698.16

1657.40 (2.46%) 1657.40 (2.47%)

1.953 0.843

1132 1192

1773.91 1773.82

1730.87 (2.49%) 1730.87 (2.49%)

13.171 7.718

∆n ) 0

∆n ) 1

However, the increased computing power and improved optimization software packages in the past several years have led to many scheduling problems that were considered intractable or difficult to solve becoming manageable models, even using a large number of time intervals. Thus, an example of the application of the integer cuts proposed in section 2 to a discrete-time scheduling formulation is also included in this work. The problem considered is the same as case study II (Table 6 and Figure 4), but using the formulation of Kondili et al.1,2 This formulation, here called the KPS formulation, was one of the first scheduling techniques based on a discrete-time representation, and much of the later work in this field was based on this one. 3.5.1. Implementation. The time characteristics of a batch task i in the KPS formulation are defined by a binary variable Wijt, which indicates the time point t it starts in unit j, and the parameter θi,j, which specifies its (previously known) duration when done in unit j. Because the length between time points is know a priori, θij is expressed in number of time periods. When a task starts in unit j, the allocation constraints in this formulation ensure that no other task (not even another instance of the same task) can start in the same unit j until the end of its duration (time point t + θij). A task receiving the intermediate material of the production task(s) starts at time point t + θij + 1 (if there is an NIS or zero-wait policy). Using the original nomenclature of Kondili et al.,1,2 eq 37 shows an example of one of the four one-to-one pairs in this

Table 11. Case Study V: Nonround Task Durationsa

a

task

duration

task

duration

T1 T2 T3 T4 T5

2.0 1.3 1.0 2.0 2.0

T6 T7 T8 T9 T10

2.0 3.5 2.0 2.0 3.0

All other parameter values remain the same.

model, whereas eqs 38, 39a, and 39b do the same for the oneto-many pair of tasks T4/T5 and T6. WT1,U1,t-θ(T1,U1) ) WT2,U2,t ∀t ∈ T, t > θ(T1, U1)

(37) WT4,U1,t-θ(T4,U1) e WT5,U4,t + WT6,U4,t ∀t ∈ T, t > θ(T4, U1) (38) WT4,U1,t-θ(T4,U1) g WT5,U4,t ∀t ∈ T, t > θ(T4, U1)

(39a) WT4,U1,t-θ(T4,U1) g WT6,U4,t ∀t ∈ T, t > θ(T4, U1)

(39b) 3.5.2. Results. It was found that, with round numbers for the fixed durations of all tasks in this case study, it was very easy to find the optimal schedule because the number of time points needed was fairly low (T ) 12). Therefore, a new instance of the problem was generated using nonround numbers (see Table 11) for the fixed durations. This resulted in a need to increase 10-fold the number of time points (T ) 120). Table 12 shows the results of both problem instances. In both cases, the model with the new integer cuts improved greatly over the unmodified counterpart, being 90% (round-number durations) and 150% (nonround-number durations) faster at finding the same solution. The corresponding schedules are shown in Figures 13 and 14. 4. An Industrial Case Application: Scheduling of a Sugarhouse

Figure 11. Case study IV: Optimal schedule for ∆n ) 0.

Figure 12. Case study IV: Optimal schedule for ∆n ) 1.

In this section, we applied the modifications proposed in section 2 to the scheduling of a real-world case: the industrial production of sugar. The production of sugar involves the use of huge amounts of water to remove the sugar and soluble impurities from the vegetal raw material (sugar beet or sugar cane), which is later removed in the process to concentrate and crystallize the sugar. The water removal is carried out in the sugarhouse, the most important sector of the plant and the bottleneck of the whole flowsheet. This is due to the fact that the removal of water is performed by means of evaporation under low pressure in large batch crystallizers (or vacuum pans). Because the previous unit (multieffect evaporators) and the subsequent units (packing lines) operate in continuous mode, the crystallization is carried out in several vacuum pans working with their cycles out-ofphase to achieve a near-continuous behavior.

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

12491

Table 12. Case Study V: Solution Performance Comparison between Original and Modified Models model

event points

integer variables

12 12

120 120

120 120

1200 1200

continuous variables

constraints

obj relaxed MILP

obj MILP (int gap)

CPU time (s)

13.00 13.00

13.00 (0.00%) 13.00 (0.00%)

0.315 0.166

11.35 11.35

11.35 (0.00%) 11.35 (0.00%)

Round Number Fixed Task Durations R-Un R-Mod

612 612

768 837

Nonround Number Fixed Task Durations NR-Un NR-Mod

6120 6120

This real-world scheduling problem is very interesting because it presents combinations of continuous and batch tasks, plant-wide recycles, and complex storage operations. Obtaining an optimal schedule for a recommended time horizon of two days of operation can be a very computationally expensive problem without using special scheduling techniques such as the one developed in section 2. 4.1. Sugarhouse Description. Figure 15 shows the scheme of the sugarhouse modeled. Because the plant is located in a cold-weather area, the raw material is sugar beet. The sugarhouse comprises three stations: A, B, and C. Each one consists of a storage tank that feeds a battery of batch crystallizers, a storage tank to receive the crystallizers’ production, and a battery of batch centrifuges used to dry the wet sugar, which is fed from the second storage tank. Sugar as the final product is obtained from the outputs of stations A and B. An aqueous solution of sugar and impurities coming from the multieffect evaporators (called thick juice) is fed to these two stations, with approximately two-thirds of the stream going to station A. Station B receives the rest of the thick juice feeding, and a recycle stream from the centrifuges of station A (called white syrup). Station C is used only to

7680 1877

17.81 7.06

recover sugar that is carried away in the centrifuging step of wet sugar in station B (in a stream called green syrup). In this station, there is no production of sugar for packing, but a solution of sugar that is recycled to station A (called gray syrup). The byproduct of the sugarhouse is molasses, a stream of sugar solution containing too large a proportion of impurities to be economically favorable for further processing. Stations A and B have nine crystallizers each one, whereas station C has only four crystallizers. The objective of the scheduling problem was to achieve the maximum production of sugar by determining starting times, cycle durations, and amounts processed in each task of the sugarhouse, especially the crystallizers. In the model, multieffect evaporators were included to consider the influence of the continuous units on the operation of the sugarhouse. The cycles of the crystallizers were described using two tasks: filling (where all the solution to be processed is loaded into the equipment) and boiling (where the solution is heated to evaporate the water and crystallize the sugar and then discharged as wet sugar). The centrifuge operation cycles are very short compared to those of the crystallizers, and

Figure 13. Case study V: Optimal schedule for the round-number-duration instance.

12492

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

Figure 14. Case study V: Optimal schedule for the nonround-number-duration instance.

therefore, in each station, the battery of centrifuges was considered as a single large unit.

Figure 15. Flowsheet of the sugarhouse and multieffect evaporator considered in the scheduling problem.

This is a short-term scheduling problem with recycles. The works of Janak and Floudas,20 Shaik and Floudas,27 and Li et al.28 demonstrated that a problem of this kind cannot be solved to optimality with formulations that do not allow tasks to extend more than one event. Therefore, the case study was implemented with the technique of Shaik and Floudas,27 modified with the task-coupling integer cuts presented in this work. The formulation of Shaik and Floudas27 is presented only for batch tasks, and although is mentioned in their work that it can include continuous tasks, equations were not shown for continuous or mixed continuous-batch processes. For the sugarhouse, scheduling modifications were introduced to handle continuous tasks as well. 4.2. Task-Coupling Equations on the Sugarhouse STN Model. In this section, we show only the equations that result from applying the modifications of section 2 to the sugarhouse scheduling problem. Equations not presented here are as given in Shaik and Floudas,27 with the following considerations: (a) only batch tasks are allowed to last more than one event, (b) continuous tasks have durations of only one event, and (c) storage tasks also last one event but can feed themselves as in sections 2.5.1 and 2.5.2. 4.2.1. One-to-One Pairs. Equation 40 models the one-toone pairs found in the sugarhouse. Every cycle of a crystallizer’s run must contain its two tasks in two adjacent events, as in eq 40. For space reasons, only is presented here the equations corresponding to crystallizers of station A, but eq 40 must be repeated in the model for every crystallizer in the three stations.

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010





w(BoilAx, n, n') )

n'∈N nen'en+∆n

w(FillAx, n', n - 1)



n'∈N n-∆n-1en'en-1

(40)

4.2.2. One-to-Many Pairs: Special Case with a Consuming Self-Feeding Storage Task. The sugarhouse model presents three cases of one-to-many coupling: the first tank of each station feeding the first tasks of the crystallizers. Because the producing storage tasks can feed themselves, they correspond to the special case described in section 2.5.1. The task coupling for station A is presented in eqs 41 and 42; they must be also included for stations B and C. w(TankA1, n - 1, n - 1) e



w(i, n, n') + w(TankA1, n, n)

n'∈N nen'en+∆n

∀i ∈ {FillA1, ..., FillA9}, n ∈ N, n > 1

FillA9

w(TankA1, n - 1, n - 1) g



i)FillA1



n'∈N nen'en+∆n

(41)

∀n ∈ N, n > 1

(42)



w(i, n', n - 1) e w(TankA2, n, n)

BoilA9



i)BoilA1

∀i ∈ {BoilA1, ..., BoilA9}, n ∈ N, n > 1



(43)

w(i, n', n - 1) + w(TankA2, n - 1, n - 1) g

n'∈N n-∆n-1en'en-1

w(TankA2, n, n)

∀n ∈ N, n > 1

(44)

The other many-to-one couplings correspond to TankA1, which receives material from the evaporators (Evator) and the centrifuge battery of station C (CentC1); TankB1, which is fed by Evator and CentA1; and TankC1, which is fed not only by CentB1 but also by itself from the previous event. w(i, n - 1, n - 1) e w(TankA1, n, n) ∀i ∈ {Evator, CentC1}, n ∈ N, n > 1

(45)

CentC1



i)Evator

w(i, n - 1, n - 1) + w(TankA1, n - 1, n - 1) g w(TankA1, n, n) ∀n ∈ N, n > 1

(46)

w(i, n - 1, n - 1) e w(TankB1, n, n) ∀i ∈ {Evator, CentA1}, n ∈ N, n > 1

(47)

w(TankB1, n, n) ∀n ∈ N, n > 1

(48)

w(CentB1, n - 1, n - 1) e w(TankC1, n, n) ∀n ∈ N, n > 1 (49) w(CentB1, n - 1, n - 1) + w(TankC1, n - 1, n - 1) g w(TankC1, n, n) ∀n ∈ N, n > 1 (50) 4.2.4. Noncontiguity Equations. For the tightest modeling of the sugarhouse, a new kind of additional integer cuts is proposed. In the crystallizers’ cycle, there are two tasks that are closely related each other: filling and boiling. They have the correct ordering (first filling and then boiling) and cannot appear twice in a cycle. In addition, because the last task of a cycle (boiling) is not the same first task for possible following cycles (filling), it follows that no two same tasks (filling-filling or boiling-boiling) can take place at two adjacent time slots in the same crystallizer. This requirement can be modeled as follows



w(i, n, n')

4.2.3. Many-to-One Pairs: Special Case with a Consuming Self-Feeding Storage Task. There are five cases of many-toone pairs, all of them corresponding to the special case of consuming self-feeding storage task. Three of them are each of the second tanks of each station, which are fed by the station’s crystallizers. Equations 43 and 44 model the task coupling for TankA2, and have to be repeated for stations B and C.

n'∈N n-∆n-1en'en-1

w(i, n - 1, n - 1) + w(TankB1, n - 1, n - 1) g

i)Evator

∀n ∈ N, n > 1

12493

CentA1

n'∈N nen'en+∆n

w(i, n, n') e 1 -



w(i, n', n - 1)

n'∈N n-∆n-1en'en-1

∀i ∈ {FillA1, ..., FillA9, BoilA1, ..., BoilA9},n ∈ N, n > 1 (51)

Equation 51 must also be repeated for every crystallizer in stations B and C. 4.3. Results and Analysis. Figure 16 shows the optimal schedule for 4000 min (2.78 days) of operation of the sugarhouse, obtained with the model shown before. For performance comparisons, two models were prepared for this example. Both MILP models were solved on an AMD Athlon 64 X2 dual-core processor 4200+ computer with 1 GB of RAM memory and using the GAMS 23.0/CPLEX 11.2 optimization package. The stopping criterion again was to reach an integer gap of 2.5% or less. Table 13 shows the solution performances of the unmodified (SH-Un) and modified (SH-Mod) models for three values of the ∆n parameter. Although a value of ∆n greater than 0 potentially allows for better solutions, it also greatly increases the number of equations and variables, thus taking more time to reach solution. Because it took 1285.20 s for ∆n ) 0 to solve the unmodified model, the solution procedure for greater values was done as follows: First, they were solved with one-half of the optimal number of events of the unmodified model with ∆n ) 0; then, the binary variables until that event point were fixed; and finally, the models were solved with the optimal number of events. The solutions found with this method are not assured to be optimal, but they allow us to compare the performances of the unmodified and modified models. For greater values of ∆n, the objective function values obtained (relaxed and integer) improve for both the SH-Un and SH-Mod models, even if the solution for ∆n > 0 is suboptimal. In all three cases, the SH-Mod model outperforms the SH-Un model in terms of time, with solution times an average of 67% smaller. In terms of objective function values, the models obtained similar performances. It can be observed in the Gantt diagram of Figure 16 that station B makes 45 cycles of crystallization within the time horizon, whereas station A makes 60 cycles in the same time. The relation between the two numbers is 0.75, but station B receives only the 20% of the thick juice coming from the crystallizers (plus some material from the white syrup stream). The reason for this is that, in station B, the optimal solution is to not wait to start a cycle until completely filling a crystallizer.

12494

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010

Figure 16. Sugarhouse scheduling problem solution for the SH-Mod model with ∆n ) 2. Table 13. Sugarhouse Optimal Scheduling: Solution Performance model

event points

integer variables

continuous variables

constraints

obj relaxed MILP

obj MILP (int gap)

CPU time (s)

SH-Un SH-Mod

24 24

1392 1392

5040 5040

∆n ) 0 15314 17297

SH-Un SH-Mod

24 24

2496 2496

6377 6377

∆n ) 1 27122 29105

1978.38 1973.31

1931.92 (2.40%) 1925.79 (2.47%)

3131.94 859.20

SH-Un SH-Mod

24 24

3706 3706

7982 7982

∆n ) 2 32687 33329

1989.84 1966.15

1941.43 (2.49%) 1941.43 (1.27%)

2446.11 1228.20

Station C acts as a “synchronizer”, accumulating materials in its storage tanks or processing them in accord with the work of station A and the multieffect evaporators. From these results, we can conclude that the proposed integer cuts improve the solution performance of the STN formulation utilized.

1930.06 1965.04

1919.69 (0.54%) 1930.05 (1.81%)

1285.20 267.30

application, which was not solved within a reasonable time when using an unmodified STN-based formulation. Research work is under way to apply the proposed methodologies within decomposition strategies. Acknowledgment

5. Conclusions A new set of additional integer cuts for scheduling formulations based on STN/RTN theory has been developed. The idea is based on the task-coupling concept, a structural characteristic of scheduling problems. It has been shown that the modified STN/RTN formulations improve the solution performance of the resulting MILP problems in several cases. This was demonstrated by applying the proposed equations to five formulations taken from the literature to solve three well-known problems. The chosen formulations to be modified were selected trying to cover a large fraction of the field of short-term scheduling with STN/RTN representation-based techniques. The results of the modified formulations were compared against the performance of the unmodified ones. The efficacy of the proposed STN/RTN improvement methodology was also demonstrated on a real industrial

The authors gratefully acknowledge the financial support provided by Universidad Nacional del Sur (UNS) and Consejo Nacional de Investigaciones Cientı´ficas y Te´cnicas (CONICET). Nomenclature Sets (Associated Indexes in Parentheses) I (i) ) tasks IC ) subset of consumption tasks of a task-coupling pair Ij ) tasks that can be performed in unit j IP ) subset of production tasks of a task-coupling pair Is ) tasks in which state s is consumed or produced J (j) ) units Ji ) units suitable for performing task i N (n) ) events

Ind. Eng. Chem. Res., Vol. 49, No. 24, 2010 S (s) ) states T (t) ) time points Parameters Bimax ) upper bound on the batch size of task i N ) number of events T ) number of time points Ri ) fixed duration of task i γir ) fixed amount of utility r required for task i δir ) variable amount of utility r required for task i ∆n ) limit on the maximum number of events over which task i is allowed to continue θij ) fixed duration of task i performed in unit j (measured in number of time periods) Variables Ni,t,t′ ) binary variable that assigns the end of task i, which began at time point t, to time point t′ Wi,j,t ) binary variable indicating whether unit j is allocated to task i at time period t w(i,n,n′) ) binary variable for the assignment of task i that starts at event n and ends at event n′ Wfi,n ) binary variable that indicates whether task i finishes at event n Wsi,n ) binary variable that indicates if task i starts at event n wv(i,n) ) binary variable that assigns the starting of task i at event n Yi,n ) binary variable indicating that task i starts at event n

Literature Cited (1) Kondili, E.; Pantelides, C. C.; Sargent, R. A General Algorithm for Scheduling Batch Operations. In Proceedings of the Third International Symposium on Process Systems Engineering; Institution of Engineers: Barton, Australian Capital Territory, Australia, 1988; pp 62-75. (2) Kondili, E.; Pantelides, C. C.; Sargent, R. A General Algorithm for Short-Term Scheduling of Batch OperationssI. MILP Formulation. Comput. Chem. Eng. 1993, 17, 211–227. (3) Shah, N. E.; Pantelides, C. C.; Sargent, R. A General Algorithm for Short-Term Scheduling of Batch OperationssII. Computational Issues. Comput. Chem. Eng. 1993, 17, 229–244. (4) Pantelides, C. C. Unified Frameworks for the Optimal Process Planning and Scheduling. In Proceedings on the Second Conference on Foundations of Computer-Aided Process Operations; Rippin, D. W. T., Hale, J., Eds.; CACHE/CAST Division of AIChE: New York, 1994; pp 253-274. (5) Schilling, G.; Pantelides, C. C. A Simple Continuous-Time Process Scheduling Formulation and a Novel Solution Algorithm. Comput. Chem. Eng. 1996, 20, S1221–1226. (6) Ierapetritou, M. G.; Floudas, C. A. Effective Continuous-Time Formulation for Short-Term Scheduling: I. Multipurpose Batch Processes. Ind. Eng. Chem. Res. 1998, 37, 4341–4359. (7) Ierapetritou, M. G.; Floudas, C. A. Effective Continuous-Time Formulation for Short-Term Scheduling: II. Continuous and Semicontinuous Processes. Ind. Eng. Chem. Res. 1998, 37, 4360–4374. (8) Castro, P.; Barbosa-Po´voa, A. P. F. D.; Matos, H. An Improved RTN Continuous-Time Formulation for the Short-Term Scheduling of Multipurpose Batch Plant. Ind. Eng. Chem. Res. 2001, 40, 2059–2068. (9) Wang, S.; Guignard, M. Redefining Event Variables for Efficient Modeling of Continuous Time Batch Processing. Ann. Oper. Res. 2002, 116, 113–126. (10) Maravelias, C. T.; Grossmann, I. E. A New General ContinuousTime State-Task Network Formulation for the Short-Term Scheduling of Multipurpose Batch Plants. Ind. Eng. Chem. Res. 2003, 42, 3056–3074. (11) Basset, M. H.; Pekny, J. F.; Reklaitis, G. V. Decomposition techniques for the solution of large-scale scheduling problems. AIChE J. 1996, 42 (12), 3373–3387. (12) Khmelnitsky, E.; Kogan, K.; Maimon, O. A time-decomposition method for sequence-dependent setup scheduling under pressing demand conditions. IEEE Trans. Autom. Control 2000, 45 (4), 638–652. (13) Gupta, A.; Maranas, C. D. A hierarchical Lagrangean relaxation procedure for solving midterm planning problem. Ind. Eng. Chem. Res. 1999, 38, 1937–1947.

12495

(14) Wu, D.; Ierapetritou, M. G. Decomposition approaches for the efficient solution of short-term scheduling problems. Comput. Chem. Eng. 2003, 27, 1261–1276. (15) Castro, P. M.; Barbosa-Po´voa, A. P.; Matos, H. A.; Novais, A. Q. Simple Continuous-Time Formulation for Short-Term Scheduling of Batch and Continuous Processes. Ind. Eng. Chem. Res. 2004, 43, 105–118. (16) Janak, S. L.; Lin, X.; Floudas, C. A. Enhanced Continuous-Time Unit-Specific Event-Based Formulation for Short-Term Scheduling of Multipurpose Batch Processes: Resource Constraints and Mixed Storage Policies. Ind. Eng. Chem. Res. 2004, 43, 2516–2533. (17) Janak, S. L.; Lin, X.; Floudas, C. A. Comments on “Enhanced Continuous-Time Unit-Specific Event-Based Formulation for Short-Term Scheduling of Multipurpose Batch Processes: Resource Constraints and Mixed Storage Policies. Ind. Eng. Chem. Res. 2005, 44, 426. (18) Shaik, M. A.; Floudas, C. A. Improved Unit-Specific Event-Based Continuous-Time Model for Short-Term Scheduling of Continuous Processes: Rigorous Treatment of Storage Requirements. Ind. Eng. Chem. Res. 2007, 46, 1764–1779. (19) Janak, S. L.; Lin, X.; Floudas, C. A. A new robust optimization approach for scheduling under uncertainty. II. Uncertainty with known probability distribution. Comput. Chem. Eng. 2007, 31, 171–195. (20) Janak, S. L.; Floudas, C. A. Improving unit-specific event based continuous-time approaches for batch processes: Integrality gap and task splitting. Comput. Chem. Eng. 2008, 32, 913–955. (21) Shaik, M. A.; Floudas, C. A. Unit-specific event-based continuoustime approach for short-term scheduling of batch plants using RTN framework. Comput. Chem. Eng. 2008, 32, 260–274. (22) Janak, S. L.; Floudas, C. A.; Kallrath, J.; Vormbrock, N. Production scheduling of a large-scale industrial batch plant. I. Short-term and mediumterm scheduling. Ind. Eng. Chem. Res. 2006, 45, 8234–8252. (23) Janak, S. L.; Floudas, C. A.; Kallrath, J.; Vormbrock, N. Production scheduling of a large-scale industrial batch plant. II. Reactive scheduling. Ind. Eng. Chem. Res. 2006, 45, 8253–8269. (24) Maravelias, C. T. A decomposition framework for the scheduling of single- and multi-stage processes. Comput. Chem. Eng. 2006, 30, 407–420. (25) Shaik, M. A.; Floudas, C. A.; Kallrath, J.; Pitz, H. P. Production scheduling of a large-scale industrial continuous plant: Short-term and medium-term scheduling. Comput. Chem. Eng. 2009, 33, 670–686. (26) Marchetti, P. A.; Cerda´, J. A general resource-constrained scheduling framework for multistage batch facilities with sequence-dependent changeovers. Comput. Chem. Eng. 2009, 33, 871–886. (27) Shaik, M. A.; Floudas, C. A. Novel Unified Modeling Approach for Short-Term Scheduling. Ind. Eng. Chem. Res. 2009, 48, 2947–2964. (28) Li, J.; Susarla, N.; Karimi, I. A.; Shaik, M. A.; Floudas, C. A. An Analysis of Some Unit-Specific Event-Based Models for the Short-Term Scheduling of Noncontinuous Processes. Ind. Eng. Chem. Res. 2010, 49, 633–647. (29) Floudas, C. A.; Lin, X. Continuous-time versus discrete-time approaches for scheduling of chemical processes: A review. Comput. Chem. Eng. 2004, 28, 2109–2129. (30) Burkard, R. E.; Hatzl, J. Review, extensions and computational comparison of MILP formulations for scheduling of batch processes. Comput. Chem. Eng. 2005, 29, 1752–1769. (31) Me´ndez, C. A.; Cerda´, J.; Grossmann, I. E.; Harjunkoski, I.; Fahl, M. State-of-the-art review of optimization methods for short-term scheduling of batch processes. Comput. Chem. Eng. 2006, 30, 913–946. (32) Shaik, M. A.; Janak, S. L.; Floudas, C. A. Continuous-time models for short-term scheduling of multipurpose batch plants: A comparative study. Ind. Eng. Chem. Res. 2006, 45, 6190–6209. (33) Jeroslow, R. G.; Lowe, J. K. Modeling with Integer Variables. Math. Program. Study 1984, 22, 167–184. (34) Papageorgiou, G. L.; Pantelides, C. C. Optimal Campaign Planning/ Scheduling of Multipurpose Batch/Semicontinuous Plants. 2. A Mathematical Decomposition Approach. Modeling with Integer Variables. Ind. Eng. Chem. Res. 1996, 35, 510–529. (35) Susarla, N.; Li, J.; Karimi, I. A. A Novel Approach to Scheduling Multipurpose Batch Plants Using Unit-Slots. AIChE J. 2010, 56 (7), 1859– 1879.

ReceiVed for reView July 7, 2009 ReVised manuscript receiVed September 18, 2010 Accepted September 20, 2010 IE901093Y