Optimal scheduling for flexible job shop operation



Similar documents
A MILP Scheduling Model for Multi-stage Batch Plants

Overview of Industrial Batch Process Scheduling

A Genetic Algorithm Approach for Solving a Flexible Job Shop Scheduling Problem

Mixed-integer programming models for flowshop scheduling problems minimizing the total earliness and tardiness

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

The Problem of Scheduling Technicians and Interventions in a Telecommunications Company

Optimal Planning of Closed Loop Supply Chains: A Discrete versus a Continuous-time formulation

A Continuous-Time Formulation for Scheduling Multi- Stage Multi-product Batch Plants with Non-identical Parallel Units

Design, synthesis and scheduling of multipurpose batch plants via an effective continuous-time formulation

Research Article Batch Scheduling on Two-Machine Flowshop with Machine-Dependent Setup Times

The Multi-Item Capacitated Lot-Sizing Problem With Safety Stocks In Closed-Loop Supply Chain

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

SINGLE-STAGE MULTI-PRODUCT PRODUCTION AND INVENTORY SYSTEMS: AN ITERATIVE ALGORITHM BASED ON DYNAMIC SCHEDULING AND FIXED PITCH PRODUCTION

An ant colony optimization for single-machine weighted tardiness scheduling with sequence-dependent setups

High-Mix Low-Volume Flow Shop Manufacturing System Scheduling

Computer based Scheduling Tool for Multi-product Scheduling Problems

4.2 Description of the Event operation Network (EON)

MIP-Based Approaches for Solving Scheduling Problems with Batch Processing Machines

2007/26. A tighter continuous time formulation for the cyclic scheduling of a mixed plant

Short-term scheduling and recipe optimization of blending processes

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Resource grouping selection to minimize the maximum over capacity planning

Abstract. 1. Introduction. Caparica, Portugal b CEG, IST-UTL, Av. Rovisco Pais, Lisboa, Portugal

A Linear Programming Based Method for Job Shop Scheduling

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Special Situations in the Simplex Algorithm

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Simulation-based Optimization Approach to Clinical Trial Supply Chain Management

Batch Production Scheduling in the Process Industries. By Prashanthi Ravi

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS.

The retrofit of a closed-loop distribution network: the case of lead batteries

Supply Chain Design and Inventory Management Optimization in the Motors Industry

Bilevel Models of Transmission Line and Generating Unit Maintenance Scheduling

Observations on PCB Assembly Optimization

Strategic planning in LTL logistics increasing the capacity utilization of trucks

Student Project Allocation Using Integer Programming

Motivated by a problem faced by a large manufacturer of a consumer product, we

Integrated maintenance scheduling for semiconductor manufacturing

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints

A joint control framework for supply chain planning

How To Plan Production

An Integer Programming Model for the School Timetabling Problem

Speech at IFAC2014 BACKGROUND

This unit will lay the groundwork for later units where the students will extend this knowledge to quadratic and exponential functions.

Solving convex MINLP problems with AIMMS

Chapter 13: Binary and Mixed-Integer Programming

Special Session on Integrating Constraint Programming and Operations Research ISAIM 2016

Analysis of a Production/Inventory System with Multiple Retailers

Planning and Scheduling in the Digital Factory

THE SCHEDULING OF MAINTENANCE SERVICE

This paper introduces a new method for shift scheduling in multiskill call centers. The method consists of

Constraints Propagation Techniques in Batch Plants Planning and Scheduling

Two objective functions for a real life Split Delivery Vehicle Routing Problem

How To Design A Supply Chain For A New Market Opportunity

Integrated support system for planning and scheduling /4/24 page 75 #101. Chapter 5 Sequencing and assignment Strategies

Locating and sizing bank-branches by opening, closing or maintaining facilities

The Master s Degree with Thesis Course Descriptions in Industrial Engineering

Single item inventory control under periodic review and a minimum order quantity

A New Solution for Rail Service Network Design Problem

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

Instituto de Engenharia de Sistemas e Computadores de Coimbra Institute of Systems Engineering and Computers INESC Coimbra

A SIMULATION MODEL FOR RESOURCE CONSTRAINED SCHEDULING OF MULTIPLE PROJECTS

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Randomization Approaches for Network Revenue Management with Customer Choice Behavior

Lecture 2: Universality

Load Balancing. Load Balancing 1 / 24

High-performance local search for planning maintenance of EDF nuclear park

NP-Completeness and Cook s Theorem

Black swans, market timing and the Dow

Using Queueing Network Models to Set Lot-sizing Policies. for Printed Circuit Board Assembly Operations. Maged M. Dessouky

WITH the growing economy, the increasing amount of disposed

A Study of Crossover Operators for Genetic Algorithm and Proposal of a New Crossover Operator to Solve Open Shop Scheduling Problem

The Trip Scheduling Problem

24. The Branch and Bound Method

Supply planning for two-level assembly systems with stochastic component delivery times: trade-off between holding cost and service level

Statistical Machine Translation: IBM Models 1 and 2

COORDINATION PRODUCTION AND TRANSPORTATION SCHEDULING IN THE SUPPLY CHAIN ABSTRACT

Agenda. Real System, Transactional IT, Analytic IT. What s the Supply Chain. Levels of Decision Making. Supply Chain Optimization

Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

Linear Programming Supplement E

Incorporating transportation costs into inventory replenishment decisions

Continued Fractions and the Euclidean Algorithm

A batch scheduling problem arising in the chemical industry. C. Gicquel, L. Hege, M. Minoux Centrale Recherche S.A.

An optimization model for aircraft maintenance scheduling and re-assignment

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

State-of-the-art review of optimization methods for short-term scheduling of batch processes

A Shift Sequence for Nurse Scheduling Using Linear Programming Problem

Formulation of simple workforce skill constraints in assembly line balancing models

1 st year / / Principles of Industrial Eng. Chapter -3 -/ Dr. May G. Kassir. Chapter Three

Product Mix Planning in Semiconductor Fourndry Manufacturing

The Effects of Start Prices on the Performance of the Certainty Equivalent Pricing Policy

Integrating Benders decomposition within Constraint Programming

- 1 - intelligence. showing the layout, and products moving around on the screen during simulation

A Rough-Cut Capacity Planning Model with Overlapping

Appendix: Simple Methods for Shift Scheduling in Multi-Skill Call Centers

Solving the Vehicle Routing Problem with Multiple Trips by Adaptive Memory Programming

