A Constructive Genetic Algorithm for Permutation Flowshop Scheduling. Marcelo Seido Nagano*

Similar documents
A Constructive Genetic Algorithm for Permutation Flowshop Scheduling. Version 2. Marcelo Seido Nagano* São Paulo. Rubén Ruiz.

Chapter 13 A CONSTRUCTIVE GENETIC APPROACH TO POINT-FEATURE CARTOGRAPHIC LABEL PLACEMENT 13.1 INTRODUCTION. Missae Yamamoto 1 and Luiz A.N.

A Constructive Genetic Approach to Point-Feature Map Labeling

ON SOLVING FLOWSHOP SCHEDULING PROBLEMS

An Ant Approach to the Flow Shop Problem

Evolutionary Clustering Search for Flowtime Minimization in Permutation Flow Shop

Ruled Based Approach for Scheduling Flow-shop and Job-shop Problems

A Hybrid Genetic Algorithm for the Distributed Permutation Flowshop Scheduling Problem Yan Li 1, a*, Zhigang Chen 2, b

A Constructive Evolutionary Approach to School Timetabling

Optimizing Flow Shop Sequencing Through Simulation Optimization Using Evolutionary Methods

OPTIMIZING THE TOTAL COMPLETION TIME IN PROCESS PLANNING USING THE RANDOM SIMULATION ALGORITHM

Tabu search and genetic algorithms: a comparative study between pure and hybrid agents in an A-teams approach

A Constructive Genetic Algorithm For The Generalised Assignment Problem

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

A NEW CONSTRUCTIVE HEURISTIC METHOD FOR MINIMIZING MAKESPAN IN PERMUTATION FLOW SHOP SCHEDULING

Real-Coded Evolutionary Approaches to Unconstrained Numerical Optimization

A LOCAL SEARCH GENETIC ALGORITHM FOR THE JOB SHOP SCHEDULING PROBLEM

Population Training Heuristics

A NEW HEURISTIC METHOD FOR MINIMIZING THE MAKESPAN IN A NO-IDLE PERMUTATION FLOWSHOP

Parallel path-relinking method for the flow shop scheduling problem

A new inter-island genetic operator for optimization problems with block properties

ROBUST-HYBRID GENETIC ALGORITHM FOR A FLOW-SHOP SCHEDULING PROBLEM (A Case Study at PT FSCM Manufacturing Indonesia)

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

HEURISTIC SOLUTION METHODS FOR THE STOCHASTIC FLOW SHOP PROBLEM. Kenneth R. Baker

Size-reduction methods for the unrelated parallel machines problem and makespan criterion

International Conference on Modeling and SimulationCoimbatore, August 2007

GT HEURISTIC FOR SOLVING MULTI OBJECTIVE JOB SHOP SCHEDULING PROBLEMS

SOME NOVEL METHODS FOR FLOW SHOP SCHEDULING

Parallel Path-Relinking Method for the Flow Shop Scheduling Problem

A Genetic Algorithm for Multiprocessor Task Scheduling

Solving the C sum Permutation Flowshop Scheduling Problem by Genetic Local Search

CHAPTER 4 GENETIC ALGORITHM

PROPOSED METHODOLOGY FOR COMPARING SCHEDULE GENERATION SCHEMES IN CONSTRUCTION RESOURCE SCHEDULING. Jin-Lee Kim

Using Genetic Algorithm with Triple Crossover to Solve Travelling Salesman Problem

Imperialist Competitive Algorithm for the Flowshop Problem

CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN

, HYBRID HEURISTICS FOR THE PERMUTATION FLOW SHOP PROBLEM

Lamarckian Repair and Darwinian Repair in EMO Algorithms for Multiobjective 0/1 Knapsack Problems

BI-OBJECTIVE EVOLUTIONARY ALGORITHM FOR FLEXIBLE JOB-SHOP SCHEDULING PROBLEM. Minimizing Make Span and the Total Workload of Machines

New algorithm for analyzing performance of neighborhood strategies in solving job shop scheduling problems

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

Escaping Local Optima: Genetic Algorithm

Solving the Traveling Salesman Problem using Reinforced Ant Colony Optimization techniques

Particle Swarm Optimization Approach for Scheduling of Flexible Job Shops

Grouping Genetic Algorithm with Efficient Data Structures for the University Course Timetabling Problem

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

3. Genetic local search for Earth observation satellites operations scheduling

Using Penalties instead of Rewards: Solving OCST Problems with Problem-Specific Guided Local Search

CHAPTER 3 DEVELOPMENT OF HEURISTICS AND ALGORITHMS

Algorithm Design (4) Metaheuristics

Sparse Matrices Reordering using Evolutionary Algorithms: A Seeded Approach

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Metaheuristic Algorithms for Hybrid Flow-Shop Scheduling Problem with Multiprocessor Tasks

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

A Hybrid Pareto Based Multi Objective Evolutionary Algorithm for a Partial Flexible Open-Shop Scheduling Problem

MINIMAL EDGE-ORDERED SPANNING TREES USING A SELF-ADAPTING GENETIC ALGORITHM WITH MULTIPLE GENOMIC REPRESENTATIONS

