You are on page 1of 163

MULTI-OBJECTIVE FLOW SHOP SCHEDULING USING METAHEURISTICS

Submitted in fulfillment of the requirement for the award of the degree of

Doctor of Philosophy
in

Mechanical Engineering
by

Ashwani Kumar Dhingra


Registration No. 2K06-NITK-Ph D 1121M

Submitted to

Department of Mechanical Engineering National Institute of Technology Kurukshetra Kurukshetra 136 119 Haryana INDIA

Under the supervision of

Dr. Pankaj Chandna


Department of Mechanical Engineering National Institute of Technology Kurukshetra Kurukshetra 136 119 Haryana INDIA

CERTIFICATE
This is to certify that the thesis entitled MULTI-OBJECTIVE FLOW SHOP SCHEDULING USING METAHEURISTICS being submitted by Ashwani Kumar Dhingra, in fulfillment of the requirement for the award of degree of Doctor of Philosophy in Mechanical Engineering, has been carried out under my supervision and guidance. The matter embodied in this thesis has not been submitted, in part or in full, to any other university or institute for the award of any degree, diploma or certificate.

(Dr. Pankaj Chandna) Associate Professor Department of Mechanical Engineering National Institute of Technology Kurukshetra Kurukshetra 132 119 Haryana INDIA

ABSTRACT
Production scheduling is generally considered to be the one of the most significant issue in the planning and operation of a manufacturing system. Better scheduling system has significant impact on cost reduction, increased productivity, customer satisfaction and overall competitive advantage. In addition, recent customer demand for high variety products has contributed to an increase in product complexity that further emphasizes the need for improved scheduling. Proficient scheduling leads to increase in capacity utilization efficiency and hence thereby reducing the time required to complete jobs and consequently increasing the profitability of an organization in present competitive environment. There are different systems of production scheduling including flow shop in which jobs are to be processed through series of machines for optimizing number of required performance measures. Classical flow shop scheduling problems are mainly concerned with completion time related objectives, however, in modern manufacturing and operations management, on time delivery is a significant factor as for the reason of upward stress of competition on the markets. Industry has to offer a great variety of different and individual products while customers are expecting ordered goods to be delivered on time. Hence, there is a requirement of multi-objective scheduling system through which all the objectives can be achieved simultaneously. Also flow shop with sequence dependent setup times (SDST) are among the most difficult class of scheduling problems. Effective managing of sequence dependent setups is one of the critical factors to improve manufacturing system performance and hence it must be considered separately from the processing time when dealing with scheduling problems. Hence, for the requirement of market competitiveness, effective utilization of resources for meeting goals of an industry or organization, multi-objective SDST flow shop scheduling has been considered in the present work in which objective is to minimize the weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs simultaneously. It is a known fact that flow shop scheduling problem with makespan or completion time based criteria is NP hard and even small size problems are difficult to solve. Multi-objective flow shop scheduling with sequence dependent set up time also becomes NP hard with greater complexity toward optimality in a reasonable time. Metaheuristics has become greater choice for solving NP ii

hard problems because of their multi-solution and strong neighborhood search capabilities in a reasonable time. Genetic algorithm and simulated annealing are the main class among population and neighborhood search metaheuristics. Quality of these metaheuristics when applied to scheduling problems depends on the initial seed sequence as good initial solution might provide the better final solution. Therefore, in the present work, six modified NEH heuristic have been proposed along with some existing despatching rules for initial feasible sequence. Sequence obtained from the modified heuristics/despatching rules is combined with initial population of genetic algorithm and hence called as Hybrid Genetic Algorithms (HGA). Similarly, simulated annealing also starts from the initial feasible sequence for search towards optimality and called as Hybrid Simulated Annealing (HSA). Hence different HGAs and HSAs along with hybridization of Genetic Algorithm and Simulated Annealing (GASA) have been proposed for multi-objective SDST flow shop scheduling problem. As the solution quality of metaheuristics depends on stopping criteria of the algorithm, in the present work, stopping limit of all the metaheuristics have been considered as computational time limit which further depends upon on number of jobs and machines for fair comparison. The performance among different heuristics and metaheuristics based hybrid approaches have been compared with the help of a defined performance index upto 200 job and 20 machine benchmark problems of Taillard (1993). Amongst different HGAs, HGA (NEH2), HGA (NEH4) and HGA (NEH5) provides better results and varies with the increase in number of machines especially for larger job size in SDST flow shop scheduling problems. Among three HGAs, It may be observed that HGA (NEH4) for 5 and 20 machine problems, HGA (NEH5) for 10 machine problems show improvement over other HGAs with all sets of weight values considered. However for 20 machine problems, HGA (NEH2) provides better results upto100 jobs. Also, from the comparative analysis among HSAs, it has also been concluded that their performance varies with the size of machines and jobs as HSA (NEH6) for 5 machines, HSA (NEH4) for 10 and 20 machine problems shows better performance when compared with other HSAs especially for larger job size for all the considered sets of weight values. Further, Proposed hybrid GASA also proves to be an effective approach for optimizing multi-objective SDST flow shop scheduling for any job and machine size as

iii

compared to GA and SA alone. The main advantage of GASA is that it provides a quick solution without any heuristics for initialization as required in HGA and HSA. The performance of HGAs, HSAs and GASA have also been compared with same computational time limit based stopping criteria and it is shown that HGA (NEH2) for 5 & 20 machine and HSA (NEH5) for 10 machine problems confirm the superiority over others for all the considered sets of weight values. However for larger job size, HSA (NEH5), HGA (NEH5) and HGA (NEH4) provides improved results for 5, 10 and 20 machines problems respectively. When applied to real life SDST flow shop scheduling problem in Tubular Component Division of Tube Investment of India verifies that proposed hybrid algorithm is a viable and effective approach for minimizing the multi-objective fitness function.

iv

ACKNOWLEDGEMENT

I wish to express my deep sense of gratitude to my erudite supervisor Dr. Pankaj Chandna, Associate Professor, Mechanical Engineering Department, National Institute of Technology, Kurukshetra. I owe his overwhelming debt for helping me to plan and discuss the contents of this work. His ideas, stimulating comments, interpretations and suggestions increased my cognitive awareness and helped considerably in the fruition of my objective. I remain obliged to him for his help and able guidance through all stages of this thesis. His constant inspiration and encouragement to my efforts shall always be acknowledged. His observation and comments were highly enlightening. I am grateful to Dr. S.S. Rattan, Professor and Chairman, Department of Mechanical Engineering and Dr. K.S. Kasana, Professor and former Chairman, Department of Mechanical Engineering, National Institute of Technology, Kurukshetra to facilitate my work and for their support and encouragement during the course of my work. I thank my Father, my wife Sunita Dhingra, sweet daughter Avnee and my other relatives for their support in all work that I choose to commence. Without their motivation I may never have reached this goal and I owe this to them. I am also grateful to Dr. K.K Dubey, Mr. Bhim Singh and Mr Arun Gupta for their help in my thesis. I would like to thank the officials of the concerned industry specially Er. Gagan Chopra and Er. Ajay Kumar for their cooperation in data collection. Most important, I thank my friends, who for their large number cannot be named here, but who are loved and appreciated for seeing me through this thesis and a lot more. There have been numerous influences, big and small, that have helped me complete my thesis. I would like to thank them all. Above all, I express my indebtedness to the ALMIGHTY for all his blessing and kindness.

(Ashwani Kumar Dhingra)

CONTENTS
CERTIFICATE ABSTRACT ACKNOWLEDGEMENT CONTENTS USED NOTATIONS LIST OF TABLES LIST OF FIGURES CHAPTER 1 1.1 INTRODUCTION SCHEDULING 1.1.1 1.1.2 1.1.3 1.2 1.3 Significance of Scheduling Scheduling in a Manufacturing System Classification of Scheduling Problems i ii v vi ix x xii 1-19 1 3 4 6 8 8 10 12 13

FLOW SHOP PRODUCTION SYSTEM SET UP TIME 1.3.1 Sequence Dependent Set up Time (SDST)

1.4 1.5

PERFORMANCE MEASURES COMBINATORIAL OPTIMIZATION TECHNIQUES SCOPE OF THE PRESENT WORK CONTRIBUTIONS OF THE PRESENT WORK ORGANIZATION OF THE THESIS

1.6 1.7 1.8

16 16 18

CHAPTER 2 2.1 2.2 2.3

LITERATURE REVIEW HISTORICAL BACKGROUND EXACT TECHNIQUES HEURISTIC ALGORITHMS 2.3.1 2.3.2 Despatching Rules Constructive and Improvement Heuristics

20 - 49 20 21 28 28 29

vi

2.4

METAHEURISTICS 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 Ant Colony Optimization Artificial Immune Systems Neural Networks Tabu Search Genetic Algorithm Simulated Annealing Miscellaneous and Hybrid Metaheuristics

32 33 35 36 37 40 43 45 48

2.5

LIMITATIONS/GAPS OF EXISTING WORK

CHAPTER 3 3.1 3.2 3.3

PROBLEM STATEMENT INTRODUCTION ASSUMPTIONS MULTI-OBJECTIVE FITNESS FUNCTION WITH DUE DATES

50 - 54 50 51 52

CHAPTER 4

PROPOSED HEURISTIC AND METAHEURISTICS INTRODUCTION MODIFIED NEH HEURISTIC METAHEURISTICS HYBRID GENETIC ALGORITHM (HGA) 4.4.1 4.4.2 Proposed HGA Parameters of Genetic Algorithm

55 - 69

4.1 4.2 4.3 4.4

55 55 58 59 60 62 64 65 66 67

4.5

SIMULATED ANNEALING 4.5.1 4.5.2 Proposed Hybrid Simulated Annealing (HSA) Parameters of Hybrid Simulated Annealing

4.6

HYBRIDIZATION OF GENETIC ALGORITHM AND SIMULATED ANNEALING (GASA)

vii

CHAPTER 5 5.1 5.2 5.3

RESULTS AND DISCUSSIONS HYBRID GENETIC ALGORITHM (HGA) HYBRID SIMULATED ANNEALING (HSA) HYBRID GENETIC ALGORITHM AND SIMULATED ANNEALING (GASA) COMPARATIVE ANALYSIS OF HGA, HSA AND GASA

70 - 95 71 81 90

5.4

94

CHAPTER 6 6.1 6.2 6.3

CASE STUDY INTRODUCTION DATA COLLECTION RESULTS AND DISCUSSIONS

96 - 105 96 98 101

CHAPTER 7

CONCLUSIONS AND FURTHER SCOPE OF WORK CONCLUSIONS LIMITATIONS AND FURTHER SCOPE OF THE WORK

106 108

7.1 7.2

106 107

REFERENCES APPENDIX A APPENDIX B LIST OF PUBLICATIONS HSA CODE (MATLAB) FOR MULTI-OBJECTIVE SDST FLOW SHOP SCHEDULING HGA CODE (MATLAB) FOR MULTI-OBJECTIVE SDST FLOW SHOP SCHEDULING GASA CODE (MATLAB) FOR MULTIOBJECTIVE SDST FLOW SHOP SCHEDULING

109 - 117 118 119 - 131

APPENDIX C

132 - 146

APPENDIX D

147 - 148

viii

NOTATIONS USED

n m j i
Cj dj Ej

Number of jobs Number of machines Index for Jobs Index for machines Weight for total weighted squared tardiness Weight for makespan Weight for total weighted squared earliness Weight for no. of tardy jobs Completion time of job j Due date of job j Earliness of job j Tardiness of job j Number of tardy jobs Weight for Job j

Tj
Nt

wj

ix

LIST OF TABLES
Table No. Table 4.1 Title Different despatching rules/heuristics for comparative analysis of proposed HGA and HSA. Parameters fixed for different HGAs. Mean RPD (%) of HGAs for 5, 10 and 20 machines. Parameters for different HSAs. Mean RPD for different HSAs. Parameters fixed for GASA. Mean RPD (%) for GASA, GA and SA. Comparison of average RPD (%) amongst HGA, HSA and GASA. Processing time of 15 jobs on 7 machines. Due date, weight and demand of jobs. Sequence dependent set up time on SPCNCM. Sequence dependent set up time on SPSM. Sequence dependent set up time on SPDM. Sequence dependent set up time on TM. Sequence dependent set up time on MCM. Sequence dependent set up time on HMM1. Sequence dependent set up time on HMM2. Completion time matrix for = 0.2, = 0.1, = 0.4, = 0.3 and = 0.1, = 0.4, = 0.3, = 0.2. Page No. 61

Table 5.1 Table 5.2 Table 5.3 Table 5.4 Table 5.5 Table 5.6 Table 5.7

72 80 81 89 91 94 95

Table 6.1 Table 6.2 Table 6.3 Table 6.4 Table 6.5 Table 6.6 Table 6.7 Table 6.8 Table 6.9 Table 6.10

99 99 99 99 100 100 100 101 101 102

Table 6.11

Idle time matrix for = 0.2, = 0.1, = 0.4, = 0.3 and = 0.1, = 0.4, = 0.3, = 0.2. Completion time matrix for = 0.4, = 0.3, = 0.2, = 0.1 and = 0.25, = 0.25, = 0.25, = 0.25. Idle time matrix for = 0.4, = 0.3, = 0.2, = 0.1 and = 0.25, = 0.25, = 0.25, = 0.25. Completion time matrix for = 0.3, = 0.2, = 0.1, = 0.4. Idle time matrix for = 0.3, = 0.2, = 0.1, = 0.4. Values of objective function for different weights for case study.

102

Table 6.12

103

Table 6.13

103

Table 6.14 Table 6.15 Table 6.16

104 104 105

xi

LIST OF FIGURES
Figure No. Figure 1.1 Figure 1.2 Title Information flow diagram in a manufacturing system. Classification of scheduling problems based on requirement generations. Classification of common search methodologies. Classification of common metaheuristics. RPD for different HGAs for 5 machine problems with = 0.4, = 0.3, = 0.2, = 0.1. RPD for different HGAs for 10 machine problems with = 0.4, = 0.3, = 0.2, = 0.1. RPD for different HGAs for 20 machine problems with = 0.4, = 0.3, = 0.2, = 0.1. RPD for different HGAs for 5 machine problems with = 0.1, = 0.4, = 0.3, = 0.2. RPD for different HGAs for 10 machine problems with = 0.1, = 0.4, = 0.3, = 0.2. RPD for different HGAs for 20 machine problems with = 0.1, = 0.4, = 0.3, = 0.2. RPD for different HGAs for 5 machine problems with = 0.2, = 0.1, = 0.4, = 3. RPD for different HGAs for 10 machine problems with = 0.2, = 0.1, = 0.4, = 0.3. RPD for different HGAs for 20 machine problems with = 0.2, = 0.1, = 0.4, = 0.3. RPD for different HGAs for 5 machine problems with = 0.3, = 0.2, = 0.1, = 0.4. RPD for different HGAs for 10 machine problems with = 0.3, = 0.2, = 0.1, = 0.4. Page No. 5 6

Figure 1.3 Figure 1.4 Figure 5.1

15 15 72

Figure 5.2

73

Figure 5.3

73

Figure 5.4

74

Figure 5.5

74

Figure 5.6

75

Figure 5.7

75

Figure 5.8

76

Figure 5.9

76

Figure 5.10

77

Figure 5.11

77

xii

Figure 5.12

RPD for different HGAs for 20 machine problems with = 0.3, = 0.2, = 0.1, = 0.4. RPD for different HGAs for 5 machine problems with = 0.25, = 0.25, = 0.25, = 0.25. RPD for different HGAs for 10 machine problems with = 0.25, = 0.25, = 0.25, = 0.25. RPD for different HGAs for 20 machine problems with = 0.25, = 0.25, = 0.25, = 0.25. RPD for different HSAs for 5 machine problems with = 0.4, = 0.3, = 0.2, = 0.1. RPD for different HSAs for 10 machine problems with = 0.4, = 0.3, = 0.2, = 0.1. RPD for different HSAs for 20 machine problems with = 0.4, = 0.3, = 0.2, = 0.1. RPD for different HSAs for 5 machine problems with = 0.1, = 0.4, = 0.3, = 0.2. RPD for different HSAs for 10 machine problems with = 0.1, = 0.4, = 0.3, = 0.2. RPD for different HSAs for 20 machine problems with = 0.1, = 0.4, = 0.3, = 0.2. RPD for different HSAs for 5 machine problems with = 0.2, = 0.1, = 0.4, = 0.3. RPD for different HSAs for 10 machine problems with = 0.2, = 0.1, = 0.4, = 0.3. RPD for different HSAs for 20 machine problems with = 0.2, = 0.1, = 0.4, = 0.3. RPD for different HSAs for 5 machine problems with = 0.3, = 0.2, = 0.1, = 0.4. RPD for different HSAs for 10 machine problems with = 0.3, = 0.2, = 0.1, = 0.4. RPD for different HSAs for 20 machine problems with = 0.3, = 0.2, = 0.1, = 0.4. RPD for different HSAs for 20 machine problems for = 0.25, = 0.25, = 0.25, = 0.25. xiii

78

Figure 5.13

78

Figure 5.14

79

Figure 5.15

79

Figure 5.16

82

Figure 5.17

82

Figure 5.18

83

Figure 5.19

83

Figure 5.20

84

Figure 5.21

84

Figure 5.22

85

Figure 5.23 Figure 5.24

85 86

Figure 5.25

86

Figure 5.26

87

Figure 5.27

87

Figure 5.28

88

Figure 5.29

RPD for different HSAs for 10 machine problems with = 0.25, = 0.25, = 0.25, = 0.25. RPD for different HSAs for 20 machine problems with = 0.25, = 0.25, = 0.25, = 0.25. RPD for GASA with = 0.4, = 0.3, = 0.2, = 0.1. RPD for different GASA with = 0.1, = 0.4, = 0.3, = 0.2. RPD for different GASA with = 0.2, = 0.1, = 0.4, = 0.3. RPD for different GASA with = 0.3, = 0.2, = 0.1, = 0.4. RPD for GASA with = 0.25, = 0.25, = 0.25, = 0.25. Process diagram of CDS tube.

88

Figure 5.30

89

Figure 5.31 Figure 5.32

91 92

Figure 5.33

92

Figure 5.34

93

Figure 5.35

93

Figure 6.1

97

xiv

CHAPTER 1

INTRODUCTION

1.1.

SCHEDULING Scheduling is the process of generating the schedule and schedule is a physical

document and generally tells the happening of things and shows a plan for the timing of certain activities. Generally, scheduling problem can be approached in two steps; in the first step sequence is planned or decides how to choose the next task. In the second step, planning of start time and perhaps the completion time of each task is performed. In a scheduling process, the type and amount of each resource should be known so that accomplishing of tasks can be feasibly determined. Boundary of scheduling problem can be efficiently determined if resources are specified. In addition, each task is described in terms of such information as its resource requirement, its duration, the earliest time at which it may start and the time at which it is due to complete. Any technological constraints (precedence restrictions) should also be described that exist among the tasks. Information about resources and tasks defines a scheduling problem and its solution is fairly a complex matter. Many of the early progress in the field of scheduling were aggravated by problems and hence it is usual to employ the vocabulary of manufacturing when describing scheduling problems. Now, although scheduling work is of considerable significant in many non manufacturing areas with still using terminology of manufacturing. Thus, resources are usually called machines and tasks are called jobs. Sometimes, jobs may consist of several elementary tasks called operations. The environment of the scheduling problem is called the job shop or simply the shop. Scheduling problems in an industry contain a set of tasks to be carried out with a set of limited resources available to perform these tasks. The general problem is to determine the timing of the tasks while recognizing the capability of the resources with given tasks and resources, together with some information about uncertainties. This problem usually arises within a decision making hierarchy in which scheduling follows some earlier, more basic decisions. In industries, analogous decisions are usually said to be part of the planning function. Among other things, the planning function might describe the design

of a companys products, the technology available for making and testing the required parts, and the volumes to be produced. In short, the planning function determines the resources available for production and the tasks to be scheduled. The present industrial environment is characterized by markets facing competition from which customer requirements and expectations are becoming increasingly high in terms of quality, cost and delivery times. This evolution is made stronger by rapid development of new information and communication technologies which provide a direct connection between industries and customers. Hence, Industry performance is built on two dimensions: A technological dimension, whose goal is to develop intrinsic performance of marketed products in order to satisfy requirements of quality and lower cost of ownership for these products, technological innovation plays an important role and can be a differentiating element for market development and penetration. In this regard, it is known that rapid product technological growth and the personalization requirements for these products expected by markets often lead companies to forsake mass production and instead focus on small or mediumsized production runs, even on-demand manufacturing. This requires them to have flexible and progressive production systems, able to adapt to market demands and needs quickly and efficiently. An organizational dimension intended for performance development in terms of production cycle times, respect of expected delivery dates, inventory and work in process management, adaptation and reactivity to variations in commercial orders, etc. This dimension plays an increasingly important role as markets are increasingly volatile and progressive, and require shorter response times from companies. Therefore, Industries must have powerful methods and tools at their disposal for production organization and control and that focused attention on satisfying customer needs under the best possible conditions. To achieve these goals, an organization relies on the implementation of a number of functions together with scheduling which plays a very important role. Indeed, the scheduling function is intended for the organization of human and technological resource 2

use in company workshops to directly satisfy customers requirements or demands issued from a production plan prepared by the company planning function. Considering market development and requirements, this function must organize the simultaneous completing of several jobs using flexible resources which are available in limited amounts, which becomes a complex problem to solve. In addition, it is this function which ultimately responsible for product manufacturing. Its efficiency and failures will therefore highly affect the companys relationship with its customers. Within companies, this function has obviously always been present, but today it must face increasingly complex problems because of the large number of jobs that must be executed simultaneously with shorter manufacturing times.

1.1.1 Significance of Scheduling Scheduling is a decision making practice that is used on a regular basis in many manufacturing and services industries. Its aim is to optimize one or more objectives with the allocation of resources to tasks over given time periods. The resources and tasks in an organization can take a lot of different forms. The resources may be machines in a workshop, crews at a construction site, processing units in a computing environment, and runways at an airport and so on. The tasks may be operations in a production process, take-offs and landings at an airport, executions of computer programs, stages in a construction project, and so on. Each task can have a definite priority level, an earliest likely starting time and a due date. The objectives can also take many different forms and one objective may be the minimization of the completion time of the last job and another may be the minimization of the number of jobs completed after their respective due dates. Scheduling plays an important role in most manufacturing and service systems as well as in most information processing environments. Scheduling derives its importance from the two different considerations: Ineffective scheduling results in deprived utilization of available resources. A noticeable symptom is the idleness of facilities, human resources and apparatus waiting for orders to be processed. As a result of this cost of production increases.

Poor scheduling normally create delays in the flow of some orders through the systems. Thus calls for advance measures that again increase cost.

1.1.2 Scheduling in a Manufacturing System There are several functions that have to be performed to deal with operational problems of the manufacturing system during transformation of the raw material into the finished product. The functions that are generally followed in the management of the manufacturing system are as follows: i. Aggregate production planning: This function determines the type and quantities of products to be produced in specific time periods. ii. Process planning: It determines the production process and their routes through which the materials are transformed into finished products. iii. Scheduling: This function determines an implementation of plan for the time schedule for every job contained in the process route adopted. iv. Production plan implementation: It executes the actual production operations according to the time schedule. v. Production control: This function monitors the production plan implementation function. Whenever actual production progresses and performance deviates from the production standards in plan and schedule, such deviations are measured and appropriate modifications are made. Since the focus of present work is on scheduling function, so this important function is discussed in detail in the present work. Consider the manufacturing environment and the role of scheduling that orders that are released in a manufacturing setting have to be translated into jobs with associated due dates. These jobs often have to be processed on the machines in a given order or sequence. The processing of jobs may sometimes be delayed if certain machines are busy and preemptions may occur when high priority jobs arrive at machines that are busy. Unforeseen events on the shop floor, such as machine breakdowns or longer-thanexpected processing times, also have to be taken into account, since they may have a major impact on the schedules.

Pinedo (2005) demonstrated the information flow in a manufacturing system as shown in figure 1.1. In a manufacturing environment, the scheduling function has to interact with other decision making functions. One popular system that is widely used is the Material Requirements Planning (MRP) system. After a schedule has been generated it is necessary that all raw materials and resources are available at the specified times. The
Production planning, master scheduling Capacity status Quantities, due dates Material requirements, planning, capacity planning Scheduling constraints Shop orders, release dates Scheduling and rescheduling Schedule Dispatching Shop status Material requirements Orders, demand forecasts

Schedule performance

Detailed scheduling

Shopfloor management Data collection status Shopfloor Job loading

Figure 1.1 Information flow diagram in a manufacturing system. ready dates of all jobs have to be determined jointly by the production planning/scheduling system and the MRP system. MRP systems are normally fairly elaborate. Each job has a Bill of Materials (BOM) itemizing the parts required for production for which the MRP system keeps track of the inventory of each part. Furthermore, it determines the timing of the purchases of each one of the materials. In doing so, it uses techniques such as lot sizing and lots scheduling that are similar to those used in scheduling systems. There are many commercial MRP software packages available and, as a result, there are many manufacturing facilities with MRP systems. In the cases where the facility does not have a scheduling system, the MRP system may be used for production planning purposes. However, in complex settings it is not easy for an MRP system to do the detailed scheduling satisfactorily.

1.1.3 Classification of Scheduling Problems According to French (1982), the general scheduling problem is to find a sequence, in which the jobs (e.g., a basic task) pass between the resources (e.g., machines), which is a feasible schedule, and optimal with respect to some performance criterion. Graves (1981) introduced a functional classification scheme for scheduling problems. This scheme categorizes problems using the following dimensions: a) Requirement generation b) Processing complexity c) Scheduling criteria d) Parameter variability e) Scheduling environment (a) Based on requirements generation, it can be classified as an open shop or a closed shop. An open shop is "build to order" and no inventory is stocked and when orders are filled from existing inventory it is called closed shop. Closed shop can further classified into job shop and flow shop and detailed classification of scheduling problem is shown in figure 1.2.
Specific routing definition for each job Open shop Specifically identical routing defined for each job Flow shop Single resource per operation Job shop Single operation defined for each job

Job shop with duplicate machines

Identical routing defined for each job

Hybrid Flow shop

Identical routing defined for each job Hybrid Flow shop

Identical routing per job single resource per operation and non passing constraints

Permutation flow shop

Identical routing per job & single resource per operation

Single resource per operation

Single machine flow shop

Single operation & single resource per job

Figure 1.2 Classification of scheduling problems based on requirement generations.

(b) Processing complexity refers to the number of processing steps and workstations associated with the production process. This dimension can be decomposed further as follows: (i) One stage, one processor (ii) One stage multiple processors (iii) Multistage flow shop (iv) Multistage job shop The one stage, one processor and one stage, multiple processors problems require one processing step that must be performed on a single resource or multiple resources respectively. In the multistage, flow shop problem each job consists of several tasks, which require processing by distinct resources; but there is a common route for all jobs. Finally, in the multistage, job shop situation, alternative resource sets and routes can be chosen, possibly for the same job, allowing the production of different part types. (c) Scheduling criteria, states the desired objectives to be met. They are numerous, complex, and often conflicting. Some commonly used scheduling criteria include the following: Minimize total tardiness, Minimize the number of late jobs, Maximize system/resource utilization, Minimize in-process inventory, Balance resource usage, Maximize production rate etc. (d) The dimension parameters variability indicates the degree of uncertainty of the various parameters of the scheduling problem. If the degree of uncertainty is insignificant (i.e. the uncertainty in the various quantities is several orders of magnitude less than the quantities themselves), the scheduling problem could be called deterministic. For example, the expected processing time is six hours, and the variance is one minute. Otherwise, the scheduling problem could be called stochastic. (e) The dimension, scheduling environment, defined the scheduling problem as static or dynamic. Scheduling problems in which the number of jobs to be considered and their ready times are available are called static. On the other hand, scheduling problems in which the number of jobs and related characteristics change over time are called dynamic. 7

1.2

FLOW SHOP PRODUCTION SYSTEM A general job shop problem suppose having n jobs {j1, j2, j3 --------- jn} to be

processed through m machine {m1, m2, m3 ----------- mm}. Technological constraints demand that each job should be processed through the machine in a particular order and gives an important special case named as flow shop. Thus in case of flow shop jobs pass between the machine in the same order i.e. if j1 must be processed on m1 before machine m2 then the same the true for all jobs. This technological constraint therefore gives the form like: Job j1 j2 jn Processing order m1 m2 m3 ------- mm m1 m2 m3 ------- mm -------------------------------m1 m2 m3 ------- mm