A Reference Point Method to Triple-Objective Assignment of Supporting Services in a Healthcare Institution. Bartosz Sawik

Properties of Stabilizing Computations

Introduction to production scheduling. Industrial Management Group School of Engineering University of Seville

Transcription:

International Journal of Production Research, Vol. 43, No. 11, 1 June 2005, 2323 2353 Optimal scheduling for flexible job shop operation M.C. GOMESy*, A.P. BARBOSA-PO VOAz and A.Q. NOVAIS ycesur-department of Civil Engineering and Architecture, Instituto Superior Técnico, Av. Rovisco Pais, 1049-001 Lisboa, Portugal zceg-ist-department of Engineering and Management, Instituto Superior Técnico, Av. Rovisco Pais, 1049-001 Lisboa, Portugal Department of Process Modelling and Simulation, Instituto Nacional de Engenharia, Tecnologia e Inovação, Est. Paço do Lumiar, 1649-038 Lisboa, Portugal (Received July 2004) This paper presents a new integer linear programming (ILP) model to schedule flexible job shop, discrete parts manufacturing industries that operate on a maketo-order basis. The model considers groups of parallel homogeneous machines, limited intermediate buffers and negligible set-up effects. Orders consist of a number of discrete units to be produced and follow one of a given number of processing routes. The model allows re-circulation to take place, an important issue in practice that has received scant treatment in the scheduling literature. Good solution times were obtained using commercial mixed-integer linear programming (MILP) software to solve realistic examples of flexible job shops to optimality. This supports the claim that recent advances in computational power and MILP solution algorithms are making this approach competitive with others traditionally applied in job shop scheduling. Keywords: Scheduling; Flexible job shop; Make-to-order industries; Re-circulation; Integer linear programming model 1. Introduction Scheduling of activities that compete for limited resources over a finite time period is a pervasive problem that most organizations, both large and small, have to solve. Solution methodologies have been widely investigated in many fields of engineering, computer science, management science and business, causing the literature on scheduling to be large, diverse and diffuse (Reklaitis 1992, Brown et al. 1995). These methodologies can be classified as exact or approximate, depending on whether they seek for the optimal solution of a problem or for a good, hopefully near-optimal, solution. Except for a minority of problems for which constructive algorithms of polynomial complexity are described, most scheduling problems have been proved to be NP-hard which means the computational requirements for obtaining an optimal solution grow exponentially as the problem size increases. Exact approaches are *Corresponding author. Email: marta.gomes@ist.utl.pt International Journal of Production Research ISSN 0020 7543 print/issn 1366 588X online # 2005 Taylor & Francis Group Ltd http://www.tandf.co.uk/journals DOI: 10.1080/00207540412331330101

2324 M.C. Gomes et al. therefore limited to implicit enumeration algorithms tailored to the problem (branch and bound, dynamic programming) or to formulation in mixed-integer linear programming (MILP) and subsequent solution of the model, which also resorts to implicit enumeration. In either situation the algorithms display exponential complexity, which means exact methods can only be applied with success to problems of small size (French 1982). For larger scheduling problems, solution approaches described in the literature make use of heuristics, meta-heuristics (like Tabu search, simulated annealing or genetic algorithms), artificial intelligence (namely constraint programming and neural networks) or approximate solution of MILP models, such as Lagrangian relaxation (Jain and Meeran 1998). However, the size of NP-hard scheduling problems, for which results with exact methodologies can be obtained, has been consistently increasing with the expansion of computer capacity. In the case of MILP approaches, another factor adds to this effect: the development of algorithms for solving this type of model, which have been incorporated into increasingly efficient software tools nowadays available to researchers (Pan 1997, Sawik 2000, Harjunkoski and Grossmann 2002). These aspects have been explored both in the operations research and in the process systems engineering domains. In the former and since the 1950s, one of the main applications of scheduling has been in the production area, where decisions regarding resource allocation for the manufacture of goods have to be made. Research in this area has traditionally centred on discrete parts manufacturing industries. Two families of problems have been intensively studied: scheduling of flow shops, where jobs visit a set of machines arranged sequentially until all their service needs are satisfied, and job shop scheduling, an environment where machines are grouped into work centres according to functions, and jobs visit the machines in different orders. For the latter and starting in the middle 1970s, application of scheduling methodologies has been largely addressed. The increased tailoring of products to specific customer needs led to more product types and lower production requirements for individual products; multi-product batch and semi-continuous operations gained increased importance to corporate long-term business plans. The resulting need to share and co-ordinate productive resources increased the interest in solving scheduling problems in this type of industry (Reklaitis 1992). A literature survey of production scheduling, directed at discrete parts manufacturing industries, shows that the application of MILP formulations has been quite limited so far. French (1982) holds a negative view on the approach of scheduling problems by MILP, which is subscribed more recently by other authors such as Jain and Meeran (1998, 1999). Pinedo (1995) and Sule (1997) dedicate only an appendix of their books to mathematical programming formulations of scheduling problems. Most of the authors that apply MILP to scheduling problems in the discrete parts manufacturing field aim at measuring the quality of a proposed heuristic or other approximate methods. With this purpose, they compare the optimal and approximate solutions of medium to small size problems. Some recent examples are the work of Yaghubian et al. (2001), Low and Wu (2001) and also the perspective of Zhu and Heady (2000) when developing their MILP model. Shapiro (1993), when presenting the model of Lageweg et al. (1977), also declares that the practical use of mathematical programming models for job shop scheduling is the identification of demonstrably good schedules.