MINIMIZATION OF THE MEAN ABSOLUTE DEVIATION FROM A COMMON DUE DATE IN A TWO-MACHINE FLOWSHOP

GENETIC ALGORITHM with Hands-On exercise

A Taguchi Approach to Parameter Setting in a Genetic Algorithm for General Job Shop Scheduling Problem

Fast Point-Feature Label Placement Algorithm for Real Time Screen Maps

Genetic Algorithm for Circuit Partitioning

Comparison of Single Model and Multi-Model Assembly Line Balancing Solutions

A Particle Swarm Optimization Algorithm for Solving Flexible Job-Shop Scheduling Problem

A tabu search approach for makespan minimization in a permutation flow shop scheduling problems

Metaheuristic Optimization with Evolver, Genocop and OptQuest

The Parallel Software Design Process. Parallel Software Design

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

A New Algorithm for Solving the Operation Assignment Problem in 3-Machine Robotic Cell Scheduling

Solving the Capacitated Single Allocation Hub Location Problem Using Genetic Algorithm

Incorporation of Scalarizing Fitness Functions into Evolutionary Multiobjective Optimization Algorithms

Genetic Algorithms, Path Relinking and the Flowshop Sequencing Problem

A GENETIC ALGORITHM APPROACH TO OPTIMAL TOPOLOGICAL DESIGN OF ALL TERMINAL NETWORKS

Instituto Nacional de Pesquisas Espaciais - INPE/LAC Av. dos Astronautas, 1758 Jd. da Granja. CEP São José dos Campos S.P.

A SIMULATED ANNEALING ALGORITHM FOR SOME CLASS OF DISCRETE-CONTINUOUS SCHEDULING PROBLEMS. Joanna Józefowska, Marek Mika and Jan Węglarz

Grid Scheduling Strategy using GA (GSSGA)

ISSN Monografias em Ciência da Computação n 08/09. Competitive Deterministic Heuristics for Permutation Flow Shop Scheduling

A Memetic Algorithm for Parallel Machine Scheduling

Genetic algorithms for job shop scheduling problems with alternative routings

Task Graph Scheduling on Multiprocessor System using Genetic Algorithm

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

Effective probabilistic stopping rules for randomized metaheuristics: GRASP implementations

Automated Test Data Generation and Optimization Scheme Using Genetic Algorithm

Solving A Nonlinear Side Constrained Transportation Problem. by Using Spanning Tree-based Genetic Algorithm. with Fuzzy Logic Controller

Comparative Analysis of Metaheuristic Approaches for m-machine No Wait Flow Shop Scheduling for minimizing Total Flow Time with Stochastic Input

A Discrete Particle Swarm Optimization with Combined Priority Dispatching Rules for Hybrid Flow Shop Scheduling Problem

An Exchange Local Search Heuristic based Scheme for Permutation Flow Shop Problems

A Real Coded Genetic Algorithm for Data Partitioning and Scheduling in Networks with Arbitrary Processor Release Time

Ant Colony Optimization Algorithm for Reactive Production Scheduling Problem in the Job Shop System

CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION

Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover

A Novel Genetic Algorithm Approach for Solving Flow Shop Problem

Heuristic Optimisation

ABSTRACT I. INTRODUCTION. J Kanimozhi *, R Subramanian Department of Computer Science, Pondicherry University, Puducherry, Tamil Nadu, India

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing

Four Methods for Maintenance Scheduling

Recombination of Similar Parents in EMO Algorithms

GENETIC ALGORITHM WITH SELECTIVE LOCAL SEARCH FOR MULTI-OBJECTIVE PERMUTATION FLOW SHOP SCHEDULING PROBLEM

arxiv: v1 [cs.ai] 12 Feb 2017

ACO and other (meta)heuristics for CO

Transcription:

A Constructive Genetic Algorithm for Permutation Flowshop Scheduling Marcelo Seido Nagano* Department of Industrial Engineering, School of Engineering of São Carlos, University of São Paulo Av. Trabalhador Sãocarlense, 400, 13566-590, São Carlos, São Paulo, Brazil Rubén Ruiz Department of Applied Statistics and Operations Research and Quality, Polytechnic University of Valencia Camino de Vera S/N, 46021, Valencia, Spain Luiz Antonio Nogueira Lorena Laboratório Associado de Computação Aplicada, Instituto Nacional de Pesquisas Espaciais Av. dos Astronautas, 1758, 12201-970, São José dos Campos, São Paulo, Brazil * Corresponding author. Tel.: +55-16-3373-9428; Fax: +55-16-3373-9425. E-mail address: drnagano@usp.br (M.S. Nagano). Av. Trabalhador Sãocarlense, 400 - Centro Zip Code: 13566-590 São Carlos - SP/Brazil