For a general job shop problem defined above the number of possible sequences are (n!) m, where n is number of jobs and m is the number of machines. With the above technological constraints in case of flow shop number of different sequence reduces to (n!). This reduced number is quite large for even moderate size problems and recognized to be NP hard (Garey et al., 1976; Gonzalez and Sahni, 1978; Pinedo, 2005 and several others). There has been an attempt to solve this problem with typical objective function being the minimization of average flow time, minimizing the time required to complete all the jobs or makespan, minimizing average lateness values or tardiness, minimizing maximum tardiness, and minimizing the number of tardy jobs.

1.3

SET UP TIME In actual practice, many problems are encountered in a real world whenever some

time is spent in bringing a given facility to a desired state for processing the job. The time spent is called set up time and its magnitude depends upon the job just completed and job waiting to be processed and hence occupied a substantial percentage of the available production time on the manufacturing equipment. Some example of the above situation 8

includes container manufacturing industry: where the machines are to be adjusted whenever the dimensions of the containers are changed; the paint industry: in which parts of different colors are produced on the same piece or equipment and printing press: where printing in different colors is to be done on the same machine; a paper bag industry: in which a machine is to be switched over from one type of bag to another, a set-up time is incurred. The length of the set-up time on the machine depends on the similarities between the consecutive orders (the number of colors in common, the differences in bag sizes, etc.). Flow shop scheduling research has been explored in several general scheduling review works, such as Allahverdi et al. (1999), Graham et al. (1979). Some reviews, such as Dudek, Panwalkar, and Smith (1991) focused entirely on flow shop scheduling. Still other reviews focus on one particular aspect of flow shop scheduling. For example, Dannenbring (1977) and Park, Pegden, and Enscore (1984) focused on flow shop scheduling heuristics, whereas Hall and Sriskandarajah (1996) focused on flow shop scheduling problems with blocking and no-wait in process. The above-mentioned focused flow shop scheduling assume that the setup times, defined as the time required to shift from one job to another on a given machine, are either included in the processing times or are negligible, and hence are ignored. However, in general, the breakdown structure of various operations of a job on a machine given by Allahverdi et al. (2008) may be as follows: i. Setup time that is independent of the job to be processed. This operation consists of activities such as fetching the required jigs and fixtures and setting them up on the machine. ii. Setup time that is dependent on the sequence of job to be processed. This operation includes the time required to set the job in the jigs and fixtures and to adjust the tools as per job sequence and called as sequence dependent set up time. iii. iv. Processing time of the job being processed. Removal time that is dependent on the job that has been processed. This operation includes activities such as disengaging the tools from the job, and releasing the job from the jigs and fixtures.

v.

Removal time that is independent of the job that has been processed. This operation includes activities such as dismounting the jigs, the fixtures and/or tools, inspecting/sharpening of the tools, and cleaning the machine and the adjacent area. Combination of (i, ii) and (iv, v) called as separable set up and separable removal

times and (iii) denotes processing time. An operation is separable from processing if it is not part of the processing operation and hence it is obvious that separable setup/removal times should be considered explicitly when they are not negligible in the scheduling problem.

1.3.1 Sequence Dependent Set up Time (SDST) There are situations in which it is simply not acceptable to assume that the time required to set up machine for the next job is independent of the job was the immediate predecessor on the machine. Infact, the variation of setup time with sequence provides the dominant criterion for evaluating schedule. These situations are often found in process industries and are frequently associated with the problem of lot sizing. For example the scheduling problem in the group technology environment for each family of parts a long set up time is required to initiate the process of family parts after which a short changeover time is required which depend upon the sequence of jobs preceding a particular family part (job being processed). In such cases it is advantages to consider these changeover times explicitly in the identification of an optimal schedule. It has been reported in the literature that sequence dependent set up time (SDST) is one of the most recurrent additional complications in the scheduling problem. Very limited number of research on flow shop scheduling under SDST environment for due date related performance measure have been done. As setup times are defined to be the work to arrange the resources, process, or bench for tasks which includes obtaining tools, positioning work in process material, cleaning up, adjusting and returning tools and inspecting material in manufacturing system. Kim and Bobrowski (1994) conducted a simulation study to demonstrate the impact of sequence dependent setup times on shop performance and concluded that setup time must be considered separately in any scheduling strategy. The single machine scheduling problem with sequence-dependent

10

setup times is known to be NP-hard (Pinedo, 2005). Setup times and lot size are key factors that affect shop performance (Krazewski et al., 1997). Wortman (1992) stated that if sequence dependent setup times have not been addressed adequately than greater competitiveness has been hindered. Hwang and Sun (1998) considered n jobs on two machines problem in which the setup time for a job in the first machine was dependent not on the immediately preceding job but on the job which was two steps prior to it. The impact of sequence dependent setup times has been investigated by researchers for realworld job shop environment in glass industry (Chevalier et al., 1996), metallurgical industry (Narasimhan and Mangiameli, 1987) , paper & textile industry (Sherali et al., 1990), chemical industry (Fortemps et al., 1996) and aerospace industry (Li, 1997). In a survey of industrial schedulers, 70% of the schedulers reported that they had to deal with sequence dependent setups (Luh et al. 1998). Industrial evidence and academic research suggest that effective managing of sequence-dependent setups is one of the critical factors to improve manufacturing system performance. Pinedo (2005) cited machine setup time as a significant factor when production scheduling is devised in all flow patterns, and it may easily consume more than 20% of available machine capacity if not well handled. Also, the completion times of production and machine setups are influenced by the product mix and production sequence. Scheduling problems with sequence dependent setup times are among the most difficult classes of scheduling problems. A single-machine sequence-dependent setup scheduling problem is NP-hard (Pinedo 2005) and even for a small system, the complexity of this problem is beyond the reach of existing theories (Luh et al. 1998). Gendreau et al. (2001) concluded that setup times have to be considered separately in the textile industry as the fabric type, when, transformed on a machine, the wrap chain must be replaced and the time it takes depends on the current and the preceding fabric types. Yi and Wang (2003) addressed the significance of setup times in stamping plants that are used by most automakers. In such plants, the setup time between manufacturing parts involves the shifting of heavy dies. Andres et al. (2005) addressed the importance of set up time and considered the dilemma of product grouping in the tile industry with sequence dependent setup times and concluded that minimisation of the changeover (setup) time results in reduction of the production time. Recent survey of flow shop scheduling problems including set up times has been done by Ali Allahverdi et al.

11

(2008) and concluded that including sequence dependent set up time in flow shop scheduling problem has to obtain considerable savings.

1.4

PERFORMANCE MEASURES It is not easy to state objectives in scheduling as they are numerous, complex and

often conflicting. A measure of performance is said to be regular if it is a non-decreasing function of job completion times and the scheduling objective is to minimize the performance measure. A large number of scheduling problems have been studied with regular performance measures. The most widely considered regular performance measures are makespan, total flow time, total tardiness, maximum tardiness and number of tardy jobs etc. Makespan and total flow time are related to maximizing system utilization and work in process inventory while the remaining measures are related to job due dates. Scheduling with makespan criteria is very important in order to increase the productivity and maximum utilization of resources. Since, in modern manufacturing and operations management, on time delivery is a critical factor towards realizing customer satisfaction. As lack of success in meeting due dates can result in the loss of customer and market competitiveness. Hence, scheduling problems with due date related objectives have attracted increasing attention from managers and researchers. In todays competitiveness environment, cost of production must be reduced in order to survive in this dynamic environment which has been done by effective utilisation of all the resources and production in shorter time to increase the productivity also simultaneously considering due dates of the job. As minimisation of makespan with not meeting the due date is of no use for an industry since there is loss of market competitiveness and customer. Traditionally it has been most difficult to find optimal solutions for tardiness based objectives and focus has shifted from regular to non regular measures with the advent of the just in time philosophy. A non-regular performance measure is usually not a monotone function of the job completion times. An example of such a measure is job earliness, wherein jobs are penalized if they are completed earlier than their due-dates. The non-regular characteristic of the performance measure led researchers to develop

12

completely new methodologies for scheduling problems, as the earlier ones were no longer applicable. Many real world scheduling problems are multi-objective by nature, i.e. several objectives should be achieved simultaneously. Classical flow shop scheduling problems are mainly concerned with completion time related objectives (e.g. flow time and makespan) and aims to decrease production time and increase productivity and capacity utilization. In modern manufacturing and operations management, on time delivery is a significant factor as for the reason of upward stress of competition on the markets. Industry has to offer a great variety of different and individual products while customers are expecting ordered goods to be delivered on time. Most of the research reported in the literature is focused on the single objective case of shop scheduling problems, in which the makespan should be minimized. Some researchers have investigated multi-objective perspective of scheduling problems but the amount of literature in this area is still scarce compared to the single objective case. In this dynamic and conflicting environment, industries have to achieve number of performance measures for survival and hence scheduling system with multi-objective performance measures have given due attention since 1980. Various researchers have considered multi-objective nature of scheduling problem but restricted to two or three criteria including regular and non regular performance measures.

1.5

COMBINATORIAL OPTIMIZATION TECHNIQUES It is known that the decision making associated with the scheduling problem

belongs to the category of combinatorial optimization problems. The range of techniques that have been applied to tackle combinatorial optimization problems can be classified in two general category, firstly, the exact methods and secondly the approximate (heuristic) methods. Exact methods seek to solve a problem to guaranteed optimality but their execution on large real world problems usually requires too much computation time. Consequently, resolution by exact methods is not realistic for large problems, justifying the use of powerful heuristic and metaheuristics methods. For practical use heuristic methods seek to find high quality solutions (not necessarily optimal) within reasonable computation times (Poole et al., 1998). Metaheuristics are a class of heuristic techniques

13

that have been successfully applied to solve a wide range of combinatorial optimization problems over the years (Voss et al., 1999; Osman and Laporte, 1996). The most prominent and successful meta-heuristics are the following: Standard local search: Starting from a solution created at random or by some problem specific heuristic, standard local search tries to improve on it by iteratively deriving a similar solution in the neighborhood of the so-far best solution. Responsible for finding a neighboring solution is a move-operator, which must be carefully defined according to the problem. The major disadvantage of standard local search is its high probability of getting trapped at a poor local optimum. A simple improvement is iterated local search. It applies standard local search multiple times from different starting solutions and returns the best local optimum identified. Simulated annealing: Another way for enabling local search to escape from local optima and approach new areas of attraction in the search space is to sometimes also accept worse neighboring solutions. Simulated annealing does this in a probabilistic way. At the beginning of the optimization, worse solutions are accepted with a relatively high Probability, and this probability is reduced over time in order to achieve convergence. Tabu search: This strategy extends local search by the introduction of memory. Stagnation at a local optimum is avoided by maintaining a data structure, called history, in which the last created solutions or alternatively the last moves (i.e., changes from one candidate solution to the next) are stored. These solutions, respectively moves, are forbidden (tabu) in the next iteration, and the algorithm is forced to approach unexplored areas of the search space Evolutionary algorithms (EAs): They are a broader class of meta-heuristics based on the common idea of adopting principles from natural evolution in simplified ways. However detailed classification of different methods has been shown in figure 1.2 and 1.3.

14

Optimization

Continuous

Combinatorial

Linear

Quadratic

Nonlinear

Approximate Method

Exact Method

Local Method

Global Method

Classical Method

Metaheuristic

Heuristic

Population Based

Neighborhood Based

Figure 1.3 Classification of common search methodologies.

Metaheuristics

Neighborhoodbased algorithms

Populationbased algorithm

Simulated

Tabu search

Swarm Intelligence

annealing
Ant colony optimization Evolutionary computation Particle swarm optimization

Evolutionary programming

Genetic algorithm

Genetic programming

Evolutionary strategies

Differential Evolution

Figure 1.3 Classification of common metaheuristics.

15

1.6

SCOPE OF THE PRESENT WORK In the present work, heuristics and metaheuristics based hybrid approaches have

been proposed for multi-objective performance measures in a flow shop scheduling problems with sequence dependent set up time. The regular and irregular performance measures have been considered for this dynamic and competitive environment. This work will also benefit the development of optimization techniques that can be applied to other combinatorial optimization problems. Some work has been reported in literature on exact and approximation optimization methods for flow shop scheduling problems but restricted to the single or bi-objectives performance measures including total flow time, makespan, total weighted tardiness, number of tardy jobs etc. Further, present work demonstrates the suitability of applying metaheuristic techniques for multi-objective SDST flow shop scheduling problems. Proposed metaheuristic has also been applied for scheduling the jobs in a flow shop manufacturing system with sequence dependent set up time. Output in the form of completion time and idle time of individual job and machine can be obtained with corresponding optimal sequence. Proposed metaheuristic is practical for scheduling any number of jobs on m-machines in SDST flow shop environment for meeting the said multi-objectives for achieving organizational and individual goals.

1.7

CONTRIBUTIONS OF THE PRESENT WORK

The contributions of this thesis are summarized as follows: i. A description and formulation of the multi-objective SDST flow shop scheduling problem with minimizing the weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs. Experimental study has been conducted on the benchmarks problem derived by Taillard (1993). ii. Modification of NEH heuristic that can be applied to proposed multi-objective performance measures for obtaining initial seed sequence in SDST flow shop scheduling as original NEH has been limited to makespan criteria.

16

iii.

Suitability of proposed heuristics when combined with initial population of genetic algorithm as population search techniques called as hybrid genetic algorithm to solve the multi-objective SDST flow shop scheduling problem has been explored. Already available heuristics and despatching rule based hybrid genetic algorithm has also been developed for comparative analysis with proposed heuristic based hybrid genetic algorithm. It is shown that proposed HGA can produce solutions of better quality than those generated by other dispatching rules and heuristics based HGA when compared with same computational time limit as stopping criteria.

iv.

Regarding to local search techniques, proposed heuristic based hybrid simulated annealing has also been developed along with other available heuristics and dispatching rule based HSA for comparative analysis. Further, it is also shown that proposed HSA can produce solutions of better quality than those generated by other dispatching rules and heuristics based HSA when compared with same computational time limit as stopping criteria.

v.

Among the modern meta-heuristics methods simulated annealing and genetic algorithms represent powerful combinatorial optimization methods with complementary strengths and weaknesses. Hence, borrowing the respective advantages of the two paradigms, an effective combination of GA and SA called hybrid GASA has also been proposed for multi-objective flow shop scheduling problems including sequence dependent set up time (SDST) with same computational time limit as stopping criteria. It has been shown that hybridization of genetic algorithm with simulated annealing (GASA) proves to be effective approach for minimizing any subset of performance measures including multiobjectives.

vi.

Finally, the application of the proposed hybrid meta-heuristic has been carried out in Tubular Component Division (TCD) of the Tube Products of India (TPI), which is one of the largest integrated manufacturers of quality automobile components in India. There are 15 jobs to be processed on 7 machines resulting into 15x7 SDST flow shop scheduling problem. The completion time and idle time of each job on each machine for the optimal sequence with corresponding value of all the said

17

objectives for any subsets of weight values for the considered multi-objective performance measures is being obtained.

1.8

ORGANIZATION OF THE THESIS The remainder of this thesis has been organized as follows. In the 2nd chapter,

review of the published research on the subject of flow shop scheduling is presented together with an account and brief description of a range of heuristics/dispatching rules and meta-heuristic approaches proposed in the literature. Chapter 3 presents the problem statement along with assumptions made. It is devoted to formulation of multi-objective model of flow shop scheduling problem for minimizing the weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs under sequence dependent set up time. In Chapter 4, metaheuristics and heuristics based hybrid metaheuristics approaches have been proposed. It covers the heuristics/dispatching rules based hybrid genetic algorithm (HGA) and hybrid simulated annealing (HSA) and also metaheuristics based hybrid genetic algorithm and simulated annealing (GASA) for multi-objective SDST flow shop scheduling problem. Chapter 5 shows the results and discussions for the proposed HGA, HSA and GASA for the multi-objective SDST flow shop scheduling. Computational analysis upto 200 jobs and 20 machines have been shown with six modified NEH and four dispatching rules based hybrid GA and SA. Also comparative analyses amongst different HGA and HSA have been shown with the help of a defined performance index. Further, results obtained by GASA have also been shown for comparison with genetic algorithm (GA) and simulated annealing (SA) alone followed by discussions. Chapter 6 covers the industrial application of the proposed hybrid meta-heuristic to 15x7 SDST flow shop scheduling problem in Tubular Component Division (TCD) of the Tube Products of India (TPI), which is one of the largest integrated manufacturers of quality automobile components in India. The problem has been solved by considering the

18

different weight values for the multi-objective function and significant improvement in meeting the said multi-objectives has been reported. Finally, conclusions and some suggestions for further work in this area are presented in chapter 7.

19

CHAPTER 2

LITERATURE REVIEW

2.1

HISTORICAL BACKGROUND Scheduling theory has been developed to solve problems occurring in the

production facilities in which set of jobs to be executed on the set of machines, such that all side-constraints are met. Obviously, this should be done in such a way that the resulting solution, which is called a schedule that minimizes the given objective function. Since the first scheduling paper appeared in 1954, many variants of the basic scheduling problem have been formulated by differentiating between machine environments, sideconstraints and objective functions. Until the late 1980s, however, it was common practice that in the objective function only one performance criteria was taken into account. In practice, however, quality is a multidimensional notion. A company, for instance, judges a production scheme on the basis of a number of criteria, for example, work-in-process inventories and observance of due dates. If only one criterion is taken into account, then the outcome is likely to be unbalanced, no matter what criterion is considered. If everything is set on keeping work-in-process inventories low, then some products are likely to be completed far beyond their due dates. Whereas, if the main goal is to keep the customers satisfied by observing due dates, then the work-in process inventories are likely to be large. In order to reach an acceptable compromise, quality of solution has to be measured on all important criteria. This notice has led to the development of the area of multi-objective scheduling. Further, an appealing and pragmatic variation of the flow shop problem is when jobs have sequence dependent setup times on machines, that is, there is a significant setup time on each machine before processing the next job that depends on the job currently being processed. When these setup times are specifically considered the problem is usually referred to as SDST flow shop. This scheduling problem was shown to be NPcomplete by Gupta (1986) so it is unlikely that a polynomial algorithm exists for solving such NP complete problem.

20

Nagar et al. (1995) have surveyed papers in the bi-criteria and multi-criteria scheduling upto 1994 for regular performance measures. From the survey it was found that only 32 papers covering the bi-criteria and multi-criteria scheduling problems. And out of 32, 25 papers considered bi-criteria and only 7 papers relates to multi-criteria. Also majority of papers are on single machine problems with only four papers covering multimachines and the techniques employed was only the exact techniques. Since 1994, also very limited research has been done on the multi-objective performance measures but none has been considered said multi-objective simultaneously in SDST flow shop scheduling. Various mechanisms exist to contextualize complex scheduling problems with respect to existing literature. Problem classification is an important prerequisite to the selection of a suitable solution strategy since information regarding problem complexity and existing algorithms provide useful points of departure for new algorithm development. Flow shop scheduling problem is a known to be NP-hard and only exhaustive search guarantees the optimal solutions. But these can become prohibitively expensive to compute even for small problems (Pinedo, 2005). Several methods have been used to solve combinatorial optimization problem but each having its own limitation and advantages. In this section, existing combinatorial optimization techniques to solve the flow-shop scheduling problem has been explored. Classification of common combinatorial optimization can be broadly classified into two, firstly, the exact methods and secondly approximate methods. Hence, some of the important literature on single and multi-objective flow shop scheduling also been presented in respect of techniques ranging from the traditional exact methods to modern metaheuristic methods.

2.2

EXACT TECHNIQUES Several exact techniques have been used for regular or non-regular performance

measures for flow shop scheduling. Yet theoretical analysis is far from satisfaction due to its complexity and there exists neither a universally accepted technique nor an analytical algorithm for solving such NP Hard problems. Traditional optimization techniques have been successfully applied to flow shop scheduling problems with simple settings (Pinedo, 2005) but have drawback of long computational time as being exact techniques. Due to

21

the complexity of flow shop scheduling problems, using exact methods to solve them is impracticable for instances of more than a few jobs and/or machines. One of the exact techniques to obtain an optimal solution is the straightforward enumeration where every possible solution is explored in order to find the optimal solution. However, due the computational complexity, it is not practical even for problems of moderate sizes. In the case of implicit enumeration, some of the solutions can be eliminated due to feasibility issues and hence this reduces the number of solutions to be evaluated marginally. Another exact technique is the branch and bound technique where the known upper bounds or lower bounds for the solution are used to restrict the search space. The efficiency of these algorithms is dependent on the quality of the lower bounds. The first branch and bound algorithms developed by Ignall and Schrage (1965) for the permutation flow-shop problem with makespan minimization. Lockett and Muhlemann (1972) proposed branch and bound algorithm for scheduling jobs with sequence dependent setup times on a single processor to minimize the total number of tool changes. The algorithm was computationally restrictive, suitable for only small sized problems. Gupta (1982) presented a mathematical model based on the branch and bound technique to solve static scheduling problems involving n jobs and m machines for minimize the cost of setting up the machines as objective. He assumed that sets up times were sequence dependent and not included in processing times. The algorithm was only used to solve small size problems only. It provided an insight into the structure of optimal solutions, which could be used to devise good heuristic rules, because heuristic rules were generally more appropriate to solver large size scheduling problems where computational efforts increase rapidly with problem size for optimizing techniques. Gupta (1986) proposed a branch and bound algorithm to minimize setup cost in n jobs and m machines flow shop with sequence dependent setup times and concluded that this algorithm has been restricted to small problems and however heuristic rules were the preferred techniques for large size scheduling problems with computational efforts increase rapidly with problem size.

22

Sen et al. (1989) proposed a branch and bound algorithm for the two machine flow shop problem. The authors presented a comparison against the earliest due date (EDD), shortest processing time (SPT) and minimum slack (SLACK) dispatching rules. The experiments were carried out using a set of 640 problems where the processing times for both machines are randomly generated from a uniform distribution over the values 1 and 10. The due dates are also randomly generated from a uniform distribution between P (1 T R/2) and P (1 T + R/2) where T and R are two parameters called tardiness factor and due date range. The P is commonly a lower bound on the makespan but in this case is the sum of the processing times in machine two plus the smallest processing time in machine one. Several problems were proposed where T = {0.25, 0.5, 0.75, 1}, R = {0.25, 0.5, 0.75, 1} and n= {6, 8, 10, 12}. Therefore, 64 combinations are generated each of which is repeated 10 times. The results show that the SPT rule performs very well for large T values and the number of nodes processed by the branch and bound to find an optimal solution tends to increase with increasing values of T and R. Another branch and bound algorithm for the two-machine case is that of Kim (1993). The authors proposed a lower bound based on the sum of two lower bounds computed from the set of jobs in the partial sequence and the set of jobs not included in it, respectively. Dominance rules to prune sequences are also presented. A total of 240 problems were randomly generated to test the performance of the method. Processing times were uniformly distributed between 1 and 30 and due dates of the jobs were computed using the method previously commented where P in this case is the sum of the processing times of all operations divided by two. Several combinations of the parameters T, R and the number of jobs were considered where T = {0.1, 0.2, 0.3, 0.4, 0.5}, R= {0.8, 1, 1.2, 1.4, 1.6, 1.8} and n = {10, 11, 12, 13, 14, 15}. The author compares the proposed branch and bound using the lower bounds and dominance rules presented in the paper against the branch and bound proposed by Sen et al. (1989) and a similar branch and bound but adding the dominance rule presented in Sen et al. (1989). The results show that the said branch and bound was outperformed by the other two proposed algorithms which showed a very similar performance. Kim (1995) proposed a branch and bound to compute a lower bound with objective of total tardiness objective in flow shop scheduling. The depth first rule is used and the lower bound is computed for each node and a procedure to check the existence of 23

dominated sequences is applied in the root node to reduce the size of the problem. The algorithm was tested using 480 randomly generated instances where the processing time of the jobs are uniformly distributed between 1 and 30 and the due dates were generated randomly. The results show that the proposed algorithm solved all 20 instances considered of each group until n = 13 jobs and m = 8 machines. It was able to solve also all the instances of the group n = 14 and m = 4 machines. Regarding the special sets of instances, the branch and bound proposed was not able to solve all the 20 problems within the CPU limit time set to 3600 s. In order to test the results, the algorithm is compared against the branch and bound for the two-machine case presented in Sen et al. (1989) since the authors did not find any other work to solve the m-machine problem optimally. For this case, 120 problems were generated with n = {10, 11, 12, 13, 14, 15} jobs and 20 instances for each n value. The proposed branch and bound was able to solve optimally all the problems generated while the branch and bound proposed in Sen et al. (1989) did not solve some of the 20 problems where the number of jobs is greater or equal to 13. Carlier et al. (1996) propose two branch and bound algorithms for the permutation flow shop problem. They use disjunctive graphs with association of each operation on a machine which is a unique value of head and tail. The head is length of the longest path in the disjunctive graph from the source to the operation and tail represents the length of the longest path from the current operation to the end. The branching rule was such that the first branching sequences a job at the beginning of the sequence, and the second branching sequences a job at the end of the sequence. All the remaining branches place a part alternatively at the beginning and end of the sequence. The node with the smallest value for the lower bound is selected as the branching node. Pan and Fan (1997) also presented a branch and bound for the same problem. They proposed dominance properties to reduce the size of the problem and a lower bound. The performance of the proposed algorithm is compared with the method proposed by Kim (1993). A total of 600 problems were randomly generated such that the processing times were uniformly distributed over the range 110. Due dates were computed from another uniform distribution as aforementioned where P is the sum of the processing times of all the jobs on the second machine plus the minimum processing time among all the jobs on first machine. A total of 60 sets of problems were considered and for each one 10 replicates were generated randomly. The results showed that the branch

24

and bound proposed outperformed that presented by Kim (1993) in terms of average time and number of problems solved. The proposed method was able to solve all the problems up to 16 jobs and those of 18 jobs. Lee and Wu (2001) considered the two-machine flow shop scheduling problem to minimize the bi-criterion objectives of completion time and tardiness. A lower bound was obtained for the bi-criterion problem and some dominance properties for the precedence relationships were also proposed to enhance the branch and bound algorithm. Overall, the behavior of the proposed algorithm performed well in terms of the execution time as well as the number of nodes. However, the developed procedure can provide the optimal solution for small to medium sized problems. Pan et al. (2002) also proposed another branch and bound algorithm for the two machine case in which several procedures to establish precedence constraints between jobs were presented. The initial solution is given by the EDD rule. The computational experiments were carried out using 600 randomly generated problems where the processing times are uniformly distributed between 1 and 10. The due dates are also uniformly distributed as in the previous studies where P is the sum of the processing times in machine two plus the smallest processing time in machine one. Different problem sizes were tested according to the parameters T, R and n where T = {0.25, 0.5, 0.75}, R = {0.25, 0.5, 0.75, 1} and n = {16, 18, 20, 22, 24}. Therefore, 60 combinations are generated; each one is repeated 10 times. The proposed branch and bound solved optimally all the replicates up to 24 jobs with T = 0.5 and R = 0.5. A problem was considered not solved if an algorithm needed more than 3600 s of elapsed time to obtain the optimal solution. The results are compared against the branch and bound presented by Pan and Fan (1997) which was able to solve optimally all the 10 replicates up to 20 jobs where T =0.25 and R =0.75. Therefore, the proposed method outperformed that proposed by Pan and Fan (1997) in terms of average CPU time and number of problems solved. Toktas et al. (2004) considered the two machine flow shop scheduling for minimizing makespan and maximum earliness simultaneously using a branch and bound procedure. They also proposed heuristic that generates approximate efficient solutions with respect to the two criteria and proved that branch and bound procedure was very efficient for solving problems upto 25 jobs and also solution provided by heuristics was closer to exact in a very reasonable time 25

Temiz et al. (2004) developed a modified branch and bound algorithm for a three machine flow-shop sequencing problem. The authors have modified the branch and bound algorithm proposed by Ignall and Schrage (1965) to handle varying processing times. Lee and Kim (2004) considered two-stage hybrid flow shop scheduling problem with the objective of minimizing total tardiness of jobs. In the hybrid flow shop, there is one machine at the first stage and multiple identical parallel machines at the second stage. Dominance properties and lower bounds were developed for the problem and a branch and bound algorithm was suggested using them. Results of computational experiments showed that the suggested algorithm can find optimal solutions for problems with up to 15 jobs in a reasonable amount of computational time. Ladhari et al. (2005) reviewed some of the existing branch and bound algorithms and the various lower bound computations. The authors also propose a new branch and bound algorithm with tighter lower bounds. The authors use the same branching rules and branching node selection methods as Carlier et al. (1996). Based on experiments on benchmark problems (Taillard, 1993), the authors have found that their algorithm not only outperforms other branch and bound algorithms but also can solve problems with 8000 operations. In the work of Schaller (2005), three branch and bound algorithms were developed with improved lower bound and the dominance conditions as presented by Pan et al. (2002) and a new dominance rule was also proposed. Three branch and bound algorithms were presented combining the different dominance conditions and lower bounds. A depth first strategy is used and the algorithms were tested on randomly generated problems where the processing time of the jobs were computed using a uniform distribution over the integers 1 and 10. The due dates are generated in the same way explained above. In total, 12 sets were generated where T = {0.5, 0.75}, R = {0.5, 1} and n = {16, 18, 20} and each one consists of 10 problems. The CPU time limit was set to 20 min, if a method was not able to solve the problem within this time limit, the algorithm was terminated and the best objective value found was returned. The comparison is carried out between the three algorithms and the results showed that two of the proposed methods solved 80 problems where n = 16 and 18 while the third method solved only 78 of the 80 problems. Only a few articles deal with optimal algorithms for multi-machine flow shop problems. 26

