The Hybrid Flow Shop Scheduling Problem

Similar documents
The Problem of Scheduling Technicians and Interventions in a Telecommunications Company

Scheduling Shop Scheduling. Tim Nieberg

How Can Metaheuristics Help Software Engineers

High-Mix Low-Volume Flow Shop Manufacturing System Scheduling

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

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

Computer based Scheduling Tool for Multi-product Scheduling Problems

Single machine parallel batch scheduling with unbounded capacity

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Scheduling Single Machine Scheduling. Tim Nieberg

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

A Linear Programming Based Method for Job Shop Scheduling

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

EXAMINATION OF SCHEDULING METHODS FOR PRODUCTION SYSTEMS. 1. Relationship between logistic and production scheduling

Measuring the Performance of an Agent

Ant Colony Optimization and Constraint Programming

Projects - Neural and Evolutionary Computing

Classification - Examples

Offline sorting buffers on Line

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

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

A genetic algorithm for resource allocation in construction projects

Speech at IFAC2014 BACKGROUND

Factors to Describe Job Shop Scheduling Problem

Why? A central concept in Computer Science. Algorithms are ubiquitous.

4.2 Description of the Event operation Network (EON)

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

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

The Trip Scheduling Problem

Evaluation of Different Task Scheduling Policies in Multi-Core Systems with Reconfigurable Hardware

Resource Allocation in a Client/Server System for Massive Multi-Player Online Games

Ant Colony Optimization (ACO)

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

Observations on PCB Assembly Optimization

ESQUIVEL S.C., GATICA C. R., GALLARD R.H.

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

CHAPTER 1. Basic Concepts on Planning and Scheduling

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

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

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.

HYBRID GENETIC ALGORITHM PARAMETER EFFECTS FOR OPTIMIZATION OF CONSTRUCTION RESOURCE ALLOCATION PROBLEM. Jin-Lee KIM 1, M. ASCE

A Hybrid Heuristic Rule for Constrained Resource Allocation in PERT Type Networks

Resource Dedication Problem in a Multi-Project Environment*

An Improved Ant Colony Optimization Algorithm for Software Project Planning and Scheduling

Load Balancing. Load Balancing 1 / 24

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

Hybrid Algorithm using the advantage of ACO and Cuckoo Search for Job Scheduling

Practical Guide to the Simplex Method of Linear Programming

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

Using Ant Colony Optimization for Infrastructure Maintenance Scheduling

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

7 Gaussian Elimination and LU Factorization

The Master s Degree with Thesis Course Descriptions in Industrial Engineering

An Improved ACO Algorithm for Multicast Routing

A Binary Model on the Basis of Imperialist Competitive Algorithm in Order to Solve the Problem of Knapsack 1-0

Integrated maintenance scheduling for semiconductor manufacturing

Problems, Methods and Tools of Advanced Constrained Scheduling

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

Automated Scheduling Methods. Advanced Planning and Scheduling Techniques

A Proposed Scheme for Software Project Scheduling and Allocation with Event Based Scheduler using Ant Colony Optimization

A review of lot streaming in a flow shop environment with makespan criteria

Duplicating and its Applications in Batch Scheduling

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

APPLICATION OF ADVANCED SEARCH- METHODS FOR AUTOMOTIVE DATA-BUS SYSTEM SIGNAL INTEGRITY OPTIMIZATION

A Robustness Simulation Method of Project Schedule based on the Monte Carlo Method

Research Paper Business Analytics. Applications for the Vehicle Routing Problem. Jelmer Blok

A SIMULATION STUDY FOR DYNAMIC FLEXIBLE JOB SHOP SCHEDULING WITH SEQUENCE-DEPENDENT SETUP TIMES

An Integer Programming Model for the School Timetabling Problem

Dimensioning an inbound call center using constraint programming

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Approximation Algorithms

CHAPTER 1 INTRODUCTION

THROUGHPUT OPTIMIZATION IN ROBOTIC CELLS

A Shift Sequence for Nurse Scheduling Using Linear Programming Problem

University of British Columbia Co director s(s ) name(s) : John Nelson Student s name

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

Dynamic programming formulation

Goals of the Unit. spm adolfo villafiorita - introduction to software project management

STUDY OF PROJECT SCHEDULING AND RESOURCE ALLOCATION USING ANT COLONY OPTIMIZATION 1

HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE

THE SCHEDULING OF MAINTENANCE SERVICE

An investigation into production scheduling systems

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Analysis of Compression Algorithms for Program Data

Special Session on Integrating Constraint Programming and Operations Research ISAIM 2016

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

Planning and Scheduling in the Digital Factory

A greedy algorithm for the DNA sequencing by hybridization with positive and negative errors and information about repetitions

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

A Brief Study of the Nurse Scheduling Problem (NSP)

A Software Architecture for a Photonic Network Planning Tool

A Note on Maximum Independent Sets in Rectangle Intersection Graphs

Software Project Planning and Resource Allocation Using Ant Colony Optimization with Uncertainty Handling

A Hybrid Tabu Search Method for Assembly Line Balancing

Completion Time Scheduling and the WSRPT Algorithm

Project Time Management

Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

Search Algorithm in Software Testing and Debugging

Joint Optimization of Overlapping Phases in MapReduce

8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION

Transcription:

