Computers and Chemical Engineering 43 (2012) 148–172
Contents lists available at SciVerse ScienceDirect
Computers and Chemical Engineering journal homepage: www.elsevier.com/locate/compchemeng
Improved three-index unit-specific event-based model for short-term scheduling of batch plants Ramsagar Vooradi, Munawar A. Shaik ∗ Department of Chemical Engineering, Indian Institute of Technology Delhi, Hauz Khas, New Delhi 110016, India
a r t i c l e
i n f o
Article history: Received 11 July 2011 Received in revised form 24 January 2012 Accepted 30 March 2012 Available online 16 April 2012 Keywords: Short-term scheduling Continuous-time formulation Active task Unlimited intermediate storage (UIS) Finite intermediate storage (FIS)
a b s t r a c t Short-term scheduling of batch operations has been an important research area in the past two decades. Recently, Shaik and Floudas (Industrial and Engineering Chemistry Research, 2009, 48, 2947) proposed a novel unified model for short-term scheduling using unit-specific event-based continuous-time representation employing three-index binary and continuous variables. In their comparative study it was shown that the unified model has superior performance among all the models compared in their work. In this work, we present an improved model by taking advantage of the three-index variables and effectively incorporating the concept of active task leading to fewer constraints and big-M terms. We propose improvements in allocation, duration and sequencing constraints, and investigate the effect of big-M terms in several constraints to enable solution of large-scale problems. The computational performance of the proposed formulation is compared with the original three-index model through various examples drawn from literature including Westenberger–Kallrath challenging benchmark problem. © 2012 Elsevier Ltd. All rights reserved.
1. Introduction Scheduling involves optimal allocation of different resources such as time, equipment, storage, and materials, and sequencing of various processing tasks over a specified time horizon in order to meet the specified objectives such as maximizing the profitability or productivity of a manufacturing facility. Short-term scheduling of batch plants has gained significant attention in the past two decades for achieving industrial objectives such as maximization of profits, minimizing unit idle times, minimization of makespan, and efficient use of limited resources (Floudas & Lin, 2004; Mendez, Cerda, Grossmann, Harjunkoski, & Fahl, 2006). On the basis of time representation used, the modeling approaches in the literature are classified into: discrete and continuous-time formulations. Numerous continuous-time formulations have been proposed in the literature due to the advantages of smaller problem size, and more flexible formulation in terms of time (Castro, Barbosa-Povoa, Matos, & Novais, 2004; Janak, Lin, & Floudas, 2004; Shaik & Floudas, 2008, 2009; Sundaramoorthy & Karimi, 2005). Based on handling of events, the continuous time models in the literature are broadly classified into slot-based, global-event based, unit-specific event based and precedence based formulations. Slot-based models are widely used for sequential processes, although some of them have been extended to consider
∗ Corresponding author. Tel.: +91 11 26591038; fax: +91 11 26581120. E-mail address:
[email protected] (M.A. Shaik). 0098-1354/$ – see front matter © 2012 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.compchemeng.2012.03.014
general network-oriented processes (Sundaramoorthy & Karimi, 2005; Susarla, Li, & Karimi, 2010). Based on the representation of slots over a time horizon, these models are classified into two types: synchronous and asynchronous formulations which are similar to global time points and unit specific time events, respectively. An alternate approach for scheduling of sequential processes is based on the concept of precedence based relationships (Nadal, CaponGarcıa, Mendez, & Puigjaner, 2008; Pan, Qian, & Li, 2008). The precedence-based models are classified into three types: general precedence, immediate precedence, and unit-specific immediate precedence. These formulations do not require postulation of event points or time slots. But the handling of storage and resources is not easy compared to other models based on slots or events. Global event-based models (Castro et al., 2004) and unit specific eventbased models (Ierapetritou & Floudas, 1998; Janak et al., 2004; Shaik & Floudas, 2008) are generally used for network-represented processes although they are equally applicable for sequential processes. A comparison of different continuous-time based models is provided by Sundaramoorthy and Karimi (2005) and Shaik, Janak, and Floudas (2006). In this work, we focus on scheduling formulations based on unit-specific event based models. Unit-specific event-based models use heterogeneous location of event points along the time axis, allowing different tasks to start at different times at the same event point, and different variable time grid for each shared resource (Janak et al., 2004; Janak & Floudas, 2008; Shaik & Floudas, 2009). Because of asynchronous locations of event points and allowing tasks that start at an event to end at the same event, these models generally require fewer events than
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
Nomenclature Indices i, i j, j n, n , n s u
tasks units events states utilities
Sets tasks I Ij tasks which can be performed in unit j p Is tasks which produce state s Isc tasks which consume state s tasks which consume utility u Iu J units Ji units which are suitable for performing task i N total event points postulated in the time horizon S states SR states that are raw materials SP states that are final products SI states that are intermediates S dfis , S zw , S nis intermediate states with dedicated finite intermediate storage, zero wait, and no intermediate storage cases, respectively utilities U Parameters Bimin minimum batch size of task i Bimax maximum batch size of task i STs0 initial amount available for state s STsmax maximum storage capacity for state s ˛i fixed processing time of task i ˇi linear coefficient of the variable term of the processing time of task i coefficient of constant term of consumption of util iu ity u by task i ıiu coefficient of variable term of consumption of utility u by task i is fractions of state s produced (is ≥ 0) or consumed (is ≤ 0) by task i max is maximum proportion of state s produced by task i min is Uumax H Ps n
M Ds WTi
minimum proportion of state s produced by task i maximum availability of utility u short-term scheduling horizon price of state s limit on the maximum number of events over which a task is allowed to continue large positive number in big-M constraints demand for state s unit wait time for task i
Binary variables w(i, n, n ) binary variable for task i that starts at event n and ends at event n Positive variables b(i, n, n ) amount of material processed by task i starting at event n and ending at event n ST0 (s) initial amount of state s required from external resources ST (s, n) excess amount of state s that needs to be stored at event n T f (i, n) end time of a task i at event n
149
T s (i, n) time at which task i starts at event n s (u, n) start time at which there is a change in the conTut sumption of utility u at event n
global events and slot based models. Recently Shaik and Floudas (2009) (referred to as S&F in this work) proposed a novel unified model for short-term scheduling using unit-specific event based continuous-time representation employing three-index binary and continuous variables. They demonstrated the necessity for allowing tasks to span over multiple events irrespective of whether resource constraints are used or not, the issue which is also referred to as task splitting by Janak and Floudas (2008). Shaik and co-workers (Goel & Shaik, 2010; Joshi & Shaik, 2010; Narayani & Shaik, 2010a, 2010b; Trehan & Shaik, 2010; Vooradi, Shaik, & Gupta, 2010) recently extended this three-index model to solve several scheduling problems. Li and Floudas (2010) extended S&F model by considering unit-wait policy in processing units, and proposed a framework for determination of optimal number of event points based on the analysis of critical units and states. The unit-wait policy would provide additional storage capacity and hence would lead to a different problem instance, therefore, it cannot be directly compared with instances not considering such policy. Durand and Bandoni (2010) proposed a series of integer cuts to improve the computational performance of several STN and RTN based formulations from the literature. Various comparative studies by Shaik and Floudas (2009) and Li, Susarla, Karimi, Shaik, and Floudas (2010) among others showed that the unified three-index model is general and has better computational performance among all unit-specific event-based models. In this work, we extend the S&F model to take further advantage of the three index binary and continuous variables and propose an improved model by effectively incorporating the concept of active task leading to fewer constraints and big-M terms compared to the original model. We propose improvements in allocation, duration and sequencing constraints and the model is reformulated based on the concept of active task. We also investigate the effect of bigM terms in several constraints to enable solution of large-scale problems, since big-M terms lead to poor LP relaxation. The computational performance of the proposed formulation is compared with the original three-index model through various examples drawn from the literature including the Westenberger–Kallrath challenging benchmark problem (Kallrath, 2002). The rest of the paper is organized as follows. In Section 2, we define the problem of short-term scheduling. Next, in Section 3, the proposed model is described along with the improvements. Finally, in Sections 4 and 5, several benchmark problems are solved to demonstrate the effectiveness of the proposed approach. 2. Problem statement Multipurpose batch plants typically involve several processing units for producing many products with flexible production recipes compared to multiproduct plants and thus offer tremendous opportunities for improving productivity through effective scheduling of different operations. We use state-task-network (STN) representation for describing the various production recipes. In general, a task can be processed in more than one unit and is represented by a different task corresponding to each unit. Similarly, each processing unit can process multiple tasks. The batch processing time for each task is assumed to be a linear function of batch size (bi ), ˛i + ˇi bi , here ˛i and ˇi are constant and variable terms of batch processing times respectively. To meet the inventory requirements of different states, several storage policies have been discussed in
150
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
the literature: unlimited intermediate storage (UIS), finite intermediate storage (FIS), and no intermediate storage (NIS). Additionally, depending on whether material is allowed to stay in the processing unit after completion of the assigned task, different wait policies exist: unlimited wait (UW), limited wait (LW) and zero wait (ZW). Some tasks additionally require utilities including cooling water, steam, labor, etc., which are treated as shared resources. The scheduling problem addressed in this work can be stated as follows. Given: (i) the scheduling horizon or demands for final products, (ii) the production recipe (i.e., the processing times for each task in suitable units, relation between tasks, states and units), (iii) processing units and their capacity limits, (iv) storage units along with initial inventories, minimum and maximum capacities, (v) utilities available and suitable tasks requiring these utilities, and (vi) different costs associated with production, inventory, and prices of final products. Determine: (i) the optimal sequence of tasks taking place in each unit, (ii) the start and end times of different tasks in each unit, (iii) the amount of material processed and stored at each time in each unit, and (iv) utility consumption profiles. The assumptions are as follow: (i) there are no interruptions or failures of units, (ii) negligible transfer times between units, (iii) the batch processing times are a linear function of batch size, (iv) no waiting allowed in processing units except at the last event, and (v) each storable state has its dedicated storage unit. The different objectives considered are maximization of profit for a given scheduling horizon or minimization of makespan to produce specified demands of final products.
3. Mathematical formulation Among all unit-specific event-based models the recent threeindex model of Shaik and Floudas (2009) has several advantages: (i) it can handle problems with and without resource constraints uniformly by allowing tasks to span over multiple events, (ii) it efficiently reduces to the simple case of problems without resources, (iii) it has compact problem size compared to other models which can handle resources, such as Janak et al. (2004), and (iv) it has better computational performance compared to other unit-specific event based models. In this work, we further exploit the use of three index variables and propose an improved model by effectively incorporating the concept of active task to accommodate tasks spanning over multiple events, which significantly reduces the problem size. Concept of active task. Most of the scheduling formulations in the literature use multiple variables and/or equations to monitor the status of a task (starting, ending, and continuation) when a task is spanning over multiple events. For instance, consider a task which starts at event n1, continues at event n2, and ends at event n3. The two-index model proposed by Janak et al. (2004) used three different binary variables to monitor these three instances, where ws(i,n1) is equal to one if task starts at event n1, wf(i,n3) is equal to one if task ends at event n3, and w(i,n2) is equal to one if task is active and continuing at event n2. At events n1 and n3 also w(i,n) will be equal to one since the task is active. In Shaik and Floudas (2009) model, three index binary variable w(i,n,n ) was defined for assignment of task i that starts at event n and ends at event n where n ≥ n, with parameter n (n ≤ n’ ≤ n + n) controlling the maximum number of events over which a task is allowed to continue. For the above task, n is 2, and single binary variable w(i,n1,n3) represents the task i starting at event n1, continuing at event n2, and ending at event n3. However, the model used multiple equations and big-M terms to monitor the status of a task at each event. In this formulation we use the concept of active task to monitor the status of a task. If a task is active at event n then it means either the task has started before event n; or the task can start
or end or continue at event n; or the task can end or continue at next event n + 1. By incorporating the concept of active task we propose a single allocation constraint replacing the five allocation constraints proposed by Janak et al. (2004) and Shaik and Floudas (2009). Additionally, the sequencing, duration, and resource constraints are also reformulated using the active task concept. The proposed mathematical model has the following allocation, capacity, material balance, duration, sequencing, resource balances and storage related constraints. 3.1. Allocation constraints In every equipment unit, at the most one task can be active at each event as given by constraint 1.
i ∈ Ij
n ∈ N
n ∈ N
w(i, n , n ) ≤ 1, ∀j ∈ J, n ∈ N
n − n ≤ n ≤ n n ≤ n ≤ n + n (1) The five allocation constraints proposed by Janak et al. (2004) and Shaik and Floudas (2009) are implicitly present in this single allocation constraint and can be interpreted as follows: (i) in each unit at most one task can start and be active at each event, (ii) in each unit at most one task can end and be active at each event, (iii) in each unit, if a task starts and be active at an event, a different task cannot end at the same event, (iv) in each unit a new task can start only if no other task is active at this event, (v) a task can end at an event only if it is active. 3.2. Capacity constraints For each task at each event, constraint 2 enforces the minimum and maximum batch size. If the task is not active, then these constraints enforce zero batch size. Bimin w(i, n, n ) ≤ b(i, n, n ) ≤ Bimax w(i, n, n ),
∀i ∈ I, n, n ∈ N, n ≤ n ≤ n + n
(2)
3.3. Material balances Eq. (3) relates the amount of a state at current event with its amount at previous event, amount of state produced by the tasks that are ending at the previous event and amount of the state being consumed by the tasks that are starting at the current event. ST (s, n) = ST (s, n − 1) +
p
i ∈ Is
× b(i, n , n − 1) +
i ∈ Isc
∀s ∈ S, n ∈ N, n > 1
is
is
n ∈ N n − 1 − n ≤ n ≤ n − 1
b(i, n, n ),
n ∈ N n ≤ n ≤ n + n (3)
The total raw material requirement is calculated from Eq. (4), while the initial amount of other states is taken into account in Eq. (5). On the other hand if the initial availability of raw materials is specified then it can be handled in Eq. (4) by taking the relevant variable as a known parameter.
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
ST (s, n) = ST0 (s) +
ST (s, n) = STs0 +
b(i, n, n ),
∈N n ≤ n ≤ n + n
is
n
i ∈ Isc
n≤
n
∀i ∈ I, n ∈ N, n = 0
(6c)
(4) b(i, n, n ),
T f (i, n ) ≤ T s (i, n) + ˛i w(i, n, n ) + ˇi b(i, n, n ) + WTi w(i, n, n )
∈N
+ M(1 − w(i, n, n )),
∀i ∈ I, n, n ∈ N, n ≤ n ≤ n + n, n > 0
≤ n + n
(8b)
∀s ∈ S , S , n = 1 I
T f (i, n) ≤ T s (i, n) + ˛i w(i, n, n) + ˇi b(i, n, n) + WTi w(i, n, n),
n
i ∈ Isc
∀s ∈ S R , n = 1
is
151
P
(5)
However, for sequential processes additional simplifications may be made by removing material balances. 3.4. Duration constraints In this work, similar to S&F model, we assume that the processing units by default do not provide additional storage capacities during the time horizon except at the end of the horizon after which no processing takes place and the material can remain in the same unit unless the product decays with time. The duration constraints accordingly are presented below for the case when unit-wait times are not allowed. 3.4.1. Without unit-wait times If n = 0, then the finish time of a task that starts at the same event is calculated from Eq. (6a). T f (i, n) = T s (i, n) + ˛i w(i, n, n) + ˇi b(i, n, n),
∀i ∈ I, n ∈ N, n = 0
3.5. Sequencing constraints 3.5.1. Same task in the same unit The constraint for same task in the same unit is given by Eq. (9) for n = 0, and by Eqs. (9) and (10) for n > 0. These two constraints enforce the finish time at current event to be equal to the start time at next event when the task is active and not ending at current event n. T s (i, n + 1) ≥ T f (i, n),
⎢ ⎢ ⎢ T s (i, n + 1) ≤ T f (i, n) + M ⎢ ⎢1 − ⎢ ⎣
∀i ∈ I, n, n ∈ N, n ≤ n ≤ n + n, n > 0
n ∈ N n − n < n ≤ n
⎤ n ∈ N
⎥ ⎥ ⎥ w(i, n , n )⎥ ⎥ , ∀i ∈ I, n ∈ N, n < N, n > 0 ⎥ ⎦ (10)
(7)
T f (i, n ) ≤ T s (i, n) + ˛i w(i, n, n ) + ˇi b(i, n, n ) + M(1 − w(i, n, n )), (8a)
Compared to the relevant constraints in S&F model, the big-M term is removed in Eq. (7) which is not necessary. With this modification the relevant constraint in S&F model that states finish time of a task is greater than the start time at an event is not explicitly required. 3.4.2. With unit-wait times If unit-wait times are to be allowed, then the above duration constraints can be easily modified as below (similar to Li & Floudas, 2010), where WTi is the limit on unit waiting time which can be adjusted based on different wait policies: unlimited, limited and zero unit wait times. For n = 0, Eq. (6a) is replaced with Eqs. (6b) and (6c). For n > 0, Eq. (8b) is required in addition to Eq. (7). These constraints are based on the assumption that partial withdrawal is not allowed from the material waiting in processing units, otherwise additional sequencing constraints would be required. T f (i, n) ≥ T s (i, n) + ˛i w(i, n, n) + ˇi b(i, n, n),
n < n ≤ n + n
T f (i, n ) ≥ T s (i, n) + ˛i w(i, n, n ) + ˇi b(i, n, n ),
∀i ∈ I, n, n ∈ N, n ≤ n ≤ n + n, n > 0
(9)
⎡
(6a) If n is nonzero, then the finish time of a task that started at an earlier event is calculated from Eqs. (7) and (8a). If the task is active and ending at an event, then finish time is equal to sum of start time and duration of the task, otherwise finish time is greater than or equal to start time.
∀i ∈ I, n ∈ N, n < N
∀i ∈ I, n ∈ N, n = 0 (6b)
The relevant constraint in S&F model which is used to align the task at higher n is simplified in Eq. (10) using active task concept. 3.5.2. Different tasks in the same unit Constraint 11 for different tasks occurring in the same unit is same as given by S&F model. T s (i, n + 1) ≥ T f (i , n),
∀i, i ∈ Ij , i = / i , j ∈ J, n ∈ N, n < N
(11)
Li and Floudas (2010) recently modified the above constraint as given by Eq. (A.1) in Appendix A that may avoid unnecessary task splitting. If unnecessary task splitting is to be completely avoided, then we suggest an alternative method where Eq. (11) is retained and rather add a penalty term in the objective function as shown in Eqs. (A.2) and (A.3). A comparison of these two approaches is given in Appendix A for a couple of instances.
3.5.3. Different tasks in different units For different tasks that produce or consume the same state, the start time of the consuming task at the next event is enforced to be later than the finish time of the producing task at the current event as given in Eq. (12a).
152
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
⎛
⎞
⎜ ⎜ ⎜ T s (i, n + 1) ≥ T f (i , n) − M ⎜ ⎜1 − ⎜ ⎝
3.7.2. Sequencing of utility related tasks Eq. (15) is similar to the constraint for same task in the same unit written for each utility.
⎟ ⎟ ⎟ w(i , n , n)⎟ ⎟, ⎟ ⎠
n ∈ N
s s (u, n + 1) ≥ Tut (u, n), Tut
n − n ≤ n ≤ n p ∀s, i, i , j, j , n ∈ N, n < N, i ∈ Ij , i ∈ Ij , i = / i , j = / j , i ∈ Isc , i ∈ Is
(12a) To enable solution of large-scale problems, here we also investigate removal of the big-M term as given in Eq. (12b) which may lead to better RMILP values and tighter bounds on timing variables, however, it may require higher events or higher n in few instances, as shown in the computational results later. s
f
T (i, n + 1) ≥ T (i , n), / i , j = / i=
∀s, i, i , j, j , n ∈ N, n < N, i ∈ Ij , i ∈ Ij ,
p j , i ∈ Isc , i ∈ Is
(15)
To account for the utility consumption over different tasks, constraints (16) and (17) enforce the start time of all suitable tasks s (u, n), if the task is active that consume a utility to be equal to Tut at event n.
⎡ ⎢ ⎢ ⎢ s Tut (u, n) ≥ T s (i, n) − M ⎢ ⎢1 − ⎢ ⎣
n ∈ N
n ∈ N
n − n ≤ n ≤ n n ≤ n ≤ n + n
⎤
(12b)
In Eq. (12b), due to unconditional alignment the end time of producing task at event n would be always less than or equal to the start time of consuming task at event n + 1, whereas in Eq. (12a) it is relaxed when the producing task is not ending at event n.
∀u ∈ U, n ∈ N, n < N
⎥ ⎥ × w(i, n , n )⎥ ⎥ , ∀u ∈ U, i ∈ Iu , n ∈ N ⎦
(16)
3.6. Tightening constraint The sum of the durations of all tasks suitable in each unit should be less than the scheduling time horizon as given by Eq. (13).
i ∈ Ij n ∈ N
n ∈ N
(˛i w(i, n, n ) + ˇi b(i, n, n )) ≤ H,
∀j ∈ J
⎡ ⎢ ⎢ ⎢ s (u, n) ≤ T s (i, n) + M ⎢ Tut ⎢1 − ⎢ ⎣
n ≤ n ≤ n + n
⎥ ⎥
3.7. Resource constraints For scheduling problems involving resource considerations, Shaik and Floudas (2009) proposed auxiliary constraints that need to be added without the need for any additional changes to the basic framework. In this formulation these constraints are reformulated by incorporating the active task concept. 3.7.1. Resource constraints The consumption of each utility at an event by all suitable active tasks must be less than or equal to the maximum availability.
⎡
⎤
⎢ ⎢ ⎢ ⎢iu ⎢ i ∈ Iu ⎢ ⎣
n
⎢ ⎢ ⎢ ⎢ıiu + ⎢ i ∈ Iu ⎢ ⎣
n
∈N
n − n ≤
⎡
n
≤n n≤
n
∈N
n ∈ N
n ∈ N
∀u ∈ U, n ∈ N
n ∈ N
∀u ∈ U, i ∈ Iu , n ∈ N
(17)
Similarly, in constraint (18), the end times of all suitable tasks that consume a utility at previous event are enforced to occur before, if the task is active. If any of these tasks are not finishing at the previous event, then in constraint (19), the end times are s (u, n). enforced to be equal to Tut
⎢ ⎢ ⎢ s T f (i, n − 1) ≤ Tut (u, n) + M ⎢ ⎢1 − ⎢ ⎣
n ∈ N n − 1 − n ≤ n ≤ n − 1
⎤
⎤
⎥ ⎥ ⎥ ⎥ b(i, n , n )⎥ ⎥ ⎦
×
n ∈ N
n − n ≤ n ≤ n n ≤ n ≤ n + n ≤ Uumax ,
⎦
n ∈ N
⎡
⎥ ⎥ ⎥ ⎥ w(i, n , n )⎥ ⎥ ⎦
≤ n + n
× w(i, n , n )⎥ ⎥,
n − n ≤ n ≤ n n ≤ n ≤ n + n
⎤
(13)
(14)
⎥ ⎥ ⎥ ⎥ w(i, n , n )⎥ , ∀u ∈ U, i ∈ Iu , n ∈ N, n > 1 ⎥ ⎦
n − 1 ≤ n ≤ n + n (18)
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
ST (s, n) = 0,
⎡ ⎢ ⎢ ⎢ f s T (i, n − 1) ≥ Tut (u, n) − M ⎢ ⎢1 − ⎢ ⎣
n ∈ N
⎥ ⎥ ⎥ ⎥ w(i, n , n )⎥ , ∀u ∈ U, i ∈ Iu , n ∈ N, n > 1 ⎥ ⎦
n ∈ N n≤
n
≤
n
+ n (19)
Compared to S&F model, the big-M terms are reformulated in constraints (14), (16)–(19) using the concept of active task. Note that the end time of utility consumption and the actual resource consumption are calculated as parameters after solving the model, similar to S&F model. 3.8. Different storage policies Constraint (20), along with constraint (12a) or (12b), enforces the no-wait condition required for different tasks taking place in different units that produce or consume the same intermediate state having the restriction of either zero-wait (ZW) policy or no intermediate storage (NIS) or dedicated finite intermediate storage (DFIS) cases. Constraints (21a) and (21b) impose bounds on excess amount of a state at each event for these states. For the case where a zero-wait state is produced and consumed in the same unit Eq. (20) needs to be modified accordingly.
⎛
⎜ ⎜ ⎜ T s (i, n + 1) ≤ T f (i , n) + M ⎜ ⎜2 − ⎜ ⎝
w(i , n , n)
n ∈ N n − n ≤ n ≤ n
⎞
−
⎟ ⎟ ⎟ dfis nis w(i, n + 1, n )⎟ ⎟ , ∀s, ∈ S , S , ⎟ ⎠
n ∈ N n + 1 ≤ n ≤ n + 1 + n
/ i , j = / j , i ∈ Isc , i ∈ Is S zw , j, j ∈ J, n < N, i ∈ Ij , i ∈ Ij , i =
p
ST (s, n) ≤ STsmax ,
(20)
∀s ∈ S dfis , n ∈ N
(21a)
Unit 3 Unit 2 n-1 Unit 1
i1 n
n+1
ic2
n
i2
ip
(21b)
⎛
⎤
∀s ∈ S zw , S nis , n ∈ N
For zero-wait policy, the material is not allowed to stay in the same unit (WTi = 0) at the end of last event or end of time horizon as given in Eq. (22). However this constraint need not be written for finite or no storage cases at the end of the last event N, since the excess amount of material produced at the end of the last event may continue to stay in the same batch processing unit.
n − n ≤ n ≤ n − 1
×
153
⎞
⎜ ⎜ ⎜ ⎜ST (s, n) + is ⎜ p n=N ⎜ i ∈ I s ⎝
⎟ ⎟ ⎟ zw b(i, n , n))⎟ ⎟ = 0, ∀s ∈ S ⎟ ⎠
n ∈ N n − n ≤ n ≤ n
(22) For handling dedicated finite intermediate storage cases, similar to S&F model, the following constraint is used to avoid real time storage violations without the need for considering storage as a separate task. Eq. (23a) need not be written at the last event since the produced material is allowed to wait in the same processing unit at the last event.
⎛
⎞
⎜ ⎜ ⎜ f s T (i , n) ≥ T (i, n) − M ⎜ ⎜1 − ⎜ ⎝
n ∈ N
⎟ ⎟ ⎟ w(i , n , n)⎟ ⎟, ⎟ ⎠
n − n ≤ n ≤ n p ∀s ∈ sdfis , j, j ∈ J, n < N, i ∈ Ij , i ∈ Ij , i = / i , j = / j , i ∈ Isc , i ∈ Is
(23a) Constraint (23a) enforces the finish time of producing task ending at event n to be always greater than or equal to the start time of consuming task at the same event irrespective of whether the consuming task is active or not. This is a tight constraint and may require higher n or n to find the optimal solution, as shown below. For instance, consider a FIS state which is produced by task ip in unit 1, and consumed by task ic1 in unit 2, and task ic2 in unit 3. Tasks i1 ,i2 , and ic1 are suitable in unit 2. Consider two cases shown in Fig. 1, where in case A the end time of ip at event n is delayed leading to delay in ic2 also; whereas in case B there is no such delay. Eq. (23a) allows case A, but not case B, because this constraint enforces the finish time of producing task ip at event n must be greater than or equal to start time of consuming task at same event even though there is no consumption task ic1 occurring at event n. However, the schedule of case B can also be obtained using Eq. (23a) but at higher n or n. Consider one possibility to take care of this case as given in Eq. (23b), which enforces the end time of active producing task that ends at event n to be later than the start time of the corresponding active consuming task that starts at any event n ≤ n, only when both are active. Then, in case B of Fig. 1, the end time of producing task ip at event n is not related to start time of consuming task ic1
n+1 n-1
i1
n
ip
Case A Fig. 1. Gantt chart for motivating example.
n Case B
ic2 i2
154
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
which is not active at event n thus avoiding the delay in start time of ic2 .
⎛ ⎜ ⎜ ⎜ T f (i , n) ≥ T s (i, n ) − M ⎜ ⎜2 − ⎜ ⎝
w(i , n , n)
n
≤
n
≤
n
+ n
3.10.2. Minimization of makespan For the objective of minimization of makespan (MS), the specified demand constraints are given by Eq. (26), and the makespan itself must be greater than the finish time of all tasks by the last event in Eq. (27). ST (s, N) +
s
/ i , j = / j , i ∈ Isc , i ∈ Is n ≤ n, n < N, i ∈ Ij , i ∈ Ij , i =
p
Eq. (23b) results in more number of constraints compared to (23a), but (23a) may require higher n or n to find the optimal solution. In this work, we recommend using Eq. (23a) for small to medium size problems where use of higher n or n may not have a significant effect on the computational results. However, for cases where considering higher n or n is worse compared to more constraints, say for large-scale problems, then Eq. (23b) may be tried as discussed later in the computational results for Westenberger–Kallrath benchmark scheduling problem. Alternately, a lower bound can be imposed on n in Eq. (23b) to restrict the number of additional constraints and account for how many previous events this equation needs to be written in an iterative fashion, similar to n, and verify if there are any real time storage violations.
3.9. Bounds on variables
∀n = 1;
T f (i, n) ≤ H
∀n < n
s Tut (u, n) ≤ H;
(24a)
T s (i, n) ≤ H;
b(i, n , n) ≥ Ds ,
∀s ∈ S f (26)
n ∈ N n − n ≤ n ≤ n
(23b) T f (i, N) ≤ MS
s Tut (u, n) = 0,
is
n=N i ∈ I p
w(i, n, n ) = 0; b(i, n, n ) = 0;
⎟ ⎟ ⎟ b(i, n , n)⎟ ⎟ ⎟ n ∈ N ⎠
(25)
⎟ ⎟ ⎟ dfis w(i, n , n )⎟ ⎟ , ∀s ∈ S , j, j ∈ J, n, n ∈ N, ⎟ ⎠
n ∈ N
⎞
n − n ≤ n ≤ n
n ∈ N
⎞
−
⎛
⎜ ⎜ ⎜ ⎜ST (s, n) + Max profit = Ps is ⎜ p s ∈ S p n=N ⎜ i ∈ I s ⎝
n − n ≤ n ≤ n
considered along with its price.
∀i ∈ I
(27)
The parameter H in the relevant constraints earlier must be replaced by either big-M or makespan (MS) appropriately. 3.11. Important enhancements of the improved three-index model The following are the important enhancements in the proposed formulation compared to the original S&F model: (i) the five allocation constraints proposed by Janak et al. (2004) and S&F models are replaced by a novel single allocation constraint (Eq. (1)) based on the concept of active task, leading to significant reduction in the number of constraints at higher n, (ii) the concept of active task is successfully incorporated throughout the model by simplifying various big-M terms in several constraints, (iii) reformulation of duration constraints by removing big-M term in Eq. (7) and elimination of the constraint in S&F model that explicitly enforces the finish time of task to be greater than the start time, (iv) propose alternative options to consider while solving largescale problems, and (v) handling of variable fractions of production amounts as discussed later for Westenberger–Kallrath benchmark problem. 4. Computational case studies
(24b)
General bounds are added to different continuous variables in Eq. (24). In Eq. (24a), the three-index binary and continuous variables that have finishing event earlier than the starting event are fixed to zero before solving the model. In Eq. (24b), the start time of utility consumption at the first event is assigned to the reference start time of the horizon (taken as zero for simplicity), along with the general upper bound for all start and end times to be the end of the horizon. For a given STN, additionally it is possible to identify tasks that cannot occur at certain events and the corresponding binary and continuous variables can be eliminated, as discussed in Janak and Floudas (2008).
3.10. Objective function 3.10.1. Maximization of profit For the objective of maximization of profit, the total amount of the final products produced by the end of the time horizon is
We consider several benchmark examples from the literature involving short-term scheduling of batch plants with and without resource considerations, and compare the computational performance of the improved three-index model with respect to original S&F model. In Sections 4.1 and 4.2, benchmark examples involving no resource constraints are considered for the objectives of maximization of profit and minimization of makespan, respectively. Here, unlimited intermediate storage (UIS) is considered for all states. In Sections 4.3 and 4.4, the same examples are solved using finite intermediate storage (FIS) for both the objective functions. In Section 4.5, we present the comparison of Eqs. (12a) and (12b), followed by the comparison of unit wait times in Section 4.6, for few instances. In Section 4.7, two examples with resource constraints are also presented. Finally, in Section 5, the proposed formulation is extended to solve the challenging Westenberger–Kallrath benchmark scheduling problem. All the examples are solved using GAMS 23.5/CPLEX 12.2 on 2.66 GHz Intel Core 2 Duo processor with 3 GB RAM running on linux operating system. For comparison of the alternative options
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
S1
Task 1 i=1,2
S2
Task 2 i=3
S3
Task 3 i=4,5
155
S4
Fig. 2. State-task network representation for example 1.
discussed earlier for different tasks in different units, in this work the results are based on using Eq. (12b) and for S&F model based on Eq. (12a). Later, in Section 4.5 we present a comparison of Eqs. (12a) and (12b) for the improved model also. Regarding the unitwait policy, as already mentioned we assume no unit wait time is allowed except at the last event, however, a comparison of using unit-wait times in the improved model is discussed in Section 4.6. For the FIS constraints the results in this work are based on Eq. (23a) for all examples except for one instance of Westenberger–Kallrath benchmark problem in Section 5 where we tried Eq. (23b). Consider n as zero wherever not mentioned in all the subsequent results. 4.1. Profit maximization with UIS and without resource considerations 4.1.1. Example 1 This is a simple example from Shaik and Floudas (2009) that requires one raw material and produces two intermediates and one final product. The raw material is processed in three sequential tasks, where the first task is suitable in two units (J1 and J2), the second task is suitable in one unit (J3), and the third task is suitable in two units (J4 and J5). The STN for this example is shown in Fig. 2, and the relevant data is given in Table 1. The initial stock level for all intermediates is assumed to be zero and unlimited storage capacity is assumed for all states. The price of product S4 is $5/mu. For the objective of maximization of profit, this example is solved for four different time horizons (a: H = 8 h; b: H = 10 h; c: H = 12 h; and d: H = 16 h). The model statistics such as the number of binary and continuous variables, number of constraints, CPU time required to find global optimum solution, the number of nodes taken to reach zero integrality gap, the objective function at the relaxed node, etc., are reported in Table 2 for different time horizons. For this example the proposed formulation yields the same optimal solution at higher n as at n = 0. The improved model gives better RMILP values and requires fewer nodes to reach zero integrality gap. 4.1.2. Example 2 This is the motivating example from Shaik and Floudas (2009) in which two different products are produced through five processing stages: heating, reactions 1, 2, and 3, and separation, as shown in the STN representation in Fig. 3 involving a recycle stream. The relevant data is given in Table 1. Since each of the reaction tasks can take place in two different reactors, each reaction is represented by two separate tasks. The initial stock level for all intermediates is assumed to be zero and unlimited storage capacity is assumed for all states. The price of products 1 and 2 are $10/mu. Table 2 provides a comparison of both the models in terms of the problem statistics for four different time horizons. For problem instance 2b our model reported better RMILP value, fewer nodes to reach zero integrality gap, and fewer constraints at n = 1 compared to S&F model. 4.1.3. Example 3 This example has 13 states and 11 tasks that can be performed in 6 units involving a recycle stream, the STN for which is shown in Fig. 4, and the relevant data is given in Table 1. The initial stock level for all intermediates is assumed to be zero except for S6 and S7 with each 50 mu available. Unlimited storage capacity is assumed
for all states. The price of products S12 and S13 are $5/mu. For the objective of maximization of profit, this example is solved for four different time horizons. The model statistics and computational results for different cases are reported in Table 3 . In all instances, the improved model solves faster, requires less nodes to reach the optimal solution, and fewer constraints at n = 1 compared to S&F model. For examples 3b and 3d the S&F model gave better solutions compared to the values reported by Shaik and Floudas (2009) due to the latest software and hardware used.
4.1.4. Example 4 This example from Li et al. (2010) involves four tasks in four units processing four states, the STN for which is shown in Fig. 5. The relevant data is given in Table 1. The objective is maximization of profit over a time horizon of 6 h. The initial stock level for all intermediates is assumed to be zero with unlimited storage capacity for all states. The price of product S4 is $1/mu. Table 3 provides a comparison of both the models. Here, the improved model gives better RMILP value.
4.1.5. Example 5 This example is from Li et al. (2010) and Li and Floudas (2010), which involves five tasks in five processing units (mixer, reactor-A, reactor-B, reactor-C, separator), two buffer tanks (T1 and T2), and seven states (S1-S7). Three reactors process the state S4 and produce S5. The STN representation for this example is shown in Fig. 6, and the relevant data is given in Table 1. The scheduling horizon is 9 h. The price of products S6 and S7 are $1/mu. The computational results are reported in Table 3. For this case also the improved model yields better RMILP value than the S&F model.
4.1.6. Example 6 This example from Ierapetritou and Floudas (1998) involves six tasks in four units processing six states. The scheduling horizon is 76 h. The reaction task is suitable in one unit (J1), the mixing task is suitable in two units (J2 and J3), the filtering task is suitable in one unit (J4), and stripping task is suitable in two units (J5 and J6). The STN for this example is shown in Fig. 7, and the relevant data is given in Table 1. The initial stock level for all intermediates is assumed to be zero with unlimited storage capacity for all states. The price of product S6 is $2/mu. The model statistics and computational results are reported in Table 3. For this problem also improved model reports better RMILP value than S&F model.
4.1.7. Examples 7 and 8 This example from Susarla et al. (2010) involves four tasks in four units processing six states. The scheduling horizon is 10 h. The STN for this example is shown in Fig. 8, and the relevant data is given in Table 1. Example 8 also has the same STN with slightly different data as given in Table 1. The initial stock level for all intermediates is assumed to be zero with unlimited storage capacity for all states. The price of product S6 is $2/mu. The model statistics and computational results are reported in Table 3. In both these examples the proposed model performs equally well compared to S&F model.
156
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
Table 1 Data of parameters for the nine examples. Task Example 1 Task 1 Task 2 Task 3 Example 2 Heating Reaction 1 Reaction 2 Reaction 3 Separation Example 3 and 9 Heating 1 Heating 2 Reaction 1 Reaction 2 Reaction 3 Separation Mixing Example 4 Heating Reaction 1 Reaction 2 Separation Example 5 Mixing Reaction 1 Reaction 2 Reaction 3 Separation Example 6 Reaction 1 Mixing Filtering Stripping Example 7 Task 1 Task 2 Task 3 Task 4 Example 8 Task 1 Task 2 Task 3 Task 4
Bimax (mu)
i
Unit j
˛i (h)
ˇi (h/mu)
Bimin (mu)
1 2 3 4 5
Unit 1 Unit 2 Unit 3 Unit 4 Unit 5
1.33 1.33 1 0.667 0.667
0.01333 0.01333 0.005 0.00445 0.00445
0 0 0 0 0
100 150 200 150 150
1 2 3 4 5 6 7 8
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
0 0 0 0 0 0 0 0
100 50 80 50 80 50 80 200
1 2 3 4 5 6 7 8 9 10 11
Heater Heater Reactor 1 Reactor 2 Reactor 1 Reactor 2 Reactor 1 Reactor 2 Separator Mixer 1 Mixer 2
0.667 1 1.333 1.333 0.667 0.667 1.333 1.333 2 1.333 1.333
0.00667 0.01 0.01333 0.00889 0.00667 0.00445 0.0133 0.00889 0.00667 0.00667 0.00667
0 0 0 0 0 0 0 0 0 20 20
100 100 100 150 100 150 100 150 300 200 200
1 2 3 4
Heater Reactor 1 Reactor 2 Reactor 3
1 3 1 2
0 0 0 0
0 0 0 0
10 4 2 10
1 2 3 4 5
Mixer Reactor A Reactor B Reactor C Separator
1.5 4.5 1.5 1.5 3
0 0 0 0 0
0 0 0 0 0
150 60 30 30 150
1 2 3 4 5 6
Reactor Mixer 1 Mixer 2 Filter Strip tank 1 Strip tank 2
0.866 0.133 0.133 0.2 0.266 0.266
0 0 0 0 0 0
20 20 20 20 20 20
1 2 3 4
Unit 1 Unit 2 Unit 3 Unit 4
1.666 2.333 0.667 2.667
0.03335 0.08335 0.0666 0.008325
0 0 0 0
40 20 5 40
1 2 3 4
Unit 1 Unit 2 Unit 3 Unit 4
1.666 2.333 0.333 2.667
0.03335 0.08335 0.0668 0.008325
0 0 0 0
40 20 2.5 40
17.333 2.667 2.667 4 5.333 5.333
4.2. Makespan minimization with UIS and without resource considerations For the objective of minimization of makespan the first three examples are solved using both the models. Example 1 is solved for two different demand scenarios of product S4 (demand 2000 and 4000 mu). In both models, M = 50 h is used in big-M constraints in the first case, and M = 100 h is used in the second case. The computational results are reported in Table 4. For both cases, the improved model has better RMILP values and requires less CPU time and number of nodes to reach the zero integrality gap. Example 2 is solved for minimization of makespan for two different demand scenarios for products S8 and S9, with D8 = D9 = 200 mu for the first case and D8 = 500 mu, D9 = 400 mu for the second case,
respectively. The model statistics are given in Table 4. M = 50 h is used in big-M constraints in first case and M = 100 h for the second case. In the second case, using 19 events the models took long computational times, however, with 20 events the models find the optimal solution faster. Due to the tighter sequencing constraints, the improved model requires n = 1 in the second case compared to the S&F model which requires n = 0 as discussed later in Section 4.5. The Gantt chart for example 2b with improved model is shown in Fig. 9. Example 3 is also solved for two different demand scenarios for products S12 and S13. The computational results are reported in Table 4. In the first instance, the demands are D12 = 100 mu, D13 = 200 mu, and M = 50 h is used in big-M constraints. In the second instance, the demands are D12 = D13 = 250 mu, and M = 100 h is
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
157
Table 2 Computational results for examples 1 to 2 under maximization of profit with UIS. Model Example 1a (H = 8) S&F This work Example 1b (H = 10) S&F This work Example 1c (H = 12) S&F This work Example 1d (H = 16) S&F This work Example 2a (H = 8) S&F This work Example 2b (H = 10) S&F (n = 1) This work (n = 1) Example 2c (H = 12) S&F This work Example 2d (H = 16) S&F This work
Events
RMILP ($)
MILP ($)
CPU time (s)
Nodes
4 4
2000.00 1947.50
1840.17 1840.17
0.01 0.02
0 0
10 10
68 68
89 89
223 215
5 5
3000.00 2914.84
2628.18 2628.18
0.02 0.04
16 0
15 15
87 87
117 117
308 296
6 6
4000.00 3857.42
3463.62 3463.62
0.03 0.03
27 15
20 20
106 106
145 145
393 377
9 9
6600.90 5956.11
5038.05 5038.05
1.28 0.95
3790 2784
35 35
163 163
229 229
648 620
4 4
1730.87 1730.87
1498.57 1498.57
0.03 0.03
11 12
18 18
122 122
193 193
511 493
6 6
2730.66 2727.11
1962.69 1962.69
4.17 4.52
9336 7044
60 60
214 214
680 505
2106 1612
7 7
3301.03 3301.03
2658.52 2658.52
2.1 1.9
8440 6155
42 42
221 221
370 370
1066 1018
8 8
4291.68 4291.68
3738.38 3738.38
6.16 5.94
20,149 16,246
50 50
254 254
429 429
1251 1193
used in big-M constraints. Here, both the models perform equally well in both the instances.
4.3. Profit maximization with FIS and without resource considerations All the above examples are solved for the objective of maximization of profit with finite dedicated storage capacity for some intermediate states with the relevant data given in Table 5. Example 9 also has the same STN as example 3 but with different storage capacities and the scheduling horizon is 8 h. As discussed earlier we use the alternate constraints proposed by Shaik and Floudas (2008, 2009) for handling dedicated FIS without the need for considering storage as a separate task. Compared to S&F model, the improved model has fewer constraints because of not writing Eq. (23a) at the last event. In most of the instances for FIS the events required are relatively more compared to UIS.
Binary variables
Continuous variables
Constraints
In example 1, states S2 and S3 have finite intermediate storage capacity. For the objective of maximization of profit, the computational results for FIS case are reported in Table 6. The improved model performs better compared to S&F model in terms of better RMILP values, fewer constraints, and less CPU time especially for longer horizons. Example 2 is solved with finite intermediate storage for states S4, S5, S6, and S7. The computational results are reported in Table 6. Compared to the results reported earlier for examples 1 and 2 in Table 2 for UIS, the optimal objective value remains the same in all the four scenarios for FIS case as well. In example 2b, the improved model requires 7 events to find the optimal solution with n = 1, whereas S&F model requires only 6 events and n = 1. The Gantt chart for example 2b with improved model is shown in Fig. 10. Due to the tighter constraint on different tasks in different units, Eq. (12b), this problem instance requires one extra event as discussed later in Section 4.5. For examples 3–9 the computational results for FIS case are reported in Table 7. In example 3, states S3, S4, S5, S6, S7, S9 and
S8 Product 1 IntAB S1 Feed 1
Heating i=1
S4
0.4
Hot A
Reaction 2 i=4,5 0.4 0.6
0.6
S5 Impure E
S6 IntBC
S7
Separation 0.1 i=8 0.9
S2 0.5 Feed 2
Reaction 1 i=2,3
Non zeros
0.8
0.5
Reaction 3 i=6,7 0.2
S3 Feed 3 Fig. 3. State-task network representation for example 2.
S9 Product 2
158
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
S8
Feed 3
0.75
Int 6
Heating 2 i=2 Int 1 Heating 1 i=1
S1
0.25
S3
Feed 1
Reaction 2 i=5,6
Int 3
0.5
S10 Int 7
0.4 Separation i=9 0.5 0.1
S5
Product 2
0.6
Int 4 S6
0.5
Int 5
0.4
S7
Mixing i=10,11
0.4
S12
0.2
Product 1
S11
Reaction 1 i=3,4
S2
Reaction 3 0.4 S13 i=7,8
S9
S4 Feed 4
Feed 2
Int 2 Fig. 4. State-task network representation for examples 3 and 9.
S10 are defined as finite intermediate states. For example 3b, Li and Floudas (2010) reported a better objective value of $2358.2 may be due to the unlimited unit wait policy they used, which cannot be directly compared with zero unit-wait policy that we used. The improved model performs equally well compared to S&F model except for example 3d where it requires higher value of n to find
the optimal solution as discussed in Section 4.5 later. For examples 3b and 3d the S&F model gave better solutions for FIS case also compared to the values reported by Shaik and Floudas (2009) due to the latest software and hardware used. In example 4, states S2 and S3 are defined as finite intermediate states. The number of events required is same as in the UIS case for both the models
Table 3 Computational results for examples 3 to 8 under maximization of profit with UIS. Model Example 3a (H = 8) S&F This work Example 3b (H = 10) S&F (n = 1) This work (n = 1) Example 3c (H = 12) S&F This work Example 3d (H = 16) S&F This work Example 4 (H = 6) S&F This work Example 5 (H = 9) S&F This work Example 6 (H = 76) S&F This work Example 7 (H = 10) S&F This work Example 8 (H = 10) S&F This work
Events
RMILP ($)
MILP ($)
CPU time (s)
5 5
2100.00 2100.00
1583.44 1583.44
0.22 0.14
8 8
3618.64 3618.64
2358.20 2358.20
7 7
3465.62 3465.62
3041.26 3041.26
10 10
5225.86 5225.86
5 5
Nodes
Binary variables
Continuous variables
Constraints
Non zeros
507 315
30 30
210 210
353 353
924 882
7,593,207 3,823,296
115 115
400 400
1319 989
4078 3132
0.75 0.48
604 515
52 52
302 302
523 523
1450 1374
4262.80 4262.80
9.29 6.82
17,694 6767
85 85
445 445
778 778
2239 2112
13.54 12.63
10.00 10.00
0.01 0.01
0 0
12 12
74 74
101 101
239 227
5 5
287.13 266.68
210.00 210.00
0.02 0.02
0 0
15 15
104 104
140 140
338 320
5 5
80.00 68.84
58.98 58.98
0.01 0.01
14 14
12 12
105 105
139 139
338 326
3780.5 2346.0
6 6
400 400
400 400
0.02 0.01
0 0
16 16
102 102
137 137
365 349
10 10
400 400
400 400
0.03 0.03
7 0
32 32
174 174
241 241
677 645
Reaction 1 i=2
A S1
Heating i=1
S2
Separation i=4
IB
hA
S3 Reaction 2 i=3
Fig. 5. State-task network representation for example 4.
B S4
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
S1 0.3
S2
159
S3
0.3
Reaction 1 i=2
0.4
Mixing i=1
S4
Reaction 2 i=3
Separation i=5 0.5
S5
S7
0.5 Reaction 3 i=4
S6
Fig. 6. State-task network representation for example 5.
S1
Reaction 1 i=1
Feed
S2
Mixing i=2,3
Filtering i=4
S4 Blend
R-prod
S5
Stripping i=5,6
S6 Product
Filt
S3 Addl Fig. 7. State-task network representation for example 6.
except that n = 1 is required to find the optimal solution. In example 5, states S4 and S5 have the finite storage capacity. The number of events required is same as in the UIS case except that n = 2 is required to find the optimal solution. Example 6 is solved with finite storage capacity for states S2, S4 and S5. Compared to the earlier results reported in Table 3 for UIS, the optimal value and number of events remain the same for FIS as well. The improved model gives
better RMILP value than S&F model. In example 7, states S2, S3, S4 and S5 are defined as finite intermediate states. The number of events required is same as in the UIS case for both models except that n = 3 is required to find the optimal solution. Example 8 also requires same number of events for both FIS and UIS cases, however n = 7 is required to find the optimal solution for FIS. For example 9 the improved model performs equally well. 4.4. Makespan minimization with FIS and without resource considerations
Task 2 i=2
S2
S1
For the objective of minimization of makespan the computational results for first three examples are given in Table 8 for two demand scenarios. In example 1b, the optimal objective value is different for FIS case, as compared to the results for UIS case given earlier in Table 4. Both the models take long computational times and are unable to close the integrality gap for both instances. The improved model gives better RMILP values than the S&F model. In example 2, the optimal objective values are different in the second scenario for FIS case compared to the UIS case given earlier in Table 4. In the first instance, both the models require the same
50%
50% Task 1 i=1 50%
Task 4 i=4
S6
50% Task 3 i=3
S3
S4
S5
Fig. 8. State-task network representation for examples 7 and 8.
Table 4 Computational results for examples 1 to 3 under minimization of makespan with UIS. Model
Events
RMILP (h)
Example 1a (D4 = 2000 mu) 14 24.236 S&F 14 25.357 This work Example 1b (D4 = 4000 mu) S&F 23 48.473 This work 23 50.060 Example 2a (D8 = D9 = 200 mu) 9 18.684 S&F 9 18.684 This work Example 2b (D8 = 500 mu, D9 = 400 mu) 20 45.573 S&F 20 45.573 This work (n = 1) Example 3a (D12 = 100 mu, D13 = 200 mu) 7 11.251 S&F 7 11.251 This work Example 3b (D12 = D13 = 250 mu) S&F 10 14.272 10 14.272 This work
MILP (h)
CPU time (s)
27.881 27.881
7.69 4.04
52.072 52.072
Nodes
Binary variables
Continuous variables
Constraints
Non zeros
42,366 15,338
60 60
258 258
374 374
1087 1039
7.39 2.27
21,700 9419
105 105
429 429
626 626
1852 1768
19.340 19.340
1.11 0.49
512 510
58 58
287 287
497 497
1455 1387
46.114 46.114
4.42 5.64
526 516
146 284
650 788
1146 1900
3490 6783
13.366 13.366
0.17 0.14
199 65
52 52
302 302
535 535
1477 1401
17.025 17.025
0.53 0.40
428 271
85 85
440 440
790 790
2266 2139
160
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
Fig. 9. Gantt chart for example 2b for minimization of makespan with UIS.
Table 5 Data of storage capacities (mu) for examples 1–9. State
Example 1
Example 2
Example 3
Example 4
Example 5
Example 6
Example 7
Example 8
Example 9
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13
UL 200 250 UL
UL UL UL 100 200 150 200 UL UL
UL UL 100 100 300 150 150 UL 150 150 UL UL UL
UL 6 4 UL
UL UL UL 60 60 UL UL
UL 100 UL 100 100 UL
UL 10 15 10 15 UL
UL 10 17.5 10 18 UL
UL UL 40 30 80 75 100 UL 100 100 UL UL UL
UL, unlimited. Table 6 Computational results for examples 1 to 2 under maximization of profit with FIS. Model Example 1a (H = 8) S&F This work Example 1b (H = 10) S&F This work Example 1c (H = 12) S&F This work Example 1d (H = 16) S&F This work Example 2a (H = 8) S&F This work Example 2b (H = 10) S&F (n = 1) This work (n = 1) Example 2c (H = 12) S&F This work Example 2d (H = 16) S&F This work
Events
RMILP ($)
MILP ($)
CPU time (s)
4 4
2000.00 2000.00
1840.17 1840.17
0.03 0.03
0 3
10 10
68 68
117 113
303 287
6 6
3973.70 3361.12
2628.19 2628.19
0.16 0.11
303 175
20 20
106 106
189 185
529 505
8 8
4951.24 4419.88
3463.62 3463.62
1.46 0.89
5487 2156
30 30
144 144
261 257
755 723
11 11
6601.70 6236.04
5038.05 5038.05
124.9 17.94
560,089 90,347
45 45
201 201
369 365
1094 1050
4 4
1730.87 1730.87
1498.57 1498.57
0.04 0.03
10 14
18 18
122 122
263 253
709 667
6 7
2730.66 2775.41
1962.69 1962.69
10,628 222,524
60 76
214 255
790 724
2532 2478
8 8
3350.50 3350.09
2658.52 2658.52
37.2 17.78
123,690 54,634
50 50
254 254
579 569
1729 1647
9 9
4438.96 4438.96
3738.38 3738.38
109.9 73.15
319,312 206,213
58 58
287 287
658 648
1984 1892
6.1 109.2
Nodes
Binary variables
Continuous variables
Fig. 10. Gantt chart for example 2b for maximization of profit with FIS.
Constraints
Non zeroes
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
161
Table 7 Computational results for examples 3 to 9 under maximization of profit with FIS. Model Example 3a (H = 8) S&F This work Example 3b (H = 10) S&F (n = 1) This work (n = 1) Example 3c (H = 12) S&F This work Example 3d (H = 16) S&F This work (n = 1) Example 4 (H = 6) S&F (n = 1) This work (n = 1) Example 5 (H = 9) S&F (n = 2) This work (n = 2) Example 6 (H = 76) S&F This work Example 7 (H = 10) S&F (n = 3) This work (n = 3) Example 8 (H = 10) S&F (n = 7) This work (n = 7) Example 9 (H = 8) S&F This work a b c
Events
RMILP ($)
MILP ($)
CPU time (s)
6 6
2750.96 2750.96
1583.44 1583.44
3.73 4.51
9 9
3618.64 3618.64
2345.30 2345.30
7 7
3465.62 3465.62
3041.26 3041.26
11 11
5644.59 5644.59
4262.80 4262.80
5 5
14 14
5 5
300 300
5 5
80.0 72.65
Nodes
Binary variables
Continuous variables
Constraints
Non zeroes
8794 10,345
41 41
256 256
625 608
1745 1648
40,281,651 39,841,668
137 137
457 457
1800 1403
5968 4805
1.29 1.91
754 1733
52 52
302 302
744 727
2127 2013
411.0 3866.41
392,577 2,060,783
96 181
486 571
1220 1755
3655 6173
10 10
0.05 0.03
44 18
20 20
82 82
276 209
713 579
210 210
0.09 0.06
73 33
30 30
119 119
403 318
1141 936
0.02 0.02
9 0
12 12
105 105
193 187
482 458
58.98 58.98
40,000a,b 40,000a,c
6 6
400 400
400 400
0.05 0.06
0 10
40 40
126 126
428 341
1469 1217
10 10
400 400
400 400
0.16 0.43
0 72
144 144
286 286
1004 837
5061 4069
5 5
2100 2100
0.8 0.32
969 491
30 30
210 210
506 489
1363 1283
1549.63 1549.63
Resource limit reached. Relative gap, 2.03%. Relative gap, 0.018%.
number of events and report the same objective value for FIS and UIS cases. In example 3, for both UIS and FIS cases the optimal objective values are same for both scenarios, and the improved model solves faster compared to S&F model. The Gantt chart for example 3b with improved model is shown in Fig. 11. For examples 1a, 1b, 2b, and 3b the S&F model gave better solutions compared to the values reported by Shaik and Floudas (2009) due to the latest software and hardware used.
4.5. Comparison of alternate options for sequencing constraints As discussed earlier, here we investigate removal of the bigM term in Eq. (12b) compared to Eq. (12a) for different tasks in different units. All the results in this work were obtained using Eq. (12b). For the examples discussed earlier, only in one of the instances (example 2b for profit maximization using FIS) using Eq. (12b) required one higher event (n = 7 compared to n = 6) and in
Table 8 Computational results for examples 1 to 3 under minimization of makespan with FIS. Model
Events
RMILP (h)
Example 1a (D4 = 2000 mu) 20 24.236 S&F 20 24.492 This work Example 1b (D4 = 4000 mu) 29 48.472 S&F 29 48.789 This work Example 2a (D8 = D9 = 200 mu) 18.684 S&F 9 This work 9 18.684 Example 2b (D8 = 500 mu, D9 = 400 mu) 21 47.378 S&F (n = 2) 21 47.378 This work (n = 2) Example 3a (D12 = 100 mu, D13 = 200 mu) 9 11.250 S&F 9 11.250 This work Example 3b (D12 = D13 = 250 mu) 10 14.271 S&F (n = 1) 10 14.271 This work (n = 1) a b c d e f g
Resource limit reached. Relative gap, 7.25%. Relative gap, 3.10%. Relative gap, 10.4%. Relative gap, 7.1%. Relative gap, 0.71%. Relative gap, 0.66%.
MILP (h)
CPU time (s)
Nodes
Binary variables
Continuous variables
Constraints
Non zeroes
28.032 27.881
40,000 a,b 40,000 a,c
29,941,133 84,604,531
90 90
372 372
698 694
2125 2045
54.395 54.395
40,000 a,d 40,000 a,e
20,957,581 47,936,042
135 135
543 543
1022 1018
3142 3026
519 547
58 58
287 287
667 657
2003 1911
733,894 1,269,217
438 438
967 967
3566 2841
16,309 12,384
19.340 19.340 47.753 47.695
1.54 1.58 40,000a,f 40,000a,g
13.366 13.366
27.93 12.41
43,219 17,023
74 74
394 394
994 977
2918 2770
17.025 17.025
7.26 4.91
1050 652
159 159
514 514
2038 1591
6854 5516
162
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
Fig. 11. Gantt chart for example 3b for minimization of makespan with FIS.
Table 9 Comparison of results for examples 2 and 3 using Eqs. (12a) and (12b). Model
Events
RMILP
MILP
CPU time (s)
Nodes
Example 2b with FIS profit maximization (H = 10) 7 2775.41 1962.69 109.2 With Eq. (12b) (n = 1) 6 2730.66 1962.69 4.07 With Eq. (12a) (n = 1) Example 3d with FIS profit maximization (H = 16) 11 5644.59 4262.80 3866.41 With Eq. (12b) (n = 1) With Eq. (12a) 11 5644.59 4262.80 429.6 Example 2b with UIS makespan minimization (D8 = 500 mu, D9 = 400 mu) 20 45.573 46.114 5.64 With Eq. (12b) (n = 1) 20 45.573 46.114 4.37 With Eq. (12a)
Binary variables
Continuous variables
Constraints
Non zeroes
222,524 7787
76 60
255 214
724 605
2478 2076
2,060,783 438,884
181 96
571 486
1755 1203
6173 3617
516 526
284 146
788 650
1900 1146
6783 3490
Table 10 Computational results for examples 2 and 3 with FIS and unlimited unit-wait (UW) times. Model
Events
RMILP
MILP
CPU time (s)
Example 2c profit maximization (H = 12) 8 3350.09 2658.52 17.78 Without UW 7 3301.03 2658.52 3.93 With UW Example 2d profit maximization (H = 16) 9 4438.96 3738.38 73.15 Without UW 8 4291.67 3738.38 7.57 With UW Example 3a makespan minimization (D12 = 100 mu, D13 = 200 mu) 9 11.250 13.366 12.41 Without UW With UW 8 11.250 13.366 2.68
Nodes
Binary variables
Continuous variables
Constraints
Non zeroes
54,634 6971
50 42
254 221
569 546
1647 1598
206,213 17,026
58 50
287 254
648 633
1892 1875
17,023 1763
74 63
394 348
977 946
2770 2707
two instances it required n = 1 compared to n = 0. These three results are summarized in Table 9 where we compare the results by solving the improved model using Eq. (12a) now, instead of Eq. (12b). From Table 9 it can be observed that the results using Eq. (12a) are comparable with the results of S&F model reported earlier. For example 2b for profit maximization using FIS, the Gantt chart was shown earlier in Fig. 10 using Eq. (12b). To see why Eq. (12b) requires one extra event, in Fig. 10, consider state S5 for which the production tasks are 4, 5 and 8 and consumption tasks are 6 and 7. The production task 8 occurring at event n4 must end before the start time of the consumption task 7 taking place at event n5. This condition splits task 8 at event n5 the same time at which task 7 starts. Now, consider state S7, the production tasks are 6 and 7 and consumption task is 8. Since the consumption task 8 splits at event n5, the production task 6 starting at event n4 also splits, thus requiring one extra event, because task 6 at event n4 must finish before the start time of event n5 for task 8. The comparison of Eqs. (12a) and (12b) is made later in Section 5 for the large-scale example also. 4.6. Comparison of results using unit-wait times As discussed earlier, here we investigate the effect of considering unlimited unit-wait policy. All the results in this work are obtained without allowing unit time in any unit except at the last event based on the constraints given in Section 3.4.1. Now for
comparison, we consider unlimited unit wait policy and solve the improved model using constraints given in Section 3.4.2, and only in three of the instances it required one higher event to find the same optimal solution using zero unit-wait compared to unlimited unit-wait policy. These three results are summarized in Table 10. The objective function improvements are similar to the results reported by Li and Floudas (2010) where they applied unlimited unit-wait policy to the S&F model. And since the improved model is better than S&F model, allowing unit wait times would further enhance the performance, but as mentioned earlier the unit-wait policy would provide additional storage capacity and hence would lead to a different problem instance, therefore, it cannot be directly compared with instances not considering such policy. 4.7. Examples with FIS and with resource considerations 4.7.1. Example 10 This example from Janak et al. (2004) involves four tasks in three units processing seven states as shown in the STN of Fig. 12. The corresponding data is given in Tables 11 and 12. Two reactors of type I (R1 and R2) and one reactor of type II (R3) are available, and four reactions are suitable in these reactors. Reactions T1 and T2 require a type I reactor, whereas reactions T3 and T4 require a type II reactor. In addition, the heat required for endothermic reactions T1 and T3 is provided by steam (HS) available in limited amounts. Reactions T2 and T4 are exothermic, and required cooling water (CW)
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
163
Fig. 12. State-task network representation for example 10.
For the objective of maximization of profit both cases are solved over a time horizon of 8 h. The model statistics and computational results are reported in Table 13. For the objective of minimization of makespan, the two cases given above are solved for a fixed demand of 100 kg of P1 and 80 kg of P2. The optimal solution is 8.5 h in the first case (example 10a) and 9.025 h in the second case (example 10b). The computational results are reported in Table 14. In constraints involving big-M terms, a common value of M = 10 was used. For both the objectives the improved model gives better RMIP values in the second problem instance.
is also available in limited amounts. Each reactor allows variable batch sizes, where the minimum batch size is half the capacity of the reactor. The processing times and the utility requirements include a fixed time and a variable term that is proportional to the batch size. For the raw materials and final products, unlimited storage is available (say 1000 kg), while for the intermediates, finite storage is available. Based on the resource availability, two different cases are considered: in the first case (example 10a) the availability of both HS and CW is 40 kg/min and in the second case (example 10b) it is 30 kg/min. Also, two different objective functions, maximization of profit and minimization of makespan, are considered.
4.7.2. Example 11 This example from Janak et al. (2004) involves 10 tasks in 6 units processing 14 states as shown in the STN representation of Fig. 13 and the relevant data is given in Tables 15 and 16. Raw materials F1 and F2, intermediates I1 and I2, final products P1–P3 and WS states have the UIS capacity, while states S3 and S4 have FIS, states S2 and S6 have NIS, and states S1 and S5 have ZW policies. Three different renewable utilities are available for this process: with tasks T2, T7, T9, and T10 requiring cold water (CW); tasks T1, T3, T5, and T8 requiring low-pressure steam (LPS); and tasks T4 and T6 requiring high-pressure steam (HPS). The maximum availabilities of CW, LPS, and HPS are 25, 40, and 20 kg/min, respectively. For
0.8
T1
F1
T3
I3
P1
0.2 I1 0.4
0.3 T2
F2
I2
0.7
T4
P2
0.6
Table 11 Data for example 10. Bmin
R1 R2 R3
40 25 40
Bmax
T1
80 50 80
T2
T3
˛
ˇ
˛
ˇ
0.5 0.5
0.025 0.4
0.75 0.75
0.0375 0.06
˛
0.25
T4 ˇ
T1
˛
ˇ
0.0125 0.5
T2
T3
iHS
ıiHS
iCW
ıiCW
6 4
0.25 0.25
4 3
0.3 0.3
0.025
T4
iHS
ıiHS
iCW
ıiCW
8
0.4
4
0.5
Bmin /Bmax in kg, ˛ in h, ˇ in h/kg, in kg/min, and ı in kg/min per kg of batch. Table 12 State related data for example 10.
STsmax (kg) STs0 (kg) Ps ($/kg)
F1
F2
I1
I2
I3
P1
P2
1000 400 0
1000 400 0
200 0 0
100 0 0
500 0 0
1000 0 30
1000 0 40
Table 13 Computational results for examples 10 and 11 under maximization of profit with resources. Model Example 10a (H = 8) S&F (n = 1) This work (n = 1) Example 10b (H = 8) S&F (n = 1) This work (n = 1) Example 11a (H = 12) S&F (n = 2) This work (n = 2) Example 11b (H = 14) S&F (n = 3) This work (n = 3)
Events
RMILP ($)
6 6
10,713.81 10,713.81
6 6
8291.55 8107.30
9 9
21,394.73 21,394.73
9 9
24,960.52 24,960.52
MILP ($)
CPU time (s)
Nodes
Binary variables
Continuous variables
Constraints
Non zeros
5904.0 5904.0
1.47 1.48
1708 1149
42 42
167 167
767 639
2477 2133
5227.77 5227.77
1.28 0.56
1378 715
42 42
167 167
767 639
2477 2133
13,000 13,000
497.97 287.29
300,644 187,058
126 126
421 421
1840 1535
6332 5351
16,350 16,350
269.24 223.90
85,669 170,263
148 148
443 443
1982 1677
7655 6449
Table 14 Computational results for example 10 under minimization of makespan with resources. Model
Events
RMILP (h)
Example 10a (Dp1 = 100 kg, Dp2 = 80 kg) 7 5.077 S&F (n = 1) 7 5.077 This work (n = 1) Example 10b (Dp1 = 100 kg, Dp2 = 80 kg) 5.077 S&F 6 6 5.336 This work
MILP (h)
CPU time (s)
Nodes
Binary variables
Continuous variables
Constraints
Non zeros
8.50 8.50
2.87 2.59
1835 1691
54 54
200 200
929 774
3099 2667
9.025 9.025
0.19 0.22
39 49
24 24
149 149
492 484
1342 1294
164
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
T1
F1
T2
S1
S2
T3
T4
I1
T5
S3
P1 0.98
Add
P2
T6 0.02
S4 0.95 F2
WS
0.1
0.05 T7
T8
S5
0.5
0.9
T9
I2
0.5
T10
S6
P3
Fig. 13. State-task network representation for example 11.
the objective of maximization of profit, this example is solved for two different time horizons (a: H = 12 h and b: H = 14 h). The model statistics and computational results for these cases are reported in Table 13. The improved model solves faster than S&F model. The Gantt chart and resource utilization levels for example 11b are shown in Figs. 14 and 15.
and multiple machines for a single task, and task-specific capacity ranges for machines and so on. The production problem consists of a network of 17 processing tasks, 19 states (S0–S18) and 9 production units. A task that can take place in more than one unit is considered as a separate task. The STN representation of the production process is shown in Fig. 16. The states S2 and S3 have variable fractions of the amount produced by task 2 as shown in Fig. 16. The detailed information of processing recipes, task-unit suitabilities, unit capacities, and processing times is provided in Table 17. One of the difficult aspects of the Westenberger–Kallrath benchmark problem is the restrictions on material storage, including FIS and ZW. All of the intermediate states are subject to one of these conditions. States S1 to S4, S6–S8, S11, and S13 are all subject to FIS, while states S5, S9, S10, and S12 are subject to ZW. The initial inventory and storage policy for all states is described in Table 18. Janak and Floudas (2008) presented an MILP formulation based on their earlier model (Janak et al., 2004) that also uses unit-specific
5. Westenberger–Kallrath benchmark scheduling problem In this section, we extend the improved three-index model to solve the challenging Westenberger–Kallrath benchmark scheduling problem, given in the appendix of Kallrath (2002), which has been solved by many authors (Janak & Floudas, 2008; Wang & Guignard, 2002, 2006). The benchmark problem has several complex features including variable fractions of products produced from a task with multiple product streams, different storage policies for intermediates, multiple tasks suitable in a single machine, Table 15 State related data for example 11.
STsmax (kg) STs0 (kg) Ps ($/kg)
F1
F2
I1
I2
S1
S2
UL 100 0
UL 100 0
UL 0 0
UL 0 0
0 0 0
0 0 0
S3
S4
15 0 0
40 10 0
S5
S6
P1
P2
P3
0 0 0
0 0 0
UL 0 1
UL 0 1
UL 0 1
UL, unlimited. Table 16 Data for example 11.
Unit Bmax (kg) ˛ Utility ı
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
U1 52 2 LPS 3 2
U2 81 1 CW 4 2
U3 61 1 LPS 4 3
U1 52 2 HPS 3 2
U4 82 2 LPS 8 4
U4 82 2 HPS 4 3
U5 34 4 CW 5 4
U6 42 2 LPS 5 3
U5 32 2 CW 5 3
U6 43 3 CW 3 3
˛ in h, ˇ in h/kg, in kg/min, and ı in kg/min per kg of batch.
Fig. 14. Gantt chart for example 11b for maximization of profit with FIS.
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
Fig. 15. Resource utilization for example 11b for maximization of profit with FIS.
S0
Task 1 i=1
S1
Task 2 i=2
0.2-0.7
0.31 S3
S2
Task 3 i=3
S4
Task 5 i=5
Task 4 i=4
S5
Task 8 i=8
S9
Task 9 i=9
S10
0.5
Task 6 i=6
Task 7 i=7
S6
S7
S8
Task 10 i=10,11
Task 11 i=12,13
Task 12 i=14,15
S11
S12
S13
Task 16 i=21,22
Task 17 i=23,24
0.5 Task 13 i=16,17
S14
Task 14 i=18,19
S15
Task 15 i=20
S16
S17
Fig. 16. State-task network for Westenberger–Kallrath problem.
S18
165
166
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
Table 17 Detailed production recipe for Westenberger–Kallrath problem. Task
i
Unit j
˛i (h)
Bimin (kg)
Bimax (kg)
Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Unit 1 Unit 2 Unit 3 Unit 4 Unit 4 Unit 4 Unit 4 Unit 5 Unit 5 Unit 6 Unit 7 Unit 6 Unit 7 Unit 6 Unit 7 Unit 8 Unit 9 Unit 8 Unit 9 Unit 8 Unit 8 Unit 9 Unit 8 Unit 9
2 4 2 4 4 4 4 6 6 4 5 5 6 6 6 4 6 4 6 4 6 6 6 6
3 5 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4
10 20 10 10 10 10 10 10 10 7 7 7 7 7 7 12 12 12 12 12 12 12 12 12
Task 11 Task 12 Task 13 Task 14 Task 15 Task 16 Task 17
Table 18 State related data for Westenberger–Kallrath problem.
STsmax (kg) STs0 (kg)
S0
S1
S2
S3
S4
S5
S6
S7
S8
S9
S10
S11
S12
S13
S14
S15
S16
S17
S18
UL UL
30 20
30 20
15 0
30 20
–a 0
10 0
10 0
10 0
–a 0
–a 0
10 0
–a 0
10 0
UL 0
UL 0
UL 0
UL 0
UL 0
UL, unlimited. a Zero wait (ZW).
event-based formulation to solve this problem. They initially solved the problem without considering storage tasks and if there were any storage violations then the storage constraints were considered for the states violating the storage capacity. Contrary to this, in this work we employ the general approach of explicit modeling of FIS constraints for all FIS states without the need for posterior checking of storage violations, thus completely eliminating the occurrence of real time storage violations in all instances.
× b(i2, n , n − 1) +
i,s2
b(i, n, n ),
n ∈ N
i ∈ Ic s2
n ≤ n ≤ n + n
∀n ∈ N, n > 1 ST (S2, n) ≤
(28)
max ST (S2, n − 1) + i2,s2
n ∈ N 5.1. Changes to the proposed model to handle variable fraction of production In order to handle the variable fractions of the states S2 and S3 being produced by task 2, the standard material balances need to be modified for these states to allow the fraction of states produced by task 2 to vary between the specified lower and upper bounds min and max ). Eqs. (28) and (29) enforce that the amount of (i.e., is is state S2 produced should be within the minimum and maximum fraction multiplied by the amount processed by task 2. For state S3, the material balance in Eq. (30) is written on the basis of the actual amount of S2 produced from task 2 found using Eqs. (28) and (29), similar to Janak and Floudas (2008). min ST (S2, n) ≥ ST (S2, n − 1) + i2,s2
n
n
b(i, n, n ),
n ∈ N
s2
n ≤ n ≤ n + n
∀n ∈ N, n > 1
(29)
ST (S3, n) = ST (S3, n − 1) +
i,s3
s3
b(i, n, n )
n ∈ N
i ∈ IC
n ≤n−1
i,s2
i ∈ Ic
+
∈N
n − 1 − n ≤
× b(i2, n , n − 1) +
n − 1 − n ≤ n ≤ n − 1
n ≤ n ≤ n + n
∈N
n − 1 − n ≤ n ≤ n − 1
b(i2, n , n − 1)
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
⎛ ⎜ ⎜ ⎜ −⎜ i,s2 ⎜ST (S2, n) − ST (S2, n − 1) − ⎜ i ∈ Ic s2 ⎝
n ∈ N n ≤ n ≤ n + n
⎞ ⎟ ⎟ ⎟ × b(i, n, n )⎟ ⎟ , ∀n ∈ N, n > 1 ⎟ ⎠
(30)
For states S2 and S3 similar balances need to be written at the end of the horizon to account for production, if any, at the last event. Note that these material balances are written only for states S2 and S3 and for all other states regular material balance constraints ((3)–(5)) are applied. 5.2. Computational results Initially, the improved model is solved considering storage constraints for all FIS states using the objective of minimizing the makespan for 15 demand instances of the benchmark problem. Each demand instance has up to five final products with different demand structure. Table 19 shows final product demands (S14–S18) for each problem instance where the first set, P1–P10, has a total demand of 60, the second set, P11–P14, has a total demand of 90, and the final problem P0, the most difficult, has a total demand of 160. The first set, P1–P10, has simple demand structure in which exactly three products need to be produced. In these instances, preprocessing is done to exclude those tasks which are associated with the products that do not have a demand. Problem instances P11–P14 have slightly larger demand structure where we have demands for all the final products and no tasks are effectively excluded during preprocessing. The model statistics and computational results for all the problem instances are reported in Table 20. Problems with higher demands of products are generally found to be more difficult to solve, because they require more number of tasks and events. The converged optimal solution is found in all instances except for P9, P11, and P0 for which the best makespan is reported within the specified resource limit of
167
40,000 s. The Gantt chart for problem P11 is shown in Fig. 18. Compared to the literature, two new optimal solutions, MS = 33 h for P9 and MS = 52 h for P0 have been obtained using the improved model compared to MS = 34 h for P9 and MS = 54 h for P0, respectively, reported by Janak and Floudas (2008). All the results in Table 20 are based on using Eq. (23a) except for P0 where it is based on using Eq. (23b). Additionally, a lower bound of n − 1 was imposed on n to restrict the number of additional constraints in Eq. (23b) for P0. As discussed earlier in Section 4.5, here we additionally investigate removal of the big-M term in Eq. (12b) compared to Eq. (12a) for different tasks in different units. The comparison is given in Table 20, where we can observe that the improved model requires same number of events and gives the same optimal solution using Eqs. (12a) and (12b) in all instances except for P0 where Eq. (12b) gives better solution with less integrality gap within the specified resource limit. From Table 20, we can also observe that using Eq. (12b) solves faster compared to Eq. (12a) in most of the instances. Similarly, since this is a large-scale problem, we also investigated the effect of using Eq. (23a) versus using Eq. (23b) and found that in about two instances (P6 and P0) the results differ. For problem P6, the improved model required eight events and n = 1 using Eq. (23a) to find the optimal solution (MS = 30), whereas for n = 0 it gave a sub-optimal solution (MS = 31) due to the reasons explained earlier in Fig. 1. Whereas the improved model found the optimal solution (MS = 30) at eight events and n = 0 using Eq. (23b). The Gantt charts for these two cases are compared in Fig. 17. For fair comparison with Janak and Floudas (2008), the problem instances P1–P14 are also solved without considering the FIS constraints in the improved model and the solution statistics are shown in Table 21. Whenever real time storage violations are found in the Gantt charts then the model is solved using FIS constraints similar to Janak and Floudas (2008). In Table 21, the improved model is solved using Eq. (12b) for different tasks in different units and using Eq. (23a) for FIS constraints. Optimal solution obtained from our model is same as that of Janak and Floudas (2008) for all 14 demand instances (P1–P14). The number of continuous variables and constraints required by our model are much less than the Janak and Floudas (2008) model for the same number of event points. The CPU times for Janak and Floudas (2008) model are not reported here since a direct comparison is not attempted due to the difference in software and hardware used. Among the 14 instances, only in Problem P11 real time storage violations were found for states S7 and S8 (as reported by Janak and Floudas, 2008 also). Later, using FIS constraints for these states, the model found the makespan of
Table 19 Different problem instances of Westenberger–Kallrath problem. Problem
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P0
Demands (kg) S14
S15
S16
S17
S18
20 20 20 20 20 20 0 0 0 0 10 30 10 18 30
20 20 20 0 0 0 20 20 20 0 10 20 20 18 30
20 0 0 20 20 0 20 20 0 20 20 20 30 18 40
0 20 0 20 0 20 20 0 20 20 20 10 20 18 20
0 0 20 0 20 20 0 20 20 20 30 10 10 18 40
168
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
Table 20 Computational results for Westenberger–Kallrath problem with storage constraints. Problem instance
This work
Events
Binary variables
Continuous variables
Constraints
Makespan (h)
RMILP (h)
P1
Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a) Eq. (12b) Eq. (12a)
5 5 7 7 7 7 6 6 6 6 8 8 7 7 7 7 11 11 9 9 12 12 8 8 10 10 10 10 23 23
46 46 73 73 73 73 65 65 65 65 188 188 81 81 82 82 305 305 124 124 245 245 148 148 196 196 196 196 444 444
239 239 335 335 342 342 326 326 332 332 534 534 385 385 392 392 813 813 568 568 1003 1003 655 655 829 829 829 829 1711 1711
560 560 811 811 837 837 813 813 835 835 1782 1782 972 972 999 999 2734 2734 1572 1572 2935 2935 1878 1878 2406 2406 2406 2406 5177 5177
28 28 28 28 28 28 27 27 26 26 30 30 28 28 28 28 33 33 35 35 40 40 34 34 36 36 36 36 52 56
24 24 24 24 24 24 18.667 18.667 18.667 18.667 16 16 18.667 18.667 18.667 18.667 17.797 17.797 26.667 26.667 30.667 30.667 30 30 28 28 24 24 45.333 45.333
P2 P3 P4 P5 P6 (n = 1) P7 P8 P9 (n = 1) P10 P11 P12 P13 P14 P0 (n = 1) a b c d e f g
CPU time (s) 0.07 0.06 0.45 0.3 0.33 0.44 0.61 0.51 0.94 0.6 106.13 321.22 4.05 4.14 4.91 5.88 40,000a,b 40,000a,c 88.15 128.53 40,000a,d 40,000a,e 69.66 25.47 408.53 836.46 7092.17 14,525.53 40,000a,f 40,000a,g
Resource limit reached. Relative gap, 3.30%. Relative gap, 3.30%. Relative gap, 4.52%. Relative gap, 9.81%. Relative gap, 7.6%. Relative gap, 14.28%.
Table 21 Computational results for Westenberger–Kallrath problem without storage constraints. Problem instance
Model
Events
Binary variables
Continuous variables
Constraints
Makespan (h)
RMILP (h)
P1
This work J&F This work J&F This work J&F This work J&F This work J&F This work J&F This work J&F This work J&F This work J&F This work J&F This worka J&F This work J&F This work J&F This work J&F
5 5 6 6 6 6 6 6 6 6 8 8 7 7 7 7 10 10 8 8 12 12 7 7 9 9 9 9
46 46 59 60 59 60 65 65 65 65 97 97 81 81 81 81 137 137 106 106 245 244 124 124 172 172 172 172
239 568 284 669 290 669 326 664 332 664 443 862 385 763 392 763 601 1052 501 853 1003 1016 568 581 742 755 742 755
472 1180 599 1433 581 1433 683 1433 665 1433 933 1939 816 1686 795 1686 1291 2445 1111 1939 2561 2813 1362 1548 1806 2054 1806 2054
28 28 28 28 28 28 27 27 26 26 30 30 28 28 28 28 34 34 35 35 40 40 34 34 36 36 36 36
24 – 24 – 24 – 18.667 – 18.667 – 16 – 18.667 – 18.667 – 17.797 – 26.667 – 30.667 – 30 – 28 – 24 –
P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14
CPU times for J&F not compared here; –, not available. a FIS constraints are added for two states which have storage violations
CPU time (s) 0.05 0.1 0.09 0.48 0.67 72.55 3.09 3.16 11.25 8.35 25,542 1.07 32.69 263.74
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
Fig. 17. Gantt chart for problem P6 for minimization of makespan with FIS.
Fig. 18. Gantt chart for problem P11 for minimization of makespan with FIS.
169
170
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
Fig. 19. Gantt chart for problem P0 for minimization of makespan with FIS.
40 h using 12 events requiring a CPU time of 25,542 s with zero integrality gap. Problem P0 has been reported to be the most difficult problem to solve due to the high demand structure. To solve this problem, Janak and Floudas (2008) considered storage as a separate task for finite intermediate storage states that have real time storage violations. To increase the computational efficiency they also considered partial task splitting, in which tasks 2, 10, 11, and 12 are only allowed to split. Here, task 2 needs to split in order to allow two instances of task 3 within a single instance of task 2. Task 10 can occur in two units and to account for the production amount properly the task with the higher duration needs to split, if both tasks start at the same time. Task 11 can occur in two units and produces the zero-wait intermediate, so, the task with higher processing time needs to split at least once so that both tasks can end at the same time. For state 13, production task 12 can occur in two units with each unit having a maximum production capacity of 7 kg and the consumption task 17 can occur in two units with each unit having a maximum capacity of 12 kg. Here, to accommodate more number of production tasks to match the consumption tasks, production task needs to split. However, in this work, storage is not considered as a separate task and the storage limitations are appropriately monitored by using FIS constraints discussed earlier. Due to this, our approach has fewer instances of tasks that need to split over multiple events. In order to meet the huge demands, states S2 and S4 are required to be produced in large amounts. To accommodate the high production of intermediate state S4 in minimum time, only task 2, which is in recycle loop, needs to split at least once. Whereas in Janak and Floudas (2008) model, task splitting is additionally necessary for handling the finite storage cases as well. Based on this information, in our model, we allow only task 2 to occur over multiple events, leading to partial task splitting. Additionally, some tasks that cannot occur at certain events are eliminated during preprocessing. Using the improved model a new optimal solution of makespan of 52 h was found requiring 23 events and n = 1, with the resulting MILP model having 444 binary variables, 1711 continuous variables, 5177 constraints as shown in Table 20. As mentioned earlier Eq. (23b) was used for solving P0. Due to the bigger problem size P0 problem is solved on Dell precision T7500 workstation with 3.33 GHz Intel Xeon X5680 dual processor and 12 GB RAM running on linux operating system. Fig. 19 shows the Gantt chart for this problem. Thus, the challenging Westenberger–Kallrath benchmark problem also has been successfully solved using the improved three-index model requiring less number of continuous variables and constraints compared to the literature.
6. Conclusions In this work, we proposed an improvement over the three-index model of Shaik and Floudas (2009) by effectively incorporating the concept of active task throughout the model due to which the proposed formulation has fewer constraints and big-M terms. Improvements are proposed in allocation, duration and sequencing constraints, and the effect of big-M terms has been investigated in several constraints to enable solution of large-scale problems. Modified sequencing and duration constraints are proposed leading to tighter bounds for time variables and yielding better RMILP values for several problem instances. At higher n, our model requires less number of constraints and less nodes to reach zero integrality gap. Hence, the improved model is tighter than the original Shaik and Floudas (2009) model. Finally, this formulation is extended to solve 15 different instances of the challenging Westenberger–Kallrath benchmark scheduling problem, yielding better results.
Acknowledgments The corresponding author gratefully acknowledges the financial support received from Department of Science and Technology (DST), India, under SERC scheme, grant no. SR/S3/CE/075/2009. The authors gratefully acknowledge the invaluable comments and suggestions from the anonymous reviewers which led to several improvements.
Appendix A. Avoiding unnecessary task splitting Different techniques that are discussed in Section 3.5.2 to avoid unnecessary task splitting are explained here. Li and Floudas (2010) proposed the following alternative constraint, replacing the constraint proposed for different tasks in the same unit by S&F model to avoid unnecessary task splitting. However, we found that this constraint is not adequate to avoid unnecessary task splitting. In this work, we explore an alternate technique to avoid unnecessary task splitting, by adding a penalty on the tasks occurring over multiple events instead of using Eqs. (A.1)–(A.3) define modified objective functions corresponding to maximization of profit (Z1) and minimization of makespan (Z2), respectively, to avoid the unnecessary task splitting, where there is a penalty on the tasks occurring over
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
171
Table A.1 Computational results for examples 2b and 11a to avoid unncessary task splitting. Model
Example 2b with FIS (H = 10) This work with Eq. (A.2) and n = 1 This work with Eq. (A.1) and n = 1 Example 11a with resources (H = 12) This work with Eq. (A.2) and n = 2 This work with Eq. (A.1) and n = 2
multiple events.
Events
Penalty (P)
7 7 7
1 – –
2775.41 2775.41 2776.73
9 9 9
1 – –
21,394.73 21,394.73 21,394.73
⎡
⎛
⎢ ⎢
⎜ ⎜
⎣
⎝ n ∈ N
RMILP ($)
⎜ T s (i, n + 1) ≥ T f (i , n) − M ⎢ ⎢1 − ⎜
n ≤ n
×
n ∈ N
n ∈ N, n < n n ≤ n ≤ n + n
w(i , n , n ) −
n ∈ N n ≤ n ≤ n + n
⎞⎤ ⎟⎥ ⎟⎥
⎥ ×w(i , n , n )⎟ ⎟⎥ ,
∀i, i ∈ Ij , i = / i , j ∈ J, n ∈ N, n < N
⎠⎦
(A.1)
To get optimal schedule without unnecessary task splitting, we need to tune the penalty P by ensuring that the penalty is sufficiently high to cause a change in the schedule by preventing unnecessary task splitting and low enough that it does not worsen the original objective value. In other words, the penalty should not lead to a tradeoff between task splitting and original objective value.
⎛
⎞
⎜ ⎜ ⎜ ⎜ST (s, n) + Z1 = Ps is ⎜ p s ∈ S p n=N ⎜ i ∈ I s ⎝
n ∈ N
⎟ ⎟ ⎟ b(i, n , n)⎟ ⎟ ⎟ ⎠
n − n ≤ n ≤ n
⎛
⎞
⎜ ⎜ ⎜ −P ⎜ ⎜ ⎜ i ∈ I n ∈ N ⎝
⎟ ⎟ ⎟ ⎟ w(i , n, n )⎟ ⎟ ⎠
n n<
n
∈N
(A.2)
≤ n + n
⎛ ⎜ ⎜ ⎜ f Z2 ≥ T (i, N) + P ⎜ ⎜ ⎜ i ∈ I n ∈ N ⎝
⎞ n ∈ N
⎟ ⎟ ⎟ ⎟ w(i , n, n )⎟ , ∀i ∈ I ⎟ ⎠
n < n ≤ n + n (A.3)
MILP ($)
1962.69 1962.69 1962.69 13,000 13,000 13,000
CPU time (s)
Unnecessary split?
Tasks (i) continuing over multiple events
70.58 110.21 136.45
No Yes Yes
6, 8 5, 6, 8 6, 7, 8
243.50 287.29 303.48
No Yes Yes
1, 1, 7, 8 1, 1, 3, 7, 8, 9 1, 1, 7, 8, 10
Unlike all previous results, here we use the above modified objectives to test whether unnecessary task splitting is taking place or not. Consider two instances of examples 2b and 11a for the maximization of profit for which the computational results are reported in Table A.1 for different values of penalty, P = 0 and 1. For example 2b, with penalty P = 1 no unnecessary task splitting occurs, except for tasks 6 and 8 which are found to be necessary to obtain the optimal solution. Without the penalty term in the objective function (P = 0), unnecessary task splitting occurs for task 5 which starts at event n3 (with zero duration) and ends at n4 as seen in Fig. 10. The improved model is also solved using Eq. (A.1) of Li and Floudas (2010) instead of Eq. (10) to provide a comparison, and it results in unnecessary splitting of task 7. Similar observations are made from the results of Example 11a which gives optimal solution with penalty P = 1 where tasks 1, 7 and 8 occur over multiple events. Here, task splitting occurs twice for task 1 and hence is shown twice in Table A.1. For this example also, if we use Eq. (A.1) of Li and Floudas (2010) then it results in unnecessary splitting of task 10, which is true for our model also when we solve without the penalty term in the objective function (P = 0), where unnecessary task splitting occurs for tasks 3 and 9.
References Castro, P. M., Barbosa-Povoa, A. P., Matos, H. A., & Novais, A. Q. (2004). Simple continuous-time formulation for short-term scheduling of batch and continuous processes. Industrial and Engineering Chemistry Research, 43, 105. Durand, G. A., & Bandoni, J. A. (2010). Improving the computational performance of STN/RTN formulations for short-term scheduling. Industrial and Engineering Chemistry Research, 49, 12477. Floudas, C. A., & Lin, X. (2004). Continuous-time versus discrete-time approaches for scheduling of chemical processes: A review. Computers & Chemical Engineering, 28, 2109. Goel, A., & Shaik, M. A. (2010). Short-term scheduling of mixed-production facilities incorporating utility aspects. In 13th Asia-Pacific Confederation of Chemical Engineers (APCChE) Taipei, Taiwan. Ierapetritou, M. G., & Floudas, C. A. (1998). Effective continuous-time formulation for short-term scheduling: 1. Multipurpose batch processes. Industrial and Engineering Chemistry Research, 37, 4341. Janak, S. L., Lin, X., & Floudas, C. A. (2004). Enhanced continuous-time unitspecific event-based formulation for short-term scheduling of multipurpose batch processes: Resource constraints and mixed storage policies. Industrial and Engineering Chemistry Research, 43, 2516. Janak, S. L., & Floudas, C. A. (2008). Improving unit-specific event based continuoustime approaches for batch processes: Integrality gap and task splitting. Computers & Chemical Engineering, 32, 913. Joshi, N., & Shaik, M. A. (2010). Three-index model for scheduling of single-stage processes with parallel units. In 63rd Annual Session of Indian Institute of Chemical Engineers (CHEMCON) Chidambaram, India. Kallrath, J. (2002). Planning and scheduling in the process industry. OR Spectrum, 24, 219. Li, J., & Floudas, C. A. (2010). Optimal event point determination for shortterm scheduling of multipurpose batch plants via unit-specific event-based continuous-time approaches. Industrial and Engineering Chemistry Research, 48, 2947. Li, J., Susarla, N., Karimi, I. A., Shaik, M. A., & Floudas, C. A. (2010). An analysis of some unit-specific event-based models for the short-term scheduling of non continuous processes. Industrial and Engineering Chemistry Research, 49,633.
172
R. Vooradi, M.A. Shaik / Computers and Chemical Engineering 43 (2012) 148–172
Mendez, C. A., Cerda, J., Grossmann, I. E., Harjunkoski, I., & Fahl, M. (2006). Stateof-the-art review of optimization methods for short-term scheduling of batch processes. Computers & Chemical Engineering, 30, 913. Nadal, S., Capon-Garcıa, E., Mendez, C. A., & Puigjaner, L. (2008). Material transfer operations in batch scheduling. A critical modeling issue. Industrial and Engineering Chemistry Research, 47, 7721. Narayani, A., & Shaik, M. A. (2010a). Reactive scheduling in multipurpose batch plants. In International Conference on Modeling, Optimization and Computing (ICMOC), Durgapur (India), AIP Conf. Proc., 1298 (p. 368). Narayani, A., & Shaik, M. A. (2010b). Reactive scheduling in multiproduct batch plants with machine breakdown. In 63rd Annual Session of Indian Institute of Chemical Engineers (CHEMCON) Chidambaram, India. Pan, M., Qian, Y., & Li, X. (2008). A novel precedence-based and heuristic approach for short-term scheduling of multipurpose batch plants. Chemical Engineering Science, 63, 4313. Shaik, M. A., Janak, S. L., & Floudas, C. A. (2006). Continuous-time models for shortterm scheduling of multipurpose batch plants: A comparative study. Industrial and Engineering Chemistry Research, 45, 6190. Shaik, M. A., & Floudas, C. A. (2008). Unit-specific event-based continuous time approach for short-term scheduling of batch plants using RTN framework. Computers & Chemical Engineering, 32, 260.
Shaik, M. A., & Floudas, C. A. (2009). Novel unified modeling approach for short-term scheduling. Industrial and Engineering Chemistry Research, 48, 2947. Sundaramoorthy, A., & Karimi, I. A. (2005). A simpler better slot-based continuoustime formulation for short-term scheduling in multipurpose batch plants. Chemical Engineering Science, 60, 2679. Susarla, N., Li, J., & Karimi, I. A. (2010). A novel approach to scheduling multipurpose batch plants using unit slots. AIChE Journal, 56, 1859. Trehan, S., & Shaik, M. A. (2010). Improved three-index model for short-term scheduling of multi-purpose batch plants. In 13th Asia-Pacific Confederation of Chemical Engineers (APCChE) Taipei, Taiwan. Vooradi, R., Shaik, M. A., & Gupta, N. M. (2010). Three-index model for short-term scheduling of Westenberger–Kallrath benchmark problem. In International Conference on Modeling, Optimization and Computing (ICMOC), Durgapur (India), AIP Conf. Proc., 1298 (p. 380). Wang, S., & Guignard, M. (2002). Redefining event variables for efficient modeling of continuous-time batch processing. Annals of Operations Research, 116, 113. Wang, S., & Guignard, M. (2006). Hybridizing discrete- and continuous-time models for batch sizing and scheduling problems. Computers & Operations Research, 33, 971.