APPLYING DATA MINING TO JOB-SHOP SCHEDULING USING REGRESSION ANALYSIS A thesis presented to the faculty of the Fritz J. and Dolores H. Russ College of Engineering and Technology of Ohio University In partial fulfillment of the requirements for the degree Master of Science Alok D. Innani August 2004
This thesis entitled APPLYING DATA MINING TO JOB-SHOP SCHEDULING USING REGRESSION ANALYSIS BY ALOK D. INNANI has been approved for the Department of Industrial and Manufacturing Systems Engineering and the Russ College of Engineering and Technology by David A. Koonce Associate Professor of Industrial & Manufacturing Systems Engineering R. Dennis Irwin Dean, Fritz J. and Dolores H. Russ College of Engineering and Technology
INNANI, ALOK D. M.S. August 2004. Industrial and Manufacturing Systems Engineering Applying Data Mining to Job-Shop Scheduling using Regression Analysis (188 pp.) Director of Thesis: David Koonce Regression analysis is an established statistical analysis technique that has been employed to learn more about the relationship between several predictor variables and a dependent variable. The purpose of using this technique for scheduling job-shop problems is to obtain better schedules. Earlier research has shown that attribute-oriented induction can be used to learn from job-shop scenarios to develop rules. The approach followed in this research was to use test problems to create a regression equation. The solutions of the genetic algorithms (GA) were extended to include other attributes. The solutions had the following attributes: job number, operation number, processing time, remaining processing time and machine load. The solutions were used to develop the regression equation. Using this equation, new scenarios were scored and the results were sorted in an ascending priority to develop new schedules. These schedules were developed incorporating a left-shift technique. This was followed by analysis of the problems with the shortest processing time (SPT) heuristic. Attribute-oriented induction rules were then applied to the same problems. The makespans for the obtained sequences were developed by the same procedure of plotting by Gantt chart.
The results from all the four techniques being obtained, the next step was to perform statistical analysis. An ANOVA on the makespans showed that the best schedules were obtained by the genetic algorithms. Regression analysis provided makespans that were identical to slightly higher than those obtained by the GA. The results were also subject to multiple comparison technique to determine which two techniques provided closer solutions. Dunnett s test showed that GA and regression analysis solutions were much closer than those provided by the SPT heuristic and the attribute-oriented induction rules. Approved: David Koonce Associate Professor of Industrial and Manufacturing Systems Engineering
5 TABLE OF CONTENTS ABSTRACT...3 LIST OF TABLES... 7 LIST OF FIGURES... 8 CHAPTER 1. INTRODUCTION... 9 1.1 Scheduling Problems... 9 1.2 Description of a job-shop... 10 1.3 Statement of Purpose... 11 CHAPTER 2. BACKGROUND... 14 2.1 Classical Job-shop Scheduling Problems (JSSP)... 14 2.2 Approaches to solve JSSP... 20 2.3 Genetic Algorithms (GA)... 34 2.3.1 Description of Genetic Algorithm (GA)... 35 2.3.2 Working of Genetic Algorithm... 37 2.3.3 Application of genetic algorithms to job-shop scheduling problems... 43 2.4 Knowledge Discovery in Databases (KDD) and Data Mining... 45 2.4.1 The process of Knowledge Discovery in Databases... 46 2.4.2 An Overview of Data Mining... 48 2.4.3 Attribute-Oriented Induction in Data Mining... 49 2.4.4 Application of Data mining to job-shop scheduling problems... 56 2.5 Regression Analysis... 57 CHAPTER 3. METHODOLOGY... 62 3.1 Approach... 62
6 3.2 Attribute-Oriented Rule Sets... 63 3.3 Procedure... 70 CHAPTER 4. RESULTS... 73 4.1 Statistical Analysis... 73 CHAPTER 5. CONCLUSIONS AND FUTURE RESEARCH... 80 5.1 Conclusions... 80 5.2 Future Research... 81 REFERENCES... 84 APPENDIX A TEST PROBLEMS... 88 APPENDIX B GA SOLUTIONS AND MAKESPANS (IN LAST ROW)... 90 APPENDIX C REGRESSION ANALYSIS... 173 APPENDIX D SCHEDULES GENERATED BY SPT PROCEDURE... 180 APPENDIX E NORMAL DISTRIBUTION PLOTS OF MAKESPANS... 185
7 LIST OF TABLES Table 2.1 A 4x3 job-shop problem... 15 Table 2.2 A 3x3 job-shop problem... 18 Table 3.1 Generic rules for the rule-set... 67 Table 3.2 Rule set of 47 rules learned from 10 cases... 69 Table 4.1 Makespans obtained by GA, Regression, SPT and Induction rules techniques 77
8 LIST OF FIGURES Figure 2.1 A Gantt chart representation of a solution to the 4 x 3 job-shop problem in Table 2.1... 16 Figure 2.2 A Gantt chart representations of Semi-active and Active schedules... 19 Figure 2.3 A Venn diagram illustrating the relation between active, semi-active and nondelay schedules... 20 Figure 2.4 A comparison of conventional and genetic approaches... 37 Figure 2.5. A binary representation of chromosomes... 39 Figure 2.6 An overview of the steps comprising the KDD process... 47 Figure 2.7 Examples of concept hierarchy representation... 54-55 Figure 3.1 A Rule Network tree... 66 Figure 4.1 ANOVA statistics for the design database... 74 Figure 4.2 Blocked ANOVA showing difference in the techniques... 78 Figure 4.3 Blocked ANOVA showing difference in the techniques without SPT... 79
9 CHAPTER 1. INTRODUCTION 1.1 Scheduling Problems Scheduling is the allocation of resources over time to perform a collection of tasks. Pinedo [58] describes it as a decision-making process with the goal of optimizing one or more objectives. In a job-shop it is concerned with the simultaneous and synchronized ordering of operations on several machines. In manufacturing, the scheduling function interacts with other decision making functions such as Materials Requirement Planning (MRP) within the plant. The four primary stages of scheduling decisions are formulation, analysis, synthesis and evaluation [5]. Scheduling theory is concerned primarily with mathematical models which relate to the scheduling function. The development of useful models is the continuing interface between theory and practice. The theoretical or quantitative approach attempts to capture the problem in concise mathematical form, in which the decision making goals are translated into explicit objective functions and the decision making restrictions into explicit constraints. A solution to a scheduling problem is any feasible resolution of the two types of constraints namely limits on the capacity of available resources and technological restrictions on the order in which tasks can be performed. In a manufacturing organization production scheduling is a unifying problem which relates such diverse elements of the organization as sales, cost control, purchasing, capital budgeting and many others. The complexity of
10 scheduling increases with the increasing number of jobs, resources and constraints. Essentially each scheduling problem is an optimization problem defined on the finite set of so-called active schedules. The large cardinality of this set makes the complete enumeration of all elements unfeasible. A common feature of many of these NP-hard problems is that no efficient algorithm is known yet for solving it to optimality in polynomial time. Dynamic problems are those in which jobs arrive randomly over a period of time while those in which the processing times are uncertain are called stochastic. French [28] provides a detailed discussion for solving various types of machine scheduling problems using approaches such as branch and bound, integer programming, algorithms and heuristics. 1.2 Description of a job-shop Job-shop scheduling is an activity that comprises of a set of jobs to be processed on a set of machines. The job-shop scheduling problem can be defined as the allocation of machines over time to perform a collection of jobs to minimize/maximize a specific performance measure while satisfying the operation precedence constraints, machine capacity constraints, processing time and ready time requirements. The resources thus are the machines and the basic task modules are called jobs. Each job may be comprised of several elementary tasks called operations, which are interrelated by precedence constraints. The processing of an operation requires the use of a particular machine for an uninterrupted duration, called the processing time of the operation. Each machine can process only one operation at a time. The routing, processing times and precedence
11 constraints are specified by a process plan. The main distinction between the classic flowshop and a job-shop is that, in the former case each job passes the machines in the same order whereas in the latter case the machine order may vary per job. Since workflow in a job-shop is not unidirectional, scheduling becomes quite tedious. For a particular jobshop process plan, several feasible schedules can be generated. Given a cost function by which the cost of each possible solution can be measured, the processing order on each machine that minimizes the corresponding cost is desired. The optimality of a schedule is thus decided by the objectives such as minimization of process cost, makespan and flowtime or maximization of throughput, system/ resource utilization and production rate. 1.3 Statement of Purpose An optimal solution for a general job-shop scheduling problem is known to be hard to achieve, particularly when the size of the problem is large. While mathematical models such as integer and linear programming have been developed to solve similar constraint based problems, the computational cost associated with solving the job-shop scheduling problem increases with increasing numbers of jobs, resources and constraints. The computation and analysis of these problems is time-consuming. Heuristics such as dispatching rules, search algorithms and Artificial Intelligence (AI) approaches have been used to solve the job-shop problem. Stochastic search techniques such as Genetic Algorithms (GA), based on the evolutionary concepts of evolution and survival of the strongest genes, provide solutions that are optimal or near optimal. GA s however, are considered unreliable, as they do not guarantee an optimal or even good schedule for
12 every run. Most of the heuristic job-shop scheduling procedures are based on priority dispatching rules such as Shortest Processing Time (SPT), First Come First Serve (FCFS), Most Work Remaining (MWKR), etc. A dispatching rule is used to select the next job to be processed from a set of jobs requiring processing. The subset of operations is designed to produce a schedule such that no operation can be started earlier without delaying some other operation and no machine is idle at a time when it could begin executing some operation. Heuristic procedures of the greedy type are fast and usually find adequate solutions. However with the rapid increase in the speed of computing and the growing needs of efficiency in scheduling, it becomes increasingly important to explore ways of obtaining better schedules at minimal computational cost, short of going all the way of finding a guaranteed optimal solution by explicit enumeration. This thesis presents an approach for incorporating multivariate analysis into the data mining process, and shows what proportion of the variability of the dependent variable, in this case the objective function, is uniquely explained by each individual predictor. Regression analysis was used to learn from good or optimal schedules for a 6 x 6 job-shop. In these schedules, quality was based on the objective to minimize the makespan, i.e. the time needed for processing all the jobs. These good schedules were generated by a genetic algorithm, an approach which has shown in prior research [44] to produce good solutions to problems of this size. The schedules and makespans obtained by the developed regression model are applied to 19 test problems and compared with schedules obtained by the GA scheduler,
13 as well as solutions obtained by using the SPT heuristic. Finally the problems were subject to the rule sets developed by Kantak [44] using the data mining approach of attribute-oriented induction.
14 CHAPTER 2. BACKGROUND 2.1 Classical Job-shop Scheduling Problems (JSSP) The classic job-shop scheduling problem is a well known machine scheduling problem and among the hardest combinatorial optimization problems [29]. Due to the inherent intractability of the problem, heuristic procedures are often employed. The classic JSSP consists of n jobs to be scheduled on m different machines with explicit processing times is denoted as an n x m problem. Each job is composed of a sequence of operations and the operation order on the machines is pre-specified. Each operation is characterized by the required machine and the fixed processing time. The process plan specifies the routing, processing times and precedence constraints among operations of each job. There are several constraints on jobs and machines: a job does not visit the same machine twice there are no precedence constraints among operations of different jobs an operation cannot be preempted each machine can process only one job at a time neither release times nor due dates are specified there are no machine breakdowns throughout the scheduling process and the job-shop is static and deterministic in nature i.e., there is no randomness as the jobs, machines, processing times and all other parameters necessary for defining the job-shop problem are known and fixed.
15 Table 2.1 is an example of a 4 x 3 job-shop problem. The data is in the format (Machine, Processing Time) and shows the machine assignments for all jobs, i.e. routing. Table 2.1 A 4x3 job-shop problem Job Operation 1 2 3 1 (1, 4) (2, 3) (3, 2) 2 (2, 1) (1, 4) (3, 4) 3 (3, 3) (2, 2) (1, 3) 4 (2, 3) (3, 3) (1, 1) In the example, the routing of job 1 is through machine 1 for 4 time units, machine 2 for 3 time units and finally through machine 3 for two time units. The precedence constraints are thus imposed on the operations for each job. The simplest and most widely used model to aid in decision making for a variety of scheduling problems is a Gantt chart, as shown in Figure 2.1, which is a graphical representation of resource allocation over time, thus conveying basic information about system status for scheduling purposes.
16 Machine 1 2, 2 1, 1 4, 3 3, 3 Machine 2 2, 1 4, 1 3, 2 1, 2 Machine 3 3, 1 4, 2 2, 3 1, 3 1 2 3 4 5 6 7 8 9 10 11 12 TIME 13 14 Figure 2.1 A Gantt chart representation of a solution to the 4 x 3 job-shop problem in Table 2.1 For any job-shop problem an infinite number of feasible schedules can be generated as arbitrary amounts of idle times can be inserted at any machine between adjacent pairs of operations [54]. It can be stated that superfluous idle time exists in a schedule if some operation can be started earlier in time without varying the operation sequences on any machine. Since, it is desirable that the operations be processed as compactly as possible, superfluous idle time should be eliminated. A schedule should be a feasible resolution of the logical constraints such that all operations of each given job can be placed on one time axis in precedence order and without overlap. Each feasible schedule can be classified as semi-active, active and non-delay schedule. Semi-active schedules: An improvement in the objective of the set of all feasible schedules can be brought about by moving operations towards the left in a Gantt chart.
17 This results in reduced idle times while preserving the operation sequences. This type of adjustment which results in a compressed schedule on a local machine without modifying the sequence of operations is known as local left-shift. The set of all schedules in which no local-left-shift can be made is called the set of semi-active schedules. It is the most compact feasible schedule with no surplus idle time. Active schedules: An improvement can be brought about in the semi-active schedules by shifting some operations ahead of some operations in the schedule without delaying their processing. This involves shifting an operation into a slot earlier in the sequence such that the feasibility of the schedule is preserved. This type of shift is knows as a global left shift. The set of all schedules in which no global left shift can be made is called the set of active schedules and are a subset of the semi-active schedules. Non-delay schedules: A dispatch or non delay schedule is one in which no machine is kept idle at a time when it could begin processing some operation. All non delay schedules are active schedules since no left-shifting is possible. Table 2.2 is an example of a 3 x 3 job-shop problem. The data is in the same format as the previous example, i.e., (Machine, Processing Time) and the routing of jobs is shown.
18 Table 2.2 A 3x3 job-shop problem Job Operation 1 2 3 1 (1, 3) (2, 3) (3, 2) 2 (1, 1) (3, 5) (2, 3) 3 (2, 3) (1, 2) (3, 3) Active schedules are generally the smallest dominant set in the job-shop problem [5]. The non-delay or dispatch rules are smaller in number but are not dominant. The best non-delay schedule may often be a very good solution, if not optimal. A discussion on the characteristics and classification of schedules is provided by Conway et al. [13]. Figure 2.2 (a) shows a semi-active schedule and Figure 2.2 (b) shows an active schedule generated by left-shifting the semi active schedule.
19 Machine 1 1, 1 2, 1 3, 2 Machine 2 3, 1 1, 2 2, 3 Machine 3 2, 2 1, 3 3, 3 1 2 3 4 5 6 7 8 9 10 11 12 13 TIME (a). Semi-active schedule with no local left-shift 14 Machine 1 2, 1 1, 1 3, 2 Machine 2 3, 1 1, 2 2, 3 Machine 3 2, 2 3, 3 1, 3 1 2 3 4 5 6 7 8 9 10 11 12 13 TIME 14 (b). Active schedule with no global left-shift Figure 2.2 A Gantt chart representations of Semi-active and Active schedules A better way to look at the role of semi-active and active schedules is with the use of a Venn diagram. The large rectangle represents the set of all schedules. The point represents some optimal schedule which lies in the active subset. Figure 2.3, adapted from Morton and Pentico [54], represents a Venn diagram demonstrating the relationship between various schedules.
20 All Schedules Semi-Active Active Non-Delay Figure 2.3 A Venn diagram illustrating the relation between active, semi-active and nondelay schedules 2.2 Approaches to solve JSSP A great deal of research has been focused on solving the job-shop problem, resulting in a wide variety of approaches. The JSSP is among the hardest combinatorial optimization problems and due to its intractability it is considered to belong to the class of decision problems which are NP [29]. It is not only NP-hard but is one of the worst members in the class. An indication of this is given by the fact that one 10 x 10 problem formulated by Muth and Thompson [55] remained unsolved for over 20 years [2]. As described by Baker [5] the number of feasible semi-active schedules for a JSSP is shown to be bounded by (n!) m. This means that Muth and Thompson s 10 x 10 problem had at most 3.9594 x 10 65 feasible semi-active solutions; clearly exhaustive enumeration is not currently possible for this class of problems. Coffman [14] provides a detailed discussion on the topic of the complexity of sequencing problems. Kan [43] develops optimizing algorithms for the problem that may be either polynomial-bounded or of the implicit
21 enumeration type and suggests that the use of heuristics is unavoidable for some problems. This section discusses the various approaches considered by researchers to deal with the complex job-shop machine scheduling problem. In one of the earliest papers in this field, by Giffler and Thompson [31], algorithms using priority dispatching heuristics were incorporated to solve production scheduling problems. The algorithms were designed to generate any one or all schedules of a particular subset of all possible schedules called the active schedules. They demonstrated that every optimal schedule is the same as an active optimal schedule. The objective function was to minimize the length of production schedules. While their approach helped to define the job-shop solution process, the integer programs did not lead to practical methods of solutions. They also did not consider other optimality criteria s such as due dates, operation priorities and routing problems in their model. Brooks and White [9] developed a procedure for finding optimal solutions for the production scheduling problem incorporating a wide variety of possible criteria and constraints, using the algorithm developed by Giffler and Thompson [31]. They developed the proposal of using the lower bound as the decision rule for developing a single near-optimal solution. The assumptions of negligible setup and transportation times do not make the algorithm practical. Even for moderate size problems, the computation time and the procedure followed are slow and thereby not cost effective.
22 The computational cost of solving these NP-hard problems increases exponentially with the problem size. This has initiated the use of heuristic approaches based on priority dispatching rules which produce schedules that are semi-active. Dispatching rules such as Shortest Processing Time (SPT), Most Work Remaining (MWKR), and First Come First Serve (FCFS) are most commonly used because of their speed and reasonable results. Priority rules assign a value to each waiting job according to some criteria or priority and then select the job with the minimum or maximum value. Heuristics can be simply described as following some rule of thumb whereas scheduling rules comprise of a combination of one or more priority rules and /or one or more heuristics. Panwalker and Iskander [57] have carried out the most well known and comprehensive survey of scheduling heuristics. A total of 113 priority dispatching rules are presented, reviewed and classified. They have categorized these rules as per the specific area of application. The first category includes simple priority rules that are based on some information related to a job such as setup times, due date, processing time, costs, slack, arrival times etc. Rules based on random selection which are not based on specific job attributes are also included in this section. The second section comprises of some combination of simple priority rules which work by dividing a queue into two or more priority groups. Different groups are then subject to application of different rules. In many instances such as FIFO/ SI or Cost/ Time, two rules apply to the same queue under different circumstances.
23 The third section comprises rules that are a combination of the previous two sections or their combination with different weights applied. The fourth section comprises heuristic scheduling rules which involve a more intricate consideration such as alternate routing effects, alternate operation scheduling or expected machine loading. They are used in combination with the above three set of rules and in some cases can involve aspects such as inserting a job in an idle time slot by visual inspection of a schedule. The last section comprises rules designed for a specific application or combination of priority indexes based on some mathematical functions of job attributes or rules not categorized in the above four sections. Besides the various definitions and classifications of scheduling rules, Panwalker and Iskander provide, for each rule, a reference number of all surveyed articles that use the particular rule. They also describe the type of problem and measures of performance used in each of the surveyed articles. Due to the form in which this exhaustive survey of scheduling rules is presented, it can be readily used by both practitioners and researchers. Blackstone et al. [7] provide a comparison of several dispatching rules. Their work illustrates several measurement criteria s used to evaluate dispatching rules and identifies several rules that exhibit good overall performance. They present a formal definition of 34 representative dispatching rules, selected from articles or actual industrial usage. They discuss the state of the art in the study of dispatching rules that includes analytical approaches, simulation techniques, bias of estimated produced by simulation, sample size and evaluation criterion. The dispatching rules have been classified and
24 discussed as per four classes namely those involving processing time, due-dates, simple rules and a combination of the first three classes. The non-cost measurement criteria s used most often to study dispatching rules include flowtime, lateness and tardiness besides cost effectiveness. Analytical methods such as queuing theory techniques have been widely used in the study of job-shops. They also compare several of the listed dispatching rules using the results of published studies and suggest those exhibiting good performance. They present a discussion of secondary dispatching heuristics which are procedures that can be used to identify circumstances under which the job indicated by the dispatching rule should not be processed first. Such heuristics have significantly increased the performance of some dispatching rules. They have not discussed job sequencing procedures which is another approach to the problem of job selection. Jones and Rabelo [42] provide a description of how different approaches, revolving around a series of technological advances, have been applied to solving scheduling problems. They discuss a few of the most important contributions and recent trends in areas such as Mathematical techniques, Dispatching rules, Artificial Intelligence, Neural Networks, Neighborhood search methods and Fuzzy logic. Job-shop scheduling problems have been solved extensively by applying mathematical programming techniques such as integer, mixed-integer and dynamic programming. Due to the NP-complete nature of these problems, the use of these applications was limited, initiating research to break down into sub-problems and overcome these deficiencies. The authors detail two decomposition strategies proposed by researchers. They also discuss enumerative techniques for solving the integer-
25 programming problems like branch-and bound which conceptualizes the problem as a decision tree and Lagrangian relaxation that solves the problems by omitting specific integer-valued constraints and adding the corresponding costs to the objective function. They discuss various papers based on the study and classification of dispatching rules. They provide detailed study of Artificial Intelligence approaches such as expert and knowledge based systems and distributed scheduling systems. Artificial neural network techniques such as supervised learning neural network, relaxation models, competitionbased unsupervised neural networks and temporal reinforcement learning have also been discussed. They consider neighborhood search methods such as tabu search, simulated annealing and genetic algorithms. They provide an explanation of concepts such as Fuzzy logic, Reactive scheduling and Learning in scheduling and its beneficial incorporation in solving machine scheduling problems. Cheng et al. [17] provide a tutorial survey of recent works on solving classical JSSP using genetic algorithms. They give a tutorial survey of recent works on solving the classic JSSP using genetic algorithms. They address the key issue of encoding a GA for solving the JSSP and present a detailed analysis of nine representation schemes for the job-shop scheduling problem. They classify these representations into two basic encoding approaches: direct and indirect. A direct approach encodes the solution of JSSP into a chromosome and uses GA s to evolve these chromosomes to obtain a better schedule. The indirect approach varies considerably as it encodes a sequence of dispatching rules for job assignment into the chromosome instead of a schedule and uses the GA to find out a better sequence of dispatching rules. They also present a relative discussion on the
26 following features: Lamarkian property of chromosome, complexity of decoder, property of encoding space and mapping and memory requirements. In part II of this paper [18] a discussion of the various hybrid approaches of genetic algorithms and conventional heuristics is provided. The underlying logic behind hybrid genetic algorithms being to use the genetic algorithms to evolve an appropriate permutation of operations, subject to constraints, and subsequently use a local search technique in the GA s loop of recombination and selection, to construct the solution. The aim is to enhance the performance of genetic search by incorporating traditional heuristic methods. They classify the hybridization methods for JSSP into the following categories: adapted genetic operators, heuristic-featured genetic operators and hybrid genetic algorithms. Adapted genetic operators revise or invent the genetic operators to meet the characteristics of a particular encoding representation. The heuristic-featured approach creates new genetic operators incorporating techniques from conventional heuristics. The hybrid GA s involves a combination of local search techniques with the main loop of GA s which provides a dual search possibility i.e., the GA s perform global exploration in the population while the heuristics perform local exploitation around chromosomes. They have provided three combination techniques for hybrid GA s. Since the authors have not tested these encoding techniques with benchmark problems, a judgment on their performance cannot be made. An extension of the hybrid genetic algorithm is offered by Cheung and Zhou [19] by incorporating sequence dependent setup times in the model. They provide a
27 framework for integrating heuristic rules with genetic algorithms to solve the scheduling problem and also present a summary of existing researches on the topic. The hybrid algorithm considerably reduces the size of the solution space thereby improving the search efficiency. The hybridization does not guarantee an optimal solution as there is the possibility of the optimal solution getting lost during the reduction of the search space. However, a proper design and implementation of the heuristic rules should help retain the high performance solutions. The authors demonstrate the robustness of the algorithm by comparison with an effective heuristic method and incorporate flexibility to it by including a small simulator, which calculates the objective function, to implement heuristic rules. The drawback of the proposed approach is the computational time consumed in developing the solutions. The Shifting Bottle neck Procedure (SBP) is an approach developed to bridge the gap between the time consuming priority dispatching rules and combinatorial optimization methods. The SBP strategy involves sequentially sequencing the machines one by one. Each time the bottle neck machine among those not yet sequenced is selected. The SBP is designed to solve the problem iteratively, each time, as a single machine scheduling sub-problem using the approach of Carlier [10] and treating the jobs as independent. The solutions are compared and the machines are ranked on the basis of their solution. The bottle neck machine is the unsequenced machine with the largest solution value. The procedure sequences the bottle neck machine based on already scheduled machines and ignores the remaining unsequenced machines. The method selects the bottle neck machine earlier as scheduling it at a later stage would deteriorate
28 the makespan further. The selection and scheduling of a bottle neck machine restarts the loop. All the previously scheduled machines that are liable to improvement are locally reoptimised by solving the one machine problem again. The benefit of the SB procedure over randomized local search methods such as tabu search and simulated annealing is that they produce good solutions for the JSSP in relatively short computation time. Adams et al. [1] propose some modifications to the shifting bottle neck procedure, which uses a primitive form of iterated local search to produce substantially better schedules than were previously computed. They refer to this technique as SBI procedure and have found it to be better than the solutions produced by priority dispatching rules. The results produced by the enumerative version of SB procedure (SBII) were substantially better than those produced by the straight version. Out of the 40 problems solved by SBI, SBII and priority dispatching rules, SBII provided better or similar results than the dispatching rules in all the cases. The typical improvement was between 4 and 10 percent. Many extensions to the SB procedure have been suggested making it adaptable to job-shops with practical features such as precedence constraints between jobs, simultaneous resource requirements and setup times. Schutten [59] extends the SB procedure of Adams [1] for the classic job-shop to deal with attributes such as transportation times and convergent job routings. They discuss possible extensions and corresponding modeling of the SB procedure for
29 conditions such as: release and due dates, setup times, parallel machines, transportation times, unequal transfer and production batches, multiple resources, down times, convergent and divergent job routings and open shops. The authors state that the SB procedure with extensions has performed well in companies and is currently part of a commercial shop floor control system called JOBPLANNER. Dauzere-Peres and Lasserre [20] propose a modified SB procedure which is more general modification of Carlier s algorithm and allows some precedence constraints between jobs. They report several drawbacks to the strategies proposed by Adams et al. [1]. Precedence constraints can be created between pairs of jobs on an unsequenced machine by SBI procedures when they develop the sequence on a machine. These constraints are known as delayed precedence constraints. They arise as sequencing a given machine can impose conditions on the sequence on some other machine. The processing of another job can thereby be delayed by a specified time lapse. Due to this job dependency, it is possible that the real bottle neck machine is not selected and the best sequence is not computed. The final solution of the SBI can thus be infeasible as reoptimization does not guarantee a monotonic decrease of makespan [41]. Applegate and Cook [2] design and implement a new heuristic cutting- plane scheduling method for obtaining lower bounds and a combinatorial branch and bound algorithm. They construct an initial procedure known as Bottle-k (k is chosen as 4, 5 and 6). The algorithm branches by selecting each remaining machine in turn, for the last k unscheduled machines They formulate an algorithm called Shuffle with Edge-finder
30 as it core. The initial solution is constructed by Bottle-k. This is then followed by Shuffle fixing the processing order of one or a small number of heuristically selected machines. The remainder of machines is optimally solved by Edge-finder. They combine the heuristic and the algorithm to solve the well-known 10 x 10 problem of Muth and Thompson [55] within a reasonable time. Kuroda and Wang [49] introduce the fuzziness of scheduling information into the classic job-shop scheduling problem. They define dynamic problems as types in which jobs arrive randomly over a scheduling period and the scheduler has no information on the jobs prior to scheduling them. They introduce the fuzziness on due-dates and processing times into the model and detail the solution approach using the branch and bound method. The selected performance criterion is completion time. The results indicate the fact that the sensitivity of fuzzy information may control the performance of the produced schedules. The methods can thus help show us which fuzzy information should be considered and which one can be neglected under the given conditions. Baptiste et al. [6] present both constraint based optimization algorithm and a constrained approximation algorithm. They show that the performance of optimization algorithms can be enhanced by using the approximation algorithms. They use two important ideas from Applegate and Cook [2] and Nuijten [56] to develop their own approximation algorithm. Applegate and Cook use the shuffle procedure to improve solutions to the JSSP while Nuijten uses a randomized procedure to solve a wide range of scheduling problems. The optimization algorithm is launched when the approximation
31 algorithm terminates. The empirical performance analysis performed shows that both the algorithms perform well. Binato et al. [4] apply the concept of greedy randomized adaptive search procedures (GRASP) to the job-shop scheduling problem. GRASP is a metaheuristic procedure for combinatorial optimization problems and is a competitive algorithm for finding approximate solutions for JSSP. The iterative GRASP process comprises two phases: construction and local search. The intensification-enhanced construction phase builds a feasible solution whose neighborhood is explored by local search and the best solution over all iterations is returned as the result. The construction phase makes use of the Proximate Optimality Principle (POP) to correct imperfections made in this phase. The shortcoming of the standard GRASP framework is that it does not learn from the history of solutions found in previous iterations as it discards a solution that does not show improvement. They have developed a specialized JSSP intensification scheme based on the approach of Fleurent and Glover [27]. The POP principle (POP) [32] states that good solutions of partial schedules with n operations are close to good solutions of partial schedules with (n + 1) operations. The authors implement POP for the JSSP using a slightly modified disjunctive graph based local search. The algorithm produced optimal or near-optimal solutions on all instances for the 66 evaluation problems. They suggest that the solution can achieve linear speed-up with parallel implementation and an improved intensification scheme to search the solution space around the elite solutions can help find better solutions on some very difficult problems.
32 Chryssolouris and Subramaniam [12] present a scheduling method that uses genetic algorithms on a dynamic job-shop problem with multiple job routes. They demonstrate the effectiveness of this approach by simulating a dynamic job-shop using mean job tardiness and mean job cost as the performance measures. Their scheduling method is based on GA s and they replace the generational replacement policy of the crossover operator with an elitist recombination policy thereby enhancing the performance of the proposed method. The results indicate that the performance of the proposed method is considerably better than common dispatching rules with respect to the obtained schedules as well as the computational time. Steinhofel et al. [61] present two simulated annealing-based algorithms for the jobshop scheduling problem with a makespan minimization objective. Simulated annealing is a stochastic local search technique that was introduced as an analogy from statistical physics of the computer simulation of the annealing process of a hot metal until its minimum energy state is reached and is based on the independent proposals of Kirkpatrick et al. [47] and Cerny [11] who adapt the work of Metropolis et al. [53] to constraint optimization problems [41]. They use the model of disjunctive graphs to represent the problem. The algorithms implemented and evaluated on several small and large benchmark problems obtain good approximations of optimum values within a relatively short time. Steinhofel et al. [62] present an extended version of their earlier paper that deals with parallelized versions of simulated annealing-based heuristics for the classic job-shop
33 scheduling problem. The same approach as that followed in the previous paper is used to represent the problem i.e., disjunctive graph model and the objective is to minimize the length of the longest paths. They carry out a complexity analysis of three simulated annealing-based algorithms designed for their implementations on parallel random access machines. The algorithms use a neighborhood relation which was introduced by Laarhoven et al. [50] and involves transitions that always guarantee a feasibility of schedules. They analyze potential upper bounds for famous benchmark problems of size 6 x 6 till 50 x 10. Tagawa [64] proposes a new model of job-shop scheduling system which consists of five decision systems and can be applied to actual shops. They outline the need for a scheduling system that examines the accuracy of information for the entire period of time from the order being placed by the customer to the product being completed. They provide an outline of their new concept of job-shop scheduling system with hierarchical decision model comprising of: order entry system, master scheduling system, job scheduling system, operation scheduling system and dispatching system. Blazewicz et al. [8] provide an overview of the solution techniques available for solving the job-shop problem. They provide a detail of the literatures available on machine scheduling and job-shops and the variety of scheduling rules that have been considered for job-shops by various researchers. The authors provide a history of the various approaches considered by researchers for solving the job-shop scheduling problem starting from the 10 x 10 benchmark problem of Fisher and Thompson [26] to
34 Baptiste et al., 1995 [6]. They concentrate on branch and bound algorithms, exploring specific knowledge about the critical path of the JSSP, branching strategies and approximation algorithms belonging to the class of opportunistic and local search scheduling. Their analysis finds local search methods as the most powerful tools for scheduling job-shops. They also assign importance to other methods that incorporate problem specific knowledge either by problem decomposition, special purpose heuristics, constraints and propagation of variables domain modification, neighborhood structures, etc. or any combination of such methods. Koonce and Tsai [48] show that data mining can be used for the extraction of knowledge from a set of job-shop schedules produced by genetic algorithms. They apply the data mining methodology of attribute oriented induction to explore the patterns in solutions and generate rules that can be used to construct adequate solutions. The most effective optimization techniques to date have been branch and bound algorithms based on the disjunctive graph model for job-shop scheduling problem. 2.3 Genetic Algorithms (GA) The simulation of the natural evolutionary process of life results in stochastic optimization techniques called evolutionary algorithms, which can often outperform conventional optimization methods when applied to real-world problems. The three main avenues of this research are: genetic algorithms, evolutionary programming and evolution strategies. Among them, genetic algorithms are the most widely known type of
35 evolutionary algorithms today. GA s are inspired by Darwin s theory of evolution which states that evolutionary process is governed by the rules of natural selection. Problems are solved by evolutionary concepts of survival of the fittest individuals. These surviving individuals then produce the offspring, thereby passing the good genes along. This cycle continues for generations producing a better fitting generation over time. GA s are a part of evolutionary computing, which is a rapidly growing area of artificial intelligence 2.3.1 Description of Genetic Algorithm (GA) Genetic Algorithms are powerful and broadly applicable stochastic search techniques based on the mechanisms and principles of natural selection and natural genetics. The space of all feasible solutions is called search space. Each point in the search space represents one possible solution. Each possible solution can be marked by its value or fitness for the problem. The aim of the GA is to look for the best solution among a number of possible solutions represented by one point in search space. The GA works on the population of points using the fitness function as their information source for guiding the search. GA s are a combination of blind search and heuristic search algorithms as they randomly investigate the problem space, improvising their search by using the information gained from the last experience. Their intelligence is indicated from the fact that they not only exploit the best solution but also explore the vast search space for better solutions [30].
36 GA s differ from conventional search techniques as they start with an initial set of random solution set called population. Each individual in the population is called a chromosome and represents a solution of the problem to be solved. The chromosome is a string of symbols called genes and is usually represented by a binary bit string. The chromosomes evolve through successive iterations called generations. During each generation the chromosomes are evaluated using some measure of fitness. The objective or fitness function is analogous to the environment that evaluates the performance of the individuals in adapting to their surroundings. The next generation is created by forming new chromosomes called offspring either by merging two chromosomes from current generation using a crossover operator or modifying a chromosome using a mutation operator. The fitter chromosomes have higher probabilities of being selected for creating the new population while unfit chromosomes are discarded, to keep the population size constant. Mutation is used during the mixing process to avoid creation of chromosomes that are too similar to their parents. The new generation of solutions produced is better than the preceding generation. The algorithm s solutions converge to the best chromosome after several generations, which should represent the optimal or nearoptimal solution to the problem. Figure 2.4, adapted from Gen and Cheng [30], provides a comparison of conventional and genetic approaches that are followed while solving a problem.
37 Conventional Method Initial single point Genetic Algorithm Initial population Improvement (problem-specific) Improvement (problem-independent) Terminal? End Yes Terminal? End Yes Figure 2.4 A comparison of conventional and genetic approaches 2.3.2 Working of Genetic Algorithm The functionality of the conventional GA can be explained as follows: a) [Start] Generate random population of n chromosomes (suitable solutions for the problem) b) [Evaluate] Evaluate the fitness f(x) for each chromosome x in the population c) [Repopulate] Create a new population by repeating following steps until the new population is complete d) [Select] Select two parent chromosomes from a population according to their fitness (Higher fitness means higher chance of being selected)
38 e) [Crossover] With a crossover probability combine the parents to form a new offspring. If no crossover was performed, the offspring is exact copy of the parents. f) [Mutate] With a mutation probability, mutate new offspring at a locus (position in chromosome) g) [Accept] Place new offspring in the new population h) [Replace] Use new generated population for a further run of the algorithm i) [Test] If the end condition is satisfied, stop, and return the best solution in current population j) [Loop] Go to step 2 The outline of the basic GA is very general and there are many parameters and settings that can be implemented differently in various problems. A detailed discussion about the various features of the GA process follows. Encoding Genetic Algorithms operate on an initial set of random solutions which essentially is comprised of a population of chromosomes. The procedure of the GA is aimed at obtaining a chromosome (solution) which is hopefully optimal. It is essential that the chromosome should, in some way, contain information about the solution that it represents. The question of how to encode a solution of the problem into a chromosome is therefore a key issue for GA s. The most used way of encoding is to use a binary
39 string. A chromosome could then look like Figure 2.5, where each bit in the string represents some characteristics of the solution. Chromosome 1 1101100100110110 Chromosome 2 1101111000011110 Figure 2.5. A binary representation of chromosomes Each gene in the chromosome can be encoded to a finite length using binary or non-binary strings. Various non-string encoding techniques have been created for problems like real number coding for constrained optimization problems and integer coding for combinatorial optimization problems [30]. Evaluation The fitness of each chromosome in the population is evaluated using a measure of performance to split them into groups. The objective function f(x), where x is the value of the decoded chromosome, is then computed. Using an appropriate evaluation function, the objective value for each chromosome is converted into its fitness. The objective function is problem-specific and can have intent of maximization or minimization of the function under consideration. An evaluation function plays the role of the environment, and rates the chromosomes in terms of their fitness. The total fitness of the population is
40 gauged by a summation of the individual fitness function values of all chromosomes in the population. Selection A significant question is how to select chromosomes from the population to be parents for crossover, while keeping the population size constant. According to Darwin s theory of evolution, the best ones survive to create new offspring. Some examples of chromosome selection methods are: roulette wheel, Boltzman, tournament, rank and steady state selection. In the roulette wheel or proportionate selection approach, selection of chromosomes is proportional to their fitness values. The basic idea is to determine selection or survival probability for each chromosome, which is the ratio of its fitness value to the total population fitness. The chromosomes with larger fitness values will clearly have a higher chance of being selected. However, due to duplication of fit or super chromosomes, the succeeding generations may rapidly converge to local optima and stagnate. It is also desired that the diversity of the population is preserved so that constant generation pool can contain much more information for genetic search. Deterministic sampling techniques like (µ+λ), (µ, λ), truncation selection, block selection and steady state selection prevent duplication of fit chromosomes [30]. A modification to the generational replacement approach is to replace n worst old chromosomes with offspring, where n is the number of offspring. Whitley s [66] GENITOR system uses ranking selection to create an offspring that replaces the worst individual of the population. Rank selection ranks the population first and then every chromosome receives fitness value determined by this ranking. There is always a chance of losing the