Chung et al. (2006) also proposed a branch and bound algorithm for the total tardiness m-machine flow shop problem. The authors proposed a machine based lower bound and a dominance rule for pruning nodes. The depth first rule and a backtracking strategy are used. Computational experiments were carried out using problems randomly generated. The processing times were distributed uniformly between aik and bik, where aik and bik are dependent on a trend and a correlation factor. Twelve combinations of n and m values are tested where n = {10, 15, 20} and m = {2, 4, 6, 8}. The authors proposed a set of 45,360 problems where 19,440 are for n = 10, 19,440 for n = 15 and 6480 for n = 20. The proposed branch and bound is able to solve optimally all instances of up to 15 jobs and two machines. Some cases with 20 jobs and eight machines are also solved optimally, but not all of them. The results are compared against the branch and bound proposed by Kim (1995) and the former is shown to outperform the latter in terms of both CPU time and number of problems solved. Luo and Chengbin (2007) presented a branch and bound algorithm for single machine scheduling problem with sequence-dependent setup times to minimize maximum tardiness. They include both lower and upper bounding procedures and three dominance elimination criteria and demonstrated the relative effectiveness of lower bound procedure; upper bound procedure and dominance rules. The lower bound procedure delivered average relative gaps of 12.977%, 16.567%, 20.76%, 23.642%, 26.927% when applied to the 10, 15, 20, 25 and 30 job instances respectively. The use of the dominance rules improved the performance of the branch and bound algorithm substantially and able to solved 100% of 10 job instances, 97.33% of 15 job instances and 37.33% up to 30 job instances. It can be seen that only the most recent exact methods are able to solve problems of 20 to 30 jobs and eight machines. Moreover, each method was tested on a different set of randomly generated problems. So, it is not completely clear which exact algorithm produces the best results. Heuristic and metaheuristics methods are necessary to solve larger problems of more realistic sizes, in the next sections review of most well known heuristics and metaheuristics for this problem have been described.

27

2.3

HEURISTIC ALGORITHMS Heuristic algorithms can be broadly classified into despatching rules, constructive

and improvement heuristics. Constructive heuristics build a schedule from scratch by making a series of passes through the list of unscheduled jobs where at each pass one or more jobs are selected and added to the schedule. Contrary to constructive heuristics, improvement heuristics start from an existing solution and apply some improvement procedure. In constructive heuristics, once a sequence is obtained, it is fixed and cannot be altered whereas in improvement heuristics, an initial solution is iteratively improved upon. In the next subsections several despatching rules and heuristics according to the above classification has been presented.

2.3.1 Despatching Rules Despatching rules are a very common means of scheduling due to their simplicity, speed, and predictability of speed in arriving at a solution. Dispatching rules are also often implemented without an expert system. In few cases with special problem structure, despatching rules can give a rigorous optimum, but for most problems they are a heuristic. The biggest drawback of many dispatching rules is the quality of the solution. There is no guarantee of even a local optimum, much less a global optimum. A second drawback is that there is no straightforward means to tell how far the solution is from the global optimum. Of course, the second drawback can make it easy to overlook the first drawback. In a broad sense, every sequencing algorithm can be considered a despatching rule, where the rule is to use a particular algorithm. However, despatching rules here means simple rules, such as earliest due date or shortest processing time. Despatching rules are the most classical and well-known methods to build a schedule. These rules are used very often in practice and as an initial sequence in some improvement heuristic and metaheuristic methods. Panwalkar et al. (1977) gives a more detailed explanation of some of these dispatching rules. Some of the rules, especially EDD, SLACK and EWDD are common for total tardiness and total weighted tardiness minimization.

28

2.3.2 Constructive and Improvement Heuristics Since the flow-shop problem is a NP-hard problem with computations being prohibitively expensive, a practical approach is to use heuristic methods to obtain nearoptimal solutions. Johnson first studied the two-machine problem with the objective of minimizing makespan (1954). This approach basically divides the jobs into two categories and sequences them from left to right and right to left respectively. It is also referred to as the (SPT (1)-LPT (2)) problem where SPT is the Shortest Processing Time and LPT stands for Largest Processing Time. Many researchers have generalized this to m machines. Palmer (1965) proposed ranking of jobs based on a slope index computed from the processing times there by giving preference to jobs that tend to progress from low to high processing times. The idea is to give priority to jobs so that jobs with processing times that tend to increase from machine to machine will receive higher priority, while jobs with processing time that tend to decrease from machine to machine will receive lower priority. Gupta (1971) modified Palmers slope index based on the principle of sorting n items based on a heuristic. He defined his slope index in a different manner taking into account some interesting facts about optimality of Johnsons rule for the three machine problems. Dannenbring (1977) developed a procedure called rapid access. It attempts to combine the advantages of Palmers slope index and the CDS methods. Its purpose is to provide a good solution as quickly and easily as possible. Instead of solving m-1 artificial two machine problems, it solves only one artificial problem using Johnsons rule in which the processing times are determined from a waiting scheme. Gelders and Sambandom (1978) proposed four simple heuristics for the sum of weighted tardiness criterion. These heuristics used dynamic job dispatching rule, give priority to the item which is most expensive to hold and fit the jobs together in such a way that the generated idle time is minimal. The heuristics were tested on 50 problems randomly generated where the number of jobs and the number of machines were uniformly distributed between 4 & 10 and 2 & 5, respectively. The processing times were

29

also generated using a uniform distribution over the integers 1 & 10 and similarly the due dates of the jobs were distributed uniformly between

P
i =1

ij

and 25n. The authors