A Constructive Genetic Algorithm for Permutation Flowshop Scheduling Abstract The general flowshop scheduling problem is a production problem where a set of n jobs have to be processed with identical flow pattern on m machines. In permutation flowshops the sequence of jobs is the same on all machines. A significant research effort has been devoted for sequencing jobs in a flowshop minimizing the makespan. This paper describes the application of a Constructive Genetic Algorithm (CGA) to makespan minimization on flowshop scheduling. The CGA was proposed recently as an alternative to traditional GA approaches, particularly, for evaluating schemata directly. The population initially formed only by schemata, evolves controlled by recombination to a population of well-adapted structures (schemata instantiation). The CGA implemented is based on the NEH classic heuristic and a local search heuristic used to define the fitness functions. The free parameters are defined after a Design of Experiments (DOE). The computational results are compared against some other successful algorithms from the literature on Taillard s well known standard benchmark. The computational experience shows that this innovative CGA approach provides competitive results for flowshop scheduling problems. Keywords: Flowshop, Constructive Genetic Algorithm, Makespan

1. Introduction The general flowshop scheduling problem is a production problem where a set of n jobs have to be processed with identical flow pattern on m machines. When the sequence of job processing on all machines is the same we have the permutation flowshop sequencing production environment. Since there is no job passing, the number of possible schedules for n jobs is n!. Usually, the schedule performance measure is related to an efficient resource utilization looking for a job sequence that minimizes the makespan; that is the total time to complete the schedule. This scheduling problem is generally modelled on the following assumptions: i) The operation processing times on the machines are known, fixed and some of them may be zero if some job is not processed on a machine; ii) Set-up times are included in the processing times and they are independent of the job position in the sequence of jobs; iii) At a time, every job is processed on only one machine, and every machine processes only one job; iv) The job operations on the machines may not be preempted. A significant research effort has been devoted for sequencing jobs in a flowshop with the objective of finding a sequence that minimizes the makespan. For problems with 2 machines, or 3 machines under specific constraints on job processing times, the efficient Johnson's algorithm (Johnson, 1954) obtains an optimal solution for the problem. However, since this scheduling problem is NP-hard (Garey et al., 1976) the search for an optimal solution is of more theoretical than practical importance. Having this in mind, since the 1960s a number of heuristic methods that provide near optimal or good solutions with limited computation effort have been proposed for flowshop sequencing.

Heuristic methods can be classified according to two major categories: constructive or improvement methods. The constructive algorithms obtain directly a solution for the scheduling problem, i.e. a n-job sequence, by using some procedure which assigns to each job a priority or an index in order to construct the solution sequence (see for example, Nawaz, Enscore & Ham, 1983; Nagano & Moccellin, 2002). An improvement method starts from a given initial solution, and looks for a better one normally by using some neighbourhood search procedure. Ruiz & Maroto (2004) give an updated and comprehensive review of flowshop heuristics and metaheuristics. A genetic algorithm is a computerized iterative search optimization technique. It is based on the mechanics of natural selection and natural genetics. This deals with the population of solution rather than with a single solution. This type of algorithms provide near optimal schedules. The optimum value depends on the operators like crossover, mutation, number of iterations ( generations ), etc. In every generation, a new set of artificial individuals (strings) is created. This algorithm combines survival of the fittest among string structures. This paper describes the application of a Constructive Genetic Algorithm (CGA) to the permutation flowshop scheduling problem or PFSP. The CGA has a number of new features compared to a traditional genetic algorithm. These include a population of dynamic size composed of schemata and structures, and the possibility of using heuristics in structure representation and in the fitness function definitions. The CGA is compared against some other successful algorithms from the literature on Taillard (1993) well known standard benchmark, composed of 120 different problem instances ranging from 20 jobs and 5 machines to 500 jobs and 20 machines. This benchmark contains some instances that have proved to be very difficult to solve in the past 10 years.

The rest of paper is organized as follows: Section 2 presents an overview of the existing genetic algorithms for the PFSP that are available from the literature. Section 3 describes in detail the new proposed genetic algorithm (CGA). An extensive comparison of CGA against some other successful algorithms from the literature is given in Section 4. Finally, in Section 5 we provide some conclusions about the study, along with some future research directions. 2. Genetic Algorithm for the PFSP Flowshop scheduling is one of the most well-known problems in the area of scheduling. Various approaches to this problem have been proposed since the pioneering work of Johnson (1954). GAs have been applied to combinatorial optimization problems such as the traveling salesman problem and scheduling problems (see for example, Fox & McMahon, 1991; Ishibushi et al., 1994). One of earliest genetic algorithms for the PFSP was proposed by Chen et al. (1995) and also by Reeves (1995). Murata et al. (1996) apply GA to flowshop scheduling problems and examine the GA with other search algorithms. First they examined various genetic operators to design a genetic algorithm with an objective of minimize the makespan. They use two-point crossover and the shift change mutation for the problem, and compare the GA with other search algorithms, e.g. local search, tabu search and simulated annealing. The algorithm is hybridized with local search, which resulted in a clear performance gain over a non-hybrid version. Another hybrid GA is due to Reeves & Yamada (1998). In this case a special crossover, called Multi-Step Crossover Fusion or MSXF, coalesces a typical crossover operator with local search. More recently, Ponnambalam et al. (2001) evaluate a genetic algorithm with a