The Hybrid Flow Shop Scheduling Problem Rubén Ruiz 1, José Antonio Vázquez-Rodríguez 2, 1 Grupo de Sistemas de Optimización Aplicada, Instituto Tecnológico de Informática, Universidad Politécnica de Valencia, Valencia, Spain. rruiz@eio.upv.es 2 Automated Scheduling, Optimisation and Planning research group School of Computer Science, University of Nottingham Jubilee Campus Wollaton Road, Nottingham, NG8 1BB, U.K. jav@cs.nott.ac.uk March 1, 2009 Abstract The scheduling of flow shops with multiple parallel machines per stage, usually referred to as the Hybrid Flow Shop (HFS), is a complex combinatorial problem encountered in many real world applications. Given its importance and complexity, the HFS problem has been intensively studied. This paper presents a literature review on exact, heuristic and metaheuristic methods that have been proposed for its solution. The paper discusses several variants of the HFS problem, each in turn considering different assumptions, constraints and objective functions. Research opportunities in HFS are also discussed. 1 Introduction Hybrid Flow Shops (HFS) are common manufacturing environments in which a set of n jobs are to be processed in a series of m stages. There are a number of variants, all of which have most of the following characteristics in common: 1. The number of processing stages m is at least 2, 2. Each stage k has M (k) 1 machines in parallel and in at least one of the stages M (k) > 1, 1

3. All jobs are processed following the same production flow: stage 1, stage 2,..., stage m. A job might skip any number of stages provided it is processed in at least one of them. The problem is to find a schedule which optimizes a given objective function. The HFS problem is, in most cases, N P-hard. For instance, HFS restricted to two processing stages, even in the case when one stage contains two machines and the other one a single machine, is N P-hard, after the results of [62]. Similarly, the HFS when machines are allowed to stop processing operations before their completion and to resume them on different time slots (something referred to as preemption) results also in strongly N P-hard problems even with m = 2, according to [78]. Moreover, the special case where there is a single machine per stage, known as the flow shop, and the case where there is a single stage with several machines, known as the parallel machines environment, are also N P-hard, [51]. However, with some special properties and precedence relationships, the problem might be polynomially solvable ([45]). HFS is found in all kinds of real world scenarios including the electronics [217], [218], [118], [87], paper, [177] and textile, [55], industries. Examples are also found in the production of concrete, [143], the manufacturing of photographic film, [197, 4], and others, [2, 42, 3, 116, 20, 224, 159]. We also find examples in non-manufacturing areas like civil engineering [46], internet service architectures [8] and container handling systems [38, 37]. The HFS problem has attracted a lot of attention given its complexity and practical relevance. This paper describes the HFS problem and reviews many of the solution approaches that have been proposed for its solution. These include exact methods, heuristics, and metaheuristics. The present review fills in some of the gaps identified in previous reviews, like those of, [204, 117, 213] or more recently [151], and describes the most recent approaches. It also identifies research opportunities and proposes some interesting research lines. The rest of the paper is organized as follows. A formal description of the HFS problem is given in Section 2. Section 3 explains the terminology used to refer to the different assumptions, constraints and objective functions, which combined, lead to different HFS scenarios. An extensive literature review is given in Section 4. This literature is carefully analyzed in Section 5. Finally, Section 6 discusses some research opportunities in HFS and concludes the paper. 2