compared the heuristic solution with optimum values obtained for smaller problem sizes. For larger problem sizes the comparison is made between the four heuristics proposed. The best results were obtained by the second heuristic. Nawaz et al. (1983) developed NEH heuristic for the permutation flow shop scheduling problem with the makespan minimization criterion for m machines and n jobs. In this, jobs are sorted in non-increasing order of the sum of processing times on all machines and considered best to till date for makespan minimization in flow shop scheduling. Kim (1993) sorted the jobs following the EDD rule, that is, in non-decreasing order of due dates. Furthermore, a different way to sort the jobs is proposed where they are sorted in non-increasing order of due dates, that is, latest due date (LDD) rule. When theses dispatching rule used to generate the initial sequence ion NEH heuristic and hence called as called NEHedd and NEHldd, respectively. Hundal et al. (1988) also propose a heuristic for the flow-shop scheduling problem based on Palmers heuristic. Some of the other heuristics include CDS (Campbell et. al., 1970) (applies Johnsons algorithm in stages), NEH (Nawaz et. al., 1983) (a constructive heuristic where jobs are sorted based on LPT and are scheduled one at a time), and RA algorithm (Dannenbring, 1977) (a weighting scheme based on Palmers slope index, and CDS method. McCormick et al. (1989) proposed a Profile Fitting (PF) heuristic based on the departure times of the jobs computed after each job has been scheduled. Rajendran and Chaudhuri (1992) have proposed a heuristic algorithm to minimize flow time for a flow-shop scheduling problem using three heuristic criteria. The first criterion deals with the sum of idle times. The second criterion incorporates the sum of idle times and the waiting times. The third criterion includes the completion times of the partial schedule at various stages along with the above mentioned two criteria. Moreover, Kim (1993) also analyzed modified priority/despatching rules for the mean tardiness objective: EDD, SLACK, SRMWK and MDD. Also, an improvement heuristic which starts from the solution given by the EDD rule is proposed. In this case, 30

the initial solution is improved by interchanging pairs of jobs and this heuristic is called ENS. All these methods are compared on 1000 randomly generated test problems where the processing times are generated from a uniform distribution with a range from 1 to 35 and the due dates are generated following the method proposed in (Potts and Van wassenhove, 1982) as mentioned before. The tardiness factor (T) was tested from 0.1 to 0.5 in steps of 0.1 and the due date range (R) from 0.8 to 1.8 in steps of 0.2. Several problem sizes were proposed with n={15, 20, 30, 40, 50} and m={5, 10, 15, 20, 25}. The results showed that the NEHedd heuristic showed a good performance but the best results were obtained with the ENS method. Raman (1995) adapted several rules and heuristic algorithms for the single machine and two-machine cases and evaluated for the multi-machine flow shop problem. The method presented in (Ow, 1985) is extended to consider m machines such that each machine in the flow shop is considered to be a bottleneck and a complete schedule is developed following the method presented in (Ow, 1985). At the end of the process, there are m possible schedules and the best one is selected. This approach is called Modified Focused Scheduling (MFS) method. Danneberg et al. (1999) proposed and compared various constructive and iterative heuristic algorithms for permutation flow shop scheduling problem including setup times with objective function of weighted sum of makespan and completion times of the jobs. These heuristics have confirmed good results but limited to 120 job problems. Ronconi (2004) developed a MinMax (MM) algorithm which also addresses the flow shop makespan minimization problem with no buffers. The author found that PF heuristic when used in the initial stage of NEH heuristic yield better results for large problems. The author also found that the both MM and PF heuristics when used in the initial stage of NEH outperforms the original NEH which uses LPT in the initial stage. Kalczyncski et al. (2005) proposed a construction heuristic for minimizing the makespan in a no-idle permutation flow-shop. The authors compare their algorithm with the modified NEH algorithm and show that for the benchmark problems (91) their algorithm performs better than the modified NEH algorithm. Chakraborty and Laha (2007) modified the original NEH algorithm for makespan minimization problem in permutation flow shop scheduling. The modified NEH 31

algorithm was run on 28 different problem sizes (n = 12, 18, 24, 30, 40, 50, 100 and m = 5, 10, 15, 20) for each problem size, 15 independent problem instances were created. Computational study reveals the significant improvement in the quality of the solution while maintaining the same algorithmic complexity. They also concluded that both the original NEH and modified NEH's outperform the best known competitor to date. Dulluri et al. (2008) developed a priority based heuristic for minimizing the makespan for a turbine manufacturing industry. This heuristic produced optimal schedule based on the dynamic priorities of the customer work orders. Eren (2010) considered a bi-criteria m-machine flow shop scheduling with sequence dependent setup times with minimization of the weighted sum of total completion time and makespan. He developed the special heuristics similar to NEH (Nawaz et al., 1983) for fitness function considered and proved that the special heuristic for all number of jobs and machines was more effective than the others.

2.4

METAHEURISTICS Metaheuristics are general heuristic methods that guide the search through the

solution space, using as surrogate algorithms some form of heuristics and usually local search. Starting from an initial solution built by some heuristic, metaheuristics improve it iteratively until a stopping criterion is met. The stopping criterion can be elapsed time, number of iterations and number of evaluations of the objective function and so on. Voss et al. (1999) described a metaheuristic as Iterative master processes that guides and modifies the operations of subordinate heuristics to efficiently produce high quality solutions. Osman et al. (1996) provide an extensive bibliography on metaheuristics and its applications in combinatorial optimization problems. Some of the widely researched metaheuristic algorithms include adaptive search techniques like genetic algorithm (GA), artificial immune system (AIS) and neural networks, neighborhood search techniques like simulated annealing (SA), and tabu search, and their hybrid versions. Many metaheuristics that were first applied to solve single objective optimization problems have also been extended to multi-objective variants. Among these, multi-objective evolutionary algorithms have received particular attention because some researchers 32

argue that these methods are well suited to deal with multi-objective optimization problems like multi-objective metaheuristics based on local search, such as simulated annealing and tabu search.

2.4.1 Ant Colony Optimization Ant Colony Optimization (ACO) algorithms are population-based search algorithms based on the food hunting patterns of real ants that utilize agents (ants), single or multiple, to construct the optimal solution iteratively. The trails serve the purpose of remembering the previous solutions and have to be updated at the end of each iteration. Rajendran and Ziegler (2004) considering the problem of scheduling in permutation flow shops by using two ACO algorithms with the objective of minimizing the sum of the total flow time of jobs and makespan. The effectiveness of the proposed ant-colony algorithms is evaluated by considering the benchmark problems and upper bound values for makespan given by Taillard (1993). It has found that both the proposed ant-colony algorithms perform better than the existing ant-colony algorithm and heuristic of Liu and Reeves (2001) with 83 out of 90 problems considered. It has also been observed that the second proposed ant-colony algorithm (PACO) performs well than the first proposed ant-colony algorithm (M-MMAS) in the case of relatively large-sized than small-sized permutation flow shop problems. Ying and Liao (2004) have developed a meta-heuristic based on ACO for the permutation flow shop scheduling by modeling the system using disjunctive graphs This paper is the first to apply ACS for sequencing problem which is used to find a processing order of n different jobs to be processed on m machines in the same sequence with minimizing the makespan. The ACS algorithm is compared with other meta-heuristics such as genetic algorithm, simulated annealing, and neighborhood search from the literature .Computational experiments have been conducted on the well-known benchmark problem set of Taillard (1993) and demonstrated that ACS is a more effective meta-heuristic for the said problem. Shyu et al. (2004) developed an ACO-based algorithm to solve the two machine flow shop scheduling problem with no waiting between operations and including set up

33

time. Job processing times have been selected randomly from the interval [0, 100] and setup times also randomly chosen from different intervals [0, 10], [0, 50] and [0, 100]. Problems sizes ranges from 50, 100, 150, 200 and 250 jobs have been considered. They have shown that the ACO algorithms outperform previous algorithms and also considered to be effective and robust in dealing with the said scheduling problems. Rajendran and Ziegler (2005) proposed two ACO-based algorithms to minimize the total flow time in permutation flow-shops. The algorithm generates an initial seed sequence and also carries out a local-search at the end of each iteration. The local search procedure is applied three times. The second algorithm differs from the first algorithm in the initialization and construction phases. A probability-based construction procedure is used to iteratively generate the solution. The local-search algorithm is applied in this case too. These two algorithms were run on Taillards benchmark problems. The authors observed that it is not possible to identify one heuristic that is best for the entire set of benchmark problems. The authors also observed that their proposed algorithms yield better results compared to the heuristic methods proposed by Liu and Reeves (2001) and Rajendran and Ziegler (2004). Yagmahan and Yenisey (2007) introduced ant colony optimization for minimising multi-objectives including makespan, total flow time and total machine idle time. Twenty-one test problems with the number of jobs varying from 20 to 75 and the number of machines varying from 5 to 20 given by Reeves (1995) have been tested. Results show that the proposed ant colony algorithm performs better than NEH heuristic (Nawaz et al., 1983) and HC heuristic (Ho and Chang, 1991) for the multi-objective flow shop scheduling problem. In addition, by proposed algorithm proves its usability because of having appropriate computational time. The proposed algorithm is compared with solution performance obtained by the existing multi-objective heuristics. As a result, computational results show that proposed algorithm is more effective and better than other methods compared. Zhou et al. (2008) proposed ant colony optimization for dynamic jobs scheduling problems and showed that ACO performed effectively but however performance of ACO does not improve with increasing the iterations and ants per iteration. They have also concluded that ACO can perform very well when the machine utilization is not high, for

34

example, below 90% and when the variation of processing times is small. In the latter case, the advantage of ACO can be enhanced when the machine utilization increases. Yagmahan and Yenise (2010) considered the flow shop scheduling problem with respect to minimization of both objectives of makespan and total flow time and the proposed algorithm based on ACS metaheuristic called as a multi-objective ant colony system algorithm (MOACSA). Computational experiments have been conducted on the benchmark problems of Taillard (1993). They concluded that proposed MOACSA performs better than CR (MC) algorithm, HAMC algorithms and GA for said multiobjective flow shop scheduling problem.

2.4.2 Artificial Immune Systems Artificial immune system (AIS) is an adaptive heuristic technique inspired by the human immune system. The immune system consists of mainly lymphocytes. There are two types of lymphocytes viz. the ones that originate and develop in the bone marrow (Bcells), and the ones that originate in the bone marrow and move to the thymus to grow (Tcells). Both these cells have receptors on their surface that attach themselves to disease causing pathogens thereby triggering the immune response. The two integral aspects in the immune response mechanism are the clonal selection principle and the affinity maturation the detailed account of which can be found in De Castro and Timmis (2003). Although both AIS and GA-based methods are population-based and evolutionary algorithms with a similar mechanism of population representation (chromosome versus antibody), and population evaluation functions (fitness function versus affinity function), AIS differs from GA in its evolutionary mechanism. In AIS, the population evolves using cloning mechanisms and mutation. The cloning mechanism is based on probability of selection which implies that there will be more clones of antibodies that are more likely to be selected. Mutation is applied only to those antibodies that have a lower probability of selection and the mutated antibodies replace the original ones if they are better in the same iteration. Engin and Doyen (2004) propose an AIS-based heuristic for hybrid flow shops. The authors applied their algorithm to the benchmark problems for hybrid flow shops and concluded that their algorithm performs better than Branch and Bound algorithms with 35

the average deviation of AIS algorithm is 1.657% while the average deviation of B&B is 3.6% for all the problems considered from the known lower bounds.

2.4.3 Neural Networks Neural network-based models are mathematical models that are based on the biological nervous systems and their adaptive behavior. The network consists of layers of interconnected nodes or neurons. Typically, there are at least two layers, an input layer and an output layer. One of the most common networks is the Back Propagation Network (BPN) which consists of an input layer, and an output layer with one or more intermediate hidden layers. The networks need to be first trained using a set of examples before they can be employed to the actual problem. The method used to generate the examples to train the network and the training algorithm employed has a significant impact on the performance of the neural network-based model. One of the training algorithms used is the Back-Propagation algorithm (BP). This algorithm aims to reduce the deviation between the desired objective function value and the actual objective function value. Since this algorithm has a slow convergence speed and has a tendency to get stuck in the local optima, another algorithm called the Delta-bar-delta (DBD) is often used in which the learning rate of the process is adjusted based on the variation of the training error. The DBD algorithm has a faster convergence speed. Lee and Shaw (2000) extended their work to two performance measures for optimization makespan and total flow time using the ANN approach. The seed sequence is obtained through CDS heuristics. After obtaining the seed sequence from the CDS, the quality of the solution is further tried to be improved by pair wise interchange of jobs before giving training to the nodes. The paper has extended the number of machines and number of jobs to optimize for m machines and n jobs so that bigger size problems could also be satisfied. Akyol (2004) used BPN network to model six different heuristic algorithms for the permutation flow-shop sequencing problem with unlimited buffer space associated with each machine. The BPN network is generally employed to predict the optimal sequence for the flow-shop. However, the author has used it to predict the completion times of the jobs. These completion times are then compared with the actual completion 36

times obtained through the heuristic algorithms in order to determine the performance of the neural network. El-Bouri et al. (2005) proposed neural networks to enhance local search in a permutation flow-shop scheduling problem. The authors train the neural network using a set of examples with 10 parts whose optimal solutions are known. The trained network is then used to predict a good initial sequence for search-based algorithms. Since the initial solution is reasonably accurate, the speed with which the search-based algorithms converge on the optimal or near-optimal solution is drastically improved. It was found that the neural network-based algorithm resulted in a faster convergence of the search procedures and the quality of the solution thus obtained (average flow time) was also much better than those obtained using the initial sequences generated by the other NEH algorithm and the LWKR dispatching rule. Tang et al. (2005) also proposed a neural network-based model and algorithm for a hybrid flow-shop with dynamic job arrivals. The neural network model consists of three sub-networks each corresponding to a distinct performance criterion like minimizing flow time, minimizing the tardy times and minimizing tardy jobs. The authors use simulation to generate the set of training examples and employ the faster DBD training algorithm. The model basically predicts the next job to be scheduled on a machine when the machine becomes available. The authors have compared their algorithm with the standard dispatching rules like SPT, FCFS, LWKR, and CR. Noorul Haq and Radha Ramanan (2006) used Artificial Neural Network (ANN) for minimizing bi-criteria of makespan and total flow time in flow shop scheduling environment. They showed that ANN achieves a solution quality better to that of traditional heuristics or at least comparable to it and concluded that The ANN incrementally improves the solution quality with the increase in numbers of training exemplars.

2.4.4 Tabu Search Tabu Search (TS) is a robust local search based optimization method that begins with an initial solution and successively moves to the best solution in the neighborhood of

37

the current solution while maintaining a list of attributes of solutions to prevent the algorithm from visiting solutions already examined. In addition to an initial solution, a neighborhood generation mechanism, a tabu list and stopping criteria, TS methods also include an aspiration criterion, an intensification scheme and a diversification scheme. A move that is prohibited by the tabu list is accepted if the aspiration criterion is satisfied. The performance of TS approach depends largely on the balance between the intensification and the diversification schemes. Taillard (1990) has shown that random pair wise swapping is computationally more expensive compared to random insertion method. Taillard has also shown experimentally that random pair wise swapping does not yield a better convergence to the optimal solution than the random insertion method. Nowicki et al. (1996) propose a fast tabu search algorithm with reduced neighborhood search using a modified NEH algorithm to obtain the initial solution. The authors use block properties to explore the different sequences. By virtue of these properties, the authors were able to eliminate a considerable number of moves thereby reducing the search. The authors also employ the back jump approach in which if there is no change in the solution for a specific number of iterations, the algorithm restarts using the current best solution to create neighboring solutions. This is known as the diversification scheme in TS terminology. The authors have shown that their algorithm yields better results than Taillard (1990), Ogbu and Smith (1990), and Osman and Potts (1989) algorithms with comparable computational expense. Ben-Daya et al. (1998) proposed a tabu search heuristic with a mechanism of combining the intensification and diversification schemes that improves the performance of the TS approach. The authors use NEH heuristic to generate the initial solution for their TS approach. A combination of random pair wise swapping, random insertion and block insertion techniques were used for the neighborhood generation process. The first candidate sequence that improved the makespan was selected for the next iteration. A tabu list with capacity seven was used in this approach. The authors construct a frequency matrix that records the number of times each job is located in a particular position among all the examined sequences. A sequence constructed using this matrix is used to randomly restart the neighborhood search process. The authors have compared their algorithm with the TS approach of Taillard (1990) and SA based approach of Ogbu and Smith (1990). 38

The authors observed that for the benchmark problems, their approach outperformed the SA based approaches with a marginal increase in computational time. The performance of their approach was comparable to Taillard TS approach (1990) at a much lesser computational expense due to the smaller neighborhood space examined. Grabowski et al. (2004) proposed a very fast tabu search algorithm for the permutation flow-shop problem to minimize the makespan. The authors evaluate the solutions in the neighborhood space by computing a lower bound on the makespan instead of computing the actual makespan. The authors also propose a dynamic tabu list where the oldest element in the list is deleted if no favorable moves are obtained in a particular iteration and the iteration is continued. Moreover, the size of the list is also determined based on the current iteration. The authors also introduce a perturbation mechanism to diversify the search space in order to improve the performance of the neighborhood search. The perturbation mechanism is activated when there is no improvement in the solution for a fixed number of iterations. This number is chosen experimentally. The authors compared their algorithm with those of Nowicki et al. (1996), Taillard (1990), Ogbu and Smith (1990), Osman and Potts (1989) and Reeves (1995) using the benchmark problems proposed in Taillard (1993). The authors have found that the performance of their algorithm improved with increasing problem size when compared to Nowicki et al. (1996). They also observed that their algorithm was much faster than the existing algorithms in yielding comparable solutions. Brucker et al. (2005) have proposed a tabu search algorithm for cyclic machine scheduling problems with specific application to job-shops. The authors use the disjunctive graph representation of the job-shop problem and propose a neighborhood search mechanism based on the weights of the arc which are computed in terms of the precedence of operations. The authors use the best-fit strategy for selection of a neighbor. According to this strategy, the best solution in the neighborhood of the current solution is selected for the next iteration. The authors assume unlimited buffer capacity. Fred Choobineh et al. (2006) proposed tabu search heuristic with makespan, weighted tardiness and number of tardiness simultaneously including sequence dependent setup for n jobs. They illustrated that the proposed heuristic provides optimal or nearer to optimal solutions in a reasonable time as the problem size increases for multi-objective flow shop scheduling problems but limited to single machine problem 39

2.4.5 Genetic Algorithm Genetic Algorithm (GA) based algorithms, inspired by Darwins theory of natural selection and survival of the fittest, were invented by Holland (1975) and first proposed for scheduling problems by Goldberg (1989). In the Simple GA-based approach, the various stages like evaluation, selection, crossover and mutation are repeatedly executed after initialization until a stopping criterion is met. The algorithm works on multiple solutions simultaneously. One of the earliest GA for the flow shop scheduling was proposed by Chen et al. (1995) to minimize makespan for a flow shop scheduling problem in which initial population was generated by using several heuristic rules. The first m - 1 population members was generated by the m - 1 sequences obtained after applying the CDS heuristic of Campbell et al., (1970), the mth member was obtained from the rapid access (RA) heuristic of Dannenbring (1977). The remaining members were generated from simple job exchanges of the already generated sequences. Only partially mapped crossover (PMX) was applied, there was no mutation. Based on their experiments, the authors claim that increasing the population size beyond sixty does not improve the solution significantly. The authors also claim that a crossover rate of 1.0 and mutation rate of 0.0 yielded good results on all the trial examples. Hence the authors have considered only the crossover operator to generate offspring. The authors use 20 generations as the termination criterion for the heuristic. The results were compared with the results obtained using Widmers heuristic (1989) and Ho and Changs heuristic (1991). The authors evaluated their heuristic on 200 problems for 20 different combinations of parts and machines with processing times for operations uniformly distributed between 1 & 30. The authors conclude that the GA-based heuristic yields better average results (both in terms of makespan and CPU times) compared to the other two heuristics. Cavalieri and Gaiardell (1998) developed two hybrid genetic algorithms (GAs) for allocation and sequencing of production lots in a flow shop environment based on a nonlinear, multi-criteria objective function of makespan and mean tardiness. Both GAs used search techniques: in the first task of the GA is to allocate and sequence the jobs; in the second, the GA is combined with a dispatching rule (Earliest Due Date, EDD) thus limiting its task only on the allocation of the jobs. Both GAs are characterized by a dynamic population size with dynamic birth rate, as well as by multiple-operator 40

reproduction criteria and by adaptive crossover and mutation rates. They showed that both GAs performance increases as the number of jobs when compared with a hybrid branch and bound method. Wu et al. (2003) considered flow shop scheduling problem with parallel machine and special procedure constraint. The genetic algorithm has been presented to minimize the makespan problem. Researchers are made in aspects such as problem modeling, coding (decoding), crossover and mutation of genetic algorithm and so on. They showed the effectiveness of the proposed genetic algorithm. Ravindran et al. (2005) proposed three new hybrid algorithms (HAMC1, HAMC2, and HAMC3) based on the GA approach to minimize makespan and total flow time in a flow-shop scheduling problem. The sequence obtained from Rajendran and Chaudhuri (1992) is used as the initial seed sequence. Using the initial seed sequence, a population is generated by pair-wise swapping of parts during each iteration and the algorithm is executed for a randomly selected number (between 10 and 20) of iterations. The three algorithms differ in the mechanism of selecting the final sequence. In HAMC1, sequence with lowest makespan over all iterations is selected. In HAMC2, the sequence with minimum flow time is selected from sequences generated during all the iterations. In HAMC3, the sequence generated in the final iteration is selected. The authors show that the proposed hybrid approaches yield better results compared to Rajendrans heuristic (1992) for the Taillards benchmark problems (1993). Tang and Liu (2005) proposed a modified GA algorithm (MGA) to minimize the mean flow time for a flow-shop scheduling problem. The modification aims to achieve an efficient trade-off between solution quality and computational complexity. Two new operations are incorporated into the traditional GA-based approach. The filtering operation replaces the worst solution obtained in a generation with the best solution obtained in the previous generation in order to facilitate faster convergence. The cultivation operation handles the issue of premature convergence. If no significant improvement is achieved in a specified number of generations, a single iteration of adjacent pair-wise exchange search is carried out and the solution obtained is included in the next generation. The authors have shown that the MGA not only converges faster compared to the traditional GA but also achieves better solution quality.

41

Pasupathy et al. (2006) considered the problem of flow shop scheduling with the bi-objectives of minimizing makespan and total flow time of jobs with a multi-objective genetic algorithm. The performance evaluation of the multi-objective algorithms under study is carried out by making use of the benchmark. Problems given by Taillard (1993), with the number of jobs varying from 20 to 100 and the number of machines varying from 5 to 20 and found that most of the solutions in the net non dominated front are yielded by the proposed algorithm. Chaudhary et al. (2008) optimized makespan in flexible manufacturing scheduling problem using genetic algorithm approach. The proposed approach was coded in MATLAB environment and performance of the algorithm was tested over the FMS scheduling benchmarks generated by (Taillard, 1993) with fixed computational limit as stopping criteria of proposed GA. From the results, they concluded that GA is a robust optimization tool capable of producing high quality solutions for the FMS scheduling and the best available combination of resources for processing the product can be determined. Gaafar et al. (2008) proposed modified genetic algorithm inspired by the particle swarm optimization approach to solve the scheduling problem of a manufacturing system consisting of machining and assembly stages, with the objective of minimizing the makespan. In this, chromosomes in the initial GA population were treated as particles in a swarm and future generations were created by crossing each particle with its local best solution and the global best solution. Performance of the developed algorithms has been compared to the heuristics developed by He and Babayan (2002) in a designed experiment and concluded that the proposed algorithms has the best overall performance. Kahraman et al. (2008) proposed an effective genetic algorithm for hybrid flow shop scheduling with the objective of minimizing makespan. They obtained better solutions with the proposed GA algorithm and found that the average deviation of the GA Algorithm is 1.50 % while the average deviations of AIS and B&B are 1.657 % and 3.6 % respectively on the standard benchmarks. It has also been concluded that CPU times of the GA are much smaller than AIS and B&B and hence the proposed GA is a good problem solving technique for a scheduling problem. Tseng and Lin (2009) developed hybrid genetic local search algorithm for the permutation flow shop scheduling problem with the total flow time (makespan) criterion.

42

In this algorithm, the GA is used as the global search scheme and a novel local search scheme that combines two local search methods is used as the local search scheme with orthogonal-array-based crossover operator. IS (Insertion Search) is the local search method that searches a small neighborhood. ISCR (Insert Search with Cut-and-Repair), with IS as its subroutine, searches a large neighborhood. It has been concluded that the hybridization of effective global search scheme and effective local search scheme will result in a good metaheuristic method. Also the combination of local search methods that search neighborhoods of different scales will improve the searching ability of the local search scheme. Erenay et al. (2010) solved bi-criteria scheduling problem with minimization of the number of tardy jobs and average flow time on a single machine. They proposed four new heuristics (Two of these heuristics were constructive algorithms based on beam search methodology and other two were based on metaheuristic approaches using a genetic algorithm and tabu search) to solve scheduling problem. From the analysis, they have concluded that the proposed beam search heuristics find efficient schedules and performed better than the existing heuristics available in the literature.

2.4.6 Simulated Annealing Simulated Annealing (SA) algorithms, based on the analogy of annealing process of metals, were proposed by Metropolis et al. (1953) and were first applied to combinatorial optimization problems by Kirkpatrick et al. (1983). SA is considered to be an improvement heuristic where a given initial solution is iteratively improved upon. A number of researchers have applied SA to scheduling problems. Some of them include Osman and Potts (1989) and Ogbu and Smith (1990, 1991). The advantage of SA based methods is their ability to avoid getting trapped in local minimums by accepting solutions that worsen the objective function. The number of iterations required to converge to the optimal solution depends on the parameters selected for the heuristic. The parameters may be classified into two categories viz. problem-specific like initial solution, neighborhood generation and generic like temperature, stopping criterion among others. Zegordi et al. (1995) showed that a good set of parameters can result in much quicker convergence to the optimal solution. Thus, in SA based methods, it is imperative to obtain

43

the most desirable set of parameters in order to achieve faster convergence within reasonable computation time. Osman and Potts (1989) propose a set of four different SA based heuristic algorithms for the flow-shop problem and have shown that their algorithms yield better results compared to NEH algorithm which is currently the best construction heuristic for flow-shop sequencing problems. Ogbu and Smith (1990, 1991) proposed a modified SA based heuristic algorithm using constructive heuristics to obtain initial solution and a novel acceptance probability function. Marett and Wright (1996) compared the performance of tabu search and simulated annealing for multi-objective flow shop scheduling problems and found that results obtained by using simulated annealing were better than tabu search. Parthasarathy and Rajendran (1997) considered simulated annealing heuristic for scheduling to minimize total weighted tardiness in a flow shop with sequence dependent set up times. They proposed a method for obtaining the seed sequence, which is subsequently used in a simulated annealing algorithm. They presented a perturbation scheme called random insertion perturbation scheme when employed in the case study formed that the proposed S.A. heuristic fares much better than existing heuristic in minimizing the mean weighted tardiness of jobs. It was also observed that the best existing heuristic could not handle the real-life large sized problem. The proposed heuristic was found to result in a sequence that was superior to the sequence yielded by the existing heuristic by more than 70 %. The limitation of the study used was the awareness of the schedules of the SA technique and the implementation of complex computer code. Chakravarthy and Rajendran (1999) have proposed a simulated annealing based heuristic for the m-machine flow-shop scheduling problem with bi-criteria minimization of makespan and maximum tardiness. They have used three different heuristics to generate three schedules and chose the best among them to be the initial seed sequence for the simulated annealing heuristic algorithm. The three different heuristics used are EDD (Earliest Due Date), LSS (Least Static Slack) and NEH algorithm. They use adjacent interchange method for the neighborhood search in SA. Based on random

44

numbers, the interchange is carried out either to the left or the right of the chosen position. Naderi et al. (2009A) proposed novel simulated annealing for hybrid flow shop scheduling problem to minimize total completion time and total tardiness including sequence dependent set up. They compared the performance of proposed algorithm with some well known dispatching rules and metaheuristics available in literature and revealed the absolute superiority of proposed simulated annealing.

2.4.7 Miscellaneous and Hybrid Metaheuristics Talbi (2002) gives a detailed classification framework and taxonomy of hybrid metaheuristics. The author also provides an extensive bibliography of literature in this area. Wang et al. (2003A; 2003B) proposed a hybrid heuristic based on SA and GA approaches in order to avoid the premature convergence of GA based approaches and improve neighbor search ability of the heuristic. NEH heuristic is employed to generate an initial solution and other solutions are generated randomly to form the initial population of solutions. The authors divide the population of solutions into subpopulations and apply multiple crossover operations to these subpopulations in order to improve the exploring potential of traditional GA based approaches. The authors also replace the mutation operation with SAs metropolis sample process (Kirkpatrick et al., 1983). The authors have shown that even though the hybrid heuristic is computationally more expensive compared to NEH and traditional GA-based heuristics, it yields better solutions. Noorul Haq et al. (2004) proposed a hybrid heuristic based on Ant System (AS) and GA approaches to minimize the makespan for a flow-shop scheduling problem. The solution obtained through the AS technique is fed into the GA-based approach to further improve the solution. The authors show that the hybridization of meta-heuristic techniques yields better results when compared to pure metaheuristics techniques. Among the improvement heuristics for flow-shop scheduling, SA based and TS based algorithms have yielded good results for a wide range of scheduling problems.

45

Low et al. (2004) proposed a heuristic algorithm that combines the benefits of SAbased algorithms and TS-based algorithms. The authors use a modified NEH algorithm to generate the initial solution for the algorithm. The authors introduce a restarting mechanism into the traditional SA-based algorithm such that if there is no improvement in the solution over a specified number of iterations, a new initial solution is obtained using an auxiliary matrix which is based on the solutions explored so far and the algorithm is repeated. The authors also introduce an additional stopping criterion. The algorithm terminates when the final temperature is achieved or a specified number of iterations are executed. The authors compared their modified SA-based algorithm with other algorithms like the Ogbu and Smith algorithm (1990) for the benchmark problems proposed by Taillard (1993). They observed that although the difference in the algorithms is marginal for smaller problem sizes, their algorithm yields better results as the problem size increases. Nearchou (2004) proposes a hybrid SA-based algorithm which incorporates features from GA based and local search heuristics. The algorithm works with a randomly generated population of solutions and generates neighbors using a random exchange perturbation scheme. The author also introduces an iterative hill-climbing procedure to avoid local-minima at each step in the iteration. The author has shown that the results obtained using this algorithm on Taillards benchmark problems are comparable to those obtained using Ogbu and Smith (1990; 1991), Osman and Potts (1996), and Reeves (1995). Solimanpur et al. (2004) proposed a tabu search (EXTS) algorithm based on neural networks for permutation flow-shop scheduling problem. The authors use the modified NEH algorithm proposed by Taillard (1990) to generate the initial solution. The authors use the insertion mechanism to generate the neighborhood structure since it was found to be more effective than a random swap mechanism (Taillard, 1990). In order to reduce the number of solutions evaluated in the neighborhood, the block properties proposed by Nowicki et al. (1996) have been used. Each move in the neighborhood is represented as a neuron thus generating a neural network. The neuron records the quality of the move called the gain effect and its history for the pasts iterations (where s is the number of iterations for which a solution is maintained in the tabu list following which it is removed from the list) called the tabu effect. The proposed algorithm assigns varying

46

degrees of tabu to each move already undertaken as opposed to the traditional tabu search mechanisms where a move is absolutely tabu or not tabu at all. This enables the algorithm to reduce the effect of making a previously tabu move non-tabu. The tabu effect of each neuron is decreased exponentially thereby preventing a drastic impact on the search. The algorithm also incorporates the back jump mechanism as its diversification scheme. The authors compared their algorithm with the BF-TS heuristic (Daya and Fawzan, 1998) on the set of benchmark problems (Taillard, 1993) and observed an average reduction of up to 77% in computation time over BF-TS algorithm while achieving lesser makespan than the BF-TS algorithm. Ravindran et al. (2005) used multi-criterion approach to flow shop scheduling problems by considering makespan time and total flow time as objectives to be minimized. The primary concern of flow shop scheduling is to obtain the best sequence, which minimizes the makespan, flow time, idle time, tardiness, etc. In this work, makespan and total flow time of the jobs are considered for minimization. Three heuristic algorithms have been proposed in this paper. The new hybrid algorithms are developed by taking the seed sequences yielded to minimize flow time and improving it using search algorithm. The hybrid algorithm gives better results. Tseng and Lin (2006) proposed a hybrid genetic algorithm for the flow-shop scheduling problem. In this method, a modified version of NEH with random re-start is used to generate the initial population. Also, a new orthogonal array crossover was devised as the crossover operator of the genetic algorithm. The tabu search is hybridized with the genetic algorithm and acts as the local search method. The algorithm had been tested on two benchmarks. They compared results with those of other methods that had also been tested on these benchmarks. The comparison shows that this method outperforms other methods on these benchmarks. Rahimi Vahed and Mirghorbani (2007) developed multi-objective particle swarm optimization to minimize the weighted mean completion time and weighted mean tardiness simultaneously in flow shop scheduling environment. They concluded that for large sized problems, the developed algorithm is effective as compared to genetic algorithm

47

Biswal (2008) found superiority of hybrid genetic algorithm in which initial solutions have been searched by particle swarm optimization for multi-objective scheduling of flexible manufacturing system. Performance of the algorithm has been tested on three instances only, which has been one of the main limitations of the work. Naderi (2009B) et al. considered SDST hybrid flow shop scheduling to minimize makespan and maximum tardiness. They hybridize the SA (HSA) with a simple local search to promote the quality of final solution.

2.5

LIMITATIONS/GAPS OF EXISTING WORK After a comprehensive study made on the existing literature, a lot of

limitations/gaps have been found in the area of SDST flow shop scheduling: i. Majority of work reported for flow shop scheduling problems has been dealt with single criteria and however some work has been reported on multi-criteria that also limited to bi-criteria problem. In this dynamic and conflicting markets, industries have to dealt with several criteria for achieving goals and hence multiobjective performance measures has to be given due attention. ii. Further, sequence dependent set up (SDST) is the one of the most recurrent additional complications in the scheduling problem. Most of the works reported in multi-objective flow shop scheduling have considered SDST including in the processing time but to improve manufacturing system performance managing of sequence-dependent setups has to be considered separate as being one of the critical factors. iii. The most widely used performance measures considered in SDST flow scheduling are regular in nature such as makespan, total flow time, total tardiness, maximum tardiness, total weighted tardiness and number of tardy jobs etc. as a single or bicriteria. Hence, very limited work for more than two criteria including regular and irregular performance measures with due dates have been reported. As being one of the main irregular measures i.e. earliness is also very important which restrict the early delivery of the jobs and may be harmful for the requirement of Just in

48

Time manufacturing (JIT). Also considering earliness in the multi-objectives reduces the cost involved in handling and storage of the product. iv. Most of the flow shops scheduling problems with multiple objectives have been considered with single or two machines without SDST. As in real life, more than two machines are involved in production scheduling and hence is very important as per industrial requirement and need to be addressed. v. Different metaheuristics like Multi-objective Genetic Algorithm (MOGA) and Multi-objective Simulated Annealing (MOSA) for multi-objective performance measures have been developed but again they are limited to bi-objectives and hence cannot be used for other than designed performance measures. vi. Performance of most of the developed Hybrid GA and Hybrid SA has been compared and analyzed without considering computational time limit as the stopping criteria. Stopping limit of the algorithm is the main parameter of any metaheuristic which decides effectiveness and hence it has to be fixed for predicting the results accurately among different metaheuristics. Hence, it is concluded from literature that population, neighborhood and heuristic based metaheuristics (especially GA and SA) has becoming interesting preference for researchers for most of the flow shop scheduling problems. Development of heuristics and metaheuristics are still the major issues related to multi-objective flow shop scheduling including regular and irregular performance measures especially for SDST and m-machines environment. Therefore, in the present work, SDST flow shop scheduling problems with multiobjective performance measures including minimization of weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs have been considered. An attempt has been made to develop Hybrid Genetic Algorithm (HGA), Hybrid Simulated Annealing (HSA) and Hybrid Genetic Algorithm and Simulated Annealing (GASA) for solving said flow shop scheduling problem and their performance has been compared and analyzed using same computational time limit as the stopping criteria. The next chapter describes the multi-objective problem statement with assumptions made in SDST flow shop scheduling.

49

CHAPTER 3

PROBLEM STATEMENT

3.1

INTRODUCTION The purpose of production scheduling in the flow shop is to find the job sequence

in such a way that one or some objectives are optimized. The previous chapter covered an extensive literature review of the existing research addressing the flow shop scheduling problem with respect to techniques and performance measures. Also, Majority of papers on SDST flow shop scheduling problems have been concentrated on single criterion problems. The most widely considered performance measures are makespan, total flow time, total tardiness, maximum tardiness and number of tardy jobs etc. Makespan and total flow time are related to maximizing system utilization while the remaining measures are related to job due dates. Flow shop scheduling with makespan criteria is very important in order to increase the productivity and maximum utilization of resources and also in modern manufacturing and operations management, on-time delivery is a critical factor towards realizing customer satisfaction. The problems with due date related objectives have also received considerable attention in the recent years due to the introduction of new methods of inventory management such as just-in-time (JIT) concepts. In JIT systems, jobs are to be completed neither too early nor too late which leads to the scheduling problems with both earliness and tardiness costs. In todays competitiveness environment, cost of production must be reduced in order to survive in this dynamic environment which is done by effective utilisation of all the resources and completion of production in shorter time to increase the productivity with simultaneously considering due dates of the job. As minimisation of makespan with not meeting the due date is of no use for an industry since there is loss of market competitiveness and loss of customer. Hence, in modern manufacturing environment industry has to achieve all the objectives resulting into conflicting objectives. Suppose, the best sequence with respect to the makespan minimization may have a large number of jobs being completed after their due dates and vice versa. Hence, there is a need of multi-objective production scheduling system through which industry can achieve all the objectives simultaneously.

50

Hence for todays need in realistic scenario, present work deals with multiobjective SDST flow shop scheduling problem with minimization of weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs simultaneously. This has been considered as can be very effective decision making in order to achieve maximum utilization of resources in respect of increasing the productivity and meeting the due dates so as the customer good will and satisfaction. Usually, the multi-objective scheduling problems are commonly divided into two categories. In the first, one of the functions in multi-objective is considered as the objective to be optimized while the others are considered to be the constraints. In the second one, all the functions in multi-objective are weighted differently or equally and an overall objective function is defined as the weighted sum of individual functions where sum of the individual weight coefficients is unity. The problem considered here belongs to second category. Various assumptions and the formulation of multi-objective fitness function with due dates have been illustrated below:

3.2

ASSUMPTIONS

All the jobs and machines are available at time Zero (i.e. the beginning of the processing horizon of sufficient time length to process all available job to completion). Pre-emption is not allowed. Once an operation is started on the machine it must be completed before another operation can begin on that machine. Machines never break down and are available throughout the scheduling period. All processing time on the machine are known, deterministic, finite and independent of sequence of the jobs to be processed. Each machine is continuously available for assignment, without significant division of the scale into shifts or days and without consideration of temporary unavailability such as breakdown or maintenance. The first machine is assumed to be ready whichever and whatever job is to be processed on it first. Machines may be idle

51

Each job is processed through each of the m machines once and only once. Furthermore a job does not become available to the next machine until and unless processing on the current machine is completed i.e. splitting of job or job cancellation is not allowed.

In-process inventory is allowed. If the next machine on the sequence needed by a job is not available, the job can wait and joins the queue at that machine.

3.3

MULTI-OBJECTIVE FITNESS FUNCTION WITH DUE DATES Several researchers disregarded the multi-objective nature of SDST flow shop

scheduling problem as more than one decision maker is frequently involved in decision making resulting in conflicting objectives. For instance, market manager is involved in maximizing customer satisfaction by minimizing due date related performance measures while production manager is concerned with minimizing makespan and work in process for effective utilization of machines and hence increasing productivity. To accommodate this, the availability of set of possible solutions representing tradeoff between the different objective functions can be quite valuable. On the other hand, due to excessive complexity in multi-objective SDST flow shop scheduling problems, less attention has been given to this problem. Multi-objective fitness function considered here is the minimizing of weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs which has been described below: Total weighted squared tardiness is given as:

w T
j j =1

2 j

Where

T j = (C j d j )

if C j d j 0

0 otherwise.

This measure of due date performance has preferred over the other due date based performance measures ( Sun et al.,1999) i.e. total weighted tardiness and maximum tardiness as in case of total weighted tardiness a single job may contribute the majority of

52

the tardiness without regard to how overall tardiness is being distributed and also give undesirable scenario if: (i) (ii) Tardiness characterize an important attribute to service quality and The affirmation holds that a customers dissatisfaction tends to increase quadratically with the tardiness as proposed in (Taguchi, 1986). Also maximum tardiness does not distinguish tardiness that occurs in all jobs versus a single job as long as the maximum weighted tardiness is the same. Due to this, the total weighted squared tardiness is selected as one of the criteria in multi-objective problem formulation in view of the fact that this is a compromise of the above mentioned both due dates related performance measures and is a comprehensive one. Second performance measures for scheduling is makespan (Cmax) which has been used for maximum utilization of resources to increase productivity and stated as maximum completion time of last job to exit from the system. Cmax = Max (C1,., Cn) A third criterion is total weighted squared earliness which has been given as:

w E
j j =1

2 j

Where

T j = (d j C j )

if d j C j 0

0 otherwise.

This performance measure has also been preferred because of the reasons described for total weighted squared tardiness but in terms of earliness against the total earliness and total weighted earliness. The fourth and last criterion for scheduling is to minimization of number of tardy jobs. Associated with each job j is a due date dj > 0. Let Uj = 1 if due date for job j is smaller than the completion time Cj of job j, otherwise Uj = 0. The total number of tardy jobs (Nt) is defined as

53

N t = U j
j =1

Therefore multi-objective fitness function is obtained by combining all the above four objectives into single scalar function so as to minimize weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs which has been framed as:
n n Min w jT j2 + C max + w j E 2 j + ( N t ) j =1 j =1

Where , , and are the weight values for the considered objective functions having constraints:

0, 0, 0, 0
and

+ + + =1
Five sets of different weight values have been considered to give relative importance to individual objective function. In the manufacturing environment a feasible good solution is a must and an optimal solution is a goal. Commonly used despatching rules such as SPT, EDD and EWDD etc. can quickly create feasible solutions, but as problem complexity increases the solutions may be far from optimal. A total of four dispatching rules and six NEH heuristic based HGAs, HSAs and also GASA have been considered to solve said multi-objective fitness function for performance comparison amongst them. All experiment tests are conducted on benchmarks problems of Taillard (1993) with stopping time of all the algorithms have been fixed to computational time limit based criteria for fair comparison. The next chapter proposed heuristics and metaheuristic based hybrid approaches for solving the aforesaid multi-objective fitness function.

54

CHAPTER 4

PROPOSED HEURISTICS AND METAHEURISTICS

4.1

INTRODUCTION It has been commonly accepted that finding optimality to NP hard problems is not

a viable option since large amount of computational time is needed for judgment of such solutions. Several researchers have proposed heuristics and metaheuristics algorithms for flow shop scheduling problem for optimization several performance measures since the pioneering work of Johnson (1954). In reality, a good initial solution can be obtained by a heuristic in a reasonable computational time. Heuristic algorithms can be broadly classified into despatching rules, constructive and improvement heuristics. Despatching rules are the most classical and well known methods to build a schedule. These rules often used in practice but mostly used for obtaining initial sequence in some improvement heuristics and metaheuristics. Constructive heuristics build a schedule from the scrape by making a series of passes through the list of unscheduled jobs where at each pass one or more jobs are chosen and added to the schedule. Contrary to constructive heuristics, improvement heuristics start from an accessible solution and apply some improvement procedure. One of the best known constructive heuristics NEH was developed by Nawaz et al. (1983) for makespan minimization for the flow shop scheduling problems and subsequently many researchers have modified NEH heuristic for other performance measures also. In this work, modified NEH heuristic based hybrid metaheuristics have been proposed for finding of optimal solution in a reasonable time. The full structure of the algorithm is stated in the following section.

4.2

MODIFIED NEH HEURISTIC In the present work, Original NEH heuristic of Nawaz et al. (1983) for makespan

minimization has been modified for multi-objective fitness function of minimizing weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs simultaneously for the flow shop scheduling problems.

55

Total of six modified NEHs and four dispatching rules have been developed for initial seed sequence in the genetic algorithm and simulating annealing algorithm for comparative analysis among different HGAs and HSAs. Proposed modified NEH is described as below: Step 1. Generate the initial sequence. Step 2. Set k = 2. Pick the first two jobs from the rearranged jobs list and schedule them in order to minimizing weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs as if there are only two jobs. Set the better one as the current solution. Step 3. Increment k by 1. Generate k candidate sequences by inserting the first job in the remaining job list into each slot of the current solution. Amongst these candidates, select the best one with the least partial minimization of the weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and makespan. Update the selected partial solution as the new current solution. Step 4. If k = n, a schedule (the current solution) has been found and stop. Otherwise, go to step 3. Initial sequence in step 1 of proposed modified NEH is being generated by the following rules as described below:1. Schedule the jobs initially in descending order of (Nawaz et al., 1983). 2. Arrange the jobs according to the earliest due date of jobs i.e. EDD (Kim, 1993). 3. Initially arrange the jobs according to earliest weighted due date i.e. wjdj 4. Arrange the jobs according to least value of dj/wj (Parathasarthy and Rajendran, 1997).
m 5. Initially jobs are arranged in ascending order of P ij +dj W j i=1

P
i =1

ij

as in original NEH

56

Then the final sequence has been obtained by considering the initial sequence as above in step 1 of proposed modified NEH and obtained five NEH designated as NEH1, NEH2, NEH3, NEH4 and NEH5 respectively. NEH6 has also been proposed, which is hybridization of HAMC (Ravindran et al., 2005) and NEH heuristic and described below: Step 1. Take Initial sequence as per ascending order of due date by weight of job i.e. dj/wj. Step 2. Create n new sequences from initial sequence by replacing 1st job with 2, 3, 4n jobs. Step 3. Compute their fitness value. Step 4. Sequence with least fitness value will be now taken as initial sequence. Step 5. Repeat steps 2 to 4 for 10 iteration. Step 6. Final sequence after 10th iteration is taken as an initial sequence of step 1 of NEH procedure. Step 7. Set k = 2. Pick the first two jobs from the rearranged jobs list and schedule them in order to minimizing weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs as if there are only two jobs. Set the better one as the current solution. Step 8. Increment k by 1. Generate k candidate sequences by inserting the first job in the remaining job list into each slot of the current solution. Amongst these Candidates, select the best one with the least partial minimization of the weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and makespan. Update the selected partial solution as the new current solution. Step 9. If k = n, a schedule (the current solution) has been found and stop. Otherwise, go to step 8. Hence total of six modified NEHs have been developed and final sequence from these heuristic is taken as initial sequence in the GA procedure resulting into six modified NEH based hybrid genetic algorithms. 57

Also, four dispatching rules have been considered for initial sequence in the genetic algorithm procedure resulting into four dispatching rules based HGAs i.e. HGA (EDD), HGA (SPT), HGA (dj/wj), HGA (dj.wj) 4.3 METAHEURISTICS Metaheuristics are general methods that guide the search through the solution space, using substitute algorithms as some form of heuristics, usually local search. Starting from an initial solution built by some heuristic, metaheuristics improve it iteratively until a stopping criterion is met. The stopping criterion can be elapsed time, number of iterations, number of evaluations of the objective function and so on. Metaheuristics are such strategies that perform a typically incomplete search in the space of solutions by iteratively creating and evaluating new candidate solutions. Genetic Algorithm as belongs to evolutionary algorithms can quickly scan a vast solution set and efficiently search the model space, so they are more likely (than local optimization techniques) to converge toward a global minima. There is no need of linearization of the problem and also no need to compute partial derivatives. Bad proposals do not affect the end solution negatively as they are simply discarded. The inductive nature of the GA means that it doesn't have to know any rules of the problem and it works by its own internal rules. This is very useful for complex or loosely defined problems. Also Simulated Annealing (SA) is superior to search optimal solutions from a current one in its neighborhood. SA has a fault that the obtained solutions are not necessarily global, but an advantage that there is only one individual and the computing efforts are not required so much as compared with GA. It can deal with arbitrary systems and cost functions with statistically optimal solution. It is relatively easy to code, even for complex problems and generally gives a good solution. Due to the facts, Genetic algorithm and simulated annealing are the commonly used metaheuristic for flow shop scheduling with each having its own advantages and limitation. A simple genetic algorithm (GA) can produce a good result quickly for managers for a complex set of sequence dependent scheduling problems. GA is a viable approach to solving optimization problems. The principles of a GA proposed by Holland (1975) are the foundation of all GAs. GA simulates evolution via natural selection on a 58

model of a problem. The idea is to evolve a population of candidate solutions to a given problem using operators inspired by natural genetic variation and natural selection (Mitchell, 1996). As Genetic Algorithm and simulated annealing have been used in the present work and hence only these algorithms have been described in this chapter.

4.4

HYBRID GENETIC ALGORITHM (HGA) Genetic Algorithms (GA) perform the search by solution recombination and

belong to the group of Evolutionary Algorithms (EA). As the name suggests, they imitate the process of evolution and use the idea of natural selection, recombination and mutation to control the search process. The set of solutions is called population in the context of Genetic Algorithm. Consequently, a single solution of this population is called individual or chromosome. Chromosomes are made of genes and the values of a gene are called alleles. A gene is a property of a solution, which can take values of a predefined domain. The position of a gene is called locus. If a gene has taken a certain value it is called allele. So, the genes of a chromosome describe the genotype of an individual. A phenotype describes a certain individual with all its states, i.e. all genes have fixed alleles. Genetic algorithms are an optimization technique based on natural evolution. They include the survival of the fittest idea into a search algorithm, which provides a method of searching which does not need to explore every possible solution in the feasible region to obtain a good result. Genetic algorithms are based on the natural process of evolution. In nature, the fittest individuals are most likely to survive and mate; therefore the next generation should be fitter and healthier because they were bred from healthy parents. This same idea is applied to a problem by first guessing solutions and then combining the fittest solutions to create a new generation of solutions, which should be better than the previous generation. A Genetic Algorithm (GA) uses probabilistic selection as a basis for evolving a population of problem solutions. An initial population is created and subsequent generations are generated according to a pre-specified breeding and mutation methods inspired by nature. The methods for creating an initial population are varied: feasible only, randomized, using heuristics, etc. Classical GA generate initial population randomly and drawbacks of the algorithm is that, the choice of the initialization procedure has an 59

important influence on the quality of solution and a better initial solution might provide better results. Due to the large search space in flow shop scheduling, it is expected that random generation of initial solutions provides relatively weak results. For this, initial solution is obtained by application of heuristics or well known dispatching rules for finding near to optimal results in a very reasonable time. In the present work, the six modified heuristics which is similar to NEH (Nawaz et al., 1983) have been proposed for generations of initial chromosome and hybrid to GA procedure and named as six HGA with four dispatching rules based HGA. 4.4.1 Proposed HGA The HGA acts as a universal search process in this algorithm. The Six modified heuristics similar to NEH and four dispatching rules have been developed to obtain a seed sequence based on multi-objective fitness function including weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs simultaneously. Keeping this seed sequence along with a set of (Ps 1) random generated initial population according to population size Ps since by selecting a good set of chromosomes in the initial population usually improves the performance of a genetic algorithm. The proposed HGA is described in the following: 1. Generate the seed sequence. 2. Generation of (Ps 1) population randomly and combined with the seed sequence generated. 3. The algorithm then creates a sequence of new populations. At each step, the algorithm uses the individuals in the current generation to create the next population. To create the new population, the algorithm performs the following steps: a. Scores each member of the current population by computing fitness i.e. minimizing weighted sum of total weighted squared tardiness ,makespan, total weighted squared earliness and number of tardy jobs simultaneously b. Selects members, called parents, based on their fitness. c. Some of the individuals in the current population that have lesser fitness are chosen as elite. These elite individuals are conceded to the next population.

60

d. Produces offspring from the parents. Offsprings are produced either by combining the vector entries of a pair of parentscrossover or by making random changes to a single parentmutation. e. Replaces the current population with the children to form the next generation. 4. The algorithm stops when computational time reaches n m 0.5 seconds. Generation of seed sequence as in step 1 of HGA has been obtained from the proposed modified NEH heuristics and despatching rules as shown in table 1. Therefore Six Modified NEHs and four dispatching rules based HGA called as HGA(NEH1) , HGA(NEH2), HGA(NEH3), HGA(NEH4), HGA(NEH5), HGA(NEH6), HGA(SPT), HGA(EDD), HGA(dj/wj), HGA(dj.wj) have been developed for comparative analysis amongst them. Table 4.1 Different despatching rules/heuristic for comparative analysis of proposed HGA and HSA.
S. No. 1. Dispatching Rule /Heuristic Shortest processing time (SPT) Earliest due date (EDD) Earliest weighted by due date rule (dj/wj) Earliest weighted due date (wjdj) NEH1 NEH4 Description Initially jobs are processed according to sum of each job on all the machines in ascending order. Jobs are processed according to earliest due dates (Kim, 1993). Arrange the jobs according to least value of dj/wj.

2. 3.

4.

Initially arrange the jobs according to least value of wjdj.

5. 6.

Initial sequence is developed as proposed by Nawaz et al. (1983). Initially jobs are ordered according to least value of dj/wj (Parthasarthi and Rajendran, 1997) and then final sequence is obtained by NEH procedure. Initially jobs are arranged according to earliest due date and then final sequence of jobs is obtained by NEH procedure. Initially jobs are ordered according to least value of wjdj and then final sequence is obtained by NEH procedure.

7.

NEH2 NEH3 NEH5

8.

9.

m and Initially jobs are arranged in ascending order of P ij +dj W j i=1

then final sequence of jobs is obtained by NEH procedure. 10. NEH6 Initial sequence by ascending order of dj/wj, which is seed sequence in a procedure similar to HAMC heuristic for 10 iterations and final sequence by NEH procedure.

61

4.4.2 Parameters of Genetic Algorithm Population Size (Ps): The population contains all candidate solutions for further processing. In the beginning of the search, the population should contain maximum diverse solutions and as the search progresses the quality of the solutions in the population should get better until the optimum solution is found and the whole population converges to this solution. An important choice is the size of the population. As in flow shop scheduling number of possible sequences is equal to n!. Therefore, if the population size is equal to n! than application of genetic algorithm has no use. So, larger the initial population that is created, the more likely the best solution from it will be closer to optimal but at the cost of increased execution time. So, in the present work it is set to 50 irrespective of the size of problem to solve in a reasonable time. Selection: The selection operator chooses which solutions are used for crossover. Typically, this decision is based on the fitness of the solutions. Often the fitness value reflects the quality of the solution and is used for selection by comparing it to other individuals in the population. The better the solution is in terms of specific optimization goals, the better is the fitness value and the more likely the solution will be chosen for recombination. The process of selection normally prefers better individuals to drive the search into good regions of the search space, but different selection schemes were developed over the past years. A few of them are Roulette-Wheel-Selection, LinearRank-Selection, tournament selection etc. Roulette-Wheel-Selection is a straight forward selection model. Solutions are selected according to their proportional fitness. Crossover function: Crossover is the process of combining genes (properties) of selected solutions to yield a new solution. The idea is: If the right parts of two good solutions are combined into a new solution, the quality of this new solution should be better than the ones of the parent solution. It is the breeding of two parents to produce a single child. That child has features from both parents and thus may be better or worse than either parent as per fitness function. There are so many crossover used in generic algorithm in past such as partially matched crossover(PMX), Order crossover (OX), Cycle crossover (CX) and single point crossover (SPX) etc. In MATLAB it is expressed in fraction means 62

which crossover has to perform on the parents as per population size in each generation. If it is fixed to 0.8 than crossover should be done on 80% of total population size Mutation function: As crossover typically uses properties of existing solutions and it cannot produce solutions with new information. This is the reason why there is the mutation operator. Mutation is a small random perturbation of a solution candidate. The probability to mutate an individual of a population is typically rather small. The aim of the mutation operator is to regain information which was lost during the search, i.e. it should prevent the population from premature convergence. In the traditional sense it is more or less a secondary operator which is performed only with low probability. However for a successful search method crossover and mutation operators and probabilities must match. Reciprocal exchange, inversion etc. are the some of the mutation functions. Elite Count: After crossover, mutation and evaluation, basically there are two different populations. Because in a typical Genetic Algorithm the population size is constant one has to decide which individuals to keep and which ones to discard. The replacement strategy chooses the individuals which survive, i.e. are kept for the next iteration and which ones are discarded. There are several replacement schemes, where the most popular are: (i) Generational replacement (ii) Steady state replacement In generational replacement the new generation supersedes the old generation. But this replacement scheme has a big disadvantage. If one replaces the whole generation the risk of dismissing a very promising solution is high. So, concept of elitism has been invented where the most promising solution is always kept in the population. Here elite is expressed as number of sequences. If, elite count has been fixed to two, it means that the top two sequences that have least fitness function have been cloned for the next generation. Stopping condition: Stopping condition is used to terminate the algorithm for certain numbers of generations. In this work, for fair comparison among different Modified NEH based Hybrid Genetic algorithms, computational time limit based stopping criteria have 63

been used. So, the algorithm stops when maximum computational time limit reaches
n m 0.5 seconds.

As initial seed sequence which is combined in the population of HGA is obtained from six NEH based and four dispatching rules heuristics in step 1 of HGA and hence total of ten HGAs have been developed for comparative analysis between them. As NEH belong to constructive heuristic and consumes considerable time for generating the seed sequence with dispatching rules consumes negligible computational time. Hence for fair comparison computational time limit has been fixed for all the HGAs irrespective to number of generations which further depends upon number of jobs and machines which allows more time as size of problem increases.

4.5

SIMULATED ANNEALING Simulated Annealing (SA) as one of the most popular local search base

metaheuristics realizes this very idea. Inspired by the physical process of cooling fluids, this search strategy has been established in the 1980s.The goal of the cooling process is the alignment of atoms in the most regular possible crystalline structure. In this context, the cooling rate has a crucial impact on the final configuration. Only if the cooling process is sufficiently slow, an appropriate atomic alignment is possible. Otherwise, the structure will be polycrystalline or amorphic and exhibit crystal defects. The optimally ordered structure can be seen as a state of minimum energy, whereas a configuration obtained by quenching the liquid is regarded as highly energetic, because the atoms have not been able to align properly. Simple improvement based local search strategies try to gain improvements in solution quality as fast as possible. Hence we can interpret this behavior as quenching in the sense of thermodynamics. The local optimum we reach by this way of proceeding corresponds to a high energy state with inferior crystalline structure. An interesting property of cooling processes in nature is the chance of occurrence of high energy states even at late stages of such a process, i.e. when the temperature is already very low. Simulated Annealing (SA) is a neighborhood search procedure that has produced good results for NP hard problems .Consequently, numerous researchers collectively

64

including Johnson et al. (1989), Van Laarhoven (1992), Shang (1993), and Suresh & Sahu (1993) have reported success with simulated annealing in achieving good solutions to combinatorial optimization problems. Simulated annealing has also been applied effectively and efficiently to minimize makespan and tardiness problems in job shop scheduling. A classical simulated annealing begins by generating an initial solution randomly. At each stage, the new solution taken from the neighborhood of the current solution is accepted as the new current solution if it has a lower or equal cost; if it has a higher cost it is accepted with a probability that decreases as the difference in the costs increases and as the temperature of the method decreases. This temperature, which is simply a positive number, is periodically reduced by some temperature scheme, so that it moves gradually from a relatively high value to lower value as the method progresses. Thus at the start of SA, most worsening moves are accepted, but at the end only improving ones are likely to be accepted. The method converges to a local optimum as the temperature approaches zero, because SA has performed many perturbations at a high temperature which have pushed the search path into new areas, a better local optimum solution should hopefully be reached. In this work, a different stopping criterion is introduced into the proposed HSA procedure to improve the optimality. The entire simulated annealing procedure has been terminated only when computational time exceeded to n m 0.5 seconds. 4.5.1 Proposed Hybrid Simulated Annealing (HSA) HSA proposed in this research is described as follows: Step 1: Initialization 1.1 The algorithm begins with initial seed sequence obtained as shown in table 4.1 and described in section 4.2 and assign the seed sequence to {S} and BEST 1.2 Obtain the multi-objective function for {S} 1.3 Initialize the initial temperature T. Step 2: The annealing function will then modify this schedule and return a new schedule that has been changed by an amount proportional to the temperature.

65

Step 3: The algorithm determines whether the new schedule{S'} is better or worse than the current{S}. If {S'} is better than the {S}, it becomes the next schedule{S=S'}. If the {S'} is worse than the {S}, the algorithm may still make it the next schedule based on an acceptance probability. Step 4: The algorithm lowers the temperature proportional to cooling rate and store the best point found so far. Step 5: Re-annealing is performed after a certain number of schedules are accepted by SA. Re-annealing raises the temperature and the search is resumed with the new temperature values. Step 6: The algorithm stops when maximum time limit exceeds n m 0.5 seconds. 4.5.2 Parameters of Hybrid Simulated Annealing Initial Temperature: The temperature is the controlled parameter in simulated annealing that decreased steadily as the algorithm proceeds. It determines the probability of accepting an inferior solution at any step and is used to bound the extent of the search in a given dimension. At very high temperature (T), the SA algorithm should have equal chance of rejecting or accepting a worse solution. This important requirement of a successful SA has been disregarded by past SA research which tends to set T at a value exclusively based on available computer processing time and number of variables. So for fair comparison its value has been fixed which is equal to number of jobs. Annealing Function: The annealing function modified current schedule and return a new schedule that has been changed by an amount proportional to the temperature. The new schedule is produced by randomly swapping two points in a schedule. Temperature Function: It updates the temperature vector for annealing process. In this work, exponentially temperature reduction is applied in which temperature at iteration is reduced exponentially at each iteration. Acceptance Function: It is used to determine whether to accept a change that leads to a worsening of the objective function value. SA randomizes the search

66

procedure to allow for occasional changes that worsen the solution, in an attempt to reduce the probability of the search becoming trapped in a locally optimal solution. In this, acceptance function is Boltzmann probability function which is defined by its probability mass function :
P (c ) = 1 1 + e H / T

Where T = Temperature H=H' -H H = Fitness function before the state changes H' = Fitness function after the state changes Re-anneal Interval: Annealing is the technique of closely controlling the temperature when cooling a material to ensure that it is brought to an optimal state. Re-annealing raises the temperature after a certain number of new points have been accepted and starts the search again at the higher temperature. Reannealing avoids getting caught at local minima. Re-anneal interval is fixed to number of variables (i.e. no. of jobs) for fair comparison. Stopping condition: Stopping condition is used to stop the algorithm for certain numbers of runs. In literature, various stopping criteria were proposed but very little attention has been given to time limit base stopping criteria for simulated annealing. Hence, for comparison of different HSA algorithm, we have used time limit based criteria which is again depends on number of jobs and machines. So, the algorithm stops when maximum time limit exceeds n m 0.5 sec onds .

4.6

HYBRIDISATION OF GENETIC ALGORITHM AND SIMULATED ANNEALING (GASA) It has been commonly accepted that finding optimality to NP hard problems is not

a viable option since large amount of computational time is needed for judgment of such 67

solutions. In reality, a good initial solution can be obtained by a heuristic/meta-heuristics in a reasonable computational time. Simple GA and SA generate initial seed sequence randomly and drawbacks is that, the choice of the initial seed sequence has an important influence on the quality of solution and a better initial sequence might provide better results. Due to the large search space in flow shop scheduling, it is expected that random generation of initial solutions provides relatively weak results. For this, initial solution is obtained by application of GA for finding near to optimal results in a very reasonable time and final optimal solution by SA procedure and called as hybrid GASA. Outline of GASA described as follows: 1. Generation of Ps population randomly. 2. The algorithm then creates a sequence of new populations. At each step, the algorithm uses the individuals in the current generation to create the next population. To create the new population, the algorithm performs the following steps: a) Scores each member of the current population by computing fitness. b) Selects members, called parents, based on their fitness. c) Some of the individuals in the current population that have lesser fitness are chosen as elite. These elite individuals are conceded to the next population. d) Produces offspring from the parents. Offsprings are produced either by combining the vector entries of a pair of parentscrossover or by making random changes to a single parentmutation. e) Replaces the current population with the children to form the next generation. 3. The algorithm generate a sequence called as {S} and BEST when computational time reaches n m 0.25 seconds which is the seed sequence in SA procedure. 4. Obtain the multi-objective fitness function for {S} 5. Initialize the initial temperature T. 6. The annealing function will then modify this schedule and return a new schedule that has been changed by an amount proportional to the temperature.

