Article pubs.acs.org/IECR
Industrial Application of a Continuous-Time Scheduling Framework for Process Analysis and Improvement Matthew J. Hazaras, Christopher L. E. Swartz,* and Thomas E. Marlin Department of Chemical Engineering, McMaster University, 1280 Main Street West, Hamilton, Ontario, L8S 4L7, Canada ABSTRACT: We investigate the potential benefits of applying short-term continuous-time scheduling optimization to an industrial multiproduct food processing plant. The facility exhibits several unique production policies that are not supported by current continuous-time scheduling models. Several extensions to a general global event continuous-time scheduling model are proposed to address these limitations. In addition, problem knowledge is exploited to develop an aggregate reformulation of the model for application to the target problem. The potential benefits of scheduling optimization are assessed through several case studies. Historical plant performance is benchmarked, and the possible gains in production efficiency are highlighted. In addition, the scheduling models are used to evaluate potential benefits of operating policy and plant configuration changes.
1. INTRODUCTION Multiproduct batch plants are commonly used in the production of unique and high end products in the chemical, pharmaceutical, and food processing industries. In such plants, different products are produced with common equipment and shared resources. The utilization of the equipment and resources over time is specified through a production schedule, which specifies the timing and batch size of production tasks. Generating production schedules can be a nonintuitive task, due to the complexities of many operating facilities. Optimization techniques are able to account for such complexities and are well poised as methods to provide efficient solutions to these difficult problems. Over the last two decades the process systems engineering community has published a significant body of literature in the field of production scheduling of multiproduct/purpose batch processing facilities. Recent review papers of Méndez et al.1 and Floudas and Lin2 provide comprehensive discussions on the advances and developments in process scheduling optimization. The authors cover the general classification of scheduling problems and various optimization model developments. The strengths and weaknesses of popular modeling methodologies are discussed. One of the key modeling aspects in scheduling problems is the representation of time, with most modeling frameworks classified as either discrete or continuous. Floudas and Lin3 present an extensive comparison between discrete and continuous-time modeling approaches. The limitations of each time representation are discussed and examples are provided to compare computational performance. Sundaramoorthy and Maravelias4 present a computational comparison of discretetime and continuous-time scheduling formulations applied to several problems generated from five process networks. The results are analyzed and a number of inferences drawn. Shaik et al.5 present a comparative study of six different continuous-time scheduling models that cover the three key continuous-time formulation paradigms: slot-based, global event-based, and unitspecific event-based. Another important consideration in scheduling optimization is the applicability of models to solving large industrial problems. A large portion of the research presented to date © 2013 American Chemical Society
focuses on model formulation, with approaches evaluated using small example problems. Although the use of small problems can illustrate mathematical developments, it may not infer applicability to industrial sized problems. Several authors have presented research showing the applicability of scheduling optimization to industrial scale problems, with some notable examples as follows. Shah et al.6 present several strategies for enhancing the computational efficiency of the general discretetime state-task network (STN) formulation of Kondili et al.7 and apply their formulation to an operations scheduling problem based on an industrial hydrolubes plant over a 1 week scheduling horizon. At a 1 h time discretization, a solution is presented within a 5% optimality gap. Ierapetritou and Floudas8 propose a novel unit-event based continuous-time model for the scheduling of continuous and semicontinuous processes. Application of the model to a consumer goods manufacturing facility is demonstrated in two case studies. Sahinidis and Grossmann9 present a scheduling methodology to determine optimal cyclical schedules for multiproduct plants with parallel semicontinuous processes. The resulting mixed integer nonlinear problem (MINLP) model is applied to an industrial case study involving the scheduling of 26 polymer products in three parallel plants of a large chemical company. The scheduling model is also used to investigate the profitability of a 3 million dollar capital investment project. Lin et al.10 use an enhanced unit-event continuous-time STN model to solve an industrial scheduling problem with mediumrange horizons. The method is used to schedule an industrial plant with 35 products over a 1 month horizon. The horizon is decomposed into six shorter subhorizons that are solved iteratively to produce a production schedule that meets product demands and increases plant throughput by 9.1%. The main goal of this research is to investigate the potential benefits of applying schedule optimization to a target industrial Received: Revised: Accepted: Published: 259
March 2, 2013 September 9, 2013 December 2, 2013 December 19, 2013 dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
Figure 1. Supply chain layout.
facility which produces a consumer food product. To this end, an optimization model capable of addressing the processing characteristics and production policies of the target facility is required. The plant has several unique production policies not commonly addressed in conventional scheduling models, which include (i) grouping of production tasks based on material properties and processing requirements, (ii) the scheduling of a recurring plant-wide cleaning task, and (iii) limiting the number of times a processing task is allowed to occur within the production schedule. A detailed description of the processing facility and unique production policies is given in section 2. The general continuous-time scheduling model is presented in section 3, with extensions to address the unique production policies of the target facility. Section 4 presents an aggregate model developed to further exploit problem knowledge and improve computational performance. The case studies of section 5 compare the schedules generated through optimization techniques against the historical production schedules developed by the plant personnel. Benefits of optimization are assessed through comparison of the schedules and quantifying the efficiency gains. The focus of section 6 is the evaluation of potential operating policies for implementation after a planned plant retrofit. The aggregate scheduling model is modified accordingly and a case study is revisited to compare the alternative operating policies. The paper is concluded in section 7.
Figure 2. Production facility layout.
production schedules. Inventory of both raw materials and product is kept on site to satisfy customer demands. The facility produces on the order of 50 different stock keeping units (SKUs) which are based on roughly 30 product material formulations. Each material formulation is associated with a group of product SKUs which are varied in packaging size; this group is considered a product family. Similarities between product families exist in the product formulations, as key ingredients lead to similar allergen concerns and crossproduct contamination issues. Due to the similarities between product formulations, a subset of product families is further segregated into 6 groups, herein referred to as production groups. A particular production group may include more than one product family. The remaining product families are considered as general product families, in that they can be associated with any group. If production is to change between these groups, a plant-wide cleaning operation must be conducted for quality control reasons. The production facility consists of four main areas: raw material storage, a mixing area, a packaging area, and product storage facilities. The overall production process is depicted in Figure 2. The mixing train receives raw materials from storage to be portioned and mixed. The mixed intermediated material is then transferred to the packaging area for finishing. The packaging area consists of four packaging lines; three packaging lines (U1, U2, U3) are reserved for the packaged products (small, medium, large). The fourth packaging line U4 is used to
2. PROBLEM DESCRIPTION This research focuses on a production facility manufacturing a consumer food product. The supply chain of which the plant is a part of is shown in Figure 1, while the production facility layout is illustrated in Figure 2. The product supply chain consists of the production facility with customer demand and material supplier nodes. The corporate office receives weekly orders from customers and forecasts future product demands. Production targets and demand forecasts are then sent to plant management who utilize the data to generate weekly 260
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
finish specialized products. There is no intermediate storage between the mixing train and the packaging lines; thus the mixers together with one of the packaging lines act as a single unit. In the original plant configuration, only one of these units could be operational at any point in time. However, this restriction was subsequently lifted as a result of a plant retrofit; we analyze this case in section 6. The finished products are sent to storage for holding before shipment to meet customer demands. Changeovers in processing operations are sequence dependent and can be classified by duration into three types: a 15 min, 1 h, and 3 h clean. The 3 h clean is a plant-wide operation where all processing equipment is taken offline for cleaning and sanitation. This operation is required to be conducted within 36 h from the start of production processing, and thereafter within 36 h of the previous plant-wide clean. Production policies also stipulate the grouping of production tasks based on material formulations. First, production tasks within the same product family are required to run in an uninterrupted group within the production schedule. Second, it is required that only one production group be active between plant-wide cleans. Such a production group would include product families designated as members of that group, as well as general product families that are not associated with any particular production group. Production tasks are required to only occur once within a production schedule. In this application, transition times between tasks within a product family are uniform, but may differ for transitions between product families (and depend on the production sequence). This is primarily due to the properties of different product formulations such as color, where the cleaning time for a transition from a darker to lighter product would be greater than the reverse sequence. The requirement of a plant-wide clean between production groups is largely due to crosscontamination and quality control considerations.
In the state-task network paradigm adopted, states are represented through index s and account for all raw, intermediate, and product materials. Processing tasks are indexed as i and processing units are indexed as j. Set Ij is introduced as the set of tasks i which can be performed on unit j. A key feature of the continuous-time scheduling formulation is the postulation of a set of event points, denoted through index n ∈ N, whose timing is not specified a priori but determined as a result of the optimization. The exact timing of each event point is tracked through variable Tn. Time Ordering Constraints. The ordering and relative timing of event points is tracked through variables Tn and the constraints,
Tn = 1 = 0
(1)
Tn =|N | = H
(2)
Tn − 1 ≤ Tn
∀n
(3)
where N represents the ordered set of event points and H defines the length of the scheduling horizon. Assignment Constraints. Binary variables Wsin and Wf in are used in conjunction with the constraints below to ensure valid allocation of tasks to event points and units. Wsin assumes a value of 1 if task i begins processing at event point n and is zero otherwise; Wf in is 1 if task i finishes at or before event point n.
∑ Wsin ≤ 1
∀ j, n
i ∈ Ij
∑ Wfin
(4)
∀ j, n
≤1
i ∈ Ij
(5)
∑ Wsin = ∑ Wfin n
∀i (6)
n
∑ ∑ (Wsin′ − Wfin′ ) ≤ 1
3. PROBLEM DEFINITION AND FORMULATION 3.1. Problem Definition. The short-term scheduling problem considered in this research is defined as follows. Given (1) a time horizon, (2) the available process units, storage units, and their capacities, (3) the production recipe, (4) the initial raw materials and any midhorizon material receipts, (5) any production grouping and task occurrence restrictions, and (6) sequence-dependent and plant-wide cleaning durations and requirements, determine (1) the optimal sequence, grouping and timing of all active production tasks, (2) the batch size of all active tasks, and (3) the timing of plant-wide cleaning operations. 3.2. Formulation: The Basic Continuous-Time Scheduling Model. The scheduling models developed in this research use the global event continuous-time state-task network paradigm developed by Maravelias and Grossmann.11 The framework was chosen for the treatment of event points, which are common for all equipment units and plant resources. The model is extended to incorporate unique processing features exhibited in the production facility. These extensions are partially based on research presented by Hazaras et al.12 In this section a brief description of the general global event continuous-time model will be given, and instances where constraints are modified will be explained in detail. We note that the production facility is treated as a single-stage plant due to the storage limitations and connectivity restrictions between the mixing train and packaging units.
∀ j, n
n ′≤ n i ∈ Ij
(7)
In addition, no task is allowed to finish at the first event point (Wf i,1 = 0) and no task is allowed to begin at the end of the scheduling horizon (Wsi,n=|N| = 0). Start, Processing, and Finish Time Constraints. The total processing time of task i is accounted for through variable Tpin. The start and finishing time of task i is tracked through variables Tsin and Tfin, respectively. These variables are related through the following constraints: Tpin = αiWsin + βi Bsin
∀ i, n
(8)
Tfin ≤ Tsin + Tpin + H(1 − Wsin)
∀ i, n
(9)
Tfin ≥ Tsin + Tpin − H(1 − Wsin)
∀ i, n
(10)
Constraint 8 expresses the processing time of task i to be an affine function of its batch size, Bsin, at event point n. Time Matching Constraints. Time matching constraints are used to ensure event point timing is consistent with task completion and task recurrences: Tfin − Tfi , n − 1 ≤ HWsin
Tfin − Tfi , n − 1 ≥ Tpin Tsin = Tn 261
∀ i, n
∀ i, n
∀ i, n
(11) (12) (13)
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
Tfi , n − 1 ≤ Tn + H(1 − Wfin )
∀ i, n
(14)
Tfi , n − 1 ≥ Tn − H(1 − Wfin )
∀ i ∈ ZW , n
(15)
certain circumstances, a modeling simplification can be used to remove the requirement for additional event points. For example, the target facility is modeled as single-stage and product states require no further processing. Therefore, it is possible to postpone the occurrence of the next event point while maintaining material transfer policies. The modified sequence dependent changeover constraints are given as
In this global event continuous-time formulation, the finish time of a task remains unchanged until its subsequent occurrence, as expressed through constraint 11. Constraint 15 requires the finish time of a task with a zero-wait material transfer policy (i ∈ ZW) to coincide with the timing of an event point. Batch Size Constraints. Batch size variables are introduced to track the size of a batch throughout the scheduling horizon. Bsin, Bpin, and Bfin represent respectively the batch size of task i that starts at event point n, that is in process at event point n, and that finishes at or before event point n. The batch size variables are required to satisfy the following constraints: Bimin Wsin ≤ Bsin ≤ Bimax Wsin
∀ i, n
(16)
Bimin Wfin ≤ Bfin ≤ Bimax Wfin
∀ i, n
(17)
Bimin ( ∑ Wsin ′ − n ′< n
∑ Wfin′ ) ≤ Bpin
n ′< n
(18)
∑ Wfin′ ) ≥ Bpin
∀ i, n
COii ′ n ≥ Wfin + Wsi ′ n − 1
(19)
n ′≤ n
Bsi , n − 1 + Bpi , n − 1 = Bpin + Bfin
∀ j , i ∈ Ij , i′ ∈ Ij|clii > 0, n > 1 (27) ′ Constraint 27 ensures that the start time of task i′ occurs at least clii′ hours from the completion of task i. The constraints are enforced only if task i′ occurs at event point n. The above constraints effectively postpone the start time of task i′ and no additional event points are needed. Tightening Constraints. Several tightening inequalities proposed in Maravelias and Grossmann11 are used to improve the computational performance of the continuous-time model. Variable COii′n is introduced here to track the occurrence of process changeovers and is defined as 1 if a changeover from task i to i′ occurs at event point n. The following constraints are imposed:
∀ i, n
n ′≤ n
Bimax ( ∑ Wsin ′ −
Tsi ′ n ≥ Tfi , n − 1 + clii ′ − H(1 − Wsi ′ n)
∀ i, n
∀ j , i ∈ Ij , i′ ∈ Ij , 1 < n < |N | , clii ′ > 0
(20)
∑ ∑ COii′ n ≤ 1
Consumption and production of material states is tracked respectively by variables BIisn and BOisn, in accordance with: I Bisn
= ρis Bsin
O Bisn = ρis̅ Bfin
∀ i , n , s ∈ SIi
(21)
∀ i , n , s ∈ SOi
(22)
I Bisn ≤ ρis Bimax Wsin
∀ i , n , s ∈ SIi
(23)
O Bisn ≤ ρis̅ Bimax Wfin
∀ i , n , s ∈ SOi
(24)
BIisn
i ∈ Os
i ∈ Is
∑ ∑ Tpin + ∑ ∑ ∑ clii′COii′ n ≤ H i ∈ Ij
n
n
n
∀j
i ∈ Ij i ′∈ Ij
(30)
∑ ∑ Tpin′ + ∑ ∑ ∑ clii′COii′ n′ ≤ H − Tn i ∈ Ij n ′≥ n
∀ s, n
∀ j, n
n ′> n i ∈ Ij i ′∈ Ij
(31)
(25)
∑ ∑ (αiWfin′
In addition, the sale of any product state must meet minimum specified demands:
∑ SSsn ≥ Ds
(29)
Constraint 28 equates COii′n to 1 if task i finishes and task i′ begins at event point n. The constraint is a modification from that originally proposed; Wf in is changed from Wf i,n−1. This modification is done to remain consistent with the treatment of sequence dependent changeovers in the current formulation. Constraint 29 ensures the sum of changeover indicator variables is less than or equal to 1 at event point n for every unit j. Although not part of the original formulation, the constraint leads to improved computational performance. Having defined the changeover indicator variable, the tightening inequalities are given as:
and represent the amount of material state s consumed and produced respectively by production task i at event point n; SOi and SIi represent the set of states s that are produced and consumed by task i respectively; and ρis and ρ̅ is are consumption/production proportionality factors. Material Balance Constraints. The transfer, sale, production and consumption of all material states is accounted for in a material balance equation for each state s:
∑ BisnO − ∑ BisnI
∀ j, n
i ∈ Ij i ′∈ Ij
BOisn
Ssn + SSsn = Ss , n − 1 +
(28)
i ∈ Ij n ′≤ n
∀ j, n
∀s (26)
+ βi Bfin ′) +
∑ ∑ ∑ clii′COii′ n′ ≤ Tn n ′≤ n i ∈ Ij i ′∈ Ij
(32)
Constraint 30 states that the total processing time of tasks on unit j, plus the sum of the required changeover time, should not exceed the total horizon time. Constraint 31 implies that the total processing time of tasks completed on unit j after event point n, plus the required changeover time, should not exceed the time left in the horizon after event point n. The total processing time of tasks finished at or before event point n, plus the required changeover time on unit j must be less than the timing of event point n, as enforced through constraint 32. It is
In the above, Ssn represents the quantity of state s at event point n, SSsn represents the sales of state s at event point n, and Ds represents the minimum demand of state s in the scheduling horizon. Sequence Dependent Changeovers. In the model formulation of Maravelias and Grossman,11 sequence dependent changeovers require the addition of extra event points to accurately model material release from processing tasks. Under 262
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
occurrence of a plant-wide cleaning task, does T̂ in contribute to the sum; it is zero otherwise through constraint 35. Scalar Hc is the upper bound of the slack necessary to relax constraint 33 and is given as H + ∑i ∈ Ic θi. T̅ in relaxes constraint 33 if plantwide cleaning task i does not occur at event point n. The following additional constraints are imposed:
noted that COii′n can be treated as continuous on [0,1], as nonintegral values do not pose additional restrictions on the solution. 3.3. Extension to Plant-Wide Cleaning Tasks. As stated in section 2, a plant-wide cleaning operation must occur within 36 h of the start of process operations, and thereafter within 36 h of the last plant-wide clean. Previous research has shown that similar recurring maintenance tasks can be efficiently optimized in global event continuous-time scheduling models;13 we apply a similar construct here. We can consider the plant-wide cleaning operations as a type of maintenance event that is carried out periodically, with a recurring interval no greater than Γ hours. Each occurrence of a plant-wide cleaning operation is represented with a unique task which belongs to the set of all tasks i ∈ I. Let Ic represent the set of plant-wide cleaning tasks. The duration of the plant-wide cleaning task is prescribed by variable Tpin through parameter αi as in constraint 8. Each plant-wide cleaning task i ∈ Ic is nominally prescribed with a maximum planned start time that represents the maximum time allowed before task i ∈ Ic must occur. This is represented through parameter TCi and occurs at intervals according to plant policy. For example, if Γ represents the maximum allowable production time before a plant-wide clean must occur, and α is the length of the cleaning task, then TCi would be chosen as TCi = Γ + (i − 1)(Γ + α). It is noted that tasks i ∈ Ic are process-wide and as such each task appears in the set Ij for all units j. As the timing of event points is unknown prior to optimization, the formulation must be free to assign plantwide cleaning tasks to any event point n. This is accomplished with the introduction of binary variable Yin, which is defined as 1 if plant-wide cleaning task i begins at event point n. It may be optimal for tasks i ∈ Ic to occur prior to specified limits. This is accommodated by introducing variable T̂ in which represents the backward timing slack from the specified planned maximum start time of task i. If plant-wide cleaning task i occurs at event point n, then the timing of the current event point must equate to the timing of the plant-wide cleaning operation: Tn = TCiYin + Tin̅ −
∑ ∑ Tî′ n′ n ′≤ n i ′≤ i
0 ≤ Tin̅ ≤ Hc(1 − Yin)
0 ≤ Tin̂ ≤ θcYin
∀ i ∈ Ic , n
∀ i ∈ Ic , n
∑ Yin = 1
∀ i ∈ Ic
(36)
n
Yin ≤ Wsin
∀ i ∈ Ic , n
(37)
Yin ≥ Wsin
∀ i ∈ Ic , n
(38)
Every process-wide cleaning task i ∈ Ic is required to occur at an event point in the scheduling horizon, as enforced through constraint 36. Constraints 37 and 38 ensure that process-wide cleaning tasks i ∈ Ic only occur in accordance with binary variable Yin. It is also necessary to ensure that the final plant-wide cleaning task finishes within Γ hours of the final horizon time. The variable Tfc is introduced to represent the finishing time of the final plant-wide cleaning task. The following constraints are enforced: Tfc ≤ Tfin + H(1 − Yin)
∀ i = |Ic| , n
(39)
Tfc ≥ Tfin − H(1 − Yin)
∀ i = |Ic| , n
(40)
H − Tfc ≤ Γ
(41)
Constraints 39 and 40 enforce Tfc to equate to the finishing time of the final plant-wide cleaning task. Constraint 41 enforces the final cleaning task to occur within Γ hours of the final horizon time. 3.4. Extension to Production Policies. The target facility follows three sets of production policies related to the relative ordering and occurrence of processing tasks within the production schedule. These are (i) all active tasks within a product family must be run as a group in the production schedule, (ii) product families in a production group must be run together in the schedule, and must be separated by a plantwide cleaning task, and (iii) no duplication of production tasks is allowed. Product Family Grouping. As processing tasks in a product family all use the same material formulation, it is required by plant policy to group such tasks together within the scheduling horizon. The product families are introduced as index f and If is given as the set of tasks i that belong to product family f. Fj is introduced as the set of product families f capable of production on unit j. All active tasks i ∈ If are required to be run as a group within the production schedule, which is accomplished through restriction of the tasks which can be active on unit j at event point n. Two variables are introduced to track the activity of product families: Fafn which is equal to 1 if product family f is active or processing on unit j at event point n, and Fffjn which is equal to 1 if product family f is finishing on unit j at or before event point n. Product family f must be active at event point n for any tasks i ∈ If to be processing. The following constraints are imposed:
∀ i ∈ Ic , n (33) (34) (35)
Constraint 33 represents the timing assignment constraint and includes the allowance of backward slack on the timing of task i through variable T̂ in. We draw the reader’s attention to several key points. TCi enforces the maximum permissible start time of plant-wide cleaning task i if no backward timing slack is allocated. In this case, θc = 0, thus if a plant-wide clean occurs at event point n, Yin = 1 (by definition), T̅ in = 0 and T̂ in = 0 through constraints 34 and 35, respectively, and Tn = TCi through 33. By choosing θc > 0, plant-wide cleans are allowed to occur earlier than the maximum permissible interval between consecutive cleans through a nonzero value of the slack variable T̂ in. However, the slack variable is included in the timing calculation of subsequent plant-wide cleans, to ensure that the maximum permissible interval between plant-wide cleans is not exceeded. This is accomplished through the double summation term in constraint 33. The first summation is over all event points up to n, and the second is over the set of ordered plantwide cleaning tasks. Only if event point n′ corresponds to the
Fa fjn ≥ Wsin Fa fjn ≥
∀ j , f ∈ Fj , i ∈ I f , n
∑ Wsin′ − ∑ Wfin′ n ′< n
(42)
∀ j , f ∈ Fj , i ∈ I f , n
n ′≤ n
(43) 263
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
Constraints 42 and 43 enforce product family f to become active if task i ∈ If is starting or processing on unit j at event point n, respectively. Fa fjn ≥ Fa fj , n − 1 − Ff fjn Ff fjn ≤ Fa jf , n − 1
∑ Fa fjn ≤ 1
∀ j , f ∈ Fj , n
∀ j , f ∈ Fj , n
∑ Gagn ≤ 1
Gagn ≥ Gag , n − 1 − En
∀ j, n
Constraint 44 ensures that if product family f becomes active on unit j at event point n − 1, it remains active until determined to finish. A product family can only finish if it was previously active, as enforced through constraint 45. Constraint 46 states that only one production family f may be active on unit j at event point n. The following constraint is key to the construction of the above production policy: ∀ j , f ∈ Fj
En ≥ Yin En ≤
Gagn ≥
∀ g , i ∈ Ig , n
∑ Wsin′ − ∑ Wfin′ n ′< n
n ′≤ n
(51)
∑ Yin
(52)
∀n (53)
En is is bounded both above and below by binary variables, and may be treated as continuous on [0,1]. Gagn is also treated as continuous on [0,1] for reasoning similar to that proposed for variables Faf jn and Fffjn. We note that (1) not all tasks assigned to a production group have to occur during the period when the production group is active, and (2) a production group is allowed to run more than once in the scheduling horizon. The production grouping constraints can also be used in multipurpose batch plants to (i) group tasks based on the types of resources utilized, or to indirectly restrict what utilities are used at a given event point, (ii) separate the production of intermediate and product states, a process similar to campaign type modes of operation, and (iii) to group tasks which may require additional supervision or testing to occur such that personnel are utilized effectively. Task Occurrence Restrictions. The processing policies of the target facility state that production tasks should not be duplicated within the production schedule. This requirement can be formulated as the additional constraints given below:
By limiting Fffjn to be less than or equal to one, we are restricting the number of times a product family may become active to one. Therefore all active tasks i ∈ If must occur as a single group within the production schedule, which may span multiple event points. This also requires that no product family be active at the final event point (Faf,n=|N| = 0). It is noted that Fafjn and Fffj,n may be treated as continuous on [0,1]. Fafjn and Fffj,n assume the value of 1 when required through constraints 42−44; in other cases, nonintegral values place no additional restrictions on the optimal solution. Production Grouping. A production group is defined as a group of tasks i that produce product materials with similar properties and use similar raw materials. As such, production groups share similar product quality and processing concerns. Plant policy requires production groups to be separated by process wide cleans. In this formulation, production groups are represented through index g, and Ig is given as the set tasks i producing products within production group g. Similar to the product family grouping, the activity of production groups is moderated by additional variables. Gagn is introduced to track the activity of production group g at event points n. It is noted that in this framework a production group is independent of processing equipment units due to the plant layout, although it is possible to have production groups on single units or groups of equipment units. Any task i ∈ Ig cannot be processing unless the respective production group is active. The following constraints are imposed: Gagn ≥ Wsin
∀ i ∈ Ic , n
i ∈ Ic
(47)
n
∀ g, n
En is used to account for the activity of plant-wide cleaning tasks and is defined as 1 if a plant-wide cleaning task begins at event point n. The following constraints force variable En to 1 when any plant-wide cleaning task i occurs at event point n and zero otherwise:
(46)
∑ Ff fjn ≤ 1
(50)
If production group g becomes active at event point n − 1, it must remain active until a plant-wide cleaning task occurs, enforced by
(44) (45)
f ∈ Fj
∀n
g
∑ Wsin ≤ κi
∀i (54)
n
∑ Wfin
∀i
≤ κi
(55)
n
Constraints 54 and 55 limit the number of times processing task i is allowed to start and finish within the scheduling horizon respectively. κi is a parameter defining the number of times task i is allowed to start or finish. In the present application, κi is set to unity for production tasks. Auxiliary Constraints. In the original configuration, the facility may be modeled as single-unit, single-stage plant, in which case the binary indicator variables can be related as follows:
(48)
∀ g , i ∈ Ig , n
Wsin ≤ Wfi , n + 1
(49)
∀ j ∈ J * , i ∈ Ij , n
(56)
Constraint 56 requires a task i to finish at the subsequent event point from which it started. This remains valid for a single-unit facility as no other processing tasks can be run concurrently, and therefore no additional events points are needed to model the optimal schedule. Here J* represents the set of units for which such an auxiliary constraint applies. A potentially more efficient formulation for the single-stage plant case could be achieved by restating constraint 56 as an equality, and eliminating a set of variables. However, our implementation
Constraints 48 and 49 equate Gag,n to 1 if a task i in production group g is currently starting or processing at event point n. It is noted that the above constraints are only enforced for tasks i which belong to a production group g. If any task i is not included in set Ig∀g then that task is not restricted to occur in any specific production group, and can occur at any event point within the scheduling horizon. Only one production group g may be active at event point n, as given through the following constraint: 264
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
of production runs would incur additional changeover times, thereby degrading the solution.
retains the full set of variables in order to address a parallel mode of operation as well, as described in section 6. Kopanos et al.14 present a planning and scheduling formulation that includes product families, with sequencedependent costs associated with changeovers between different product families. While there are similarities in concept to our approach, the formulations follow different paradigms. For example, Kopanos et al.14 use fixed-length planning periods and a continuous-time approach for scheduling that utilizes immediate precedence variables, rather than event points as in the present formulation. The present formulation also includes the additional classification of product families into production groups. Amorim et al.15 in a comparative study, found the formulation of Kopanos et al.14 to outperform three other formulations selected from the operations research and process systems engineering communities. They also proposed a reformulation to improve computational performance. 3.5. Objective Functions. Two objective functions are considered in the industrial case studiesmakespan minimization and throughput maximization. Throughput maximization takes the following form: max Z =
∑ ∑ SSsn s
n
4. AGGREGATE MODEL FORMULATION The solution of large and complex continuous-time scheduling models can be computationally challenging. Méndez et al.1 remark that the complex structure of continuous-time models makes them useful for problems with a modest number of event points, citing 15 event points as a possible upper bound. Lin et al.10 and Janak et al.16 present work on medium-term scheduling of batch plants. The horizon is decomposed into smaller more manageable subhorizons which are solved in an iterative solution procedure. The number of event points in the reduced horizon scheduling problem ranges from 6 to 10 in example problems presented,16 and 10 to 23 in an industrial case study.10 Similar numbers of event points are reported in Shaik et al.,5 where the authors compare the computational efficiency of continuous-time modeling methodologies. Historically, the production facility of this research produces in excess of 15 different products on a weekly basis. As the plant is modeled as single-stage this implies that in excess of 15 event points will be required to model a production schedule which may lead to computational difficulties in solving the MILP problems. Another important issue with MILP optimization is the existence of multiple equivalent solutions for a given problem. These equivalent solutions represent symmetry within the optimization problem caused by binary variables associated with indistinguishable objects. This causes mirroring in the solution procedure, as the algorithm is forced to explore symmetrical reflections of multiple solutions during the branchand-bound search, leading to performance degradation.17 To circumvent this problem, model augmentation or reformulation is often necessary to remove or reduce the inherent symmetries. Within scheduling problems, the assignment binaries can be associated with indistinguishable objects; in various instances task sequence may be permuted without effect on the objective function. As the problem size grows, the symmetry issues are compounded as multiple product pathways exist and equipment can be utilized in multiple ways at different times to produce the same output. In the current study, the sequence of active production tasks i in product families f pose a symmetry issue. First, the processing tasks i ∈ If are required to be sequenced as a group in the production schedule. Second, changeover durations between tasks i ∈ If are identical for any product family. Therefore, the sequence of tasks i in a product family f is irrelevant and will not impact the objective function of the scheduling problem. Each possible sequence of active tasks i ∈ If will be a symmetrical solution for the scheduling problem. It would be advantageous to remove these symmetrical solutions from the MILP problem to improve the computational performance of the scheduling optimization. 4.1. Model Reformulation: Task−Family Aggregation. One intuitive method to reduce these inherent symmetrical solutions is to remove the need to sequence individual tasks i ∈ If. Tasks i can be aggregated into the respective product families f and sequencing can be conducted on the product families. Product families f are sequenced at event points n, with all active tasks i ∈ If occurring at that event point. Figure 3 presents a comparison between the general (A) and aggregate (B) continuous-time modeling techniques. The general continuous-time model requires tasks i ∈ If to occur as a
(57)
Variable Z represents the total weight equivalent of all states s sold to market within the scheduling horizon. Equation 57 defines the throughput maximization objective function as the maximization of all material sold to market. In addition, it is also common for a profit maximization objective to be considered in scheduling optimization.11 Makespan minimization takes the following form: (58)
min Tms
Tms represents the makespan of the scheduling period, given as the completion time of the final processing task. Tms must replace parameter H in constraints 2, 41, 30, and 31 in order to enforce it as the makespan of the schedule. Model MC is defined as constraints 1−56, using either makespan minimization or throughput maximization as the objective. The minimum number of event points needed for the model can be calculated prior to optimization as follows: First, as the plant is modeled as a single-stage process the number of positive demand parameters will correspond to the number of tasks that must be conducted. Second, the minimum number of process-wide cleaning tasks needed can be calculated from the horizon length, time limit between tasks and the duration of the cleaning tasks. The above combine to determine the minimum number of event points needed. In addition, model sizes are reduced by restricting the binary variables that participate in the optimization in the following way: Let D+ represent the set of all product states s with a positive demand parameter; then the following binary restriction is imposed for makespan minimization problems: Wsin = Wfin = 0
∀ s ∉ D+ , i ∈ Os
Such restrictions aid in reducing model sizes and improving the computational performance of the model. Typically, the optimal number of event points for models of this type would be determined in an iterative manner, during which event points are successively added until no improvement in objective function value is observed. However, in the present application, the minimum number of event points, as determined a priori, was found to be optimal. Further splitting 265
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
now given as constraint 62, and is identical to the original assignment constraint except with a change of variables. The following additional constraints are imposed:
Figure 3. Task−Family Aggregation: (A) general continuous-time mode, sequencing optimized between all tasks i, (B) aggregation of tasks i ∈ If such that sequencing is optimized between product families.
Wsin ≤ Vs fn
∀ f , i ∈ If , n
(63)
Wfin ≤ Vf fn
∀ f , i ∈ If , n
(64)
∑ Wsin = ∑ Wfin n
∑ Vf fn
≤1
∑ ∑ Vsfn′ − Vf fn′ f ∈ Fj n ′≤ n
∀f (61)
≤1
(66)
5. INDUSTRIAL CASE STUDIES The following section will present three case studies that illustrate the application of the scheduling formulations and highlight the benefits of scheduling optimization at the target production facility. Each case study has been developed from historical plant data comprising the week-to-week information collected within the facility. The first two case studies examine the differences between schedules generated using optimization and schedules developed by plant personnel. The third case study examines a scenario where a midweek rescheduling of the process is required. The case study is based on the data of Case Study 2 and results are compared against the actual rescheduled production scheme. All three case studies examine the problem of makespan minimization, and results are compared in terms of the time savings of the optimal schedules. Gantt charts are used to graphically display the results of the optimized and
(60)
n
∀ f, n
Through this definition it is possible to have multiple tasks i ∈ If occur at the same event point, as the overall processing time is enforced explicitly. The fixed setup times for tasks i (αi) are not included in the above formulation, but can be readily added if required. Complete Model. Constraints that capture recurring maintenance events and production grouping as described in section 3, together with an objective function, complete the aggregate model. The full model is summarized in Appendix A. We note that recurring maintenance events now have to be scheduled alongside product families, rather than individual tasks as before. This may be achieved by defining additional product families that correspond to maintenance events.
∀ j, n
∑ Vsfn = ∑ Vf fn
∑ (γf Wsin + βi Bsin) − γf Vsfn i∈If
(59)
f ∈ Fj
n
Tpfn =
∀ j, n
f ∈ Fj
(65)
Processing tasks i ∈ If are allowed to occur only if family f is scheduled to begin at event point n, as enforced through constraint 63. Constraint 64 enforces that task i can only finish at event point n if product family f is scheduled to end. Constraint 65 ensures that all tasks that start must also finish. As before, no product family is allowed to finish at the beginning of the horizon (Vf f,1 = 0), and no family is allowed to begin at the end of the horizon (Vsf,n=|N| = 0). Similar restrictions are enforced on processing tasks; that is, Wf i,1 = 0 and Wsi,n=|N| = 0. Family Processing Time Constraints. The processing time of a product family is tracked through variable Tpfn and represents the total processing time of product family f at event point n. The processing time of product family f is calculated as the sum of the processing times of tasks i ∈ If and the required changeover time between tasks in family f. The changeover time within a production family is expressed as γf(∑i ∈ If Wsin − Vsfn), where γf defines the changeover time between tasks i ∈ If. This gives
group, but each occurrence of a task requires an event point. The processing time of task i is given through variable Tpin. The aggregate continuous-time model sequences the product families at event points n and all active tasks i ∈ If occur at this event point. The total processing time of the aggregate processing family is given through variable Tpfn, which is a combination of the total processing time and changeover time of tasks i ∈ If. It is noted that such an aggregation presents two assumptions: First, the sequence of the tasks i ∈ If is no longer determined as part of the optimization and is left as a decision to the operators. Second, the aggregation of different tasks that occur at the same event point can interfere with material transfer policies and product due dates. However in the present study these assumptions do not pose a problem. Castro et al.18 present an aggregation technique that is similar in spirit to that used in the present study. Multiple occurrences of a batch processing task are aggregated into an explicit task with the number of batches accounted for through integer variables. The processing time of the explicit aggregation is determined as the combination of total batch processing and changeover times. The key constraint changes of the aggregate model will be presented in this section, with the full model presented in Appendix A. Two binary variables are introduced to sequence product families throughout the scheduling horizon: Vsfn is defined as 1 if production family f is scheduled to begin processing at event point n, and Vf fn is similarly defined as 1 if production family f is scheduled to finish processing at or before event point n. Set Fj as before represents product families f capable of operating on unit j. Family Sequence Assignment Constraints. The sequencing is now conducted on product families as opposed to the individual tasks i ∈ If. The assignment constraints are now written as
∑ Vsfn ≤ 1
∀i
n
∀ j, n (62)
Constraint 59 enforces that only one product family f can start on unit j at event point n, and constraint 60 similarly enforces that only one product family f can end on unit j at or before event point n. All product families that begin must finish, as given through constraint 61. The main assignment constraint is 266
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
Figure 4. Industrial Case Study 1: The historical schedule is given as the top chart and the optimized schedule is given as the bottom.
production group 3 is run twice, first with group member family F2 and unassigned families F16 and F23, and subsequently after the plant-wide clean with group members F26 and F15, and unassigned family F1. The optimized schedule has a total of 13.5 h of changeover time, attributed to 14 changeovers of 0.25 h, 4 changeovers of 1 h, and 2 plant-wide cleans. The historical schedule has a makespan of 107.25 h while the optimized production schedule has a makespan of 102.5 h. The reduction in the scheduled makespan is attributed to the removal of two plant-wide cleaning tasks, being replaced with one 0.25 h changeover and a 1 h changeover. This reduction of 4.75 h of changeover time corresponds to a 26% reduction in the changeover time for this production week. The computational performance of models MC and MS is given in Table 1. Symmetry aggregate model MS is observed to
historical production schedules. Processing tasks are represented as horizontal bars, and patterns identify the product family to which the task belongs. Changeover operations are represented as black bars at the end of the production tasks and process wide cleaning tasks are shown as vertical black bars on all units. The computational performance of the general global event point and symmetry aggregation models (models MC and MS) are compared for each case study. The solution objective, time to solution, and nodes searched are compared. All models are coded in GAMS 23.6.2 and all case studies are solved using CPLEX 12.2 with the optimality gap criteria set to 0%. The software was run on a 2.33 GHz Intel Core 2 Quad Dell XPS desktop computer with 6 gigabytes of RAM running Windows Vista Ultimate 64-bit. 5.1. Case Study 1. The first case study is derived from a historical production week and requires 21 production targets to be met within a scheduling horizon of 108 h (H = 108). The 21 processing tasks can be grouped into 11 product families. Product families F2, F26, and F15 are required to be processed in production group 3, while product families F14 and F28 belong to production group 2. The remaining product families are not restricted to any specific production group. Two plantwide cleaning tasks (PWC) are specified to occur within the scheduling horizon, with TC1 = 36 and TC2 = 75. Two plantwide cleaning tasks correspond to the minimum number of plant-wide cleans required for the horizon length. In Figure 4 the results of the optimized production schedule (bottom) are compared against the historical production schedule (top). The historical schedule sequence, with respect to product families, is observed as F8−F9 (PWC) F16 (PWC) F23−F14−F28 (PWC) F1−F2−F15−F26 (PWC) F20. The historical schedule has a total of 18.25 h of changeover time, attributed to 13 changeovers of 0.25 h, 3 changeovers of 1 h, and 4 plant-wide cleaning tasks. The changeover time between tasks within a family is 0.25 h, while the changeover times between tasks in different families is 0.25 h, 1 h, or 3 h, depending on the sequence. The full set of sequence-dependent changeover durations may be found in Hazaras.19 It is observed that the production sequence is completely rearranged in the optimized schedule and is given as F2−F16−F23 (PWC) F1− F26−F15 (PWC) F20−F8−F9−F14−F28. We observe that
Table 1. Model Computation Performance, Case Study 1 event points constraints binary variables continuous variables LP-relaxation (h) best solution (h) time to best solution (s) CPU time (s) optimality gap (%) nodes
MC
MS
24 94 326 1 106 111 097 95 104 15 000 43 200 8.65 22 106
14 43 517 1010 33 699 97.5 102.5 309 5 834 0 236 577
have the best computational performance. Model MS proves global optimality of the 102.5 h makespan in 5834 CPUs, while model MC fails to find the optimal solution after 43 200 CPUs and is left with an optimality gap of 8.65%. In addition, model MS is observed to find the optimal solution in 309 CPUs, as opposed to model MC which finds it best solution in 15 000 CPUs. 5.2. Case Study 2. The second case study is derived from a historical production week that requires 16 production targets to be met within 98 h (H = 98). The 16 tasks belong to 9 product families with product families F15 and F26 belonging to production group 3 and families F14 and F28 belonging to production group 2. Two plant-wide cleaning tasks (PWC) are 267
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
Figure 5. Industrial Case Study 2. The historical schedule is given as the top chart and the optimized schedule is given as the bottom.
that the lower and upper bound of model MS begins and remains within the lower and upper bound of model MC throughout the optimization.
scheduled to occur within the production schedule, with TC1 = 36 and TC2 = 75. A comparative Gantt chart of the historical production schedule (top) and the optimized production schedule (bottom) is given in Figure 5. The optimized and historic schedules are observed to have a makespan of 95 h. The product sequence of the historical schedule is observed as F6− F14−F28 (PWC) F1−F26−F15 (PWC) F23−F16−F11, while the sequence of the optimized schedule is observed as F6− F14−F28 (PWC) F23−F16−F11 (PWC) F1−F26−F15. Both schedules have a total of 11.25 h of changeover time, attributed to 11 changeovers of 0.25 h, 2 changeovers of 1 h, and 2 plantwide cleans. It is observed that the sequences of product families between PWC are identical in both the schedules, and although the overall sequence is different the schedules are equivalent. It is important to note that in any schedule, the groups of product families between plant-wide cleaning tasks can be permuted in the overall sequence without affecting the makespan. This is an example of symmetrical solutions within the current MILP problem. The computational performance of models MC and MS is listed in Table 2. Symmetry aggregate model MS is observed to have the best computational performance, with a makespan of 95 h proved to be the global optimum in 190 CPUs. Model MC fails to find the optimal solution after 43 200 CPUs and is left with an optimality gap of 5.483%. The progression of the upper bound (ub) and lower bound (lb) of models MC and MS is plotted against nodes searched in Figure 6. It can be observed
Figure 6. Upper bound (ub) and lower bound (lb) progression of models MC and MS for Case Study 2.
5.3. Case Study 3. The third case is derived from a process reschedule of the production week considered in Case Study 2. A reschedule was required as a shipment of 5.91 weight equivalents of raw material Rm35 was received a week early and was required to be used. In addition, raw material Rm46 would not be available for processing until 56 h into the schedule horizon. The plant’s response was to modify the production targets such that the shipment of Rm35 would be used within the production week. Product family F4 belongs to production group 1. To mimic the rescheduling information available to the plant management team, the first day of the historical production schedule was fixed in the rescheduled optimization. The unavailability of raw material Rm46 is included in the optimization via the material receipt methodology originally proposed by Maravelias and Grossmann20 (Appendix B). The timing of the material receipt is specified as TK1 = 56 h, the amount of the delivery is given as AD1 = 8.44 weight equivalents and this delivery belongs to set LRm46.
Table 2. Model Computation Performance, Case Study 2
event points constraints binary variables continuous variables LP-relaxation (h) best solution (h) time to best solution (s) CPU time (s) optimality gap (%) nodes
MC
MS
19 67 681 686 88 142 90.25 95.75 27 000 43 200 5.483 43 212
12 36 233 698 29 053 92 95 80 190 0 11 320 268
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
Figure 7. Industrial Case Study 3. The historical reschedule is given as the top chart and the optimized reschedule is given as the bottom.
6. INDUSTRIAL CASE STUDIESPRODUCTION POLICY EVALUATION The case studies presented above help aid in determining the achievable gains by using optimization to schedule production within a consumer foods production facility. This is however not the only application for which such optimization models can be used. It is also possible to use such models to evaluate what-if type scenarios. For example, one may modify the production rates in anticipation of purchasing new packaging equipment. The optimized schedules could then be used as a quantitative analysis to ascertain the best possible improvements or possibly highlight why production gains may not meet expectations. Such an opportunity presented itself during the term of this research. A retrofit to the production facility was planned in order to increase production capacity. New equipment in the mixing train and packaging lines would allow for packaged (U1,U2,U3) and specialized (U4) packaging lines to run in parallel. Mixer one acts as a dedicated feed to packaged production lines (units 1−3) and mixer 3 is dedicated to the specialized production line (unit 4), as shown in Figure 8. Mixer 2 now
Figure 7 depicts the Gantt chart of the rescheduled historical production schedule (top) and the optimized rescheduled production schedule (bottom). It is observed that the third process-wide cleaning task, included by plant employees, was not necessary to complete the production schedule. The historical production reschedule has a makespan of 95.25 h while the optimized reschedule has a makespan of 92.5 h. The saving of 2.75 h is gained by rearrangement of the production sequence such that the third process-wide clean is removed and replaced with a 15 min changeover. This results in a 21% reduction in the total changeover time. The computational performance of models MC and MS are listed in Table 3. Symmetry aggregate model MS is observed to Table 3. Model Computation Performance, Case Study 3 event points constraints binary variables continuous variables LP-relaxation (h) best solution (h) time to best solution (s) CPU time (s) optimality gap (%) nodes
MC
MS
18 66 637 662 88 261 89.75 92.5 30 228 0 14 016
11 32 795 592 26 680 91 92.5 0.5 2.54 0 81
have the best computational performance, with the makespan of 92.5 h proved to be optimal in 2.54 CPUs. Model MC also finds the optimum solution and proves optimality in 228 CPUs and 14 016 nodes. These results are interesting as both models exhibit significant performance improvements in this case study. Although fixing the first portion of the production schedule reduces problem size it alone cannot explain the large improvement in computational performance. It is hypothesized that the additional processing restrictions, unavailability of Rm46, aid in reducing the number of symmetrical solutions. However, further research would be required to prove it.
Figure 8. Description of plant postplanned retrofit.
acts as a swing mixer to feed either packaging line. Two different production strategies were designed by plant management to take advantage of this new production flexibility. It is was desired to evaluate each strategy to determine which would provide the best improvements in plant throughput. The aggregate model MS was chosen to perform such evaluations due to its superior computational performance. 269
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
Figure 9. Industrial Case Study 1 revisited with results of operational strategies 1 (middle) and 2 (bottom).
Strategy 1. In strategy 1 (S1) mixer 2 is used to swing mixing capacity between the production lines. When the specialized production line is being utilized, mixer 2 will feed unit 4, and only mixer 1 will feed the packaged production line. In this mode only packaged products similar to to current specialized products are made. When specialized production is not required, mixer 2 will be used to feed the packaged production line, in tandem with mixer 1. The set of similar product families is represented by Ff ′ and is defined as the product family f that is deemed similar to product family f ′. In this representation the notation f will denote packaged products while f ′ denotes specialized products. This requirement can be stated that if a specialized product family f ′ is starting or actively processing, so must the respective packaged product f ∈ Ff′. Ws fn +
∑ Wsfn′ − ∑ Wf fn′ n ′< n
−
∑ Wf f ′ n′ n ′≤ n
= Ws f ′ n +
n ′≤ n
Ws fn +
∑ Wsfn′ − ∑ Wf fn′ n ′< n
−
∑ Wf f ′ n′ n ′≤ n
≤ Ws f ′ n +
n ′≤ n
∑ Wsf ′ n′ n ′< n
∀ f ′, f ∈ Ff ′ , n (68)
Constraint 68 enforces that specialized product families f ′ must be operating if the respective product family f ∈ Ff′ is also operating. However the constraint allows for specialized product families to start or continue processing even if product family f ∈ Ff′ is not operating. Moreover, packaged product families not associated with the specialized product f ′ may operate on the packaged product line simultaneously with specialized product f ′. This allows for additional scheduling flexibility when compared to operational strategy 1. Model MS is augmented with constraint 68 and referenced as model MS2. 6.1. Case Study 4. The goal of this case study is to evaluate the proposed operational strategies and determine the expected gains in plant throughput. Historical data from Case Study 1 will be used as a basis; however the expected production rates for each strategy are modified in accordance with the abovedescribed operating policies. The results of each production strategy will be compared against the optimal solution of Case Study 1; the time horizon of interest is set to H = 102.5 h (minimum makespan of Case Study 1). The results of the throughput optimization for models MS1 and MS2 are given as the second and third Gantt chart in Figure 9, respectively. The optimized schedule in Case Study 1 (top Gantt chart) corresponds to a throughput of 196.83 weight equivalents of product. Operational strategy 1 and strategy 2 yield a throughput of 293.88 and 324.17 weight equivalents of product, respectively. This corresponds to an increase of 49.3% throughput for strategy 1 and 64.7% increase in plant throughput for strategy 2. Both schedules have a total of 12.75 h of process changeovers, which comprise 11 0.25 h, 4 1 hour and 2 plant-wide cleans. The increase in throughput of S2
∑ Wsf ′ n′ n ′< n
∀ f ′, f ∈ Ff ′ , n (67)
Constraint 67 ensures that product families f ′ and f ∈ Ff′ operate simultaneously in the production schedule. The above constraint allows for product families f ′ and f ∈ Ff′ to finish at or before the same event point. This allows for some idle time on either unit if it is determined to be optimal. Constraint 67 is added to model MS and is defined as model MS1. Strategy 2. Strategy 2 (S2) involves continuous parallel operation of the packaged and specialized production lines with mixer 2 dedicated to specialized production at all times. In this strategy any packaged product may be manufactured while the specialized production line is in operation; in accordance to previously specified operational policies. The plant operators highlighted that it would be preferable to run similar product families at similar times to provide simplified operations. As such, the following constraint is applied: 270
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
Family Processing Time Constraints, eq66. Start and Finish Time Constraints,
over S1 is attributed to an increase in the amount of specialized product produced. The ability to run the packaged production line in parallel to the specialized production line, albeit at slower than historic processing rates, allows for packaged production requirements to be met while producing extra specialized product. It can therefore be concluded that operational strategy 2 would allow for the greatest improvements in plant throughput. The computational performance of models MS1 and MS2 are given in Table 4. It is observed that model MS1 proves
event points constraints binary variables continuous variables LP-relaxation (we) best solution (we) time to best solution (s) CPU time (s) optimality gap (%) nodes
MS2
11 33 221 788 23 623 397.17 293.88 70 1461 0 117 342
11 33 221 788 23 623 331.73 324.17 115 881 0 17 394
∀ f, n
(69)
Tf fn ≥ Ts fn + Tpfn − H(1 − Vs fn)
∀ f, n
(70)
∀ f, n
Tf fn − Tf f , n − 1 ≤ HVs fn
Ts fn = Tn
(71)
∀ f, n
Tf fn − Tf f , n − 1 ≥ Tpfn
Table 4. Model Computation Performance, Case Study 4 MS1
Tf fn ≤ Ts fn + Tpfn + H(1 − Vs fn)
(72)
∀ f, n
(73)
Tf f , n − 1 ≤ Tn + H(1 − Vf fn )
∀ f, n
(74)
Batch Sizing, eq16−24. Material Balance, eq 25−26. Sequence Dependent Changeovers, Ts f ′ n ≥ Tf f , n − 1 + sl ff ′ − H(1 − Vs f ′ n) ∀ n , j , f ∈ Fj , f ′ ∈ Fj|sl ff ′ > 0, n > 1
(75)
Tightening Constraints, optimality in 1461 CPUs after exploring 117 342 nodes, while model MS2 proves optimality in 881 CPUs after exploring 17 394 nodes. It is interesting to compare the computational requirements of the makespan optimization versus the throughput optimization. Throughput maximization requires far less computation time to prove optimality of solution, observing reductions of 4 953 CPUs for operational strategy 2, and 4 373 CPUs for operational strategy 1.
COff ′ n ≥ Vf fn + Vs f ′ n − 1
∑ ∑
COff ′ n ≤ 1
∀ j , f ∈ Fj , f ′ ∈ Fj , n
∀ j, n
f ∈ Fj f ′∈ Fj
(77)
∑ ∑ Tpfn f ∈ Fj
7. CONCLUSIONS Insight into the industrial application of continuous-time STNbased scheduling models is presented. It is observed that through exploitation of problem structure, modeling limitations can, in certain instances, be avoided through model reformulation. In addition, it is observed that significant improvements in computational efficiency can be gained by removal of indistinguishable binary objects from the scheduling formulation, as implemented in our symmetry aggregation model. It is observed that optimization can be applied to such production facilities to improve the production efficiency, which is shown through comparisons to historical production schedules. Significant reductions in the amount of scheduled process changeovers can be achieved through schedule optimization, with reductions on the order of 20−26%. The application of such scheduling models can also be used to evaluate potential benefits of plant configuration and/or operating policy changes. Two operating policies are evaluated on the basis of throughput maximization and the superior strategy is highlighted. Industries may accrue significant benefits as improvements in scheduling optimization are able to provide production schedules that maximize plant efficiency through exploitation of plant flexibility and problem information.
+
n
∑∑ ∑ n
sl ff ′COff ′ n ≤ H
f ∈ Fj n ′≥ n
(78)
sl ff ′COff ′ n ′ ≤ H − Tn
n ′> n f ∈ Fj f ′∈ Fj
∀ j, n
(79)
∑ ∑ (∑ (γf Wfin′ +
∀j
f ∈ Fj f ′∈ Fj
∑ ∑ Tpfn′ + ∑ ∑ ∑
f ∈ Fj n ′≤ n
(76)
+ βi Bfin ′ ) − γf Vf fn ′ )
i∈If
∑∑ ∑
sl ff ′COff ′ n ′ ≤ Tn
n ′≤ n f ∈ Fj f ′∈ Fj
∀ j, n (80)
A.1. Extension To Recurring Plant-Wide Cleaning Tasks
Equations 33−41. A.2. Extension To Production Policies
Product Family Grouping. As production tasks i in family f are explicitly grouped into the occurrence of product family f the product family grouping constraints are omitted from the aggregate formulation. Production Grouping. Equations 48−53. Task Occurrence Restrictions. Equations 54−55. Auxilary Constraints. Equation 56.
■
A.3. Objective Functions
Throughput maximization remains unchanged as eq 57, and makespan minimization is unchanged as eq 58. When makespan minimization is the chosen objective function, constraints 2, 78, 79, and 41 must be modified by replacing H with Tms. The symmetry aggregate model as defined above is referenced as MS.
APPENDIX A: AGREGATE CONTINUOUS-TIME SCHEDULING MODEL The constraints apply as follows: Event Point Ordering, eq 1−3. Family Sequence Assignment Constraints, eq59−65. 271
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
■
Article
Notes
APPENDIX B. MATERIAL RECEIPT CONSTRAINTS The incorporation of product order due dates and material receipts was originally proposed by Maravelias and Grossmann,20 where orders or deliveries represent stationary events. Stationary events are described as those with fixed timing that may not be altered. There exists a set K comprised of events k of product orders that must be met, or deliveries to be received. Let the fixed timing of event k ∈ K be given as parameter TKk and associate with each event the amount due (delivered) as parameter ADk. Let set Ks and Ls represent the set of orders and deliveries that correspond to state s. Binary variable Ykn is defined as 1 if event k is assigned to event point n and zero otherwise. Tkn = TK kYkn
∀ k, n
The authors declare no competing financial interest.
■
ACKNOWLEDGMENTS The authors gratefully acknowledge the participation of Pepsico Foods Canada in this research through provision of plant data and expertise, and financial support from the McMaster Advanced Control Consortium.
■
Indicies
n = Event points s = States j = Equipment units i = Tasks g = Production groupings f = Product families
(81)
The assignment of event k to any given event point n is given through constraint 81, which states if event k occurs at event point n, Ykn = 1, and variable Tkn will assume the value of parameter TKk, where Tkn is defined as the timing of event k at event point n. Tn = Tkn + Tkn̅ + Tkn̂
∀ k, n
0 ≤ Tkn̅ ≤ H(1 − Ykn)
0 ≤ Tkn̂ ≤ Hk′Ykn
Set
Ij = The set of tasks i capable of being processed on unit j Ic = The set of plant-wide cleaning tasks i If = The set of tasks i associated with product family f Fj = The set of product families f capable of production on unit j SIi = The set of all states s that are inputs to processing task i SOi = The set of all states s that are outputs of processing task i Is = The set of all processing tasks i that consume state s Os = The set of all processing tasks i that produce state s ZW = The set of all tasks that produce at least one zero-wait state
(82)
∀ k, n
(83)
∀ k, n
(84)
When event k is assigned to event point n, constraint 82 forces the timing of event point n to equal the timing of event k. T̅ kn is a slack variable introduced to relax constraint 82 when event k is not assigned to event point n. When event k occurs at event point n the slack variable must equate to zero to enforce the exact timing of deliveries. This requirement is enforced through constraint 83. A variation from the proposed formulation is the inclusion for forward timing slack variable T̂ kn which allows event k to occur later than specified. This is included to reduce the number of event points needed to model a delivery, and as such improves computational performance. Hk′ is defined as H− TKk and represents the time left in the horizon after TKk.
∑ Ykn = 1
Parameters
H = Time horizon length H* = Time horizon upper bound with slack allowance αi = The fixed duration of task i βi = The variable duration of task i ρis = Mass balance coefficient for consumption of state s in task i ρ̅is = Mass balance coefficient for production of state s from task i SOs = Initial amount of state s TCi = Maximum timing of plant-wide cleaning task i Bmin = Lower bound on batch size of task i i Bmax = Upper bound on batch size of task i i θi = Maximum backward timing of plant-wide cleaning task i clii′ = The changeover time required between task i and i′ slff′ = The changeover time required between production family f and f ′ Γ = Maximum amount of time allowed between cleaning events c γf = Changeover time required between tasks within product family f
∀k (85)
n
Every event k must occur and coincide with an event point n, as given through constraint 85. It is noted that multiple events can occur at the same event point. Ssn + SSsn = Ss , n − 1 +
∑ ADkn − ∑ k ∈ Ls
−
∑
I Bisn
k ∈ Ks
ADkn +
∑ BisnO i ∈ Os
∀ s, n (86)
i ∈ Is
The original material balance constraint given as constraint 25 is modified to allow for delivery and receipt of materials and is now represented as constraint 86. ADkn = ADk Ykn
∀ k, n
Binary Variables
Wsin = 1 if task i starts processing at event point n Wf in = 1 if task i finishes processing at or before event point n Yin = 1 if plant-wide cleaning task i occurs at event point n Vsfn = 1 if product family f starts processing at event point n Vf fn = 1 if product family f finishes processing at or before event point n
(87)
Variable ADkn is the amount of order (delivery) event k at event point n and is enforced through constraint 87.
■
NOMENCLATURE
AUTHOR INFORMATION
Continuous Variables
Corresponding Author
Z = Production throughput of production schedule Tn = Time that corresponds to event point n
*E-mail:
[email protected]. 272
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273
Industrial & Engineering Chemistry Research
Article
(13) Hazaras, M. J.; Swartz, C. L. E.; Marlin, T. E. Flexible maintenance within a continuous-time state-task network framnework. Comput. Chem. Eng. 2012, 46, 167−177. (14) Kopanos, G. M.; Puigjaner, L.; Maravelias, C. T. Production planning and scheduling of parallel continuous processes with product families. Ind. Eng. Chem. Res. 2011, 50, 1369−1378. (15) Amorim, P.; Pinto-Varela, T.; Almada-Lobo, B.; Barbósa-Póvoa, A. P. F. D. Comparing models for lot-sizing and scheduling of singlestage continunous processes: Operations research and process systems engineering approaches. Comput. Chem. Eng. 2013, 52, 177−192. (16) Janak, S. L.; Floudas, C. A.; Kallrath, J.; Vormbrock, N. Production scheduling of a large-scale industrial batch plant. 1. Shortterm and medium-term scheduling. Ind. Eng. Chem. Res. 2006, 45, 8234−8252. (17) Sherali, H. D.; Smith, J. C. Improving discrete model representations via symmetry considerations. Manage. Sci. 2001, 47, 1396−1407. (18) Castro, P. M.; Erdirik-Dogan, M.; Grossmann, I. E. Simultaneuous batching and scheduling of single stage batch plants with parallel units. AIChE J. 2008, 54, 183−193. (19) Hazaras, M. J. Improving process efficiency through applied process scheduling and production planning optimization. M.A.Sc. Thesis, McMaster University, Ontario Canada, 2011. (20) Maravelias, C. T.; Grossmann, I. E. A general continuous state task network formulation for short term scheduling of multipurpose batch plants with due dates. 8th Int. Symp. Process Syst. Eng. 2003, 274−279.
Tsin = Start time of task i at event point n Tf in = Finish time of task i at event point n Tpin = Duration of task i that starts at event point n Tsfn = Start time of product family f at event point n Tf fn = Finish time of product family f at event point n Tpf n = Duration of product family f that starts at event point n Bsin = Batch size of task i that starts at event point n Bpin = Batch size of task i that is processing at event point n Bf in = Batch size of task i that ends at or before event point n BIisn = Amount of state s used as an input for task i at event point n BOisn = Amount of state s produced as an output from task i at event point n Ssn = Amount of state s available at event point n SSsn = Amount of state s sold to market at event point n T̅ in = Equation slack variable for cleaning tasks i ∈ Ic at event point n T̂ in = Optimized backward timing of plant-wide cleaning task i at event point n Tfc = Completion time of the final cleaning task En = 1 if any cleaning tasks occurs at event point n Gagn = 1 if production group g is active at event point n Fafn = 1 of product family f is active at event point n Ff fn = 1 if product family f finishes at or before event point n COff′n = 1 if product f precedes family f ′ on at event point n COii′n = 1 if task i precedes task i′ on at event point n
■
REFERENCES
(1) Méndez, C. A.; Cerdá, J.; Grossmann, I. E.; Harjunkoski, I.; Fahl, M. State-of-the-art review of optimization methods for short-term scheduling of batch processes. Comput. Chem. Eng. 2006, 30, 913−946. (2) Floudas, C. A.; Lin, X. Mixed integer linear programming in process scheduling: modeling, algorithms, and applications. Ann. Oper. Res. 2005, 139, 131−162. (3) Floudas, C. A.; Lin, X. Continuous-time versus discrete-time approaches for scheduling of chemical processes: a review. Comput. Chem. Eng. 2004, 28, 2109−2129. (4) Sundaramoorthy, A.; Maravelias, C. T. Computational study of network-based mixed-integer programming approaches for chemical production scheduling. Ind. Eng. Chem. Res. 2011, 50, 5023−5040. (5) Shaik, M. A.; Janak, S. L.; Floudas, C. A. Continuous-time models for short-term scheduling of multipurpose batch plants: A comparative study. Ind. Eng. Chem. Res. 2006, 45, 6190−6209. (6) Shah, N.; Pantelides, C. C.; Sargent, R. W. H. A general algorithm for short-term scheduling of batch operations-II. computational issues. Comput. Chem. Eng. 1993, 17, 229−244. (7) Kondili, E.; Pantelides, C. C.; Sargent, R. W. H. A general algorithm for short-term scheduling of batch operations-I. MILP formulations. Comput. Chem. Eng. 1993, 17, 211−227. (8) Ierapetritou, M. G.; Floudas, C. A. Effective continuous-time formulation for short-term scheduling. 2. continuous and semicontinuous processes. Ind. Eng. Chem. Res. 1998, 37, 4360−4374. (9) Sahinidis, N. V.; Grossmann, I. E. MINLP model for cyclic multiproduct scheduling on continuous parallel lines. Comput. Chem. Eng. 1991, 15, 85−103. (10) Lin, X.; Floudas, C. A.; Modi, S.; Juhasz, N. M. Continuous-time optimization approach for medium-range production scheduling of a multiproduct batch plant. Ind. Eng. Chem. Res. 2002, 41, 3884−3906. (11) Maravelias, C. T.; Grossmann, I. E. New general continuoustime state-task network formulation for short-term scheduling of multipurpose batch plants. Ind. Eng. Chem. Res. 2003, 42, 3056−3074. (12) Hazaras, M. J.; Swartz, C. L. E.; Marlin, T. E. Optimal scheduling of an industrial food manufacturing facility. AIChE Annual Meeting, Salt Lake City, Utah 2010. 273
dx.doi.org/10.1021/ie4006904 | Ind. Eng. Chem. Res. 2014, 53, 259−273