Generalized Position Crossover or GPX crossover, a shift mutation and random population initialization. Recently, Ruiz et al. (2004) have proposed two new advanced genetic algorithms for the problem considered here that provide good results at the expense of some added complexity in the proposed methods. Other genetic algorithms have been applied recently to similar scheduling problems, for example, Aldowaisan & Allahverdi (2003). 3. Constructive Genetic Algorithm for the PFSP Lorena & Furtado (2001) proposed recently the Constructive Genetic Algorithm (CGA) as an alternative to a traditional GA approaches, particularly, for evaluating schemata directly. The CGA evolves a population initially formed only by schemata, controlled by recombination, to a population of well-adapted structures (schemata instantiation) and schemata. It was applied to clustering problems (Lorena & Furtado, 2001), location problems and timetabling problems (Ribeiro Filho & Lorena, 2001), gate matrix layout problems (Oliveira & Lorena, 2002). In this paper, the concept of CGA will be first described and then applied to the solution of the PFSP. 3.1. CGA Modeling In this section the modeling phase of the CGA is described. The problem in consideration (in this case the PFSP) is initially formulated as a bi-objective optimization problem (BOP) to attain the objective of evaluating schemata and structures in a common way. Two fitness functions are defined on the space of all schemata and structures that can be obtained using a specific representation. The BOP is then indirectly solved by an evolution process

(described in the next section) that considers the two objectives on an adaptive rejection threshold, which gives ranks to individuals in population and yields a dynamic population. Very simple structure and schema representations are implemented to the PFSP. A direct alphabet of symbols (natural numbers) represents the jobs permutation. The symbol # is used to express indetermination (# - do not care) on schemata. For example s i = (1 5 3 2 4) is a structure representation of a PFSP with 5 jobs, while s k = (# 5 # # 4) is a possible schema. Let X be the space of all schemata and structures that can be created by this representation. The PFSP is modeled as the following Bi-objective Optimization Problem (BOP): Min { g( s ) f ( )} (BOP) Max g ( s k ) k s k Subject to ( s ) f ( ) g s k X k s k Function g is the fitness function that reflects the makespan of a given permutation of jobs in s k after application of NEH heuristic of Nawaz et al. (1983). Therefore, it is defined by the following procedure: The jobs in s k are extracted in their relative order; These jobs form the initial ordering for the application of the NEH; After the application of the NEH heuristic, the makespan of the resulting sequence (which might not be a complete sequence) is the value of g ( s k ). The second fitness function f is defined to drive the evolutionary process to a population trained by a heuristic. Thus, function f is defined by the following insertion heuristic (IH): One job of the schedule obtained after calculating the g ( s k ) value is extracted at random;

This job is inserted in all possible positions of the sequence and the best makespan obtained is retained. This procedure is repeated a given number of times and the value of f (s k ) is the makespan obtained as a result. Considering the definition of function g, the maximization objective on BOP appears to be a contradiction, but it is needed to give distinct treatment to structures and schemata. By definition, f and g are applied to structures and schemata, just differing in the amount of information and consequently in the values associated to them. More information means larger values. Therefore, the g maximization objective in BOP objectives the search for feasible solutions (structures) to PFSP. The interval minimization (f-g) shows that better individuals (schemata or structures) are those having little improvement by IH, which indirectly reproduces the makespan minimization in PFSP. 3.2. Evolution Process The BOP defined above is not directly considered as the set X is not completely known. Alternatively is considered an evolution process to attain the objectives (interval minimization and g maximization) of the BOP. At the beginning of the process, two expected values are given to these objectives: g maximization: a non-negative real number g max that is expected to be an upper bound to the PFSP makespan; Interval minimization: an interval length d g max, obtained from g max considering a real number 0 < d 1, that will be the expected improvement of IH.