68

7. The algorithm determines whether the new schedule{S'} is better or worse than the current{S}. If {S'} is better than the {S}, it becomes the next schedule{S=S'}. If the {S'} is worse than the {S}, the algorithm may still make it the next schedule based on an acceptance probability. 8. The algorithm lowers the temperature proportional to cooling rate and store the best point found so far. 9. Re-annealing is performed after a certain number of schedules are accepted. Reannealing raises the temperature and the search is resumed with the new temperature values. 10. The algorithm stops when maximum time limit exceeds n m 0.5 seconds. The next chapter presents the analysis of results obtained from all the proposed HGAs, HSAs and GASA for multi-objective SDST flow shop scheduling upto 200 jobs and 20 machine problems.

69

CHAPTER 5

RESULTS AND DISCUSSIONS

In the present work, Hybrid Genetic algorithm (HGA), Hybrid Simulated annealing (HSA) and Hybrid Genetic Algorithm and Simulated Annealing (GASA) have been developed for multi-objective fitness function including weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and makespan for SDST flow shop scheduling. The evaluation of all the algorithms implemented has been carried out using the instances (DD_SDST_10) developed by Taillard (1993) upto 200 jobs and 20 machines under SDST environment with due dates and weights allotted to each job. In the considered instances, processing time ranges from [1:100], SDST varies from [0:9] and weight from [1:10]. The instances considered here is divided into three sections as 5 , 10 and 20 machine problems for analyzing the results with variation of machines together with increase in jobs. All the experimental tests are conducted on a personal computer with P IV/2 with 1 GB Ram. Initial sequence has been obtained by the six modified NEH heuristics and four despatching rules resulting into ten HGAs and ten HSAs. Also apart from heuristic/despatching rules based HGA and HSA, metaheuristics based hybridization of Genetic Algorithm and Simulated Annealing (GASA) has also been proposed and tested for said fitness function. In all the ten HGAs and ten HSAs, initial seed sequence is different and rest of the procedure is same. Initial seed sequence generation is obtained by various heuristics and dispatching rules as shown in table 4.1 and hence resulting into HGA(NEH1) , HGA(NEH2), HGA(NEH3), HGA(NEH4), HGA(NEH5), HGA(NEH6), HGA(SPT), HGA(EDD), HGA(dj/wj), HGA(dj.wj). Also among simulated annealing refereed as HSA(NEH1) , HSA(NEH2), HSA(NEH3), HSA(NEH4), HSA(NEH5), HSA(NEH6), HSA(SPT), HSA(EDD), HSA(dj/wj),

HSA(dj.wj). Computational analysis have been done amongst different HGAs, different HSAs and also GASA with GA and SA with the same stopping limit of computational time ( n m 0.5 sec onds ) irrespective of number of iterations. This allows a fair comparison among different algorithm and allows more time as the size of problem increases.

70

The most common performance measure to compare all the algorithms is the relative percentage deviation (RPD) (Naderi et. al., 2009) which is computed as:Relative percentage deviation (RPD) =

Method sol Best sol 100 Best Sol

Where Methodsol is the solution obtained by a given method and Bestsol is the best solution obtained among all the methods or the best known solution. RPD nearer to zero gives the best results. Bestsol can be found among the results obtained by running particular algorithm five times for a particular problem and method solution is final average solution given by the algorithm for all the five runs. As multi-objective fitness function has been considered which includes the said four criteria for scheduling the jobs in SDST flow shops. Hence some weight coefficient i.e. priority has been added to each of the criteria such that sum of all the weight coefficient is unity. This is done to give importance to individual criteria as required in the competitive environment, market fluctuations etc. In the present work, five sets of weights have been considered as four sets of weights to give importance to individual criteria and one for equal importance of the entire criterion in the proposed fitness function. Therefore, results are obtained for five sets of weights value of , , and for proposed multi-objective performance measures (i.e. (0.4,0.3,0.2,0.1), (0.1,0.4,0.3,0.2) (0.2,0.1,0.4,0.3), (0.3,0.2,0.1,0.4) and (0.25,0.25,0.25,0.25)). Results obtained from HGAs, HSAs and GASA have been presented in the next section followed by discussion.

5.1

HYBRID GENETIC ALGORITHM (HGA) As proposed HGA generate initially, Ps 1 random population and with a

sequence preset by modified NEH heuristics or despatching rules, so for each instance, HGAs have been run five times for taking final average. Parameters fixed for analysis with different HGAs is shown in table 5.1. Figure 5.1 to 5.15 shows the RPD obtained for different HGAs for 5, 10 and 20 machine cases upto 200 jobs for all the five sets of weight values of , , and . The multi-objective fitness function considered is minimizing the weighted sum of total

71

weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs simultaneously.

Table 5.1: Parameters fixed for different HGAs.


Parameters Population size Elite Count Crossover fraction Selection function Mutation fraction Stopping Criteria (Time limit in seconds) Migration rate Migration Interval Crossover function Mutation function Values 50 2 0.8 Roulette wheel 0.15 n m 0.5 0.2 20 Order Reciprocal Exchange

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.1 RPD for different HGAs for 5 machine problems with = 0.4, = 0.3, = 0.2, = 0.1. 72

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.2 RPD for different HGAs for 10 machine problems with = 0.4, = 0.3, = 0.2, = 0.1.

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.3 RPD for different HGAs for 20 machine problems with = 0.4, = 0.3, = 0.2, = 0.1.

73

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.4 RPD for different HGAs for 5 machine problems with = 0.1, = 0.4, = 0.3, = 0.2.

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.5 RPD for different HGAs for 10 machine problems with = 0.1, = 0.4, = 0.3, = 0.2.

74

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.6 RPD for different HGAs for 20 machine problems with = 0.1, = 0.4, = 0.3, = 0.2

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.7 RPD for different HGAs for 5 machine problems with = 0.2, = 0.1, = 0.4, = 3.

75

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.8 RPD for different HGAs for 10 machine problems with = 0.2, = 0.1, = 0.4, = 0.3.

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.9 RPD for different HGAs for 20 machine problems with = 0.2, = 0.1, = 0.4, = 0.3.

76

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.10 RPD for different HGAs for 5 machine problems with = 0.3, = 0.2, = 0.1, = 0.4.

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.11 RPD for different HGAs for 10 machine problems with = 0.3, = 0.2, = 0.1, = 0.4.

77

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.12 RPD for different HGAs for 20 machine problems with = 0.3, = 0.2, = 0.1, = 0.4.

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.13 RPD for different HGAs for 5 machine problems with = 0.25, = 0.25, = 0.25, = 0.25.

78

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.14 RPD for different HGAs for 10 machine problems with = 0.25, = 0.25, = 0.25, = 0.25.

HGA(NEH1) HGA(EDD) HGA(NEH2) HGA(SPT) HGA(dj/wj) HGA(dj.wj) HGA(NEH3) HGA(NEH4) HGA(NEH5) HGA(NEH6)

Figure 5.15 RPD for different HGAs for 20 machine problems with = 0.25, = 0.25, = 0.25, = 0.25.

79

It can be seen from figure 5.1 to 5.15 that HGA (NEH2), HGA (NEH4) and HGA (NEH5) give better results amongst different HGAs, however, there is a variation in the performance with increase in machine and job size. Hence, mean RPD has been calculated for different sets of considered weight values as shown in table 5.2. It can be concluded from table 5.2 that upto 5 machines, HGA (NEH4) with mean RPD of 4.23%, 2.61% and 1.81% for 20, 50 and 100 job problems respectively produces better results for all the sets of considered weight values. As the number of machines increases to 10 than HGA (NEH5) shows improvement over others algorithms especially for larger job size problems with mean RPD of 4.62%, 1.53% and 1.29 % for 50, 100 and 200 job problems respectively, however, upto 20 job problems, HGA (NEH2) with mean RPD of 2.07% shows better results with all the sets of considered weight values. Also for 20 machines, HGA (NEH2) with mean RPD of 4.6%, 8.26% and 2.75% for 20, 50 and 100 job problems shows better. As the job size increases further, HGA (NEH4) with mean RPD of 0.56% for 200 jobs reveals improvement with others. Table 5.2 Mean RPD (%) of HGAs for 5, 10 and 20 machines.
Machines Jobs 20 5 50 100 20 10 50 100 200 20 20 50 100 200 HGA HGA HGA HGA HGA HGA HGA HGA HGA HGA (NEH1) (EDD) (NEH2) (SPT) (dj/wj) (dj.wj) (NEH3) (NEH4) (NEH5) (NEH6) 10.54 8.52 7.46 9.27 10.27 13.32 15.12 8.15 28.80 7.31 12.12 11.01 6.54 9.15 7.70 9.30 14.86 14.70 4.70 13.20 7.33 13.79 8.35 4.50 5.85 2.07 6.36 6.74 6.85 4.60 8.26 2.75 4.51 13.68 9.67 11.23 11.59 12.86 13.92 17.89 10.46 26.78 12.04 18.55 6.69 7.25 5.19 16.18 8.95 7.05 5.92 5.72 29.75 6.56 4.97 10.62 8.00 10.46 22.54 10.70 15.41 16.31 7.76 29.19 12.43 17.24 7.85 4.41 6.51 5.80 7.48 11.68 11.29 7.80 18.85 7.31 10.64 4.23 2.61 1.81 9.78 4.89 2.39 1.43 6.83 29.61 3.76 0.56 6.62 2.77 2.21 11.24 4.62 1.53 1.29 7.64 29.51 5.23 1.36 7.83 8.54 3.51 12.34 9.19 5.71 3.10 10.89 27.68 6.43 3.28

Hence from the analysis it may be concluded that proposed HGA (NEH2), HGA (NEH4) and HGA (NEH5) shows better results amongst all other HGAs upto 200 jobs and 20 machine problems. Performances of these three HGAs also vary with the increase in

80

number of machines especially for larger job size problems. It may also be observed that HGA (NEH4) for 5 and 20 machine problems, HGA (NEH5) for 10 machine problems show improvement over other HGAs with all sets of weight values considered. However for 20 machine problems, HGA (NEH2) provides better results upto100 jobs.

5.2

HYBRID SIMULATED ANNEALING (HSA) Simulated Annealing (SA) as one of the most popular local search based

metaheuristic inspired by the physical process of cooling metals and has been applied effectively and efficiently for optimizing flow shop scheduling problems. A classical simulated annealing begins by generating a seed sequence randomly and check for optimality by neighborhood search mechanism until frozen state has been reached. As choice of initial sequence has affect the final quality of the solution and hence several researchers have generated initial seed sequence for simulated annealing for achieving good results in a reasonable time. In the proposed HSA also, initial seed sequence has been generated by the same six modified NEH heuristic and four dispatching rules as in HGA to form ten HSA for comparison between them. Stopping limit of HSA has also been fixed to same computational time limit criteria for fair comparison and various parameters fixed for analysis with different HSA have been shown in table 5.3. Table 5.3 Parameters for different HSAs.
Parameter Stopping Criteria (Time limit in seconds) Initial Temperature Annealing Function Temperature Function Acceptance Function Re-anneal Interval Value

n m 0 .5
n Randomly swapping Exponentially Boltzmann probability

n8

81

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.16 RPD for different HSAs for 5 machine problems with = 0.4, = 0.3, = 0.2, = 0.1.

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.17 RPD for different HSAs for 10 machine problems with = 0.4, = 0.3, = 0.2, = 0.1.

82

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.18 RPD for different HSAs for 20 machine problems with = 0.4, = 0.3, = 0.2, = 0.1.

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.19 RPD for different HSAs for 5 machine problems with = 0.1, = 0.4, = 0.3, = 0.2.

83

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.20 RPD for different HSAs for 10 machine problems with = 0.1, = 0.4, = 0.3, = 0.2.

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.21 RPD for different HSAs for 20 machine problems with = 0.1, = 0.4, = 0.3, = 0.2.

84

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.22 RPD for different HSAs for 5 machine problems with = 0.2, = 0.1, = 0.4, = 0.3.

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.23 RPD for different HSAs for 10 machine problems with = 0.2, = 0.1, = 0.4, = 0.3.

85

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.24 RPD for different HSAs for 20 machine problems with = 0.2, = 0.1, = 0.4, = 0.3.

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.25 RPD for different HSAs for 5 machine problems with = 0.3, = 0.2, = 0.1, = 0.4.

86

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.26 RPD for different HSAs for 10 machine problems with = 0.3, = 0.2, = 0.1, = 0.4.

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.27 RPD for different HSAs for 20 machine problems with = 0.3, = 0.2, = 0.1, = 0.4.

87

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.28 RPD for different HSAs for 20 machine problems for = 0.25, = 0.25, = 0.25, = 0.25.

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.29 RPD for different HSAs for 10 machine problems with = 0.25, = 0.25, = 0.25, = 0.25.

88

HSA(NEH1) HSA(EDD) HSA(NEH2) HSA(SPT) HSA(dj/wj) HSA(dj.wj) HSA(NEH3) HSA(NEH4) HSA(NEH5) HSA(NEH6)

Figure 5.30 RPD for different HSAs for 20 machine problems with = 0.25, = 0.25, = 0.25, = 0.25. Figure 5.16 to 5.30 shows RPD for 5, 10 and 20 machine problems and it is shown that HSA (NEH2), HSA (NEH4), HGA (NEH5) and HSA (NEH6) produce better results for different problem size. Hence, mean RPD has been calculated for considered weight values for comparison with increase in machine and job size as shown in table 5.4. Table 5.4 Mean RPD for different HSAs.
Machines Jobs 20 5 50 100 20 10 50 100 200 20 20 50 100 200 HSA HSA HSA HSA HSA HSA HSA HSA HSA HSA (NEH1) (EDD) (NEH2) (SPT) (dj/wj) (dj.wj) (NEH3) (NEH4) (NEH5) (NEH6) 14.99 5.01 5.18 15.66 9.81 8.36 7.78 9.71 26.27 5.71 7.02 8.72 5.78 5.54 5.23 9.75 8.36 6.68 5.32 13.63 5.1 5.68 8.71 4.06 4.7 3.26 7.43 5.46 4.81 3.26 9.87 2.98 2.76 10.84 5.99 5.74 25.64 7.21 8.08 5.76 11.81 18.64 5.61 6.88 12.07 4.32 3.86 15.26 6.11 5.02 3.95 12.23 19.78 5.55 3.63 6.85 6.2 7.22 20.77 7.11 6.53 6.6 6.05 18.57 7.1 6.54 8.52 3.32 3.63 19.24 4.92 8.59 7.11 9.77 18.65 5.23 6.77 5.44 3.46 1.62 16.49 6.14 3.22 2.79 7.62 30.87 3.79 1.23 10.43 3.38 1.92 26.06 4.38 1.31 3.05 10.52 27.87 5.93 2.2 5 3.29 1.27 6.9 7.48 2.55 3.63 11.64 15.24 3.24 1.63