Optimal scheduling for flexible job shop operation 2325 Few attempts to increase the performance of MILP models for scheduling this type of industry are reported in the literature, especially in the job shop case; some examples are given hereafter. Liao and You (1992) are the first authors in 30 years to consider and improve the model presented by Manne (1960) for the general job shop-scheduling problem. Kim and Egbelu (1999) develop an optimization model for a job shop environment that resorts to commercial MILP software but is speeded up by a pre-processing phase. McKoy and Egbelu (1999) address a job shop scheduling problem where jobs have processing and assembly requirements; they present a mathematical programming model and an heuristic algorithm that combines this model with decision rules to reduce the problem size. Zhu and Heady (2000) present a MILP model for minimizing job earliness and tardiness in a multi-machine scheduling problem and analyse a range of hypothesis to increase model efficiency. They also express the view that, since MILP problems are known to be particularly susceptible to clever programming techniques, it is possible that future MILP implementations will efficiently solve problems of industrial size. For a review and comparison of MILP formulations for job shop, flow shop and permutation flow shop scheduling problems described in the literature, refer to Pan (1997). The situation of MILP-based scheduling for discrete parts manufacturing contrasts sharply with the development of this type of methodology for solving scheduling problems in the process industries. In this area, a greater effort has been made to improve the performance of MILP models so that they can be applied to increasingly larger problems; a few examples are listed below. Shah et al. (1993) thoroughly explore the characteristics of the problem of short-term scheduling of multi-purpose batch operations so as to accelerate the solution of the MILP model they present. Papageorgiou and Pantelides (1996) propose a rigorous decomposition approach to solve a MILP model for campaign planning/scheduling of multi-purpose batch/semicontinuous plants and exploit it to reduce the size of models and the integrality gap. Wilkinson (1996) introduces temporal aggregation operators to address large-scale process scheduling problems. Other modelling techniques have been explored by Zhang and Sargent (1996), Schilling and Pantelides (1996) and Castro et al. (2001) where more generalized models were obtained at the cost of harder computational times. Combination of MILP models and other techniques is also an area of current research; two recent examples are the work of Harjunkoski and Grossman (2002), combining MILP and constraint programming to solve multi-stage scheduling problems, and the one of Roslo f et al. (2002) that combines MILP and a heuristic procedure to solve a large-scale industrial scheduling problem. As a main conclusion it can be stated that mathematical programming approaches to scheduling have the advantage of providing a general framework for modelling a large variety of problems (Harjunkoski and Grossmann 2002). Different objective functions and incorporation of new constraints in the models are easily handled (Pan 1997), which is not the case for solution methodologies highly dependent on the problem structure. Use of this approach to tackle scheduling problems in discrete parts manufacturing has been quite limited so far but deserves further study since increasingly powerful hardware and software tools are available to researchers. In this paper we develop an integer linear programming (ILP) model (there are no continuous variables, only integer variables) for scheduling production in the job shop, make-to-order industries where set-up effects are negligible. The model is

2326 M.C. Gomes et al. quite general in its assumptions and closer to the reality of the manufacturing industry than many models presented in the literature for the job shop scheduling problem. Re-circulation in a job shop occurs when certain jobs visit some machines or machine groups more than once. Since this is quite a common phenomenon in the real world (Pinedo 1995) that has been scarcely addressed in the job shop scheduling literature so far, the model was extended to allow job re-circulation. Optimal solutions of the model for realistic examples were obtained by using commercial MIP software. The model is an adaptation to the job shop case of the model proposed by Chang and Liao (1994) for flexible flow shops with no set-up effects. Invoking the problem NP-hardness, these authors present an approximate, near-optimal solution method for their model based on Lagrangian relaxation; optimal solution of the model was not attempted. This drawback was completely overcome in the present work and a general mathematical model for job shop scheduling is provided which is solved to optimality. In the remainder of this paper we define the problem and the underlying hypothesis (section 2) and present models for flexible job shop scheduling with and without re-circulation (section 3). In section 4 the application of the models to realistic examples is described and the computational results analysed. Finally, the conclusions of the study are drawn in section 5. 2. Problem definition This section describes the flexible job shop manufacturing environment modelled, which is depicted in figure 1. The shop manufactures medium-volume discrete products of different types in a make-to-order basis. Production orders correspond to one product type each and have an associated demand (a number of discrete units to be produced) and due date; production must be scheduled to meet the orders due dates in a just-in-time philosophy. 1 st 2 b 1 M 1 b 2 M 2 b 3 M nd 3 b 4 M 4 b 10 b 5 M 5 b 6 M 6 1 st b 7 M 7 b 8 M8 2 nd b 9 M 9 b 11 Production sequence I Production sequence II Production sequence III Figure 1. Manufacturing environment modelled.

Optimal scheduling for flexible job shop operation 2327 Each product type has a pre-defined processing route, or production sequence, and each operation in the sequence may be performed in a machine group. Machine groups, represented by rectangles in figure 1, consist of a few homogeneous machines that may process several units in parallel with an upper bound on the total number of units being processed at the same time the machine group capacity. Machine groups have buffers (depicted by circles in figure 1) where units wait for processing in the group. Intermediate buffers have finite capacity, while input buffers of a production sequence (b 1 and b 7 in figure 1), as well as stocks of finished order units (b 10 and b 11 in figure 1), are considered as infinite in size. Machine groups and buffers can be shared between production sequences or be unique to a production sequence. While none of the MIP job shop models reviewed by Pan (1997) models buffers, which means queues between machines are unlimited in size, finite buffers have to be considered when products are physically large and the buffer space between successive machines has a limited capacity. In figure 1, three production sequences, each corresponding to a product type, are shown. Re-circulation takes place in sequences I and III; note that one machine group in each sequence has two exit arrows instead of one, distinguished with the notation 1st and 2nd. In production sequence I, products go through machine groups M 1, M 2 and M 3, (in this order); then, when leaving machine group M 3 they enter the buffer of machine group M 2 again. They are then processed a second time in machine group M 2 and afterwards in machine group M 3. This time, they leave this machine group to be processed in machine group M 4, the last in the production sequence. The sequence of machine groups visited is thus M 1 M 2 M 3 M 2 M 3 M 4. Regarding production sequence II, products are differently routed when leaving machine group M 8, depending on whether this is the first or the second time they visit the machine group. The sequence of machine groups visited in this sequence is M 7 M 8 M 6 M 8 M 9. The number of units (of a given product type) in an order can be divided into different lots (smaller numbers), which are loaded onto machine groups throughout the scheduling horizon. The way an order is divided for processing in a machine group is independent of the division that takes place in other machine groups of the same production sequence. Processing times depend only on the product type and the machine group; they are independent of the total number of units of a given product type loaded onto a machine group. The flexibility in the present environment stems from the fact that one product unit can be processed in any machine of a machine group, and several units of different product types may be in process at a given time period in a machine group. On the contrary, in the classical job shop problem there is only one machine for each operation which can only process one job at a time. Two other salient features that distinguish the environment modelled in the present work from the classical job shop problem studied in the literature deserve mention here. First, no restrictions are imposed upon the production sequences that the products may follow, while in the classical job shop scheduling problem all jobs visit the same set of machines in random order (Pan 1997, Demirkol et al. 1998), which is a rather theoretical assumption. Second, storage in intermediate buffers is limited while in the classical job shop problem there are no limits upon buffer size. Set-up time in flow shop and job shop scheduling is a key concern for most practitioners and has been assumed by researchers to be negligible,