The evolution process is then conducted considering an adaptive rejection threshold, which considers both objectives in BOP. Given a parameter α 0, the expression g ( s ) f ( s ) d g α d [ g g( s )] k (1) k max max presents a condition for rejection from the current population of a schema or structure s k. The right hand side of (1) is the threshold, composed of the expected value to the interval k minimization d, and the deviation g g( ), that shows the difference of g ( ) g max max s k s k and g max evaluations. Expression (1) can be examined varying the value of α. For α = 0, both schemata and structures are evaluated by the difference g-f (first objective of BOP). When α increases, schemata are most penalized than structures by the difference BOP). g max g (second objective of Parameter α is related to time in the evolution process. Considering that the good schemata need to be preserved for recombination, the evolution parameter α starts from 0, and then increases slowly, in small time intervals, from generation to generation. The population at the evolution time α, denoted by P α, is dynamic in size accordingly the value of the adaptive parameter α, and can be emptied during the process. The parameter α is now isolated in expression (1), thus yielding the following expression and corresponding rank to s k : d g [ g( s k ) f ( s k )] [ g g( s )] ( s ) max α = δ k (2) d max k At the time they are created, structures and/or schemata receive their corresponding rank value δ ( s k ). These ranks are compared with the current evolution parameter α. The higher

the value of δ ( ) s k, and better is the structure or schema to the BOP, and they also have more surviving and recombination time. For the PFSP, the overall bound g max is obtained at the beginning of the CGA application, by generating a structure and making g max receive the g evaluation for that structure. In order to ensure that g max is always an upper bound, after recombination, each new structure generated s new is rejected if g( ) g. max s new In the case of the PFSP we have chosen to initialize the value of g max with the heuristic rule of Johnson (1954) extended to the m-machine case by grouping the m machines into two virtual machines and then applying Johnson s rule. In this case g max will be the makespan of this constructed schedule. 3.2.1. Initial Population The initial population is composed exclusively of schemata, where a proportion of jobs are replaced by labels # (indetermination). For the PFSP, the random process of creating the initial population of schemata is guided so that every job is present in schemata at least once and that for every position in the permutation there is at least one schema with a label different from #. Along the generations, the population increases by addition of new offspring generated out of the combination of two schemata aiming the structure creation. 3.2.2. Selection There are two purposes on the evolution process: to obtain structures (good solutions to the g maximization objective on the BOP), and that these structures be good ones (best solutions to the interval minimization objective on the BOP). Thus, the population is

maintained classified by rank (expression (2)), and the individuals with more genetic information (structures or semi-complete schemata) and presenting small improvements by heuristic IH, appear in first order places on the population. Two structures and/or schemata are selected for recombination. The first is called the base (s base ) and is randomly selected out of the first positions in P α, and in general it is a good structure or a good schema. The second structure or schema is called the guide (s guide ) and is randomly selected out of the total population. The objective of the s guide selection is the conduction of a guided modification on s base. 3.2.3. Recombination In the recombination operation, the current labels in corresponding positions are compared. Let s new be the new structure or schema (offspring) after recombination. Structure or schema s new is obtained by applying the following operations: {Recombination} For i from 1 to individual length I - if s base (i) = # and s guide (i) = # then set s new (i) = # II - if s base (i) <> # and s guide (i) = # then if s base (i) is not in s new then set s new (i) = s base (i) else set s new (i) = # III - if s base (i) = # and s guide (i) <> # then if s guide (i) is not in s new then

set s new (i) = s guide (i) else set s new (i) = # IV - if s base (i) <> # and s guide (i) <> # then if s base (i) is not in s new then set s new (i) = s base (i) else if s guide (i) is not in s new then set s new (i) = s guide else set s new (i) = # Observe that s base is a privileged individual to compose s new, but it is not totally predominant. There is a small probability of the s guide gene information to be used instead of s base one. 3.2.4. The Algorithm The Constructive Genetic Algorithm can be summed up by the following pseudo-code. The ε increment is a linear step that increases the adaptive rejection threshold. Each distinct value of α corresponds to a generation. The stop conditions occur with an emptied population (assured by a sufficiently higher α ) or when a predetermined stopping criterion is met. The population increases, after the initial generations, reaching an upper limit (in general controlled by storage conditions), and decreases for higher values of the evolution parameter α.

CGA {Constructive Genetic Algorithm} Given g max and d; α := 0 ; ε; Initialize P α ; for all s k α s k P do compute g(s k ), f(s k ), ( ) while (not stop condition) do end_while δ ; while (number of recombinations) do end_while α := α + ε; for all s k α end_for Select Base and Guide from P α ; Recombine Base and Guide; Evaluate Offspring; Update Offspring in P α ; δ do P satisfying α > ( ) Eliminate s k from P α ; s k The CGA algorithm begins with the recombination procedures (over schemata only) and the constructive process builds structures (full individuals) progressively at each generation. The constructive process repeatedly uses genetic information contained in two individuals to generate another one. However, the constructive process can be

complemented using especially designed mutation and filling heuristics, searching for a better overall performance. The mutation is always applied to structures, no matter how they are created (after recombination or after the filling process). It performs an additional local search step to the NEH method used to define the function g, applying heuristic IH more intensively than in definition of function f. The insertion neighbourhood is fully examined to find a local optima (i.e. if after performing an insertion move, a better schedule is obtained, all insertion moves are performed again). The filling heuristic is performed whenever the offspring generated is a schema. The procedure is simple and can be summarized as follows: Construct a vector with the missing jobs in the schema; Shuffle this vector of missing jobs and apply the NEH procedure to fill the schema (transform it into structure). The order in which the jobs are filled in the NEH heuristic is taken from the shuffled vector; Apply the intensive form of the local search IH to the completed structure. It is important to mention that the completed structures are not kept in the population. However, the completed structure is kept if the value of the makespan is the best found so far. 3.2.5. Calibration of parameters by means of Design of Experiments As it has been mentioned, the proposed Constructive Genetic Algorithm has some parameters that need to be determined to attain best performance. These parameters are the increment ε, used for determining how fast bad schemata die off in the population, the

value d used in the interval minimization of the BOP problem inside the CGA and two main parameters of the CGA, the size of the initial schemata population or P α and the number of jobs that are filled in each schemata in this initial population, parameter that will be refered to as fill_in. A priori, it is expected that these four parameters would have little impact on the overall performance of the CGA since both d and ε affect only the evaluation of schemata and P α and fill_in control the characteristics of the initial population which is dynamic in size anyways. Still, a correct and complete calibration is in order using a complete factorial design of experiments (DOE) (see Montgomery, 2000) for analyzing the four aforementioned factors at the following levels: P α : 6 levels, 50, 60, 70, 80, 90 and 100; fill_in: 6 levels, 5, 6, 7, 8, 9 and 10; ε: 3 levels, 0.005, 0.01 and 0.015; d: 3 levels, 0.05, 0.1 and 0.15. The total number of combinations and thus, different Constructive Genetic Algorithms is 6*6*3*3=324. In order to test all these combinations we could use Taillard s benchmark, but this would probably result in an algorithm calibrated for an instance set that is afterwards used for comparative evaluations. A better approach is to train or calibrate the CGA with a set of instances different from those used for testing. Thus, a new set of 340 difficult PFSP problems that come after considering different values for n and m where n={20,50,80,110,,500} and m={5,10,15,20} is generated, yielding 68 combinations of n and m with 5 repetitions per combination where the processing times have been sampled

from the distribution U[1,99] following the same methodology showed in Taillard (1993). This set of 340 problems produced 324 combinations of parameters for the CGA that were run with the following stopping criteria: n*(m/2)*10 elapsed milliseconds on an Athlon XP 1600 computer (running at 1400 MHz) with 512 Mbytes of RAM. This stopping criterion assures that the same amount of time is allowed for every one of the 324 combinations running on every instance. Also, more time is given as both n and m increase in the instance. With this stopping criteria the following measure is calculated: Heu sol LB % Increase Over Lower Bound = 100 (3) LB Where LB is the lower bound obtained as in Taillard (1993) for any of the 340 problems. Therefore, the response variable in the experiment is the average percentage increase obtained in the Cmax of the CGA over the LB for the set of 340 problems. The following table shows the ANOVA results from the experimental analysis. [Insert table 1 about here] As can be seen, the number of jobs (n) and the number of machines (m) are by very far, the two most important factors that explain the response variable, i.e. the average percentage increase depends on the difficulty (size) of a given instance rather than to the four controlled parameters in the experiment. With this result we carried out 68 different analyses by analyzing the behavior of the four controlled parameters when n and m are fixed to a given value from the 68 possible. In this case the best combinations of the four controlled parameters depending on the difficulty or size of the instance are analyzed. For example, for n=50 and m=20 the ANOVA table is: [Insert table 2 about here]

Where the controlled factors, fill_in and P α do have a clear effect on the response variable according to the P-Value. If the response variable is plotted against the different levels of the factor P α the following means plot arises: [Insert figure 1 about here] Figure 1 shows that an initial population of 50 schemata is statistically worse than a population of 60 or more schemata with no clear trend after a population of 60. In this case, any value of P α but 50 results in a statistically equivalent performance. By following the same procedure for all 68 combinations and all parameters results the following best-case calibration of the proposed CGA algorithm: P α : 100; fill_in: 8; ε: 0.005; d: 0.05. 4. Computational Results In this section the performances of the proposed CGA algorithm and the CGA algorithm with local search (referred to as CGALS) are compared against a representative set of genetic algorithms as well as other methods proposed in the literature. The implemented heuristics are: the NEH heuristic of Nawaz et al (1983), the Simulated Annealing of Osman & Potts (1989) (SAOP), the Tabu Search of Widmer & Hertz (1989) (SPIRIT), the genetic algorithms of Chen et al. (1995) (GAChen), Murata et al. (1996) (GAMIT), Reeves (1995) (GAReev), Ponnambalam et al. (2001) (GAPAC), Aldowaisan & Allahverdi (2003) (GAAA) and Ruiz et al. (2004) (GARMA).

All these algorithms are run against Taillard s instances which comprise a set of 120 problems ranging from 20 jobs and 5 machines to 500 jobs and 20 machines which have proven to be especially difficult in the past 10 years. For this set the heuristics are compared with the following performance measure: Heu sol Best sol % Increase Over the Best Solution = 100 (4) Best sol Where Heu sol is the best makespan obtained by a given algorithm and Best sol is the given optimum makespan for each instance in the OR Library (http://mscmga.ms.ic.ac.uk/jeb/orlib/flowshopinfo.html) or the lowest known upper bound if the optimum makespan for that instance is yet unknown. The response variable is, therefore, the average percentage increase over the optimum or lowest known upper bound for 120 instances. All the algorithms are run on the same computer used for the calibration of the CGA algorithm and the stopping criteria for the metaheuristic methods is n*(m/2)*60 elapsed milliseconds. This way all the algorithms are run with the same computer for the same amount of time. The results, averaged by instance size are shown in Table 3. [Insert table 3 about here] Table 3 shows that the CGA algorithm with local search (CGALS) is considerably better than the version without local search. Considering that for both versions are allowed the same CPU time we can safely observe that the hybridization with the IH heuristic is very effective. Table 3 also shows that CGALS algorithm is better than almost all other genetic algorithms with the sole exception of the GARMA algorithm although the differences with this last algorithm are marginal, and CGALS is even better for some instances. A simple statistical

mean test is run to check whether there are statistically significant differences between the average percentage increases obtained by the different algorithms. This test can be carried out by means of a one-way ANOVA test. The ANOVA Table is: [Insert table 4 about here] We see that there are statistically significant differences between the different algorithms used in the evaluation. To further clarify these differences we show the following means plot: [Insert figure 2 about here] Note that the algorithm GAPAC was removed from the experiment since the poor results of this method were creating normality problems in the residuals of the experiment. This experiment confirms the idea that the CGALS algorithm has a performance which is statistically equivalent to that of the GARMA algorithm. We also observe that all other algorithms are statistically worse to CGALS and GARMA. This extensive experimentation shows that the CGA algorithm is a new and innovative class of genetic algorithms for PFSP that has competitive performance as far as genetic algorithms and other simple approaches are concerned. 5. Conclusions and future research In this paper we have proposed the application of a new class of genetic algorithms, called Constructive Genetic Algorithms (CGA), to the permutation flowshop scheduling problem. The CGA maintain in population parts of schedules called schemata, where not all jobs are given to makespan evaluation. That characteristic appears to be beneficial to the search for good feasible complete schedules.

The simple CGA and the local search CGA have their parameters calibrated by an extensive design of experiments and tested against other genetic, tabu search and simulated annealing algorithms. The results are very promising and show that the CGA is competitive with other successful methods. Furthermore, the CGA studied could be easily modified to application in different problems for flowshop, for example: no-wait flowshop, hybrid flowshop and sequence dependent setup times (SDST flowshop). References Johnson, S.M. (1954). Optimal two-and three-stage production schedules with setup times included. Naval Research Logistics Quarterly, 1, 61-68. Garey, M.R., Johnson, D.S., & Sethi, R. (1976). Complexity of flow-shop and job-shop scheduling. Mathematics of Operations Research, 1(2), 117-129. Nawaz, M., Enscore, Jr., E.E., & Ham, I. (1983). A heuristic algorithm for the m-machine, n-job flow-shop sequencing problem. OMEGA, The International Journal of Management Science, 11(1), 91-95. Nagano, M.S., & Moccellin, J.V. (2002). A high quality solution constructive heuristic for flow shop sequencing. Journal of the Operational Research Society, 53, 1374-1379. Ruiz, R., & Maroto, C. (2004). A Comprehensive review and evaluation of permutation flowshop heuristics. European Journal of Operational Research, 165, 479-494. Taillard, E. (1993). Benchmarks for basic scheduling problems. European Journal of Operational Research, 64, 278-285.

Fox, B.R., & McMahon, M.B. (1991). Genetic operations for sequencing problems, foundations of genetic algorithms. Rawlins GJE, editor. San Mateo: Morgan Kaufmann Publishers, 284-300. Ishibuchi, H., Yamamoto, N., Murata, T., & Tanaka, H. (1994). Genetic algorithms and neighborhood search algorithms for fuzzy flowshop scheduling problems. Fuzzy Sets and Systems, 67, 81-100. Chen, C.-L., Vempati, V.S., & Aljaber, N. (1995). An application of genetic algorithms for flow shop problems. European Journal of Operational Research, 80, 389-396. Reeves, C.R. (1995). A Genetic algorithm for flowshop sequencing. Computers and Operations Research, 22 (1), 5-13. Murata, T., Ishibuchi, H., & Tanaka, H. (1996). Genetic algorithms for flow shop scheduling problems. Computers and Industrial Engineering, 30, 1061-1071. Reeves, C.R., & Yamada, T. (1998). Genetic algorithms, path relinking, and the flowshop sequencing problem. Evolutionary Computation, 6(1), 45-60. Ponnambalam, S.G., Aravindan, P., & Chandrasekaran, S. (2001). Constructive and improvement flow shop scheduling heuristics: an extensive evaluation. Production Planning and Control, 12(4), 335-344. Ruiz, R., Maroto, C., & Alcaraz, J. (2005). Two new robust genetic algorithms for the flowshop scheduling problem. OMEGA, The International Journal of Management Science, (to appear). Aldowaisan, T., & Allahverdi, A. (2003). New heuristics for no-wait flowshops to minimize makespan. Computers and Operations Research, 30, 1219-1231. Lorena, L.A.N., & Furtado, J.C. (2001). Constructive genetic algorithm for clustering problems. Evolutionary Computation, 9(3), 309-327.

Ribeiro Filho, G., & Lorena, L.A.N. (2001). A constructive evolutionary approach to school timetabling. In Applications of Evolutionary Computing, Boers, E.J.W., Gottlieb, J., Lanzi, P.L., Smith, R.E., Cagnoni, S., Hart, E., Raidl, G.R., Tijink, H., Springer Lecture Notes in Computer Science. vol. 2037 (pp.130-139). Germany: Springer-Verlag. Oliveira, A.C.M., & Lorena, L.A.N. (2002). A constructive genetic algorithm for gate matrix layout problems. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. vol. 21 (8), 969-974. Montgomery, D.C. (2000). Design and analysis of experiments. Fifth Edition, New York: John Wiley & Sons. Osman, I.H., & Potts, C.N. (1989). Simulated annealing for permutation flow-shop scheduling. OMEGA, The International Journal of Management Science. 17 (6), 551-557. Widmer, M., & Hertz, A. (1989). A new heuristic method for the flow shop sequencing problem. European Journal of Operational Research. 41, 186-193.

Figure 1: Means plot for population at the evolution time α ( P α ) factor.

Figure 2: Means plot for the different algorithms evaluated.

Source Sum of Squares Df Mean Square F-Ratio P-Value MAIN EFFECTS A:d 0.0580 2 0.0290 0.0400 0.9585 B:fill_in 3.6931 5 0.7386 1.0800 0.3697 C:M 545629 3 181876 265669.05 0.0000 D:N 2239280 16 139955 204434.43 0.0000 E:Pα 21.5362 5 4.3073 6.2900 0.0000 F:ε 1.8928 2 0.9464 1.3800 0.2510 INTERACTIONS AB 0.2141 10 0.0214 0.0300 1.0000 AC 0.0071 6 0.0012 0.0000 1.0000 AD 1.2082 32 0.0378 0.0600 1.0000 AE 0.1481 10 0.0148 0.0200 1.0000 AF 0.0675 4 0.0169 0.0200 0.9988 BC 2.5369 15 0.1691 0.2500 0.9986 BD 37.4064 80 0.4676 0.6800 0.9865 BE 4.5496 25 0.1820 0.2700 0.9999 BF 0.2331 10 0.0233 0.0300 1.0000 CD 419583 48 8741.3 12768.53 0.0000 CE 11.9448 15 0.7963 1.1600 0.2928 CF 0.4299 6 0.0717 0.1000 0.9959 DE 5.8213 80 0.0728 0.1100 1.0000 DF 8.9975 32 0.2812 0.4100 0.9987 EF 0.4703 10 0.0470 0.0700 1.0000 RESIDUAL 75129.8 109743 0.6846 TOTAL (CORRECTED) 3.2797E+06 110159 Table1: ANOVA table for the constructive genetic algorithm experiment.

Source Sum of Squares Df Mean Square F-Ratio P-Value MAIN EFFECTS A:d 0.2227 2 0.1113 2.57 0.0769 B:fill_in 0.5100 5 0.1020 2.35 0.0386 C:Pα 0.9626 5 0.1925 4.44 0.0005 D:ε 0.0796 2 0.0398 0.92 0.3992 INTERACTIONS AB 0.2542 10 0.0254 0.59 0.8261 AC 0.3076 10 0.0308 0.71 0.7159 AD 0.0341 4 0.0085 0.2 0.9402 BC 2.2084 25 0.0883 2.04 0.0018 BD 0.1899 10 0.0190 0.44 0.9282 CD 0.7655 10 0.0766 1.77 0.0619 RESIDUAL 66.5678 1536 0.0433 TOTAL (CORRECTED) 72.1024 1619 Table 2: ANOVA table for the constructive genetic algorithm experiment (n=50 and m=20)

Problem NEH GARMA SAOP SPIRIT GAChen GAReev GAMIT GAPAC GAAA CGALS CGA 20x5 3.35 0.26 1.09 4.33 4.15 0.62 0.80 8.57 0.94 0.10 1.32 20x10 5.02 0.73 2.63 6.07 5.18 2.04 2.14 13.17 1.54 0.53 2.66 20x20 3.73 0.43 2.38 4.44 4.26 1.32 1.75 10.58 1.43 0.27 2.02 50x5 0.84 0.07 0.52 2.19 2.03 0.21 0.30 6.88 0.36 0.04 0.32 50x10 5.12 1.71 3.51 6.04 6.54 2.06 3.55 16.64 3.72 1.98 3.73 50x20 6.26 2.74 4.52 7.63 7.74 3.56 5.09 19.07 4.69 3.00 4.92 100x5 0.46 0.07 0.30 1.06 1.35 0.17 0.27 5.78 0.32 0.03 0.24 100x10 2.13 0.62 1.48 3.01 3.80 0.85 1.63 12.30 1.72 0.74 1.63 100x20 5.23 2.75 4.63 6.74 8.15 3.41 4.87 18.25 4.91 3.12 4.55 200x10 1.43 0.43 1.01 2.07 2.76 0.55 1.14 10.00 1.27 0.44 1.00 200x20 4.41 2.31 3.81 4.97 7.24 2.84 4.18 17.24 4.21 2.59 3.75 500x20 2.24 1.40 2.52 12.58 4.72 1.66 3.34 12.69 2.23 1.38 1.94 Average 3.35 1.13 2.37 5.09 4.83 1.61 2.42 12.60 2.28 1.19 2.34 Table 3: Average percentage increase over the best solution known for the metaheuristic algorithms. Maximum elapsed time stopping criterion.

Source Sum of Squares Df Mean Square F-Ratio P-Value Between groups 2538.38 9 282.042 72.82 0.0000 Within groups 4609.1 1190 3.87319 TOTAL (CORRECTED) 7147.48 1199 Table 4: ANOVA table for the evaluation of the differences between algorithms