2 Problem description This section describes the HFS problem in its standard form using a mathematical programming formulation similar to that in [24]. In the standard problem all jobs and machines are available at time zero, machines at a given stage are identical, any machine can process only one operation at a time and any job can be processed by only one machine at a time; setup times are negligible, preemption is not allowed, the capacity of buffers between stages is unlimited and problem data is deterministic and know in advance. Although most of the problems described in the forthcoming sections do not fully complain with these assumptions, they mostly differ in two or three aspects only; the standard problem will serve as a template to which assumptions and constraints will be added or removed to describe different HFS variants. In what follows, let j be the index which identifies a job, k a stage, and l the l th machine of a given stage. Every job requires a set of operations to be performed sequentially; denote by p jk the processing time required by job j in stage k. Given a schedule, let c jk be the completion time of job j in stage k and let c j0 = 0. Let and Q j Y jkl = X jrk = { { 1 if job j on stage k is scheduled in machine l 0 otherwise 1 if job j precedes job r on stage k 0 otherwise k M(k) p jk be an arbitrarily large number. Let Z be the objective function,,, 3

the model is minimize Z (1) s.t. Z c jm, j (2) Y jkl = 1, (j, k) (3) M (k) l=1 c jk c j,k 1 M(k) Y jkl p jk, (j, k) (4) l=1 Q(2 Y jkl Y qkl + X jqk ) + c jk c qk p jk, (j, k, l, q) such that j < r (5) Q(3 Y jkl Y qkl X jqk ) + c qk c jk p qk, (j, k, l, q) such that j < r (6) Y jkl {0, 1}, (j, k, l) (7) X jrk {0, 1}, (j, q, k) (8) c jk 0, (j, k). (9) Z is restricted to be greater or equal to the completion time of the last operation to finish its processing, i.e., the makespan. Several other criteria will be discussed in Section 3. The set of constraints (3), guarantees that all operations are assigned strictly to one machine at each stage. Constraint set (4), restrict the starting time of operation o jk to be greater or equal to its release time from the previous stage. Constraint sets (5) and (6) prevent any two operations from overlapping in a common machine. Constraint sets (7), (8) and (9) define the domains of the decision variables. The HFS problem can also be represented as a graph G(N, A), where N is a set of nodes corresponding to each operation, and A is a set of disjunctive arcs describing the set of possible paths in the graph. A solution is a graph G(N, S), where S is a subset of the arcs in A but with a fixed direction, i.e., S represents an assignment and ordering of the job operations. Several heuristics have been devised using these representation, these will be discussed in Section 4. 3 Naming hybrid flowshop variants The modification, removal, or addition of assumptions and/or constraints to the standard problem described above leads to different HFS variants. To refer to them, the nomenclature presented in [56] and further extended for the HFS case in [204], is adopted. Scheduling problems are described with a triplet α β γ, where α describes a shop config- 4

uration, β a set of constraints and assumptions others than the ones listed in Section 2, and γ the objective function considered. Parameter α defines the structure of the shop, including the number of stages and the number and characteristics of the machines per stage. α is composed of four parameters α 1, α 2, α 3 and α 4. α 1 indicates the general configuration of the shop, in this case a hybrid flowshop, denoted FH. α 2 is the number of stages in the shop. α 3 and α 4, together, describe the properties of the machines per stage. The notation (α 3 α 4 ) k means that there are α 4 parallel machines of the type α 3 in stage k. α 3 {, P, Q, R}, where P indicates identical parallel machines, Q uniform parallel machines and R unrelated parallel machines, see [147] for definitions. In the case that there is a single machine, α 3 =. The second element, β, lists the constraints and assumptions, other than those of the standard problem, which characterize the problem. The most common are: r j indicates that job j cannot start processing before its release date r j. prmu indicates that the jobs are processed in every stage in the same order. prec indicates that there are precedence constraints between operations from different jobs. M j indicates that the processing of job j is restricted to the set of machines M j at stage k. This is known as eligibility. S sd indicates that the setup times are dependent on the sequence of operations. prmp indicates that preemptions are permitted. block implies that the buffer capacities between stages are limited. The jobs must wait in the previous stage until sufficient space is released. recrc indicates that jobs are allowed/required to be processed more than once in the same stage. unavail indicates that machines are not available at all times, no wait jobs are not allowed to wait between two successive stages. This implies that the shop operates under the First In First Out (FIFO) discipline. p j = p indicates that all processing times are equal to p. size jk indicates that o jk must be processed on size jk machines simultaneously. 5

Table 1: Common objective functions Notation Description Meaning C max max j C j maximum completion time F max max j (C j r j ) maximum flow time L max max j (L j ) maximum lateness T max max j (T j ) maximum tardiness E max max j (E j ) maximum earliness C Cj total/average completion time C w wj C j total/average weighted completion time F Fj total/average flow time F w wj F j total/average weighted flow time T Tj total/average tardiness T w wj T j total/average weighted tardiness Ū Uj number of late jobs Ū w wj U j total weighted number of late jobs Ē Ej total/average earliness Ē w wj E j total/average weighted earliness Let C j = c jm be the completion time of job j at stage m. The flowtime of job j, F j, is the time it spends in the system, i.e., F j = C j r j. The lateness of job j, or L j, is C j d j. Note that L j may be a negative value. The tardiness, T j = max{c j d j, 0}, and earliness, E j = max{d j C j, 0} are non-negative. U j {1, 0} is a penalty measure for every tardy job. It takes a value of 1 if C j d j > 0 and 0 otherwise. It is common to associate a weight ω j with job j in order to model its importance. Such a weight may represent, for instance, the cost of the job, or its volume, or relative priority, among other possibilities. Elements C j, F j, etc. and their weighted counterparts ω j C j, ω j F j, etc. are frequently used to describe objective functions. See some common possibilities and their standard notation in Table 1. Functions involving the completion times of jobs (C j ) are concerned with the capacity utilization, i.e., the adequate exploitation of machinery. Due dates related functions, T, L and U, on the other hand, penalize failures to meet the clients demands on time. Functions involving E are usually associated with costs of inventory of finished products. The standard problem, described in Section 2 is referred to as FHm, ((PM (k) ) m k=1 ) C max, where FH m means that the problem is a HFS with any number of stages m; (PM (k) ) m k=1 means that in all stages, k = 1,..., m, there are any number of identical parallel machines. The objective to optimize is the makespan, i.e., C max. Suppose that the number of stages is limited to 3, that there is only one machine in stage 1 and that there are any number of unrelated machines in stages 2 and 3. Moreover, jobs have release times, and setup times in stage 2 are sequence dependent. The objective to optimize is the 6

sum of the weighted tardiness. This modified example problem would be referred to as FH3, (1 (1), ((RM (k) ) 3 k=2 ) r j, S (2) sd T w. 4 Literature review The described nomenclature was used to summarize the type of problem addressed in more than 200 papers. This information is presented in Table 3 in the Appendix, where the first column indicates the year of publication, the second is the bibliographical reference, the third describes the problem addressed in the paper and the final column briefly describes the type of approach proposed as well as other details that may be of interest. Table 3 complements and follows a similar format to those presented in [159] and [204]. Notice that there are very many variants of the HFS scheduling problem. Some variants deviate enough from what was defined as the standard HFS problem as to be considered separately. For example, Flexible Manufacturing Systems (FMS) include, but are not limited to, HFS. In this paper, we stay within a reasonable scope and only consider problems that, according to the authors discretion, are either special cases of the standard problem, or more general cases that are the result of the addition or removal of a limited number of assumptions and/or constraints. For a more in depth review about FMS, the reader is referred to [138], [152], [194] or [17] to cite just a few. The rest of this section describes approaches to the different variants of the problem. Given the large number of approaches and problem variants we opted for a simple classification with the three very broad classes: exact algorithms, deterministic heuristics and metaheuristics, as we believe it to be more appropriate than other more sophisticated classifications which after all could not capture the wide variety of the HFS literature. 4.1 Exact algorithms Without doubt, Branch and Bound (B&B) is the preferred technique when solving to optimality the HFS problem. Most research so far, however, has concentrated on simplified versions of the problem. The simplest scenario, for example, considers only two stages with a single machine at the first stage and two identical machines in the second stage (m = 2, M (1) = 1, M (2) = 2). For this specific case, the earliest known B&B algorithm was proposed by [155]. Much later, [21] studied the same problem and approached it with B&B, heuristics, and genetic algorithms. Another exact method for this problem, but without waiting allowed between the two stages is given in [61]. The opposite case (m = 2, M (1) = 2, M (2) = 1) was studied by [14] and also by [128]. Problems with two stages and 7

any number of identical parallel machines at the second stage have been recently studied as well. [112] proposed a B&B method with the minimization of total tardiness. Problem instances of up to 15 jobs were shown to be solvable in reasonable times. The case where stage one may have any number of machines and stage two only one is studied in [63]. The authors proposed a B&B that is able to obtain good solutions in a reasonable time. In [70], the 2-stage regular HFS (unconstrained number of machines in stages 1 and 2) with makespan criterion is solved with a very effective B&B method that produces optimal solutions for problems up to 1000 jobs in size. However, the proposed algorithm could not solve many medium instances (20-50 jobs) and in some cases the observed average gap reached more than 4%. [43] are the first to approach two and 3-stage HFSs with uniform parallel machines at each stage with B&B methods. [161] studied the no-wait HFS problem variant. The proposed B&B explores only permutation sequences and jobs are assigned to the earliest available machine at each stage. The author employed dynamic programming for instances of a small size. Recently, [40] have studied a 2-stage problem with multiple identical parallel machines at each stage for the minimization of tardy jobs. The authors propose a B&B method as well as some ad-hoc heuristics. The earliest known B&B method for the general HFS problem, with any number of stages and any number of parallel machines per stage, is due to [26]. The tree structure that they proposed is an adaptation of that first presented in [29] for the single stage parallel machines problem, and has been the most widely used when dealing with an indefinite number of stages. Despite proposing sophisticated lower bounds, at the time of [26], instances of a very limited size could be solved to optimality. More specifically, problems with up to eight jobs and two stages with three parallel machines each could be solved within several hours of CPU time. [154] also studied the same problem and although it did not compare results directly with those of [26], the performance of the later algorithm seems better. In a similar paper, [153] work with the same methodology but in this case with the minimization of the flowtime. An interesting aspect from [154] and [153] is that only the sequencing problem is solved via B&B and jobs are assigned to the first available machine in each stage. An m-stage HFS with some production planning decisions was considered in [58]. The authors proposed a B&B method that was able to solve only some small instances to optimality. The original lower bound in [26] was further improved in [206] by better exploiting the available information of the partial schedule at a given node. More advanced lower bounds to that in [26] have also been presented in [163] or more recently, in [202]. In most B&B algorithms the construction of a solution starts in stage 1, then it moves to stage 2 and so on until stage m. In [31], a different strategy was adopted. At every 8

decision point the critical stage, i.e., the bottleneck, and a job are selected. The problem is then stated as to decide if there is a schedule with a makespan value smaller than a certain upper bound, UB. In [137], this procedure was enhanced with the so called energetic reasoning, in which a set of satisfiability tests are performed in order to decide whether there is a schedule that can be constructed at a given node with C max D = (LB + UB)/2. If there is such a schedule, D is calculated with the new UB, otherwise, D is set to D + 1. In both cases the search moves to a new node. This algorithm solved instances of up to 15 jobs and 10 stages more efficiently than the rest of available methods. Another successful strategy is to incorporate heuristic non-exact methods into the functioning of B&B algorithms. For example, in [150] and [129] heuristics were used to generate upper bound values. Dispatching rules were used to generate the initial UB and genetic algorithm at the beginning of each stage. In [130], heuristic lower and upper bounds are also extensively used and, in [15] heuristic rules were used for initializing the root node for the flowtime criterion. Some authors, including [177], have implicitly used B&B through mathematical programming, i.e., they represent their problem as an MIP model and use a regular solver to obtain a solution. [53] also employed mathematical programming to model an HFS with a particular production cost minimization objective. It has to be noted that the literature on chemical engineering has been neglected in the scheduling literature, although it includes some notable papers. A good example is [120], where many mathematical models are given for the m-stage HFS with no-wait and/or limited storage, batching, identical as well as unrelated parallel machines and several optimization criteria. [169] modeled a flexible flow line with blocking and reentry. This model was later improved by [170]. Related papers by the same author appear in [171] and [173]. [145] proposed a mathematical model and heuristics for a complex circuit-packaging problem with sequence dependent setup times. [172] proposes yet more mathematical models for a flexible flow line for tardiness related criteria. A regular HFS, this time with the sum of weighted completion times criterion, is approached with mathematical programming and lagrangian relaxation in [189]. The same problem and objective, but with the addition of limited buffers, is studied in [188]. A rescheduling problem that considers inventory constraints is dealt with in [166]. Some mathematical models are proposed. The HFS is modeled as a resource constrained multi-project scheduling problem with setup times in [209]. Apart from a mathematical formulation, some heuristics are displayed. Despite the relative success of exact algorithms, they are still incapable of solving medium and large instances and are too complex for real world problems. It is necessary to study non-exact but efficient heuristics. The reader is referred to [204] and [96] for more 9

detailed descriptions of B&B algorithms. 4.2 Heuristics The simplest type of heuristics are dispatching rules, also known as scheduling policies or list scheduling algorithms. These are simple rules of thumb for the ranking and assignment of jobs onto machines. A number of papers have been exclusively dedicated to their study and comparison on a variety of problems. For instance [25] compares 10 dispatching rules for the m-stage problem with the maximum tardiness criterion. Later, in [28], simulation studies are carried out to further analyze the performance of dispatching rules for the same problem with the makespan and the maximum tardiness objectives. Simulation was also employed to analyze the effectiveness of dispatching rules in [57]. Another comparison study of dispatching rules both in static as well as in dynamic HFSs is given in [92]. Further study of dynamic HFSs and dispatching rules has been given recently in [111]. [125] used data envelopment analysis from the results of [92] as a means to obtain accurate information about the performance of dispatching rules. Dispatching rules have been used as solution tools for many problems of theoretical and practical relevance. In [59], for instance, dispatching rules and tailored heuristics were used to minimize makespan and maximum tardiness on the m-stage problem. For the same problem, but with the possibility of stage skipping, [97] and [98] propose alternative dispatching rules and a local search algorithm, respectively. The online version of the same problem, with tardiness criterion, and no buffers, was briefly studied in [186] with dispatching rules. [66] and [182] proposed a set of dispatching rules based heuristics for the 2-stage problem investigated in [62]. [198] also studied a 2-stage HFS with a single batching machine at the first stage and machine eligibility in the second stage. [81] and [82] studied the constrained HFS where there is a limit on the maximum number of concurrent jobs. They evaluated a series of dispatching rules under different due date criteria, makespan and flowtime. The m-stage problem with the weighted tardiness objective was approached by [106] using dispatching rules. [203] study an m-stage problem with uniform parallel machines and identical jobs. They investigate the performance of dispatching rules, some tailored heuristics, and derive lower bounds. [84] explore the idea of using different dispatching rules at different stages of the shop. Dispatching rules are particularly suitable to deal with complex, dynamic, and unpredictable environments and hence their popularity in practice. As early as in [144] a simplified 2-stage HFS arising in the glass container industry was studied and the author proposed several ad-hoc dispatching rules. In [134], the authors applied dispatching rules to a simple 2-stage problem from cable manufacturing with only one machine in the first 10

stage. The authors tested problems with up to 70 jobs and up to four machines in the second stage. Extensions to these dispatching rules were later presented in [133] and [93]. Real problems are also studied in [197] and [2] where a photographic film and a paper bag factories, respectively, were investigated. In both cases, scheduling systems based on dispatching rules were designed. A real rubber production problem was studied by [227]. Another real problem, this time based on textile manufacturing, was approached by [143] with several ad-hoc heuristics. A SMT circuit board flexible flow line was analyzed in [148]. Further results in this line were shown in [149]. The authors consider family setup times and study several dispatching rules. [5] studied a complex HFS problem arising in car manufacturing where different performance criteria were studied. A number of sophisticated heuristics use a divide-and-conquer strategy in which the original problem is divided into smaller sub-problems that are solved one at a time and their solutions are integrated into a whole solution to the original problem. In [201], for example, a 2-stage problem is simplified into a series of multiple flowshops in order to reduce routing flexibility and to reduce manufacturing costs. [185] studies another 2-stage problem and divides it into two single parallel machines problems, one per stage, where the release times in the second stage are the completion times of the jobs at the first stage. Particularly effective divide-and-conquer strategies for the m-stage problem are the variants of the Shifting Bottleneck Procedure (SBP). These work under the principle of giving full priority to the bottleneck stage, maximizing in this way its productivity, and consequently the productivity of the entire shop. In [39] an SBP approach is proposed for the m-stage problem with the makespan criterion. [226] proposes an SBP heuristic for the minimization of the total weighted tardiness, also for an m-stage problem. While most of bottleneck exploiting methods divide the problem into stages, i.e., they schedule one stage at a time, in [146] this is done by jobs. Every time that a job has to be scheduled, the bottleneck is recalculated, a job selected, and all its operations scheduled. This heuristic, named the progressive bottleneck improvement, competed well with the SBP variant presented in [39]. This algorithm, however, was only tested on HFS problems with 2 and 3 stages. Other authors exploiting the SBP idea are [1] for the makespan criterion, [113] for total tardiness objective and [34] for the number of tardy jobs. Recently [35], the same authors have proposed similar heuristics but for the total tardiness objective. In [162], an interesting heuristic called Flowmult was presented. Flowmult explores n! permutations of the job indices, each representing an order in which operations are prioritized at the first stage of the shop. The rest of the shop is constructed using a first in first out policy, assigning jobs at each stage onto the machine that allows them the fastest completion time. Flowmult was tested on a large set of small instances and found the optimum 11

makespan on 90% of the occasions. On 98% of the cases it found solutions within 5% of the optimum. Many metaheuristics have been designed based on the Flowmult idea, they will be discussed in the next section. The idea of separating the sequencing and machine assignment has been subsequently exploited in many studies. For example, [60] worked with the 2-stage HFS and proposed heuristics that in a first step define a job ordering and then assign jobs at every stage following this ordering. The Flowmult method was again revisited in [164] where specific regular flowshop heuristics were applied to obtain initial job sequences, and in [192], where the m-stage HFS problem with blocking is studied. [27] also separated both decision problems, sequencing and machine assignment, to minimize makespan and flowtime in an m-stage problem. The vast majority of work in non-exact approaches are tailored heuristics to specific cases of the problem, mainly with 2 and 3 stages. [62], for instance, proposed a very simple heuristic for an HFS with only 2-stages, parallel machines in the first stage and only one machine at the second stage. The same problem was studied later by [63] who also proposed heuristic methods and a B&B algorithm. A similar problem was studied later with the total number of tardy jobs criterion in [68]. In [205] some mathematical programming formulations and heuristics are provided for a simple two stage HFS with only one machine at the second stage. [95] have recently proposed heuristics for a similar 2-stage problem with release dates and a product mix ratio constraint. A similar problem with lot streaming and the total flowtime criterion was studied by [233] and later by [119] for the makespan criterion. [196] tackled the issue of missing operations at the first stage and proposed some simple heuristics. Another simplified setting is that studied in [140], where a problem with two stages with identical parallel machines and unit processing times is approached with heuristic methods. [157] study the case where there are only two uniform machines at the second stage. [67] studied the problem with a single machine in the first stage, any number of identical parallel machines in the second stage, and separable and sequence independent setup and removal times with the makespan criterion. [33] proposed heuristics and provided worst-case analyses for the same problem and [200] study the case when machines at the second stage are unrelated. The 2-stage case with any number of uniform parallel machines is studied in [181] and later revisited by [108]. [30] considers a problem with a set of initial batches, and jobs have a predefined sequence inside each batch. The authors proposed a number of approaches based on heuristics originally designed to tackle the TSP problem. A second article that investigates batching is [19] where two stages with the second one containing batching machines is solved using tailored heuristics. Batching is also studied in [199], where a 2-stage cyclic HFS with product-family batches is considered. [115] also considers batch production allowing split 12

on the single machine at stage 1 and proposed several heuristic methods. The same problem with two stages and identical machines in the first stage was studied by [109]. The authors proposed a fast heuristic running in O(n log n), derived error bounds and proposed some lower bounds. [73] consider a 2-stage HFS with the makespan criterion where there is a single machine in the first stage and multiple assembly machines at the second stage. Mathematical models and heuristics are proposed. Similarly, [184] tackle a 2-stage assembly shop with two independent machines in the first stage and two assembly identical machines in the second stage. Dispatching rules, heuristics, and B&B methods are proposed. Assembly stages are also considered in [110] which studied problems with one machine either at the first or at the second stage of the shop and proposed a number of heuristic procedures. A mathematical formulation for the same 2-stage assembly problem and makespan was given in [74] along with some heuristic methods. A two stages problem with unrelated parallel machines in the first stage is considered in [124]. [48] considered a variation of the same problem where preemption of jobs is allowed, and some limited resources (besides machines) are needed at the first stage. Recently, [49], the same author has proposed more heuristics, together with metaheuristics including simulated annealing and genetic algorithms for the same problem. A problem which considers unrelated parallel machines and proportionate processing times is studied by [183]. Similarly, [43] study two and 3-stage problems with uniform parallel machines. They propose lower bounds, polynomial algorithms and metaheuristics. [79] study the uniform parallel machines case, but only at the second stage. They propose several heuristics. Two and 3-stage problems are approached by [99] with the aid of simple methods with known worst-case bounds. The symmetric problem with unavailability constraints was approached in [12] with different heuristics and a B&B algorithm. The no-wait constraint was considered in a 2-stage problem and approached with tailored heuristics by [222]. Some highly peculiar 2-stage problem variants approached heuristically are for example, the transfer batch 2-stage HFS scheduling problem with both separable and inseparable setup times studied in [94]. [101] study the problem where jobs can either be fully processed in one stage (single machine problems) or at both stages and provide some heuristic methods. Another interesting paper is that of [174] where a minimum makespan 2-stage HFS with identical parallel machines is studied. However, in this case, the number of machines at each stage is also part of the problem data. Some heuristics and approximation schemes are provided. Other special HFSs are multiprocessor problems where operations require to be processed by more than one machine simultaneously. [141] proposed heuristics for a 2-stage multiprocessor HFS. In order to deal with uncertainty, in [76] a 2-stage problem with makespan criterion is modeled using fuzzy processing times and approached 13

using fuzzy heuristics. A similar problem but with unavailability periods for the machines is approached by [221]. A relatively small number of heuristics have been proposed for variants of the m-stage problem. A number of such heuristics, for instance, are proposed in [44] and [167] for the m-stage problem with any number of machines per stage. Later, [165] proposed an improvement heuristic for the m-stage HFS with the makespan criterion. [167] proposes a simple heuristic for the minimization of makespan in a similar shop but with limited buffers. Heuristics for the HFS with m-stages, uniform parallel machines and makespan criterion are due to [176] and [107]. [223] study the case where the last of m stages is a batching stage. The results over a large set of small instances indicated that the proposed heuristic obtains close to optimal solutions for very small problem instances. An m-stage with unrelated parallel machines problem is studied in [179]. On-line methods are given in [72] for the m-stage HFS with the makespan criterion. Group scheduling for an m- stage HFS was approached by [121]. [64] consider a realistic problem where due date assignment is part of the problem. The authors also consider limited production resources besides the machines. [22] considered precedence relationships between jobs and proposed several heuristics. [23] studied a fairly complex problem with lags, setup and removal times and precedence constraints with the maximum lateness criterion. An m-stage problem, with job recirculation, common job due dates, and the weighted tardiness criterion was analyzed and solved using a number of heuristics, including dispatching rules, in [41]. [77] extends the work in [76] on fuzzy heuristics for HFS with uncertain data by extending the application of the proposed fuzzy heuristics to the m stages case. Most real world applications of tailored heuristics are for relatively simple problems with two or three stages only. In [217] a real electronics production system is studied. The author considers three stages, identical parallel machines per stage, and the feature that jobs can skip one or two of the processing stages. The author proposes a pseudodynamic programming heuristic. To the best of our knowledge, [217] is the first study in the HFS literature where more than one objective is considered. More precisely, the author minimizes C max and among the minimum C max sequences, work in progress (WIP) is considered (lexicographical optimization). In [218], blocking is added to the same application of [217]. Another interesting application of heuristics appeared in [42], where a 2-stage petrochemical production problem with a limited buffer in between the stages was studied. In [46], civil engineering projects are modeled as three stage HFSs with preemption and precedence constraints among jobs. The optimization criterion considered is total tardiness and some simple heuristic methods are proposed. Another reality-inspired problem is approached by [156]. The problem has three stages with one or two machines 14

per stage. The authors presented both exact as well as heuristic algorithms. In a related and later work, the same problem, this time with any number of identical parallel machines per stage, is studied by [180]. Later, [100] studied the same problem and proposed improved heuristics with best known performances. [116] studied a real label sticker manufacturing problem modeled as a 2-stage HFS with sequence dependent setup times and machine eligibility. [160] have studied a complex problem from the ceramic tile sector with unrelated parallel machines, sequence dependent setup times, machine eligibility, machine release dates, positive and negative lags, stage skipping, non-anticipatory setups and job precedence constraints. Some mathematical models and heuristics are proposed. Group technology for setup family grouping in the ceramic tile sector was studied by [13] for the case of three stages. 4.3 Metaheuristics For the last 20 years, researchers in the combinatorial optimization community have developed successful generic strategies to improve on the performance of simple deterministic heuristics. Most of these methods, known as metaheuristics, add an element of randomness into deterministic heuristics with the idea that its repeated usage may lead to better solutions than the ones generated deterministically. In Simulated Annealing (SA), for example, a local search heuristic is called many times. Randomness is integrated into the acceptance criterion of non-improving solutions with the idea of preventing the stagnation on a local optima, which is the weakness of common steepest descent local search procedures. Tabu Search (TS) [52] achieves the same purpose by allowing non-improving movements and avoiding certain improving movements that may take the search to an already visited point. Genetic algorithms (GA) [126], maintain a population of solutions and carry out a simultaneous exploration of different parts of the search space. These three metaheuristics are, by far, the most widely used in HFS scheduling, and probably in scheduling in general. Other metaheuristics that have also been used in HFS are Ant Colony Optimization (ACO), Artificial Immune Systems (AIS), Neural Networks (NN) and others. The key of successful metaheuristics lays on the reduction of the explored space. A sophisticated approach, particularly successful on the makespan objective, exploits the simple observation that in order to improve a schedule, one or more jobs that are part of the critical path of the schedule have to be reassigned. This means that any modification in a schedule that does not involve a job in the critical path is at best not worse than the current schedule. The space explored can be further pruned by taking into account many other properties of the graphical representation of the problem. These are thor- 15

oughly discussed in [136] and later in [135]. In [136], these properties were used in a TS approach which showed very good results for the makespan objective. In [226] an intricate metaheuristic involving the Shifting Bottleneck Procedure (SBP) and a randomized local search procedure were used to minimize the weighted tardiness objective. Most metaheuristics, however, reduce the explored space using a far simpler strategy: to restrict the search to the space of job permutations. The idea is to find a permutation of the n jobs and build a schedule by assigning jobs onto the machines according to this ordering. One of the earliest papers to exploit this idea is [208], where a dispatching rule was used to seed a TS algorithm to solve a 2-stage HFS with a single machine in the second stage and stage-based sequence dependent setup times. [71] also studied the 2-stage case but with identical parallel machines at each stage. The authors presented a lower bound, a TS heuristic, and an SA algorithm. Both methods work over the permutation of jobs and a simple heuristic is used for job assignment at each stage. [36] presented a TS heuristic for a two stage flexible flow line with makespan criterion. Another TS was proposed by [55] in a no-wait HFS inspired by a real manufacturing problem. In [216], the capacity between stages is limited (block). A TS that explores the permutation space was developed and compared with the approaches proposed in [218] and in [167]. TS outperformed both heuristics. In [38] and [37] a similar TS was also developed and used to solve real instances of a container handling system. The multiprocessor task problem with precedence relationships is approached by [142]. A TS metaheuristic is proposed, some special cases of the problem are proved to be polynomially solvable, whereas others are proved to be N P-hard. A simplification of the HFS in which machine assignments are known in advance, was also approached with TS by [50]. The authors minimize the sum of earliness and tardiness. An m-stage problem with group scheduling is approached in [122] with TS. Yet another application of TS is for the regular HFS with the sum of the weighted completion times criterion and limited buffers, [215]. The same objective, but with all jobs having the same processing times on all machines, is solved in [80] using a column generation strategy and constructive heuristics. No much later, the same authors improved on their results with a constructive GA [178]. There are few studies that consider unrelated parallel machines at each stage. An example is [123], that proposed a SA method for this problem with total flowtime minimization. He also considered sequence dependent removal times (R sd ) and sequence independent setup times. [8] presented several heuristics and a SA method for an m-stage HFS that models client-server requests. Another SA method with the same solution representation was given in [88] together with a lower bound to evaluate algorithm performance. This bound was proved wrong and corrected later by [69]. Simulated annealing has been used to solve a HFS with sequence dependent setup 16

times and transportation times between stages of an automated guided vehicle in [131]. In a similar paper [132], SA is applied to the same problem but without transportation constraints. An interesting randomized local search heuristic is due to [114]. In there, randomness is introduced by modifying the problem data. Each variant of the original problem is solved with a deterministic heuristic and the solution is evaluated using the original data. The idea is, of course, that the solution to one of the modified problems improves on that generated with the data of the original problem. The authors concluded that the method is easy to adapt to cope with different objective functions. In the same paper, the authors proposed a lower bound for the makespan criterion which was later improved by [103]. Other authors have used a representation where a permutation for each machine at each stage is maintained. This is sometimes referred to as operation processing order or exact representation. [83] employ this scheme and propose several TS and SA methods. In order to cope with such large search space, the schedule is constructed, at each stage, after the solution of a linear program. Similarly, in [54] a SA algorithm that does not separate the job sequencing and machine assignment decisions is applied to an m-stage unrelated parallel machine problem. Genetic algorithms have also been widely used. In [220], GA was used to search the permutation space for the solution of the m-stage problem with makespan as objective. The same problem, with the addition of sequence dependent setup times was approached in [105] using a GA with the Random Keys representation proposed in [18]. The proposed RKGA outperformed several other specialized heuristics including those of [104]. In [139], a multi-processor problem was considered. A GA, similar to the one presented in [220], was compared with the sophisticated TS of [142] and obtained better results. A realistic problem from a check-processing company that considered recirculation and the sum of weighted tardiness objective was approached using GA by [20]. In [159], a GA was employed to minimize makespan on an m-stage problem with unrelated parallel machines, sequence dependent setup times and machine eligibility. The proposed GA was superior to a wide range of heuristics and other metaheuristics, among them, ACO based heuristics, TS procedures, other GAs, SA and deterministic procedures. The proposed GA also obtained better schedules than the ones generated manually by the personnel of a real world ceramic tiles production shop. A similar GA was recently proposed for the same problem but with the additional consideration of limited buffers by [228]. A similar problem, with unrelated parallel machines at each stage, and setup times, was approached in [89] with GAs and later in [90] with several heuristics including dispatching rules, tailored heuristics, GA, TS and SA. In these two papers, the authors study a linear combination of the 17

makespan and the number of tardy jobs as an objective. Another real world application is given in [87], where a real printed circuit board manufacturing system modeled as a 3-stage HFS is approached with GA. The HFS with multiprocessor tasks is studied for the makespan criterion by [175] and by [139] and approached with GA. A GA and a SA were proposed for a fairly complex cyclic scheduling flexible flow line with lot sizing in [85]. Another complex problem with production time windows in flexible flow lines is exposed in [151]. In [210], the authors use GA to explore the permutation space for the first stage of the shop and dispatching rules others than the first in first out for the rest. They carried out experiments on different objective functions and obtained good results, among them, improved on the performance of the SBP with local search presented in [226] for the sum of weighted tardiness objective. Later, the same authors use a permutation for the first stage of the shop and combinations of dispatching rules for the rest. Both the permutation and the combination of heuristics are found by GA. A similar GA is shown in [211], where several criteria are jointly considered. A simplistic GA approach was proposed in [219] for an HFS with machine eligibility constraints and makespan criterion. The same SMT circuit board flexible flow line studied in [148, 149] has been studied more recently in [91], where a mathematical programming based solution approach, dispatching rules and a TS algorithm are proposed. Very recently, a memetic algorithm (GA with embedded local search) was proposed for a similar problem [191]. Other metaheuristics have been used less frequently. Artificial Immune Systems (AIS), for instance, have been used in [47] and in [232]. In the later case, the proposed AIS outperformed the GA proposed in [105]. Neural Networks were used in [65] as a mechanism to decide among several heuristics, for the one to be used on a particular instance. Another application of NN is given in [214] where it was used for the m-stage HFS with the makespan criterion. However, the proposed approach is complex and the results are relatively poor. A similar work with NN is due to [187]. In both works, unfortunately, comparisons are carried out only against simple heuristics. The addition of sequence dependent setup times is shown in [190]. Their results, together with those in [214] and [187] suggest that NN, at least as proposed by the authors, are not as successful as the other reviewed metaheuristics. [230] proposed an Ant Colony Optimization (ACO) metaheuristic for the multiprocessor task problem with precedence relationships and showed superior results than [142]. A Particle Swarm Optimization (PSO) metaheuristic, which allegedly improved upon the results in [230], was proposed by [195]. The same problem is approached with tailored heuristics in [231] and with an iterated greedy metaheuristic in [229]. [6] studied the regular m-stage HFS with makespan criterion. They proposed an ACO method which produced better results than a curtailed B&B algorithm. A radically 18

different approach, namely an agent system method, was used in [16] for a three stage identical parallel machine HFS. Simulation tools, which are adequate to model the inherent complexity of real world problems, have been used in combination with common metaheuristics. For example, TS has been combined with simulation in [224] to solve a real multi-layer ceramic capacitor production problem. The same problem was approached using GA and simulation tools in [225]. A similar problem is approached by [102] also with the aid of simulation tools. Recently, [7] also mix simulation tools with TS to solve a very complex scheduling problem. [158] consider an m-stage HFS with the makespan criterion. The authors use simulation tools for the planning and batching stages and SA for the scheduling phase. Another realistic problem approach with SA and simulation tools is due to [11]. 5 Analysis of the literature This review has examined more than 200 papers, mainly dealing with the HFS problem and its many variants. As with other fields of study, the number of papers being published has been steadily raising over the past few decades, as Figure 1 shows. Figure 1: Evolution of number of papers per year As can be seen, there is a clear increasing trend which shows the growing interest in this field. It is reasonable to expect that in the coming years the HFS problem will receive an even larger amount of attention. 19

There are, however, some important remarks to be made. Table 2 shows the percentage of papers that deal with 2, 3 or m-stage problems and whether the machines at each stage are identical, uniform or unrelated. Table 2: Percentage of the reviewed papers according to number of stages and type of parallel machines Number of stages Type of parallel machines Identical Uniform Unrelated Total 2 25.12 1.86 4.65 31.63 3 4.19 1.4 0 5.59 m 54.41 1.4 6.97 62.78 Total 83.72 4.66 11.62 100.00 As shown, a fourth part of the reviewed literature deals with simple 2-stage problems with identical parallel machines and almost a third only tackles 2-stage problems. While these problems are of theoretical interest, many times, the developed methods are not easily extendible to three or more stages. Similarly, a large percentage of the reviewed papers consider identical machines at each stage (83.72%) and only a meager 6.97% of the literature tackles m-stage problems with unrelated parallel machines at each stage. It is clear that the m-stage problem with unrelated parallel machines is the most general case and therefore, the most likely to be found in practice. As a matter of fact, from the reviewed literature, most papers dealing with real problems do so with m stages and unrelated parallel machines. Similarly, in Figure 2 we separate the reviewed literature among the different objective functions. Notice that Other includes cost functions and/or problem or situation specific objective functions. Clearly, the literature is heavily biased towards the C max criterion with a 60% of the references studying this single objective. Total/average completion time or flowtime, both in their unweighted and weighted forms, add up another 11%. It is striking to see that from all surveyed papers, only a total of 1% deal with the earliness-tardiness criterion, which is so important for real problems. Another relevant observation is that only a handful of papers deal with multiple objectives, and, to the best of our knowledge, the papers dealing with more than one objective do so separately. We are only aware of the recent papers of [89] and [90] that consider a weighted sum of objectives. Multi-objective scheduling is a very rich field of study as recent works show [193]. For regular flowshop problems, the number of existing multi-objective approaches is large as reviewed by [127]. Therefore, multi-objective scheduling for HFS is a necessary venue of research that has 20