89

It can be seen from table 5.4 that for 5 machines, HSA (NEH6) with mean RPD of 5.00%, 3.29% and 1.27% for 20 and 50 and 100 job problems respectively produces better results for any job size and considered weight values. And for 10 machines, HSA (NEH5) presents improved results over others for 50 and 100 job size problems with mean RPD of 4.38% and 1.31% and 1.29 %. As the job size increases to 200, than HSA (NEH4) with mean RPD of 2.79% provides better results. Also for 20 machines, mean RPD for HSA (NEH2) shows improved for 20, 50 and 100 jobs problems with 3.26%, 9.87% and 2.98% respectively . As the job size increases to 200, HSA (NEH4) for 200 jobs shows improvement with others algorithm for all the considered weight values. Hence from the analysis it has been concluded that performance of said HSAs vary with the size of machines and jobs as HSA (NEH6) for 5 machine, HSA (NEH4) for 10 and 20 machine problems shows better performance when compared with other HSAs especially for larger job size for all the considered sets of weight values. However, HSA (NEH5) and HSA (NEH2) provide better results for and upto 100 job problems with 10 and 20 machine respectively.

5.3

HYBRID GENETIC ALGORITHM AND SIMULATED ANNEALING (GASA) Hybrid genetic algorithm and simulated annealing has also been proposed in

which initial feasible sequence has been obtained by GA procedure which is the seed sequence for SA for the considered multi-objective SDST flow shop scheduling problems in MATLAB environment. The evaluation of all GASA along with GA and SA has been carried out using the same instances developed by Taillord (1993) with same configuration of computer and stopping limit as of HGAs and HSAs. As GA generates initially, random population, so for each instance, all the algorithms have run five times for taking final average. Also for reasonable comparison, termination of GA, SA and hybrid GASA has also been fixed to computational time limit based criteria which is
n m 0.5 seconds and hence allows more time to run as the size of problem increases.

Parameters fixed for hybrid GASA are given in table 5.5.

90

Table 5.5 Parameters fixed for GASA.


Parameter Population size Elite Count Crossover fraction Mutation fraction Selection function Stopping Criteria (Time limit in seconds) Migration rate Migration Interval Crossover function Mutation function Initial Temperature Annealing Function Temperature Function Acceptance Function Reanneal Interval Value 50 2 0.8 0.15 Roulette wheel

n m 0 .5
0.2 20 Order Reciprocal Exchange n Randomly swapping Exponentially Boltzmann probability

n8

Figure 5.31 RPD for GASA with = 0.4, = 0.3, = 0.2, = 0.1.

91

Figure 5.32 RPD for different GASA with = 0.1, = 0.4, = 0.3, = 0.2.

Figure 5.33 RPD for different GASA with = 0.2, = 0.1, = 0.4, = 0.3.

92

Figure 5.34 RPD for different GASA with = 0.3, = 0.2, = 0.1, = 0.4.

Figure 5.35 RPD for GASA with = 0.25, = 0.25, = 0.25, = 0.25.

93

It may be seen from figure 5.31 to figure 5.35 that hybrid GASA shows superiority for most of the SDST flow shop scheduling problems with all the set of considered weight values especially for larger size problems when compared to GA and SA alone. The mean RPD for 5, 10 and 20 machines has been calculated for the entire three algorithms which have been shown in table 5.6. Table 5.6 Mean RPD (%) for GASA, GA and SA.
Machines 5 Jobs 20 50 100 20 50 100 200 20 50 100 200 GASA 6.34 2.91 3.56 6.34 9.14 3.56 3.95 8.15 21.51 3.80 3.63 GA 10.54 8.52 13.32 9.27 10.27 13.32 15.12 10.02 31.12 7.31 12.12 SA 14.99 5.01 8.36 15.66 9.81 8.36 7.78 9.71 26.27 5.71 7.02

10

20

Hence GASA proves to be an effective approach for solving multi-objective SDST flow shop scheduling for any problem size as compared to GA and SA alone. The main advantage of GASA is that it provides a quick solution without any heuristics for initialization as required in HGA and HSA (designed for specific performance measure).

5.4

COMPARATIVE ANALYSIS OF HGA, HSA AND GASA The results obtained from HGA, HSA and GASA have been compared with the

help of mean RPD for different weight values considered. From the comparison as shown in table 5.7, it may be concluded that HGA (NEH2) for 5 & 20 machine and HSA (NEH5) for 10 machine problems confirmed the superiority over others for all the considered sets of weight values. However for larger job size, HSA (NEH5), HGA (NEH5) and HGA (NEH4) provides improved results for 5, 10 and 20 machines problems respectively.

94

Table 5.7 Comparison of average RPD (%) amongst HGA, HSA and GASA.
HGA (NEH2) 8.35 4.5 5.85 2.07 6.36 6.74 6.85 4.6 8.26 2.75 4.51 HGA (NEH4) 4.23 2.61 1.81 9.78 4.89 2.39 1.43 6.83 29.61 3.76 0.56 HGA (NEH5) 6.62 2.77 2.21 11.24 4.62 1.53 1.29 7.64 29.51 5.23 1.36 HSA (NEH4) 5.44 3.46 1.62 16.49 6.14 3.22 2.79 7.62 30.87 3.79 1.23 HSA (NEH5) 10.43 3.38 1.92 26.06 4.38 1.31 3.05 10.52 27.87 5.93 2.2 HSA (NEH6) 5 3.29 1.27 6.9 7.48 2.55 3.63 11.64 15.24 3.24 1.63

Machines

Jobs 20

GASA 6.34 2.91 3.56 6.34 9.14 3.56 3.95 8.15 21.51 3.8 3.63

50 100 20 50 100 200 20 50 100 200

10

20

Proposed metaheuristic algorithm has also been applied in manufacturing of automobile component division of an industry for scheduling of jobs in a SDST flow shop for considered multi-objectives which has been explained in the subsequent chapter.

95

CHAPTER 6

CASE STUDY

6.1

INTRODUCTION Tube Products of India is one of the units of Tube Investments of India Ltd

which is a flagship company of Murugappa Group headquartered in Chennai being one of India's leading business conglomerates. Market leaders in diverse areas of business including Engineering, Abrasives, Finance, General Insurance, Cycles, Sugar, Farm Inputs, Fertilizers, Plantations, Bio-products etc have manufacturing facilities spread across different states in India. Tubular Components Division is a part of Tube Products of India. The division was established in 2004 to cater to the tubular component requirements of the automotive sector and the General Engineering sector. Tubular Components Division specializes in making components from high strength tubes that can replace solid sections, hollow sections, CDS tubing and forged components resulting in considerable cost and weight savings. These components are ideally suited for applications needing high torsion, bending, buckling, intrusion and energy absorption characteristics. The design capabilities of Tubular Components Division are specially suited to support new products of formable, weld able high strength steel tubing which finds application in products such as axles, stabilizer bars and steering linkages etc. The application of the developed hybrid HGA (NEH2) for sequencing flow shops in the process industry is being carried out in value added centre of Tubular Component Division (TCD) of the Tube Products of India (TPI) near New Delhi, which is one of the largest integrated manufacturers of quality automobile components in India. TCD complex is operational with one Special purpose CNC cutting machine(SPCNCC), Two Special purpose hydraulic operated swaging machine(SPSM), one manual chamfering machine(MCM), Two special purpose hydraulic operated horizontal drilling machines (SPDM), Two Tapping machine and three horizontal manual milling machine. The raw material for TCD is cold drawn seamless (CDS) tube which is 96

the product of tube products of India (TPI) and then processed through the process line to get the desired product for automobile industry. The process flow diagram of CDS tube is shown in figure 1.

Figure 6.1 Process diagram of CDS tube. Cold drown seamless (CDS) tube have to undergo the following processes described as under: Special Purpose CNC Cutting Machine (SPCNCCM):- It is used to cut the CDS tube according to required length. It is fully automatic machine. Special Purpose Hydraulic Operated Swaging Machine (SPSM):-This machine is used to decrease the end diameter of CDS tube through die for required length. CDS tube is forced with the help of hydraulic pressure in the die fixed at both end. Special Purpose Hydraulic Operated Horizontal Drilling Machine (SPDM):-This is a special purpose hydraulic operated machine used for drilling at both the ends of CDS tube. Drill is located at both the ends horizontally. Tapping Machine(TM):-This machine is manually operated and used to make internal thread in drilled hole at ends of CDS tube. Manual Chamfering Machine (MCM):-It is used for chamfering the drilled hole at ends.

97

Horizontal Manual Milling Machine (HMM):- This is also manual horizontal milling machines and used for notching and slitting operation on the CDS tube. They are two in numbers one for slitting and one for notching operations and called as HMM1 and HMM2 respectively. In the process flow production setups are required at every machine and take considerable length of time. Setup on various machines are setting of CNC cutting machine when size of job differs , changing of die and clamp in swaging machine ,change of drill in drilling machine, change of tapping tool in tapping machine , change of chamfering tool and change of milling cutter as per size and operation performed on the CDS tube. The sequence dependent set up time has been noted down for different jobs on different machines when real data was collected from the industry.

6.2

DATA COLLECTION The real data have been collected from the production head that is responsible for

production planning for the entire value added centre resulting into 157 flow shop scheduling problem. The data such as processing time, due date, weight of the job with demand and sequence dependent set up time have been shown from table 6.1 to 6.9 below: Table 6.1 Processing time of 15 jobs on 7 machines.
Job No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SPCNCCM 2800 2490 3320 2500 750 1160 660 750 1740 330 400 1450 1980 2900 580 SPSM 6640 6750 9000 11250 2745 3320 1660 2250 4980 830 1800 4150 4500 8300 1660 SPDM 3000 2730 3640 4550 870 1160 660 910 1740 330 728 1450 1980 2900 580 TM 6000 4980 6640 8300 1875 2660 1500 1660 3990 750 1328 1650 4980 7500 1330 MCM 4640 5490 7320 9150 2490 3820 1080 1833 5730 540 1464 4775 5250 10000 830 HMM1 HMM2

6000 2640 5730 1980 7640 2640 9550 3300 1875 1125 2000 1500 1500 580 1910 660 3000 2250 750 290 1528 528 1250 1875 3480 1980 5400 4150 1000 750 All values are in minutes

98

Table 6.2 Due date, weight and demand of jobs.


Job No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Due date (Minutes) 10080 17280 25920 31680 4320 14400 10080 7200 28800 30240 21600 40320 31680 43200 34560 Weight 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Demand (Number of pieces) 4000 3000 4000 5000 1500 2000 1000 1000 3000 500 800 2500 3000 5000 1000

Table 6.3 Sequence dependent set up time on SPCNCM.


i/j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 00 15 15 15 15 15 15 15 15 15 15 15 15 15 15 2 15 00 15 15 15 15 15 15 15 15 15 15 15 15 15 3 15 15 00 15 15 15 15 15 15 15 15 15 15 15 15 4 15 15 15 00 15 15 15 15 15 15 15 15 15 15 15 5 15 15 15 15 00 15 15 15 15 15 15 15 15 15 15 6 15 15 15 15 15 00 15 15 15 15 15 15 15 15 15 7 15 15 15 15 15 15 00 15 15 15 15 15 15 15 15 8 15 15 15 15 15 15 15 00 15 15 15 15 15 15 15 9 15 15 15 15 15 15 15 15 00 15 15 15 15 15 15 10 15 15 15 15 15 15 15 15 15 00 15 15 15 15 15 11 15 15 15 15 15 15 15 15 15 15 00 15 15 15 15 12 13 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 00 15 15 15 15 00 15 15 15 15 00 15 15 15 15 00 All values are in minutes

Table 6.4 Sequence dependent set up time on SPSM.


i/j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 00 30 30 30 30 30 00 30 30 00 30 30 30 00 30 2 30 00 00 00 30 30 30 00 30 30 00 30 00 30 30 3 30 00 00 00 30 30 30 00 30 30 00 30 00 30 30 4 30 00 00 00 30 30 30 00 30 30 00 30 00 30 30 5 30 30 30 30 00 00 30 30 00 30 30 00 30 30 00 6 30 30 30 30 00 00 30 30 00 30 30 00 30 30 00 7 00 30 30 30 30 30 00 30 30 00 30 30 30 00 30 8 30 00 00 00 30 30 30 00 30 30 00 30 00 30 30 9 30 30 30 30 00 00 30 30 00 30 30 00 30 30 00 10 00 30 30 30 30 30 00 30 30 00 30 30 30 00 30 11 30 00 00 00 30 30 30 00 30 30 00 30 00 30 30 12 13 14 15 30 30 00 30 30 00 00 30 30 00 00 30 30 00 00 30 00 30 30 00 00 30 30 00 30 30 00 30 30 00 00 30 00 30 30 00 30 30 00 30 30 00 00 30 00 30 30 00 30 00 00 30 30 30 00 30 00 30 30 00 All values are in minutes

99

Table 6.5 Sequence dependent set up time on SPDM.


i/j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 00 20 20 20 20 20 00 20 20 00 20 20 20 20 20 2 20 00 00 00 20 20 20 00 20 20 00 20 00 20 20 3 20 00 00 00 20 20 20 00 20 20 00 20 00 20 20 4 20 00 00 00 20 20 20 00 20 20 00 20 00 20 20 5 20 20 20 20 00 20 20 20 20 20 20 20 20 20 20 6 20 20 20 20 20 00 20 20 00 20 20 00 20 20 00 7 00 20 20 20 20 20 00 20 20 00 20 20 20 20 20 8 20 00 00 00 20 20 20 00 20 20 00 20 00 20 20 9 20 20 20 20 20 00 20 20 00 20 20 00 20 20 00 10 00 20 20 20 20 20 00 20 20 00 20 20 20 20 20 11 20 00 00 00 20 20 20 20 20 20 00 20 00 20 20 12 13 14 15 20 20 20 20 20 00 20 20 20 00 00 00 20 00 00 00 20 20 20 20 00 20 20 00 20 20 20 20 20 00 20 20 00 20 20 00 20 20 20 20 20 00 20 20 00 20 20 00 20 00 00 00 20 20 00 20 00 20 20 00 All values are in minutes

Table 6.6 Sequence dependent set up time on TM.


i/j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 00 20 20 20 20 20 00 20 20 00 20 20 20 20 20 2 20 00 00 00 20 20 20 00 20 20 00 20 00 20 20 3 20 00 00 00 20 20 20 00 20 20 00 20 00 20 20 4 20 00 00 00 20 20 20 00 20 20 00 20 00 20 20 5 20 20 20 20 00 20 20 20 20 20 20 20 20 20 20 6 20 20 20 20 20 00 20 20 00 20 20 00 20 20 00 7 00 20 20 20 20 20 00 20 20 00 20 20 20 20 20 8 20 00 00 00 20 20 20 00 20 20 00 20 00 20 20 9 20 20 20 20 20 00 20 20 00 20 20 00 20 20 00 10 00 20 20 20 20 20 00 20 20 00 20 20 20 20 20 11 20 00 00 00 20 20 20 20 20 20 00 20 00 20 20 12 13 14 15 20 20 20 20 20 00 20 20 20 00 00 00 20 00 00 00 20 20 20 20 00 20 20 00 20 20 20 20 20 00 20 20 00 20 20 00 20 20 20 20 20 00 20 20 00 20 20 00 20 00 00 00 20 20 00 20 00 20 20 00 All values are in minutes

Table 6.7 Sequence dependent set up time on MCM.


i/j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 00 25 25 25 25 25 00 25 25 00 25 25 25 25 25 2 25 00 00 00 25 25 25 00 20 25 00 25 00 25 25 3 25 00 00 00 25 25 25 00 25 25 00 25 00 25 25 4 25 00 00 00 25 25 25 00 25 25 00 25 00 25 25 5 25 25 25 25 00 25 25 25 25 25 25 25 25 25 25 6 25 25 25 25 25 00 25 25 00 25 25 00 25 25 00 7 00 25 25 25 25 25 00 25 25 00 25 25 25 25 25 8 25 00 00 00 25 25 25 00 25 25 00 25 00 25 25 9 25 25 25 25 25 00 25 25 00 25 25 00 25 25 00 10 00 25 25 25 25 25 00 25 25 00 25 25 25 25 25 11 25 00 00 00 25 25 25 25 25 25 00 25 00 25 25 12 13 14 15 25 25 25 25 25 00 25 25 25 00 00 00 25 00 00 00 25 25 25 25 00 25 25 00 25 25 25 25 25 00 25 25 00 25 25 00 25 25 25 25 25 00 25 25 00 25 25 00 25 00 00 00 25 25 00 25 00 25 25 00 All values are in minutes

100

Table 6.8 Sequence dependent set up time on HMM1.


i/j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 2 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 3 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 4 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 5 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 7 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 8 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 9 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 10 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 11 5 5 5 5 5 5 5 5 5 5 0 5 5 5 0 12 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 13 14 15 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 5 5 0 0 0 5 0 0 5 0 0 5 5 5 0 All values are in minutes

Table 6.9 Sequence dependent set up time on HMM2.


i/j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 00 10 10 10 10 10 00 10 10 00 10 10 10 00 10 2 10 00 00 00 10 10 10 00 10 10 00 10 00 10 10 3 10 00 00 00 10 10 10 00 10 10 00 10 00 10 10 4 10 00 00 00 10 10 10 00 10 10 00 10 00 10 10 5 10 10 10 10 00 00 10 10 00 10 10 00 10 10 00 6 10 10 10 10 00 00 10 10 00 10 10 00 10 10 00 7 00 10 10 10 10 10 00 10 10 00 10 10 10 00 10 8 10 00 00 00 10 10 10 00 10 10 00 10 00 10 10 9 10 10 10 10 00 00 10 10 00 10 10 00 10 10 00 10 00 10 10 10 10 10 00 10 10 00 10 10 10 00 10 11 10 00 00 00 10 10 10 00 10 10 00 10 00 10 10 12 13 14 15 10 10 00 10 10 00 10 10 10 00 10 10 10 00 10 10 00 10 10 00 00 10 10 00 10 10 00 10 10 00 10 10 00 10 10 00 10 10 00 10 10 00 10 10 00 10 10 00 10 00 10 10 10 10 00 10 00 10 10 00 All values are in minutes

6.3

RESULTS AND DISCUSSIONS The results have been obtained for the real life problem of SDST flow shop

scheduling for all the five sets of weight values considered which results in optimal sequence with corresponding values of all the individual objective of optimized fitness function. It has been proved that for scheduling upto 20 jobs on 5 machine problems, proposed HGA (NEH2) provides better results and hence been used for scheduling of jobs. The completion time and idle time matrix obtained provides completion time and idle time of each job on each machine with respect to optimal sequence for all the sets of considered weight values is shown below:

101

= 0.2, = 0.1, = 0.4, = 0.3 and = 0.1, = 0.4, = 0.3, = 0.2 Optimal sequence is 7 8 5 6 11 1 10 2 15 9 13 12 3 14 4

and the completion time of the sequence is 105645 minutes

Table 6.10 Completion time matrix for = 0.2, = 0.1, = 0.4, = 0.3 and = 0.1, = 0.4, = 0.3, = 0.2.
Job No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SPCNCCM 6595 41475 18590 24020 2190 3365 660 1425 11795 6940 3780 15255 13790 21505 10040 SPSM 19195 26805 51215 70795 7375 10695 2320 4600 33475 20025 12525 42185 38005 59515 28495 SPDM 22195 29535 54855 75345 8245 11855 2980 5510 35215 22525 13253 43635 39985 62415 30135 TM 28195 34515 61495 83645 10120 14515 4480 7170 39855 28945 15863 46635 44965 69915 35865 MCM 32835 40005 68815 92795 12610 18335 5560 9003 46590 33375 19825 56665 51865 79915 40860 HMM1 HMM2 38835 41475 45735 47715 76455 79095 102345 105645 14485 15610 20335 21835 7060 7640 10913 11573 49745 51995 39585 41765 51868 22396 57915 59790 55345 57325 85315 89465 46740 48475 All values are in minutes

Table 6.11 Idle time matrix for = 0.2, = 0.1, = 0.4, = 0.3 and = 0.1, = 0.4, = 0.3, = 0.2.
Job No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SPCNCCM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SPSM 5960 10610 23625 35525 2440 4010 0 925 16700 12255 6945 22780 19715 29710 16795 SPDM 0 0 0 0 0 0 0 0 0 2170 0 0 0 0 1060 TM 0 0 0 0 0 0 0 0 650 5670 1282 1350 0 0 4400 MCM 0 0 0 0 0 0 0 0 1005 3890 2497 5255 1650 0 4165 HMM1 HMM2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 155 0 5460 1890 516 0 0 0 0 0 0 0 4880 985 All values are in minutes

102

= 0.4, = 0.3, = 0.2, = 0.1 and = 0.25, = 0.25, = 0.25, = 0.25 Optimal sequence is 7 8 5 6 11 10 1 2 15 9 13 12 3 14 4

and the completion time of the sequence is 105645 minutes.

Table 6.12 Completion time matrix for = 0.4, = 0.3, = 0.2, = 0.1 and = 0.25, = 0.25, = 0.25, = 0.25.
Job No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SPCNCCM 6940 9445 18590 24020 2190 3365 660 1425 11795 4125 3780 15255 13790 21505 10040 SPSM 20025 26805 51215 70795 7375 10695 2320 4600 33475 13385 12525 42185 38005 59515 28495 SPDM 23025 29535 54855 75345 8245 11855 2980 5510 35215 13715 13253 43635 39985 62415 30135 TM 29025 34515 61495 83645 10120 14515 4480 7170 39855 16633 15863 46635 44965 69915 35865 MCM 33665 40005 68815 92795 12610 18335 5560 9003 46590 20389 19824 56664 51865 79915 40860 HMM1 HMM2 39665 42305 45735 47715 76455 79095 102345 105645 14485 15610 20335 21835 7060 7640 10913 11573 49745 51995 22623 22913 21868 22396 57915 59790 55345 57325 85315 89465 46740 48475 All values are in minutes

Table 6.13 Idle time matrix for = 0.4, = 0.3, = 0.2, = 0.1 and = 0.25, = 0.25, = 0.25, = 0.25.
Job No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SPCNCCM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SPSM 6445 10610 23625 35525 2440 4010 0 925 16700 8430 6945 22780 19715 29710 16795 SPDM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1060 TM 0 0 0 0 0 0 0 0 650 2168 1282 1350 0 0 4400 MCM 0 0 0 0 0 0 0 0 1005 3216 2497 5255 1650 0 4165 HMM1 HMM2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 155 0 1484 0 516 0 0 0 0 0 0 0 4880 985 All values are in minutes

103

= 0.3, = 0.2, = 0.1, = 0.4 Optimal sequence is 11 8 7 5 6 10 1 2 15 9 13 12 3 14

and the completion time of the sequence is 105355 minutes Table 6.14 Completion time matrix for = 0.3, = 0.2, = 0.1, = 0.4.
Job No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SPCNCCM 6940 9445 18590 24020 2605 3780 1840 1165 11795 4125 400 15255 13790 21505 10040 SPSM 19735 26515 50925 70505 8915 12235 6140 4450 33185 13095 2200 41895 37715 59225 28205 SPDM 22735 29245 54565 75055 9785 13395 6800 5360 34925 13745 2928 43345 39695 62125 29845 TM 28735 34225 61205 83355 11660 16055 8540 7020 39565 16825 4256 46345 44675 69625 35575 MCM 33375 39715 68525 92505 14150 19875 9958 8853 46300 20440 5720 56375 51575 76625 40570 HMM1 HMM2 39375 42015 45445 47425 76165 78805 102055 105355 16025 17150 21875 23375 12263 12843 10763 11423 49455 51705 22625 23675 7248 7776 57625 59500 55055 57035 85025 89175 46450 48185 All values are in minutes

Table 6.15 Idle time matrix for = 0.3, = 0.2, = 0.1, = 0.4.
Job No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SPCNCCM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SPSM 6155 10320 23335 35235 3565 5135 2640 1035 16410 8140 0 22490 19425 29420 16505 SPDM 0 0 0 0 0 0 0 0 0 320 0 0 0 0 1060 TM 0 0 0 0 0 0 240 0 650 2330 0 1350 0 0 4400 MCM HMM1 HMM2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 338 805 0 0 0 0 1005 155 0 3075 1435 760 0 0 0 5255 0 0 1650 0 0 0 0 0 4165 4880 985 All values are in minutes

104

Table 6.16 Values of objective functions for different weights for case study.
Weight values (, , , ) (02,0.1,0.4,0.3) (0.4,0.3,0.2,0.1) Total weighted squared tardiness 1.4454 1010 59638529 1.4259 1010 Makespan Total weighted squared earliness 5953600 1.4374 1010 Number of tardy jobs 14 13 Weighted sum (multiobjective) 2.8933 109 5.7617 109 4.3011 109 5.7617 109 2.8933 109

105645 105645

(0.3,0.2,0.1,0.4)

105355

234202201 1.4374 1010

13

(0.25,0.25,0.25,0.25)

59638529 1.4454 1010

105645

13

(0.1,0.4,0.3,0.2)

105645

5953600

14

Table 6.16 provides the value of different performance measures obtained with minimization of the multi-objective fitness functions for different sets of considered weight values. Also the completion time and idle time for each job on each machine for the optimal sequence with any subsets of considered weight values for minimized multiobjective fitness function has been obtained. As multiple decisions are frequently involved in the present fluctuating, dynamic and competitive environment of markets and proposed multi-objective fitness function proves to be viable and flexible for scheduling the jobs with respect to any criteria. Industries can select the optimal sequence with respect to required criteria by changing the weight values of the considered fitness function for achieving organizational and individual goals. Further, proposed metaheuristic algorithm can also be useful approach for optimizing SDST flow shop scheduling problems as belongs to NP hard in a reasonable computational time.

105

CHAPTER 7

CONCLUSIONS AND FURTHER SCOPE OF WORK

It is evident from literature review that multi-objective SDST flow shop scheduling problems has received little attention by the researchers. Effective managing of sequence dependent set ups is one of the critical factors to improve manufacturing system performance and has to be considered separately from the processing time. The present work has dealt with multi-objective SDST flow shop scheduling problems including minimization of weighted sum of total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs simultaneously. The problem belongs to NP hard and different heuristic based hybrid metaheuristics have been analyzed for said scheduling problem. Total of four dispatching rules and six modified NEH based HGAs and HSAs along with Hybrid GASA have been developed. The comparative analysis has been made on the instances derived by Taillord (1993) upto 200 jobs and 20 machines with the help of a defined performance index for considered sets of weight values for the multi-objective fitness function.

7.1

CONCLUSIONS

Some of the major findings from the present work have been stated as follows: 1. Multi-objective fitness function proposed for scheduling the jobs in SDST flow shop confirms to be an effective and comprehensive measure, as multiple decisions are frequently involved in this dynamic and competitive environment. To deal with conflicting criterion, it is also flexible as optimal sequence can be obtained by changing the weight values of the considered multi-objective fitness function. 2. Performance of proposed HGA (NEH2), HGA (NEH4) and HGA (NEH5) show better results and varies with the increase in number of machines especially for larger job size in SDST flow shop scheduling problems. Among three HGAs, It

106

may be observed that HGA (NEH4) for 5 and 20 machine problems, HGA (NEH5) for 10 machine problems show improvement over other HGAs with all sets of weight values considered. However for 20 machine problems, HGA (NEH2) provides better results upto100 jobs. Proposed HGA has the multi solution search capability and able to solve any size of flow shop scheduling problem within a reasonable computation time. 3. Considering the strong neighborhood search of simulated annealing, author has also proposed different HSAs. From the comparative analysis among HSAs, it has also been concluded that their performance varies with the size of machines and jobs as HSA (NEH6) for 5 machine, HSA (NEH4) for 10 and 20 machine problems shows better performance when compared with other HSAs especially for larger job size for all the considered sets of weight values. 4. Proposed hybrid GASA proves to be an effective approach for optimizing multiobjective SDST flow shop scheduling for any job and machine size as compared to GA and SA alone. The main advantage of GASA is that it provides a quick solution without any heuristics for initialization as required in HGA and HSA. 5. When comparing HGA, HAS and GASA with stopping criteria of same computational time limit, HGA (NEH2) for 5 & 20 machine and HSA (NEH5) for 10 machine problems confirmed the superiority over others for most of SDST flow shop scheduling with considered sets of weight values. However for larger job size, HSA (NEH5), HGA (NEH5) and HGA (NEH4) provides improved