2328 M.C. Gomes et al. sequence-independent or sequence-dependent (Low and Wu 2001). In the manufacturing environment modelled, set-up times and costs are assumed to be negligible. Finally, material handling facilities for the transport of products in the shop are assumed to be non-restrictive. This means the only constraints imposed on the problem of scheduling orders are the finite capacities of buffers and machine groups. 3. Mathematical models Mathematical programming models for the classical flow shop and job shop problems published in the literature can be classified into two groups. One group uses binary variables that establish the sequence of jobs in machines and continuous variables that decide the time a job is started (or finished) in a given machine; the exact definition of variables depends on the model. Another group divides the scheduling horizon into a number of intervals of equal duration (discrete time representation) and uses binary variables associated with the processing of each job in each machine group at each interval limit. While the number of variables in the first type of models depends on the number of jobs and machines, in the second group the variable count depends additionally on the length of the scheduling horizon. In this section a discrete time model for flexible job shops is presented and subsequently generalized to account for re-circulation within the production sequences. A feature of the proposed models is that they use integer variables associated with each interval limit as opposed to the common use of binary variables. This is explained by the fact that in the environment modelled, orders are composed of several discrete units, whereas in traditional job shop models each order corresponds to an individual job. Since orders may be divided into smaller lots for processing at machine groups, the use of a sequencing model in this case would imply definition of binary sequencing variables for each unit of an order hence resulting in a very large model. 3.1 Model for the flexible job shop problem While there is only one production sequence or flow line in a flow shop, job shops display multiple flow lines that share manufacturing resources machine groups and buffers in the present case. To generalize to the job shop case the flexible flow shop model of Chang and Liao (1994), which contains a single implicit production sequence, different production sequences must be explicitly considered. Hence, a production sequence index was added to the flexible flow shop model indices (for orders, machine groups and time). Together with the introduction of a notation based on the definition of sets, this allowed the generic form of the constraints and objective function in the flexible flow shop model to be kept in the job shop model. Two features of the flexible flow shop model not considered in the generalization are variable machine group capacities throughout the scheduling horizon

Optimal scheduling for flexible job shop operation 2329 (parameters) and overtime capacities (decision variables). These are minor simplifications that can be easily incorporated in the job shop model developed. The models will be subsequently described and commented in detail; they are written in a condensed form in the appendix. 3.1.1 Indices i Order j Production sequence m Machine group t Time The treatment of time in this work is shown in figure 2, where the scheduling horizon is divided into T intervals of equal length. Time at the interval limits will be called instants from now onwards. The model requires intervals to be defined before and after the scheduling horizon, as will be discussed later on. 3.1.2 Sets I Set of orders (released at the beginning of the scheduling horizon) J Set of production sequences I j Set of orders that follow production sequence j M Set of machine groups M j Set of machine groups in production sequence j Special set elements defined for each production sequence j: f j First machine group in production sequence j f j 2 M j l j Last machine group in production sequence j l j 2 M j Sets I, J, I j and M are unordered collections of elements while set M j is the ordered set of machine groups in production sequence j. This means that for each machine group in M j we can refer to its preceding and succeeding elements, which correspond to the machine groups before and after that machine group in production sequence j. To illustrate sets definition, we present an example with seven machine groups and two production sequences: J ¼ {1,2} Unordered set of production sequences M ¼ {m 1, m 2, m 3, m 4, m 5, m 6, m 7 } Unordered set of machine groups M 1 ¼ {m 1, m 2, m 4, m 5, m 7 } Ordered set of machine groups for production sequence 1 Scheduling horizon. -4-3 -2-1 0 1 2 3 4. T-1 T T+1 Time Figure 2. Division of the scheduling horizon.

2330 M.C. Gomes et al. M 2 ¼ {m 2, m 6, m 5, m 3 } Ordered set of machine groups for production sequence 2 f 1 ¼ m 1 First machine group in production sequence 1 l 1 ¼ m 7 Last machine group in production sequence 1 f 2 ¼ m 2 First machine group in production sequence 2 l 2 ¼ m 3 Last machine group in production sequence 2 3.1.3 Parameters Q i Demand for order i (number of units) d i Due date for order i C m Capacity of machine group m S m Capacity of the buffer of machine group m P im Processing time of order i in machine group m A i Tardiness penalty coefficient for one unit of order i/time unit B i Earliness penalty coefficient for one unit of order i/time unit H im In-process inventory cost for order i in the machine group buffer m/time unit N i Penalty for each unit of order i not produced at the end of the scheduling horizon 3.1.4 Variables. Three kinds of variables are defined: X imt Number of units of order i in the buffer preceding machine group m between instants t 1 and t U imt Number of units of order i loaded onto machine group m for processing at instant t Y it Number of finished units of order i between instants t 1 and t. All variables are integer. Figure 3 illustrates the association of X and Y variables with intervals (of unit length) and U variables with interval limits (instants). Until they are finished, units of order i go (even if instantaneously) through the buffers that precede the machine groups in the corresponding production sequence; this is accounted for by the X imt variables. Even when their processing has not started, units are considered to be lodged in the buffer before the first machine group in the production sequence. However, the stock of finished units of an U imt... t 1 t t+1. X imt, Y it Figure 3. Representation of the model variables.

Optimal scheduling for flexible job shop operation 2331 order is not associated with any machine group; this is the reason why final buffers are described by a new set of variables Y it. The U imt variables take into account division of order i into smaller sets for processing in machine group m and hence X T t¼0 is a constraint implicit in the model. U imt Q i 8i 2 I, m 2 M j : i 2 I j ð1þ 3.1.5 Constraints 3.1.5.1 Flow balance equations. Flow balance equations establish the relationship between the number of units of an order i in each buffer in adjacent time intervals. They are defined over three types of buffers: intermediate, initial and final buffers. The number of units in the intermediate and final buffers at the start of the scheduling horizon (t ¼ 0): X im0 8i 2 I, m 2 M j jff j g : i 2 I j ð2þ Y i0 8i 2 I ð3þ and the units loaded onto the machine groups at instants t ¼ P im, t ¼ P im þ 1,..., t ¼ 1 (i.e. before the start of the scheduling horizon): U imð Pim Þ, U imð Pim þ1þ,..., U imð 1Þ 8i 2 I, m 2 M j : i 2 I j ð4þ are preset parameters of the flow balance equations. 3.1.5.2 Intermediate buffers X imðtþ1þ ¼ X imt þ U iðm 1Þðt Piðm 1Þ Þ U imt 8i 2 I, m 2 M j jff j g : i 2 Ij, t ¼ 0,..., T ð5þ where: X imt is the number of units of order i in the buffer of machine group m between instants t 1 and t; U iðm 1Þðt Piðm 1Þ Þ is the number of units of order i that the preceding machine group in the production sequence (m 1) finished processing at instant t and hence were added to the buffer of machine group m at that instant. Note that, since the processing time of order i at machine group m 1isP i(m 1), the number of units of order i finished at instant t were loaded onto that machine group at instant t P i(m 1) (all processing times are integer); U imt is the number of units of order i loaded onto machine group m at instant t and hence withdrawn from the buffer; X im(t þ 1) is the number of units of order i in the buffer of machine group m between instants t and t þ 1, i.e. those that remain in the buffer after loading of the machine group m at instant t. Note that X im(t þ 1) is the number of units of order i in the buffer of machine group m between instants T and T þ 1, i.e. at the end of the scheduling horizon.

2332 M.C. Gomes et al. 3.1.5.3 Initial buffer. For the first machine group in the production sequence of order i the term U iðm 1Þðt Piðm 1Þ Þ is dropped from the equation since there is no machine group preceding it. Also, the number of units of order i initially in this buffer is Q i because all orders are released at the beginning of the scheduling horizon. The flow balance equations are then: X im0 ¼ Q i 8i 2 I, m ¼ f j : i 2 I j ð6þ X imðtþ1þ ¼ X imt U imt 8i 2 I, m ¼ f j : i 2 I j, t ¼ 0,..., T: ð7þ 3.1.5.4 Final buffer. Regarding the final buffer, i.e. the stock of finished units of order i, since there are no other machine groups the term U imt is dropped from the flow balance equation. Finished units of an order are not associated with any buffer that precedes a machine group, so in the equation X imt variables are replaced by Y it variables: Y iðtþ1þ ¼ Y it þ U imðt Pim Þ 8i 2 I, m ¼ l j : i 2 I j, t ¼ 0,..., T ð8þ Y i(t þ 1) is the number of finished units of order i between instants T and T þ 1, i.e. at the end of the scheduling horizon. 3.1.5.5 Machine capacity constraints. A unit of order i loaded onto machine group m needs a period of length P im to complete the processing; consequently the sum X t U im ¼t P im þ1 is the total number of units of order i that machine group m is processing after being loaded at instant t and until instant t þ 1. The total amount of units being processed in each machine group between instants t and t þ 1 cannot exceed the machine group capacity C m, hence the sum above must be extended to all production sequences containing the machine group and all products that follow these production sequences: X X X t U im C m 8m 2 M, t ¼ 0,..., T: ð10þ j2j: m2m j i2i j ¼t P im þ1 ð9þ 3.1.5.6 Buffer capacity constraints. The total amount of units in the buffer of machine group m in each interval cannot exceed the buffer capacity: X X X imt S m 8m 2 M, t ¼ 0,..., T þ 1 ð11þ i2i j j2j: m2m j jf f j g where S m is the capacity of the buffer and the X imt variables are summed over all production sequences containing machine group m (except for the sequences in which it is the first machine group, since initial buffers are unlimited) and all products that follow these production sequences. The inequality must also hold for t ¼ T þ 1 since buffer capacities cannot be exceeded at the end of the scheduling horizon.