results for 5, 10 and 20 machines problems respectively. 6. When applied to real life SDST flow shop scheduling problem in Tubular Component Division of Tube Investment of India verifies that proposed hybrid algorithm is a viable and effective approach for minimizing the multi-objective fitness function.

7.2

LIMITATIONS AND FURTHER SCOPE OF THE WORK Major findings and conclusions have been reported above; however, some of the

limitations of the present work have been described as follows. The author has also 107

suggested some possible extension of the work in terms of scheduling methods and models. 1) The work has been restricted to defined performance measures like total weighted squared tardiness, makespan, total weighted squared earliness and number of tardy jobs in the proposed multi-objective fitness for the flow shop scheduling. As there are numerous performance measures apart from above four and hence present work can be extended by considering other performance measures and even more than four objectives in the multi-objective scheduling model. 2) Problems upto 200 jobs and 20 machines for instances (DD_SDST_10) developed by Taillard (1993) have been solved and proposed metaheuristics can be tested on other problems also like (DD_SDST_20), (DD_SDST_50), (DD_SDST_100) and (DD_SDST_125) or even by increasing the problem size for confirmation of the analysis. 3) Regarding metaheuristics, their optimal parameters have to be designed as per nature of the problem for fast convergence of the results. In the present work, some standard optimal parameters from the literature have been used and work can also be extended by designing the parameters for proposed HGA, HSA and GASA using statistical methods like design of experiments (DOE) etc. for considered SDST flow shop scheduling problems.

108

REFERENCES
1. 2. Akyol, D.E., 2004. Application of neural networks to heuristic scheduling algorithms. Computers and Industrial Engineering 46, 679696. Allahverdi, A., Gupta, J.N.D., Aldowaisan, T., 1999. A review of scheduling research involving setup considerations. OMEGA the International Journal of Management Sciences 27, 219 239. Allahverdi, A., Ng, C.T., Cheng, T.C.E. and Kovalyov, M.Y., 2008. A survey of scheduling problems with setup times or costs. European Journal of Operation Research 187(3), 9851032. Andres, C., Albarracn, J.M., Tormo, G., Vicens, E. and Garca Sabater, J.P., 2005. Group technology in a hybrid flow shop environment: A case study. European Journal of operational Research 167,272281. Ben-Daya, M. and Al-Fawzan, M., 1998. A tabu search approach for the flow shop scheduling problem. European Journal of Operational Research 109, 8895. Brucker, P. and Kampmeyer, T., 2005. Tabu search algorithms for cyclic machine scheduling problems. Journal of Scheduling 8, 303322. Biswal, B.B. and Jena, N., 2008. A Hybrid Evolutionary Algorithm for Flexible Job-shop Scheduling Problem. IE (I) JournalPR 89, 14-18. Carlier, J. and Rebai, I., 1996. Two branch and bound algorithms for the permutation flow shop problem. European Journal of Operational Research. 90, 238251. Campbell, H.G., Dudek, R.A. and Smith, M.L., 1970. A heuristic algorithm for the n-job m-machine sequencing problem. Management Science 16(10), 169174. Cavalieri, S., Gaiardelli P., 1998. Hybrid genetic algorithms for a multipleobjective scheduling problem. Journal of Intelligent Manufacturing 9, 361367. Chakravarthy, K. and C. Rajendran, C., 1999. A heuristic for scheduling in a flowshop with the bi-criteria of makespan and maximum tardiness minimization. Production Planning and Control 10, 707714. Choudhury,B.B., Mishra, D. and Biswal, B.B., 2008). Task assignment and scheduling in a constrained manufacturing system using GA. International Journal of Agile Systems and Management. 3(1/2), 127 146. Chevalier,G., Barrier, J. and Richard, P., 1996. Production planning in the glass industry. Revue VERRE 2(5), 2729. Dannenbring, D.G., 1977. Using real time information for effective dynamic scheduling. Management Science 23(11), 11741182. Dudek, R.A., Panwalkar, S.S. and Smith, M.L., 1991.The Lessons of Flow shop Scheduling Research, Operations Research 40(1 ), 713.

3.

4.

5. 6. 7. 8.

9. 10. 11.

12.

13. 14. 15.

109

16.

Chakraborty, U.K. and Laha, D., (2007). An improved heuristic for permutation flow shop scheduling. International Journal of Information and Communication Technology 1(1), 89 97. Chen, C.L., Vempati, V.S. and Aljaber, N., 1995. An application of genetic algorithms for flow shop problems. European Journal of Operational Research 80, 389-396. Chung, C.S., Flynn, J., Kirca, O., 2006. A branch and bound algorithm to minimize the total tardiness for m-machine permutation flow shop problems. European Journal of Operational Research 174, 110. Dulluri, S., Mahesh, V. and Rao, C.S.P., 2008. A heuristic for priority-based scheduling in a turbine manufacturing job-shop. International Journal of Industrial and Systems Engineering, 3(6) 625 643. Danneberg, D., Tautenhahn, T. and Werner, F., 1999. A comparison of heuristic algorithms for flow shop scheduling problems with setup times and limited batch size. Mathematical and Computer Modelling 29(9), 101126. De Castro, L.N. and Timmis, J.I., 2003. Artificial immune systems as a novel soft computing paradigm. Soft Computing Journal 7(8), 526544. Engin, O. and Doyen, A., 2004. A new approach to solve hybrid flow shop scheduling problems by artificial immune system. Future Generation Computer Systems 20, 10831095. Eren, T., 2010. A Bicriteria M-Machine Flowshop Scheduling with SequenceDependent Setup Times. Applied Mathematical Modelling 34(2), 284 - 293. Erenay, F.S., Sabuncuoglu, I., Toptal, A. and Tiwari, M.K., 2010. New solution methods for single machine bi-criteria Scheduling problem: Minimization of average flow time and number of tardy. European Journal of Operation Research 201(1), 89 98. El-Bouri, A., Balakrishnan, S. and Popplewell, N., 2005. A neural network to enhance local search in the permutation flow shop. Computers and Industrial Engineering 49, 182196. Fortemps, P., Ost, C., Pirlot, M., Teghem, J. and Tuyttens, D., 1996. Using metaheuristics for solving a production scheduling problem in a chemical firm. International Journal of Production Economics 13, 1326. French, S., 1982. Sequencing and Scheduling: An Introduction to the Mathematics of the Job-Shop. Ellis Horwood Limited. Gaafar L.K., Sherif A.M., Ashraf O.N., 2008. A particle swarm-based genetic algorithm for scheduling in an agile environment. Computers & Industrial Engineering 55, 707720. Gelders, L.F., Sambandam, N., 1978. Four simple heuristics for scheduling a flow-shop. International Journal of Production Research 16, 22131.

17.

18.

19.

20.

21. 22.

23. 24.

25.

26.

27. 28.

29.

110

30.

Gendreau, M., Laporte,G. and Guimaraes, E.M., 2001. A divide and merge heuristic for the multiprocessor scheduling problem with sequence dependent setup times. European Journal of Operational Research 133, 183189. Garey, M.R., Johnson, D.S. and Sethi, R.R., 1976. The complexity of flow shop and Job shop scheduling. Operations Research 1,117129. Gonzalez, T. and Sen, T., 1978. Flow shop and job shop schedules: complexity and approximations. Operations Research 26, 3652. Goldberg, D.E., 1989. Genetic algorithms in search, optimization and machine learning. Addison-Wesley, Reading, MA. Gonzalez,T. and Sahni, S., 1978b. Flow shop and Job shop Schedules: Complexity and Approximation. Operations Research 26, 3652. Grabowski, J. and Wodecki, M., 2004. A very fast tabu search algorithm for the permutation flow shop problem with makespan criterion. Computers and Operations Research 31, 18911909. Graves, S., 1981. A Review of Production Scheduling. Operations Research 29, 646-675. Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., 1979. Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics 5, 287326. Gupta, J.N.D., 1971. A functional heuristic algorithm for the flow-shop scheduling problem. Operational Research Quarterly 22(1), 3947. Gupta, S. K., 1982. n jobs and m machines job shop problem with sequence dependent setup times. International Journal of Production Research. 20, 643-656. Gupta, J.N.D., 1986. Flow shop schedules with sequence dependent setup times. Journal of the Operations Research Society of Japan 29, 206219 Hall, N.G. and Sriskandarajah, C., 1996. A Survey of Machine Scheduling Problems with Blocking and No-Wait in Process. Operations Research 44, 421 439. Ho, J.C. and Chang, Y.L., 1991. A new heuristic for the n-job, m-machine flowshop problem. European Journal of Operational Research 52, 194202. Holland, J.H., 1975. Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann Arbor, MI. Hansen, P. and Mladenovic, N., 2001. Variable neighborhood search: principles and applications. European Journal of Operational Research 130, 449467. Ho, J.C., and Chang, Y.L., 1991. A new heuristic for the n-job, m-machine flow shop problem. European Journal of Operational Research 52, 194202.

31. 32. 33. 34. 35.

36. 37.

38. 39. 40. 41.

42. 43. 44. 45.

111

46.

Hundal, T.S and Rajgopal, J., 1988.An extension of palmers heuristic for the flow-shop scheduling problem. International Journal of Production Research 26, 11191124. Hwang, H. and Sun, J.U., 1998. Production sequencing problem with reentrant workflows and sequence dependent setup times. International Journal of Production Research 36, 2435- 2450. Ignall, E. and Schrage, L.E., 1965. Application of branch and bound techniques to some flow shop problems. Operation Research 13, 400412. Johnson, D.S., Aragon, C.R., McGeoeh, L.A. and Schevon, C., 1989. Optimization by simulated annealing: an experimental evaluation; Part I. Graph partitioning. Operations Research 37(6), 865-892. Johnson, S.M., 1954. Optimal two-and three-stage production schedules with setup times included. Naval Research Logistics Quarterly 1, 61-68. Lockett, A.G. and Muhlemann, A.P., 1972. Technical notes: a scheduling problem involving sequence dependent changeover times. Operation Research 20, 895902. Li, S., 1997. A hybrid two stage flow shop with part family, batch production, major and minor setups. European Journal of Operational Research 102, 142156. Kalczyncski, P.J. and Kamburowski, J., 2005. A heuristic for minimizing the makespan in no-idle permutation flow shops. Computers and Industrial Engineering 49, 146154. Kim, Y.D., 1993. A new branch and bound algorithm for minimizing mean tardiness in 2-machine flow shops. Computers and Operations Research 20, 391 401. Lee, G.C. and Kim, Y.D., 2004. A branch and bound algorithm for a two-stage hybrid flow shop scheduling problem minimizing total tardiness. International Journal of Production Research 42(22), 4731 4743. Lee, I. and Shaw, M.J., 2000. A neural-net approach to real time flow shop sequencing. Computers and Industrial Engineering 38, 125147. Lee, W.C. and Wu, C.C., 2001. Minimizing the total flow time and the tardiness in a two-machine flow shop. International Journal of Systems Science. 32(3), 365 - 373. Luo, X. and Chu, C., 2007. A branch-and-bound algorithm of the single machine schedule with sequence-dependent setup times for minimizing maximum tardiness. European Journal of Operational Research 180, 6881. Kim, Y.D., 1995. Minimizing total tardiness in permutation flow shops. European Journal of Operational Research 85, 54155.

47.

48. 49.

50. 51.

52. 53.

54.

55.

56. 57.

58.

59.

112

60.

Kim, S.E. and Bobrowski, P.M., 1994. Impact of sequence dependent setup time on job shop scheduling performance. International Journal of Production Research 32, 1503- 1520. Krazewski, L.J., King, B.E., Ritzman, L.P. and Wong, D.S., 1987. Kanban, MRP and shaping the manufacturing environment. Management Science 33, 94-99. Kirkpatrick, S., Gelatt Jr, C.D.and Veechi, M.P., 1983. Optimization by simulated annealing. Science 220, 671680. Ladhari, T. and Haouari, M., 2005. A computational study of the permutation flow shop problem based on a tight lower bound. Computers and Operations Research 32, 18311847. Luh, P.B., Gou, L., Zhang, Y., Nagahora, T., Tsuji, M., Yoneda, K., Hasegawa, T., Kyoya, Y., and Kano, T., 1998. Job shop scheduling with group-dependent setups, finite buffers, and long time horizon. Annals of Operation Research 76, 233259. Liu, J. and Reeves, C.R., 2001. Constructive and composite heuristic solutions to the P // Ci scheduling problem. European Journal of Operational Research 132, 439452. Mattfeld, D.C., Bierwirth, C. and Kopfer, H., 1999. A search space analysis of the job shop scheduling problem. Annals of Operations Research 86, 441453. McCormick, S.T., Pinedo, M.L., Shenker, S. and Wolf, B., 1989. Sequencing in an assembly line with blocking to minimize cycle time. Operations Research 37, 925 935. Metropolis, N., Rosenbluth, A., Teller, A. and Teller, E., (1953). Equation of state calculations by fast computing. Journal of Chemical Physics 21, 10871092. Marett, R. and Wright, M., 1996. A comparison of neighborhood search techniques for multi-objective combinatorial problems. Computers and Operations Research 23, 465483. Mitchell, M., 1998. An Introduction to Genetic Algorithms. MIT Press, Cambridge, MA, USA. Murata, T., Ishibuchi, H. and Tanaka H., 1996. Genetic algorithms for flow shop scheduling problems. Computers & Industrial Engineering 30(4), 106171. Narasimhan, S.L. and Mangiameli, P.M., 1987. A comparison of sequencing rules for two stage hybrid flow shop. Decision Sciences 18, 250265. Nagar, A. Haddock, J. and Heragu, S., 1995. Multiple and Bicriteria Scheduling: A Literature Survey. European Journal of Operational Research, 81, 88-104. Naderi, B., Zandieh, M., Balagh, K.K.G. and Roshanaei, V., 2009A. An improved simulated annealing for hybrid flow shops with sequence-dependent setup and transportation times to minimize total completion time and total tardiness. Expert Systems with Applications: an International Journal 36(6), 9625-9633.

61. 62. 63.

64.

65.

66. 67.

68. 69.

70. 71. 72. 73. 74.

113

75.

Naderi, B., Zandieh, M., Balagh, K.K.G. and Roshanaei, V., 2009B. Scheduling hybrid flowshops with sequence dependent setup times to minimize makespan and maximum tardiness. International Journal of Advanced Manufacturing Technology 41, 11861198. Nawaz M., Enscore E. and Ham I., 1983. A heuristic algorithm for the m-machine n-job flow shop sequencing problem. Omega 11, 9195. Nearchou, A.C., 2004, A novel metaheuristic approach for the flow shop scheduling problem. Engineering Applications of Artificial Intelligence 17, 289 300. Noorul Haq, A. and Radha Ramanan, T., 2006. A bi-criterian flow shops scheduling using artificial neural network. International Journal of Advanced Manufacturing Technology 30, 11321138. Noorul Haq, A., Ravindran, D., Aruna, V. and Nithiya, S., 2004. A hybridization of metaheuristics for flow-shop scheduling. International Journal of Advanced Manufacturing Technologies 24, 376380. Nowicki, E. and Smutnicki. C., 1996. A fast tabu search algorithm for the permutation flow-shop problem. European Journal of Operational Research 91, 160175. Oark, Y. B., Pegden, C.D. and Enscore, E.E., 1984. A Survey and Evaluation of Static Flow Shop Problems. International Journal of Production Research 22(1), 127141. Ow, P.S., 1985. Focused scheduling in proportionate flow shops. Management Science 31(7), 852869. Osman, I.H. and Laporte, G., 1996. Metaheuristics: A bibliography. Annals of Operations Research 63, 513623. Osman, I.H. and Potts, C.N., 1989. Simulated annealing for permutation flowshop scheduling. OMEGA 17(6), 551557. Ogbu, F.A. and Smith, D.K., 1992. Simulated annealing for the permutation flowshop scheduling. OMEGA 19(1), 6467. Ogbu, F.A. and Smith, D.K., 1990. The application of the simulated annealing algorithm to the solution of the n/ m / Cmax flow shop problem. Computers and Operations Research 17(3), 243253. Palmer, D.S., 1965. Sequencing jobs through a multi-stage process in the minimum total time a quick method of obtaining a near optimum. Operations Research Quarterly 16(1), 101107. Pan, J.C.H., Fan, E.T., 1997. Two-machine flow shop scheduling to minimize total tardiness. International Journal of Systems Science 28, 40514. Pan, J.C.H., Chen, J.S. and Chao, C.M., 2002. Minimizing tardiness in a twomachine flow-shop. Computers and Operations Research 29,86985.

76. 77.

78.

79.

80.

81.

82. 83. 84. 85. 86.

87.

88. 89.

114

90. 91.

Panwalkar S.S., Iskander, W., 1977. A Survey of Scheduling Rules. Operations Research 125(1), 45-62. Pasupathy, T., Rajendran, C. and Suresh, R.K., 2006. Multi-objective genetic algorithm for scheduling in flow shops to minimize the makespan and total flow time of jobs. International Journal of Advanced Manufacturing Technology. 27, 804815. Potts, C.N., Van Wassenhove, L.N., 1982. A decomposition algorithm for the single machine total tardiness problem. Operations Research Letters 1,17781. Panwalkar, S.S. and Iskander, W., 1977. A survey of scheduling. Operations Research 25, 4561. Parathasarthy, S. and Rajendran, C., 1997. A simulated annealing heuristic for scheduling to minimize mean weighted tardiness in a flow shop with sequence dependent setup times of jobs-a case study. Production Planning and Control 8, 475-483. Pinedo, M., 2005. Scheduling theory, algorithms, and system, (Prentice-Hall). Rajendran, C. and Chaudhuri, D., 1992. An efficient heuristic approach to the scheduling of jobs in a flow-shop. European Journal of Operational Research 61, 318 325. Rajendran, C. and Ziegler, H., 2005. Two ant-colony algorithms for minimizing total flow time in permutation flow shops. Computers and Industrial Engineering 48, 789797. Rajendran, C. and Ziegler, H., 2004. Ant-colony algorithms for permutation flowshop scheduling to minimize makespan/total flow time of jobs. European Journal of Operational Research 155, 426438. Rahimi-Vahed, R. and Mirghorbani, S. M., 2007. A multi-objective particle swarm for a flow shop scheduling problem. Journal of Combinatorial Optimization 13(1), 79102. Ravindran,D., Noorul Haq, A., Selvakumar, S.J. and Sivaraman, R., 2005. Flow shop scheduling with multiple objective of minimizing makespan and total flow time. International Journal of Advanced Manufacturing Technology 25, 1007 1012. Raman, N., 1995. Minimum tardiness scheduling in flow shops: construction and evaluation of alternative solution approaches. Journal of Operations Management 85, 13151. Ronconi, D.P., 2004. A note on constructive heuristics for the flow shop problem with blocking. International Journal of Production Economics 87, 3948. Sabuncuoglu, I., 1998. Scheduling with neural networks: A review of the literature and new research directions. Production, Planning and Control 9, 2 12.

92. 93. 94.

95. 96.

97.

98.

99.

100.

101.

102. 103.

115

104.

Sen, T., Dileepan, P., Gupta, J.N.D., 1989. The two-machine flow shop scheduling problem with total tardiness. Computers and Operations Research 16, 333340. Schaller, J., 2005. Note on minimizing total tardiness in a two-machine flow shop. Computers and Operations Research 32(12), 32733281. Shang, J.S., 1993. Theory and methodology: multicriteria facility layout problem: an integrated approach. European Journal of Operational Research 66(3), 291-304. Sherali, H.D., Sarin, S.C. and Kodialam, M.S., 1990. Models and algorithm for a two stage production process. Production Planning and Control 1, 2739. Shyu, S.J., Lin, B.M.T. and Yin, P.Y., 2004. Application of ant colony optimization for no-wait flow-shop scheduling problem to minimize the total completion time. Computers and Industrial Engineering 47, 181193. Solimanpur, M., Vrat, P. and Shankar, R., 2004. A neuro-tabu search heuristic for the flow shop scheduling problem. Computers and Operations Research 31, 2151 2164. Suresh, G. and Sahu, S., 1993. Multi-objective facility layout using simulated annealing, International Journal of Production Economics 32(2), 239-254. Sun, X., Noble, J.S. and Klein, C.M., 1999. Single-machine scheduling with sequence dependent setup to minimize total weighted squared tardiness. IIE Transactions 31(2), 113 124. Taguchi, G., 1986. Introduction to Quality Engineering. (Asian Productivity organization), Tokyo, Japan. Tang, L., Liu, J. and Liu, W., 2005. A neural network model and algorithm for the hybrid flow shop scheduling problem in a dynamic environment. Journal of Intelligent Manufacturing 16, 361370. Taillard, E., 1990. Some efficient heuristic methods for the flow shop sequencing problem. European Journal of Operational Research 47, 6574. Taillard, E., 1993. Benchmarks of basic scheduling problems. European Journal of Operation Research 64, 278285. Talbi, E.G., 2002. A taxonomy of hybrid metaheuristics. Journal of Heuristics 8, 541564. Toktas, B., Azizoglu, M. and Koksalan, S.K., 2004.Two-machine flow shop scheduling with two criteria: Maximum earliness and makespan. European Journal of Operation Research 157(2), 286295. Temiz, I. and Erol, S., 2004. Fuzzy branch and bound algorithm for flow shop scheduling. Journal of Intelligent Manufacturing 15, 449454.

105. 106. 107. 108.

109.

110. 111.

112. 113.

114. 115.

116.

117.

118.

116

119.

Tseng, L.Y. and Lin, Y. T., 2006. A Hybrid Genetic Algorithm for the Flow-Shop Scheduling Problem. Lecture Notes in Computer Science, Springer Berlin / Heidelberg 4031, 218-227. Tseng, L.Y., Lin, Y.T., 2009. A hybrid genetic local search algorithm for the permutation flowshop scheduling problem. European Journal of Operational Research 198(1), 84 92. Van Laarhoven, P. J. M., Aarts, E. H. L. and Lenstra, J. K., 1992. Job shop scheduling by simulated annealing. Operations Research 40, 113 125. Voss S., Martello S., Osman I.H. and Rucairol C. (eds.), 1999. Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization, Kluwer Academic Publishers. Ying, K.C. and Liao, C.J., 2004. An ant colony system for permutation flow-shop sequencing. Computers and Operations Research 31, 791804. Wang, L. and Zheng, D.Z., 2003A. An effective hybrid heuristic for flow shop scheduling. International Journal of Advanced Manufacturing Technology 21, 38 44. Wang, L. and Zheng, D.Z., 2003B. A modified evolutionary programming for flow shop scheduling. International Journal of Advanced Manufacturing Technology 22,522527. Widmer, M. and Hertz, A., 1989. A new heuristic for the flow-shop sequencing problem. European Journal of Operational Research 41,186193. Wortman D.B., 1992. Managing capacity: getting the most from your company assets. Industrial Engineering 24, 47-49. Yagmahan, B., and Yenise, M., 2008, Ant colony optimization for multi-objective flow shop scheduling problem, Computers and Industrial Engineering 54(3), 411 420. Ying, K.C. and Liao, C.J., 2004. An ant colony system for permutation flow shop sequencing. Computers and Operation Research 31(5), 791801. Yi, Y. and Wang, D.W., 2003. Soft computing for scheduling with batch setup times and earlinesstardiness penalties on parallel machines. Journal of Intelligent Manufacturing 14, 311 322. Zegordi, S.H., Itoh, K. and Enkawa, T., 1995. Minimizing makespan for flow shop Scheduling by combining simulated annealing with sequence knowledge. European Journal of Operational Research 85, 515531. Zhou, R., Lee, H.P., and Nee, A.Y.C., 2008. Applying Ant Colony Optimisation (ACO) algorithm to dynamic job shop scheduling problems, International Journal of Manufacturing Research 3(3), 301 320.

120.

121. 122.

123. 124.

125.

126. 127. 128.

129. 130.

131.

132.

117

APPENDIX A LIST OF PUBLICATIONS


1. Ashwani Dhingra & Pankaj Chandna, (2010) Multi-objective Flow Shop Scheduling using Hybrid Simulated Annealing Measuring Business Excellence, Vol. 14, No. 3, pp. 30 41. 2. Ashwani Dhingra & Pankaj Chandna, (2010) A Bi-criteria M-Machine SDST Flow Shop Scheduling Using Modified Heuristic Genetic Algorithm International Journal Engineering Science & Technology, Vol. 2, No.5, pp. 216225. 3. Ashwani Dhingra & Pankaj Chandna, (2010) Hybrid Genetic Algorithm for SDST flow shop scheduling with due dates: A case study International Journal of Advanced Operation Management Vol.3 / 4, pp. xxxx (In press). 4. Ashwani Dhingra & Pankaj Chandna, (2009) Hybrid Genetic Algorithm for Multicriteria Scheduling with Sequence Dependent Set up Time International Journal of Engineering, Vol. 3, No. 5, pp.510-520.

118

APPENDIX B
HSA CODE (MATLAB) FOR MULTI-OBJECTIVE SDST FLOW SHOP SCHEDULING
resultmain=zeros(5,10); [d1,d2]=size(resultmain); for ite=1:d1 dat200j20m a=load('dat200x20'); result=zeros(1,10); nm=a.m; nj=a.n;

p=a.p; s=cell(nm); for i=1:nm s{i}=a.s{i}; end d=a.d;

w=a.w; a1=0.2; a2=0.1; a3=0.4; a4=0.3; seq=zeros(nj,1); i=zeros(nj,nm); c=zeros(nj,nm); tl=nj*nm*0.5; tic sampleschedule=sanehseqtry (p,s,nm,nj,d,w,a1,a2,a3,a4) time=toc

fitnessfcn=@(x) sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4);

options = saoptimset('DataType','custom','AnnealingFcn',@flowshopcompute, ... 'TemperatureFcn',@temperatureexp,... 'ReannealInterval',nj*8,...

119

'TimeLimit',tl-time,'InitialTemperature',nj,... 'PlotFcns', {@saplotf,@saplottemperature});

[x,fval,exitFlag,output]= simulannealbnd(fitnessfcn,sampleschedule,[],[],options); x fval output result(1,1)=fval;

tic sampleschedule=saedd(p,s,nm,nj,d,w) time=toc fitnessfcn=@(x) sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); options = saoptimset('DataType','custom','AnnealingFcn',@flowshopcompute, ... 'TemperatureFcn',@temperatureexp,... 'ReannealInterval',nj*8,... 'TimeLimit',tl-time,'InitialTemperature',nj,... 'PlotFcns', {@saplotf,@saplottemperature}); [x,fval,exitFlag,output] = simulannealbnd(fitnessfcn,sampleschedule,[],[],options); x fval output result(1,2)=fval;

tic sampleschedule=sanehseqtryedd(p,s,nm,nj,d,w,a1,a2,a3,a4) time=toc fitnessfcn=@(x) sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); options = saoptimset('DataType','custom','AnnealingFcn',@flowshopcompute, ... 'TemperatureFcn',@temperatureexp,... 'ReannealInterval',nj*8,... 'TimeLimit',tl-time,'InitialTemperature',nj,... 'PlotFcns', {@saplotf,@saplottemperature}); [x,fval,exitFlag,output] = simulannealbnd(fitnessfcn,sampleschedule,[],[],options); x

120

fval output result(1,3)=fval;

tic sampleschedule=sasptseq(p,s,nm,nj,d,w) time=toc fitnessfcn=@(x) sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); options = saoptimset('DataType','custom','AnnealingFcn',@flowshopcompute, ... 'TemperatureFcn',@temperatureexp,... 'ReannealInterval',nj*8,... 'TimeLimit',tl-time,'InitialTemperature',nj,... 'PlotFcns', {@saplotf,@saplottemperature}); [x,fval,exitFlag,output] = simulannealbnd(fitnessfcn,sampleschedule,[],[],options); x fval output result(1,4)=fval;

tic sampleschedule=saewddga(p,s,nm,nj,d,w) time=toc fitnessfcn=@(x) sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); options = saoptimset('DataType','custom','AnnealingFcn',@flowshopcompute, ... 'TemperatureFcn',@temperatureexp,... 'ReannealInterval',nj*8,... 'TimeLimit',tl-time,'InitialTemperature',nj,... 'PlotFcns', {@saplotf,@saplottemperature}); [x,fval,exitFlag,output] = simulannealbnd(fitnessfcn,sampleschedule,[],[],options); x fval output result(1,5)=fval;

tic

121