Optimal scheduling for flexible job shop operation 2333 Because buffer capacities are limited, an order i (or part of it) will be loaded onto a machine group m at a given instant t only if the following buffer in the production sequence has room to store the units at instant t þ P im, when processing is complete (refer to equation 5). Hence, although there may be units lodging in its buffer, a machine group may be empty if it is not possible to accommodate the units, once finished, in the next buffers. This is different from machine blocking, where completed units remain in a machine group because the next buffer(s) in the production sequence(s) are full, thus reducing the machine group capacity available to work on other units. Blocking, in this sense, is not allowed by the model. 3.1.6 Objective function. The objective function includes three types of costs: costs derived from failing to meet the just in time due dates, in-process inventory costs and costs of orders not fully completed at the end of the scheduling horizon. Units that constitute an order are accounted for individually in the objective function. If a unit is finished before the due date of the corresponding order, inventory costs are incurred; if it is completed afterwards an overdue penalty has to be paid for. Naming the overdue penalty and the inventory cost of each unit of order i per time unit as A i and B i, respectively, earliness/tardiness penalty coefficients for order i at instant t are obtained by multiplying these coefficients by the time interval between t and the order due date d i : ( it ¼ B iðd i tþ t d i 8i 2 I, t ¼ 0,..., T: ð12þ A i ðt d i Þ t > d i Differences in A i and B i coefficients between orders may reflect their relative importance or priorities. To obtain the total penalty for order i, earliness/tardiness penalty coefficients must be multiplied by the number of units of order i whose processing was finished at instant t, and the sum extended to the whole scheduling horizon: X T t¼0 it Z it Z it is the number of units finished at instant t and hence whose processing started in the last machine group of production sequence j at instant t P im : Z it ¼ U imðt Pim Þ 8i, m ¼ l j : i 2 I j, t ¼ 0,..., T: ð14þ Units lodging in the intermediate buffers of production sequences are accounted for as in-process inventory costs. H im is defined as the in-process inventory cost in the buffer of machine group m per unit of order i and time unit; the in-process inventory cost for order i in buffer m between instants t 1 and t corresponds to multiplying H im by the number of units of order i in the buffer during that interval, X imt. The sum is extended to the scheduling horizon and all intermediate buffers of production sequence j: X T t¼0 X ð13þ H im X imt: ð15þ m2m j jf f j g:

2334 M.C. Gomes et al. The penalty term for orders not fully completed at the end of the scheduling horizon is: N i ðq i Y iðtþ1þ Þ ð16þ where Q i Y i(t þ 1) is the number of units of order i not completed at the end of the scheduling horizon and N i the penalty coefficient per unit (which may differ between orders). Finally the objective function is obtained by adding the costs above and extending the sum to all production sequences and all products: 2 0 13 X X X min 4 T N i ðq i Y iðtþ1þ Þþ @ it Z it þ X H im X imt A5: ð17þ j2j i2i j t¼0 m2m j jff j g If no penalty term was added, minimization of the second and third terms would imply a value of zero for X and Z variables, i.e. no production would take place. 3.2 Model for the flexible job shop with re-circulation problem In the job shop with re-circulation, jobs may visit certain machine groups more than once. Re-circulation is a feature of industries like the semiconductor industry, where the multi-layered nature of silicon wafers implies many visits to the same machine group, or the mould making industry, where the process of carving a cavity has to be divided into stages due to the need of intermediate operations. Chang and Liao adapted their model and solution method (1994) to the semi-conductor industry (Chang et al. 1996), an environment that does not display the different production sequences through machine groups typical of a job shop. To generalize the flexible job shop model to the re-circulation case, a production stage index was added to the indices previously defined. Also, instead of representing production sequences by ordered sets of machine groups, they are now ordered sets of pairs (machine group, production stage), as explained in section 3.2.2. 3.2.1 Indices i Order j Production sequence m Machine group f Production stage t Time 3.2.2 Sets I Set of orders (released at the beginning of the scheduling horizon) J Set of production sequences I j Set of orders that follow production sequence j M Set of machine groups M j Set of machine groups in production sequence j Mj 0 Set of pairs of machine groups and production stage (designated m f ) in production sequence j

Optimal scheduling for flexible job shop operation 2335 Special set elements: f 0 j l 0 j First pair m f (machine group, production stage) in production sequence j fj 0 2 Mj 0 Last pair m f (machine group, production stage) in production sequence j lj 0 2 Mj 0 In this model sets I, J, I j, M and M j are unordered while set Mj 0 is ordered and corresponds to the machine groups sequence in production sequence j. The following example illustrates set definition: J ¼ {1,2} Unordered set of production sequences M ¼ {m 1,m 2,m 3,m 4,m 5,m 6,m 7 } Unordered set of machine groups M 1 ¼ {m 1,m 2,m 4,m 5,m 7 } Unordered set of machine groups in production sequence 1 M 2 ¼ {m 2,m 6,m 5,m 3 } Unordered set of machine groups in production sequence 2 M1 0 ¼fm 1 1, m 1 2, m 1 4, m 2 2, m 1 5, m 1 7, m 2 5g Ordered set of pairs m f in production sequence 1 M2 0 ¼fm 1 2, m 1 6, m 1 5, m 1 3, m 2 6, m 2 5, m 2 3, m 3 3g Ordered set of pairs m f in production sequence 2 f1 0 ¼ m 1 1 First pair m f in production sequence 1 l1 0 ¼ m 2 5 Last pair m f in production sequence 1 f2 0 ¼ m 1 2 First pair m f in production sequence 2 l2 0 ¼ m 3 3 Last pair m f in production sequence 2 Note that in here, sets M 1 and M 2 merely state the machine groups present in each production sequence, while sets M1 0 and M2 0 establish the actual production sequences. In production sequence 1, products go once through machine groups m 1, m 4,andm 7 (the corresponding elements in set M1 0 are m 1 1, m 1 4 and m 1 7) and twice through machine groups m 2 and m 5 (an so elements m 1 2, m 2 2, m 1 5 and m 2 5 can be found in M1). 0 In production sequence 2 machine group m 2 is visited once, machine groups m 5 and m 6 twice and machine group m 3 three times. 3.2.3 Parameters P im f Processing time of order i on machine group m for the f th time. All the other parameters are defined as in the previous model (section 3.1). 3.2.4 Variables X im f t Number of units of order i in the buffer of machine group m between instants t 1 and t, waiting to be processed for the f th time in that machine group U im f t Number of units of order i loaded at instant t onto machine group m to be processed for the f th time Y it Number of finished units of order i between instants t 1 and t All variables are integers.

2336 M.C. Gomes et al. 3.2.4.1 Flow balance equations. The three flow balance equations of the flexible job shop model are generalized to include product re-circulation by replacing in the former model: machine groups m by pairs m f (machine group, production stage); sets M j by sets Mj 0 (ordered sets of m f pairs, which establish the production sequences in the re-circulation model). Given: X im f 0 8i 2 I, m f 2 Mjjff 0 j 0 g : i 2 I j ð18þ Y i0 8i 2 I ð19þ U im f ð P im f Þ, U im f ð P im f þ1þ,..., U im f ð 1Þ 8i 2 I, m f 2 Mj 0 : i 2 I j ð20þ 3.2.4.2 Intermediate buffers X im f ðtþ1þ ¼ X im f t þ U iðm f 1Þðt P iðm f 1Þ Þ U im f t ð21þ 8i 2 I, m f 2 Mjjf 0 fj 0 g : i 2 I j, t ¼ 0,..., T where m f 1 is the pair (machine group, production stage) previous to m f in ordered set Mj. 0 3.2.4.3 Initial buffer X im f 0 ¼ Q i 8i 2 I, m f ¼ fj 0 : i 2 I j X im f ðtþ1þ ¼ X im f t U im f t 8i 2 I, m f ¼ fj 0 : i 2 I j, t ¼ 0,..., T ð22þ ð23þ 3.2.4.4 Final buffer Y iðtþ1þ ¼ Y it þ U im f ðt P im f Þ 8i 2 I, m f ¼ l 0 j : i 2 I j, t ¼ 0,..., T ð24þ 3.2.4.5 Machine capacity constraints. To generalize the machine capacity constraints in the flexible job shop model to the re-circulation case, it is necessary to account for the units of order i loaded onto a machine group that correspond to different production stages within the same production sequence. Consequently, the sum of the U variables is further extended to all m f pairs in set Mj: 0 X X X X t U im f C m 8m 2 M, t ¼ 0,..., T: ð25þ j2j: m2m f :m f 2M 0 i2i j ¼t P j j im f þ1 3.2.4.6 Buffer capacity constraints. Generalization of the buffer capacity constraints is similar to the previous one. All order units corresponding to different production stages in the same production sequence have to be accounted for when

Optimal scheduling for flexible job shop operation 2337 computing the number of units lodging in the buffer of each machine group between instants t 1 and t. The sum of the X variables is thus extended to all m f pairs in set Mj, 0 except for the first one: X X X j2j: m2m j f :m f 2M 0 j jf f 0 j g i2i j X im f t S m 8m 2 M, t ¼ 0,..., T þ 1: ð26þ 3.2.5 Objective function. Finally, objective function generalization is straightforward. On the one hand, Z it is the number of units of order i finished at instant t whose processing started in the last machine group of production sequence j at instant t P im f : Z it ¼ U im f ðt P im f Þ 8i, m f ¼ l 0 j : i 2 I j, t ¼ 0,..., T: ð27þ On the other hand, in-process inventory costs have to account for the order units in machine group buffers that correspond to different production stages in the same production sequence. Thus we have: 2 0 13 Min X X 6 4N i ðq i Y iðtþ1þ Þþ j2j i2i j X T t¼0 B @ it Z it þ X X C7 H im X im f ta5: m2m j f :m f 2Mj 0jf f j 0g ð28þ 4. Computational study To test model performance, examples of different manufacturing environments were constructed: a flexible flow shop, a flexible job shop and a flexible job shop with re-circulation example. The Generic Algebraic Modelling System (GAMS) was used as the modelling tool and CPLEX version 7.0.0 (with default settings) as the solver running on a 1000 MHz Pentium III with 256MB RAM and Windows 2000 operating system. The flexible flow shop example (figure 4) is a realistic example of a discrete-part, make-to-order industry (Chang and Liao 1994). It displays eight machine groups arranged in line and four production sequences that run through the line but may skip some machine groups (depending on the sequence). For instance, machine group M6 is skipped in production sequence I. Application of the developed flexible M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 Production sequence I Production sequence II Production sequence III Production sequence IV Figure 4. Flexible flow shop example.

2338 M.C. Gomes et al. M 1 M 2 M 3 M 4 M 5 M 7 M 8 M 6 M 9 M 10 M 11 M 12 M 13 M 14 M 15 Production sequence I Production sequence II Production sequence III Production sequence IV Figure 5. Flexible job shop example. 2 nd M 1 M 2 M 3 M 4 M 5 M 7 M 8 1 st M 6 1 st M 9 M 10 M 11 2 nd M 12 M 13 Production sequence I Production sequence II Production sequence III Production sequence IV Figure 6. Flexible job shop with recirculation example. job shop model to this example is possible since it includes, as a particular case, the flexible flow shop model. The second example (figure 5) describes a flexible job shop and was built based on the previous example by adding machine groups (M9 to M15) and modifying the production sequences. Order flows in the resulting production environment are now more complex. Finally, the third example addresses a job shop with re-circulation environment (figure 6). Thirteen groups of machines and four production sequences are considered; two of the production sequences display re-circulation. Namely, orders

Optimal scheduling for flexible job shop operation 2339 following production sequence II must be processed again in machine group M3 after a first visit and the ones following sequence III go twice through machine groups M10 and M11. The capacities of the machine groups and the preceding buffers are not uniform; tables 1 3 display the corresponding values. Processing times are integer and the same machine group displays different processing times depending on the production sequence and production stage (when re-circulation is considered). Tables 4 6 display the values used; the last column is the total processing time for each production sequence. The cost coefficients used in the objective function were A i ¼ 20, B i ¼ 1 and H im ¼ 0.1 8 i, m. As for the penalty coefficient for not completing orders in the scheduling horizon, a value of N i ¼ 10 7 8i was used. The three examples were tested with four scenarios (see tables 7 11) differing in the number of orders to be scheduled: a small (4 orders), a medium (10 orders) and two large () scenarios. In all of these, order due dates are greater than or equal to the total processing times of the corresponding production sequence. The 10-order scenario used for the flexible flow shop example is based on the work of Chang and Liao (1994). For the flexible job shop and flexible Table 1. Machine groups and buffer capacities for the flexible flow shop example. Machine group Machine capacity Buffer capacity m1 20 500 m2 45 100 m3 45 80 m4 30 110 m5 10 90 m6 25 60 m7 15 75 m8 15 80 Table 2. Machine groups and buffer capacities for the flexible job shop example. Machine group Machine capacity Buffer capacity m1 20 500 m2 45 100 m3 45 80 m4 30 110 m5 10 90 m6 25 60 m7 15 75 m8 15 80 m9 20 90 m10 30 90 m11 35 90 m12 15 90 m13 15 90 m14 40 90 m15 10 90

2340 M.C. Gomes et al. Table 3. Machine groups and buffer capacities for the example of the flexible job shop with recirculation. Machine group Machine capacity Buffer capacity m1 20 500 m2 45 100 m3 45 80 m4 30 110 m5 10 90 m6 25 60 m7 15 75 m8 15 80 m9 20 90 m10 30 90 m11 35 90 m12 40 90 m13 10 90 Table 4. Processing times for the flexible flow shop example. Production sequence Machine group m1 m2 m3 m4 m5 m6 m7 m8 Total time I 3 4 1 4 4 2 2 20 II 3 5 1 3 5 2 2 21 III 3 4 3 4 2 2 18 IV 3 1 3 5 2 2 16 Table 5. Processing times for the flexible job shop example. Production sequence Machine group m1 m2 m3 m4 m5 m6 m7 m8 I 3 4 1 4 4 2 2 II 3 1 5 5 2 2 III 5 IV 4 7 Production sequence Machine group m9 m10 m11 m12 m13 m14 m15 Total time I 20 II 18 III 7 8 8 7 8 6 49 IV 8 6 6 9 40 job shop with re-circulation examples, another 10-order scenario was created that displays a more balanced distribution of orders between production sequences. In all other cases scenarios were applied unchanged to the three manufacturing environments.

Optimal scheduling for flexible job shop operation 2341 Table 6. Processing times for the flexible job shop with recirculation example. Machine group Production sequence m1 m2 m3 m3 m4 m5 m6 m7 m8 1st stage 2nd stage I 3 4 1 4 4 2 2 II 3 1 3 5 5 2 2 III 5 IV 4 7 Machine group Production sequence m9 m10 m10 m11 m11 m12 m13 1st stage 2nd stage 1st stage 2nd stage Total time I 20 II 21 III 7 8 7 8 7 6 48 IV 8 6 6 9 40 Table 7. Scenario with 4 orders. Order Demand (no. of units) Due date Production sequence O1 30 30 I O2 25 25 II O3 20 50 III O4 15 45 IV Table 8. Scenario with 10 orders for the flexible flow shop example. Order Demand (no. of units) Due date Production sequence O1 30 100 I O2 25 50 I O3 20 87 I O4 15 20 I O5 15 80 II O6 15 60 II O7 15 90 II O8 15 45 II O9 30 35 III O10 30 70 IV The large scenarios display the same number of orders but different demand requirements and due dates: in the close due dates scenario the due dates are spread over a smaller interval than the one assumed in the distant due dates scenario. Two situations were solved for each of these scenarios: one in which storage in intermediate buffers is allowed and another with a no-wait storage policy, i.e. once processing of an unit is finished at a machine group, operation in

2342 M.C. Gomes et al. Table 9. Scenario with 10 orders for the flexible job shop and flexible job shop with recirculation examples. Order Demand (no. of units) Due date Production sequence O1 30 100 I O2 25 50 I O3 20 87 I O4 15 22 II O5 15 80 II O6 15 60 III O7 30 90 III O8 15 50 III O9 15 40 IV O10 30 70 IV Table 10. Scenario with and distant due dates (spread between instants 20 and 213). Order Demand (no. of units) Due date Production sequence Order Demand (no. of units) Due date Production sequence O1 15 20 I O13 30 50 III O2 25 50 I O14 39 110 III O3 20 87 I O15 37 133 III O4 30 100 I O16 22 146 III O5 44 161 I O17 17 166 III O6 24 213 I O18 10 191 III O7 15 45 II O19 30 70 IV O8 15 60 II O20 28 113 IV O9 15 80 II O21 45 122 IV O10 15 90 II O22 20 151 IV O11 19 118 II O23 27 172 IV O12 12 176 II O24 25 200 IV Table 11. Scenario with and close due dates (spread between instants 20 and 120). Order Demand (no. of units) Due date Production sequence Order Demand (no. of units) Due date Production sequence O1 15 20 I O13 30 50 III O2 25 50 I O14 39 110 III O3 20 87 I O15 32 65 III O4 30 100 I O16 35 68 III O5 27 78 I O17 28 82 III O6 18 91 I O18 12 111 III O7 15 45 II O19 16 90 IV O8 15 60 II O20 30 70 IV O9 15 80 II O21 28 113 IV O10 15 90 II O22 23 65 IV O11 30 50 II O23 18 106 IV O12 20 83 II O24 39 120 IV

Optimal scheduling for flexible job shop operation 2343 the next machine group must be started immediately. This corresponds to assigning null capacities to the intermediate buffers in the IP model. Altogether, each manufacturing environment was tested with six data instances. Tables 12 17 show the results obtained by solving the models. Empty intermediate and final buffers at the start of the scheduling horizon, as well as no units loaded onto machine groups before it were considered. Tables 12, 14 and 16 summarize the results by showing the number of variables and equations of each model, the objective function value and the optimality gap, and the number of iterations and computation time needed for solving the model. Also displayed is the scheduling horizon, which was found by testing different values for the T parameter in the models (with T not lesser than the highest due date in the scenario) and choosing the lowest value (rounded to the nearest multiple of ten) that allows completion of all orders. Tables 13, 15 and 17 characterize the solutions more fully by showing other performance measures besides the objective function, which allow for solution comparison between instances. These are: the total demand (total number of units to be produced), the total number of units finished before and after the orders due dates, the average percentage of an order completed by its due date (ratio between the number of units produced until the order due date and the order demand 100) and the average earliness/tardiness per unit finished before/after the order due date. Regarding computation times (tables 12, 14 and 16), it is noteworthy that except for the close due dates scenario in the flexible job shop with re-circulation example, solution times to obtain (and confirm) optimal solutions reach at most 16 minutes despite the fact that the medium and large scenarios display tenths of thousand variables and equations. Except for the small scenario where the effect is negligible, introduction of re-circulation increased computation times considerably. In the close due dates scenario, optimal solutions could not be found in reasonable time and consequently an upper limit for the optimality gap was allowed. With intermediate storage and an upper limit of 5%, the solver found a solution with an optimality gap of 0.75%. With a no-wait storage policy and an upper limit of 2%, a solution with an optimality gap of 1.71% was obtained; both solutions are reported in table 16. Although in these two cases optimal solutions could not be obtained, the margins of optimality are quite small (0.75 and 1.71%). Also observable is the dramatic decrease of computation times in the three examples when a zero-wait policy was imposed in the large scenarios. This can be explained by a lower degree of solution degeneracy, which speeds up the branch and bound search of the solver: the number of iterations is in fact considerably lower. Finally, different due date distribution in the large scenarios only had a significant impact upon solution times in the flexible job shop with re-circulation example. In the flexible flow shop and job shop examples computation times are similar for the distant due dates and the close due dates scenarios, either with intermediate storage allowed or with a no-wait policy. Inspection of solution characteristics in tables 13, 15, 17 leads to further interesting conclusions. The average percentage of an order completed until the due date for the 24 order distant due dates scenarios is near 99% in the flow shop example and only slightly less in the job shop examples (between 96 and 97%). A greater difficulty in meeting

Scenario Intermediate storage Table 12. Time horizon Summary of results for the flexible flow shop example. Objective function Optimality gap No. of equations No. of variables No. of iterations 4 orders allowed 50 75.5 0 2525 3078 1024 0.6 sec 10 orders allowed 100 644.5 0 9959 15304 15576 25 sec allowed 220 1350.2 0 44435 75588 78961 5 min distant due dates not allowed 220 3105.0 0 44435 75588 3230 11 sec distant due dates allowed 150 43554.7 0 30785 52068 60289 4 min close due dates close due dates not allowed 150 45080.0 0 30785 52068 3406 8 sec CPU time 2344 M.C. Gomes et al.

Scenario Intermediate storage Table 13. Objective function Solution characterization for the flexible flow shop example. Total demand (no. of units) Avg. % until due date No. of units before due date Average earliness No. of units after due date 4 orders allowed 75.5 90 100.0 30 2.0 0 0.0 10 orders allowed 644.5 210 95.0 60 1.9 10 2.5 allowed 1350.2 579 98.6 278 2.7 5 4.0 distant due dates not allowed 3105.0 579 98.6 391 6.9 5 4.0 distant due dates allowed 43554.7 575 70.6 319 4.7 164 12.8 close due dates close due dates not allowed 45080.0 575 70.1 336 9.0 168 12.5 Average tardiness Optimal scheduling for flexible job shop operation 2345