sampleschedule=sanehseqtrydw(p,s,nm,nj,d,w,a1,a2,a3,a4) time=toc fitnessfcn=@(x) sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); options = saoptimset('DataType','custom','AnnealingFcn',@flowshopcompute, ... 'TemperatureFcn',@temperatureexp,... 'ReannealInterval',nj*8,... 'TimeLimit',tl-time,'InitialTemperature',nj,... 'PlotFcns', {@saplotf,@saplottemperature}); [x,fval,exitFlag,output] = simulannealbnd(fitnessfcn,sampleschedule,[],[],options); x fval output result(1,6)=fval;

tic sampleschedule=saewdga(p,s,nm,nj,d,w) time=toc fitnessfcn=@(x) sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); options = saoptimset('DataType','custom','AnnealingFcn',@flowshopcompute, ... 'TemperatureFcn',@temperatureexp,... 'ReannealInterval',nj*8,... 'TimeLimit',tl-time,'InitialTemperature',nj,... 'PlotFcns', {@saplotf,@saplottemperature}); [x,fval,exitFlag,output] = simulannealbnd(fitnessfcn,sampleschedule,[],[],options); x fval output result(1,7)=fval;

tic sampleschedule=sanehseqtryewd(p,s,nm,nj,d,w,a1,a2,a3,a4) time=toc fitnessfcn=@(x) sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); options = saoptimset('DataType','custom','AnnealingFcn',@flowshopcompute, ...

122

'TemperatureFcn',@temperatureexp,... 'ReannealInterval',nj*8,... 'TimeLimit',tl-time,'InitialTemperature',nj,... 'PlotFcns', {@saplotf,@saplottemperature}); [x,fval,exitFlag,output] = simulannealbnd(fitnessfcn,sampleschedule,[],[],options); x fval output result(1,8)=fval;

tic sampleschedule=sanehseqtrypedw(p,s,nm,nj,d,w,a1,a2,a3,a4) time=toc

fitnessfcn=@(x) sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); options = saoptimset('DataType','custom','AnnealingFcn',@flowshopcompute, ... 'TemperatureFcn',@temperatureexp,... 'ReannealInterval',nj*8,... 'TimeLimit',tl-time,'InitialTemperature',nj,... 'PlotFcns', {@saplotf,@saplottemperature}); [x,fval,exitFlag,output] = simulannealbnd(fitnessfcn,sampleschedule,[],[],options); x fval output result(1,9)=fval;

tic sampleschedule=sanewh(p,s,nm,nj,d,w,a1,a2,a3,a4) time=toc fitnessfcn=@(x) sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); options = saoptimset('DataType','custom','AnnealingFcn',@flowshopcompute, ... 'TemperatureFcn',@temperatureexp,... 'ReannealInterval',nj*8,... 'TimeLimit',tl-time,'InitialTemperature',nj,... 'PlotFcns', {@saplotf,@saplottemperature});

123

[x,fval,exitFlag,output] = simulannealbnd(fitnessfcn,sampleschedule,[],[],options); x fval output result(1,10)=fval; resultmain(ite,1:10)=result; end resultmain

%Different functions for HSAs

function scores = sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4) scores = zeros(size(x,1),1); seq=x; pr=0; ta=0; el=0; ntj=0; for k=1:length(seq) j=seq(k); for m= 1:nm if m== 1 i(j,1)=0; if pr==0 c(j,1)=p(j,1); else c(j,1)=c(pr,1)+s{1}(pr,j)+p(j,1); end else if pr==0 if i(j,m-1)<0

i(j,m)=i(j,m-1)-p(j,m-1); else i(j,m)=-p(j,m-1); end else if i(j,m-1)<0

124

i(j,m)=c(pr,m)-c(pr,m-1)+s{m}(pr,j)-s{m-1}(pr,j)-p(j,m-1)+i(j,m1); else i(j,m)=c(pr,m)-c(pr,m-1)+s{m}(pr,j)-s{m-1}(pr,j)-p(j,m1); end end if i(j,m)>=0

c(j,m)=c(j,m-1)+p(j,m)+i(j,m); else

c(j,m)=c(j,m-1)+p(j,m); end end end if c(j,nm)>d(j) ntj=ntj+1; ta=ta+((c(j,nm)-d(j))^2*w(j)); else ta=ta+0; end

if d(j)>c(j,nm) el=el+((d(j)-c(j,nm))^2*w(j));; else el=el+0; end pr=j;

end ta c(j,nm)

scores=a1*ta+a2*c(j,nm)+a3*el+a4*ntj scores

125

function seq1 =sanehseqtry(p,s,nm,nj,d,w,a1,a2,a3,a4) n = nj; p1=sum(p,2);

[p1,seq]=sort(p1,'descend'); seq1=seq; for j=2:n bseq=cell(j,1); bseq{j}=[seq1(1:j-1),seq(j)]; for i=1:j-1 seq2=bseq{j}; temp=seq2(i); seq2(i)=seq2(j); seq2(j)=temp; bseq{i}=seq2(1:j); end scores1=flowshop_fitness_four(bseq,nm,nj,p,s,d,w,a1,a2,a3,a4);

[scores1 best]=sort(scores1) seq1=bseq{best(1)} end scores1 seq1

function seq1=saedd(p,s,nm,nj,d,w) n = nj; d1=d; w1=w; [d1,seq1]=sort(d1); seq1=seq1'

function seq1 =saeddga(p,s,nm,nj,d,w,a1,a2,a3,a4) n = nj;

[d1,seq]=sort(d); seq1=seq; for j=2:n bseq=cell(j,1); bseq{j}=[seq1(1:j-1),seq(j)];

126

for i=1:j-1 seq2=bseq{j}; temp=seq2(i); seq2(i)=seq2(j); seq2(j)=temp; bseq{i}=seq2(1:j); end scores1=flowshop_fitness_four(bseq,nm,nj,p,s,d,w,a1,a2,a3,a4); [scores1 best]=sort(scores1) seq1=bseq{best(1)}

end seq1

function seq1=saspt(p,s,nm,nj,d,w) n = nj; p1=sum(p,2)

[p1,seq1]=sort(p1);

seq1=seq1

function seq1 =saewdga(p,s,nm,nj,d,w) n = nj; wd=d.*w; [wd1,seq1]=sort(wd); seq1=seq1'

function seq1 =sanehseqtrydw(p,s,nm,nj,d,w,a1,a2,a3,a4) n = nj; wd=d./w;

[wd1,seq]=sort(wd);

seq1=seq; for j=2:n

127

bseq=cell(j,1); bseq{j}=[seq1(1:j-1),seq(j)]; for i=1:j-1 seq2=bseq{j}; temp=seq2(i); seq2(i)=seq2(j); seq2(j)=temp; bseq{i}=seq2(1:j); end scores1=flowshop_fitness_four(bseq,nm,nj,p,s,d,w,a1,a2,a3,a4);

[scores1 best]=sort(scores1) seq1=bseq{best(1)}

end seq1

function seq1 =saewddga(p,s,nm,nj,d,w n = nj; d1=d; w1=w; p1=sum(p,2) wd=d./w; [wd1,seq1]=sort(wd);

seq1=seq1'

function seq1 =sanehseqtryewd(p,s,nm,nj,d,w,a1,a2,a3,a4) n = nj; wd=w.*d; [wd1,seq]=sort(wd); seq1=seq; for j=2:n bseq=cell(j,1); bseq{j}=[seq1(1:j-1),seq(j)]; for i=1:j-1 seq2=bseq{j};

128

temp=seq2(i); seq2(i)=seq2(j); seq2(j)=temp; bseq{i}=seq2(1:j); end scores1=flowshop_fitness_four(bseq,nm,nj,p,s,d,w,a1,a2,a3,a4);

[scores1 best]=sort(scores1) seq1=bseq{best(1)} end seq1

function pop =nehseqtrypedw(NVARS,FitnessFcn,options,p,s,nm,nj,d,w,a1,a2,a3,a4) totalPopulationSize = sum(options.PopulationSize); n = NVARS; pop = cell(totalPopulationSize,1); p1=sum(p,2); p1=p1+d wd=p1./w; [d1,seq]=sort(wd); seq1=seq; for j=2:n bseq=cell(j,1); bseq{j}=[seq1(1:j-1),seq(j)]; for i=1:j-1 seq2=bseq{j}; temp=seq2(i); seq2(i)=seq2(j); seq2(j)=temp; bseq{i}=seq2(1:j); end scores1=flowshop_fitness_four(bseq,nm,nj,p,s,d,w,a1,a2,a3,a4); [scores1 best]=sort(scores1) seq1=bseq{best(1)} end seq1 pop{1}=seq1; for i = 2:totalPopulationSize pop{i} = randperm(n);

129

end

function seq1 =sanewh(p,s,nm,nj,d,w,a1,a2,a3,a4) n = nj; tryseq1=cell(n,1); wd=d./w; [wd1,seq]=sort(wd); seq1=seq; for k=1:10 tryseq1{1}=seq1; for j=2:n temp=seq1; k=temp(1); temp(1)=temp(j); temp(j)=k; tryseq1{j}=temp; end celldisp(tryseq1); fitval=flowshop_fitness_four(tryseq1,nm,nj,p,s,d,w,a1,a2,a3,a4); [fitval,seq]=sort(fitval) seq1=tryseq1{seq(1)} end seq4=seq1 for j=2:n bseq=cell(j,1); bseq{j}=[seq1(1:j-1),seq4(j)]; for i=1:j-1 seq2=bseq{j}; temp=seq2(i); seq2(i)=seq2(j); seq2(j)=temp; bseq{i}=seq2(1:j); end scores1=flowshop_fitness_four(bseq,nm,nj,p,s,d,w,a1,a2,a3,a4) [scores1 best]=sort(scores1) bseq seq1=bseq{best(1)} end seq1

130

function schedule = flowshopcompute(optimValues,problemData) schedule = optimValues.x; for i = 1:floor(optimValues.temperature)+1 [nrows ncols]= size(schedule); schedule = neighbor1(schedule,ncols); end

131

APPENDIX C
HGA CODE (MATLAB) FOR MULTI-OBJECTIVE SDST FLOW SHOP SCHEDULING
resultmain=zeros(5,10); [d1,d2]=size(resultmain); for ite=1:d1 dat200j20m a=load('dat200x20'); result=zeros(1,10); nm=a.m; nj=a.n; p=a.p; s=cell(nm); for i=1:nm s{i}=a.s{i}; end d=a.d; w=a.w; a1=0.1; a2=0.4; a3=0.3; a4=0.2; seq=zeros(nj,1); i=zeros(nj,nm); c=zeros(nj,nm); tl=nj*nm*.0.5; inpop=@(NVARS,FitnessFcn,options)nehseqtry(NVARS,FitnessFcn,options,p,s, nm,nj,d,w,a1,a2,a3,a4); inpopedd=@(NVARS,FitnessFcn,options)eddga(NVARS,FitnessFcn,options,d,w,p ); inpopnehedd=@(NVARS,FitnessFcn,options)nehseqtryedd(NVARS,FitnessFcn,opt ions,p,s,nm,nj,d,w,a1,a2,a3,a4); inpopspt=@(NVARS,FitnessFcn,options)sptseq(NVARS,FitnessFcn,options,d,w, p); inpopewdd=@(NVARS,FitnessFcn,options)ewddga(NVARS,FitnessFcn,options,d,w ,p); inpopnehewdd=@(NVARS,FitnessFcn,options)nehseqtrydw(NVARS,FitnessFcn,opt ions,p,s,nm,nj,d,w,a1,a2,a3,a4);

132

inpopewd=@(NVARS,FitnessFcn,options)ewdga(NVARS,FitnessFcn,options,d,w,p ); inpopnehewd=@(NVARS,FitnessFcn,options)nehseqtryewd(NVARS,FitnessFcn,opt ions,p,s,nm,nj,d,w,a1,a2,a3,a4); inpoptrypedw=@(NVARS,FitnessFcn,options)nehseqtrypedw(NVARS,FitnessFcn,o ptions,p,s,nm,nj,d,w,a1,a2,a3,a4); fitnessfcn1=@(x) flowshop_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); inversion=@(parents ,options,NVARS,FitnessFcn, state, thisScore,thisPopulation) mymutate_inversionmodified(parents ,options,NVARS,FitnessFcn, state, thisScore,thisPopulation,nm,nj,p,s,d,w); rxmodified=@(parents ,options,NVARS,FitnessFcn,state, thisScore,thisPopulation) mymutate_rxmodified(parents ,options,NVARS,FitnessFcn, state, thisScore,thisPopulation,nm,nj,p,s,d,w);

options = gaoptimset('PopulationType', 'custom'); options = gaoptimset(options,'CreationFcn',inpop, ... 'CrossoverFcn',@mycrossoverorder, ... 'MutationFcn',@mymutateRX, ... 'PlotFcns',@gaplotbestf, ... 'Generations',2000,'PopulationSize',200, ... 'OutputFcn',@gaoutputgen,... 'StallGenLimit',2000,'TimeLimit',tl,... 'StallTimeLimit',1000,'Vectorized','on'); numberOfVariables = nj; tic [x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options) totalcputime =toc x fval output result(1,1)=fval;

options = gaoptimset('PopulationType', 'custom'); options = gaoptimset(options,'CreationFcn',inpopedd, ... 'CrossoverFcn',@mycrossoverorder, ... 'MutationFcn',@mymutateRX, ... 'PlotFcns',@gaplotbestf, ... 'Generations',2000,'PopulationSize',50, ...

133

'OutputFcn',@gaoutputgen,... 'StallGenLimit',2000,'TimeLimit',tl,... 'StallTimeLimit',1000,'Vectorized','on'); numberOfVariables = nj; tic [x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options) totalcputime =toc x fval output result(1,2)=fval;

options = gaoptimset('PopulationType', 'custom'); options = gaoptimset(options,'CreationFcn',inpopnehedd, ... 'CrossoverFcn',@mycrossoverorder, ... 'MutationFcn',@mymutateRX, ... 'PlotFcns',@gaplotbestf, ... 'Generations',2000,'PopulationSize',50, ... 'OutputFcn',@gaoutputgen,... 'StallGenLimit',2000,'TimeLimit',tl,... 'StallTimeLimit',1000,'Vectorized','on'); numberOfVariables = nj; tic [x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options) totalcputime =toc x fval output result(1,3)=fval;

options = gaoptimset('PopulationType', 'custom'); options = gaoptimset(options,'CreationFcn',inpopspt, ... 'CrossoverFcn',@mycrossoverorder, ... 'MutationFcn',@mymutateRX, ... 'PlotFcns',@gaplotbestf, ... 'Generations',2000,'PopulationSize',50, ... 'OutputFcn',@gaoutputgen,... 'StallGenLimit',2000,'TimeLimit',tl,... 'StallTimeLimit',1000,'Vectorized','on'); numberOfVariables = nj;

134

tic [x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options) totalcputime =toc x fval output result(1,4)=fval;

options = gaoptimset('PopulationType', 'custom'); options = gaoptimset(options,'CreationFcn',inpopewdd, ... 'CrossoverFcn',@mycrossoverorder, ... 'MutationFcn',@mymutateRX, ... 'PlotFcns',@gaplotbestf, ... 'Generations',2000,'PopulationSize',50, ... 'OutputFcn',@gaoutputgen,... 'StallGenLimit',2000,'TimeLimit',tl,... 'StallTimeLimit',1000,'Vectorized','on'); numberOfVariables = nj; tic [x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options) totalcputime =toc x fval output result(1,5)=fval;

options = gaoptimset('PopulationType', 'custom'); options = gaoptimset(options,'CreationFcn',inpopnehewdd, ... 'CrossoverFcn',@mycrossoverorder, ... 'MutationFcn',@mymutateRX, ... 'PlotFcns',@gaplotbestf, ... 'Generations',2000,'PopulationSize',50, ... 'OutputFcn',@gaoutputgen,... 'StallGenLimit',2000,'TimeLimit',tl,... 'StallTimeLimit',1000,'Vectorized','on'); numberOfVariables = nj; tic [x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options) totalcputime =toc

135

x fval output result(1,6)=fval;

options = gaoptimset('PopulationType', 'custom'); options = gaoptimset(options,'CreationFcn',inpopewd, ... 'CrossoverFcn',@mycrossoverorder, ... 'MutationFcn',@mymutateRX, ... 'PlotFcns',@gaplotbestf, ... 'Generations',2000,'PopulationSize',50, ... 'OutputFcn',@gaoutputgen,... 'StallGenLimit',2000,'TimeLimit',tl,... 'StallTimeLimit',1000,'Vectorized','on'); numberOfVariables = nj; tic [x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options) totalcputime =toc x fval output result(1,7)=fval;

options = gaoptimset('PopulationType', 'custom'); options = gaoptimset(options,'CreationFcn',inpopnehewd, ... 'CrossoverFcn',@mycrossoverorder, ... 'MutationFcn',@mymutateRX, ... 'PlotFcns',@gaplotbestf, ... 'Generations',2000,'PopulationSize',50, ... 'OutputFcn',@gaoutputgen,... 'StallGenLimit',2000,'TimeLimit',tl,... 'StallTimeLimit',1000,'Vectorized','on'); numberOfVariables = nj; tic [x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options) totalcputime =toc x fval output result(1,8)=fval;

136

options = gaoptimset('PopulationType', 'custom'); options = gaoptimset(options,'CreationFcn',inpoptrypedw, ... 'CrossoverFcn',@mycrossoverorder, ... 'MutationFcn',@mymutateRX, ... 'PlotFcns',@gaplotbestf, ... 'Generations',2000,'PopulationSize',50, ... 'OutputFcn',@gaoutputgen,... 'StallGenLimit',2000,'TimeLimit',tl,... 'StallTimeLimit',1000,'Vectorized','on'); numberOfVariables = nj; tic [x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options) totalcputime =toc x fval output result(1,9)=fval;

options = gaoptimset('PopulationType', 'custom'); options = gaoptimset(options,'CreationFcn',inpoptrypewd, ... 'CrossoverFcn',@mycrossoverorder, ... 'MutationFcn',@mymutateRX, ... 'PlotFcns',@gaplotbestf, ... 'Generations',200,'PopulationSize',50, ... 'OutputFcn',@gaoutputgen,... 'StallGenLimit',200,'StallTimeLimit',400,'Vectorized','on'); numberOfVariables = nj; tic [x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options) totalcputime =toc x fval output result(1,10)=fval;

137

%Different functions for HGAs

function scores = flowshop_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4) scores = zeros(size(x,1),1); for l=1:size(x,1) seq=x{l}; pr=0; ta=0; el=0; ntj=0; for k=1:length(seq) j=seq(k); for m= 1:nm if m== 1 i(j,1)=0; if pr==0 c(j,1)=p(j,1); else c(j,1)=c(pr,1)+s{1}(pr,j)+p(j,1); end else if pr==0 if i(j,m-1)<0

i(j,m)=i(j,m-1)-p(j,m-1); else i(j,m)=-p(j,m-1); end else if i(j,m-1)<0

i(j,m)=c(pr,m)-c(pr,m-1)+s{m}(pr,j)-s{m-1}(pr,j)-p(j,m-1)+i(j,m1); else i(j,m)=c(pr,m)-c(pr,m-1)+s{m}(pr,j)-s{m-1}(pr,j)-p(j,m1); end end if i(j,m)>=0

138

c(j,m)=c(j,m-1)+p(j,m)+i(j,m); else

c(j,m)=c(j,m-1)+p(j,m); end end end if c(j,nm)>d(j) ntj=ntj+1; ta=ta+((c(j,nm)-d(j))^2*w(j)); else ta=ta+0; end

if d(j)>c(j,nm) el=el+((d(j)-c(j,nm))^2*w(j)); else el=el+0; end pr=j; end ta c el ntj scores(l)=a1*ta+a2*c(j,nm)+a3*el+a4*ntj end

function pop =nehseqtry(NVARS,FitnessFcn,options,p,s,nm,nj,d,w,a1,a2,a3,a4)

totalPopulationSize = sum(options.PopulationSize); n = NVARS; pop = cell(totalPopulationSize,1); p1=sum(p,2);

[p1,seq]=sort(p1,'descend'); seq1=seq;

139

for j=2:n bseq=cell(j,1); bseq{j}=[seq1(1:j-1),seq(j)]; for i=1:j-1 seq2=bseq{j}; temp=seq2(i); seq2(i)=seq2(j); seq2(j)=temp; bseq{i}=seq2(1:j); end scores1=flowshop_fitness_four(bseq,nm,nj,p,s,d,w,a1,a2,a3,a4);

[scores1 best]=sort(scores1) seq1=bseq{best(1)}

end seq1 pop{1}=seq1; for i = 2:totalPopulationSize pop{i} = randperm(n); end

function pop =eddga(NVARS,FitnessFcn,options,d,w,p) totalPopulationSize = sum(options.PopulationSize); n = NVARS; pop = cell(totalPopulationSize,1); d1=d; w1=w; [d1,seq1]=sort(d1); seq1=seq1' pop{1}=seq1; for i = 2:totalPopulationSize pop{i} = randperm(n); end fprintf('initial population is:') celldisp(pop);

140

function pop =nehseqtryedd(NVARS,FitnessFcn,options,p,s,nm,nj,d,w,a1,a2,a3,a4) totalPopulationSize = sum(options.PopulationSize); n = NVARS; pop = cell(totalPopulationSize,1); [d1,seq]=sort(d); seq1=seq; for j=2:n bseq=cell(j,1); bseq{j}=[seq1(1:j-1),seq(j)]; for i=1:j-1 seq2=bseq{j}; temp=seq2(i); seq2(i)=seq2(j); seq2(j)=temp; bseq{i}=seq2(1:j); end scores1=flowshop_fitness_four(bseq,nm,nj,p,s,d,w,a1,a2,a3,a4);

[scores1 best]=sort(scores1) seq1=bseq{best(1)} end seq1 pop{1}=seq1; %pop{2}=seq2;

for i = 2:totalPopulationSize pop{i} = randperm(n); end

function pop =sptseq(NVARS,FitnessFcn,options,d,w,p) totalPopulationSize = sum(options.PopulationSize); n = NVARS; pop = cell(totalPopulationSize,1); p1=sum(p,2)

[p1,seq4]=sort(p1);

seq4=seq4'

141

pop{1}=seq4; for i = 2:totalPopulationSize pop{i} = randperm(n); end fprintf('initial population is:') celldisp(pop);

function pop =ewddga(NVARS,FitnessFcn,options,d,w,p) totalPopulationSize = sum(options.PopulationSize); n = NVARS; pop = cell(totalPopulationSize,1); d1=d; w1=w; p1=sum(p,2) wd=d./w; [wd1,seq1]=sort(wd); seq1=seq1' pop{1}=seq1; for i = 2:totalPopulationSize pop{i} = randperm(n); end fprintf('initial population is:') celldisp(pop);

function pop =ewdga(NVARS,FitnessFcn,options,d,w,p) totalPopulationSize = sum(options.PopulationSize); n = NVARS; pop = cell(totalPopulationSize,1); wd=d.*w; [wd1,seq1]=sort(wd); seq1=seq1' pop{1}=seq1; for i = 2:totalPopulationSize pop{i} = randperm(n); end fprintf('initial population is:') celldisp(pop);

142

function pop =nehseqtryewd(NVARS,FitnessFcn,options,p,s,nm,nj,d,w,a1,a2,a3,a4) totalPopulationSize = sum(options.PopulationSize); n = NVARS; pop = cell(totalPopulationSize,1); wd=w.*d; [wd1,seq]=sort(wd); seq1=seq; for j=2:n bseq=cell(j,1); bseq{j}=[seq1(1:j-1),seq(j)]; for i=1:j-1 seq2=bseq{j}; temp=seq2(i); seq2(i)=seq2(j); seq2(j)=temp; bseq{i}=seq2(1:j); end scores1=flowshop_fitness_four(bseq,nm,nj,p,s,d,w,a1,a2,a3,a4); [scores1 best]=sort(scores1) seq1=bseq{best(1)} end seq1 pop{1}=seq1; for i = 2:totalPopulationSize pop{i} = randperm(n); end

function pop =nehseqtrypedw(NVARS,FitnessFcn,options,p,s,nm,nj,d,w,a1,a2,a3,a4) totalPopulationSize = sum(options.PopulationSize); n = NVARS; pop = cell(totalPopulationSize,1); p1=sum(p,2); p1=p1+d wd=p1./w; [d1,seq]=sort(wd); seq1=seq; for j=2:n bseq=cell(j,1);

143

bseq{j}=[seq1(1:j-1),seq(j)]; for i=1:j-1 seq2=bseq{j}; temp=seq2(i); seq2(i)=seq2(j); seq2(j)=temp; bseq{i}=seq2(1:j); end scores1=flowshop_fitness_four(bseq,nm,nj,p,s,d,w,a1,a2,a3,a4);

[scores1 best]=sort(scores1) seq1=bseq{best(1)} end seq1 pop{1}=seq1; for i = 2:totalPopulationSize pop{i} = randperm(n); end

function xoverKids =mycrossoverOrder(parents,options,NVARS, ... FitnessFcn,thisScore,thisPopulation) nKids = length(parents)/2; xoverKids = cell(nKids,1); index = 1; for i=1:nKids parent1 = thisPopulation{parents(index)}; index = index + 1; parent2 = thisPopulation{parents(index)}; index = index + 1; sz = length(parent1) - 1;

xOverPoint1 = ceil(sz * rand); xOverPoint2 = ceil(sz * rand); while(xOverPoint2 == xOverPoint1) xOverPoint2 = ceil(sz * rand); end

if(xOverPoint1 < xOverPoint2) left = xOverPoint1; right = xOverPoint2; else

144

left = xOverPoint2; right = xOverPoint1; swap = parent1; parent1 = parent2; parent2 = swap; end fprintf('%d',parent1); fprintf('\n'); fprintf('%d',parent2); fprintf('\n%d\n',left); fprintf('\n%d\n',right);

child1=[parent1(right+1:end),parent1(1:right)]; child2=size(length(parent1)); l=1; for j=1: length(parent1)

for k=

left+1 : right

if child1(j)==parent2(k) f=1; break; else f=0; end end if f==0 child2(l)=child1(j); l=l+1; end end m=length(parent1)-right; xoverKids{i} = [ child2(m+1:end), child2(1:m ) end celldisp(xoverKids); ]; parent2(( left + 1 ): right ),

function mutationChildren = mymutate_RX(parents ,options,NVARS, ...] FitnessFcn, state, thisScore,thisPopulation,mutationRate) mutationChildren = cell(length(parents),1

145

for i=1:length(parents) parent = thisPopulation{parents(i)}; fprintf('%d',parent); p = ceil(length(parent) * rand(1,2)); fprintf('\n%d',p);

child = parent; child(p(1)) = parent(p(2)); child(p(2)) = parent(p(1)); fprintf('\n'); fprintf('%d',child); fprintf('\n');

mutationChildren{i} = child; end celldisp(mutationChildren);

146

APPENDIX D
GASA CODE (MATLAB) FOR MULTI-OBJECTIVE SDST FLOW SHOP SCHEDULING

resultmain=zeros(5,1); [d1,d2]=size(resultmain); for ite=1:d1 dat200j20m a=load('dat200x20'); result=zeros(1,1); nm=a.m; nj=a.n; p=a.p; s=cell(nm); for i=1:nm s{i}=a.s{i}; end d=a.d; w=a.w; a1=0.25; a2=0.25; a3=0.25; a4=0.25; seq=zeros(nj,1); i=zeros(nj,nm); c=zeros(nj,nm); tl=nj*nm*.25; t2=nj*nm*.5; fitnessfcn1=@(x) flowshop_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); options = gaoptimset('PopulationType', 'custom'); options = gaoptimset(options,'CreationFcn',inpop, ... 'CrossoverFcn',@mycrossoverorder, ... 'MutationFcn',@mymutateRX, ... 'PlotFcns',@gaplotbestf, ... 'Generations',2000,'PopulationSize',50, ... 'OutputFcn',@gaoutputgen,... 'StallGenLimit',2000,'TimeLimit',tl,... 'StallTimeLimit',1000,'Vectorized','on');

147

numberOfVariables = nj; tic [x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options) celldisp(x); time=toc x1=cell2mat(x) sampleschedule=x1' fitnessfcn=@(x) sa_fitness_four(x,nm,nj,p,s,d,w,a1,a2,a3,a4); options = saoptimset('DataType', 'custom', 'AnnealingFcn', @flowshopcompute, ... 'TemperatureFcn',@temperatureexp,... 'ReannealInterval',nj*8,... 'TimeLimit',t2-time,'InitialTemperature',nj,... 'PlotFcns', {@saplotf,@saplottemperature});

[x,fval,exitFlag,output] = simulannealbnd(fitnessfcn,sampleschedule,[],[],options); x fval output result(1,1)=fval

148