Effective Methods for Integrated Process Planning and Scheduling [1st ed.] 9783662553039, 9783662553053

This book summarizes a series of research work on integrated process planning and scheduling (IPPS) done by the authors,

271 111 16MB

English Pages XVI, 462 [463] Year 2020

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Front Matter ....Pages i-xvi
Introduction for Integrated Process Planning and Scheduling (Xinyu Li, Liang Gao)....Pages 1-15
Review for Flexible Job Shop Scheduling (Xinyu Li, Liang Gao)....Pages 17-45
Review for Integrated Process Planning and Scheduling (Xinyu Li, Liang Gao)....Pages 47-59
Improved Genetic Programming for Process Planning (Xinyu Li, Liang Gao)....Pages 61-79
An Efficient Modified Particle Swarm Optimization Algorithm for Process Planning (Xinyu Li, Liang Gao)....Pages 81-106
A Hybrid Algorithm for Job Shop Scheduling Problem (Xinyu Li, Liang Gao)....Pages 107-131
An Effective Genetic Algorithm for FJSP (Xinyu Li, Liang Gao)....Pages 133-155
An Effective Collaborative Evolutionary Algorithm for FJSP (Xinyu Li, Liang Gao)....Pages 157-165
Mathematical Modeling and Evolutionary Algorithm-Based Approach for IPPS (Xinyu Li, Liang Gao)....Pages 167-189
An Agent-Based Approach for IPPS (Xinyu Li, Liang Gao)....Pages 191-208
A Modified Genetic Algorithm Based Approach for IPPS (Xinyu Li, Liang Gao)....Pages 209-233
An Effective Hybrid Algorithm for IPPS (Xinyu Li, Liang Gao)....Pages 235-249
An Effective Hybrid Particle Swarm Optimization Algorithm for Multi-objective FJSP (Xinyu Li, Liang Gao)....Pages 251-277
A Multi-objective GA Based on Immune and Entropy Principle for FJSP (Xinyu Li, Liang Gao)....Pages 279-300
An Effective Genetic Algorithm for Multi-objective IPPS with Various Flexibilities in Process Planning (Xinyu Li, Liang Gao)....Pages 301-322
Application of Game Theory-Based Hybrid Algorithm for Multi-objective IPPS (Xinyu Li, Liang Gao)....Pages 323-343
A Hybrid Intelligent Algorithm and Rescheduling Technique for Dynamic JSP (Xinyu Li, Liang Gao)....Pages 345-375
A Hybrid Genetic Algorithm and Tabu Search for Multi-objective Dynamic JSP (Xinyu Li, Liang Gao)....Pages 377-403
GEP-Based Reactive Scheduling Policies for Dynamic FJSP with Job Release Dates (Xinyu Li, Liang Gao)....Pages 405-428
A Hybrid Genetic Algorithm with Variable Neighborhood Search for Dynamic IPPS (Xinyu Li, Liang Gao)....Pages 429-453
IPPS Simulation Prototype System (Xinyu Li, Liang Gao)....Pages 455-462
Recommend Papers

Effective Methods for Integrated Process Planning and Scheduling [1st ed.]
 9783662553039, 9783662553053

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Engineering Applications of Computational Methods 2

Xinyu Li Liang Gao

Effective Methods for Integrated Process Planning and Scheduling

Engineering Applications of Computational Methods Volume 2

Series Editors Liang Gao, State Key Laboratory of Digital Manufacturing Equipment and Technology, Huazhong University of Science and Technology, Wuhan, Hubei, China Akhil Garg, School of Mechanical Science and Engineering, Huazhong University of Science and Technology, Wuhan, Hubei, China

The book series Engineering Applications of Computational Methods addresses the numerous applications of mathematical theory and latest computational or numerical methods in various fields of engineering. It emphasizes the practical application of these methods, with possible aspects in programming. New and developing computational methods using big data, machine learning and AI are discussed in this book series, and could be applied to engineering fields, such as manufacturing, industrial engineering, control engineering, civil engineering, energy engineering and material engineering. The book series Engineering Applications of Computational Methods aims to introduce important computational methods adopted in different engineering projects to researchers and engineers. The individual book volumes in the series are thematic. The goal of each volume is to give readers a comprehensive overview of how the computational methods in a certain engineering area can be used. As a collection, the series provides valuable resources to a wide audience in academia, the engineering research community, industry and anyone else who are looking to expand their knowledge of computational methods.

More information about this series at http://www.springer.com/series/16380

Xinyu Li Liang Gao •

Effective Methods for Integrated Process Planning and Scheduling

123

Xinyu Li School of Mechanical Science and Engineering, HUST State Key Laboratory of Digital Manufacturing and Equipment Technology Wuhan, Hubei, China

Liang Gao School of Mechanical Science and Engineering, HUST State Key Laboratory of Digital Manufacturing and Equipment Technology Wuhan, Hubei, China

ISSN 2662-3366 ISSN 2662-3374 (electronic) Engineering Applications of Computational Methods ISBN 978-3-662-55303-9 ISBN 978-3-662-55305-3 (eBook) https://doi.org/10.1007/978-3-662-55305-3 Jointly published with Science Press The print edition is not for sale in China (Mainland). Customers from China (Mainland) please order the print book from: Science Press. © Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 This work is subject to copyright. All rights are reserved by the Publishers, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publishers, the authors, and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publishers nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publishers remain neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer-Verlag GmbH, DE part of Springer Nature. The registered company address is: Heidelberger Platz 3, 14197 Berlin, Germany

Foreword

In the international academia and industry, scheduling theory and method of manufacturing system is an interdisciplinary research direction, involving systems engineering, operations research, artificial intelligence, control theory, computer technology, management engineering, and other disciplines. Process planning and shop scheduling are two highly important subsystems in the modern manufacturing system. Process planning decides the process route and processing resource allocation of the jobs, which can transform raw materials into finished form. Scheduling system is to arrange the jobs to the actual processing machines properly, linking the process designing and the production action. The integration of process planning and scheduling in the manufacturing procedure can optimize the production process, improving the efficiency and reducing the cost, which is a key to realize the intellectualization of manufacturing system. The contents in book mainly include the following problems, including flexible process planning problem, shop scheduling problem, integrated process planning scheduling problem, etc. These problems have a large amount of complexity, such as difficulty in modeling, complexity in calculation, multi-constraint, uncertainty, multi-minimal, large problem scale, multi-objective, coexistence of discrete and continuous variables, etc. Therefore, the research of IPPS has important academic and engineering value. This book is a monograph about the effective methods for IPPS. Based on the research, teaching and engineering experience of the authors and their team for many years, the book mainly classifies in the following three aspects: flexible process planning, job shop scheduling, integrated process planning and shop scheduling. Furthermore, the book also summarizes Genetic Algorithm (GA), Genetic Programming (GP), Particle Swarm Optimization (PSO) algorithm, and other intelligent algorithms for solving the above problems. In addition, this book systematically describes the design thought of the intelligent algorithms, which may provide effective methods for the researchers to solve the practical engineering problems. This book is divided into five parts, the first part is from Chaps. 1 to 3, which introduces the review of IPPS problem, including the models, methods, and applications. The second part mainly discusses the single-objective optimization of IPPS. The third part introduces IPPS from the aspect of multi-objective optimization. As v

vi

Foreword

for the fourth part, it belongs to the dynamic scheduling problem. Finally, the fifth part is the IPPS simulation prototype system. In general, the main contents of the book are from the second part to the fourth part, where process planning, scheduling, and IPPS will be discussed in details. The second part is the single-objective optimization, which is discussed in the order of Process Planning (PP), Job shop Scheduling (JSP), Flexible Job shop Scheduling (FJSP), Integrated Process Planning and shop Scheduling (IPPS). In Chaps. 4 and 5, GP algorithm and PSO algorithm are used to solve the PP problem. Chapter 6 introduces the application of hybrid PSO and Variable Neighborhood Search (VNS) algorithm on JSP. In Chap. 7, a modified GA is introduced to solve FJSP, including total new Global Selection (GS) and Local Selection (LS) to generate high-quality initial population in the initialization. Chapter 8 introduces a Multi-Swarm Collaborative Evolutionary Algorithm (MSCEA) to solve FJSP. In Chap. 9, the mathematical model of IPPS and the application of evolutionary algorithm are presented. In Chap. 10, an agent-based approach is applied to solve IPPS. Chapter 11 introduces the application of modified GA on IPPS. The third part is multi-objective optimization, which is introduced from FJSP to IPPS. Chapter 12 is the application of GA and TS algorithm in multi-objective FJSP. Chapter 13 introduces PSO and TS algorithm to multi-objective FJSP. Chapter 14 presents a Multi-Objective Genetic Algorithm (MOGA) based on immune and entropy principle to solve the multi-objective FJSP. In Chap. 15, an effective genetic algorithm is proposed to optimize the multi-objective Integrated Process Planning and Scheduling (IPPS) problem with various flexibilities in process planning. The research in Chap. 16 focuses on the multi-objective IPPS problem, and a game theory based approach is used to deal with the multiple objectives. The fourth part focuses on the dynamic scheduling problem from Chaps. 17 to 20. In Chaps. 17 and 18, a genetic tabu search algorithm is developed for dynamic rescheduling job shop problem, while Chap. 18 is considering multi-objectives. In Chap. 19, Dynamic Flexible Job shop Scheduling Problem (DFJSSP) with job release dates is studied, and an approach based on GEP also proposed. In Chap. 20, a new dynamic IPPS model is formulated, the combination of hybrid algorithm and rolling window technology is applied to solve the dynamic IPPS problem. The fifth part, shown in Chap. 21, introduces a IPPS simulation prototype system which is developed based on the practical requirements of the work shop and theoretical research results. Firstly, the application background of the system is introduced, and then the structure of the system is analyzed. Finally, the implementation and operation of the prototype system are represented through an engineering example, verifying the availability and effectiveness of the prototype system.

Foreword

vii

The researches involved in this book were funded by the projects including National Natural Science Foundation of China (Grant Nos. 51825502, 51775216, 51375004, 51005088, 50305008), National Key R&D Program of China (Grant No. 2018AAA0101704), Natural Science Foundation of Hubei Province (Grant No. 2018CFA078), HUST Academic Frontier Youth Team (Grant No. 2017QYTD04), and Program for New Century Excellent Talents in University (Grant No. NCET-08-0232). This book is written by Dr. Xinyu Li and Dr. Liang Gao, from State Key Laboratory of Digital Manufacturing Equipment and Technology, School of Mechanical Science and Engineering, Huazhong University of Science and Technology (HUST). In addition, postdoctoral Chunjiang Zhang, graduate students including Guangchen Wang, Yingli Li, Jin Xie, Qihao Liu, Di Fang, Haoran Li, Lin Gui, Yang Li, and other graduate students also participated in the relevant research work. Due to the limited knowledge of the authors, the book will inevitably have some limitations and even errors. And many contents need to be improved and in-depth researched, so readers are requested to criticize and correct. Wuhan, China

Xinyu Li Liang Gao

Contents

1

Introduction for Integrated Process Planning and Scheduling 1.1 Process Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Shop Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Problem Properties . . . . . . . . . . . . . . . . . . . . . . . 1.2.3 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Integrated Process Planning and Shop Scheduling . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

1 1 3 3 4 5 6 11

2

Review for Flexible Job Shop Scheduling . . . . . . . . . . . . . . . 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 The Methods for FJSP . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Exact Algorithms . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Heuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Meta-Heuristics . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Real-World Applications . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Development Trends and Future Research Opportunities . 2.5.1 Development Trends . . . . . . . . . . . . . . . . . . . . . 2.5.2 Future Research Opportunities . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

17 17 18 18 20 22 24 33 33 33 34 37

3

Review for Integrated Process Planning and Scheduling . 3.1 IPPS in Support of Distributed and Collaborative Manufacturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Integration Model of IPPS . . . . . . . . . . . . . . . . . . . . 3.2.1 Non-Linear Process Planning . . . . . . . . . . . 3.2.2 Closed-Loop Process Planning . . . . . . . . . . 3.2.3 Distributed Process Planning . . . . . . . . . . . . 3.2.4 Comparison of Integration Models . . . . . . .

........

47

. . . . . .

47 48 48 49 50 51

. . . . . .

. . . . . .

. . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

ix

x

Contents

3.3

Implementation Approaches of IPPS . . . . . . . . . . . . . . . 3.3.1 Agent-Based Approaches of IPPS . . . . . . . . . . . 3.3.2 Petri-Net-Based Approaches of IPPS . . . . . . . . . 3.3.3 Algorithm-Based Approaches of IPPS . . . . . . . . 3.3.4 Critique of Current Implementation Approaches . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

52 52 54 54 55 56

4

Improved Genetic Programming for Process Planning . . . . . . . 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Flexible Process Planning . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Flexible Process Plans . . . . . . . . . . . . . . . . . . . . . 4.2.2 Representation of Flexible Process Plans . . . . . . . . 4.2.3 Mathematical Model of Flexible Process Planning . 4.3 Brief Review of GP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 GP for Flexible Process Planning . . . . . . . . . . . . . . . . . . . . 4.4.1 The Flowchart of Proposed Method . . . . . . . . . . . . 4.4.2 Convert Network to Tree, Encoding, and Decoding 4.4.3 Initial Population and Fitness Evaluation . . . . . . . . 4.4.4 GP Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Case Studies and Discussion . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Implementation and Testing . . . . . . . . . . . . . . . . . 4.5.2 Comparison with GA . . . . . . . . . . . . . . . . . . . . . . 4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

61 61 62 62 64 64 67 68 68 69 71 72 74 74 75 78 78

5

An Efficient Modified Particle Swarm Optimization Algorithm for Process Planning . . . . . . . . . . . . . . . . . . . . . . . 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Process Planning . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 PSO with Its Applications . . . . . . . . . . . . . . . . . . 5.3 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Flexible Process Plans . . . . . . . . . . . . . . . . . . . . 5.3.2 Mathematical Model of Process Planning Problem 5.4 Modified PSO for Process Planning . . . . . . . . . . . . . . . . . 5.4.1 Modified PSO Model . . . . . . . . . . . . . . . . . . . . . 5.4.2 Modified PSO for Process Planning . . . . . . . . . . . 5.5 Experimental Studies and Discussions . . . . . . . . . . . . . . . 5.5.1 Case Studies and Results . . . . . . . . . . . . . . . . . . 5.5.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Conclusions and Future Research Studies . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. 81 . 81 . 82 . 82 . 84 . 84 . 84 . 85 . 86 . 86 . 88 . 94 . 94 . 102 . 104 . 104

. . . . . .

. . . . . . . . . . . . . . . .

Contents

6

7

8

xi

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

107 107 110 112 112 114 116 116

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

117 117 118 119 121 121 122 124 128 128 129

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

133 133 134 135 137 137

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

139 140 143 143 145 146 147 149 153

An Effective Collaborative Evolutionary Algorithm for FJSP . 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Proposed MSCEA for FJSP . . . . . . . . . . . . . . . . . . . . . . . 8.3.1 The Optimization Strategy of MSCEA . . . . . . . . . 8.3.2 Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

157 157 158 158 158 159

A Hybrid Algorithm for Job Shop Scheduling Problem . . . . . 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Proposed Hybrid Algorithm for JSP . . . . . . . . . . . . . . . . . 6.3.1 Description of the Proposed Hybrid Algorithm . . . 6.3.2 Encoding and Decoding Scheme . . . . . . . . . . . . . 6.3.3 Updating Strategy . . . . . . . . . . . . . . . . . . . . . . . . 6.3.4 Local Search of the Particle . . . . . . . . . . . . . . . . 6.4 The Neighborhood Structure Evaluation Method Based on Logistic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 The Logistic Model . . . . . . . . . . . . . . . . . . . . . . 6.4.2 Defining Neighborhood Structures . . . . . . . . . . . . 6.4.3 The Evaluation Method Based on Logistic Model 6.5 Experiments and Discussion . . . . . . . . . . . . . . . . . . . . . . 6.5.1 The Search Ability of VNS . . . . . . . . . . . . . . . . . 6.5.2 Benchmark Experiments . . . . . . . . . . . . . . . . . . . 6.5.3 Convergence Analysis of HPV . . . . . . . . . . . . . . 6.5.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 Conclusions and Future Works . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . An Effective Genetic Algorithm for FJSP . . . . . . . . . . . . . . . 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 An Effective GA for FJSP . . . . . . . . . . . . . . . . . . . . . . . 7.4.1 Representation . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.2 Decoding the MSOS Chromosome to a Feasible and Active Schedule . . . . . . . . . . . . . . . . . . . . . 7.4.3 Initial Population . . . . . . . . . . . . . . . . . . . . . . . 7.4.4 Selection Operator . . . . . . . . . . . . . . . . . . . . . . 7.4.5 Crossover Operator . . . . . . . . . . . . . . . . . . . . . . 7.4.6 Mutation Operator . . . . . . . . . . . . . . . . . . . . . . 7.4.7 Framework of the Effective GA . . . . . . . . . . . . 7.5 Computational Results . . . . . . . . . . . . . . . . . . . . . . . . . 7.6 Conclusions and Future Study . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xii

Contents

8.3.3 Initial Population and Fitness Evaluation 8.3.4 Genetic Operators . . . . . . . . . . . . . . . . . 8.3.5 Terminate Criteria . . . . . . . . . . . . . . . . 8.3.6 Framework of MSCEA . . . . . . . . . . . . . 8.4 Experimental Studies . . . . . . . . . . . . . . . . . . . . . 8.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

160 160 161 161 163 163 165

Mathematical Modeling and Evolutionary Algorithm-Based Approach for IPPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Problem Formulation and Mathematical Modeling . . . . . 9.2.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . 9.2.2 Mathematical Modeling . . . . . . . . . . . . . . . . . . 9.3 Evolutionary Algorithm-Based Approach for IPPS . . . . . 9.3.1 Representation . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.2 Initialization and Fitness Evaluation . . . . . . . . . 9.3.3 Genetic Operators . . . . . . . . . . . . . . . . . . . . . . . 9.4 Experimental Studies and Discussions . . . . . . . . . . . . . . 9.4.1 Example Problems and Experimental Results . . . 9.4.2 Discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

167 167 168 168 169 173 173 174 174 178 178 187 187 188

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

191 191 192 195 195 195 200 200 202 205 205 207

11 A Modified Genetic Algorithm Based Approach for IPPS 11.1 Integration Model of IPPS . . . . . . . . . . . . . . . . . . . . . 11.2 Representations for Process Plans and Schedules . . . . 11.3 Modified GA-Based Optimization Approach . . . . . . . . 11.3.1 Flowchart of the Proposed Approach . . . . . . . 11.3.2 Genetic Components for Process Planning . . . 11.3.3 Genetic Components for Scheduling . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

209 209 210 212 212 213 217

10 An Agent-Based Approach for IPPS . . . . . . . . . . . 10.1 Literature Survey . . . . . . . . . . . . . . . . . . . . . 10.2 Problem Formulation . . . . . . . . . . . . . . . . . . . 10.3 Proposed Agent-Based Approach for IPPS . . . 10.3.1 MAS Architecture . . . . . . . . . . . . . . 10.3.2 Agents Description . . . . . . . . . . . . . . 10.4 Implementation and Experimental Studies . . . 10.4.1 System Implementation . . . . . . . . . . . 10.4.2 Experimental Results and Discussion . 10.4.3 Discussion . . . . . . . . . . . . . . . . . . . . 10.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

Contents

xiii

11.4 Experimental Studies and Discussion . . . . . . . . . 11.4.1 Test Problems and Experimental Results 11.4.2 Comparison with Hierarchical Approach 11.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

223 223 231 232 232 232

12 An Effective Hybrid Algorithm for IPPS . . . . . . . . . 12.1 Hybrid Algorithm Model . . . . . . . . . . . . . . . . . . 12.1.1 Traditionally Genetic Algorithm . . . . . . 12.1.2 Local Search Strategy . . . . . . . . . . . . . . 12.1.3 Hybrid Algorithm Model . . . . . . . . . . . 12.2 Hybrid Algorithm for IPPS . . . . . . . . . . . . . . . . 12.2.1 Encoding and Decoding . . . . . . . . . . . . 12.2.2 Initial Population and Fitness Evaluation 12.2.3 Genetic Operators for IPPS . . . . . . . . . . 12.3 Experimental Studies and Discussions . . . . . . . . 12.3.1 Test Problems and Experimental Results 12.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

235 235 235 235 236 237 237 239 239 243 243 245 249 249

13 An Effective Hybrid Particle Swarm Optimization Algorithm for Multi-objective FJSP . . . . . . . . . . . 13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 13.2 Problem Formulation . . . . . . . . . . . . . . . . . . . 13.3 Particle Swarm Optimization for FJSP . . . . . . 13.3.1 Traditional PSO Algorithm . . . . . . . . 13.3.2 Tabu Search Strategy . . . . . . . . . . . . 13.3.3 Hybrid PSO Algorithm Model . . . . . 13.3.4 Fitness Function . . . . . . . . . . . . . . . . 13.3.5 Encoding Scheme . . . . . . . . . . . . . . . 13.3.6 Information Exchange . . . . . . . . . . . . 13.4 Experimental Results . . . . . . . . . . . . . . . . . . . 13.4.1 Problem 4  5 . . . . . . . . . . . . . . . . . 13.4.2 Problem 8  8 . . . . . . . . . . . . . . . . . 13.4.3 Problem 10  10 . . . . . . . . . . . . . . . 13.4.4 Problem 15  10 . . . . . . . . . . . . . . . 13.5 Conclusions and Future Research . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

251 251 252 255 255 256 257 258 259 261 262 262 264 264 267 276 276

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

14 A Multi-objective GA Based on Immune and Entropy Principle for FJSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 14.2 Multi-objective Flexible Job Shop Scheduling Problem . . . . . . . 281

xiv

Contents

14.3 Basic Concepts of Multi-objective Optimization . . . . . . 14.4 Handing MOFJSP with MOGA Based on Immune and Entropy Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4.1 Fitness Assignment Scheme . . . . . . . . . . . . . . 14.4.2 Immune and Entropy Principle . . . . . . . . . . . . 14.4.3 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4.4 Encoding and Decoding Scheme . . . . . . . . . . . 14.4.5 Selection Operator . . . . . . . . . . . . . . . . . . . . . 14.4.6 Crossover Operator . . . . . . . . . . . . . . . . . . . . . 14.4.7 Mutation Operator . . . . . . . . . . . . . . . . . . . . . 14.4.8 Main Algorithm . . . . . . . . . . . . . . . . . . . . . . . 14.5 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . 14.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 An Effective Genetic Algorithm for Multi-objective IPPS with Various Flexibilities in Process Planning . . . . . . . . . . 15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Multi-objective IPPS Description . . . . . . . . . . . . . . . . 15.2.1 IPPS Description . . . . . . . . . . . . . . . . . . . . . 15.2.2 Multi-objective Optimization . . . . . . . . . . . . . 15.3 Proposed Genetic Algorithm for Multi-objective IPPS . 15.3.1 Workflow of the Proposed Algorithm . . . . . . 15.3.2 Genetic Components for Process Planning . . . 15.3.3 Genetic Components for Scheduling . . . . . . . 15.3.4 Pareto Set Update Scheme . . . . . . . . . . . . . . 15.4 Experimental Results and Discussions . . . . . . . . . . . . 15.4.1 Experiment 1 . . . . . . . . . . . . . . . . . . . . . . . . 15.4.2 Experiment 2 . . . . . . . . . . . . . . . . . . . . . . . . 15.4.3 Discussions . . . . . . . . . . . . . . . . . . . . . . . . . 15.5 Conclusion and Future Works . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . 283 . . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

283 283 284 286 286 287 288 289 290 290 294 300

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

301 301 302 302 304 305 305 307 310 311 312 312 315 316 321 321

. . . .

. . . .

323 323 325 328

16 Application of Game Theory-Based Hybrid Algorithm for Multi-objective IPPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3 Game Theory Model of Multi-objective IPPS . . . . . . . . . . . . 16.3.1 Game Theory Model of Multi-objective Optimization Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3.2 Nash Equilibrium and MOP . . . . . . . . . . . . . . . . . . 16.3.3 Non-cooperative Game Theory for Multi-objective IPPS Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.4 Applications of the Proposed Algorithm on Multi-objective IPPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . 328 . . 329 . . 329 . . 330

Contents

xv

16.4.1 Workflow of the Proposed Algorithm . 16.4.2 Nash Equilibrium Solutions Algorithm for Multi-objective IPPS . . . . . . . . . . . 16.5 Experimental Results . . . . . . . . . . . . . . . . . . . . 16.5.1 Problem 1 . . . . . . . . . . . . . . . . . . . . . 16.5.2 Problem 2 . . . . . . . . . . . . . . . . . . . . . 16.5.3 Conclusions . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . 330 . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

331 335 335 336 341 342

17 A Hybrid Intelligent Algorithm and Rescheduling Technique for Dynamic JSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2 Statement of Dynamic JSPs . . . . . . . . . . . . . . . . . . . . . . . 17.2.1 The Proposed Mathematical Model . . . . . . . . . . . 17.2.2 The Reschedule Strategy . . . . . . . . . . . . . . . . . . . 17.2.3 Generate Real-Time Events . . . . . . . . . . . . . . . . . 17.3 The Proposed Rescheduling Technique for Dynamic JSPs . 17.3.1 The Rescheduling Technique in General . . . . . . . 17.3.2 The Hybrid GA and TS for Dynamic JSP . . . . . . 17.4 Experiential Environments and Results . . . . . . . . . . . . . . . 17.4.1 Experimental Environments . . . . . . . . . . . . . . . . . 17.4.2 Results and Discussion . . . . . . . . . . . . . . . . . . . . 17.5 Conclusions and Future Works . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

345 345 347 347 350 351 353 353 355 360 361 362 372 374

18 A Hybrid Genetic Algorithm and Tabu Search for Multi-objective Dynamic JSP . . . . . . . . . . . . . . . . . 18.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . 18.3 The Multi-objective Dynamic Job Shop Scheduling 18.4 The Proposed Method for Dynamic JSP . . . . . . . . . 18.4.1 The Flow Chart of the Proposed Method . . 18.4.2 Simulator . . . . . . . . . . . . . . . . . . . . . . . . . 18.4.3 The Hybrid GA and TS for Dynamic JSP . 18.5 Experimental Design and Results . . . . . . . . . . . . . . 18.5.1 Experimental Design . . . . . . . . . . . . . . . . 18.5.2 Results and Discussions . . . . . . . . . . . . . . 18.6 Conclusions and Future Researches . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

377 377 378 379 381 381 383 384 387 387 388 400 401

19 GEP-Based Reactive Scheduling FJSP with Job Release Dates . . 19.1 Introduction . . . . . . . . . . . 19.2 Problem Description . . . . . 19.3 Heuristic for DFJSSP . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

405 405 407 408

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

Policies for Dynamic . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

xvi

Contents

19.4 GEP-Based Reactive Scheduling Polices Constructing Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.4.1 Framework of GEP-Based Reactive Scheduling Policies Constructing Approach . . . . . . . . . . . . 19.4.2 Define Element Sets . . . . . . . . . . . . . . . . . . . . 19.4.3 Chromosome Representation . . . . . . . . . . . . . . 19.4.4 Genetic Operators . . . . . . . . . . . . . . . . . . . . . . 19.5 Experiments and Results . . . . . . . . . . . . . . . . . . . . . . . 19.5.1 GEP Parameter Settings . . . . . . . . . . . . . . . . . 19.5.2 Design of the Experiments . . . . . . . . . . . . . . . 19.5.3 Analysis of the Results . . . . . . . . . . . . . . . . . . 19.6 Conclusion and Future Work . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

409 409 411 413 414 414 414 416 426 427

20 A Hybrid Genetic Algorithm with Variable Neighborhood Search for Dynamic IPPS . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3 Dynamic IPPS Problem Formulation . . . . . . . . . . . . . . 20.3.1 Problem definition . . . . . . . . . . . . . . . . . . . . . 20.3.2 Framework for DIPPS . . . . . . . . . . . . . . . . . . 20.3.3 Dynamic IPPS Model . . . . . . . . . . . . . . . . . . . 20.4 Proposed Hybrid GAVNS for Dynamic IPPS . . . . . . . . 20.4.1 Flowchart of Hybrid GAVNS . . . . . . . . . . . . . 20.4.2 GA for IPPS . . . . . . . . . . . . . . . . . . . . . . . . . 20.4.3 VNS for Local Search . . . . . . . . . . . . . . . . . . 20.5 Experiments and Discussions . . . . . . . . . . . . . . . . . . . . 20.5.1 Experiment 1 . . . . . . . . . . . . . . . . . . . . . . . . . 20.5.2 Experiment 2 . . . . . . . . . . . . . . . . . . . . . . . . . 20.5.3 Experiment 3 . . . . . . . . . . . . . . . . . . . . . . . . . 20.5.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.6 Conclusion and Future Works . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

429 429 430 433 433 433 435 438 438 438 440 442 443 444 448 451 451 452

21 IPPS Simulation Prototype System . . . 21.1 Application Background Analysis 21.2 System Architecture . . . . . . . . . . 21.3 Implementation and Application . 21.4 Conclusion . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

455 455 456 457 461 462

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . . 409

Chapter 1

Introduction for Integrated Process Planning and Scheduling

1.1 Process Planning Process planning determines the processing method of products, so it is one of the most important tasks in production preparation and the basis of all production activities. Both industry and academia have done a lot of work on the research of process planning. There are many definitions of process planning, which are summarized as follows [1]: (1) Process planning is a bridge between product design and manufacturing, transforming product design data into manufacturing information [2]. In other words, process planning is an important activity that connects the design function with the manufacturing function, and it specifies the processing strategies and steps of product parts [3]. (2) Process planning is a complex process involving many tasks, which requires the process designer to have a deep knowledge of product design and manufacturing. Ramesh [4] believes that these tasks include part coding, feature recognition, mapping between machining methods and features, internal and external sequencing, clamping planning, middleware modeling, machining equipment tools and corresponding parameter selection, process optimization, cost assessment, tolerance analysis, test plan, path planning, CNC program, etc. (3) Process planning is the activity of converting raw materials into the detailed operation of final parts or preparing detailed documents for the process of parts processing and assembly [5]. (4) Process planning systematically identifies detailed manufacturing processes to meet design specifications within available resources and capabilities [6]. The above definitions describe process planning from different engineering technical perspectives. These definitions can be summarized as: process planning is an activity that connects product design and manufacturing, combines manufacturing

© Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_1

1

2

1 Introduction for Integrated Process Planning and Scheduling

process knowledge with the specific design under the limitation of workshop or factory manufacturing resources, and prepares specific operation instructions. Traditionally, process planning has been done manually and empirically. The following problems include: shortage of experienced personnel, low efficiency of designated process route, inconsistency of process route caused by differences in experience and judgment of process personnel, slow reaction to the actual manufacturing environment, etc. In order to alleviate these problems, Computer-Aided Process Planning (CAPP) emerged in the mid-1960s [7, 8]. CAPP uses computer-aided parts processing process formulation, in order to determine the raw materials into the design drawings required parts. It is a process in which the computer automatically completes the formulation of part processing technology and outputs part process route and process content by inputting the geometric information (shape, size, etc.) and process information (material, heat treatment, batch, etc.) of the processed parts to the computer [9]. Research on CAPP began in the 1960s. CIRP established the first CAPP working group at the annual conference in 1966, which marked the beginning of CAPP research work. In 1969, Norway introduced the world’s first CAPP system—AUTOPROS [10], and in 1973 it officially launched the commercial AUTOPROS system. A milestone in the development history of CAPP is the CAPP system, which was introduced in 1976 by CAM-I (Computer-Aided Manufacturing-International), a U.S. International organization for Computer-Aided Manufacturing, namely CAM-I’s Automated Process Planning system. China began to study the CAPP system in the early 1980s. In 1983, Tongji University developed the first CAPP system in China—TOJICAP [11]. After years of research, CAPP has made great progress, and Zhang [12] summarized 187 CAPP systems. However, due to the complexity of process planning and the particularity of product and manufacturing environment, CAPP is difficult to be applied and generalized. In the field of manufacturing automation, CAPP is the last part to be developed. Even today, when CAD, CAE, CAM, MRPII, ERP, MES, and even e-commerce are very mature and widely used, some key problems of CAPP have not been well solved and become the key bottleneck of the manufacturing industry [13]. Since its birth, CAPP has been a research hotspot and difficulty in the field of advanced manufacturing technology. Since the 1960s, CAPP has made great progress in both the technical level and practical application. Its main research focuses on the following aspects: (1) Integration of CAPP with other systems [14] Information integration is one of the development directions of advanced manufacturing technology and one of the technical means to shorten the product development cycle and respond to the market quickly. Therefore, the integration of CAPP and other systems is one of the hot topics of researchers. As a CAPP system connecting design and manufacturing, it should not only integrate with CAD and CAM, but also realize the integration of Production Planning and Scheduling (PPS) system, ERP (Enterprise Resource Planning) system, PDM (Product Data Management), CATD (Computer-Aided Tolerance Design), and other systems.

1.1 Process Planning

3

(2) Optimization and selection of process route The traditional process planning system produces a single and fixed process route for a part without considering the dynamic information of the workshop, which greatly reduces the feasibility and flexibility of the process route in actual production. In order to adapt to the workshop environment, the process planning system must produce a large number of flexible process routes for each part, and optimize and select them according to the production requirements. Therefore, the optimization and selection of process route is one of the main research directions of the process planning system. The optimization and selection of process route is an NP-complete problem, and it is difficult to realize the optimization and selection of process route only by using traditional gradient descent method, graph theory method, and simulation method [15]. In order to solve this problem, a lot of research scholars introduce the method of artificial intelligence to study and solve the process route optimization problem. The main research methods include: multi-agent system [16], genetic algorithm [17–20], genetic programming [21], tabu search [22, 23], simulated annealing [24], particle swarm optimization [25], ant colony algorithm [26, 27], psychological clone algorithm [28], immune algorithm [29], neural network method [30], and etc.

1.2 Shop Scheduling 1.2.1 Problem Statement Shop scheduling problem can be generally described as: n jobs are processed on m machines. A job contains k processes, each of which can be processed on several machines and must be processed in some feasible process sequence. Each machine can process several processes of the job, and the set of processes can be different on different machines. The goal of shop scheduling is to reasonably arrange the jobs to each machine, reasonably arrange the processing order and starting time of the jobs, so as to satisfy the constraint conditions and optimize some performance indicators [31]. In general, scheduling problems can be represented by “n/m/A/B”, where n is the number of jobs, m is the number of machines, A represents the morphological type of jobs flowing through the machines, and B represents the type of performance indicators. There are many classification methods for scheduling problems [32, 33]. Common types of jobs flowing through the machines include [34]: (1) Single Machine Scheduling Problem (SMP) SMP is the most basic one of shop scheduling problems, which is characterized by the jobs to be processed on only one process. The processing system has only one machine tool, and all the jobs are to be processed on the machine tool.

4

1 Introduction for Integrated Process Planning and Scheduling

(2) Parallel Machine Scheduling Problem (PMP) The processing system has a set of machine tools with the same functions. The jobs are to be processed on one process, and one can select the machine to process it. (3) Job shop Scheduling Problem (JSP) The processing system has a set of machine tools with different functions. Given the processing order of the jobs to be processed, the process route of all jobs is different. It is required to determine the processing order of the jobs on each machine and the starting time of each job with satisfying the constraints of the processing order. (4) Flow Shop Scheduling Problem (FSP) The processing system has a group of machine tools with different functions. Given the processing order of the jobs to be processed, the process route of all jobs is the same. It is required to determine the processing order of the jobs on each machine and the starting time of the job with satisfying the constraints of the processing order. (5) Open Shop Scheduling Problem (OSP) The processing system has a group of machine tools with different functions. Given the processing process of the jobs to be processed, the processing order of each process is arbitrary. It is required to determine the processing order of the jobs on each machine and the starting time of the job with satisfying the constraints of the processing order. Performance indicators B have various forms, which can be roughly divided into the following categories: (1) Performance indicators based on the processing completion time, such as Cmax (maximum completion time), Fmax (maximum flow time), etc. (2) Performance indicators based on the delivery date, such as Lmax (maximum delayed completion time), Tmax (maximum delayed time), etc.; (3) Multi-objective comprehensive performance indicators, such as the maximum completion time and the maximum delay in the completion, etc.

1.2.2 Problem Properties The objects and objectives of shop scheduling determine that this problem has the following characteristics [35]: (1) Multi-objective In different enterprises or different production environments, the optimization objectives of shop scheduling are different. For example, the general requirement is the shortest production cycle. In some environments, in order to deliver goods as quickly as possible, it is necessary to guarantee the delivery date of some products. In order to reduce costs, it also needs to consider the utilization of production equipment and reduce work-in-process inventory. In the actual production process, not only one

1.2 Shop Scheduling

5

objective is considered, but multiple objectives need to be considered simultaneously. As each objective may conflict with each other, comprehensive consideration must be taken into account in the formulation of shop scheduling. (2) Multi-constraint The research object and objective of shop scheduling determine that the problem is a multi-constraint one. In the scheduling process, the constraints of the job itself need to be taken into account including: process route constraints and process constraints on the processing machine. Resource constraints also need to be considered. The results are feasible only if they meet the resource constraints of the shop. Meanwhile, shop scheduling needs to be constrained by the constraints such as operators, transport vehicles, knives, and other auxiliary production tools. (3) Dynamic randomness The processing environment of the manufacturing system is constantly changing, and a variety of random events will be encountered, such as the variable processing time, machine tool failure, shortage of raw materials, emergency order insertion, etc. Thus the shop scheduling process is a dynamic random process. (4) Discretization General manufacturing system is a typical discrete system, which is a discrete optimization problem. The start time of jobs, arrival of task, addition and failure of equipment, change of order and so on are discrete events. It is possible to study shop scheduling problem by mathematical programming, discrete system modeling and simulation, sorting theory and other methods. (5) Computational complexity Shop scheduling is a combinatorial optimization problem constrained by several equations and inequalities, which has been proved to be an NP-complete problem. With the increase of the scheduling scale, the number of feasible solutions to the problem increases exponentially. The characteristics of the shop scheduling problem determine that the problem is a very complex problem. This is why over the years the research on this problem has attracted a large number of researchers from different fields. A number of solutions methods are proposed, aiming to meet the needs of practical application. However, these achievements cannot fully meet the needs of practical application, so we have to conduct a more comprehensive study on the nature of the problem and the relevant solution methods, so as to propose more effective theories, methods, and technologies to meet the practical application needs of enterprises.

1.2.3 Literature Review The research of shop scheduling problem is basically synchronous with the development of operational research. As early as 1954, Johnson proposed an effective

6

1 Introduction for Integrated Process Planning and Scheduling

optimization algorithm to solve n/2/F/C max and some special n/3/F/C max problems, which kicked off the research on scheduling problems [36]. In the 1960s, researchers tended to design definite shaping methods with polynomial time complexity in order to find the optimal solution to the shop scheduling problem. These methods include integer programming [37], dynamic programming, branch and bound method [38] and backtracking algorithm [39], etc. But these algorithms can solve a limited number of examples, the experiments show that even today’s mainframe computers cannot solve them in an acceptable time. In the 1970s, researchers conducted an in-depth study on the computational complexity of scheduling problems, proving that the vast majority of scheduling problems are NP-complete problems [40, 41]. Instead of seeking the optimal solutions to the problems by exact algorithms, researchers seek the satisfactory solution of the problems by approximate algorithms in an acceptable time. Therefore, a heuristic method is proposed to solve the problem. Panwalkar [42] summarized 113 scheduling rules and divided them into three categories: simple rules, compound rules, and heuristic rules. Since the 1980s, with the intersection of computer technology, life science, and engineering science, the meta-heuristic algorithms developed by imitating the mechanism of natural phenomena have been applied to solve scheduling problems and has shown the potential of solving largescale scheduling problems, including genetic algorithm, tabu search, constraint satisfaction algorithm, particle swarm optimization algorithm, ant colony algorithm, etc. The researchers improve the above algorithms all the time and also propose some novel algorithms. The occurrence and development of these algorithms have greatly promoted the development of the scheduling problems.

1.3 Integrated Process Planning and Shop Scheduling The research on the integration of process planning and shop scheduling began in the mid-1980s [43–45]. Chryssolouris and Chan [46, 47] first put forward the concept of process planning and workshop scheduling integration in the mid-1980s. Beckendorff [48] then USES alternative process paths to add flexibility to the system. Khoshnevis [49] introduced the idea of dynamic feedback into the integration of process planning and workshop scheduling. The integrated model proposed by Zhang [50] and Larsen [51] not only inherits the idea of alternative process route and dynamic feedback, but also embodies the idea of hierarchical planning to a certain extent. In recent years, domestic and foreign researchers have conducted a lot of researches on the integration of process planning and workshop scheduling, and put forward various integration models and research methods to enrich the research on the integration of process planning and workshop scheduling [43, 52]. At present, in view of the integration of process planning and shop scheduling, the researchers have put forward some integration models, which can be roughly summarized into the following three categories [53]: non-linear process planning, closed-loop process planning, and distributed process planning. Their common characteristic is to make use of the integration of process planning and shop scheduling,

1.3 Integrated Process Planning and Shop Scheduling

7

and give full play to the flexibility of the process planning system through some improvement of the process planning system, so as to improve the flexibility of the whole integrated system. (1) Non-linear process planning Non-linear Process Planning (NLPP) model is based on static manufacturing environment. It aims to generate all possible process routes before each part entering into the shop. According to the optimization objective of process planning, each optional technology is given a certain priority. And then according to specific resources and shop status, the shop scheduling system chooses the optimal process route. Most of the existing literature on the integration of process planning and shop scheduling have adopted the idea of this integration model. The advantage of this model is that all possible process routes are generated, which expands the optimization space of shop scheduling and is conducive to finding the optimal process route. The disadvantage is that all possible process routes are generated, which increases the storage space of the system. The optimization search for all process routes increases the calculation time, which may cause that satisfactory solutions cannot be found in an acceptable time. Its specific forms are as follows: Non-linear Process Planning (NPP), Multiprocess Planning (MPP), and Alternative Process Planning (APP). The above forms are not different in nature only in description. Non-linear Process Planning: when making a craft route, all of the process routes of the processed parts are generated. All of them are stored in the database, according to the premise of optimization, the selection of process route after evaluation sequence determines the priority. The process route with the highest priority is first selected to see if it is suitable for the current resource status. If not, select another route with the second priority, and so on until a satisfactory process route is found. Literature [54] proposed an integrated model of non-linear process planning in FMS. Lee [55] proposed a non-linear process planning model based on genetic algorithm, which can greatly reduce scheduling time and product delay. Literature [54] proposed the integration method of FMS-oriented flexible process planning and production scheduling based on a unified resource database under the idea of concurrent engineering. Literature [56] proposed a non-linear process based on Petri net, which has been widely used in the flexible production scheduling system. Jablonski [57] introduced the concept of flexible integrated system (the system includes three subsystems, namely, feature recognition system, static process planning system, and dynamic resource allocation system), and introduced some applications of the system. Multi-process planning [58]: it can be generally expressed by tree structure, which is called process route tree. Nodes in the tree represent the processing process, edges represent the sequence relationship between processing processes, a path from root to leaf represents a process route scheme, and a path from any non-root to leaf represents a subprocess route scheme. The job processing process is equivalent to the search process of process route tree. Literature [59, 60] uses a coevolution algorithm to realize multi-process route decision and integration of process planning and production scheduling. Literature [60] proposed a scheduling system supporting multi-process routes based on a negotiation mechanism. Literature [61] designed a

8

1 Introduction for Integrated Process Planning and Scheduling

system based on characteristics of process planning, the product shape design of the machine tool machine manufacturing characteristics, manufacturing resource capability information, and process knowledge rules, design process. And according to the machine load information for each process route allocation, the rationality of various scheduling schemes was evaluated. Literature [62, 63] summarized the mixed integer programming model of the shop scheduling problem based on the multiprocess route, and proposed two solutions. Literature [64] proposed an integrated mechanism of process planning and shop scheduling based on multi-process routes. Optional process planning: the basic idea is to produce a variety of optional process routes on the basis of the various constraints of the part process route, so as to improve the flexibility of process planning and provide convenience for production scheduling. By analyzing the objective of production scheduling integration, Literature [65] pointed out that these problems can be solved by reducing the optional factors of the optional process route, optimizing and linearizing the optional process planning decision-making process. Literature [66] proposed an optimization algorithm to solve the shop scheduling problem based on alternative process routes under the JIT production environment. Literature [67] used the branch and bound method to solve the integration problem of process planning and shop scheduling based on alternative process plans. Literature [68] proposed two meta-heuristic algorithms (genetic algorithm and tabu search algorithm) to solve the integration problem of process planning and shop scheduling based on alternative process planning. References [69, 70], respectively, adopted simulated annealing and improved genetic algorithm to solve this problem. NLPP is the most basic model for the integration of process planning and shop scheduling. Because the integration idea of this model is simple and easy to be operated, the existing research on the integration model mainly focuses on this model. (2) Closed-loop process planning Closed-Loop Process Planning (CLPP) model generates process route according to the shop resource information feedback from the scheduling system, so CLPP can better consider the state of shop resources and the generated process route is feasible compared with the current production environment. Real-time state data is the key of CLPP, and dynamic process planning is carried out according to real-time feedback information. Its specific forms are as follows: closed-loop Process Planning, Dynamic Process Planning, and On-Line Process Planning (OLPP). Closed-loop process planning: it is a dynamic process planning system for the shop [71], which generates real-time optimized process routes through the dynamic feedback of shop resource information. The shop scheduling system feeds back the currently available equipment status of the shop to the draft process line, so that it can be changed and adjusted in time, and thus improve the feasibility of the process plan. Process design integrates operation planning and production scheduling system together to form a closed loop for automatic adjustment of process route. This kind of dynamic system can obviously improve the real-time performance, guidance, and operability of the process planning system. Literature [72, 73] proposed a dynamic

1.3 Integrated Process Planning and Shop Scheduling

9

optimization mechanism for the integration of process planning and shop scheduling in a batch manufacturing environment. Dynamic process planning: it is based on the real-time dynamic scheduling information feedback from the shop scheduling system to generate the process route. At this time, the generated process route better considers the real-time situation of workshop resources, and thus to improve the feasibility of the process route. Literature [74] studied the dynamic CAPP system and put forward the network architecture, functional modules, and flowchart of the dynamic CAPP system. The system can make timely response and feedback to the changing workshop working environment and adjust the process route in time, so as to provide correct guidance to the production practice. Literature [75] studied an integrated model of the dynamic process planning system, and realized the dynamic selection of processing resources based on BP neural network, so as to produce a process route meeting the production conditions of the shop. Literature [76] divided the dynamic process planning into two stages according to functions: static planning stage and dynamic planning stage, and focused on the static planning stage. Literature [71] pointed out the problems existing in the traditional process planning system. To solve these problems, dynamic process planning system is introduced. The process route generated by the dynamic process planning system can better adapt to the actual situation of the shop and the needs of scheduling. Literature [77] combined the function of process planning and shop scheduling, and used a priority allocation method combined with parallel allocation algorithm, which used time window plan to control the allocation quantity of each stage. The dynamic process planning system mentioned in literature [78] can not only make the initial process route, but also make the process route according to the feedback of the integrated system. The process module, decision-making algorithm, and control strategy of the system were studied. Literature [79] proposed and constructed a multitask process route optimization decision-making model of the noncooperative game. On-line process planning: it is integrated by considering the specific situation of the shop. This helps the process line to adapt to the real-time production situation. The most important part of the scheme is the real-time information of the workshop and the dynamic feedback of scheduling. Literature [74] discussed the importance of process planning and shop scheduling system integration, and proposed a method to make on-line process planning specific, and carried out a simulation on it, and achieved good results. Literature [80] proposed scheduling system based on the selected machine tool, the complete scheduling simulation to determine the process route at the same time, considering workshop equipment utilization rate, fault, and processing cost of the specific situation of the on-line process route design, according to the purchase cost, use cost of the machine tool, process factors such as the number and alternative machine, every working procedure to calculate the coefficient of scheduling and process planning system. CLPP makes use of the feedback mechanism in the integration principle, which can better realize the integration of process planning and shop scheduling. However, since the existing CLPP only provides the interface of information and function, the depth of the coupling of information and function is not enough. How to improve

10

1 Introduction for Integrated Process Planning and Scheduling

the coupling depth of CLPP information and function is a problem to be solved. Moreover, CLPP needs to collect real-time information about workshop resources. How to represent, transmit, and process real-time information of workshop resources is also a problem to be solved. (3) Distributed process planning [81] Distributed Process Planning (DPP) can be expressed in the following forms: Distributed Process Planning, Concurrent Process Planning, and Collaborative Process Planning. Distributed Process Planning: it is also known as just-in-time Process Planning (JTPP) [45]. In this model, process planning and scheduling are completed synchronously. The process planning and scheduling are divided into two stages: the first stage is the preliminary planning stage. In this stage, features and characteristics and the relationship between the parts are mainly analyzed. And according to the features of parts information, the initial processing method is determined, as well as the processing of resources (such as raw materials, processing equipment, etc.) are preliminary estimated. The second stage is the detailed planning stage. The main task is to match the information of shop processing equipment and production task, and generate a complete process route and scheduling plan. Literature [82] systematically elaborated the conceptual model of parallel distributed integration, and adopted the multilevel distributed hierarchical structure different from the traditional process planning system structure, so as to better realize the integration of them and effectively solve the existing production problems. The hierarchical planning idea and the integrated model proposed in literature [83] were the specific forms of distributed process planning. Literature [45] made a more specific description of timely process planning, and gave the model frame diagram of timely process planning. Literature [84] briefly mentioned the model of distributed process planning and pointed out that it was a decentralized integration method among multilevel functional modules. Literature [85] proposed a two-level hierarchical model to integrate process planning and workshop scheduling. A distributed process planning method was proposed in literature [86], and Multi-Agent System (MAS) was adopted to construct the framework of the proposed method. Parallel process planning: it uses the idea of concurrent engineering to divide process design and production scheduling into several levels. The parts related to process design and production scheduling are integrated, respectively, at each level, so as to realize the purpose of mutual cooperation and common decision-making. Literature [87] is the process planning based on concurrent engineering. Based on concurrent engineering theory, the integration of process planning system with process segmentation design and production scheduling system based on an extended time rescheduling strategy is proposed, and the effectiveness and feasibility of the system are proved by examples. Literature [88] proposed and verified the parallel integration model of process planning and production scheduling in the distributed virtual manufacturing environment. Literature [89] proposed the framework of parallel integrated process planning system based on Holon, which divided the process planning into three stages: preliminary design stage, decision-making stage, and

1.3 Integrated Process Planning and Shop Scheduling

11

detailed design stage of process planning. It integrated CAD, process planning, and production scheduling system with concurrent engineering thought. An Integrated Process Planning/Production Scheduling system (IP3S) based on parallel engineering was proposed in literature [90]. In Literature [91], an integrated process planning and workshop scheduling system was designed and applied to the Holonic manufacturing system. Collaborative process planning: the resource condition of workshop is taken into consideration as well as the process planning, so that both process planning and scheduling plan can be carried out cooperatively. Literature [92] proposed an integrated model of collaborative process planning and workshop scheduling system, including three modules: shop resource evaluation module, scheduling evaluation module, and process planning evaluation module. And then the three modules are integrated by using the collaborative mechanism. A collaborative process planning system framework based on a real-time monitoring system was proposed in Literature [93]. And the design and use of functional modules in the integrated system were introduced in detail. The basic idea of DPP is hierarchical planning. This model considers the integration of the process planning system and the shop scheduling system in the early stage, and the process planning and scheduling plan are always carried out in parallel. Both sides reflect the interaction, coordination and cooperation on the whole integrate the decision-making process. However, its ability to optimize process route and schedule is not enough, so this model can be integrated with other models to improve its overall optimization.

References 1. Xu HZ, Li DP (2008) Review of process planning research with perspectives. Manufac Auto 30(3):1–7 2. Mahmood F (1998) Computer aided process planning for Wire Electrical Discharge Machining (WEDM), [PhD Thesis]. University of Pittsburgh 3. Pande SS, Walvekar MG (1989) PC-CAPP- A computer assisted process planning system for prismatic components. Comput Aided Eng J, 133–138 4. Ramesh MM (2002) Feature based methods for machining process planning of automotive power-train components, [PhD Thesis]. University of Michigan 5. Chang TC, Wysk RA (1985) An introduction to automated process planning systems. Prentice Hall, New Jersey 6. Deb S, Ghosh K, Paul S (2006) A neural network based methodology for machining operations selection in computer aided process planning for rotationally symmetrical parts. J Intell Manuf 17:557–569 7. Scheck DE (1966) Feasibility of automated process planning, [PhD Thesis]. Purdue University 8. Berra PB, Barash MM (1968) Investigation of automated planning and optimization of metal working processes. Report 14, Purdue Laboratory Fir Applied Industrial Control 9. Yang YT (2006) Study on the key technoligies of cooperative CAPP system supporting bilinggual languages, [PhD Thesis]. Nanjing, Nanjing University of Aeronautics and Astronautics, 2006.4 10. Du P, Huang NK (1990) Principle of computer aided process design. Beihang University Press, Beijing

12

1 Introduction for Integrated Process Planning and Scheduling

11. Wang XK (1999) Computer aided manufacturing. Tsinghua University Press, Beijing 12. Zhang H, Alting L (1994) Computerized manufacturing process planning systems. Chapman & Hall 13. Shao XY, Cai LG (2004) Modern CAPP technology and application. Machinery Industry Press, Beijing 14. Wu FJ, Wang GC (2001) Research and development of CAPP. J North China Ins Technol 22(6):426–429 15. Wang ZB, Wang NS, Chen YL (2004) Process route optimization based on genetic algorithm. J Tsinghua Uni 44(7):988–992 16. Zhang W, Xie S (2007) Agent technology for collaborative process planning: a review. Int J Adv Manuf Technol 32:315–325 17. Li WD, Ong SK, Nee AYC (2002) Hybrid genetic algorithm and simulated annealing approach for the optimization of process plans for prismatic parts. Int J Prod Res 40(8):1899–1922 18. Li L, Fuh JYH, Zhang YF, Nee AYC (2005) Application genetic algorithm to computeraided process planning in distributed manufacturing environments. Robot Comput Int Manufac 21:568–578 19. Kingsly D, Singh J, Jebaraj C (2005) Feature-based design for process planning of machining processes with optimization using genetic algorithms. Int J Prod Res 43(18):3855–3887 20. Zhang F, Zhang YF, Nee AYC (1997) Using genetic algorithm in process planning for job shop machining. IEEE Trans Evol Comput 1(4):278–289 21. Li XY, Shao XY, Gao L (2008) Optimization of flexible process planning by genetic programming. Int J Adv Manuf Technol 38:143–153 22. Li WD, Ong SK, Nee AYC (2004) Optimization of process plans using a constraint-based tabu search approach. Int J Prod Res 42(10):1955–1985 23. Veeramani D, Stinnes AH, Sanghi D (1999) Application of tabu search to process plan optimization for four-axis CNC turning centre. Int J Prod Res 37(16):3803–3822 24. Ma GH, Zhang YF, Nee AYC (2000) A simulated annealing based optimization algorithm for process planning. Int J Prod Res 38(12):2671–2687 25. Guo YW, Mileham AR, Owen GW, Li WD (2006) Operation sequencing optimization using a particle swarm optimization approach. Proc IMechE Part B: J Eng Manufac 220:1945–1958 26. Tiwari MK, Dashora Y, Kumar S, Shankar R (2006) Ant colony optimization to select the best process plan in an automated manufacturing environment. Proc IMechE Part B: J Eng Manufac 220:1457–1472 27. Krishna AG, Rao KM (2006) Optimization of operations sequence in CAPP using an ant colony algorithm. Int J Adv Manuf Technol 29:159–164 28. Dashora Y, Tiwari MK, Karunakaran KP (2008) A psycho-clonal-algorithm-based approach to the solve operation sequencing problem in a CAPP environment. Int J Prod Res 21(5):510–525 29. Chan FTS, Swarnkar R, Tiwari MK (2005) Fuzzy goal-programming model with an Artificial Immune System (AIS) approach for a machine tool selection and operation allocation problem in a flexible manufacturing system. Int J Prod Res 43(19):4147–4163 30. Ming XG, Mak KL (2000) A hybrid hopfield network-genetic algorithm approach to optimal process plan selection. Int J Prod Res 38(8):1823–1839 31. Zhang CY (2006) Research on the theory and application of job shop scheduling based on natural algorithm, [PhD Thesis]. Wuhan, School of Mechanical Science & Engineering of HUST, 2006.12 32. Pinedo M (2000) Scheduling: theory, algorithms, and systems (2nd Edition). Prentice-Hall, Inc 33. Graves SC (1981) A review of production scheduling. Oper Res 29(4):646–675 34. Jacek B, Klaus HE, Erwin P, Gunter S, Jan W (2007) Handbook on scheduling: from theory to applications. Springer-Verlag 35. Pan QK (2003) Research on multiobjective shop scheduling in manufacturing system, [PhD Thesis]. Nanjing, School of mechanical and electrical engineering, Nanjing University of Aeronautics and Astronautics, 2003.3 36. Johnson SM (1954) Optimal two and three-stage production scheduling with set-up times included. Naval Research Logistics Quarterly 1:64–68

References

13

37. Manner AS (1960) On the job-shop scheduling problem. Oper Res 8:219–223 38. Lomnicki Z (1965) A branch and bound algorithm for the exact solution of the three machine scheduling problem. Electr Eng 19(2):87–101 39. Golomb SW, Baumert LD (1965) Backtrack programming. J ACM 12:516–524 40. Garey MR, Graham RL, Johnson DS (1978) Performance guarantees for scheduling algorithms. Oper Res 26:3–21 41. Gonzalez T, Sahni S (1978) flow shop and job shop schedules: complexity and approximation. Oper Res 26:36–52 42. Panwalkar SS, Iskander W (1977) A survey of scheduling rules. Oper Res 25(1):45–61 43. Tan W, Khoshnevis B (2000) Integration of process planning and scheduling—a review. J Intell Manuf 11:51–63 44. Kumar M, Rajotia S (2005) Integration of process planning and scheduling in a job shop environment. Int J Adv Manuf Technol 28(1–2):109–116 45. Wu DZ, Yan JQ, Jin H (1999) Research status and progress of CAPP and PPC integration. J Shanghai Jiaotong Uni 33(7):912–916 46. Chryssolouris G, Chan S, Cobb W (1984) Decision making on the factory floor: an integrated approach to process planning and scheduling. Robot Comput Int Manufac 1(3–4):315–319 47. Chryssolouris G, Chan S (1985) An integrated approach to process planning and scheduling. Annals CIRP 34(1):413–417 48. Beckendorff U, Kreutzfeldt J, Ullmann W (1991) Reactive workshop scheduling based on alternative routings. In: Proceedings of a conference on factory automation and information management. Florida: CRC Press Inc, 875–885 49. Khoshnevis B, Chen QM (1989) Integration of process planning and scheduling function. In: IIE integrated systems conference & society for integrated manufacturing conference proceedings. Atlanta: Industrial Engineering & Management Press, 415–420 50. Zhang HC (1993) IPPM-A prototype to integrated process planning and job shop scheduling functions. Annals CIRP 42(1):513–517 51. Larsen NE (1993) Methods for integration of process planning and production planning. Int J Comput Integr Manuf 6(1–2):152–162 52. Wang L, Shen W, Hao Q (2006) An overview of distributed process planning and its integration with scheduling. Int J Comput Appl Technol 26(1–2):3–14 53. Deng C, Li PG, Luo B (1997) Research on the integration of job planning and process design. J Huazhong Uni Sci Technol 25(3):16–17 54. Zhang ZY, Tang CT, Zhang JM (2002) Application of genetic algorithm in flexible capp and production scheduling integration. Comput Int Manufac Sys 8(8):621–624 55. Lee H, Kim S (2001) Integration of process planning and scheduling using simulation based genetic algorithms. Int J Adv Manuf Technol 18:586–590 56. Li JL, Wang ZY (2003) Flexible process planning based on Petri net. J Yanshan Uni 27(1):71–73 57. Jablonski S, Reinwald B, Ruf T (1990) Integration of process planning and job shop scheduling for dynamic and adaptive manufacturing control. IEEE, 444–450 58. Sun RL, Xiong YL, Du RS (2002) Evaluation of process planning flexibility and its application in production scheduling. Comp Int Manufac Sys 8(8):612–615 59. Yang YG, Zhang Y, Wang NS (2005) Research on multi-process route decision based on coevolutionary algorithm. Mec Sci Technol 24(8):921–925 60. Kim KH, Song JY, Wang KH (1997) A negotiation based scheduling for items with flexible process plans. Comput Ind Eng 33(3–4):785–788 61. Yang YN, Parsaei HR, Leep HR (2001) A prototype of a feature-based multiple-alternative process planning system with scheduling verification. Comput Ind Eng 39:109–124 62. Kim K, Egbelu J (1998) A mathematical model for job shop scheduling with multiple process plan consideration per job. Produc Plan Cont 9(3):250–259 63. Kim K, Egbelu P (1999) Scheduling in a production environment with multiple process plans per job. Int J Prod Res 37(12):2725–2753 64. Jain A, Jain P, Singh I (2006) An integrated scheme for process planning and scheduling in FMS. Int J Adv Manuf Technol 30:1111–1118

14

1 Introduction for Integrated Process Planning and Scheduling

65. Lan GH, Wang LY (2001) An alternative process planning decision process integrating CAD/CAPP/CAM/CAE with production scheduling. Mod Manufac Eng 10:24–25 66. Thomalla C (2001) Job shop scheduling with alternative process plans. Int J Prod Econ 74:125– 134 67. Gan P, Lee K (2002) Scheduling of flexible sequenced process plans in a mould manufacturing shop. Int J Adv Manuf Technol 20:214–222 68. Kis T (2003) Job shop scheduling with processing alternatives. Eur J Oper Res 151:307–332 69. Li WD, McMahon C (2007) A simulated annealing—based optimization approach for integrated process planning and scheduling. Int J Comput Integr Manuf 20(1):80–95 70. Shao XY, Li XY, Gao L, Zhang CY (2009) Integration of process planning and scheduling-a modified genetic algorithm-based approach. Comput Oper Res 36(6):2082–2096 71. Wang ZB, Chen YL, Wang NS (2004) Research on dynamic process planning system considering decision about machines. In: Proceeding of the 5th world congress on intelligent control and automation, June 15–19, Hangzhou, and P.R. China:2758–2762 72. Wang J, Zhang YF, Nee AYC (2002) Integrating process planning and scheduling with an intelligent facilitator. In: Proceeding of the 10th international manufacturing conference in China (IMCC2002) Xiamen, China, October 73. Zhang Y, Saravanan A, Fuh J (2003) Integration of process planning and scheduling by exploring the flexibility of process planning. Int J Prod Res 41(3):611–628 74. Shen B, Tao RH (2004) Research on dynamic CAPP system integrating process planning and production scheduling. Combin Mac Tool Auto Mac Technol 5:45–48 75. Wang ZB, Wang NS, Chen YL (2005) Research on dynamic CAPP system and processing resource decision method. CAD Network World 76. Usher JM, Fernandes KJ (1996) Dynamic process planning-the static phase. J Mater Process Technol 61:53–58 77. Khoshnevis B, Chen Q (1990) Integration of process planning and scheduling functions. J Intell Manuf 1:165–176 78. Seethaler RJ, Yellowley I (2000) Process control and dynamic process planning. Int J Mach Tools Manuf 40:239–257 79. Lin Ye (2006) Research on process route optimization method for multi-manufacturing tasks. Chinese Mechanic Eng 17(9):911–918 80. Baker RP, Maropoulos PG (2000) An architecture for the vertical integration of tooling considerations from design to process planning. Rob Comp Int Manufac 6:121–131 81. Wang LH, Shen WM (2007) Process planning and scheduling for distributed manufacturing. Springer-Verlag 82. Wu DZ, Yan JQ, Wang LY (1996) Research on parallel distributed integration of CAPP and PPC. J Shanghai Jiaotong Uni 12(30):1–6 83. Tang DB, Li DB, Sun Y (1997) Research on integration of CAPP and job shop plan. Chinese Mechanic Eng 8(6):15–17 84. Li JL, Wang ZY, Wang J (2002) Formal logic expression of flexible process and its database structure. Manufact Auto 24:25–28 85. Brandimarte P, Calderini M (1995) A hierarchical bi-criterion approach to integrated process plan selection and job shop scheduling. Int J Prod Res 33(1):161–181 86. Wang L, Shen W (2003) DPP: an agent based approach for distributed process planning. J Intell Manuf 14:429–439 87. Hua GR, Zhao LX, Zhou XH (2005) Research on integration of capp and production scheduling based on concurrent engineering. Manufacturing Automation 27(3):45–47 88. Wu SH, Fuh JYH, Nee AYC (2002) Concurrent process planning and scheduling in distributed virtual manufacturing. IIE Trans 34:77–89 89. Zhang J, Gao L, Chan FTS (2003) A holonic architecture of the concurrent integrated process planning system. J Mater Process Technol 139:267–272 90. Sadeh N, Hildum D, Laliberty T, McANulty J, Kjenstad D, Tseng A (1998) A blackboard architecture for integrating process planning and production scheduling. Concur Eng Res Appl 6(2):88–100

References

15

91. Sugimura N, Shrestha R, Tanimizu Y, Iwamura K (2006) A study on integrated process planning and scheduling system for holonic manufacturing. Process planning and scheduling for distributed manufacturing, 311–334. Springer 92. Kempenaers J, Pinte J, Detand J (1996) A collaborative process planning and scheduling system. Adv Eng Softw 25:3–8 93. Wang LH, Song YJ, Shen WM (2005) Development of a function block designer for collaborative process planning. In: Proceeding of CSCWD2005, 24–26. Coventry, UK 94. Saygin C, Kilic SE (1999) Integrating flexible process plans with scheduling in flexible manufacturing systems. Int J Adv Manuf Technol 15:268–280 95. Kim Y, Park K, Ko J (2003) A symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling. Comput Oper Res 30:1151–1171

Chapter 2

Review for Flexible Job Shop Scheduling

2.1 Introduction Production scheduling is one of the most critical issues in manufacturing systems and has been extensively studied in the literature [1]. Production scheduling is concerned with allocating available production resources to tasks and deciding the sequence of operations so that all constraints are met and the optimization objectives are optimized [2]. One of the most famous production scheduling problems is the Job shop Scheduling Problem (JSP), which is NP-hard [3]. In the JSP, a set of jobs are to be processed on a set of machines. Each job needs a sequence of consecutive operations, each of which requires exactly one machine, where the operations of each job, the machine processing operation, and the time of operation are predefined [4]. Flexible Job shop Scheduling Problem (FJSP) is an extension of the JSP, which is also NP-hard [5]. Different from the JSP, in the FJSP, for each operation, there exists a set of available machines to be selected. This increases the flexibility of scheduling, while also increases the complexity, which makes the FJSP more complex than JSP [6]. Moreover, the FJSP has many significant applications in a series of real-world scenarios, thus, it has attracted a lot of attention [4]. This chapter describes the FJSP briefly, and then reviews many existing solution methods in the recent literature, which are illustrated from three aspects of exact algorithms, heuristics, and meta-heuristics. Furthermore, this chapter also presents future research trends and opportunities in detail. The rest of the chapter is organized as follows. Section 2.2 refers to the description of the FJSP. Section 2.3 reviews various solution approaches comprehensively. Section 2.4 surveys the real-world applications of the FJSP. Finally, Sect. 2.5 discusses development trends and future research opportunities.

© Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_2

17

18

2 Review for Flexible Job Shop Scheduling

2.2 Problem Description The FJSP can be illustrated as follows [6]. A set of n jobs J = {J1 , J2 , . . . , Jn } are to be processed on a set of m machines M = {M1, M2 , . . . , Mm }. Each job J i has a sequence of pi operations Oi1 , Oi2 , . . . , Oi pi , which are processed according to a given sequence. Each operation can be processed on several machines in M. The FJSP is to determine the most appropriate machine for each operation (called machine selection) and the sequence of the operations on machines (called operation sequencing). The optimization objective of the FJSP is to minimize some indicators, e.g., makespan and maximum tardiness. Moreover, there are some assumptions and constraints for the FJSP, which can be listed as follows. (1) (2) (3) (4) (5) (6)

ll machines are available at time zero; All jobs are available after release dates; Each operation can only be processed on one machine at one time; Each machine can only perform one operation at one time; Each operation cannot be interrupted during the processing process; There are no precedence constraints among operations of different jobs, since the jobs are independent of each other. (7) For each job, the sequence of operations is predefined. According to whether all operations can be processed on all machines in M, the FJSP can be classified into two categories, i.e., Total FJSP (T-FJSP) and Partial FJSP (P-FJSP) [7, 8], which are described as follows: (1) T-FJSP: each operation can be processed on all machines in M; (2) P-FJSP: there is at least one operation can only be processed on all machine in M. The T-FJSP can be considered as a special case of the P-FJSP [7]. The FJSP with all kinds of optimization objectives has been widely studied in the literature. Some optimization objectives are summarized in Table 2.1. In Table 2.1, the first column indicates the notations of the optimization objectives, the second column describes corresponding objective functions, the third column explains the meaning of the notations, the fourth gives the interpretation while the fifth provides some corresponding literature.

2.3 The Methods for FJSP More than one hundred recent papers are reviewed in this chapter, which includes many variants of the classical FJSP. Some variants are quite different from the classical FJSP while are more suitable for practical production environments. This section presents a comprehensive survey of various solution techniques for the classical FJSP and its variants. The main solution techniques are classified into three classes, i.e., exact algorithms, heuristics, and meta-heuristics, and summarized comprehensively.

2.3 The Methods for FJSP

19

Table 2.1 Some optimization objectives Notation

Description

Meaning

Interpretation

References

Cmax

max j (C j )

Makespan or maximum completion time

The cost of a schedule depends on how long the entire set of jobs has finished processing

Pezzella et al. [5] Zhang et al. [63]

Tmax

max j (T j )

Maximum tardiness

The maximum difference between the completion time and the due date of a single job

Baykasoglu [162]

Total tardiness

Positive difference between the completion time and the due date of all jobs and there is no reward for early jobs and only penalties incurred for late jobs

Scrich et al. [36] Brandimarte [78]

Mean tardiness

Average difference between the completion time and the due date of a single job

Tay et al. [43] Chen et al. [64]

Maximum lateness

Check how well the due dates are respected, and there is a positive reward for completing a job early

Chen et al. [163]

Ij

Total idle time

The difference between running time and processing time of all machines

Chen et al. [64]

Fj

Total flow time

The time that all jobs spent in the shop

Baykasoglu [162]

Mean flow time

Average time a single job spent in the shop

Tay et al. [43] Chen et al. [64]

Maximum workload

The maximum working time among all machines

Xia and Wu [1] Zhang et al. [117]

Total workload

The total working time on all machines

Kacem et al. [8] Gao et al. [62]

Tt

T

L max

It

Ft F

Wmax

Wt



Tj



 T j /n

max j (L j )







 F j /n

max j (W j ) 

Wj

(continued)

20

2 Review for Flexible Job Shop Scheduling

Table 2.1 (continued) Notation Ot Et

Description  Oj 

Ej

Meaning

Interpretation

References

Total operation cost

The cost value of all operations

Frutos et al. [81] Rabiee et al. [131]

Total energy consumption

The energy consumption of the whole production process

Mokhtari and Hasani [159] Lei et al. [160]

2.3.1 Exact Algorithms In the literature, the researchers presented some exact algorithms to solve the FJSP, most of which are formulated by Integer Linear Programming (ILP) or Mixed ILP (MILP) models. Stecke [9] defined a set of five production planning problems for a Flexible Manufacturing System (FMS) and addresses the grouping and loading problems specifically. These two problems are first formulated in detail as nonlinear 0-1 mixed integer programs. Sawik [10] formulated a multi-level ILP model for FMS. The hierarchical decision structure is proposed which includes part type selection, machine loading, part input sequencing, and operation scheduling. Werra and Widmer [11] presented some ILP models for considering FMS with a tool management of the following type: the system works in time periods whose durations are fixed or not; and tools are loaded on the machines at the beginning of each time period and stay there for the whole time period. Jiang and Hsiao [12] used 0–1 integer programming for FMS considering the operational scheduling problem and the determination of production routing with alternate process plans simultaneously. The approach of mathematical programming generates the optimal schedule, rather than near-optimal schedule or a better schedule, to meet the selected criterion. In order to optimize the allocation of workloads between a job shop and a FMS, Tetzlaff and Pesch [13] proposed some nonlinear optimization models. The models allow to optimize performance parameters like throughput, work-in-process inventory, utilization, and production lead time. Gomes et al. [14] formulated a new ILP model to schedule the flexible job shop, operating on a make-to-order basis. The model considers groups of parallel homogeneous machines, limited intermediate buffers, and negligible setup effects, and they used a commercial MILP software to solve it. Torabi et al. [15] developed a new Mixed Integer Nonlinear Program (MINLP) which simultaneously determines machine allocation, sequencing, lot-sizing, and scheduling decisions to addresses the common cycle multi-product lot-scheduling problem in deterministic flexible job shops where the planning horizon is finite and fixed by management. Özgüven et al. [16] developed a Mixed Integer Linear Programming model (MILP-1) for FJSPs, and compared them to an alternative model (Model F) to verify its superiority. Then, they modified MILP-1 to give rise to MILP2 for the same problem. Elazeem et al. [17] proposed a mathematical model of the primal problem of FJSP where the objective is to minimize the makespan and introduced its dual problem (Abdou’s problem). The optimal value of Abdou’s problem

2.3 The Methods for FJSP

21

is a lower bound for the objective value of the primal problem. Özgüven et al. [18] formulated two mixed integer goal programming models for FJSP which covers process plan flexibility and separable/non-separable sequence-dependent setup times in addition to routing flexibility. In the first model (Model A), the sequence-dependent setup times are non-separable. In the second one (Model B) they are separable. Jahromi and Tavakkoli-Moghaddam [19] presented a novel 0-1 ILP model considering the problem of dynamic machine-tool selection and operation allocation with part and tool movement policies in FMS. The objective of this model is to determine a machine-tool combination for each operation of the part type by minimizing production costs. Roshanaei et al. [20] developed two novel effective position-based and sequence-based MILP models to deal with the FJSP with the objective of minimizing makespan. Birgin et al. [21] proposed a MILP model for an extended version of the FJSP. The extension allows the precedence between operations of a job to be given by an arbitrary directed acyclic graph rather than a linear order. The goal of the model is minimizing the makespan. In addition to formulate ILP models, some researchers employed branch and bound approach to solve FJSP. Berrada and Stecke [22] first discussed a nonlinear integer mathematical programming formulation of the loading problem in FMS. This problem involves assigning to the machine tools, operations, and associated cutting tools. They used a branch and bound approach to balance the workload on all machines. Kim and Yano [23] developed an efficient branch and bound algorithm for the FMS of allocating operations to machine groups so as to maximize throughput while satisfying tool or component storage constraints. Zhou et al. [24] constructed a Petri net model for FMS. A firing sequence of the Petri net from an initial marking to the final one can be seen as a schedule of the modeled FMS. By using the branch and bound algorithm, an optimal schedule of the FMS can be obtained. Lloyd et al. [25] proposed an optimum scheduling algorithm for FMS using Petri net modeling and modified branch and bound search. The scheduling algorithm implemented a global search of the reachability tree and the optimum makespan is obtained through a modified branch and bound search. For minimizing FJSP with work centers (i.e., a variant of makespan), Hansmann et al. [26] derived a MILP model to represent the problem and further proposed a branch & bound method to solve it. Moreover, some researchers have considered the Multi-Objective Flexible Job shop Scheduling Problems (MOFJSPs). Gomes et al. [27] presented a MILP model for the FJSP considering the re-entrant process (multiple visits to the same machine group) and the final assembly stage simultaneously. The optimization objective is minimizing a weighted sum of order earliness, order tardiness, and in-process inventory. Gran et al. [28] formulated a Mixed Integer Goal Programming (MIGP) model to solve the FJSP with two objectives (i.e., minimizing the makespan and the total machining time). They presented an optimal production job shop scheduling strategy based on the solution model and adopted a preemptive goal programming approach by Microsoft Excel Solver Add-Ins to solve this problem.

22

2 Review for Flexible Job Shop Scheduling

2.3.2 Heuristics A lot of heuristics including dispatching rules have been applied to deal with the FJSP in the literature. For instance, Kripa and Tzen [29] compared heuristic methods with the exact mixed integer programming for minimizing the workload and balancing the sequence of jobs in a random flexible manufacturing system. A simulation model is proposed for solving the system performance for the FMS problem with four dispatching rules, i.e., FIFO, SPT, LPT, and MOPR. The search of Chang et al. [30] is to develop and evaluate a beam search heuristic method for addressing the F. The proposed beam search method is more sophisticated than traditional dispatching rules, yet is computationally feasible and yields improved system performance. Ro and Kim [31] discuss heuristics for solving the flexible manufacturing system with three traditional scheduling objectives and one constraint of system utilization. Robert and Kasirajan [32] combined nine dispatching rules with four next station selection rules to investigate a large dedicated flexible manufacturing system. Xiong et al. [33] presented a hybrid search algorithm for scheduling Flexible Manufacturing Systems (FMS). The algorithm combines a heuristic Best-First strategy with a controlled Backtracking strategy. Timed (place) Petri nets are used for problem representation. Their use allows to explicitly formulate concurrent activities, multiple resources sharing, precedence constraints, and dynamic routing in FMS operation. The hybrid heuristic search algorithm is combined with the execution of the timed Petri nets to search for an optimal or near-optimal and deadlock-fee schedule. The backtracking strategy is controllable. Jeong et al. [34] proposed a real-time scheduling method that used simulation and dispatching rules for flexible manufacturing systems. Mati et al. [35] used an integrated greedy heuristic to handle simultaneously the assignment problem and the sequencing problem for the FJSP with more than two jobs. Scrich et al. [36] developed two heuristics, a hierarchical procedure, and a multiple start procedure, based on tabu search for solving FJSP. The procedures use dispatching rules to obtain an initial solution and then search for improved solutions in neighborhoods generated by the critical paths of the jobs in a disjunctive graph representation. In the work of Mejia and Odrey [37], a new Petri net based algorithm, named Beam A* Search (BAS), was presented. This algorithm selectively expands portions of a Petri net reachability graph with the purpose of finding a nearoptimal schedule. The main features of the BAS algorithm presented here include the intelligent pruning of the search space, a controlled search deepening to avoid marking explosion, and the development of new heuristic evaluation functions. To date, Petri net based algorithms have only been tested with relatively small problems with few machines and few jobs. This paper proposes an algorithm that combines the A* search with both an aggressive node-pruning strategy and improved evaluation functions to generate near-optimal schedules. Extensive computational tests were conducted on a wide variety of scenarios ranging from classical job shop to complex FMS scheduling problems. Alvarez-Valdés et al. [38] presented a heuristic to minimize the total cost corresponding to the completion times of jobs for the FJSP in a glass factory. The research of Pitts and Ventura [39] focuses on production

2.3 The Methods for FJSP

23

routing and sequencing of jobs within a flexible manufacturing cell (FMC). A twostage algorithm that minimizes the manufacturing makespan is presented. During Stage I (construction phase), two heuristics are utilized to generate an initial feasible sequence and an initial MS solution. Fattahi et al. [40] developed two heuristics including integrated and hierarchical approaches to solve the FJSP, and six different hybrid searching structures depending on the used searching approach and heuristics were presented in their paper. To cope with the complexities of FMS scheduling, Huang et al. [41] presented a hybrid heuristic search strategy, which combines the heuristic A* strategy with the DF strategy based on the execution of the Petri nets. The search scheme can invoke quicker termination conditions, and the quality of the search result is controllable. This paper investigates a hybrid scheduling strategy in a Petri net framework. Timed Petri nets provide an efficient method for representing concurrent activities, shared resources, and precedence constraints encountered frequently in flexible manufacturing systems. We use a hybrid heuristic algorithm to search for an optimal or near-optimal schedule of a simple manufacturing system with multiple lot sizes for each job type considered. The method invokes quicker termination conditions, and the quality of the search result is controllable. Wang et al. [42] proposed a Filtered-Beam-Search-Based heuristic algorithm (FBSB) to obtain suboptimal schedules for FJSP with multiple objectives, i.e., minimizing makespan, the total workload of machines and the workload of the most loaded machine. The FBSB utilized dispatching rules-based heuristics and explored the search space intelligently to avoid useless search, which may enhance the search speed. An effective composite dispatching rules for solving the multi-objective FJSP has been proposed and analyzed in the article of Tay and Ho [43], which is discovered from the Genetic Programming (GP) approach. Wang and Yu [44] developed the FBSB heuristic algorithm to deal with the variant FJSP problem with maintenance activities. To schedule flexible manufacturing systems efficiently, Lee and Lee [45] proposed new heuristic functions for A* algorithm that is based on T-timed Petri net. In minimizing makespan, the proposed heuristic functions are usually more efficient than the previous functions in the required number of states and computation time. Nie et al. [46] studied a heuristic to solve the dynamic FJSP with job release dates. Based on harmony search and large neighborhood search, Yuan and Xu [47] designed a hybrid two-stage search heuristic for solving large-scale FJSP with makespan criterion. Ziaee [48] proposed an efficient heuristic based on a constructive procedure to obtain high-quality schedules for FJSP with the objective of minimizing makespan. Afterward, to further deal with the distributed FJSP which including the scheduling of jobs in a distributed manufacturing environment, Ziaee [49] developed a heuristic based on a constructive procedure. Gema and Pastor [50] presented a dispatching algorithm to solve a real-world case of the flexible job shop scheduling problem with transfer batches and the objective of minimizing the average tardiness of production orders. In this article, the priority-dispatching rules are applied in a predefined order. And the priority rules have been assigned probabilities based on a randomized variant. Baruwa and Piera [51] presented a simulation-optimization approach employing an anytime search method to optimize FMS scheduling problems modeled with the TCPN formalism. The underlying search graph is based on the CSS of TCPN models

24

2 Review for Flexible Job Shop Scheduling

which group markings of equivalent untimed markings into a state class. The proposed approach combines the column search method with backtracking that offers an anytime behavior in a time-constrained environment. Subsequently, an anytime heuristic search method has been proposed by Baruwa et al. [52] for the DL-free scheduling problem of FMS with shared resources, modeled as a discrete-event system. It finds optimal or near-optimal DL-free schedules for a given initial marking of the system based on the reachability graph of TCPN modeling. The algorithm has been tested extensively on five different cases of DL-prone situations that take into account limitations that arise in realistic manufacturing systems. Gao et al. [53] presented four ensembles of heuristics to schedule the FJSP with new job insertion. The objectives are to minimize makespan, average of earliness and tardiness (E/T), maximum machine workload, and total machine workload. Pérez et al. [54] proposed a new hierarchical heuristic to solve the MOFJSPs, which was an adaptation of Newton’s method for continuous multi-objective unconstrained optimization problems. Sobeyko et al. [55] devised an iterative local search approach, and then hybridized the shifting bottleneck heuristic with the iterative local search and variable neighborhood search to obtain high-quality solutions quickly for the FJSP considering minimizing the total weighted tardiness. Miguel et al. [56] proposed a heuristic method based on Tabu search for solving the FJSP with the constrain of lot streaming. Zadeh et al. [57] designed a heuristic algorithm model for solving a dynamic FJSP with the objective value of Makespan. This model involves the setup time of machines in the dynamic rescheduling. The study of Miguel et al. [58] shows a dispatching rule, used in the practical FJSP. As one of the heuristic algorithms, the effectiveness of the proposed dispatching rule is higher than related swarm intelligence algorithm in practical textile manufacturing. An effective dispatching rule solved the dynamic FJSP with a limited buffer in Teymourifar et al. [59]. A right shift heuristic and Least Waiting Time (LWT) heuristic were effectively proposed based on the stochastic condition of the machine break down. A hybrid priority scheduling rule was extracted by gene expression programming and simulation in the article of Ozturk et al. [60] as well. The proposed scheduling rule is combined with the cellular system for solving the multi-objective and dynamic FJSP. Azzedine et al. [61] proposed two greedy heuristics based on an iterated insertion technique for solving the FJSP with the constraint of transportation time between machines based on a case study.

2.3.3 Meta-Heuristics 2.3.3.1

Population-Based Meta-Heuristics

The population-based meta-heuristics have been widely applied for solving the FJSP, where Genetic Algorithms (GA) perhaps is the most widely utilized. The GA has been not only used to effectively solve the single-objective FJSP, but also used to solve the multi-objective FJSP.

2.3 The Methods for FJSP

25

Frist, the solution methods for FJSP with a single objective are introduced, and makespan is the most common objective. Many meta-heuristic algorithms based on GA have been proposed to solve this problem. For instance, Pezzella et al. [5] presented a GA for the FJSP. The algorithm integrates different strategies for generating the initial population, selecting the individuals for reproduction, and reproducing new solutions. Kacem [51] presented two approaches to solve the FJSP. The first one is the approach by localization, and the second one is genetic algorithms. They applied genetic manipulations to enhance the solution quality. Gao et al. [62] developed a hybrid GA with variable neighborhood descent to address the FJSP with three objectives: minimizing makespan, maximal machine workload, and total workload. An innovative two-vector representation scheme was proposed and an effective decoding method is used to interpret each chromosome into an active schedule. Zhang et al. [63] proposed an effective GA for solving the FJSP to minimize makespan. In the algorithm, an improved chromosome representation scheme is proposed and an effective decoding method interpreting each chromosome into a feasible active schedule is designed. Based on GA and Grouping Genetic Algorithm (GGA), Chen et al. [64] developed a scheduling algorithm for solving FJSP. The objectives of the proposed algorithm are the minimization of multiple performance measures including total tardiness, total machine idle time, and makespan. Chang et al. [65] proposed a GA which embeds the Taguchi method behind mating to increase the effectiveness for solving the FJSP. Nouri et al. [66] proposed a hybridization of two meta-heuristics within a holonic multi-agent model for solving the FJSP. The scheduler agent applies a Neighborhood-based Genetic Algorithm (NGA) for global exploration and the cluster agent uses a local search technique. Jiang et al. [67] presented an improved GA, where a new initialization method is adopted to improve the quality of the initial population and accelerate the convergence speed of the algorithm. For the same problem, Huang et al. [68] also proposed an improved GA, where two effective crossover methods and two mutation methods are conducted. Later, they proposed another improved GA with a new adaptive probability of crossover and mutation in the mating process [69], so that the convergence rate is greatly improved. Then, Driss et al. [70] proposed a GA to solve the FJSP with the objective of minimizing makespan. A new chromosome representation is used to conveniently represent the solution and special crossover and mutation operators are designed. Purnomo et al. [71] developed an improved GA with a knowledge-based system to solve the FJSP. Some heuristics are embedded in the GA for improving the performance. Morinaga et al. [72] developed a GA that takes advantage of knowledge included in heuristic dispatching rules to solve the FJSP. Machine selection and job selection are performed at once to relieve insufficient search of the solution space. In order to improve the exploitation ability of the GA, many researchers combine the GA with local search heuristics. Li et al. [73] proposed a hybrid algorithm that hybridized the GA and Tabu Search (TS) for the FJSP. An Improved Simulated Annealing Genetic Algorithm (ISAGA) was presented by Gu et al. [74] to solve FJSP. In the ISAGA, an X conditional cloud generator in cloud model theory is used to generate the mutation probability and a Simulated Annealing (SA) operation was designed for the variability of results. Zhang et al. [75] developed a Variable Neighborhood Search (VNS) based on GA to

26

2 Review for Flexible Job Shop Scheduling

deal with the FJSP. In their proposed algorithm, some simple local search methods are used to balance exploration and exploitation. Ma et al. [76] proposed a Memetic Algorithm (MA) to solve FJSP. The MA is a hybrid GA combined with two efficient local searches to exploit information in the search region. Cinar et al. [77] proposed a GA with priority-based representation for solving the FJSP. The priority of each operation is represented by a gene on the chromosome. To obtain improved solutions, Iterated Local Search (ILS) was embedded in their algorithm. Other objectives were also considered in the literature, e.g. tardiness. Brandimarte [78] proposed a hierarchical TS algorithm for FJSP considering makespan and total weighted tardiness. Hierarchical strategies have been proposed for complex scheduling problems, and the TS is used to cope with different hierarchical memory levels. A new algorithm by hybridizing GA and VNS was developed by Türkyılmaz and Bulkan [79] to solve the FJSP with the objective of minimizing total tardiness. Parallel-executed VNS algorithm is used in the elitist selection phase of the GA to minimize execution time. For the same objective, Kaweegitbundit et al. [80] proposed a GA that incorporates heuristic rules to solve it. Combinations of five job selection and five machine selection heuristics are embedded in this algorithm. Moreover, there are many researches on devising GA-based approaches to solve MOFJSPs. The basic MOFJSP can be classified by different objective combinations. Frutos et al. [81] proposed a MA, based on the NSGA-II acting on two chromosomes, to solve the MOFJSP. A local search procedure (SA) is added to the genetic stage to avoid the algorithm getting trapped in a local minimum. Yuan et al. [82] proposed a new MA based on Non-dominated Sorting Genetic Algorithm II (NSGA-II) for this problem with the objectives to minimize the makespan, total workload, and critical workload. In their proposed algorithm, a hierarchical strategy is used to handle the three objectives. An optimized algorithm according to a variety of population genetic-variable neighborhood search was proposed by Liang et al. [83] to solve the MOFJSP. The new algorithm aims at minimizing the makespan, obtaining the smallest machine maximum load and the smallest total machine minimum loads. Meanwhile, the new algorithm improves the inherent defects of poor local search ability, premature convergence, and longtime calculation compared with traditional GA. Then, Ren et al. [84] proposed an Immune Genetic Algorithm (IGA) which combined the artificial immune mechanism and GA to solve the MOFJSP with maximizing due time satisfaction and minimizing the total processing costs. Morinaga et al. [85] presented a GA using TS strategy for the MOFJSP with weighted tardiness, setup worker load balance, and work-in-process as objectives. Liang et al. [86] developed a MA in the frame of improved NSGA-II to deal with FJSP. On the basis of NSGA-II, a strategy of improving the elite which is based on circular crowding distance was designed to increase the diversity of population distribution, prevent the algorithm from trapping in local optimum, and avoid the occurrence of premature convergence. Recently, Deng et al. [87] presented a Bee Evolutionary Guiding Non-dominated Sorting Genetic Algorithm II (BEG-NSGA-II) for the MOFJSP with the objectives to minimize the maximal completion time, the workload of the most loaded machine, and the total workload of all machines. To solve the MOFJSP whose objectives are minimizing the longest makespan of workpieces, the load of

2.3 The Methods for FJSP

27

each machine, and the total machine load, Zhang et al. [88] put forward a MultiPopulation Genetic Algorithm (MPGA). Ghasemi et al. [89] presented a classical sum weighted (WS) method and NSGA-II to solve the FJSP with multiple objectives: minimizing completion time of jobs and maximizing machine employment. To generate Pareto-fronts, the algorithm uses the mechanism of variable weights and random selection to change directions in search spaces. Teymourifar et al. [90] proposed two modified NSGA-II algorithms to solve the MOFJSP. The neighborhood structures defined for the problem are integrated into the algorithms to create better generations during the evolutionary process. Recently, there are many variant versions of FJSP shown in the literature. Tayebi et al. [91] proposed a genetic-variable neighborhood search with affinity function to solve the FJSP with Sequence-Dependent Setup Times (SDST), learning effect, and deterioration in jobs. In the same year, an FJSP with cyclic jobs in which jobs must be delivered in determined batch sizes with definite time intervals was studied by Jalilvand-Nejad and Fattahi et al. [92]. They proposed GA and SA to solve this problem, respectively, where GA achieves better performance. To deal with the FJSP considering lot-sizing and SDST, Rohaninejad et al. [93] proposed a novel Mixed Integer Programming (MIP) model based on big bucket time, and developed a new hybrid algorithm by combining GA, Particle Swarm Optimization (PSO), and a local search heuristic. For solving the flexible job shop just-in-time scheduling problem, Rey et al. [94] proposed two meta-heuristics, i.e., GA and PSO. The scheduling objective for just-in-time production is translated into the minimization of the Mean-Square due date Deviation (MSD), quadratically penalizing inventory (earliness) costs, and backlogging (tardiness) costs. To handle a complex JSP with characteristics of re-entrant and flexible, Zhang et al. [95] proposed an improved GA with a comprehensive search mechanism to overcome the contradiction between convergence rate and convergence accuracy. Li et al. [96] proposed an improved GA to solve the FJSP with small-batch customization. Based on the experience, the standard GA was improved by designing a genetic operator based on dynamic procedure encoding, reserving the optimal individual, and meeting requirements of FJSP. For solving the distributed FJSP, Chang et al. [97] proposed a hybrid GA with a novel encoding mechanism to solve invalid job assignments. For the same problem, Lu et al. [98] proposed an improved GA to solve it. In this algorithm, they developed a 1D-to-3D decoding method to convert a 1D chromosome into a 3D solution. Azzouz et al. [99] proposed a self-adaptive evolutionary algorithm that combined GA with VNS and ILS to solve FJSP with SDST and learning effects. Elgendy et al. [100] put forward a modified GA which incorporated the traditional procedures of GA with a repair strategy to optimize the makespan of dynamic FJSP. Chen et al. [101] proposed a modified meta-heuristics algorithm, based on GA in which gene encoding is divided into process encoding and machine encoding, to solve the FJSP with different varieties and small batches. An initialization operation associated with the time matrix was introduced to accelerate the convergence speed and the generation gap coefficient was applied to guarantee the survival rate of superior offspring. For solving the dynamic FJSP considering machine failure, urgent job arrival, and job damage as disruptions, Wang et al. [102] proposed a dynamic rescheduling method

28

2 Review for Flexible Job Shop Scheduling

based on Variable Interval Rescheduling Strategy (VIRS). Meanwhile, they proposed an improved GA to solve the dynamic FJSP with the objective of minimizing makespan. Peng et al. [103] presented a GA to solve a double resource FJSP. Both machines and workers were considered in the process of job shop scheduling. In this algorithm, a new well-designed three-layer chromosome encoding method has been adopted and some effective crossover and mutation operators are designed. For the MOFJSP under random machine breakdown, Ahmadi et al. [104] applied two evolutionary algorithms, i.e., NSGA-II and NRGA, to combine the improvement of makespan and stability simultaneously. For bi-objective FJSP under stochastic processing times, Yang et al. [105] proposed an NSGA-II to solve it with consideration of the completion time and the total energy consumption. Wang et al. [106] proposed an effective MA that combined NSGA-II with a local search method for simultaneously optimizing fuzzy makespan, average agreement index, and minimal agreement index. A variable neighborhood local search was specially developed to enhance exploitation ability. Due to the importance of environmental protection in recent years, carbon emissions and energy consumption are considered in MOFJSP. Jiang et al. [107] proposed a modified NSGA-II to solve the MOFJSP considering energy consumption. Yin et al. [108] proposed a new low-carbon flexible job shop mathematical scheduling model and addressed a Multi-Objective Genetic Algorithm (MOGA) based on a simplex lattice design to solve this problem. For the MOFJSP with the objectives of minimizing total carbon footprint and total late work criterion, Piroozfard et al. [109] proposed an improved MOGA and compared it with NSGA-II and the strength of Pareto evolutionary algorithm to verify its superiority. For FJSP with energy-saving measures, Wu et al. [110] considered when to turnon/off machines and which speed level to choose as two measures to save energy and proposed an energy consumption model to compute the energy consumption for a machine in different states. Then, they developed a Non-dominated Sorted Genetic Algorithm (NSGA) to solve this problem. Zhang et al. [111] proposed a model of low-carbon scheduling for FJSP. For quantifying the carbon emission of different scheduling plans, they put forward three carbon efficiency indicators to estimate the carbon emission of parts and machine tools, and proposed a hybrid NSGA-II for solving this problem. Azzouz et al. [112] proposed a hybrid algorithm based on GA and VNS to solve the FJSP considering sequence-dependent setup times with two kinds of objectives function, makespan, and bi-criteria objective function. In addition to GA, other population-based meta-heuristics have also been applied, many of them have been used to solve the classical FJSP with the objective of minimizing makespan. For instance, Marzouki et al. [113] proposed a new multi-agent model based on the meta-heuristics Chemical Reaction Optimization (CRO) to solve FJSP with the objective of minimizing makespan. Afterward, they hybridized the CRO with TS to deal with the same problem [114]. Yang et al. [115] proposed an effective Modified Biogeography-Based Optimization (MBBO) algorithm with machine-based shifting to solve the FJSP with makespan minimization. Then, Lin et al. [116] developed a Hybrid Biogeography-Based Optimization (HBBO) algorithm for solving the FJSP with the makespan criterion. An insertion-based local search heuristics was incorporated into BBO to modify the mutation operator to

2.3 The Methods for FJSP

29

balance the exploration and exploitation abilities. PSO was also often used to solve FJSP with makespan minimization in recent years. Xia and Wu [1] develop an easily implemented hybrid approach combining PSO and SA for the FJSP. The results obtained from the computational study have shown that the proposed algorithm is a viable and effective approach for the MOFJSP, especially for problems on a large scale. Zhang et al. [117] combined a PSO algorithm and a TS algorithm to solve the MOFJSP. The objectives of the hybrid algorithm are minimizing makespan, maximal machine workload, and total workload of machines. Singh et al. [118] proposed a Quantum-Behaved Particle Swarm Optimization (QBPSO) for solving FJSP, which overcomes the drawback of PSO easily getting trapped at a local optimum. Muthiah et al. [119] proposed a hybridization of PSO and the Artificial Bee Colony (ABC) to solve the FJSP with the objective of minimizing makespan. Yi et al. [120] proposed an effective MA which is a combination of TS and GA for the FJSP with the objective of minimizing the makespan. Phu-ang and Thammano [121] proposed a new MA based on Marriage in honey Bees Optimization (MBO) algorithm for solving FJSP. The algorithm employs the incorporation of SA algorithm blended with a set of heuristics to enhance its local search capability. Ge et al. [122] proposed an efficient artificial fish swarm model with the estimation of distribution (AFSA-ED) for the FJSP with the objective of minimizing the makespan. A pre-principle and a post-principle arranging mechanism in this algorithm are designed to enhance the diversity of population. Wang et al. [123] designed a Bacterial Foraging Algorithm (BFO) with an improved adaptive step and stop condition for solving local optimal and premature problems, and then applied this improved algorithm to FJSP. In order to overcome the disadvantage of low efficiency in convergence speed, Wu et al. [124] developed an Elitist Quantum-Inspired Evolutionary Algorithm (EQIEA) to solve the FJSP. Xu et al. [125] proposed an Improved Bat Algorithm (IBA) to solve the FJSP with a new encoding strategy. Wang et al. [126] developed an Improved Ant Colony Optimization (IACO) with high computational efficiency to optimize the makespan for the FJSP. An improved Hybrid Immune Algorithm (HIA) with parallelism and adaptability was proposed by Liang et al. [127] to solve the FJSP with makespan as objective, and a SA is embedded into this hybrid algorithm for avoiding the local optimization. Buddala et al. [128] proposed a Teaching–LearningBased Optimization (TLBO) to solve the FJSP based on the integrated approach with the objective to minimize makespan. A new local search technique followed by a mutation strategy is integrated into TLBO to avoid being trapped at the local optimum. Jiang et al. [129] proposed a Grey Wolf Optimization (GWO) algorithm to deal with the FJSP with the objective of minimizing makespan. In the GWO, an adaptive mutation method is designed to keep the population diversity and avoid premature convergence. Recently, Gaham et al. [130] proposed an Effective Operations Permutation based Discrete Harmony Search (EOP-DHS) approach for tackling the FJSP with makespan criterion. Some population-based meta-heuristics have also been used to solve MOFJSP with multiple different criteria. For example, Rabiee et al. [131] proposed four multiobjective, Pareto-based, meta-heuristics optimization methods to solve the MOFJSP with the objectives of minimizing makespan and total operation costs. Xue et al.

30

2 Review for Flexible Job Shop Scheduling

[132] proposed a Quantum Immune Algorithm (QIA) based on the quantum and immune principles to solve the MOFJSP whose objectives are makespan, workload of machines, and workload of the critical machine. Ma et al. [133] proposed a MA based on the Non-dominated Neighbor Immune Algorithm (NNIA) to tackle the FJSP whose objectives are minimizing makespan and total operation cost. Then, Gong et al. [134] designed a MA with a well-designed chromosome encoding/decoding method to solve MOFJSP whose objective are to minimize the maximum completion time, the maximum workload of machines and the total workload of all machines. Mekni et al. [135] used a Modified Invasive Weed Optimization (MIWO) algorithm to solve the MOFJSP with the criteria to minimize makespan, the total workload of machines, and the workload of the critical machine. Karthikeyan et al. [136] developed a Hybrid Discrete Firefly Algorithm (HDFA) combined with local search to solve the MOFJSP with objectives of minimizing the maximum completion time, the workload of the critical machine, and the total workload of all machines. As with solving the traditional FJSP with makespan criterion, PSO was also often used to solve MOFJSP. For example, Kamble et al. [137] proposed a hybrid algorithm based on PSO and SA to solve the FJSP with five objectives to be minimized simultaneously, i.e., makespan, maximal machine workload, total workload, machine idle time, and total tardiness. Huang et al. [138] proposed a Multi-Objective PSO (MOPSO) integrating with VNS for solving the MOFJSP with three criteria: the makespan, the total workload, and the critical machine workload. Then, they mixed the MOPSO and SA with VNS to solve the same problem and obtained a better solution [139]. Zeng and Wang [140] hybridized Chaotic Simulated Annealing (CSA) with Particle Swarm Improved Artificial Immune (PSIAI) algorithm for solving the MOFJSP with considerations for makespan and processing cost. Zhu et al. [141] proposed a Modified Bat Algorithm (MBA) to solve the MOFJSP, and five neighborhood structures in this algorithm are hybridized with the BA to improve the searching ability. Moreover, there are also many meta-heuristics that also applied to nontraditional FJSP. For instance, Rossi [142] proposed an Ant Colony Optimization (ACO) algorithm based on a disjunctive graph model to deal with FJSP with sequence-dependent setup and transportation times. An effective TLBO was proposed by Xu et al. [143] to solve the FJSP with fuzzy processing time (FJSPF). A bi-phase crossover scheme based on the teaching–learning mechanism and special local search operators are incorporated into the search framework of TLBO to balance the exploration and exploitation capabilities. Liu et al. [144] simplified a dynamic FJSP with fuzzy processing time as a traditional static FJSP with fuzzy processing time and proposed an Estimation of Distribution Algorithm (EDA) to solve the post-transforming problem. As for the remanufacturing scheduling problem modeled as FJSP, Gao et al. [145] proposed a Two-stage Artificial Bee Colony (TABC) algorithm to solve this problem for scheduling and rescheduling with new job(s) inserting. Furthermore, Gao et al. [146] addressed an Improved Artificial Bee Colony (IABC) algorithm to solve the FJSP with fuzzy processing time which objective is to minimize the maximum fuzzy completion time and the maximum fuzzy machine workload. Meng et al. [147] presented a hybrid Artificial Bee Colony (hyABC) algorithm to minimize the total flow time for the FJSP with overlapping in operations. In the proposed hyABC, a dynamic

2.3 The Methods for FJSP

31

scheme is introduced to fine-tune the search scope adaptively. A Knowledge-Guided Fruit fly Optimization Algorithm (KGFOA) with a new encoding scheme was proposed by Zheng et al. [148] to solve the Dual-Resource Constrained Flexible Job shop Scheduling Problem (DRCFJSP) with makespan minimization criterion. Liu et al. [149] formulated a multi-objective optimization model based on FJSP aimed at minimizing carbon footprints of all products and makespan, and designed a Hybrid Fruit fly optimization algorithm (HFOA) to solve the proposed model. Zandieh et al. [150] considered the FJSP with Condition-Based Maintenance (CBM) and proposed an improved Imperialist Competitive Algorithm (ICA) combined with SA to solve this problem. Nouiri et al. [151] developed a Two-Stage Particle Swarm Optimization (2S-PSO) to solve the FJSP under machine breakdowns assuming that there was only one breakdown. Jamrus et al. [152] developed a hybrid approach integrating PSO with a Cauchy distribution and genetic operators (HPSO + GA) for solving the FJSP by finding a job sequence that minimizes the maximum flow time with uncertain processing time. Singh et al. [153] proposed a multi-objective framework based on Quantum Particle Swarm Optimization (QPSO) to solve the FJSP with random machine breakdown. Reddy et al. [154] proposed a new evolutionary-based Multi-Objective TLBO (MOTLBO), which has combined a local search technique to solve the FJSP with machines breakdown as a real-time event. Zhang et al. [155] proposed an approach named HMA which is a combination of Multi-Agent System (MAS) negotiation and Ant Colony Optimization (ACO) to solve FJSP under a dynamic environment. Azzouz et al. [156] proposed a Self-Adaptive Hybrid Algorithm (SAHA) for solving the FJSP where sequence-dependent setup times were considered. This algorithm proposes a new adaptation strategy based on similarity function and archiving process. Aiming at minimizing the total cost for the FJSP with controllable processing times, Mokhtari et al. [157] developed a Scatter Search (SS) to find the best trade-off between processing cost and delay cost. Lu et al. [158] proposed a new Multi-Objective Discrete Virus Optimization Algorithm (MODVOA) for solving the FJSP with controllable processing times, and the objectives are minimizing both the makespan and the total additional resource consumption. Mokhtari and Hasani [159] developed an enhanced evolutionary algorithm incorporated with the global criterion to solve the MOFJSP with three objective functions: minimizing total completion time, maximizing the total availability of the system, and minimizing total energy cost of both production and maintenance operations. Lei et al. [160] developed a Shuffled Frog-Leaping Algorithm (SFLA) based on a three-string coding approach to solve the FJSP with the objectives of minimizing the workload balance and total energy consumption. For solving the Multi-Objective Stochastic Flexible Job shop Scheduling Problem (MOSFJSSP), Shen et al. [161] proposed a modified multi-objective evolutionary algorithm based on decomposition (m-MOEA/D), which made the elitists kept in an archive and preserved in the child generation.

32

2.3.3.2

2 Review for Flexible Job Shop Scheduling

Single Solution Based Meta-Heuristics

Besides population-based meta-heuristics, single solution based meta-heuristics have also often been utilized to solve the FJSP, where Simulated Annealing (SA) is one of the popular ones. For instance, Baykasoglu [162] presented a meta-heuristics based on SA to solve the FJSP considering makespan, mean flow time, number of tardy jobs, maximum tardiness, and total machine idle time. The approach makes use of the grammars from linguistics to represent the FJSP data, and the dispatching rules for the sequencing of operation. Chen et al. [163] developed a scheduling algorithm, including two major modules: the machine selection module and the operation scheduling module, for solving the FJSP. The objectives of the algorithm are maximizing on-time delivery rate and minimizing makespan, the maximum lateness, and the average tardiness. Khalife et al. [164] developed an effective SA for solving the MOFJSP with overlapping in operations. The evaluation criteria of the MOFJSP is makespan, total machine work loading time, and critical machine work loading time. Shivasankaran et al. [165] proposed a new hybrid non-dominated sorting SA to solve the MOFJSP with the objectives of minimizing makespan, critical machine workload, total workload of the machines, and total operating cost. The critical or incapable machine is eliminated by sorting all the nondominant operations, which effectively reduce the computational time complexity of the algorithm. Then, Shivasankaran et al. [166] devised a hybrid sorting immune SA algorithm to solve FJSP. A critical machine isolating strategy in this algorithm is used to improve the local search ability. Bo˙zejko et al. [167] developed double paralyzed SA algorithms including fine-grained vector processing, multiple walk-multi-core processing to deal with the cyclic FJSP. Kaplano˘glu [168] developed a SA algorithm with an Object-Oriented (OO) approach for solving the MOFJSP. The OO approach can reduce the complexity of problem coding by using UML class diagrams. Moreover, many other single solution based meta-heuristics have also been applied to solve the FJSP. For example, Karimi et al. [169] combined the VNS algorithm with a knowledge module to solve the FJSP with the objective of minimizing makespan. The VNS part searches good solutions from the solution space and knowledge module obtains the knowledge of good solutions and feeds it back to the algorithm, which makes the search process more efficient. Meanwhile, Lei and Guo [170] devised a VNS algorithm, composed of two neighborhood search procedures and a restarting mechanism, for the dual-resource constrained FJSP with the objective of optimizing makespan. Vilcot and Billaut [171] studied two kinds of TS algorithms to minimize makespan, maximum lateness, and total tardiness simultaneously for the MOFJSP. Jia and Hu [172] showed a novel path-relinking TS for solving the multi-objective FJSP, whose objective is minimizing makespan, total workload of all machines (in terms of processing time), and the workload of the most-loaded machine. Rajkumar et al. [173] proposed a Greedy Randomized Adaptive Search Procedure (GRASP) algorithm to solve the FJSP with limited resource constraints. The model objectives are the minimization of makespan, maximum workload, and total workload. Yulianty and Ma’ruf [174] proposed an algorithm for solving the FJSP considering controllable processing times and expected downtime by using a predictive approach.

2.4 Real-World Applications

33

2.4 Real-World Applications The FJSP has important applications in the real world. A number of complicated realistic problems have been modeled as the FJSP in the literature. Meanwhile, a series of solution methods have been specially developed to cope with these problems, some applications are listed in this section. Li et al. [175] proposed a modified GA which was well verified in scheduling decision support systems for the production of seamless steel tubes in Baoshan Iron & Steel Complex. Chen et al. [137] studied a new algorithm based on GA and Grouping GA in a real weapon production factory. Gomes [14] presented a new ILP model to solve the FJSP, which is derived from a discrete part and make-to-order manufacturing industry. Birgin et al. [21] studied an extended FJSP, where the precedence between operations of a job is given by an arbitrary directed a cyclic graph instead of a linear order. They proposed a new MILP model, and used instances in the literature and instances inspired by the real data from a printing industry and solve it by the MILP model and CPLEX. Hansmann et al. [26] studied a MILP model for with B&B procedure to solve the FJSP with work centers which exists in rail car maintenance, and further presented heuristics and exact solution methods. For the MOFJSP with sequence-dependent setup times, auxiliary resources, and machine downtime, Grobler et al. [176] developed four kinds of PSO-based heuristics. Comparison results on real customer data indicated that the priority-based PSO algorithm performed better than the existing rule-based algorithms commonly used for this problem. For the FJSP from the printing and boarding industry, two TS algorithms were proposed to obtain a set of non-dominated solutions [171]. Alvarez-Valdes et al. [18] devised a heuristics to solve the FJSP existed in a glass factory, which produced a lot of manufactured glass objects in a complex process. Calleja and Pastor [177] proposed a dispatching algorithm for a FJSP with transfer batches, which is arisen from a realistic auto parts manufacturing plant. To schedule the customers’ orders in factories of plastic injection machines which is a case of the FJSP, Tanev et al. [178] presented a Hybrid Evolutionary Algorithm (HEA) by combining the Priority-Dispatching Rules (PDRs) with the GA. Hosseinabadi et al. [177] devised a gravitational emulation local search algorithm to deal with the multi-objective dynamic FJSP in small and medium enterprises.

2.5 Development Trends and Future Research Opportunities 2.5.1 Development Trends With the rapid development of economy and society, the manufacturing industry has encountered more and more opportunities and challenges, e.g., mass customization, customization, virtual enterprise, distribution manufacturing, and green manufacturing have become more and more popular. Intelligent manufacturing is the main

34

2 Review for Flexible Job Shop Scheduling

theme as the result of demands of Industry 4.0. The advanced technologies such as big data and artificial intelligence can provide powerful tools for coping with these challenges, which can further guide new development trends of the manufacturing industry. Various tasks of FJSP have increased substantially among the rapid development of the manufacturing industry.

2.5.2 Future Research Opportunities (1) New Mode of FJSP Mass customization, providing customers with products and services for specific needs, will result in new requirements of the FJSP modes, such as FJSP dynamic scheduling, FJSP online scheduling, FJSP real-time scheduling and FJSP reverse scheduling. New kinds of optimization objectives in FJSP are becoming significant issues following its development, for example, robustness, satisfaction degree, and system stability. This causes the FJSP with more than three objectives, i.e., manyobjective FJSP should also be paid more attention. (2) New Model of FJSP The actual workshops and personalized requirements become increasingly complex, which make practical production environments (e.g., the realistic production conditions and customer demands) more and more complex. Therefore, these complex factors should be considered in the FJSP model. Moreover, more constraints such as production resources restriction, buffer size restriction, due date restriction, batch size restriction, and cost restriction, should be taken into account in the FJSP. (3) New Solution methods for FJSP With the development of data analysis and artificial intelligence (including machine learning, deep learning and so on), data-driven modeling methods provide a new and effective way to solve the engineering optimization problem which is difficult to establish a mathematical model. The joint data-model-driven solution methods can be developed to solve complicated FJSP. For example, the energy consumption model of FJSP can be formulated based on the theoretical energy consumption mathematical model and the actual carbon emissions of the workshop. Big data and artificial intelligence technology can extract effective information from the production data in the workshop to guide the establishment of the FJSP model. Meanwhile, these technologies can also be employed to predict the occurrence of uncertainties (e.g., machine breakdown, new order arrival) based on historical production data, and input them to the dynamic FJSP. In addition, with the rapid development of intelligent optimization algorithms, more research can focus on solving the FJSP problem with new intelligent optimization algorithms to obtain better schedules. Due to the complexity of the actual workshop production environment, it is difficult to fully simulate and optimize, and

2.5 Development Trends and Future Research Opportunities

35

it takes too long. Therefore, some surrogate-model-based optimization methods can be used to solve the FJSP in an actual production environment to obtain a better schedule in a shorter time. (4) New FJSPs under the new manufacturing form Worldwide corporate restructuring inflows significantly affect manufacturing modes. distributed manufacturing has become a late-mode of production with the increasing popularity of cooperative production among companies and mergers between enterprises. Distributed manufacturing can make full use of the resources of multiple enterprises or factories, and realize the rapid production at a reasonable cost by implementing the rational allocation, optimal combination, and sharing of resources. With the progress of science and technology, the individualized and diversified development of consumer demand promotes the diversification of commodity supply. In order to satisfy the demands of consumers with low cost, high quality, personalization, and rapid response, mass-customized production models have emerged. Meanwhile, in order to cope with new opportunities in the market, enterprises with different resources and advantages have established a mutually beneficial enterprise alliance based on data network to share technology and information. Virtual enterprise, a mode of production and operation, provides a new way for manufacturing enterprises to quickly respond to market changes and establish competitive advantages. Due to the change of manufacturing mode, the scheduling models and solution methods of the workshop also need to be changed accordingly. In order to solve the FJSP under the new manufacturing model, new scheduling models should be established under the background of cooperative production between different companies or factories, and new solution methods should be constructed to optimize scheduling indicators and to enable enterprises to produce high-quality products with lower cost and risk. (5) New Applications of the FJSP It is necessary to develop Cyber Physics Systems (CPS) or digital twin driven scheduling methods for the FJSP. In the context of new technological innovations, intelligent plants have emerged. It is a highly flexible, personalized, digital and intelligent production system throughout the life cycle of product procurement, design, production, sales, and service by using many advanced technologies such as CPS, big data, virtual simulation, network communication, and artificial intelligence technology. These advanced technologies can be applied to the FJSP. For instance, CPS integrates advanced information technology and automatic control technology including sensing, computing, communication, control, etc., to construct a complex system that combines the actual production environment with production data closely. This system can implement on-demand response, fast iteration, and dynamic optimization of resource allocation and operation assignment in the workshop. Digital twin constructs a virtual entity and system that can represent the actual production workshop in virtual (information) space. Researchers can read various real-time parameters of the control system, construct visual remote monitoring and

36

2 Review for Flexible Job Shop Scheduling

collect historical data, analyze the health of the production system, and use artificial intelligence technology to achieve production trend prediction. Based on the production results, the strategies of equipment maintenance and resource management can be optimized to reduce and avoid the losses caused by unexpected downtime. These new technologies can help to apply the theories and methods of FJSP much better. (6) Integrated with other systems Recently, the integration and collaboration of shop scheduling system with logistics, production environment, human, and equipment has become a new research trend. In existing researches, in order to adapt to the small-batch production mode, the combination of shop scheduling system and process planning system can effectively optimize the selection of process routes, shorten the production cycle, reduce the rework rate, and improve the flexibility of manufacturing system. With the increasing complexity of the production environment, the shop scheduling system also needs to track logistics information in real time to grasp the current transportation status of products, control and analyze the production environment to guarantee that the operators can refer to the standard process flow to prevent mistakes in the processing stage, and monitor the operation, output, and performance of equipment to ensure the stability of the production process. Therefore, the integration of job shop scheduling system and other systems can timely deal with abnormal conditions in the production process and further globally control the production environment of the workshop. (7) Closed-loop of scheduling decision Open-loop scheduling means that once the scheduling strategy is made, the whole scheduling process is carried out in strict accordance with the scheduling strategy, which cannot be adjusted according to the changing of the actual production environment. In the environment where the production system can be accurately modeled, the open-loop scheduling strategy can achieve good performance. However, in the actual production process, the scheduling plan and customer needs often change, it is difficult to establish an accurate shop scheduling model. Facing these problems, openloop scheduling strategy hardly guarantee effective scheduling performance, and also lead to deterioration of the utilization of the resources in workshops. Closed-loop scheduling can dynamically adjust the scheduling scheme according to the real-time production status of the workshop to deal with the problems generated during the production process (e.g., new order arrival, machine breakdown, etc.), and achieve the goal of optimizing scheduling targets. Integrating big data, CPS, digital twin, and other technologies, closed-loop scheduling can monitor the production situation of the workshop in real time. The real-time production data is used as a feedback signal to predict the uncertain events in the workshop, and precautions can be taken in advance to guarantee the stableness of production. Meanwhile, closed-loop scheduling can make full use of the resources in the workshop, to availably balance machine loading and production efficiency.

2.5 Development Trends and Future Research Opportunities

37

(8) Extensions of FJSP In some nonstandard FJSP, there also exists a large number of scheduling problems, such as enterprise management, transportation, aerospace, health care, and network communications. The existing mathematical model and solution methods of the FJSP can be extended to scheduling resources in other fields, since there are similarities between the FJSP and these scheduling problems. For instance, in the logistics scheduling problem, products need to be assigned to different transport vehicles, which is similar to the FJSP where jobs need to be assigned to different machines. In the nurse scheduling problem, it is necessary to consider the degree of fatigue of the nurses so that they cannot continue to work night shifts, similarly to the consideration of the machine workload in the FSJP. Therefore, extending the mathematical model and solution methods of the FJSP to other scheduling problems will also be one of the future research trends.

References 1. Xia W, Wu Z (2005) An effective hybrid optimization approach for multi-objective flexible job-shop scheduling problems. Comput Ind Eng 48(2):409–425 2. Akyol DE, Bayhan GM (2007) A review on evolution of production scheduling with neural networks. Comput Ind Eng 53(1):95–122 3. Gonçalves JF, de Magalhães Mendes JJ, Resende MG (2005) A hybrid genetic algorithm for the job shop scheduling problem. Eur J Oper Res 167(1):77–95 4. Çali¸s B, Bulkan S (2015) A research survey: review of AI solution strategies of job shop scheduling problem. J Intell Manuf 26(5):961–973 5. Pezzella F, Morganti G, Ciaschetti G (2008) A genetic algorithm for the flexible job-shop scheduling problem. Comput Oper Res 35(10):3202–3212 6. Chaudhry IA, Khan AA (2016) A research survey: review of flexible job shop scheduling techniques. Int Trans Operat Res 23(3):551–591 7. Gao K-Z, Suganthan PN, Pan Q-K, Chua TJ, Cai TX, Chong C-S (2014) Pareto-based grouping discrete harmony search algorithm for multi-objective flexible job shop scheduling. Inf Sci 289:76–90 8. Kacem I, Hammadi S, Borne P (2002) Approach by localization and multiobjective evolutionary optimization for flexible job-shop scheduling problems. IEEE Trans Sys Man Cyber Part C (Applications and Reviews) 32(1):1–13 9. Stecke KE (1983) Formulation and solution of nonlinear integer production planning problems for flexible manufacturing systems. Manage Sci 29(3):273–288 10. Sawik T (1990) Modelling and scheduling of a flexible manufacturing system. Eur J Oper Res 45(2–3):177–190 11. de Werra D, Widmer M (1991) Loading problems with tool management in flexible manufacturing systems: a few integer programming models. Int J Flex Manuf Syst 3(1):71–82 12. Jiang J, Hsiao W-C (1994) Mathematical programming for the scheduling problem with alternate process plans in FMS. Comput Ind Eng 27(1–4):15–18 13. Tetzlaff UA, Pesch E (1999) Optimal workload allocation between a job shop and an FMS. IEEE Trans Robot Autom 15(1):20–32 14. Gomes M, Barbosa-Povoa A, Novais A (2005) Optimal scheduling for flexible job shop operation. Int J Produc Res 43(11):2323–2353 15. Torabi S, Karimi B, Ghomi SF (2005) The common cycle economic lot scheduling in flexible job shops: The finite horizon case. Int J Prod Econ 97(1):52–65

38

2 Review for Flexible Job Shop Scheduling

16. Özgüven C, Özbakır L, Yavuz Y (2010) Mathematical models for job-shop scheduling problems with routing and process plan flexibility. Appl Math Model 34(6):1539–1548 17. Elazeem AEMA, Osman MSA, Hassan MBA (2011) Optimality of the flexible job shop scheduling problem. African J Math Comput Sci Res 4(10):321–328 18. Özgüven C, Yavuz Y, Özbakır L (2012) Mixed integer goal programming models for the flexible job-shop scheduling problems with separable and non-separable sequence dependent setup times. Appl Math Model 36(2):846–858 19. Jahromi M, Tavakkoli-Moghaddam R (2012) A novel 0-1 linear integer programming model for dynamic machine-tool selection and operation allocation in a flexible manufacturing system. J Manuf Sys 31(2):224–231 20. Roshanaei V, Azab A, ElMaraghy H (2013) Mathematical modelling and a meta-heuristic for flexible job shop scheduling. Int J Prod Res 51(20):6247–6274 21. Birgin EG, Feofiloff P, Fernandes CG, De Melo EL, Oshiro MT, Ronconi DP (2014) A MILP model for an extended version of the Flexible Job Shop Problem. Optimiz Lett 8(4):1417–1431 22. Berrada M, Stecke KE (1986) A branch and bound approach for machine load balancing in flexible manufacturing systems. Manage Sci 32(10):1316–1335 23. Kim Y-D, Yano CA (1994) A new branch and bound algorithm for loading problems in flexible manufacturing systems. Int J Flex Manuf Syst 6(4):361–381 24. Zhou M, Chiu H-S, Xiong HH (1995) Petri net scheduling of FMS using branch and bound method. Paper presented at the Proceedings of IECON’95–21st Annual Conference on IEEE Industrial Electronics 25. Lloyd S, Yu H, Konstas N (1995) FMS scheduling using Petri net modeling and a branch & bound search. Paper presented at the Proceedings. IEEE International Symposium on Assembly and Task Planning 26. Hansmann RS, Rieger T, Zimmermann UT (2014) Flexible job shop scheduling with blockages. Math Methods Oper Res 79(2):135–161 27. Gomes MC, Barbosa-Póvoa AP, Novais AQ (2013) Reactive scheduling in a make-toorder flexible job shop with re-entrant process and assembly: a mathematical programming approach. Int J Prod Res 51(17):5120–5141 28. Gran SS, Ismail I, Ajol TA, Ibrahim AFA (2015) Mixed integer programming model for flexible job-shop scheduling problem (FJSP) to minimize makespan and total machining time. Paper presented at the Computer, Communications, and Control Technology (I4CT), 2015 International Conference on 29. Shanker K, Tzen Y-JJ (1985) A loading and dispatching problem in a random flexible manufacturing system. Int J Prod Res 23(3):579–595 30. Chang Y-L, Matsuo H, Sullivan RS (1989) A bottleneck-based beam search for job scheduling in a flexible manufacturing system. Int J Produc Res 27(11):1949–1961 31. Ro I-K, Kim J-I (1990) Multi-criteria operational control rules in flexible manufacturing systems (FMSs). Int J Produc Res 28(1):47–63 32. O’Keefe RM, Kasirajan T (1992) Interaction between dispatching and next station selection rules in a dedicated flexible manufacturing system. Int J Produc Res 30(8):1753–1772 33. Xiong HH, Zhou M, Caudill RJ (1996) A hybrid heuristic search algorithm for scheduling flexible manufacturing systems. Paper presented at the Proceedings of IEEE International Conference on Robotics and Automation 34. Jeong K-C, Kim Y-D (1998) A real-time scheduling mechanism for a flexible manufacturing system: using simulation and dispatching rules. Int J Prod Res 36(9):2609–2626 35. Mati Y, Rezg N, Xie X (2001) An integrated greedy heuristic for a flexible job shop scheduling problem. Paper presented at the Systems, Man, and Cybernetics, 2001 IEEE International Conference on 36. Scrich CR, Armentano VA, Laguna M (2004) Tardiness minimization in a flexible job shop: A tabu search approach. J Intell Manuf 15(1):103–115 37. Mejía G, Odrey NG (2005) An approach using Petri Nets and improved heuristic search for manufacturing system scheduling. J Manufac Sys 24(2):79–92

References

39

38. Alvarez-Valdés R, Fuertes A, Tamarit JM, Giménez G, Ramos R (2005) A heuristic to schedule flexible job-shop in a glass factory. Eur J Oper Res 165(2):525–534 39. Pitts Jr RA, Ventura JA (2007) A heuristic algorithm for minimizing makespan in a flexible manufacturing environment. Paper presented at the IIE Annual Conference. Proceedings 40. Fattahi P, Mehrabad MS, Jolai F (2007) Mathematical modeling and heuristic approaches to flexible job shop scheduling problems. J Intell Manuf 18(3):331–342 41. Huang B, Sun Y, Sun Y (2008) Scheduling of flexible manufacturing systems based on Petri nets and hybrid heuristic search. Int J Prod Res 46(16):4553–4565 42. Shi-Jin W, Bing-Hai Z, Li-Feng X (2008) A filtered-beam-search-based heuristic algorithm for flexible job-shop scheduling problem. Int J Prod Res 46(11):3027–3058 43. Tay JC, Ho NB (2008) Evolving dispatching rules using genetic programming for solving multi-objective flexible job-shop problems. Comput Ind Eng 54(3):453–473 44. Wang S, Yu J (2010) An effective heuristic for flexible job-shop scheduling problem with maintenance activities. Comput Ind Eng 59(3):436–447 45. Lee J, Lee JS (2010) Heuristic search for scheduling flexible manufacturing systems using lower bound reachability matrix. Comput Ind Eng 59(4):799–806 46. Nie L, Gao L, Li P, Li X (2013) A GEP-based reactive scheduling policies constructing approach for dynamic flexible job shop scheduling problem with job release dates. J Intell Manuf 24(4):763–774 47. Yuan Y, Xu H (2013) An integrated search heuristic for large-scale flexible job shop scheduling problems. Comput Oper Res 40(12):2864–2877 48. Ziaee M (2014) A heuristic algorithm for solving flexible job shop scheduling problem. Int J Adv Manufac Technol 71(1–4):519–528 49. Ziaee M (2014) A heuristic algorithm for the distributed and flexible job-shop scheduling problem. J Supercomput 67(1):69–83 50. Calleja G, Pastor R (2014) A dispatching algorithm for flexible job-shop scheduling with transfer batches: an industrial application. Prod Plan Cont 25(2):93–109 51. Baruwa OT, Piera MA (2014) Anytime heuristic search for scheduling flexible manufacturing systems: a timed colored Petri net approach. Int J Adv Manufac Technol 75(1–4):123–137 52. Baruwa OT, Piera MA, Guasch A (2015) Deadlock-free scheduling method for flexible manufacturing systems based on timed colored Petri nets and anytime heuristic search. IEEE Trans Sys Man Cyber Sys 45(5):831–846 53. Gao KZ, Suganthan PN, Tasgetiren MF, Pan QK, Sun QQ (2015) Effective ensembles of heuristics for scheduling flexible job shop problem with new job insertion. Comput Ind Eng 90:107–117 54. Pérez MAF, Raupp FM (2016) A Newton-based heuristic algorithm for multi-objective flexible job-shop scheduling problem. J Intell Manuf 27(2):409–416 55. Sobeyko O, Mönch L (2016) Heuristic approaches for scheduling jobs in large-scale flexible job shops. Comput Oper Res 68:97–109 56. Romero MAF, García EAR, Ponsich A, Gutiérrez RAM (2018) A heuristic algorithm based on tabu search for the solution of flexible job shop scheduling problems with lot streaming. Paper presented at the Proceedings of the Genetic and Evolutionary Computation Conference 57. Shahgholi Zadeh M, Katebi Y, Doniavi A (2018) A heuristic model for dynamic flexible job shop scheduling problem considering variable processing times. Int J Produc Res, 1–16 58. Ortíz MA, Betancourt LE, Negrete KP, De Felice F, Petrillo A (2018) Dispatching algorithm for production programming of flexible job-shop systems in the smart factory industry. Ann Oper Res 264(1–2):409–433 59. Teymourifar A, Ozturk G, Ozturk ZK, Bahadir O (2018) Extracting new dispatching rules for multi-objective dynamic flexible job shop scheduling with limited buffer spaces. Cog Comput, 1–11 60. Ozturk G, Bahadir O, Teymourifar A (2018) Extracting priority rules for dynamic multiobjective flexible job shop scheduling problems using gene expression programming. Int J Produc Res, 1–17

40

2 Review for Flexible Job Shop Scheduling

61. Bekkar A, Belalem G, Beldjilali B (2019) Iterated greedy insertion approaches for the flexible job shop scheduling problem with transportation times constraint. Int J Manuf Res 14(1):43–66 62. Gao J, Sun L, Gen M (2008) A hybrid genetic and variable neighborhood descent algorithm for flexible job shop scheduling problems. Comput Oper Res 35(9):2892–2907 63. Zhang G, Gao L, Shi Y (2011) An effective genetic algorithm for the flexible job-shop scheduling problem. Expert Syst Appl 38(4):3563–3573 64. Chen JC, Wu C-C, Chen C-W, Chen K-H (2012) Flexible job shop scheduling with parallel machines using Genetic Algorithm and Grouping Genetic Algorithm. Exp Syst Appl 39(11):10016–10021 65. Chang H-C, Chen Y-P, Liu T-K, Chou J-H (2015) Solving the flexible job shop scheduling problem with makespan optimization by using a hybrid Taguchi-genetic algorithm. IEEE Access 3:1740–1754 66. Nouri HE, Driss OB, Ghédira K (2015) Hybrid metaheuristics within a holonic multiagent model for the flexible job shop problem. Proc Comput Sci 60:83–92 67. Liangxiao J, Zhongjun D (2015) An improved genetic algorithm for flexible job shop scheduling problem. Paper presented at the Information Science and Control Engineering (ICISCE), 2015 2nd International Conference on 68. Huang M, Mingxu W, Xu L (2016) An improved genetic algorithm using opposition-based learning for flexible job-shop scheduling problem. Paper presented at the Cloud Computing and Internet of Things (CCIOT), 2016 2nd International Conference on 69. Huang M, Wang L-M, Liang X (2016) An improved adaptive genetic algorithm in flexible job shop scheduling. Paper presented at the Cloud Computing and Internet of Things (CCIOT), 2016 2nd International Conference on 70. Driss I, Mouss KN, Laggoun A (2015) An effective genetic algorithm for the flexible job shop scheduling problems 71. Purnomo MRA (2016) A knowledge-based genetic algorithm for solving flexible job shop scheduling problem. Int Bus Manag 10(19):4708–4712 72. Morinaga E, Sakaguchi Y, Wakamatsu H, Arai E (2017) A method for flexible job-shop scheduling using genetic algorithm. J Adv Manufac Technol (JAMT) 11(2):79–86 73. Li X, Gao L (2016) An effective hybrid genetic algorithm and tabu search for flexible job shop scheduling problem. Int J Prod Econ 174:93–110 74. Gu X, Huang M, Liang X (2017) The improved simulated annealing genetic algorithm for flexible job-shop scheduling problem. Paper presented at the Computer Science and Network Technology (ICCSNT), 2017 6th International Conference on 75. Zhang G, Zhang L, Song X, Wang Y, Zhou C (2018) A variable neighborhood search based genetic algorithm for flexible job shop scheduling problem. Cluster Comput, 1–12 76. Ma W, Zuo Y, Zeng J, Liang S, Jiao L (2014) A memetic algorithm for solving flexible jobshop scheduling problems. Paper presented at the Evolutionary Computation (CEC), 2014 IEEE Congress on 77. Cinar D, Oliveira JA, Topcu YI, Pardalos PM (2016) A priority-based genetic algorithm for a flexible job shop scheduling problem. J Ind Manag Optimi 12(4):1391–1415 78. Brandimarte P (1993) Routing and scheduling in a flexible job shop by tabu search. Ann Oper Res 41(3):157–183 79. Türkyılmaz A, Bulkan S (2015) A hybrid algorithm for total tardiness minimisation in flexible job shop: genetic algorithm with parallel VNS execution. Int J Prod Res 53(6):1832–1848 80. Kaweegitbundit P, Eguchi T (2016) Flexible job shop scheduling using genetic algorithm and heuristic rules. J Adv Mec Design Sys Manufac 10(1):JAMDSM0010-JAMDSM0010 81. Frutos M, Olivera AC, Tohmé F (2010) A memetic algorithm based on a NSGAII scheme for the flexible job-shop scheduling problem. Ann Oper Res 181(1):745–765 82. Yuan Y, Xu H (2015) Multiobjective flexible job shop scheduling using memetic algorithms. IEEE Trans Autom Sci Eng 12(1):336–353 83. Liang X, Weiping S, Huang M (2015) Flexible job shop scheduling based on multi-population genetic-variable neighborhood search algorithm. Paper presented at the Computer Science and Network Technology (ICCSNT), 2015 4th International Conference on

References

41

84. Ren H, Xu H, Sun S (2016) Immune genetic algorithm for multi-objective flexible job-shop scheduling problem. Paper presented at the Control and Decision Conference (CCDC), 2016 Chinese 85. Morinaga Y, Nagao M, Sano M (2016) Balancing setup workers’ load of flexible job shop scheduling using hybrid genetic algorithm with tabu search strategy. Int J Decision Support Sys 2(1–3):71–90 86. Xu L, Xia ZY, Ming H (2016) Study on improving multi-objective flexible job shop scheduling based on Memetic algorithm in the NSGA-II framework. Paper presented at the Cloud Computing and Internet of Things (CCIOT), 2016 2nd International Conference on 87. Deng Q, Gong G, Gong X, Zhang L, Liu W, Ren Q (2017) A bee evolutionary guiding nondominated sorting genetic algorithm ii for multiobjective flexible job-shop scheduling. Comput int neurosci, 2017 88. Zhang W, Wen J, Zhu Y, Hu Y (2017) Multi-objective scheduling simulation of flexible job-shop based on multi-population genetic algorithm. Int J Simulat Model 16(2):313–321 89. Ghasemi M, Farzan A (2017) Pareto-front generation by classical and meta-heuristic methods in flexible job shop scheduling with multiple objectives. Int J Comput Appl 165(1) 90. Teymourifar A, Ozturk G, Bahadir O (2018) A comparison between two modified NSGA-II algorithms for solving the multi-objective flexible job shop scheduling problem. Univer J Applied Math 6(3):79–93 91. Tayebi Araghi M, Jolai F, Rabiee M (2014) Incorporating learning effect and deterioration for solving a SDST flexible job-shop scheduling problem with a hybrid meta-heuristic approach. Int J Comput Integr Manuf 27(8):733–746 92. Jalilvand-Nejad A, Fattahi P (2015) A mathematical model and genetic algorithm to cyclic flexible job shop scheduling problem. J Intell Manuf 26(6):1085–1098 93. Rohaninejad M, Kheirkhah A, Fattahi P (2015) Simultaneous lot-sizing and scheduling in flexible job shop problems. Int J Adv Manufac Technol 78(1–4):1–18 94. Rey GZ, Bekrar A, Trentesaux D, Zhou B-H (2015) Solving the flexible job-shop just-in-time scheduling problem with quadratic earliness and tardiness costs. Int J Adv Manufac Technol 81(9–12):1871–1891 95. Zhang M, Wu K (2016) An improved genetic algorithm for the re-entrant and flexible jobshop scheduling problem. Paper presented at the Control and Decision Conference (CCDC), 2016 Chinese 96. Li H, Li Z, Yang R, Lu H, Zhang Y (2016) A flexible job-shop scheduling for small batch customizing. Paper presented at the Control and Decision Conference (CCDC), 2016 Chinese 97. Chang H-C, Liu T-K (2017) Optimisation of distributed manufacturing flexible job shop scheduling by using hybrid genetic algorithms. J Intell Manuf 28(8):1973–1986 98. Lu P-H, Wu M-C, Tan H, Peng Y-H, Chen C-F (2018) A genetic algorithm embedded with a concise chromosome representation for distributed and flexible job-shop scheduling problems. J Intell Manuf 29(1):19–34 99. Azzouz A, Ennigrou M, Said LB (2017b) A self-adaptive evolutionary algorithm for solving flexible job-shop problem with sequence dependent setup time and learning effects. Paper presented at the Evolutionary Computation (CEC), 2017 IEEE Congress on 100. Elgendy A, Mohammed H, Elhakeem A (2017) Optimizing dynamic flexible job shop scheduling problem based on genetic algorithm. Int J Curr Eng Technol 7:368–373 101. Chen M, Li J-L (2017) Genetic algorithm combined with gradient information for flexible job-shop scheduling problem with different varieties and small batches. Paper presented at the MATEC Web of Conferences 102. Wang L, Luo C, Cai J (2017) A variable interval rescheduling strategy for dynamic flexible job shop scheduling problem by improved genetic algorithm. J Adv Trans, 2017 103. Peng C, Fang Y, Lou P, Yan J (2018) Analysis of double-resource flexible job shop scheduling problem based on genetic algorithm. Paper presented at the Networking, Sensing and Control (ICNSC), 2018 IEEE 15th International Conference on 104. Ahmadi E, Zandieh M, Farrokh M, Emami SM (2016) A multi objective optimization approach for flexible job shop scheduling problem under random machine breakdown by evolutionary algorithms. Comput Oper Res 73:56–66

42

2 Review for Flexible Job Shop Scheduling

105. Yang X, Zeng Z, Wang R, Sun X (2016) Bi-objective flexible job-shop scheduling problem considering energy consumption under stochastic processing times. PLoS ONE 11(12):e0167427 106. Wang C, Tian N, Ji Z, Wang Y (2017) Multi-objective fuzzy flexible job shop scheduling using memetic algorithm. J Stat Comput Simul 87(14):2828–2846 107. Jiang Z, Zuo L, Mingcheng E (2014) Study on multi-objective flexible job-shop scheduling problem considering energy consumption. J Ind Eng Manag 7(3):589–604 108. Yin L, Li X, Gao L, Lu C, Zhang Z (2017) A novel mathematical model and multi-objective method for the low-carbon flexible job shop scheduling problem. Sustain Comput Inform Sys 13:15–30 109. Piroozfard H, Wong KY, Wong WP (2018) Minimizing total carbon footprint and total late work criterion in flexible job shop scheduling by using an improved multi-objective genetic algorithm. Resour Conserv Recycl 128:267–283 110. Wu X, Sun Y (2018) A green scheduling algorithm for flexible job shop with energy-saving measures. J Clean Prod 172:3249–3264 111. Zhang C, Gu P, Jiang P (2015) Low-carbon scheduling and estimating for a flexible job shop based on carbon footprint and carbon efficiency of multi-job processing. Proceed Ins Mec Eng Part B: J Eng Manufac 229(2):328–342 112. Azzouz A, Ennigrou M, Said LB (2017a) A hybrid algorithm for flexible job-shop scheduling problem with setup times 113. Marzouki B, Driss OB (2015) Multi agent model based on chemical reaction optimization for flexible job shop problem. In Computational collective intelligence (pp 29–38), Springer 114. Marzouki B, Driss OB, Ghédira K (2018) Multi-agent model based on combination of chemical reaction optimisation metaheuristic with Tabu search for flexible job shop scheduling problem. Int J Int Eng Inf 6(3–4):242–265 115. Yang Y (2015) A modified biogeography-based optimization for the flexible job shop scheduling problem. Mathematical problems in engineering, 2015 116. Lin J (2015) A hybrid biogeography-based optimization for the fuzzy flexible job-shop scheduling problem. Knowl-Based Syst 78:59–74 117. Zhang G, Shao X, Li P, Gao L (2009) An effective hybrid particle swarm optimization algorithm for multi-objective flexible job-shop scheduling problem. Comput Ind Eng 56(4):1309–1318 118. Singh MR, Mahapatra SS (2016) A quantum behaved particle swarm optimization for flexible job shop scheduling. Comput Ind Eng 93:36–44 119. Muthiah A, Rajkumar A, Rajkumar R (2016) Hybridization of artificial bee colony algorithm with particle swarm optimization algorithm for flexible job shop scheduling. Paper presented at the Energy Efficient Technologies for Sustainability (ICEETS), 2016 International Conference on 120. Yi W, Li X, Pan B (2016) Solving flexible job shop scheduling using an effective memetic algorithm. Int J Comput Appl Technol 53(2):157–163 121. Phu-ang A, Thammano A (2017) Memetic algorithm based on marriage in honey bees optimization for flexible job shop scheduling problem. Memetic Comput 9(4):295–309 122. Ge H, Sun L, Chen X, Liang Y (2016) An efficient artificial fish swarm model with estimation of distribution for flexible job shop scheduling. Int J Comput Intell Sys 9(5):917–931 123. Wang X, Yi P (2016) Improved bacteria foraging optimization algorithm for solving flexible job-shop scheduling problem 124. Wu X, Wu S (2017) An elitist quantum-inspired evolutionary algorithm for the flexible jobshop scheduling problem. J Intell Manuf 28(6):1441–1457 125. Xu H, Bao Z, Zhang T (2017) Solving dual flexible job-shop scheduling problem using a Bat Algorithm. Adv Produc Eng Manag 12(1):5 126. Wang L, Cai J, Li M, Liu Z (2017) Flexible job shop scheduling problem using an improved ant colony optimization. Sci Program, 2017 127. Liang X, Huang M, Ning T (2018) Flexible job shop scheduling based on improved hybrid immune algorithm. J Ambient Intell Humaniz Comput 9(1):165–171

References

43

128. Buddala R, Mahapatra SS (2018) An integrated approach for scheduling flexible job-shop using teaching–learning-based optimization method. J Ind Eng Int, 1–12 129. Jiang T, Zhang C (2018) Application of grey wolf optimization for solving combinatorial problems: job shop and flexible job shop scheduling cases. IEEE Access 130. Gaham M, Bouzouia B, Achour N (2018) An effective operations permutation-based discrete harmony search approach for the flexible job shop scheduling problem with makespan criterion. Appl Int 48(6):1423–1441 131. Rabiee M, Zandieh M, Ramezani P (2012) Bi-objective partial flexible job shop scheduling problem: NSGA-II, NRGA, MOGA and PAES approaches. Int J Prod Res 50(24):7327–7342 132. Xue H, Zhang P, Wei S, Yang L (2014) An improved immune algorithm for multi-objective flexible job-shop scheduling. J Networks 9(10):2843 133. Ma J, Lei Y, Wang Z, Jiao L, Liu R (2014) A memetic algorithm based on immune multiobjective optimization for flexible job-shop scheduling problems. Paper presented at the Evolutionary Computation (CEC), 2014 IEEE Congress on 134. Gong X, Deng Q, Gong G, Liu W, Ren Q (2018) A memetic algorithm for multi-objective flexible job-shop problem with worker flexibility. Int J Prod Res 56(7):2506–2522 135. Mekni S, Fayech BC (2014) A modified invasive weed optimization algorithm for multiobjective flexible job shop scheduling problems. Comput Sci Inf Technol, 51–60. DOI, 10 136. Karthikeyan S, Asokan P, Nickolas S (2014) A hybrid discrete firefly algorithm for multiobjective flexible job shop scheduling problem with limited resource constraints. Int J Adv Manufac Technol 72(9–12):1567–1579 137. Kamble S, Mane S, Umbarkar A (2015) Hybrid multi-objective particle swarm optimization for flexible job shop scheduling problem. Int J Intell Sys App 7(4):54 138. Huang S, Tian N, Wang Y, Ji Z (2016) Multi-objective flexible job-shop scheduling problem using modified discrete particle swarm optimization. SpringerPlus 5(1):1432 139. Huang S, Tian N, Ji Z (2016) Particle swarm optimization with variable neighborhood search for multiobjective flexible job shop scheduling problem. Int J Model Simul Sci Comput 7(03):1650024 140. Zeng R, Wang Y (2018) A chaotic simulated annealing and particle swarm improved artificial immune algorithm for flexible job shop scheduling problem. EURASIP J Wireless Commun Network 2018(1):101 141. Zhu H, He B, Li H (2017) Modified bat algorithm for the multi-objective flexible job shop scheduling problem. Int J Perform Eng 13(7) 142. Rossi A (2014) Flexible job shop scheduling with sequence-dependent setup and transportation times by ant colony with reinforced pheromone relationships. Int J Prod Econ 153:253–267 143. Xu Y, Wang L, Wang S-Y, Liu M (2015) An effective teaching–learning-based optimization algorithm for the flexible job-shop scheduling problem with fuzzy processing time. Neurocomputing 148:260–268 144. Liu B, Fan Y, Liu Y (2015) A fast estimation of distribution algorithm for dynamic fuzzy flexible job-shop scheduling problem. Comput Ind Eng 87:193–201 145. Gao KZ, Suganthan PN, Chua TJ, Chong CS, Cai TX, Pan QK (2015) A two-stage artificial bee colony algorithm scheduling flexible job-shop scheduling problem with new job insertion. Expert Syst Appl 42(21):7652–7663 146. Gao KZ, Suganthan PN, Pan QK, Chua TJ, Chong CS, Cai TX (2016) An improved artificial bee colony algorithm for flexible job-shop scheduling problem with fuzzy processing time. Expert Syst Appl 65:52–67 147. Meng T, Pan Q-K, Sang H-Y (2018) A hybrid artificial bee colony algorithm for a flexible job shop scheduling problem with overlapping in operations. Int J Produc Res, 1–15 148. Zheng X-L, Wang L (2016) A knowledge-guided fruit fly optimization algorithm for dual resource constrained flexible job-shop scheduling problem. Int J Prod Res 54(18):5554–5566 149. Liu Q, Zhan M, Chekem FO, Shao X, Ying B, Sutherland JW (2017) A hybrid fruit fly algorithm for solving flexible job-shop scheduling to reduce manufacturing carbon footprint. J Clean Prod 168:668–678

44

2 Review for Flexible Job Shop Scheduling

150. Zandieh M, Khatami A, Rahmati SHA (2017) Flexible job shop scheduling under conditionbased maintenance: improved version of imperialist competitive algorithm. Appl Soft Comput 58:449–464 151. Nouiri M, Bekrar A, Jemai A, Trentesaux D, Ammari AC, Niar S (2017) Two stage particle swarm optimization to solve the flexible job shop predictive scheduling problem considering possible machine breakdowns. Comput Ind Eng 112:595–606 152. Jamrus T, Chien C-F, Gen M, Sethanan K (2018) Hybrid particle swarm optimization combined with genetic operators for flexible job-shop scheduling under uncertain processing time for semiconductor manufacturing. IEEE Trans Semicond Manuf 31(1):32–41 153. Singh MR, Mahapatra S, Mishra R (2014) Robust scheduling for flexible job shop problems with random machine breakdowns using a quantum behaved particle swarm optimisation. Int J Ser Operat Manag 20(1):1–20 154. Reddy MS, Ratnam C, Rajyalakshmi G, Manupati V (2018) An effective hybrid multi objective evolutionary algorithm for solving real time event in flexible job shop scheduling problem. Measurement 114:78–90 155. Zhang S, Wong TN (2017) Flexible job-shop scheduling/rescheduling in dynamic environment: a hybrid MAS/ACO approach. Int J Prod Res 55(11):3173–3196 156. Azzouz A, Ennigrou M, Said LB (2017) A self-adaptive hybrid algorithm for solving flexible job-shop problem with sequence dependent setup time. Proc Comp Sci 112:457–466 157. Mokhtari H, Dadgar M (2015) A flexible job shop scheduling problem with controllable processing times to optimize total cost of delay and processing. Int J Supply Operat Manag 2(3):871 158. Lu C, Li X, Gao L, Liao W, Yi J (2017) An effective multi-objective discrete virus optimization algorithm for flexible job-shop scheduling problem with controllable processing times. Comput Ind Eng 104:156–174 159. Mokhtari H, Hasani A (2017) An energy-efficient multi-objective optimization for flexible job-shop scheduling problem. Comput Chem Eng 104:339–352 160. Lei D, Zheng Y, Guo X (2017) A shuffled frog-leaping algorithm for flexible job shop scheduling with the consideration of energy consumption. Int J Prod Res 55(11):3126–3140 161. Shen X-N, Han Y, Fu J-Z (2017) Robustness measures and robust scheduling for multiobjective stochastic flexible job shop scheduling problems. Soft Comput 21(21):6531–6554 162. Baykasoglu A (2002) Linguistic-based meta-heuristic optimization model for flexible job shop scheduling. Int J Prod Res 40(17):4523–4543 163. Chen J, Chen K, Wu J, Chen C (2008) A study of the flexible job shop scheduling problem with parallel machines and reentrant process. Int J Adv Manufac Technol 39(3–4):344–354 164. Abdi Khalife M, Abbasi B (2010) A simulated annealing algorithm for multi objective flexible job shop scheduling with overlapping in operations. J Opt Ind Eng, 17–28 165. Shivasankaran N, Senthilkumar P, Raja KV (2014) Hybrid non-dominated sorting simulated annealing Algorithm for flexible job shop scheduling problems. Paper presented at the ICT and Critical Infrastructure: Proceedings of the 48th Annual Convention of Computer Society of India-Vol I 166. Shivasankaran N, Kumar PS, Raja KV (2015) Hybrid sorting immune simulated annealing algorithm for flexible job shop scheduling. Int J Comput Int Sys 8(3):455–466 167. Bo˙zejko W, Pempera J, Wodecki M (2015) Parallel simulated annealing algorithm for cyclic flexible job shop scheduling problem. Paper presented at the International Conference on Artificial Intelligence and Soft Computing 168. Kaplano˘glu V (2016) An object-oriented approach for multi-objective flexible job-shop scheduling problem. Expert Syst Appl 45:71–84 169. Karimi H, Rahmati SHA, Zandieh M (2012) An efficient knowledge-based algorithm for the flexible job shop scheduling problem. Knowl-Based Syst 36:236–244 170. Lei D, Guo X (2014) Variable neighbourhood search for dual-resource constrained flexible job shop scheduling. Int J Prod Res 52(9):2519–2529 171. Vilcot G, Billaut J-C (2011) A tabu search algorithm for solving a multicriteria flexible job shop scheduling problem. Int J Prod Res 49(23):6963–6980

References

45

172. Jia S, Hu Z-H (2014) Path-relinking Tabu search for the multi-objective flexible job shop scheduling problem. Comput Oper Res 47:11–26 173. Rajkumar M, Asokan P, Anilkumar N, Page T (2011) A GRASP algorithm for flexible job-shop scheduling problem with limited resource constraints. Int J Prod Res 49(8):2409–2423 174. Yulianty A, Ma’ruf A (2013) Predictive approach on flexible job shop scheduling problem considering controllable processing times. Int J Innov Manag Technol 4(6):565 175. Li L, Huo J-Z (2009) Multi-objective flexible job-shop scheduling problem in steel tubes production. Sys Engineering-Theory Prac 29(8):117–126 176. Grobler J, Engelbrecht AP, Kok S, Yadavalli S (2010) Metaheuristics for the multi-objective FJSP with sequence-dependent set-up times, auxiliary resources and machine down time. Ann Oper Res 180(1):165–196 177. Hosseinabadi AAR, Siar H, Shamshirband S, Shojafar M, Nasir MHNM (2015) Using the gravitational emulation local search algorithm to solve the multi-objective flexible dynamic job shop scheduling problem in small and medium enterprises. Ann Oper Res 229(1):451–474 178. Tanev IT, Uozumi T, Morotome Y (2004) Hybrid evolutionary algorithm-based real-world flexible job shop scheduling problem: application service provider approach. Appl Soft Comput 5(1):87–100

Chapter 3

Review for Integrated Process Planning and Scheduling

3.1 IPPS in Support of Distributed and Collaborative Manufacturing The IPPS can be defined as: give a set of n parts, which are to be processed on m machines with alternative process plans, manufacturing resources, and other technological constraints, select suitable process plan and manufacturing resources, and sequence the operations so as to determine a schedule in which the technological constraints among operations can be satisfied and the corresponding objectives can be achieved [1]. In the following sections, the authors will provide research on IPPS. In the twentyt-first century, in order to win the competition in a dynamic marketplace, which demands short response time to changing markets and agility in production, the manufacturers need to change their manufacturing system from a centralized environment to a distributed environment [2]. In this case, owing to recent business decentralization and manufacturing outsourcing, the distributed and collaborative manufacturing is very important for the manufacturing companies. In the distributed manufacturing system, there are many unpredictable issues like job delay, urgent-order insertion, fixture shortage, missing tool, and even machine breakdown, which are challenging manufacturing companies. And, engineers often demand adaptive planning and scheduling capability in dealing with daily operations in a distributed manufacturing environment [2]. Process planning and scheduling are two of the most important subsystems in distributed manufacturing systems. To overcome the above uncertain issues in a distributed manufacturing system, the development of process planning and scheduling is very important. Many researches have focused on process planning and scheduling in order to improve flexibility, dynamism, adaptability, agility, and productivity of distributed manufacturing system [2]. While process planning and scheduling are crucial in distributed manufacturing, their integration is also very important [3]. Without the IPPS, a true ComputerIntegrated Manufacturing System (CIMS), which strives to integrate the various © Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_3

47

48

3 Review for Integrated Process Planning and Scheduling

phases of manufacturing in a single comprehensive system, may not be effectively realized. And IPPS also can improve the flexibility, adaptability, agility, and global optimization of the distributed and collaborative manufacturing. Therefore, the research on IPPS is necessary. And, it can well support the distributed and collaborative manufacturing system

3.2 Integration Model of IPPS In the early studies of CIMS, it has been identified that IPPS is very important to the development of CIMS [4, 5]. The preliminary idea of IPPS was first introduced by Chryssolouris et al. [6, 7]. Beckendorff et al. [8] used alternative process plans to improve the flexibility of manufacturing systems. Khoshnevis and Chen [9] introduced the concept of dynamic feedback into the IPPS. The integration model proposed by Zhang [10] and Larsen [11] extended the concepts of alternative process plans and dynamic feedback and defined an expression to the methodology of the hierarchical approach. Some earlier works of the integration strategy had been summarized in Tan and Khoshnevis [5], and Wang et al. [12]. In recent years, in the area of IPPS, some integration models have been reported and several implementation approaches have been employed. Many models of IPPS have been proposed, and they can be classified into three basic models based on IPPS: Non-Linear Process Planning (NLPP) [8], Closed-Loop Process Planning (CLPP) [9], and Distributed Process Planning (DPP) [10, 11].

3.2.1 Non-Linear Process Planning The methodology of NLPP is to make all alternative process plans for each part with a rank according to process planning optimization criteria. The plan with the highest priority is always ready for submission when the job is required. If the first-priority plan is not suitable for the current shop floor status, the second-priority plan will be provided to the scheduling system. NLPP can also be called as flexible process-planning, multi-process planning or alternative process planning. The basic flowchart of NLPP is shown in Fig. 3.1. On the basis of the basic flowchart of NLPP, the process planning system and scheduling system are separate. NLPP only uses alternative process plans to enhance the flexibility of the manufacturing system. Process Planning

Multi-process plans

Alternative process plans

Rank all alternative plans according to optimization criteria

Fig. 3.1 The basic flowchart of NLPP

Scheduling selecting the process plans base on the current shop floor status

Production

3.2 Integration Model of IPPS

49

NLPP is the most basic model of IPPS. Because the integration methodology of this model is very simple, most of the current research works on the integration model focus on the improvement and implementation of this model. Jablonski et al. [13] described the concept and prototype implementation of a flexible integrated production planning and scheduling system. Kim et al. [14] gave a scheduling system, which was supported by flexible process plans and based on negotiation. Kim and Egbelu [15] formulated a mixed integer programming model for job shop scheduling with multiple process plans. Kim and Egbelu [16] developed a mixed integer programming model for job shop scheduling with multiple process plans, and proposed two algorithms to solve this problem. Saygin and Kilic [17] presented a framework that integrated flexible process plans with off-line scheduling in a flexible manufacturing system. And, it also proposed an approach, namely the dissimilarity maximization method, for selecting the appropriate process plans for a part mix where parts had alternative process plans. Lee and Kim [18] presented the NLPP model based on the GA. Thomalla [19] investigated an optimization methodology for scheduling jobs with alternative process plans in a just-in-time environment. Yang et al. [20] presented a prototype of a feature-based multiple alternative process planning system. Gan and Lee [21] described a process planning and scheduling system that makes use of the branch and bound approach to optimize priority weighted earliness of jobs scheduled in a mold manufacturing shop. Kim et al. [22] used a symbiotic evolutionary algorithm for IPPS. Kis [23] developed two heuristic algorithms for the JSP with alternative process plans: a TS and a GA. Jain et al. [24] proposed a scheme for IPPS that could be implemented in a company with existing process planning and scheduling departments when multiple process plans for each part type were available. Li and McMahon [25] used an SA-based approach for IPPS. Shao et al. [26] used a modified GA to solve this problem. However, through a number of experimental computations, Usher [27] concluded that the advantages gained by increasing the number of alternative process plans for a scheduling system diminish rapidly when the number of the plans reaches a certain level. The computational efficiency needs to be improved when applying to a complex system with a large number of alternative solutions.

3.2.2 Closed-Loop Process Planning The methodology of CLPP is using a dynamic process planning system with a feedback mechanism. CLPP can be used to generate real-time process plans by means of a dynamic feedback from production scheduling system. The process planning mechanism generates process plans based on available resources. Production scheduling provides the information about which machines are available on the shop floor for an incoming job to process planning, so that every plan is feasible and respects to the current availability of production facilities. This dynamic simulation system can enhance the real-time, intuition, and manipulability of process planning system and also enhance the utilization of alternative process plans. CLPP can also be called as

50

3 Review for Integrated Process Planning and Scheduling Process Planning

Scheduling

Production Testing

Real-time Decision System

Fig. 3.2 The basic flowchart of CLPP

dynamic process planning or online process planning. The basic flowchart of CLPP is shown in Fig. 3.2. CLPP can bring the IPPS to a real integration system very well. Khoshnevis and Chen [28] developed an automated planning environment to treat the process planning and scheduling as a unified whole. This method could use a time window to control the planning quantity in every stage. Usher and Fernandes [29] divided the dynamic process planning to the static phase and the dynamic phase. Baker and Maropoulos [30] defined architecture to enable the vertical integration of tooling considerations from early design to process planning and scheduling. The architecture was based on a five-level tool selection procedure, which was mapped to a time-phased aggregate, management, and detailed process planning framework. Seethaler and Yellowley [31] presented a dynamic process planning system, which could give the process plans based on the feedback of the scheduling system. Wang et al. [32] and Zhang et al. [33] introduced a dynamic facilitating mechanism for IPPS in a batch manufacturing environment. Kumar and Rajotia [34] introduced a method of scheduling and its integration with CAPP, so that an online process plan could be generated taking into account the availability of machines and alternative routes. Wang et al. [35] introduced a kind of dynamic CAPP system integration model and used the Back Propagation (BP)-based neural network and relevant algorithm to make machine decision. And, the process plans from this dynamic CAPP system could accord with the production situation and the requirements of the job shop scheduling.

3.2.3 Distributed Process Planning The methodology of DPP uses a concurrent engineering approach to perform both the process planning and the scheduling simultaneously. It divides the process of planning and scheduling tasks into two phases. The first phase is the initial planning phase. In this phase, the characteristics of parts and the relationship between the parts are analyzed. And, the primary process plans and scheduling plan are determined. The process resources are also evaluated simultaneously. The second phase is the detailed planning phase. It has been divided into two phases: the matching planning phase and the final planning phase. In this phase, the process plans are adjusted to the current status of the shop floor. The detailed process plans and scheduling plans are obtained simultaneously. DPP can also be called as just-in-time process planning, concurrent process planning, or collaborative process planning. The basic flowchart of DPP is shown in Fig. 3.3.

3.2 Integration Model of IPPS

51 Process Plans

Process Planning System Rough Process Plans

Initial Planning Phase

Matching Planning Phase

Preliminary Scheduling Plan based on the current status

Final Planning Phase

Detail Scheduling Plans by Matching with the current status

Scheduling System

Production

Detail Process Plans by Matching with the current status

Scheduling Plans

Fig. 3.3 The basic flowchart of DPP

Brandimarte and Calderini [36] proposed a two-phase hierarchical method to integrate these two systems together. In the first phase, a relaxed version of the problem was solved, yielding an approximation of the set of efficient process plans with respect to cost and load-balancing objectives. Each process plan was then considered and the corresponding scheduling problem was solved by TS, and the process plan selection was improved by a two-level hierarchical TS algorithm. Kempenaers et al. [37] demonstrated three modules of the collaborative process planning system. Sadeh et al. [38] described an Integrated Process Planning/Production Scheduling (IP3S) system for agile manufacturing. And, IP3S was based on a blackboard architecture that supported concurrent development and dynamic revision of IP3S solutions along with powerful workflow management functionalities for ‘what–if’ development and maintenance of multiple problem assumptions and associated solutions. Wu et al. [39] gave the integration model of IPPS in the distributed virtual manufacturing environment. Zhang et al. [40] presented the framework of concurrent process planning based on Holon. Wang and Shen [41] proposed a methodology of DPP, and used multi-agent negotiation and cooperation to construct the architecture of the new process planning method. And, this chapter also focused on the supporting technologies such as machining-feature-based planning and function-block-based control. Wang et al. [42] presented the framework of a collaborative process planning system supported by a real-time monitoring system. Sugimura et al. [43] developed an IPPS and applied it to the holonic manufacturing systems. Li et al. [44] used game-theory-based approach to solve IPPS.

3.2.4 Comparison of Integration Models Every model has its advantages and disadvantages. A comparison among integration models is given in Table 3.1.

52

3 Review for Integrated Process Planning and Scheduling

Table 3.1 Comparison of integration models Advantages

Disadvantages

NLPP

Providing all the alternative process plans of, and enhancing the flexibility and the availability of process plans

Because of the need to give all alternative process plans of the parts, this will cause a combinational-explosive problem

CLPP

Based on the current shop floor status, the process plans are all very useful

CLPP needs the real-time data of the current status, if it has to regenerate process plans in every scheduling phase, the real-time data is hard to be assured and updated

DPP

This model works in an interactive, collaborative, and cooperative way

Because the basic integration principle of DPP is a hierarchical approach, it cannot optimize the process plans and scheduling plans as a whole

3.3 Implementation Approaches of IPPS Various Artificial Intelligence (AI)-based approaches have been developed to solve IPPS. The following sections will discuss several typical methods: they are agentbased approaches, Petri-net-based approaches, and optimization-algorithm-based approaches. The critique of the current approaches is also given.

3.3.1 Agent-Based Approaches of IPPS The concept of an agent came from the research of AI [45]. A typical definition of an agent is given by Nwana and Ndumu [46] as: “An agent is defined as referring to a component of software and/or hardware which is capable of acting exactly in order to accomplish tasks on behalf of its user”. On the basis of the definition, one conclusion is that an agent is a software system that communicates and cooperates with other software systems to solve a complex problem that is beyond the capability of each individual software system [12]. Therefore, the agent-based approach has been considered as one important method for studying distributed intelligent manufacturing systems. In the area of IPPS, the agent-based approach has captured the interest of a number of researchers. Shen et al. [2] reviewed the research on manufacturing process planning, scheduling as well as their integration. Wang et al. [12] provided a literature review on the IPPS, particularly on the agent-based approaches for the problem. The advantages of the agent-based approach for scheduling were discussed. Zhang and Xie [45] reviewed the agent technology for collaborative process planning. The focus of this research was on how the agent technology can be further developed in support of collaborative process planning as well as its future research issues and directions in process planning.

3.3 Implementation Approaches of IPPS

53

Gu et al. [47] proposed a Multi-Agent System (MAS) where process routes and schedules of a part were accomplished through the contract net bids. IDCPPS [48] was an integrated, distributed, and cooperative process planning system. The process planning tasks were separated into three levels, namely initial planning, decisionmaking, and detail planning. The results of these three steps were general process plans, a ranked list of near-optimal alternative plans, and the final detailed linear process plans, respectively. The integration with scheduling was considered at each stage with process planning. Wu et al. [39] presented a computerized model that can integrate the manufacturing functions and resolve some of the critical problems in distributed virtual manufacturing. This integration model was realized through a multi-agent approach that provided a practical approach for software integration in a distributed environment. Lim and Zhang [49, 50] introduced a multi-agent-based framework for IPPS. This framework could also be used to optimize the utilization of manufacturing resources dynamically as well as provide a platform on which alternative configurations of manufacturing systems could be assessed. Denkena et al. [51] developed a MASbased approach to study the IPPS in collaborative manufacturing. Wang and Shen [41] proposed a new methodology of DPP. It focused on the architecture of the new approach, using multi-agent negotiation and cooperation, and on the other supporting technologies such as machining-feature-based planning and function-block-based control. Wong et al. [52, 53] developed an online hybrid-agent-based negotiation MAS for integrated process planning with scheduling/rescheduling. With the introduction of the supervisory control into the decentralized negotiations, this approach was able to provide solutions with a better global performance. Shukla et al. [54] presented a bidding-based MAS for IPPS. The proposed architecture consisted of various autonomous agents capable of communicating (bidding) with each other and making decisions based on their knowledge. Fuji et al. [55] proposed a new method in IPPS. A multi-agent-learning-based integration method was devised in the study to solve the conflict between the optimality of the process plan and the production schedule. In the method, each machine made decisions about process planning and scheduling simultaneously, and it had been modeled as a learning agent using evolutionary artificial neural networks to realize proper decisions resulting from interactions between other machines. Nejad et al. [56] proposed an agent-based architecture of an IPPS system for multi-jobs in flexible manufacturing systems. In the literature of agent-based manufacturing applications, many kinds of research applied with simple algorithms such as dispatching rules are applicable for real-time decision-making [57]. These methods are simple and applicable, but they do not guarantee the effectiveness for a complex problem in the manufacturing systems. As efficiency becomes important in the agent-based manufacturing, the recent research works are trying to combine the agent-based approach with other techniques such as GA, neural network, and some mathematical modeling methods [57]. Therefore, one future research trend is presenting more effective algorithms to improve the effectiveness of agent-based approaches. On the basis of the abovementioned comments, one conclusion can be made that the agent-based approach is an effective method to solve IPPS. Because single-agent

54

3 Review for Integrated Process Planning and Scheduling

environments cannot solve the problem effectively, MAS is more suitable to solve it [45]. Although the architecture and the negotiation among agents may be very complex, MAS will have a promising future in solving this problem [45, 52, 57].

3.3.2 Petri-Net-Based Approaches of IPPS Petri net is a mathematical description of the discrete and parallel system. It is suitable to describe the asynchronous and concurrent computer system. Petri net has a strict mathematical formulation, and it also has intuitive graphical expression. Petri net has been widely used in the Flexible Production Scheduling System (FPSS). It also can be used in the IPPS: first, the flexible process plans are described by the Petri net, second, we communicate it with the Petri net of the dynamic scheduling system, and then we can integrate the process planning system and scheduling system together by Petri net. Kis et al. [58] proposed the integration model of IPPS based on the multilevel Petri net and analyzed it.

3.3.3 Algorithm-Based Approaches of IPPS The basic steps of the algorithm-based approach are as follows. First, the process planning system is used to generate the alternative process plans for all jobs and select user-defined number of optimal plans based on the simulation results. Then, the algorithm in the scheduling system is used to simulate scheduling plans based on the alternative process plans for all jobs. Finally, based on the simulation results, the process plan of each job and the scheduling plan are determined. This approach is workable. However, the biggest shortcoming is that the simulation time may be long and the approach cannot be used in the real manufacturing system. Therefore, one important future research trend is finding an effective algorithm for IPPS and developing an effective system. In this approach, most researches focused on the evolutionary algorithm. Swarm intelligence, some other meta-heuristics methods, such as SA, TS, and Artificial Immune System (AIS), and some hybrid algorithms were also used to solve IPPS. Morad and Zalzala [59] described a GA-based algorithm that only considered the time aspect of the alternative machines, and then they extended this scope to include the processing capabilities of alternative machines, different tolerance limits and process costs. Lee and Kim [18] presented the NLPP model, which was based on a GA. Moon et al. [60] proposed an IPPS model for the multi-plants supply chain, which behaved like a single company through strong coordination and cooperation toward mutual goals. And, then they developed a GA-based heuristic approach to solve this model. Kim et al. [22] used a symbiotic evolutionary algorithm for IPPS. Zhao et al. [61] used a fuzzy inference system to select alternative machines for IPPS, and used a GA to balance the load of every machine. Moon and Seo [62] proposed

3.3 Implementation Approaches of IPPS

55

an advanced process planning and scheduling model for the multi-plant and used an evolutionary algorithm to solve this model. Chan et al. [63, 64] proposed a GA with dominant genes to solve distributed scheduling problems. Park and Choi [65] designed a GA-based method to solve IPPS by taking advantage of the flexibility that alternative process plans offer. Choi and Park [66] designed a GA-based method to solve IPPS. Moon et al. [67] first developed mixed integer linear programming formulations for IPPS based on the NLPP model. And, then they used a GA to solve this model. Li et al. [68] presented a GA-based approach to solve this problem. Shao et al. [26] proposed a modified GA-based approach to solve IPPS based on the NLPP model. Rossi and Dini [69] proposed an ant-colony-optimization-based software system for solving FMS scheduling in a job shop environment with routing flexibility, sequence-dependent setup and transportation time. Guo et al. [1] developed the IPPS as a combinatorial optimization model and modified a Particle Swarm Optimization (PSO) algorithm to solve IPPS. Yang et al. [70] and Zhao et al. [71, 72] used a fuzzy inference system to choose alternative machines for IPPS of a job shop manufacturing system and used the hybrid PSO algorithms to balance the load of each machine. Palmer [73] proposed an SA-based approach to solve IPPS. Chen [74] used an SA algorithm to solve IPPS in mass customization. Li and McMahon [25] used an SAbased approach for IPPS. Chan et al. [75] proposed an Enhanced Swift Converging Simulated Annealing (ESCSA) to solve IPPS. Weintraub et al. [76] presented a procedure for scheduling jobs with alternative processes in a general job shop, and then proposed a TS-based scheduling algorithm to solve it. Chan et al. [77] proposed an AIS-based AIS-FLC algorithm embedded with the Fuzzy Logic Controller (FLC) to solve the complex IPPS. Some other methods, such as heuristic dispatching rules [78], neural network [79], object-oriented integration approach [80, 81], and web-based approach [2], have also been proposed to research IPPS.

3.3.4 Critique of Current Implementation Approaches For the abovementioned three implementation approaches of IPPS, the first and the second methods (agent-based approach and Petri net) are used to model the integration system. And, the third one (algorithm-based approach) is used to optimize the integration system. Agent-based approach is a good method to solve IPPS. However, when the number of the agents is large, agents will spend more time processing messages than doing actual work, and it is often difficult to apply the generic agent architectures directly to IPPS systems [45]. Therefore, one future research trend is proposing a simpler, more effective, and workable MAS approach for IPPS applications. The Petri net has been used in the FPSS. If the flexible process plans can be denoted by Petri net and linked with the Petri net for FPSS, the Petri net for IPPS can be well implemented.

56

3 Review for Integrated Process Planning and Scheduling

Therefore, the key technique of Petri net for IPPS is how to denote the flexible process plans by Petri net. This is another future research trend for the modeling of IPPS. The algorithm-based approach is workable, but the biggest shortcoming of this approach is that the simulation time may be long and it cannot be used in the real manufacturing system. Therefore, one important future research trend is researching and finding an effective algorithm for IPPS and developing an effective system.

References 1. Guo Y, Li W, Mileham A, Owen G (2009) Applications of particle swarm and optimization in integrated process planning and scheduling. Robot Comput Int Manufac 25:280–288 2. Wang Y, Zhang Y, Fuh J, Zhou Z, Xue L, Lou P (2008) A web-based integrated process planning and scheduling system, 4th IEEE Conference on Automation Science and Engineering, Washington DC, USA, pp 662–667. In proceedings 3. Wang L (2009) Web-based decision making for collaborative manufacturing. Int J Comput Integr Manuf 22(4):334–344 4. Kumar M, Rajotia S (2005) Integration of process planning and scheduling in a job shop environment. Int J Adv Manuf Technol 28(1–2):109–116 5. Tan W, Khoshnevis B (2000) Integration of process planning and scheduling—a review. J Intell Manuf 11:51–63 6. Chryssolouris G, Chan S, Cobb W (1984) Decision making on the factory floor: an integrated approach to process planning and scheduling. Robot Comput Int Manufac 1(3–4):315–319 7. Chryssolouris G, Chan S (1985) An integrated approach to process planning and scheduling. Annals of the CIRP 34(1):413–417 8. Beckendorff U, Kreutzfeldt J, Ullmann W (1991) Reactive workshop scheduling based on alternative routings. Conference on factory automation and information management, Florida, pp 875–885. In proceedings 9. Khoshnevis B, Chen Q (1989) Integration of process planning and scheduling function, IIE Integrated Systems Conference & Society for Integrated Manufacturing Conference, Atlanta. pp 415–420. In proceedings 10. Zhang H (1993) IPPM-A prototype to integrated process planning and job shop scheduling functions. Annals CIRP 42(1):513–517 11. Larsen N (1993) Methods for integration of process planning and production planning. Int J Comput Integr Manuf 6(1–2):152–162 12. Wang L, Shen W, Hao Q (2006) An overview of distributed process planning and its integration with scheduling. Int J Comput Appl Technol 26(1–2):3–14 13. Jablonski S, Reinwald B, Ruf T (1990) Integration of process planning and job shop scheduling for dynamic and adaptive manufacturing control, Paper presented at the IEEE, pp 444–450 14. Kim K, Song J, Wang K (1997) A negotiation based scheduling for items with flexible process plans. Comput Ind Eng 33(3–4):785–788 15. Kim K, Egbelu J (1998) A mathematical model for job shop scheduling with multiple process plan consideration per job. Produc Plan Control 9(3):250–259 16. Kim K, Egbelu P (1999) Scheduling in a production environment with multiple process plans per job. Int J Prod Res 37(12):2725–2753 17. Saygin C, Kilic S (1999) Integrating flexible process plans with scheduling in flexible manufacturing systems. Int J Adv Manuf Technol 15:268–280 18. Lee H, Kim S (2001) Integration of process planning and scheduling using simulation based genetic algorithms. Int J Adv Manuf Technol 18:586–590 19. Thomalla C (2001) Job shop scheduling with alternative process plans. Int J Prod Econ 74:125– 134

References

57

20. Yang Y, Parsaei H, Leep H (2001) A prototype of a feature-based multiple-alternative process planning system with scheduling verification. Comput Ind Eng 39:109–124 21. Gan P, Lee K (2002) Scheduling of flexible sequenced process plans in a mould manufacturing shop. Int J Adv Manuf Technol 20:214–222 22. Kim Y, Park K, Ko J (2003) A symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling. Comput Oper Res 30:1151–1171 23. Kis T (2003) Job shop scheduling with processing alternatives. Eur J Oper Res 151:307–332 24. Jain A, Jain P, Singh I (2006) An integrated scheme for process planning and scheduling in FMS. Int J Adv Manuf Technol 30:1111–1118 25. Li W, McMahon C (2007) A simulated annealing—based optimization approach for integrated process planning and scheduling. Int J Comput Integr Manuf 20(1):80–95 26. Shao X, Li X, Gao L, Zhang C (2009) Integration of process planning and scheduling—a modified genetic algorithm-based approach. Comput Oper Res 36:2082–2096 27. Usher J (2003) Evaluating the impact of alternative plans on manufacturing performance. Comput Ind Eng 45:585–596 28. Khoshnevis B, Chen Q (1990) Integration of process planning and scheduling functions. J Intell Manuf 1:165–176 29. Usher J, Fernandes K (1996) Dynamic process planning-the static phase. J Mater Process Technol 61:53–58 30. Baker R, Maropoulos P (2000) An architecture for the vertical integration of tooling considerations from design to process planning. Robot Comput Int Manufact 16:121–131 31. Seethaler R, Yellowley I (2000) Process control and dynamic process planning. Int J Mach Tools Manuf 40:239–257 32. Wang J, Zhang Y, Nee A (2002) Integrating process planning and scheduling with an intelligent facilitator, 10th International Manufacturing Conference In China (IMCC2002), Xiamen, China: October 2002. In proceedings 33. Zhang Y, Saravanan A, Fuh J (2003) Integration of process planning and scheduling by exploring the flexibility of process planning. Int J Prod Res 41(3):611–628 34. Kumar M, Rajotia S (2003) Integration of scheduling with computer aided process planning. J Mater Process Technol 138:297–300 35. Wang Z, Chen Y, Wang N (2004) Research on dynamic process planning system considering decision about machines, 5th world congress on intelligent control and automation, Hangzhou, China, 2004, pp 2758–2762. In proceedings 36. Brandimarte P, Calderini M (1995) A hierarchical bicriterion approach to integrated process plan selection and job shop scheduling. Int J Prod Res 33(1):161–181 37. Kempenaers J, Pinte J, Detand J (1996) A collaborative process planning and scheduling system. Adv Eng Softw 25:3–8 38. Sadeh N, Hildum D, Laliberty T, McANulty J, Kjenstad D, Tseng A (1998) A blackboard architecture for integrating process planning and production scheduling. Concur Eng Res Appl 6(2):88–100 39. Wu S, Fuh J, Nee A (2002) Concurrent process planning and scheduling in distributed virtual manufacturing. IIE Trans 34:77–89 40. Zhang J, Gao L, Chan F, Li P (2003) A holonic architecture of the concurrent integrated process planning system. J Mater Process Technol 139:267–272 41. Wang L, Shen W (2003) DPP: An agent based approach for distributed process planning. J Intell Manuf 14:429–439 42. Wang L, Song Y, Shen W (2005) Development of a function block designer for collaborative process planning, CSCWD2005, Coventry, UK, pp 24–26. In proceedings 43. Sugimura N, Shrestha R, Tanimizu Y, Iwamura K (2006) A study on integrated process planning and scheduling system for holonic manufacturing, Process planning and scheduling for distributed manufacturing, (pp 311–334). Springer 44. Li W, Gao L, Li X, Guo Y (2008a) Game theory-based cooperation of process planning and scheduling, CSCWD2008, Xi’an, China, pp 841–845. In proceedings

58

3 Review for Integrated Process Planning and Scheduling

45. Zhang W, Xie S (2007) Agent technology for collaborative process planning: a review. Int J Adv Manuf Technol 32:315–325 46. Nwana H, Ndumu D (1997) An introduction to agent technology, Software agents and soft computing: toward enhancing machine intelligence, concepts and applications, pp 3–36 47. Gu P, Balasubramanian S, Norrie D (1997) Bidding-based process planning and scheduling in a multi-agent system. Comput Ind Eng 32(2):477–496 48. Chan F, Zhang J, Li P (2001) Modelling of integrated, distributed and cooperative process planning system using an agent-based approach. Proceed Ins Mechan Eng Part B: J Eng Manufact 215:1437–1451 49. Lim M, Zhang D (2003) A multi-agent based manufacturing control strategy for responsive Manufacturing. J Mater Process Technol 139:379–384 50. Lim M, Zhang D (2004) An integrated agent-based approach for responsive control of manufacturing resources. Comput Ind Eng 46:221–232 51. Denkena B, Zwick M, Woelk P (2003) Multiagent-based process planning and scheduling in context of supply chains. Lect Notes Art Int 2744:100–109 52. Wong T, Leung C, Mak K, Fung R (2006) Integrated process planning and scheduling/rescheduling—an agent-based approach. Int J Prod Res 44(18–19):3627–3655 53. Wong T, Leung C, Mak K, Fung R (2006) Dynamic shopfloor scheduling in multi-agent manufacturing system. Expert Syst Appl 31:486–494 54. Shukla S, Tiwari M, Son Y (2008) Bidding-based multi-agent system for integrated process planning and scheduling: a data-mining and hybrid tabu-SA algorithm-oriented approach. Int J Adv Manuf Technol 38:163–175 55. Fuji N, Inoue R, Ueda K (2008) Integration of process planning and scheduling using multiagent learning, 41st CIRP Conference on Manufacturing Systems, pp 297–300. In proceedings 56. Nejad H, Sugimura N, Iwamura K, Tanimizu Y (2008) Agent-based dynamic process planning and scheduling in flexible manufacturing system, 41st CIRP Conference on Manufacturing Systems, pp 269–274. In proceedings 57. Shen W, Wang L, Hao Q (2006) Agent-based distributed manufacturing process planning and scheduling: a state-of-the-art survey. IEEE Trans Sys Man Cyber Part C: App Rev 36(4):563– 577 58. Kis J, Kiritsis D, Xirouchakis P (2000) A petri net model for integrated process and job shop production planning. J Intell Manuf 11:191–207 59. Morad N, Zalzala A (1999) Genetic algorithms in integrated process planning and scheduling. J Int Manufac 10:169–179 60. Moon C, Kim J, Hui S (2002) Integrated process planning and scheduling with minimizing total tardiness in multi-plants supply chain. Comput Ind Eng 43:331–349 61. Zhao F, Hong Y, Yu D (2004) A genetic algorithm based approach for integration of process planning and production scheduling, International Conference on Intelligent Mechatronics and Automation, Chengdu, China, 2004, pp 483–488. In proceedings 62. Moon C, Seo Y (2005) Evolutionary algorithm for advanced process planning and scheduling in a multi-plant. Comput Ind Eng 48:311–325 63. Chan F, Chung S, Chan L (2005) An adaptive genetic algorithm with dominated genes for distributed scheduling problems. Expert Sys App 29:364–371 64. Chan F, Chung S, Chan L (2008) An introduction of dominant genes in genetic algorithm for FMS. Int J Prod Res 46(16):4369–4389 65. Park B, Choi H (2006) A genetic algorithm for integration of process planning and scheduling in a job shop. Lect Notes Artific Intell 4304:647–657 66. Choi H, Park B (2006) ‘Integration of process planning and job shop scheduling using genetic algorithm’, 6th WSEAS international conference on simulation, modeling and optimization. Lisbon, Portugal, Sep 22–24(2006):13–18 In proceedings 67. Moon I, Lee S, Bae H (2008) Genetic algorithms for job shop scheduling problems with alternative routings. Int J Prod Res 46(10):2695–2705 68. Li X, Gao L, Zhang G, Zhang C, Shao X (2008) A genetic algorithm for integration of process planning and scheduling problem. Lect Notes Artific Int 5315:495–502

References

59

69. Rossi A, Dini G (2007) Flexible job shop scheduling with routing flexibility and separable setup time using ant colony optimisation method. Robot Comput Int Manufac 23:503–516 70. Yang Y, Zhao F, Hong Y, Yu D (2005) Integration of process planning and production scheduling with particle swarm optimization (PSO) algorithm and fuzzy inference systems, SPIE International Conference on Control Systems and Robotics, May, 2005, vol 6042, No. 60421 W. In proceedings 71. Zhao F, Zhang Q, Yang Y (2006a) An improved particle swarm optimization (PSO) algorithm and fuzzy inference system based approach to process planning and production scheduling integration in holonic manufacturing system (HMS), 5th International Conference on Machine Learning and Cybernetics, Dalian, China, Aug. 13–16, 2006, pp 396-401. In proceedings 72. Zhao F, Zhu A, Yu D (2006b) A hybrid particle swarm optimization (PSO) algorithm schemes for integrated process planning and production scheduling, 6th World Congress on Intelligent Control and Automation, Dalian, China, June 21–23, 2006, pp 6772–6776. In proceedings 73. Palmer G (1996) A simulated annealing approach to integrated production scheduling. J Intell Manuf 7:163–176 74. Chen Y (2003) An integrated process planning and production scheduling framework for mass customization, PhD Dissertation, Hong Kong University of Science & Technology 75. Chan F, Kumar V, Tiwari M (2009) The relevance of outsourcing and leagile strategies in performance optimization of an integrated process planning and scheduling model. Int J Prod Res 47(1):119–142 76. Weintraub A, Cormier D, Hodgson T, King R, Wilson J, Zozom A (1999) Scheduling with alternatives: a link between process planning and scheduling. IIE Trans 31:1093–1102 77. Chan F, Kumar V, Tiwari M (2006) Optimizing the performance of an integrated process planning and scheduling problem: an AIS-FLC based approach, 2006 IEEE Conference on Cybernetics and Intelligent Systems, Bangkok, Thailand, June 7–9, 2006, pp 1–8. In proceedings 78. Gindy N, Saad S, Yue Y (1999) Manufacturing responsiveness through integrated process planning and scheduling. Int J Prod Res 37(11):2399–2418 79. Ueda K, Fuji N, Inoue R (2007) An emergent synthesis approach to simultaneous process planning and scheduling. Annals CIRP 56(1):463–466 80. Bang C (2002) Hybrid integration approach for process planning and shop floor scheduling in agile manufacturing, PhD Dissertation, State University of New York at Buffalo 81. Zhang D, Zhang H (1999) A simulation study of an object-oriented integration test bed for process planning and production scheduling. Int J Flex Manuf Syst 11:19–35 82. Wang L, Shen W (eds) (2007) Process planning and scheduling for distributed manufacturing. Springer-Verlag, London Limited

Chapter 4

Improved Genetic Programming for Process Planning

4.1 Introduction A process plan specifies what raw materials or components are needed to produce a product, and what processes and operations are necessary to transform those raw materials into the final product. It is the bridge between product design and manufacturing. The outcome of process planning is the information for manufacturing processes and their parameters, and the identification of the machine tools, and fixtures required to perform those processes. Generally, the traditional manufacturing system research literature assumed that there was only one feasible process plan for each job. This implied that there was no flexibility possible in the process plan. But, in the modern manufacturing system, most jobs may have a large number of flexible process plans. So, flexible process plan selection in a manufacturing environment has become a crucial problem. Because it has a vital impact on manufacturing system performance, several researchers have examined the flexible process plans selection problem in recent years. Sormaz and Khoshnevis [1] describe a methodology for the generation of alternative process plans in the integrated manufacturing environment. This procedure includes a selection of alternative machining processed, clustering, and sequencing of machining processes, and generation of a process plan network. Kusiak and Finke [2] developed a model to select a set of process plans with the minimum cost of removing material and minimum number of machine tools and other equipment. Bhaskaran and Kumar [3] formalized the selection of process plans with the objective of minimizing the total processing time and the total steps of processing. Lee and Huy [4] presented a new methodology for flexible operation planning using the Petri net, which was used as a unified framework for both operation planning and plan representation. Ranaweera and Kamal [5] presented a technique for evaluating processing plans generated by a cooperative intelligent image analysis framework, and this system was able to rank multiple processing plans. Seo and Egbelu [6] used tabu search

© Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_4

61

62

4 Improved Genetic Programming for Process Planning

to select a plan based on product mix and production volume. Usher and John [7] used genetic algorithms to determine optimal, or near-optimal, operation sequences for parts of varying complexity. Tiwari [8] used genetic algorithm to obtain a set of process plans for a given set of parts and production volume. Rocha and Ramos [9] used genetic algorithm approach to generate the sequence of operations and to select the machine and tools that minimize some criteria. Dereli and Filiz [10] introduced the GA-based optimization modules of a process planning system called Optimized Process Planning System for PRIsmatic parts (OPPS-PRI). Most of these approaches proposed the models to optimize flexible process plans. Moreover, few of them used evolutionary algorithms, and none of them used genetic programming. But evolutionary algorithm is becoming a useful, promising method for solving complex and dynamic problems [11]. This chapter presents a new methodology that uses genetic programming that can optimize flexible process planning effectively. GP is one of the Evolutionary Algorithms (EA) [12]. In GP, a computer program is often represented as a tree (a program tree) [13], where the internal nodes correspond to a set of functions used in the program and the external nodes (terminals) indicate variables and constants used as the input of functions. Manufacturing optimization has been a major application field for evolutionary computation methods [14]. But it has rarely been the subject of genetic programming research [15, 16]. One of the possible reasons for the lack of GP applications in manufacturing optimization is the difficulty of evolving a direct permutation through GP. Now a new methodology that uses genetic programming that can effectively optimize flexible process plans. The remainder of this chapter is organized as follows. Section 4.2 introduces a flexible process planning. GP is briefly reviewed in Sect. 4.3. GP for flexible process planning is described in Sect. 4.4. Case studies and discussion are reported in Sect. 4.5. The last section is the conclusion.

4.2 Flexible Process Planning 4.2.1 Flexible Process Plans There are three types of flexibility considered in flexible process planning [17, 18]: operation flexibility, sequencing flexibility, and processing flexibility [19]. Operation flexibility [20], which is also called routing flexibility [21], relates to the possibility of performing one operation on alternative machines, with possibly distinct processing time and cost. Sequencing flexibility is decided by the possibility of interchanging the sequence of the required operations. Processing flexibility is determined by the possibility of processing the same manufacturing feature with alternative operations or sequences of operations. Better performance in some criteria (e.g., production time) can be obtained by the consideration of these flexibilities [20]. Figure 4.1 shows an example part that consists of three manufacturing features. And the technical specifications for the part have been defined in Table 4.1. This part

4.2 Flexible Process Planning

63

Fig. 4.1 The example part

Table 4.1 The technical specifications for the part Features

Alternative operations

F1

Turning (Oper1)

M1, M2

41,38

F1

Turning (Oper11)

M3,M4

92,96

F1

Turning (Oper12)

M5,M6

20,23

Fine turning (Oper13)

M1,M2

65,70

F1

Turning (Oper12)

M5,M6

20,23

Grinding (Oper14)

M7,M9

68,72

F2

Drilling (Oper3)

M2,M4

Reaming (Oper4)

M1,M2,M5

F2

Alternative machines

Working time for each alternative machine (s)

20,22 35,29,36

Boring (Oper9)

M2,M3,M4

50,45,50

Drilling (Oper6)

M2,M3,M4

25,20,27

Reaming (Oper7)

M7,M8

54,50

Boring (Oper9)

M2,M3,M4

Reaming (Oper8)

M5,M6

Boring (Oper9)

M2,M3,M4

50,45,50

F2

Reaming (Oper15)

M7,M8,M9

50,56,52

F3

Turning (Oper2)

M5,M7

75,70

F3

Milling (Oper5)

M9,M10

49,47

F3

Milling (Oper10)

M9,M10

70,73

F2

50,45,50 80,76

64

4 Improved Genetic Programming for Process Planning

has three types of flexibility. From Table 4.1, it can be found that every operation can be processed on alternative machines with distinct process time (Oper1 can be processed on M1 and M2 with different processing time), the manufacturing sequence of feature 1 and feature 3 can be interchanged (Oper1 and Oper10 can be interchanged), and in the second column of Table 4.1, every feature has alternative operations (feature 1 has 4 alternative operations, feature 2 has 4 alternative operations, and feature 3 has 3 alternative operations).

4.2.2 Representation of Flexible Process Plans There are many methods used to describe the three types of flexibility [22], such as Petri net [4], AND/OR graphs, and network. And, a network representation proposed by Sormaz [1], Kim [20] and Ho [23] is used here. There are three node types in the network: starting node, intermediate node, and ending node [20]. The starting node and the ending node, which are dummy ones, indicate the start and the end of the manufacturing process of a job. An intermediate node represents an operation, which contains the alternative machines that can perform the operation and the processing time required for the operation according to the machines. The arrows connecting the nodes represent the precedence between them. OR relationships are used to describe the processing flexibility that the same manufacturing feature can be performed by different process procedures. If the links following a node are connected by an ORconnector, it only needs to traverse one of the OR-links (the links connected by the OR-connector are called OR-links). The OR-link path is an operation path that begins at an OR-link and ends as it merges with the other paths, and its end is denoted by a JOIN-connector. For the links that are not connected by OR-connectors, all of them must be visited [20]. Based on the technical specifications and precedence constraints, the flexible process plans of the part can be converted to the network. Figure 4.2 shows the example part’s (see Fig. 4.1) flexible process plans network which is converted from the technical specifications shown in Table 4.1, and this network will be used in Sect. 4.5. In this network, paths {11}, {12, 13}, and {12, 14} are three OR-link paths. An OR-link path can, of course, contain the other OR-link paths, e.g., paths {6, 7} and {8}.

4.2.3 Mathematical Model of Flexible Process Planning In this chapter, the optimization objective of the flexible process planning problem is to minimize the production time (contains working time and transmission time). In solving this problem, the following assumptions are made [20]: (1) Each machine can handle only one job at a time. (2) All machines are available at time zero.

4.2 Flexible Process Planning

Fig. 4.2 Flexible process plans network

65

66

4 Improved Genetic Programming for Process Planning

(3) After a job is processed on a machine, it is immediately transported to the next machine on its process, and the transmission time among machines is constant. (4) The different operations of one job can not be processed simultaneously. Based on these assumptions, the mathematical model of flexible process planning is described as follows: The notations used to explain the model are described below:

N

The total number of jobs;

Gi

The total number of flexible process plans of the ith job;

Oijl

The jth operation in the lth flexible process plan of the ith job;

Pil

The number of operations in the lth flexible process plan of the ith job;

k

The alternative machine corresponding to Oijl ;

TW(i, j, l, k)

The working time of operation Oijl on the kth alternative machine;

TS(i, j, l, k)

The starting time of operation Oijl on the kth alternative machine;

TT(i, l, (j, k1 ), (j +1, k2 ))

The transmission time between the k 1 th alternative machine of the Oijl and the k 2 th alternative machine of the Oi(j+1)l ;

TP(i)

The production time of the ith job;

The objective function is min T P (i) =

Pil  j=1

T W (i, j, l, k) +

Pil−1 

T T (i, l, ( j, k1 ), ( j + 1, k2 ))

j=1

i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G i ] (4.1) Each machine can handle only one job at a time. This is the constraint of machine. T S(i, j2 , l, k) − T S(i, j1 , l, k) > T W (i, j1 , l, k) i ∈ [1, N ], j1 , j2 ∈ [1, Pil ], l ∈ [1, G i ]

(4.2)

The different operations of one job cannot be processed simultaneously. This is the constraint of different processes for one job. T S(i, ( j + 1), l, k2 ) − T S(i, j, l, k1 ) > T W (i, j, l, k1 ) i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G i ]

(4.3)

The objective function is Eq. (4.1), and the two constraints are in Eqs. (4.2) and (4.3).

4.3 Brief Review of GP

67

4.3 Brief Review of GP Genetic Programming (GP) was introduced by Koza [13, 24] as a method for using natural selection and genetics as a basis for automatically creating computer programs. For a given problem, the work steps of GP are then given as follows: Step 1 Initialize population randomly generated computer programs (trees). Step 2 Evaluate all populations. Step 3 Produce a new generation population: (1) Reproduction Reproduce some excellent individuals and delete the same number of inferior individuals. (2) Crossover According to the user-defined probabilistic, some individuals are selected for crossover. For each two selected trees in a pair, a crossover point is chosen randomly and two offspring (trees) are produced from the pair in terms of the crossover operation and are placed into the new generation. (3) Mutation According to the user-defined probabilistic, some individuals are selected to be mutated. For each selected tree, a mutation point is randomly chosen, and one offspring (tree) is produced from the selected one in terms of the mutation operation and is placed into the new generation. Step 4 Do steps 2 and 3 cyclically until terminating condition satisfied There are a number of issues to be considered in a GP system [12]: (1) Definitions of functions and terminals to be used in the trees generated. (2) Definition of a fitness function for evaluating trees and the way those trees are evaluated. (3) Generation of the initial population. (4) Selection strategies for trees to be included in the next generation population. (5) How reproduction, crossover, and mutation operations are carried out and how often these operations are performed. (6) Criteria for terminating the evolution process and the way to check if the terminating conditions are satisfied. (7) Return of the final results.

68

4 Improved Genetic Programming for Process Planning

4.4 GP for Flexible Process Planning Using GP for flexible process planning has some advantages. GP provides a mathematical representation of the flexible process plans. Now, it is described that how GP can be used to optimize flexible process planning.

4.4.1 The Flowchart of Proposed Method Figure 4.3 shows the flowchart of the proposed method (GP for flexible process Fig. 4.3 Flowchart of GP

Flexible process plan

Initializa population

Gen=0

Evaluate (Fitness function) GP operator Reproduction Crossover Mutation

Gen=Gen+1

No Terminate condition satisfied?

Yes Near optimal process plan

4.4 GP for Flexible Process Planning

69

planning). First, the CAPP system gives flexible process plans. And then, the search begins with an initial population. The individual consists of two parts. One part is represented by the sequence of operations and the set of machines used to accomplish the operation, the other one is composed of discrimination value. The detailed description of an individual will be given in Sect. 4.2. The rest steps of the method are the same as the common GP.

4.4.2 Convert Network to Tree, Encoding, and Decoding 1. Convert network to tree From Fig. 4.2, it is known that flexible process plans can be represented as a network. And in GP, the individual is often represented as a tree (see Sect. 4.3). So, the key of the proposed method is how to convert the network to tree. In order to convert the network to tree, a method has been presented. The first step of this method is deleting the ending node of the network, and the second step is dis-entwining JOIN-connector. The last step is adding the latter intermediate nodes which are linked by the JOIN-connector to the endpoint of each OR-link linked by the JOIN-connector. And then, the network has been converted to tree. A part network of job (see Fig. 4.2) has been taken as an example to explain how to convert the network to tree (see Fig. 4.4). The procedure is as follows:

Fig. 4.4 How to convert the network to tree

70

4 Improved Genetic Programming for Process Planning

Step 1 Delete the ending node. Step 2 Step 2: Disentwine JOIN2-connector and JOIN3-connector. Step 3 Add operation 9 (the latter intermediate node is linked by the JOIN2connector and JOIN3-connector) to the endpoint of path {3, 4}, {6, 7} and {8} (the OR-links which are linked by the JOIN2-connector and JOIN3-connector), respectively. 2. Encoding and decoding GP uses the tree hierarchy frame to express problems. Each tree within a member produces one output. A tree that is made up of nodes can be classified into two sets: the function set and the terminal set. The function node is the method, and the terminal node is the value of the problem. Each node has zero or more inputs and uses those inputs to create its output. A node can have any number of inputs. The terminal can also be thought of as a zero-argument function. Input features and any constants are represented by terminal nodes. A node with one or more inputs is a function; its output is dependent on its inputs. For instance, addition, subtraction, multiplication, and division all are functions. In this chapter, each tree of each individual is generated by the function set F = {switch-case, link} and terminal set T = {discrimination value, gene}. Switch-case is the conditional expression; and link, which links the nodes together, is a user-defined function, and its output is a list. It includes the nodes which are linked by this function. The sequence of the string is from top to bottom. The discrimination value encodes OR-connectors as the decimal integer. It is in concert with the switch-case function to decide which OR-link will be chosen. A gene is a structure and made up of two parts. The first number is the operation. It can be all the operations of a job, even those that may not be performed because of alternative operation procedures. The second one is an alternative machine. It is the ith element of which represents the machine on which the operation corresponding to the ith element of part I is processed. The encoding scheme of a tree is a list that has two parts: part I is made up of genes, and part II is made up of discrimination values. Figure 4.5 shows an example individual of job (see Fig. 4.1). Taking gene (2, 5), for example, 2 is the operation of the job, and 5 is the alternative machine, which corresponds to operation 2. The encoding scheme of this individual is shown in Fig. 4.5. Part I is made up of 19 genes; part II is made up of five discrimination values. The encoding is directly decoded. The selection of the OR-link paths which contain operations and the corresponding machines is decided by the interpretation of part II of the individuals’ encoding scheme. And then the orders appearing in the resulting part I are interpreted as an operation sequence and the corresponding machining sequence for the job. In the above encoding example, the operation sequence together with the corresponding machining sequence is (1, 1)-(5, 9)-(6, 3)-(7, 8)-(9, 2).

4.4 GP for Flexible Process Planning

71

Fig. 4.5 A tree of individual

4.4.3 Initial Population and Fitness Evaluation 1. Initial population In order to operate the evolutionary algorithm, an initial population is needed. The generation of the initial population in GP is usually done randomly. But when generating the individuals for an initial population of flexible process planning, a feasible operation sequence in a process plan has to be taken into account. Feasible operation sequence means that the order of elements in the used encoding does not break constraints on precedence relations of operations [20]. As mentioned above, a method was proposed to generate a random and feasible individual. The procedure of the method is as follows: Step 1 The part I of the initial individual contains all the alternative operations, and the sequence of operations is fixed. Step 2 The second number of part I is created by randomly assigning a machine in the set of machines that can perform the operation placed at the corresponding position in part I. Step 3 The part II of the initial individual, which represents OR-link paths, is initiated by randomly generating a decimal integer for each component of this part. The selection area of each discrimination value is decided by the number of OR-link paths that are controlled by this value. For example, if it

72

4 Improved Genetic Programming for Process Planning

has three OR-link paths, the selection area of the discrimination value is the random decimal integer in [1, 3] 2. Fitness evaluation The objective of the flexible process planning problem is to minimize the production time (contains working time and transmission time) for the given problem. Adjusted fitness has been used as the objective. It can be calculated from the following: min f (i, t) =

1 T P(i, t)

(4.4)

S the size of the population; M the maximal generation; t 1, 2, 3, … M generations; TP(i, t) the production time of ith job in the tth generation (see Eq. (4.1)); The fitness function is calculated for each individual in the population as described in Eq. (4.4).

4.4.4 GP Operators It is important to employ good operators that can effectively deal with the problem and efficiently lead to excellent individuals residing in the population. The GP operators can generally be divided into three classes: reproduction, crossover, and mutation. And in each class, a large number of operators have been developed [25]. 1. Reproduction Tournament selection scheme with a user-defined reproduction probabilistic was used for reproduction operation. In tournament selection, a number of individuals are selected at random (dependent on the tournament size, typically between 2 and 7) from the population and the individual with the best fitness is chosen for reproduction. The tournament selection approach allows a tradeoff to be made between the exploration and exploitation of the gene pool [25]. This scheme can modify the selection pressure by changing the tournament size. This scheme has two working steps: Step 1 Select user-defined tournament size individuals from the population randomly to compose a group. Step 2 Copy the best member of the group (the one with the best fitness value) to the following generation, and then applying the tournament selection scheme to the remaining individuals.

4.4 GP for Flexible Process Planning

73

2. Crossover Subtree exchange crossover has been used as the crossover operator here, and a fitness-proportion selection scheme with a user-defined crossover probabilistic was used for crossover operation. Subtree exchange crossover can generate feasible children individuals that satisfy precedence restrictions and avoid duplication or omission of operations as follows. The cut point is chosen randomly in the tree, and the subtree before the cut point in one parent (parent 1) is passed on to the same position as in the offspring (child 1). The other part of the offspring (child 1) is made up of the subtree after the cut point in the other parent (parent 2). The other offspring (child 2) is made up of the subtree before the cut point in one parent (parent 2) and the subtree after the cut point in the other parent (parent 1). An example of the crossover is presented in Fig. 4.6. The cut point is marked with “black circle”. The crossover operator produces feasible trees since both parents are feasible and offspring are created without violating the feasibility of the parents.

Fig. 4.6 Subtree exchange crossover

74

4 Improved Genetic Programming for Process Planning

Fig. 4.7 Point mutation

3. Mutation Point mutation has been used as the mutation operator here, and a random selection scheme with a user-defined mutation probabilistic was used for mutation operation. Each of the selected individuals is mutated as follows. First, the point mutation scheme is applied in order to change the alternative machine represented in the gene (see Fig. 4.5) of tree. A gene is randomly chosen from the selected individual. Then, the second element of the gene is mutated by altering the machine number to another one of the alternative machines at random. Second, the other mutation is carried out to alter the OR-link path. This is associated with part II of the encoding scheme of tree. A discrimination value is randomly chosen from the selected individual. Then, it is mutated by changing its value in the selection area randomly. In the example depicted in Fig. 4.7, mutation point is marked with “ ”. Gene (5, 9) has changed into (5, 10), and the selected discrimination value has changed from 1 to 2.

4.5 Case Studies and Discussion Some experiments have been conducted to measure the adaptability and superiority of the proposed GP approach. And, the algorithm has been compared with Genetic Algorithm (GA), which is another popular heuristic algorithm. The performance of the approach is satisfactory from the experiments and comparison.

4.5.1 Implementation and Testing For doing the experiments of the proposed approach, two jobs with flexible process plans have been generated. Job 1 has been given in Figs. 4.1 and 4.2, and job 2 is

4.5 Case Studies and Discussion

75

changed from job 1 by assuming the second machine is broken in the current shop status. It has ten machines on the shop floor. The code of the machine in job 2 is the same as the code of machine in job 1. The transmission time (the time units is the same as processing time in Fig. 4.2) between the machines is given in Table 4.2. The objective is to solve the optimization of flexible process plans with the maximum objective function f (i, t) (Eq. (4.4)). The GP parameters for the two jobs are given in Table 4.3. The terminating condition is reaching the maximum generation. The GP is coded in C ++ and implemented on a PC (Pentium (R) 4, CPU 2.40 GHz). The experiments are carried out for the objective: minimizing the production time (see Sect. 4.3.2). The experimental results (fitness is the adjusted fitness) of the 2 jobs, which include the Best Individual’s Fitness (BIF), the Maximum Population’s Average Fitness (MPAF), and CPU time are reported in Table 4.4. From the experimental results which are shown in Table 4.4, the best process plan for each job has been shown in Table 4.5. And, Fig. 4.8 illustrates the convergence curves of GP for the 2 jobs. The curves show the search capability and evolution speed of this algorithm. From the above experiment results which are shown in Table 4.5, comparing job 1 with job 2, job 2 is changed from job 1 by assuming the second machine is broken, the only difference between them is the second machine is broken. But the best process plans for them are completely different. This reveals that an accident in the shop floor can lead to the best process plan changed completely. So, it becomes a very important problem that how to optimize flexible process planning to respond to the current shop status quickly. The method which is proposed in this chapter used genetic programming to optimize flexible process planning. The experimental results of Table 4.4 and Fig. 4.8 show that the GP-based approach can reach good solutions in a short time. So, the GP-based approach is a promising method in solving the optimization of the flexible process planning problem. And the results also show that the proposed method can reach near-optimal solutions in the early stage of evolution. In order to respond to the current shop status, the proposed method can select near-optimal process plans quickly and effectively.

4.5.2 Comparison with GA The algorithm has been compared with GA. The objective of the experiments is minimizing production time. The GA is coded in C ++ and implemented on the same PC with GP. The GA parameters for the two jobs are given in Table 4.3, and the fitness-proportion selection scheme, single-point crossover, and point mutation have been used as the reproduction, crossover, and mutation operators, respectively. Figure 4.9 illustrates the convergence curves of the two algorithms for two jobs. From the results of Fig. 4.9, it can be observed that the two approaches can achieve good results. The GP-based approach usually takes less time (less than 30 generations) to find optimal solutions, and the GA -based approach is slower (nearly reach 60 generations) in finding optimal solutions. The GP-based approach also can find

0

5

8

12

15

4

6

10

13

18

2

3

4

5

6

7

8

9

10

1

1

Machine code

13

10

6

4

6

10

7

3

0

5

2

10

6

4

6

10

7

4

0

3

8

3

Table 4.2 The transmission time between the machines

6

4

6

10

14

3

0

4

7

12

4

4

6

10

12

18

0

3

7

10

15

5

6

4

15

12

8

5

0

18

14

10

6

6

4

6

10

7

3

0

5

12

10

7

8

4

0

3

8

10

6

4

6

10

8

4

0

4

7

12

6

4

6

10

13

9

0

4

8

10

15

4

6

10

13

18

10

76 4 Improved Genetic Programming for Process Planning

4.5 Case Studies and Discussion

77

Table 4.3 The GP and GA parameters Parameters

GP

The size of the population, S

GA

Job1

Job2

Job1

Job2

400

400

400

400

30

30

60

60

Total number of generations, M Probability of reproduction operation, p

0.05

0.05

0.05

0.05

Probability of crossover operation, pc

0.50

0.50

0.50

0.50

Probability of mutation operation, pm

0.05

0.05

0.05

0.05

Tournament size, b

2

2

2

2

Table 4.4 Experiment results

Table 4.5 Best process plan of each job

Job

BIF

MPAF

CPU time(s)

1

0.00467289

0.00444361

113.6

2

0.00444444

0.00437222

130.9

Job

Best process plan

Production time

1

(1, 2)-(2, 7)-(3, 2)-(4, 2)-(9, 3)

213

2

(10, 9)-(11, 3)-(15, 7)

224

(1) Job 1

(2) Job 2

Fig. 4.8 Convergence curves of GP. (1) Job 1 (2) Job 2

near-optimal solutions quicker than the GA-based approach. So, when it is applied to large-scale problems in the real world, it is more suitable to reduce much computation time with a little detriment of the solution quality. Overall, the experiment results indicate that the GP-based approach is a more acceptable optimization approach to flexible process planning.

78

4 Improved Genetic Programming for Process Planning

(1) Job 1

(2) Job 2

Fig. 4.9 The comparison between the convergence curves of GP and GA. (1) Job 1 (2) Job 2

4.6 Conclusion A new approach using Genetic Programming (GP) is proposed to optimize flexible process planning. The flexible process plans and the mathematical model of flexible process planning have been described, and a network representation is adopted to describe the flexibility of process plans. To satisfy GP, the network has been converted to a tree. The efficient genetic representations and operator schemes also have been considered. Case studies have been used to test the algorithm, and the comparison has been made for this approach and GA, which is another popular evolutionary approach to indicate the adaptability and superiority of the GP-based approach. The experimental results show that the proposed method is a promising and very effective method in the optimization research of flexible process planning. A new approach using Genetic Programming (GP) is proposed to optimize flexible process planning. The flexible process plans and the mathematical model of flexible process planning have been described, and a network representation is adopted to describe the flexibility of process plans. To satisfy GP, the network has been converted to a tree. Efficient genetic representations and operator schemes also have been considered. Case studies have been used to test the algorithm, and the comparison has been made for this approach and GA, which is another popular evolutionary approach to indicate the adaptability and superiority of the GP-based approach. The experimental results show that the proposed method is a promising and very effective method in the optimization research of flexible process planning.

References 1. Sormaz D, Khoshnevis B (2003) Generation of alternative process plans in integrated manufacturing systems. J Intell Manuf 14:509–526 2. Kusiak A, Finke G (1988) Selection of process plans in automated manufacturing systems. IEEE J Robot Autom 4(4):397–402

References

79

3. Bhaskaran K (1990) Process plan selection. Int J Prod Res 28(8):1527–1539 4. Lee KH, Junq MY (1994) Petri net application in flexible process planning. Comput Ind Eng 27:505–508 5. Kamal R, Jagath S (2003) Processing plan selection algorithms for a cooperative intelligent image analysis system. In: Proceedings of the International Conference on Imaging Science, Systems and Technology, pp 576–582 6. Seo Y, Egbelu PJ (1996) Process plan selection based on product mix and production volume. Int J Prod Res 34(9):2369–2655 7. Usher JM, Bowden RO (1996) Application of genetic algorithms to operation sequencing for use in computer-aided process planning. Comput Ind Eng 30(4):999–1013 8. Tiwari MK, Tiwari SK, Roy D, Vidyarthi NK, Kameshewaran S (1999) A genetic algorithm based approach to solve process plan selection problems. IEEE Proc Sec Int Conf Intell Proc Manufac Mat 1:281–284 9. Rocha J, Ramos C, Vale Z (1999) Process planning using a genetic algorithm approach. In: IEEE Proceeding of International Symposium on Assembly and Task Planning, pp 338–343 10. Dereli T, Filiz HI (1999) Optimisation of process planning functions by genetic algorithms. Comput Ind Eng 36:281–308 11. Moriarty DE, Miikkulainen R (1997) Forming neural networks through efficient and adaptive coevolution. Evol Comput 5:372–399 12. Kramer MD, Zhang D (2000) GAPS: a Genetic Programming System. In: Proceedings of the 24th Annual International Computer Software and Application Conference (IEEE COMPSAC), pp 614–619 13. Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection and genetics. MIT Press, Cambridge MA 14. Dimopoulos C, Zalzala AMS (2001) Investigating the use of genetic programming for a classic one-machine scheduling problem. Adv Eng Softw 32:489–498 15. Garces PJ, Schoenefeld DA, Wainwright RL (1996) Solving facility layout problems using genetic programming. Proceed-ings of the 1st Annual Conference on Genetic Programming 11 (4):182–190 16. McKay BM, Willis MJ, Hiden HG, Montague GA, Barton GW (1996) Identification of industrial processes using genetic programming. Procee Confer Ident Eng Sys 1996 11 (5):510–519 17. Hutchinson GK, Flughoeft KAP (1994) Flexible process plans: their value in flexible automation systems. Int J Prod Res 32(3):707–719 18. Saygin C, Kilic SE (1999) Integrating flexible process plans with scheduling in flexible manufacturing systems. Int J Adv Manuf Technol 15:268–280 19. Benjaafar S, Ramakrishnan R (1996) Modeling, measurement and evaluation of sequencing flexibility in manufacturing systems. Int J Prod Res 34:1195–1220 20. Kim YK, Park K, Ko J (2003) A symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling. Comput Oper Res 30:1151–1171 21. Lin YJ, Solberg JJ (1991) Effectiveness of flexible routing control. Int J Flex Manuf Syst 3:189–211 22. Catron AB, Ray SR (1991) ALPS-A language for process specification. Int J Comput Integr Manuf 4:105–113 23. Ho YC, Moodie CL (1996) Solving cell formation problems in a manufacturing environment with flexible processing and routing capabilities. Int J Prod Res 34:2901–2923 24. Koza JR (1990) Genetic programming: a paradigm for genetically breeding populations of computer programs to solve problems. Tech Rep STAN-CS-90–1314 Stanford University Computer Science Department 25. Langdon WB, Qureshi A (1995) Genetic programming—computers using “Natural Selection” to generate programs. Tech Rep RN/95/76, Gower Street, London WCIE 6BT, UK 26. Banzhaf W, Nordin P (1998) Genetic programming: an introduction. Morgan Kaufmann Publishers Inc, San Francisco CA

Chapter 5

An Efficient Modified Particle Swarm Optimization Algorithm for Process Planning

5.1 Introduction A process plan specifies what raw materials or components are needed to produce a product, and what processes and operations are necessary to transform those raw materials into the final product. It is the bridge of the product design and the downstream manufacturing specifications by translating design features into the machining process instructions [1]. The outcome of process planning is the information for manufacturing processes and their parameters, and the identification of the machine tools, and fixtures required to perform those processes. In the modern manufacturing system, process planning contains two subproblems, which are operations selection and operations sequencing [2]. Operations selection is the act of selecting necessary operations needed to achieve processing features of a part and determining relevant manufacturing resources for each operation. And operations sequencing is the act of determining a sequence of operations subject to the precedence constraints among machining features. Therefore, there are several flexibilities of the process planning. In the operations selection phase, different combinations of operations may be selected to achieve the same manufacturing feature (processing flexibility) and alternative resources may exist for each operation (such as machine flexibility), and in the operations sequencing phase, a different sequence of operations construct different process plans for the same part (sequence flexibility). Therefore, most parts may have a large number of alternative process plans because of the flexibilities of the processing, resources, and sequences. However, the traditional manufacturing system research literature assumed that there was only one process plan for each part. This implied that there was no flexibility considered in the process plan. This did not match the current manufacturing system status. So, process planning in a manufacturing environment has become a crucial problem. Because it has a vital impact on the manufacturing system performance, in the past 20 years, process planning has received significant attention from many researchers and engineers, and numerous approaches have been proposed to obtain © Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_5

81

82

5 An Efficient Modified Particle Swarm Optimization …

optimal or near-optimal solutions to this intractable problem. Unfortunately, the available machining resources in the workshop, geometrical as well as the technological requirements of the part, and the precedence relationships among all the operations make conducting of operations selection and operations sequencing simultaneously to be a combinatorial optimization problem. Process planning can be modeled as a constraint-based Traveling Salesman Problem (TSP) [3]. Because TSP is proved to be NP-hard, the process planning is also an NP-hard problem. Therefore, effective methods required from the process planning problem are needed to solve this problem in reasonable computational time. Recently, most works applied the meta-heuristic algorithms to solve the process planning problem, such as Genetic Algorithm (GA), Simulated Annealing (SA), Particle Swarm Optimization (PSO), and hybrid algorithms. Among these metaheuristic methods, PSO is a very effective algorithm. The traditional PSO algorithm is an expert in solving the continuous problems. However, the process planning problem is a discrete combinational optimization problem. Therefore, this chapter modifies the PSO algorithm which can be used to solve the discrete problems and aim to consider the operations selection and operations sequencing concurrently to achieve optimal or near-optimal solutions. The remainder of this chapter is organized as follows. Section 5.5.2 is related work. Section 5.5.3 is the problem formulation. Modified PSO for process planning is proposed in Sect. 5.5.4. Experimental studies and discussions are reported in Sect. 5.5.5. Section 5.5.6 is conclusions and future researches.

5.2 Related Work 5.2.1 Process Planning The proposed methods for process planning can be divided into two categories. The first one is the exact method and the other one is the approximation method. The exact method contains mathematical programming methods and Branch and Bound method. The main approximation method contains some artificial intelligence-based approaches. Xu et al. [2] had reviewed some current works. Kusiak [4] proposed an integer programming approach for the process planning problem. Gan et al. [5] presented a Branch and Bound algorithm-based process planning system for plastic injection mold bases. Xu et al. [6] proposed a clustering-based modeling scheme of the manufacturing resources for process planning. Xu et al. [7] also proposed a novel process planning schema based on the process of knowledge customization. However, exact algorithms are not effective for solving the large-scale combinatorial optimization problems. Therefore, most presented methods on process planning focused on the artificial intelligence-based methods, such as holonic-based approach [8], agent-based approach [9], psycho-clonal-algorithm-based approach

5.2 Related Work

83

[10], artificial immune system [11], flower pollinating with artificial bees [12], symbiotic evolutionary algorithm [13], genetic programming [14], GA, Ant Colony Optimization (ACO), SA, tabu search [15, 16], imperialist competitive algorithm [17], web service-based approach, hybrid algorithms, and so on. Zhang et al. [18] proposed a GA for a novel Computer-aided Process Planning (CAPP) model in a job shop manufacturing environment. Li et al. [19] applied a GA to the CAPP in distributed manufacturing environments. Hua et al. [20] proposed a GAbased synthesis approach for machining scheme selection and operation sequencing optimization. Salehi et al. [21] used a GA in the CAPP in preliminary and detailed planning. Musharavati and Hamouda [22] proposed a modified GA for manufacturing process planning in multiple parts manufacturing lines. Salehi and Bahreininejad [23] applied the intelligent search and GA simultaneously to optimize the process planning effectively. Krishna and Mallikarjuna Rao [24] used an ACO to optimize the operations sequences in CAPP. Tiwari et al. [25] successfully applied an ACO algorithm to solve the complex process plan selection problem. Liu et al. [3] proposed an ACO algorithm for the process planning problem to cut down the total cost for the machining process. Ma et al. [26] developed a SA algorithm for process planning. Mishra et al. [27] adopted a fuzzy goal programming model having multiple conflicting objectives and constraints pertaining to the machine tool selection and operation allocation problem and proposed a random search method termed quick converging SA to solve the above problem. Musharavati et al. [28, 29] developed an enhanced SAbased algorithm and a SA with auxiliary knowledge to solve the process planning problems in reconfigurable manufacturing. Li et al. [30] wrapped a process planning module, which can optimize the selection of machining resources, determination of setup plans, and sequencing of machining operations to achieve optimized process plans, as services and deployed on the Internet to support distributed design and manufacturing analysis. Li [31] wrapped a process planning optimization module, which was based on a tabu search approach, as a web-enabled service and deployed on the Internet to support distributed design and manufacturing analysis. Most of the abovementioned works used only one algorithm to deal with process planning. However, every algorithm has its own advantages and disadvantages. Therefore, some researchers tried to combine several algorithms together to construct some effective hybrid algorithms to solve the process planning. Ming and Mak [32] proposed a hybrid Hopfield network-GA approach as an effective near-global optimization technique to provide a good quality solution to the process plan selection problem. Zhang and Nee [33] applied a hybrid GA and SA for the process planning optimization. Li et al. [34] modeled the process planning as a combinatorial optimization problem with constraints and proposed a hybrid GA and SA approach to solve it. Huang et al. [35] proposed a hybrid graph and GA approach to optimize the process planning problem for prismatic parts.

84

5 An Efficient Modified Particle Swarm Optimization …

5.2.2 PSO with Its Applications PSO is a very effective algorithm for optimization problems. Therefore, many types of research about the PSO with its applications have been reported. Ali and Kaelo [36] proposed some modifications in the position update rule of the PSO algorithm to make the convergence faster. Goh et al. [37] adopted a competitive and cooperative co-evolutionary approach to the multi-objective PSO algorithm design. Shi et al. [38] proposed a cellular PSO which hybridized cellular automata and PSO for function optimization. Because of the good effect of the PSO, some researchers tried to apply it to solve some combinatorial optimization problems. Wang and Tsai [39] proposed the review course composition system, which adopted the discrete PSO to quickly pick the suitable materials. Wang and Liu [40] proposed a chaotic PSO approach to generate the optimal or near-optimal assembly sequences of products. Moslehi and Mahnam [41] applied a Pareto approach based on PSO to solve the multi-objective flexible job shop scheduling problem. Zhang and Zhu [42] proposed a new version of the PSO algorithm for sequence optimization. Chen and Chien [43] proposed a genetic-simulated annealing ant colony system with PSO for the traveling salesman problem. Based on the above survey of PSO, we can find that many types of research on PSO with its applications are reported. PSO attracts many researchers to do the theory researches and has been successfully applied in many application areas. It is also very effective for combinatorial optimization problems. However, there are very few works about using PSO for process planning. Only Guo et al. [44] and Wang et al. [45] applied a PSO for the operation sequencing problem in process planning. Therefore, this chapter proposes a novel and efficient modified PSO to solve the process planning problem. The details of the proposed PSO will be given in the following sections.

5.3 Problem Formulation 5.3.1 Flexible Process Plans There are three types of flexibility considered in flexible process plans [14]: processing flexibility, machine flexibility, and sequencing flexibility. Processing flexibility is determined by the possibility of processing the same manufacturing feature with alternative operations. Machine flexibility relates to the possibility of performing one operation on alternative machines, with distinct processing time or cost. Sequencing flexibility is decided by the possibility of interchanging the sequence of the required operations. Better performance in some criteria (e.g., production time) can be obtained by the consideration of these flexibilities.

5.3 Problem Formulation

85

Table 5.1 The flexible process plan of an example part Feature

Operations

Alternative machines

Processing time

Precedence constraints of the features

F1

O1

M3, M8

8, 13

Before F2, F3

F2

O2-O3

M5, M6, M8/M2

16, 12, 13/21

Before F3

O4-O5

M1, M5, M10/M9

13, 16, 18/17

F3

O6

M5, M8

46, 47

F4

O7

M3, M7, M13

44, 48, 49

Before F5, F6, F7

F5

O8

M5, M6, M13

17, 14, 10

Before F6, F7

O9

M5, M15

16, 13

F6

O10

M3, M11, M15

28, 27, 30

F7

O11

M10, M13

48, 50

F8

O12

M5, M13, M15

31, 32, 36

Before F9, F10, F11

F9

O13

M3, M6, M9

30, 28, 26

Before F10, F11

O14-O15

M2/M1, M14

11/16, 18

F10

O16

M4, M15

18, 19

F11

O17

M3, M10, M14

36, 32, 35

Before F7

Before F11

Table 5.1 shows the flexible process plans of an example part. It contains 11 total features and 17 total operations. And each feature can be processed by one or more operations. For example, feature 9 can be processed by the operation 13. And it also can be processed by the operations 14 and 15. This represents the processing flexibility. Operation 1 can be processed by machines 3 and 8. This represents machine flexibility. There is no sequence constraint between feature 1 and feature 4. Feature 1 can be processed before feature 4. And feature 4 can be processed before feature 1. This represents the sequence flexibility. Therefore, the process planning problem is a very complex problem. The TSP has been proven to be an NP-hard problem. The process planning problem is also an NP-hard problem. So, in order to solve this problem effectively, this chapter presents a novel modified PSO algorithm.

5.3.2 Mathematical Model of Process Planning Problem In this chapter, the optimization objective of the process planning problem is to minimize the production time (contains processing time and transmission time). To solve this problem, the following assumptions are made [14]: 1. The different operations of one part cannot be processed simultaneously. 2. All machines are available at time zero. 3. After a part is processed on a machine, it is immediately transported to the next machine on its process, and the transmission time is assumed to be constant. 4. Setup time for the operations on the machines is independent of the operation sequence and is included in the processing time.

86

5 An Efficient Modified Particle Swarm Optimization …

For more details about the mathematical model of the process planning problem can refer to Li et al. [14].

5.4 Modified PSO for Process Planning 5.4.1 Modified PSO Model 5.4.1.1

Traditional PSO Algorithm

The PSO algorithm is initialized with a population of random candidate solutions called particles. The ith particle in the d-dimensional solution space is denoted as X i = (x i1 , x i2 , …, x id ). The ith particle is assigned with a random velocity V i = (vi1 , vi2 , …, vid ) and iteratively moves in the solution space. During each iteration, the ith particle is updated by the following two best values: Pi = (pg1 , pg2 , …, pgd ), which is the best value that the ith particle has achieved so far and Pg = (pg1 , pg2 , …, pgd ), which is the best value that the population has achieved so far. Each particle is updated iteratively by the following equations:   vid = w × vid + c1 × rand() × ( pid − xid ) + c2 × Rand() × pgd − xid (5.1) xid = xid + vid

(5.2)

w used to control the amount of the previous velocity is the inertia weight. c1 and c2 which are the positive constants are the personal and social learning factors. rand() and Rand() are two random numbers uniformly distributed in [0, 1]. To improve the searching efficiency, the traditional PSO has been modified by many researchers. Generally, the research studies on PSO can be categorized into five parts: algorithms, topology, parameters, merging with the other evolutionary computation techniques, and applications [46]. In traditional PSO, particles are updated according to the velocity–displacement model. In this model, each particle is referred as an n-dimensional vector. The components of the vector are independent and there is no sequence constraint among them. Therefore, in traditional PSO, particles are flying in a continuous searching space essentially. However, there are usually many constraints existing in combinatorial optimization problems. For example, in a typical process planning problem, the constraints must be satisfied in the solution vector. Since the velocity–displacement model cannot represent the constraint of the solution vector effectively, it is not suited for the process planning problem. In the following, the optimization mechanism of the traditional PSO is analyzed. And then, a modified PSO model has been introduced.

5.4 Modified PSO for Process Planning

87

In traditional PSO, the velocity equation (Eq. (5.1)) consists of three parts. w×vid is referred as the “momentum” part, which represents the influence of the last velocity towards the current velocity. It provides the necessary momentum for particles to fly in the search space. c1 ×rand () × (pid −x id ) is the “cognitive” part, which represents the primitive thinking by itself. The cognitive component encourages the particles to move toward their own best positions found so far. c2 ×rand () × (pid −x id ) is the “social” part, which represents the cooperation among the particles.

5.4.1.2

Modified Particle Swarm Optimization Model

Through analyzing the optimization mechanism of the traditional PSO, a modified PSO model can be introduced by omitting the concrete velocity–displacement updating method of the traditional PSO. The pseudocode of the modified PSO model is shown in Fig. 5.1 [47]. According to this optimization model, each particle obtains updating information from the experiences of its own and the population. To keep the diversity of the population, a random search is implemented for each particle with a certain probability. In this model, the updating method for each particle has not been defined. Particles can obtain updating information through various approaches. It depends on the problems. Therefore, to deal with the combinatorial optimization problems, effective encoding, updating, and random search methods suiting for the problems can be developed to implement the PSO model. Based on the features of their specific problems, the researchers can design all the parts of the PSO algorithm. Initialize the population randomly; Evaluate each particle in the population; Do { For each particle xi { Update the current particle using its own experience; Update the current particle using the whole population’s experience; Search in balance with random search; } } while maximum iterations or other stopping criteria are not attained Fig. 5.1 The pseudocode of the modified PSO [47]

88

5 An Efficient Modified Particle Swarm Optimization …

5.4.2 Modified PSO for Process Planning According to the above pseudocode, the key step to implement the modified PSO model is to develop effective encoding and updating methods for the particles. Effective random search method is also necessary. According to the optimization model, a modified PSO algorithm combined with the successful uses of GA is proposed to solve the process planning problem. In the following sections, the details of the modified PSO for the process planning problem are introduced, respectively.

5.4.2.1

The Modified PSO Framework

The workflow of the proposed modified PSO is shown in Fig. 5.2. Its framework can be described as follows: Step 1

Step 2 Step 3

Step 4

Step 5 Step 6

Step 7 Step 8

Set the parameters of PSO, including the size of the population (Psize ), size of memory population (M size ), maximum generations (maxG), updating methods probability (Pum ), and random search probability (Pr ); Initialize the population randomly and use the constraint adjustment method to rearrange the infeasible particles; Evaluate the fitness of each particle in the population and retain the best M size particles in the memory population. Set the best solution that each particle achieves equal to its current value; Each particle in current population will perform updating operation with a predefined probability (Pum ). For each selected particle in the population, select a particle from the memory population randomly. Current particle performs updating operation with this particle and the best solution that it achieves so far, respectively. Then two new solutions will be created. Use the constraint adjustment method to rearrange the infeasible particles. Replace current particle by the new solution with better fitness; Evaluate the particles in the population once again. Update the current best solution in the population; Is the terminate criteria satisfied? If yes, go to Step 10; Else go to Step 7; Update the best solution that each particle achieves; Update the memory population by the following criterion: take into account every particle in the population one by one. If its fitness is better than the fitness of the worst particle in the memory population and it does not exist in the memory population, replace the worst particle of the memory population with the current particle. According to this procedure, the memory population will be updated;

5.4 Modified PSO for Process Planning

89

Fig. 5.2 The workflow of the modified PSO

Step 9

Each particle in the current population will perform a random search operation with a predefined probability (Prs ). Use the constraint adjustment method to rearrange the infeasible particle. Replace the current particle with the particle achieved by random search; go to Step 4; Step 10 Stop the algorithm and output the best solutions.

90

5.4.2.2

5 An Efficient Modified Particle Swarm Optimization …

Encoding and Decoding of the Particles

Each particle in the population consists of three parts with different lengths as shown in Fig. 5.3. The first part of the particle is the feature string. It is a sequence of all features of this part. The length of this string is equal to the number of features. The second part of the particle is the alternative operations string. The element in the ith position represents the selected alternative operations of the ith feature of this part. The length of this string is also equal to the number of features. The third part of the particle is the alternative machine string. The element in the jth position represents the selected alternative process of the jth operation of this part. The length of this string is equal to the total number of all operations. Figure 5.3 shows a particle of the example part in Table 5.1. In this example, this part has 11 features and 17 total operations. Therefore, the feature string and alternative operations string are made up of 11 elements, and the alternative machine string is made up of 17 elements. The feature string is a sequence from 1 to 11 according to the sequence constraints between every feature. For the alternative operations string, the second element is 2. It means that the second feature (F 2 ) of this part chooses its second alternative process, i.e., O4 -O5 - in Table 5.1. For the alternative machine string, the fourth element is 2. It means that the fourth operation (O4 ) chooses its second alternative machine, i.e., M 5- in Table 5.1. The particle can be decoded by the encoding principle. The basic working steps of the decoding method are as follows: Step 1 Decoding the alternative operations string firstly, scanning this string from left to right to obtain the selected operations for each feature. For the particle in Fig. 5.3, the selected operations for each feature are F 1 (O1 ), F 2 (O4 -O5 ), F 3 (O6 ), F 4 (O7 ), F 5 (O9 ), F 6 (O10 ), F 7 (O11 ), F 8 (O12 ), F 9 (O14 -O15 ), F 10 (O16 ), and F 11 (O17 ); Step 2 Decoding the feature string, scanning this string from left to right to obtain the sequence of the features. For the particle in Fig. 5.3, the sequence of the features is F 1 -F 4 -F 5 -F 8 -F 6 -F 7 -F 9 -F 10 -F 2 - F 3 -F 11 ; then, obtain the sequence of the operations according to the selected operations for each feature in Step 1, the sequence of the operations is O1 -O7 -O9 -O12 -O10 -O11 -O14 -O15 O16 -O4 -O5 -O6 -O17 ; Feature String:

1

4

5

8

6

7

9

10

2

3

11

Feature No.

Alternative Process String:

1

2

1

1

2

1

1

1

2

1

1

Alternative Process No. for Each Feature

Alternative Machine String:

1

3

1

2

1

1

3

2

2

3

2

Alternative Machine No. for Each Operation

Fig. 5.3 One particle of the process planning problem

2

2

1

1

2

1

5.4 Modified PSO for Process Planning

91

Step 3 Decoding the alternative machine string, scanning this string from left to right to obtain the selected machine for each operation. For the particle in Fig. 5.3, the selected machine for each operation are O1 (M 3 ), O2 (M 8 ), O3 (M 2 ), O4 (M 5 ), O5 (M 9 ), O6 (M 5 ), O7( M 13 ), O8 (M 6 ), O9 (M 15 ), O10 (M 15 ), O11 (M 13 ), O12 (M 13 ), O13 (M 6 ), O14 (M 2 ), O15 (M 1 ), O16 (M 15 ), and O17 (M 3 ); Step 4 According to the sequence of the operations in Step 2 and the selected machine for each operation in Step 3, determine the feasible process plan (including the sequence of the operations and the selected machine with the corresponding processing time for each operation) for this part. Therefore, according to the decoding steps, the example in Fig. 5.3 can be decoded to a feasible process plan, i.e., O1 (M 3 )-O7 (M 13 )-O9 (M 15 )-O12 (M 13 )-O10 (M 15 )O11 (M 13 )-O14 (M 2 )-O15 (M 1 )-O16 (M 15 )-O4 (M 5 )-O5 (M 9 )-O6 (M 5 )-O17 (M 3 ).

5.4.2.3

Updating Method

In traditional PSO, each particle learns from the best particle in the population. In this information exchanging mechanism, particles attain updating information greedily. If the global best particle is trapped in a local optimum, all particles tend to concentrate on the local optimum and the algorithm will converge prematurely [47]. To overcome the limitations of the traditional information-sharing mechanism, a memory population is introduced to record better solutions. Particles obtain updating information from the memory population. Because of the successful use of crossover operation in GA to generate new individuals, the proposed modified PSO algorithm will use the crossover operation for the particles to exchange their information. There are three parts in a particle and three separate crossover operations for the selected particles are developed. The developing principle is that to avoid generating the infeasible offspring. The procedure of the first crossover operation for the feature string is described as follows: Step 1 Select a pair of particles P1 and P2, and initialize two empty offspring: O1 and O2; Step 2 Select two crossover points randomly to divide the two parents into three parts; Step 3 The elements in the middle of each parent are appended to the same positions of the corresponding offspring; Step 4 Delete the existing elements of O1 in P2, and then, the remaining elements of P2 are appended to the remaining empty positions in O1 seriatim. The same process can obtain O2 An example of the first crossover operation is presented in Fig. 5.4. The second crossover operation is implemented in the alternative operations string. Two crossover points are selected randomly at first, and then two new strings (the alternative operation’s strings in O1 and O2) are created by swapping the divided parts

92

5 An Efficient Modified Particle Swarm Optimization …

P1:

1

4

5

8

6

7

9

10

2

3

11

O1:

4

1

5

8

6

7

9

10

2

11

3

P2:

4

8

1

5

9

6

7

10

2

11

3

O2:

4

8

1

5

9

6

7

10

2

3

11

P1:

1

4

5

8

6

7

9

10

2

3

11

Crossover Point 1

Crossover Point 2

Fig. 5.4 The first crossover operation for feature string

Fig. 5.5 The second crossover operation for alternative operations string

Fig. 5.6 The third crossover operation for alternative machine string

of the two parent strings. An example of the second crossover operation for the alternative operations string is presented in Fig. 5.5. The third crossover operation implemented in the alternative machine string has the same procedure as the second crossover. An example of the third crossover operation for the alternative machine string is presented in Fig. 5.6.

5.4.2.4

Random Search

Mutation operation in GA is used as the random search method for each particle. Mutation introduces some extra variability into the population and its function is to

5.4 Modified PSO for Process Planning

93

maintain the diversity of the population. In the modified PSO, there are three parts in a particle and three separate mutation operations for each selected particle are developed. The developing principle is to avoid generating the infeasible offspring. The first mutation operation for the feature string is described as follows: Step 1 Select two positions in the feature string of the parent P and initialize one offspring O; Step 2 Swap the elements in the two selected positions in P to generate the feature string of O The second mutation operation for the alternative operations string is described as follows: Step 1 Select one position in the alternative operations string of the parent P; Step 2 Change the element of this selected position to the other alternative operations in the alternative operations set The third mutation operation for the alternative machine string is described as follows: Step 1 Select one position in the alternative machine string of the parent P; Step 2 Change the element of this selected position to the other alternative machine in the alternative machines set The examples of the mutation operations for the particle are presented in Fig. 5.7. Above the first dash line, it is an example of mutation operation for feature string, the selected two points (8 and 10) are marked out, and O is generated by swapping 8 and 10. Under the first dash line, it is an example of the mutation operation for alternative operations string. The selected element 2 (for feature 5) which is marked

Fig. 5.7 The mutation operations for particle

94

5 An Efficient Modified Particle Swarm Optimization …

out is changed to 1. This means that the selected operations for feature 5 have changed from the second to the first one in the alternative operations set. And under the second dash line, it is an example of the mutation operation for alternative machine string. The selected element 3 (for operation 7) which is marked out is changed to 1. This means that the selected machine for operation 7 has changed from the third to the first one in the alternative machines set.

5.4.2.5

The Constraint Adjustment Method

For the feature string of an initially generated or an adjusted particle after the updating methods, the precedence constraints might not be satisfied. A constraint adjustment method, which can be applied to a complicated and multiple constraint condition, is adopted from Li et al. [34] to rearrange the feature string according to the precedence constraints between each feature. For more details refer to Li et al. [34]. This method is used after each modified PSO operation of the particles (including initialization, the updating methods, and the random search).

5.4.2.6

Terminate Criteria

If the number of iterations that the proposed modified PSO runs reaches to the maximum generations (maxG), the algorithm stops.

5.5 Experimental Studies and Discussions 5.5.1 Case Studies and Results The proposed modified PSO algorithm procedure is coded in C ++ and implemented on a computer with a 2.0 GHz Core (TM) 2 Duo CPU. To verify the feasibility and performance of the proposed modified PSO algorithm, seven cases have been conducted. The parameters of the modified PSO algorithm are set as follows: size of the population Psize 400, size of the memory population Msize 20, the maximum generations maxG 100, the updating methods probability pum 0.8, and the random search probability prs 0.1. The algorithm terminates when the number of generations reaches to the maximum value (maxG). This chapter assumes that there are 15 machines in the workshop. And the transmission time between each machine is given in Table 5.2. Three algorithms have been used to solve these cases. They are the proposed modified PSO algorithm, simple SA, and GA. Each algorithm runs 20 times. The best result is the best one of all the best results in the 20 runs. The average best result is the average of the 20 best results. The average convergent generation is the average of all the convergent generations in the 20 runs.

9

10

11

7

6

14

13

12

10

5

6

9

6

7

8

9

10

11

12

13

14

15

7

3

5

5

4

0

2

1

1

Machine no.

8

7

10

12

7

4

6

7

2

7

5

4

3

0

5

2

9

8

6

5

3

4

2

7

3

4

5

6

0

3

7

3

4

7

6

4

4

0

6

4

9

16

15

14

13

12

10

4

Table 5.2 The transmission time between each machine

8

10

11

12

10

9

8

7

12

10

0

4

5

5

10

5

8

7

6

7

6

5

5

4

4

0

10

4

4

7

11

6

6

3

2

7

8

7

7

7

6

6

6

5

0

4

12

7

3

4

2

4

3

2

4

0

5

4

7

7

7

7

6

8

8

6

7

4

7

5

0

4

6

5

8

4

2

6

14

9

7

14

12

10

8

0

5

2

6

5

9

10

4

4

13

10

10

14

10

7

0

8

7

3

6

6

10

12

3

7

12

11

10

12

10

0

7

10

4

4

7

7

12

13

5

12

10

12

8

8

0

10

10

12

7

2

7

6

11

14

6

10

5

13

9

0

8

12

14

14

6

4

7

7

10

15

8

7

6

14

0

9

8

10

10

7

8

3

8

8

8

16

9

8

9

15

5.5 Experimental Studies and Discussions 95

96

5 An Efficient Modified Particle Swarm Optimization …

Table 5.3 The results of case 1 Algorithm

Best result

Average best result

Average convergent generation

Simple SA

377

378.1

90.6

Simple GA

377

380.2

87.8

Modified PSO

377

377

47.2

Best process plan of the modified PSO

O7(M3)-O1(M3)-O8(M5)-O9(M5)-O12(M5)-O4(M5)O5(M9)-O13(M9)-O16(M4)-O10(M3)-O17(M10)-O11(M10)O6(M8)

5.5.1.1

Case 1

The data of the case 1 has been given in Table 5.1. This part contains 11 features. The results and the comparisons of the modified PSO with the simple SA and GA are given in Table 5.3. The process plan includes the operations sequence with the corresponding machines. The results show that the proposed method has better performance than other two algorithms.

5.5.1.2

Case 2

Case 2 is adopted from Li and McMahon [48]. It contains three parts. The manufacturing information (including features, operations, and machines with processing time) can refer to Li and McMahon [48]. The alternative tools are not considered and the processing time of every machine for the corresponding operation is rounded. The results and the comparisons with the simple SA and GA are given in Table 5.4.

5.5.1.3

Case 3

Case 3 is adopted from Kim et al. [49] and Kim [50]. It contains 18 parts. The results and the comparisons with the simple SA and GA are given in Table 5.5. SA, GA, and PSO represent the simple SA, simple GA, and modified PSO algorithm, respectively.

5.5.1.4

Case 4

Case 4 is adopted from Shin et al. [13, 51]. It contains18 parts. The alternative tools are not considered. Because there are some problems about the data of some parts from the references, 13 parts (except parts 12, 13, 15, 17, and 18) are selected in this chapter. The results and the comparisons with the simple SA and GA are given in Table 5.6. SA, GA, and PSO represent the simple SA, simple GA, and modified PSO algorithm, respectively.

5.5 Experimental Studies and Discussions

97

Table 5.4 The results of case 2 Part

Algorithm

Best result

Average best result

Average convergent generation

1

Simple SA

342

344.6

51.2

Simple GA

342

343.8

46.2

Modified PSO

341

341.5

34.2

Best process plan of the modified PSO

2

Simple SA

187

190.2

46.3

Simple GA

187

188.5

41.1

Modified PSO

187

187

33.1

Best process plan of the modified PSO

3

O16(M4)-O3(M4)-O5(M4)-O1(M4)-O6(M4)O7(M4)-O14(M4)-O11(M4)-O15(M4)-O9(M4)O12(M4)-O4(M4)-O13(M4)-O2(M4)-O8(M4)O10(M4)

Simple SA

176

179.2

55.8

Simple GA

176

177.5

50.6

Modified PSO

176

176

39.5

Best process plan of the Modified PSO

5.5.1.5

O1(M4)-O5(M4)-O18(M4)-O2(M4)-O6(M4)O11(M4)-O12(M4)-O13(M4)-O14(M4)-O7(M4)O4(M4)-O17(M4)-O15(M4)-O16(M4)-O8(M4)O9(M4)-O10(M4)-O19(M4)-O20(M4)-O3(M4)

O1(M4)-O2(M4)-O9(M4)-O10(M4)-O11(M4)O5(M4)-O3(M4)-O6(M4)-O4(M4)-O7(M4)O12(M4)-O13(M4)-O8(M4)-O14(M4)

Case 5

Case 5 is adopted from Ma et al. [26]. The part is shown in Fig. 5.8. This part contains nine features. The data of case 5 has been given in Table 5.7. The alternative tools are not considered. The results and the comparisons of the modified PSO with the simple SA and GA are given in Table 5.8. Because Ma et al. [26] considered the cost as the objective which is different from this chapter, the comparison between the methods of this chapter and Ma et al. [26] is not given.

5.5.1.6

Case 6

Case 6 is adopted from Wang et al. [45]. The part is shown in Fig. 5.9. This part contains seven features. The data of case 6 has been given in Table 5.9. The alternative tools are not considered. The results and the comparisons of the modified PSO with the simple SA and GA are given in Table 5.10. Because Wang et al. [45] considered the cost as the objective which is different with this chapter, the comparison between the methods of this chapter and Wang et al. [45] is not given.

PSO

359

502

314

314

409

304

358

393

264

271

442

216

269

358

248

314

361

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

361

314

248

357

269

216

442

271

264

392

358

304

409

314

314

502

359

360

314

248

357

269

216

442

271

264

391

358

304

408

314

314

498

359

303

363.5

315.1

248

361.3

270.5

216.1

442.8

271.3

264

395.7

358

304.5

411.3

315.8

315.7

504.9

361.2

303

363.7

314.8

248

359.2

269.6

216.2

443.1

271.1

264

394.1

358

304.2

410.3

315.1

314.8

503.6

360.7

303

GA

SA

303

GA

SA

303

Average best result

Best result

1

Part

Table 5.5 The results of case 3 PSO

361.3

314.6

248

357

269

216

442

271

264

391.9

358

304

408.8

314

314

500.3

359

303

74.5

60.3

30.2

76.4

44.5

40.2

47.3

55.8

25.1

121.7

29.6

45.3

63.8

49.1

48.6

72.4

55.2

21.1

SA

60.4

48.7

24.1

60.2

40.1

33.7

40.2

52.1

22.3

102.1

25.2

38.5

56.7

41.5

40.1

60.2

48.3

15.4

GA

Average convergent generation

49.2

40.2

20.7

48.1

36.6

30.2

35.8

45.3

19.2

90.1

20.4

30.8

49.9

34.5

33.7

49.1

39.5

12.3

PSO

98 5 An Efficient Modified Particle Swarm Optimization …

267

165

299

268

204

204

137

181

181

153

151

120

170

2

3

4

5

6

7

8

9

10

11

14

16

167

120

150

153

181

181

137

204

204

268

297

165

267

167

120

149

153

179

181

137

204

204

267

296

163

267

173.6

120

153.4

154.2

183.5

181.1

137

206.8

204

273.3

301.2

167.3

268.7

SA

170.4

120

151.1

153

182.6

181.2

137

206.3

204

271.2

299.6

166.5

268.1

GA

Average best result PSO

SA

GA

Best result

1

Part

Table 5.6 The results of case 4

167

120

149.2

153

179.7

181

137

205.1

204

268.4

297.1

164.2

267

PSO

80.4

77.9

60.2

78.5

110.3

50.1

35.6

122.3

75.1

67.2

74.1

61.6

59.8

SA

61.9

56.3

52.7

58.3

92.1

44.6

29.3

104.5

61.2

56.4

60.7

55.3

52.1

GA

Average convergent generation

48.8

39.4

43.1

43.9

81.2

37.8

26.1

90.6

45.9

49.3

48.5

46.2

43.6

PSO

5.5 Experimental Studies and Discussions 99

100

5 An Efficient Modified Particle Swarm Optimization …

Fig. 5.8 The part in case 5 from Ma et al. [16]

Table 5.7 The data of case 5 Feature

Operations

Alternative machines

Processing time

Precedence constraints of the features

F1

O1

M1, M2, M4, M5

10, 12, 13, 8

Before F6

F2

O2

M1, M2, M4, M5

22, 21, 18, 25

Before F1

F3

O3

M1, M2, M4, M5

15, 16, 18, 20

F4

O4

M1, M2

8, 10

F5

O5-O6

M1, M2

19, 21

F6

O7-O8-O9

M1, M2, M3 M4, M5

8, 6, 7, 10, 12

M1, M2, M3, M5

12, 14, 18, 11

M1, M2

20, 23

M1, M2, M3 M4, M5

8, 6, 7, 9, 5 18, 20

F7

O10-O11

M1, M2 M1, M2

21, 24

F8

O12

M1, M2

31, 33

F9

O13

M1, M2, M4, M5

30, 33, 28, 34

5.5.1.7

Before F5, F6

Before F8

Before F1

Case 7

Case 7 is adopted from Zhang and Nee [33]. The part is shown in Fig. 5.10. This part contains 14 features. The data of case 7 has been given in Table 5.11. The alternative tools are not considered. The results and the comparisons of the modified

5.5 Experimental Studies and Discussions

101

Table 5.8 The results of case 5 Algorithm

Best result

Average best result

Average convergent generation

Simple SA

222

222

70.3

Simple GA

222

222

45.2

Modified PSO

222

222

31.8

Best process plan of the modified PSO

O13(M1)-O3(M1)-O2(M1)-O4(M1)-O1(M1)-O5(M1) -O6(M1)-O7(M1)-O8(M1)-O9(M1)-O12(M1)-O10(M1)O11(M1)

Fig. 5.9 The part in case 6 from Wang et al. [6] Table 5.9 The data of case 6 Feature

Operations

Alternative machines

Processing time

Precedence constraints of the features

F1

O1

M1, M2, M4, M5

20, 18, 22, 25

Before F2, F3, F4, F5, F6, F7

F2

O2

M1, M2, M4, M5

30, 31, 25, 34

F3

O3

M1, M2

28, 24

F4

O4

M1, M2, M4, M5,

45, 50, 48, 39

F5

O5-O6

M1, M2, M3 M4, M5

10, 6, 7, 13, 16

M1, M2, M3 M4, M5

34, 39, 40, 45, 36

M1, M2, M3 M4, M5

20, 22, 28, 25, 19

F6 F7

O7-O8 O9

M1, M2, M3 M4, M5

27, 29, 24, 26, 30

M1, M2, M4, M5

12, 14, 15, 10

102 Table 5.10 The results of case 6

5 An Efficient Modified Particle Swarm Optimization … Algorithm

Best result

Average best result

Average convergent generation

Simple SA

212

212.2

60.7

Simple GA

212

212

51.3

Modified PSO

212

212

42.5

Best process plan of the modified PSO

O1(M2)-O3(M2)-O5(M2)-O6(M5)O4(M5)-O9(M5)O7(M5)-O8(M4)-O2(M4)

Fig. 5.10 The part in case 7 from Zhang and Nee [28]

PSO with the simple SA and GA are given in Table 5.12. Because Zhang and Nee [33] considered the cost as the objective which is different from this chapter, the comparison between the methods of this chapter and Zhang and Nee [33] is not given.

5.5.2 Discussion From the results of all the cases, the best results obtained by the modified PSO are better than or the same with the best results from the simple SA and GA. The average best results of the modified PSO algorithm are also better than or the same with the simple SA and GA. And, the average convergent generations of the modified PSO algorithm are better than the simple SA and GA. Therefore, based on the above results, it can be seen that the modified PSO is more effective than the other two algorithms and costs less running time. The proposed modified PSO algorithm is a

5.5 Experimental Studies and Discussions

103

Table 5.11 The data of case 7 Feature

Operations

Alternative machines

F1

O1

M1, M2

22, 25

Before F5, F7

F2

O2

M1, M2, M4, M5

20, 21, 15, 24

Before F1

F3

O3

M1, M2

18, 14

Before F4, F5

F4

O4

M1, M2

38, 39

F5

O5-O6-O7

M1, M2, M3 M4, M5

10, 6, 7, 13, 16

M1, M2, M3 M4, M5

24, 29, 30, 35, 26

M1, M2

15, 18

M1, M2, M3 M4, M5

10, 12, 18, 15, 9

M1, M2, M3 M4, M5

37, 39, 34, 36, 40

M1, M2

25, 21

F6

O8-O9-O10

Processing time

Precedence constraints of the features

Before F7

F7

O11

M1, M2

15, 18

F8

O12

M1, M2, M4, M5

8, 10, 8, 9

Before F1

F9

O13

M1, M2, M4, M5

18, 21, 24, 20

Before F13, F14

F10

O14

M1, M2

20, 22

F11

O15

M1, M2, M3 M4, M5

27, 29, 24, 26, 30

Before F10

F12

O16

M1, M2, M3 M4, M5

18, 20, 21, 17, 24

Before F10

F13

O17

M1, M2

22, 26

F14

O18

M1, M2, M4, M5

14, 17, 18, 20

Table 5.12 The results of case 7 Algorithm

Best result

Average best result

Average convergent generation

Simple SA

361

363.4

98.1

Simple GA

360

361.1

83.7

Modified PSO

359

360.5

72.3

Best process plan of the modified PSO

O12(M4)-O2(M4)-O15(M4)-O16(M4)-O3(M2)-O13(M1)O8(M1)-O9(M1)-O10(M1)-O4(M1)-O1(M1)O17(M1)-O14(M1)-O5(M1)-O6(M1)-O7(M1)-O11(M1)O18(M1)

promising method in solving the optimization of the process planning problem and more efficient to obtain better results in a reasonable time. We think that there are two reasons: firstly, PSO is an effective optimization algorithm, which has been proved to be very effective in many other fields. This chapter modifies and makes it suitable for solving combinatorial optimization problems. The results prove that this algorithm is also very effective for the process planning problem. Other researchers also can apply this method to solve other combinatorial optimization problems. Secondly,

104

5 An Efficient Modified Particle Swarm Optimization …

we design the operators of the modified PSO based on the characteristics of the process planning problem. The proposed algorithm can reflect the essential features of the process planning problem. Based on the results, we think that according to the characteristics of the combinatorial optimization problems to design algorithm is a good principle. Based on the above reasons, we think that the proposed method is more effective than other algorithms.

5.6 Conclusions and Future Research Studies A new approach, in which the particle swarm optimization algorithm is employed, is proposed to optimize the process planning problem. Based on the characteristics of the process planning problem, we design all the parts of the modified PSO, including the encoding, updating, and random search methods. The results of the cases indicate that the proposed approach is an effective method for the process planning problem. The main contributions of this chapter are as follows: firstly, there are very few works about using PSO for process planning. In this chapter, a modified PSO has been proposed to solve the process planning. The results of the cases show that the proposed PSO has achieved satisfactory improvement. Secondly, this also provides a new way to solve other planning or sequencing problems in the manufacturing field, such as assembly sequencing problem and so on. And the experimental results show that this algorithm may solve these problems effectively because these problems contain several same aspects with the process planning problem. A limitation of this approach is that it did not consider the tool selection and Tool Approach Direction (TAD) selection in the model of the process planning problem. The future researches can start from the following directions: (1) the above aspects of the process planning problem can be considered; (2) the researchers can try other effective algorithms, such as harmony search, artificial bee colony algorithm, and so on, to solve the process planning problems.

References 1. Han JH, Han I, Lee E, Yi J (2001) Manufacturing feature recognition toward integration with process planning. IEEE Trans Syst Man Cybern B Cybern 31:373–380 2. Xu X, Wang LH, Newman ST (2011) Computer-aided process planning—a critical review of recent developments and future trends. Int J Comput Integr Manuf 24(1):1–31 3. Liu XJ, Yi H, Ni ZH (2010) Application of ant colony optimization algorithm in process planning optimization. J Intell Manuf. https://doi.org/10.1007/s10845-010-0407-2 4. Kusiak A (1985) Integer programming approach to process planning. Int J Adv Manuf Technol 1:73–83 5. Gan PY, Lee KS, Zhang YF (2001) A branch and bound algorithm based process-planning system for plastic injection mould bases. Int J Adv Manuf Technol 18:624–632 6. Xu HM, Li DB (2008) A clustering based modeling schema of the manufacturing resources for process planning. Int J Adv Manuf Technol 38:154–162

References

105

7. Xu HM, Yuan MH, Li DB (2009) A novel process planning schema based on process knowledge customization. Int J Adv Manuf Technol 44:161–172 8. Zhang J, Gao L, Chan FTS, Li PG (2003) A holonic architecture of the concurrent integrated process planning system. J Mater Process Technol 139:267–272 9. Nejad HTN, Sugimura N, Iwamura K, Tanimizu Y (2010) Multi agent architecture for dynamic incremental process planning in the flexible manufacturing system. J Intell Manuf 21:487–499 10. Dashora Y, Tiwari MK, Karunakaran KP (2008) A psychoclonal algorithm-based approach to the solve operation sequencing problem in a CAPP environment. Int J Comput Integr Manuf 21:510–525 11. Chan FTS, Swarnkar R, Tiwari MK (2005) Fuzzy goal—programming model with an artificial immune system (AIS) ap- proach for a machine tool selection and operation allocation problem in a flexible manufacturing system. Int J Prod Res 43:4147–4163 12. Houshmand M, Imani DM, Niaki STA (2009) Using flower pollinating with artificial bees (FPAB) technique to determine machinable volumes in process planning for prismatic parts. Int J Adv Manuf Technol 45:944–957 13. Shin KS, Park JO, Kim YK (2011) Multi-objective FMS process planning with various flexibilities using a symbiotic evolutionary algorithm. Comput Oper Res 38:702–712 14. Li XY, Shao XY, Gao L (2008) Optimization of flexible process planning by genetic programming. Int J Adv Manuf Technol 38:143–153 15. Li WD, Ong SK, Nee AYC (2004) Optimization of process plans using a constraint-based tabu search approach. Int J Prod Res 42:1955–1985 16. Lian KL, Zhang CY, Shao XY, Zeng YH (2011) A multi- dimensional tabu search for the optimization of process planning. Sci China Ser E: Technol Sci 54:3211–3219 17. Lian KL, Zhang CY, Shao XY, Gao L (2012) Optimization of process planning with various flexibilities using an imperialist competitive algorithm. Int J Adv Manuf Technol 59:815–828 18. Zhang F, Zhang YF, Nee AYC (1997) Using genetic algorithms in process planning for job shop machining. IEEE Trans Evol Comput 1:278–289 19. Li L, Fuh JYH, Zhang YF, Nee AYC (2005) Application of genetic algorithm to computeraided process planning in distributed manufacturing environments. Robot Comput Integr Manuf 21:568–578 20. Hua GR, Zhou XH, Ruan XY (2007) GA-based synthesis approach for machining scheme selection and operation sequencing optimization for prismatic parts. Int J Adv Manuf Technol 33:594–603 21. Salehi M, Tavakkoli Moghaddam R (2009) Application of genetic algorithm to computer-aided process planning in preliminary and detailed planning. Eng Appl Artif Intell 22:1179–1187 22. Musharavati F, Hamouda ASM (2011) Modified genetic algorithms for manufacturing process planning in multiple parts manufacturing lines. Expert Syst Appl 38:10770–10779 23. Salehi M, Bahreininejad A (2011) Optimization process planning using hybrid genetic algorithm and intelligent search for job shop machining. J Intell Manuf 22:643–652 24. Krishna AG, Mallikarjuna Rao K (2006) Optimisation of operations sequence in CAPP using an ant colony algorithm. Int J Adv Manuf Technol 29:159–164 25. Tiwari MK, Dashora Y, Kumar S, Shankar R (2006) Ant colony optimization to select the best process plan in an automated manufacturing environment. Proc IMechE B J Eng Manuf 220:1457–1472 26. Ma GH, Zhang YF, Nee AYC (2000) A simulated annealing-based optimization algorithm for process planning. Int J Prod Res 38:2671–2687 27. Mishra S, Prakash Tiwari MK, Lashkari RS (2006) A fuzzy goal-programming model of machine-tool selection and operation allocation problem in FMS: a quick converging simulated annealing-based approach. Int J Prod Res 44:43–76 28. Musharavati F, Hamouda ASM (2012) Enhanced simulated annealing based algorithms and their applications to process planning in reconfigurable manufacturing systems. Adv Eng Softw 45:80–90 29. Musharavati F, Hamouda AMS (2012) Simulated annealing with auxiliary knowledge for process planning optimization in reconfigurable manufacturing. Robot Comput Integr Manuf 28:113–131

106

5 An Efficient Modified Particle Swarm Optimization …

30. Li WD, Ong SK, Nee AYC (2005) A Web-based process planning optimization system for distributed design. Comput Aided Des 37:921–930 31. Li WD (2005) A Web-based service for distributed process planning optimization. Comput Ind 56:272–288 32. Ming XG, Mak KL (2000) A hybrid Hopfield network-genetic algorithm approach to optimal process plan selection. Int J Prod Res 38:1823–1839 33. Zhang F, Nee AYC (2001) Applications of genetic algorithms and simulated annealing in process planning optimization. In: Wang J, Kusiak A (eds) Computational intelligence in manufacturing handbook. CRC, Boca Raton, pp 9.1–9.26 34. Li WD, Ong SK, Nee AYC (2002) Hybrid genetic algorithm and simulated annealing approach for the optimization of process plans for prismatic parts. Int J Prod Res 40:1899–1922 35. Huang WJ, Hu YJ, Cai LG (2012) An effective hybrid graph and genetic algorithm approach to process planning optimization for prismatic parts. Int J Adv Manuf Technol 62:1219–1232 36. Ali MM, Kaelo P (2008) Improved particle swarm algorithms for global optimization. Appl Math Comput 196:578–593 37. Goh CK, Tan KC, Liu DS, Chiam SC (2010) A competitive and cooperative co-evolutionary approach to multi-objective particle swarm optimization algorithm design. Eur J Oper Res 202:42–54 38. Shi Y, Liu H, Gao L, Zhang G (2011) Cellular particle swarm optimization. Inf Sci 181:4460– 4493 39. Wang TI, Tsai KH (2009) Interactive and dynamic review course composition system utilizing contextual semantic expansion and discrete particle swarm optimization. Expert Syst Appl 36:9663–9673 40. Wang Y, Liu JH (2010) Chaotic particle swarm optimization for assembly sequence planning. Robot Comput Integr Manuf 26:212–222 41. Moslehi G, Mahnam M (2011) A Pareto approach to multi-objective flexible job-shop scheduling problem using particle swarm optimization and local search. Int J Prod Econ 129:14–22 42. Zhang WB, Zhu GY (2011) Comparison and application of four versions of particle swarm optimization algorithms in the sequence optimization. Expert Syst Appl 38:8858–8864 43. Chen SM, Chien CY (2011) Solving the traveling salesman problem based on the genetic simulated annealing ant colony system with particle swarm optimization techniques. Expert Syst Appl 38:14439–14450 44. Guo YW, Mileham AR, Owen GW, Li WD (2006) Operation sequencing optimization using a particle swarm optimization approach. Proc IMechE B J Eng Manuf 220:1945–1958 45. Wang YF, Zhang YF, Fuh JYH (2009) Using hybrid particle swarm optimization for process planning problem. In: 2009 International Joint Conference on Computational Sciences and Optimization, 304–308 46. Eberhart RC, Shi Y (2004) Guest editorial: special issue on particle swarm optimization. IEEE Trans Evol Comput 8(3):201–203 47. Gao L, Peng CY, Zhou C, Li PG (2006) Solving flexible job shop scheduling problem using general particle swarm optimization. In: Proceeding of the 36th International Conference on Computers & Industrial Engineering, 3018–3027 48. Li WD, McMahon CA (2007) A simulated annealing based optimization approach for integrated process planning and scheduling. Int J Comput Integr Manuf 20(1):80–95 49. Kim YK, Park K, Ko J (2003) A symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling. Comput Oper Res 30:1151–1171 50. Kim YK (2003) A set of data for the integration of process planning and job shop scheduling. Available at http://syslabchonnam.ac.kr/links/data-pp&s.doc. April 2011 51. Shin KS, Park JO, Kim YK (2010) Test-bed problems for multi- objective FMS process planning using multi-objective symbiotic evolutionary algorithm. Available at http://syslab.chonnam.ac. kr/links/MO_FMS_PP_MOSEA.doc. March 2011

Chapter 6

A Hybrid Algorithm for Job Shop Scheduling Problem

6.1 Introduction There are various types of scheduling problems in manufacturing systems. Effective scheduling methods can improve the performance of the manufacturing system well. Therefore, many researchers focus on proposing effective methods for different scheduling problems. Nowadays, it is a hot topic in the research area of manufacturing system. Job shop Scheduling Problem (JSP) which is widespread in the real-world production system is one of the most general and important problems in various scheduling problems [1, 56]. In JSP, there are n jobs that must be processed through m machines. All the operations of every job are processed in a predetermined processing sequence. Each operation has a specified machine with the specified processing time. The aim of JSP is to determine the operations’ processing sequence on each machine and the start time of each operation by optimizing one or more objectives, such as makespan, due date, and so on. Comparing with other scheduling types, its main feature is that all the jobs contain different process plans. JSP had been proved to be the NP-hard problem [2]. Due to the large and complicated solution space and process constraints, JSP is very difficult to find an optimal solution within a reasonable time even for small instances. For example, the optimal solution of the well-known JSP benchmark problem FT10 had not been found until a quarter of a century after the problem was proposed originally [3]. Because of the representativeness and complexity of JSP, a lot of researchers have put their efforts into improving effective optimization methods for it. JSP was primarily handled by Branch and Bound method, some heuristic procedures based on priority rules and shifting bottleneck method. These methods are called as the exact methods. Their main disadvantage is that they cannot solve the large-scale problems (the total number of operations is more than 200). So, during the past decades, most researchers turn their focus to the approximation methods, including

© Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_6

107

108

6 A Hybrid Algorithm for Job Shop Scheduling Problem

numerous meta-heuristic algorithms which have been used in JSP extensively. These algorithms could be divided into two categories, population-based algorithms and local search algorithms. The most popular and latest population-based algorithms include Genetic Algorithm (GA), Artificial Bee Colony algorithm (ABC), Particle Swarm Optimization (PSO), Biogeography-Based Optimization (BBO), Teaching– Learning-Based Optimization algorithm (TLBO), and so on. The most popular local search algorithms include Tabu Search (TS), neighborhood search, Variable Neighborhood Search (VNS), and so on. Asadzadeh and Zamanifar proposed an agentbased parallel GA for JSP [4]. Yusof, Khalid, Hui, Yusof, and Othman proposed a hybrid parallel micro GA to solve the JSP [5]. Sels, Craeymeersch, and Vanhoucke presented a hybrid single and dual population GA for JSP [6]. Zhang, Song, and Wu proposed a novel ABC for solving JSP with the total weighted tardiness criterion [7]. In this algorithm, a tree search algorithm was devised to enhance the exploitation capability of ABC. Wang and Duan designed a hybrid BBO algorithm for JSP [8]. This method combined the chaos theory and ‘searching around the optimum’ strategy with the basic BBO. Nasad, Modarres, and Seyedhoseini presented a self-adaptive PSO for the lot sizing JSP [9]. This algorithm was self-controller about its working parameters. Baykasoglu, Hamzadayi, and Kose designed a new TLBO algorithm for JSP [10]. Based on the above survey, we find that the main advantage of the population-based algorithms is their powerful global searching ability because of their multiple points searching process. However, also because of this feature, their local searching ability is not good. So, some researchers paid their attention to the local search algorithms for JSP. Lei and Guo proposed a neighborhood search method for the dual-resource constrained interval JSP with the environmental objective [11]. Peng, Lu, and Cheng proposed a TS/path relinking algorithm for the JSP [12]. These algorithms are very powerful for their local searching ability. But, because of the single-point searching process, their global searching ability is not very good. Based on the above analysis of population-based algorithms and local search algorithms, we find that every algorithm contains its own advantages and disadvantages. The hybrid algorithm which combines them together becomes more and more popular for JSP. Compared with local search using a single-point search method, population-based algorithms have the characteristics of multi-point parallel, sharing the current and historical information and faster global convergence speed. For this reason, the combination employ of population-based algorithm and effective local search algorithm is an inevitable trend. In recent years, more and more researchers paid their attentions to design a hybrid algorithm for JSP. Goncalves, Mendes, and Resende utilized GA, schedule generation procedure and local search procedure for JSP [13]. Zhang, Li, Rao, and Li developed an effective combination of GA and Simulated Annealing (SA) to solve the JSP [14]. Zhang, Rao, and Li proposed a hybrid GA based on a local search heuristic for the JSP [15]. Zhang, Li, Rao, and Guan developed the heuristics search approach combining SA and TS strategy to provide a robust and efficient methodology for the JSP [15]. Ge, Sun, Liang, and Qian proposed a computationally effective algorithm of combining PSO with the Artificial Immune System (AIS) for solving the minimum makespan problem of JSP [16]. Gao, Zhang, Zhang, and Li designed an efficient

6.1 Introduction

109

hybrid evolutionary algorithm (memetic algorithm), with a novel local search to solve the JSP [17]. Eswaramurthy and Tamilarasi hybridized TS with ant colony optimization for solving JSP [18]. Zuo, Wang, and Tan proposed an Artificial Immune System (AIS) and TS-based hybrid strategy for JSP [19]. Ren and Wang proposed a hybrid GA based on a new algorithm presented for finding the critical path from the schedule and a local search operator [20]. Nasiri and Kianfar proposed a hybrid algorithm that combined global equilibrium search, path relinking, and TS to solve the JSP [21]. Ponsich and Coello (2013) hybridized differential evolution and TS for solving JSP [22]. Based on the above survey, this chapter also proposes an effective hybrid algorithm for solving JSP. In this method, PSO which is one of the most efficient populationbased algorithms is employed for the global searching process and VNS which is one of the most efficient local search algorithms is designed for the local searching process. PSO, proposed by Kennedy and Eberhart (1995), is a population-based algorithm inspired by the behavior of bird flock [23]. Due to its simple principle and good optimization ability (Vassiliadis & Dounias, 2009), PSO has attracted more and more attention both in continuous optimization and combinatorial optimization problems (Schutte, Reinbolt, Fregly, Haftka, & George, 2004; Wang, Huang, Zhou, & Pang, 2003) [24–26]. Recently, many researchers proposed hybrid algorithms based on PSO and local search method to deal with different optimization problems, such as PSO-Tabu search (Gao, Peng, Zhou, & Li, 2006), PSO-SA (Niknam, Amiri, Olamaei, & Arefi, 2009), and so on [27, 28]. Some hybrid PSO algorithms are also proposed to deal with JSP (Pongchairerks and Kachitvichyanukul, 2009; Sha & Hsu, 2006; Xia & Wu, 2006) [29–31]. VNS, proposed by Mladenovic and Hansen (1997), has quickly gained widespread successful utilization in many domains, such as extremal graphs (Caporossi & Hansen, 2000), traveling salesman problem (Felipe, Ortuno, & Tirado, 2009), and vehicle routing problem (Kuo & Wang, 2012) [32– 35]. The research and application of VNS also have increased gradually in the shop scheduling problem (Bagheri & Zandieh, 2011; Mehmet & Aydin, 2006; Yazdani, Amiri, & Zandieh, 2010) [36–38]. VNS was firstly applied to JSP by Mehmet and Aydin (2006) [37]. The crossover operator and mutation operator of GA were utilized as two neighborhood structures in this VNS, which used the single-point search method. Although the optimal solution could be obtained by multiple trials, the efficiency of the algorithm was not so good. VNS contains two inherent limitations. One is how to select and design efficient neighborhood structures, which impact the performance of VNS greatly. The neighborhood structures’ design has to based on the features of different problems. For example, in this chapter, we need to base on the features of JSP to design effective neighborhood structures. How to evaluate the performance of different neighborhood structures is also another problem. To solve this, this chapter proposes a new neighborhood structure evaluation method based on the logistic model. The other limitation is that VNS often traps into the local optimum because of its single-point searching process. Some researchers use multiple trials to overcome this problem. In this chapter, we combine it with PSO to deal with this. The PSO is used to provide different searching points for VNS.

110

6 A Hybrid Algorithm for Job Shop Scheduling Problem

Almost all of these hybrid algorithms focused on the improvement of the local search procedure. As we all know, neighborhood structure plays a very important role in local search. Preferable solutions for the JSP benchmark could be found after a good neighborhood structure proposed every time. However, most existing hybrid algorithms select the neighborhood structures randomly in the local search procedure and just combine the neighborhood structures with the original algorithm directly. To overcome this blind selection of neighborhood structures, a new neighborhood structure evaluation method based on the logistic model has been developed in this chapter to guide the neighborhood structures’ selection process. This method is utilized to evaluate the performance of different neighborhood structures. Then the neighborhood structures which have good performance are selected as the main neighborhood structures in VNS. Based on this neighborhood structure evaluation method, a hybrid PSO algorithm based on VNS (HPV) has been proposed to solve JSP in this chapter. The remainder of this chapter is organized as follows: Sect. 6.2 is the problem formulation of JSP. Section 6.3 elaborates on the proposed hybrid algorithm. The neighborhood structure evaluation method based on the logistic model is given in Sect. 6.4. Experiments are illustrated in Sect. 6.5 to evaluate the performance of the proposed algorithm with some other state-of-the-art reported algorithms, while in Sect. 6.6 conclusion and future researches are given.

6.2 Problem Formulation In this chapter, the JSP contains a set of jobs J = {1,… j… n}, j = 1,…, n; a set of machines M = {1,… k… m}, k = 1,…, m; and a set of operations O = {1,…, i,…, n × m}, i = 1,…, n × m. The objective is to minimize the makespan, that is, the finish time of the last operation completed in the schedule. This objective which represents the production efficiency of the workshop is one of the classical and most used criteria in JSP. For the conceptual model of the JSP, the notations are described as follows [13]:

N

The number of jobs;

m

the number of machines (the number of operations for one job);

ci

the complete time of operation i;

Pi

the processing time of operation i on a given machine;

di

all predecessor operations of operation i;

f i,k

f i,k = 1 if operation i processed by machine k, otherwise f i,k = 0;

At

the set of operations being processed at time t

6.2 Problem Formulation

111

The mathematical model of JSP can be defined as follows: Minimize (6.1)

Cn×m c1 ≤ c j − p j 

f i,k ≤ 1

l ∈ di

(6.2)

t ≥ 0

(6.3)

i∈A(t)

ci ≥ 0

(6.4)

Equation (6.1) is the objective function F. The constraint of precedence relationship is defined in Eqs. (6.2) and (6.3) shows that each machine could process at most one job at a time and each job is only processed by one machine at a time. Finally, Eq. (6.4) forces the finish times to be nonnegative. A 3 × 3 JSP example is given in Table 6.1. The scheduling scheme could be visualized by the Gantt chart. Figure 6.1 is the Gantt chart of this example. The horizontal axis represents processing time, as well as the longitudinal axis represents the machining machine. Table 6.1 A 3 × 3 JSP example

Job No.

Machining machine (processing time) Operation 1

Operation 2

Operation 3

1

1 (8)

2 (2)

3 (4)

2

3 (2)

2 (5)

1 (4)

3

2 (9)

3 (9)

1 (4)

Fig. 6.1 Gantt chart of a 3 × 3 JSP example

112

6 A Hybrid Algorithm for Job Shop Scheduling Problem

6.3 Proposed Hybrid Algorithm for JSP In this chapter, the proposed hybrid algorithm is designed based on the General Particle Swarm Optimization (GPSO) model. In order to balance the diversification and intensification of the proposed hybrid algorithm, the individual extreme library is added in PSO and VNS is utilized as the local search method. The corresponding updating method and random search strategy of JSP are also designed. The basic principle of PSO and VNS, the workflow, and details of the hybrid algorithm are described in the following sections.

6.3.1 Description of the Proposed Hybrid Algorithm To describe the proposed hybrid algorithm clearly, the basic principle of PSO and GPSO are given in Sects. 6.3.1.1 and 6.3.1.2. Then, the workflow of the proposed hybrid algorithm is provided in Sect. 6.3.1.3.

6.3.1.1

Traditional PSO Algorithm

In order to give a clearer description of traditional PSO, some definitions are firstly given as follows [39]. Definition 1 (Particle’s position). Particle is the basic unit of PSO; particle’s position denotes the candidate solutions in the solution space. In the D-dimensional search space, the ith particle’s position can be expressed as X i = (X i,1 , X i,2 , …X i,d ). Definition 2 (Particle’s velocity).The ith particle’s velocity can be expressed as V i = (vi,1 , vi,2 ,…vi,d ), which denotes the change of the particle’s position in one iteration. The vectors in particle’s speed are corresponding to the particle position. Definition 3 (Personal best position). The personal best position, which denotes the ith particle has found so far, can be expressed as Pi = (pi,1 , pi,2 ,…pi,d ). Definition 4 (Global best position). The global best position, which denotes the best position discovered by the swarm, can be expressed as Pg = (pg,1 , pg,2 ,…pg,d ). At each time step t, both of each particle’s velocity and position are updated so that a particle moves to a new position. Based on these definitions, the velocity-position update formulas, the core idea of PSO, are employed to calculate the velocity and position:

6.3 Proposed Hybrid Algorithm for JSP

113

    (6.5) Vit+1 = ωVit + C1 × Rand() × Pit − X it + C2 × Rand() × Pgt − X it X it+1 = X it + Vit+1

(6.6)

In Eq. (6.5), ω means the inertia weight, Pti means the personal best position at time t, Ptg and means the global best position at time t. In the three parts of Eq. (6.6), the first part indicates the random search of the particle in the solution space, the second part is called the self-learning of the particle, and the last part is the sociallearning of the particle. C 1 and C 2 are the learning factors and defined as the constant 2, Rand() is uniform random number in (0, 1). C-1 × Rand() and C-2 × Rand() could generate random perturbations, making each particle shock nearby its individual best position and global best position. The main steps of traditional PSO are described as follows: Step 1 Initialize a population of N particles with random positions and random velocities with D dimensions in a given searching space. Step 2 Repeat the following steps until a specified stop condition (the optimal solution is found or the maximal number of iterations is reached) is met. Step 2.1 Evaluate the fitness of each particle in the populations according to the objective function of the problem. Step 2.2 Update the personal best position for each particle and the global best position for all particles. Step 2.3 Update the velocity and the position of each particle.

6.3.1.2

General PSO Model

In traditional PSO, particles are updated according to the velocity–displacement model. It is developed to solve the continuous optimization problems. In order to extend the application area of PSO to deal with the discrete combinatorial optimization problems, Gao et al. (2006) proposed a general PSO (GPSO) model by omitting the concrete velocity–displacement updating method in traditional PSO [27]. The main steps of GPSO are described as follows: Step 1 Initialize the population randomly. Step 2 Evaluate each particle in the population. Step 3 Repeat the following steps until a specified stop condition (the optimal solution is found or the maximal number of iterations is reached) is met. Step 3.1 Update the current particle using its own experience. Step 3.2 Update the current particle using the whole population’s experience. Step 3.3 Search locally in balance with random search.

114

6 A Hybrid Algorithm for Job Shop Scheduling Problem

In this model, different updating methods and local search methods can be designed for the specific combinatorial optimization problem. This model can extend the application area of PSO greatly. Based on the features of different problems, different methods can be developed. In this chapter, we develop or employ several updating methods and local search methods based on the features of JSP.

6.3.1.3

Workflow of Hybrid Algorithm

According to the basic principle of GPSO and VNS, the main workflow of the hybrid PSO and VNS algorithm (HPV) for JSP is shown in Fig. 6.2. The main steps of the proposed algorithm for JSP are described as follows: Step 1 Initialize the parameters of the HPV algorithm, including the maximum number of iterations and population size. Step 2 Generate the initial population. Initiate the population according to the encoding scheme in Sect. 6.3.2 randomly. Evaluate the fitness of each particle in initial population; retain the best 3 particles into the individual extreme library. At the same time, retain 20% of the initial population which have different fitness values into the population extreme library. Step 3 Global search of the particles. For each particle in the population, using the updating strategy until all the particles in the population are updated, and then the new population can be generated. The details of the updating strategy are described in Sect. 6.3.3. Step 4 Local search of the particles. VNS is utilized as the local search method in the hybrid algorithm for each particle. The best particle in local search is selected to update the current particle. The details of the strategy are described in Sect. 6.3.4. Step 5 Evaluate and update the particles in the population. If there is a particle in the new population better than the worst particle in the individual extreme library and the population extreme library, the particle is appended in two libraries as well as the worst particle is removed from the libraries, the sizes of two libraries are constant. Step 6 If the stop condition (the best solution is found or the maximal number of iterations is reached) is not met, go to Step 3, otherwise, output the best result.

6.3.2 Encoding and Decoding Scheme For each particle in the population, the operation-based encoding method of JSP is used as the encoding strategy [40]. For an n jobs and m machines problem, each particle contains n×m elements and each element is an integer in this encoding method. This representation uses an unpartitioned permutation with m-repetitions of

6.3 Proposed Hybrid Algorithm for JSP

115

Fig. 6.2 Workflow of the proposed HPV for JSP

job numbers. In this representation, each job number appears m times in the particle. By scanning the particle from left to right, the jth appearance of a job number refers to the jth operation in the technological sequence of this job, and then a particle could be decoded into a schedule directly. A schedule is obtained by decoding a particle. The decoding scheme in this chapter is scanning the element from left to right, and the operations should be shifted to the left as compact as possible. Schedules are categorized into three classes: nondelay schedule, active schedule, and semi-active schedule. It has been verified that the active schedule contains an optimal schedule with regular objectives (including makespan used in this chapter). So, each particle should be decoded into an active schedule in the decoding procedure to reduce the search space [17, 41].

116

6 A Hybrid Algorithm for Job Shop Scheduling Problem

Because the encoding methods of GPSO and N5 neighborhood are different, when using N5 neighborhood as the local search neighborhood, the preference list-based representation method is used as the encoding strategy [42].

6.3.3 Updating Strategy The main steps of the updating strategy are described as follows: Step 1 A parent particle is selected from the individual extreme library which has a different fitness values compared with the current particle. Then, two new particles are created by crossover operations between the selected particle and the current particle. Step 2 A parent particle is selected randomly from the population extreme library, and then two new particles are generated by crossover operations between the selected particle and the current particle. Step 3 A mutation operation is applied on the current particle. Step 4 The best particle is selected from the five created particles to replace the current particle. The POX (Precedence Operation Crossover) is selected as the crossover operation [15]. And the mutation operation is the insertion mutation method, which could expand the current search range [15].

6.3.4 Local Search of the Particle The design of VNS is based on the regular rule found in the combinatorial optimization problems. The local optimal solutions in different neighborhood structures are not necessarily the same. A global optimal solution is a local optimal solution with respect to all neighborhood structures and the local optimal solutions for different neighborhood structures are relatively close to each other [35]. The basic idea of VNS is changing the neighborhood structures systematically during the process of local search to improve the current solution. The main steps of VNS are given as follows: Step 1 Generate an initial solution x. Define a series of neighborhood structures N k , k = 1, 2, …, k max . Step 2 Set k = 1, repeat the following steps until k = k max : Step 2.1 Shaking. Generate a neighborhood solution X’ of from the kth neighborhood N k of x randomly. Step 2.2 Local Search. Find the best neighbor X” of x’ in the current neighborhood Nk.

6.3 Proposed Hybrid Algorithm for JSP

117

Step 2.3 Move or Not. If x” is better than x, let x = x” and k = 1, restart local search of N 1 ; otherwise, set k = k +1. Two effective neighborhood structures (N1 and N2) are selected by a new neighborhood structure evaluation method. N1 is set as the principal neighborhood and N2 is used as the subordinate neighborhood in VNS. The details of the neighborhood structure evaluation method are given in Sect. 6.4.

6.4 The Neighborhood Structure Evaluation Method Based on Logistic Model 6.4.1 The Logistic Model The solution space of the scheduling problem has intrinsic properties. If the intrinsic properties of the problem is ignored, the algorithm very easily to fall into the local optimum [43]. The study of solution space could guide the design of algorithms to avoid this situation. After Manderick, Weger, and Spiessens first used the “Fitness Landscape Theory” to analyze GA, more and more researchers pay their attentions on the study of solution space of different problems, and applied the concept of fitness landscape to describe the characteristics of the problems and analyze the performance of algorithms [44–49]. Wen, Gao, and Li introduced the logistic model into JSP, which is a core theory in population ecology [50]. It was found that the cumulative distribution of makespan had a perfect match with the S curve. And the neglected distribution property could reflect the structure of the Fitness Landscape of JSP accurately and stably, whether it was a static randomly generated space, or a dynamic algorithm search space. Compared with the previous methods, the logistic model could reflect the intrinsic properties well and distinguish the difficulty level of the problem exactly. The logistic model was proved to be a new simple and accurate way to describe the characteristics of the problem. And it could be used to guide the design and evaluation of algorithms. The following formula of logistic model is used: y =

k 1 + e−(a+bx)

(6.7)

In this chapter, the logistic model proposed by Wen is extended to describe the distribution property of solutions’ fitness in the process of random neighborhood search [50]. And then, it is applied to evaluate and select the neighborhood structures.

118

6 A Hybrid Algorithm for Job Shop Scheduling Problem

Fig. 6.3 Trim of the critical block in N5 neighborhood

6.4.2 Defining Neighborhood Structures There are several definitions of neighborhood structures in JSP. In this research, five neighborhood structures, including N5 neighborhood based on critical block, random whole neighborhood, random insert neighborhood, random reverse neighborhood, and two-point exchange neighborhood, are considered as the candidates in VNS design. These five neighborhood structures are described as follows.

6.4.2.1

N5 Neighborhood

N5 neighborhood was proposed by Nowicki and Smutnicki [1] and it is constructed based on the following properties: for the critical blocks in the critical path, permuting the last two successive operations of the head critical block, exchanging the front two successive operations of the tail block, and permuting the first two operations and the last two operations in the middle block. The critical block is the set of successive operations processed by the same machine. Figure 6.3 is the trim of the critical block in N5 neighborhood; it includes the entire possible shift in the critical block.

6.4.2.2

Random Whole Neighborhood

Random Whole Neighborhood (RWN), which is derived from the mutation operation based on local search proposed by Cheng [55], is evaluating the full permutation of λ different elements in the particle [45]. In this way, the aggregation of the optimal solution in the neighborhood can be utilized. On the other hand, it is easy to jump out of local optimal through this neighborhood. Figure 6.4 is the example of the random whole neighborhood. Set λ = 3, the shaded parts are the 3 selected operations.

6.4.2.3

Random Reverse Neighborhood

Random Reverse Neighborhood (RRN) is a new neighborhood structure, which can be seen as multiple exchanging and inserting. The construction method can be described as follows:

6.4 The Neighborhood Structure Evaluation Method Based …

119

Fig. 6.4 Random whole neighborhood

Step 1 Select multiple pairs of operations randomly. Step 2 Inverse the selected operations in the encoding sequence to form a new sequence.

6.4.2.4

Two-Point Exchange Neighborhood

Two-point Exchange Neighborhood (TEN) is a simple neighborhood, which just exchanges the two selected operations in the encoding sequence randomly.

6.4.2.5

Random Insert Neighborhood

Random Insert Neighborhood (RIN) is a simple neighborhood. The constructed method is randomly selecting one element from the particle and inserting it into another position of the encoding sequence.

6.4.3 The Evaluation Method Based on Logistic Model It is difficult to evaluate the performance of neighborhood structures. Traditionally, the improvement rare between the two neighborhoods during the calculation process has been used to obtain a preliminary judgment. But this method is time-consuming as well as not necessarily accurate. In this chapter, the logistic model proposed by Wen et al. [50] is extended to evaluate and select the neighborhood structures.

120

6 A Hybrid Algorithm for Job Shop Scheduling Problem

The workflow of the evaluation method based on the logistic model is described as follows: Step 1 Generate initial solutions randomly. In this section, 100 initial solutions are generated for FT10 as example. Step 2 Define five neighborhood structures described in Sect. 6.4.2 as N k . Step 3 Select s* from the 100 solutions as the initial solution of the local search. Step 4 Find a neighbor s’ from s ∈ Nk (s ∗ ), which satisfies F(s  ) < F(s ∗ ). F(s) is the fitness of solution s. Then, set s* = s’. Step 5 The iteration termination is ∀s ∈ Nk (s ∗ ),F(s) ≥ F(s ∗ ). If iteration termination is not satisfied, go to Step 4. Otherwise, go to Step 6. Step 6 The makespan cumulative distribution curve is illustrated by the initial solutions and the updated solutions in the iteration, which satisfies the logistic distribution. The horizontal axis represents normalized makespan, the longitudinal axis represents the normalized cumulative number of makespan. The characteristic point x * is the inflection point of S curve. Figure 6.5 is the search efficiency comparison of various neighborhood structures. Different neighborhood structures will show different performances using the same search strategy. If a majority of updated solutions in the iteration of the neighborhood A are better than neighborhood B, the neighborhood A will be able to obtain the optimal solution much quickly. In these circumstances, the peak of neighborhood A is on the left of neighborhood B in the histogram and the x * of neighborhood A is smaller than neighborhood B in the S curve. From Fig. 6.5, the descending order of their efficiency is: N5, RWN (λ = 5), RIN, RRN, and TEN. To illustrate the credibility of the result, the best neighborhood N5 is set as the benchmark to test the neighborhood improvement rate, that is, for example,

Fig. 6.5 Search efficiency comparison of different neighborhood structures

6.4 The Neighborhood Structure Evaluation Method Based on Logistic Model

121

Table 6.2 Search result comparison of different neighborhood structures Neighborhood

N5

RWN

RIN

RRN

TEN

x*

0.2185

0.2386

0.3053

0.3004

0.3313

MIR

/

0.1824

0.1350

0.1276

0.0936

if 10 solutions in 100 local optimal solutions produced by N5 are improved by other neighborhood structures, the Makespan Improvement Rate (MIR) is 10%. The result is showed in Table 6.2. It implies that the S curve generated by the logistic model has a good reflection of the neighborhood structures’ search efficiency from Table 6.2. Based on the S curves obtained by the new neighborhood structure evaluation method, N5 and RWN have shown better performance for solving FT10 than the other three neighborhood structures. Therefore, N5 and RWN are selected as the main neighborhood structures (N1 and N2) in VNS. Although the larger value of k in RWN can lead to a better search ability, it is not conducive to balance the algorithm between the breadth of global search and depth of local search, and even take up another neighborhood computation time. As a result, λ is set as 4 when the problem size is small (less than 200 operations) and it is taken as 5 in the large-scale problem.

6.5 Experiments and Discussion In order to verify the effectiveness of the neighborhood structure evaluation method in algorithm design, the search ability comparison among PSO hybridized with VNS guided by the neighborhood structure evaluation method and PSO hybridized with a single neighborhood structure randomly is given in Sect. 6.5.1. Then, a set of JSP famous benchmark instances have been conducted to evaluate the performance of the proposed algorithm and the comparisons among some other state-of-the-art reported algorithms are also presented in Sect. 6.5.2. To further investigate the performance of the proposed HPV algorithm, the convergence rates of HPV on 3 instances with different scales have been compared with that of other benchmarking algorithms in Sect. 6.5.3. The proposed algorithm is programmed by C++ language and runs on a PC with Intel(R) Core(TM)2 2.16 GHZ processor, and 4 GB memory.

6.5.1 The Search Ability of VNS Firstly, two hybrid PSO algorithms are designed by selecting a single neighborhood structure randomly. N5 and RWN are selected as the neighborhood, respectively. Because FT10 is the most classical benchmark in JSP and can represent the features of landscape well, it is selected as the example instance to test the search abilities

122

6 A Hybrid Algorithm for Job Shop Scheduling Problem

Fig. 6.6 The search ability comparison among different hybrid algorithms

Table 6.3 Efficiency of the neighborhood structures The hybrid algorithm

PSO + N5

Indicator

Step

Time(s)

PSO + VNS(λ = 4)

PSO + RWN(λ = 4)

Step

Step

Time(s)

Average

58.4

37.7

13.2

31.45

Variance

1269.93

522.32

52.69

260.47

235 3873.22

Time(s) 103.3 2319.43

of the HPV and the two hybrid PSO algorithms. Figure 6.6 is the search ability comparison among HPV and the hybrid PSO with a single neighborhood. In RWN, k is set as 4. Table 6.3 lists the average and variance of the iteration step and consumed time for 20 trials to obtain the optimum. The results show that when using the VNS designed by the new neighborhood structure evaluation method as the local search algorithm, the number of iterations is fewer, the search speed is faster, and the search ability is more stable compared with the other two methods. It can be said that the neighborhood evaluation method based on the logistic model plays a key role in the design of the hybrid algorithm.

6.5.2 Benchmark Experiments The JSP benchmark problems are taken from the OR-Library to verify the effectiveness of HPV [51]. Instances FT06, FT10, FT20, LA01–LA40, and ORB01–ORB10 are considered in the numerical experiments. These instances are the most famous benchmark problems of JSP. Most reported methods used these JSP benchmark

6.5 Experiments and Discussion

123

Table 6.4 Experimental results of FT and LA benchmarks (Cmax represents the makespan, RD%)

problems to evaluate their performance. The experimental results compared with the results of some other state-of-the-art reported algorithms are listed in Tables 6.4 and 6.5 (The bold values mean the best results obtained by proposed HPV in all compared algorithms). 10 independent runs are conducted for the proposed algorithm on every problem. The reported solution is the best one in 10 runs. The parameters of the proposed HPV are set as follows: the population size is 200 and the maximum number of iterations is 50. The results of instances FT06, FT10, FT20, and LA01–LA40 are compared with some other state-of-the-art reported algorithms including MPSO [52], HIA [16], GASA [14], PGA [4], HGA [20], MA [17], HABC [7], HBBO [8], and TLBO [10]. The results of instances ORB01–ORB10 are compared with some other state-of-theart reported algorithms including HGA’ [41], GRASP [53], TSSB [54], TSAB’ [1], PGA [4], and HBBO [8]. The columns of the two tables include the name of each benchmark problem (Problem), the problem size (Size), the value of the best-known solution for the instances (BKS). In Tables 6.4 and 6.5, the best solutions of makespan (Cmax) Table 6.5 Experimental results of ORB benchmarks (C max represents the makespan, RD%)

124

6 A Hybrid Algorithm for Job Shop Scheduling Problem

Fig. 6.7 Gantt chart of an optimal solution of FT10 (makespan = 930)

obtained by the compared algorithms are given. In Tables 6.4 and 6.5, the ratio of the KS ×100, deviation with respect to the best-known solution (RD%, R D = makespan−B BK S for the compared algorithms is displayed. The CPU time (s) of HPV is also provided in Tables 6.4 and 6.5. From Table 6.4, it could be seen that 41 best-known solutions could be found among 43 experiment problems by utilizing HPV, i.e., in 95% of problem instances. The results obtained by the proposed HPV are much better than MPSO, HIA, PGA, HGA, MA, HABC, HBBO, and TLBO. Compared with the GASA algorithm, the result of proposed HPV for LA29 is worse than it, but the results of the proposed HPV for LA36 and LA39 are better than it. So, they have the same performance for these benchmark problems. Both of HPV and GASA are effective for JSP. Figures 6.7 and 6.8 show the Gantt charts of the optimal solution obtained by the proposed HPV for FT10 and LA40. From Table 6.5, all the best-known solutions could be found among ORB benchmarks by using HPV, i.e., 100% of problem instances. Compared with some other existing algorithms, only HPV can obtain all of the best-known solutions in ORB benchmarks. Figure 6.9 shows the Gantt chart of the optimal solution obtained by the proposed HPV for ORB02.

6.5.3 Convergence Analysis of HPV To further investigate the performance of the proposed HPV algorithm, the convergence rates of HPV on 3 instances with different scales have been compared with that of other benchmarking algorithms, including PSO, BBO, and HBBO [8]. Due to the stochastic nature of these meta-heuristic algorithms, 10 independent runs are

6.5 Experiments and Discussion

125

Fig. 6.8 Gantt chart of an optimal solution of LA40 (makespan = 1224)

Fig. 6.9 Gantt chart of an optimal solution of ORB02 (makespan = 888)

executed on each instance for the HPV algorithm. To ensure the fairness of comparisons, the population sizes and the numbers of iterations of all the four methods are set to be the same. For the first and second instances, population size is set to 50 and the number of generations is equal to 1000. For the third instance with a large scale, population size, and number of generations are set to 100 and 2500, respectively. The first instance is 6 × 6 JSP benchmark [8]. Figure 6.10 presents the convergence curves obtained by different four algorithms. To evaluate the quality of solutions obtained by each algorithm in this experiment, we employ the best fitness value to

126

6 A Hybrid Algorithm for Job Shop Scheduling Problem

Fig. 6.10 Convergence curves of the all algorithms for 6 × 6 JSP instance

measure the convergence performance of each algorithm and use the generation to track the trend of fitness value during the search process. Figure 6.10 shows that the proposed HPV algorithm can converge quickly to the optimal solution compared to the other algorithms, which denotes HPV has good convergence performance. The second instance is 10 × 5 JSP benchmark [8]. Figure 6.11 presents convergence curves obtained by four different algorithms. It can be observed that HPV and HBBO can find the optimal solution while PSO and BBO both fail to obtain the best result. It is noted that HPV can achieve the optimal point at less than 50 generations while HBBO can reach the optimal solution at more than 200 generations. It means that HPV is superior to its rivals in terms of convergence performance. The third instance is 20 × 10 JSP benchmark [8]. Figure 6.12 also presents convergence curves obtained by four algorithms. From this figure, we can clearly observe that HPV significantly outperforms the other optimization algorithms in Fig. 6.11 Convergence curves of all the algorithms for 10 × 5 JSP instance

6.5 Experiments and Discussion

127

Fig. 6.12 Convergence curves of all the algorithms for 20 × 10 JSP instance

terms of convergence performance, since HPV finds a new best solution so far for this instance. Figure 6.13 shows the Gantt chart of the optimal solution obtained by the proposed HPV for 20 × 10 JSP problem instance. The best makespan values of different four methods for the above three instances are listed in Table 6.6 (The bold values mean the best results obtained by proposed HPV in all compared algorithms) in comparison to make the results more convincing and clearer. The results of the CPLEX, PSO, BBO, and HBBO are from reference [8]. From Table 6.6, it is obvious that the HPV is better than the CPLEX, PSO, BBO, and HBBO as it can find the best results for all three instances. Especially for the 20 × 10 instance, HPV finds a new best solution. The results imply that the HPV is more powerful than the CPLEX, PSO, BBO, and HBBO for solving the JSP. The CPU time (s) of HPV which is provided in Table 6.6 shows that the HPV can solve

Fig. 6.13 Gantt chart of an optimal solution of 20 × 10 JSP instance (makespan = 1297)

128

6 A Hybrid Algorithm for Job Shop Scheduling Problem

Table 6.6 The best makespan values of different algorithms for 3 instances Instance 6×6

CPLEX 55

PSO

BBO

55

55

HBBO 55

HPV 55

HPV CPU(s) 2.41

10 × 5

630

685

644

630

630

3.67

20 × 10

1325

1694

1423

1307

1297

40.42

these 3 instances in a short time. For the 6 × 6 JSP benchmark in Table 6.6 which is the same with the FT06 in Table 6.4, because the algorithm parameters of HPV are set to be different, the CPU time (s) of HPV in Tables 6.6 and 6.4 is different.

6.5.4 Discussion Based on the above experiments, it can be found that HPV is effective for solving JSP and has good convergence performance. The proposed algorithm can balance its diversification and intensification well to achieve good performance, which is the reason for the HPV’s prominent performance in solving JSP compared with some other state-of-the-art reported algorithms. Diversification is ensured by adding the individual extreme library into PSO algorithm. When the algorithm has strong local search ability, the updated particle is regularly the same with the individual extreme, so the crossover operation is meaningless, thus adding the individual extreme library is necessary to enable the particle learning from previous search experiences. Intensification is realized by applying VNS as a local search strategy. A new neighborhood structure evaluation method plays a key role in the design of VNS. The neighborhood structures used in VNS are selected through this method which ensures the VNS utilized in HPV is specific for solving JSP.

6.6 Conclusions and Future Works In this chapter, a hybrid PSO and VNS algorithm called HPV is proposed to solve the JSP problem. In order to overcome the blind selection of neighborhood structures during the hybrid algorithm design, a new neighborhood structure evaluation method based on the logistic model has been developed to guide the neighborhood structures’ selection. The experimental results show that using VNS as local search strategy based on the new neighborhood structure evaluation method is more effective than using a single neighborhood structure randomly and the proposed hybrid algorithm has a good performance on JSP comparing with some other state-of-the-art reported algorithms, which also verifies the effectiveness and efficiency of the new neighborhood structure evaluation method in hybrid algorithm design.

6.6 Conclusions and Future Works

129

The contributions of this chapter can be summarized as follows: (1) To overcome the lack of neighborhood structure evaluation method during hybrid algorithm design in previous research, a new neighborhood structure evaluation method based on the logistic model is designed. The experiment results verify the effectiveness of this evaluation method. This evaluation method can be used for other hybrid algorithm designs for solving scheduling problems, including JSP. (2) Based on the proposed evaluation method, HPV is proposed to solve JSP. The experiment results show that the proposed algorithm performs better than the compared algorithms except for GASA. Both HPV and GASA have a good performance on JSP. This method can be used to solve other scheduling problems, such as flexible job shop scheduling problem, open shop scheduling problem, and so on. Although the proposed hybrid algorithm in this chapter succeeds in solving JSP, it also has some limitations. Firstly, the evaluation method is designed based on the preliminary study of essential features in JSP, it is necessary to deepen the research of the essential characteristics in the scheduling problem. Secondly, there are only five neighborhood structures discussed in this chapter, more neighborhood structures could be explored in the future. Another future work is to design more scientific and efficient intelligent optimization algorithms based on the fitness landscape theory.

References 1. Nowicki E, Smutnicki C (1996) A fast taboo search algorithm for the job shop problem. Manage Sci 42:797–813 2. Garey MR, Johnson DS, Sethi R (1976) The complexity of flowshop and jobshop scheduling. Math Ope Res 1:117–129 3. Adams J, Egon B, Zawack D (1988) The shifting bottleneck procedure for job shop scheduling. Manag Sci 34:391–401 4. Asadzadeh L, Zamanifar K (2010) An agent-based parallel approach for the job shop scheduling problem with genetic algorithms. Mathematic Comput Modell 52:1957–1965 5. Yusof R, Khalid M, Hui GT, Yusof SM, Othman MF (2011) Solving job shop scheduling problem using a hybrid parallel micro genetic algorithm. Appl Soft Comput 11:5782–5792 6. Sels V, Craeymeersch K, Vanhoucke M (2011) A hybrid single and dual population search procedure for the job shop scheduling problem. Eur J Operat Res 215:512–523 7. Zhang R, Song S, Wu C (2013) A hybrid artificial bee colony algorithm for the job shop scheduling problem. Int J Product Eco 141:167–178 8. Wang X, Duan H (2014) A hybrid biogeography-based optimization algorithm for job shop scheduling problem. Comput Ind Eng 73:96–114 9. Nasad MK, Modarres M, Seyedhoseini SM (2015) A self-adaptive PSO for joint lot sizing and job shop scheduling with compressible process times. Appl Soft Comput 27:137–147 10. Baykasoglu A, Hamzadayi A, Kose SY (2014) Testing the performance of teaching-learning based optimization (TLBO) algorithm on combinatorial problems: flow shop and job shop scheduling cases. Inf Sci 276:204–218 11. Lei D, Guo X (2015) An effective neighborhood search for scheduling in dual-resource constrained interval job shop with environmental objective. Int J Produc Eco 159:296–303

130

6 A Hybrid Algorithm for Job Shop Scheduling Problem

12. Peng B, Lu Z, Cheng TCE (2015) A tabu search/path relinking algorithm to solve the job shop scheduling problem. Comput Oper Res 53:154–164 13. Goncalves JF, Mendes JJ, Resende MGC (2005) A hybrid genetic algorithm for the job shop scheduling problem. Eur J Oper Res 167(1):77–95 14. Zhang CY, Li PG, Rao YQ, Li S (2005) A new hybrid GA/SA algorithm for the job shop scheduling problem. Lecture Notes in Computer Science, 246–259 15. Zhang CY, Li PG, Rao YQ, Guan ZL (2008) A very fast TS/SA algorithm for the job shop scheduling problem. Comput Operat Res 35(1):282–294 16. Ge H, Sun L, Liang Y, Qian F (2008) An effective PSO and AIS-based hybrid intelligent algorithm for job-shop scheduling. IEEE Trans Sys Man Cyber Part A: Sys Humans 38(2):358– 368 17. Gao L, Zhang GH, Zhang LP, Li XY (2011) An efficient memetic algorithm for solving the job shop scheduling problem. Comput Ind Eng 60:699–705 18. Eswaramurthy VP, Tamilarasi A (2009) Hybridizing tabu search with ant colony optimization for solving job shop scheduling problems. Int J Adv Manufac Technol 40:1004–1015 19. Zuo X, Wang C, Tan W (2012) Two heads are better than one: an AIS- and TS- based hybrid strategy for job shop scheduling problems. Int J Adv Manufac Technol 63:155–168 20. Ren Q, Wang Y (2012) A new hybrid genetic algorithm for job shop scheduling problem. Comput Oper Res 39:2291–2299 21. Nasiri MM, Kianfar FA (2012) GES/TS algorithm for the job shop scheduling. Comput Ind Eng 62:946–952 22. Ponsich A, Coello CAC (2013) A hybrid differential evolution—Tabu search algorithm for the solution of job shop scheduling problems. Appl Soft Comput 13:462–474 23. Kennedy J, Eberhart R (1995) Particle swarm optimization. In: Proceedings of IEEE international conference on neutral networks, Australia, Perth (pp 1942–1948) 24. Schutte JF, Reinbolt JA, Fregly BJ, Haftka RT, George AD (2004) Parallel global optimization with the particle swarm algorithm. Int J Num Methods Eng 61(13):2296–2315 25. Vassiliadis V, Dounias G (2009) Nature-inspired intelligence: a review of selected methods and applications. Int J Art Int Tools 18(4):487–516 26. Wang K, Huang L, Zhou C, Pang W (2003) Particle swarm optimization for traveling salesman problem. In: Proceedings of international conference on machine learning and cybernetics (pp 1583–1585) 27. Gao L, Peng CY, Zhou C, Li PG (2006) Solving flexible job-shop scheduling problem using general particle swarm optimization. In The 36th CIE conference on computers industrial engineering (pp 3018–3027) 28. Niknam T, Amiri B, Olamaei J, Arefi A (2009) An efficient hybrid evolutionary optimization algorithm based on PSO and SA for clustering (pp 512–519). Zhejiang University Press, Springer 29. Pongchairerks P, Kachitvichyanukul V (2009) A two-level particle swarm optimization algorithm on job-shop scheduling problems. Int J Oper Res 4:390–411 30. Sha DY, Hsu C (2006) A hybrid particle swarm optimization for job shop scheduling problem. Comput Ind Eng 51:791–808 31. Xia W, Wu Z (2006) A hybrid particle swarm optimization approach for the job shop scheduling problem. Int J Adv Manufac Technol 29:360–366 32. Caporossi G, Hansen P (2000) Variable neighborhood search for extremal graphs: 1 the AutoGraphiX system. Dis Math 212(1–2):29–44 33. Felipe A, Ortuno MT, Tirado G (2009) The double traveling salesman problem with multiple stacks: A variable neighborhood search approach. Comput Operat Res 36(11):2983–2993 34. Kuo Y, Wang C (2012) A variable neighborhood search for the multi-depot vehicle routing problem with loading cost. Exp Sys App 39(8):6949–6954 35. Mladenovic N, Hansen P (1997) Variable neighborhood search. Comput Oper Res 24(11):1097–1100 36. Bagheri A, Zandieh M (2011) Bi-criteria flexible job-shop scheduling with sequence-dependent setup times—Variable neighborhood search approach. J Manufac Sys 30(1):8–15

References

131

37. Mehmet S, Aydin ME (2006) A variable neighbourhood search algorithm for job shop scheduling problems. Lecture Notes in Computer Science, 261–271 38. Yazdani M, Amiri M, Zandieh M (2010) Flexible job-shop scheduling with parallel variable neighborhood search algorithm. Exp Sys Appl 37(1):678–687 39. Shi Y, Liu HC, Gao L, Zhang GH (2011) Cellular particle swarm optimization. Inf Sci 181(20):4460–4493 40. Fang HL, Ross P, Corne D (1993) A promising genetic algorithm approach to job-shop scheduling, rescheduling, and open-shop scheduling problems. In Proceedings of the fifth international conference on genetic algorithms, 1993 (pp 375–382). San Mateo, California: Morgan Kaufmann Publishers 41. Zhang CY, Rao YQ, Li PG (2008) An effective hybrid genetic algorithm for the job shop scheduling problem. Int J Adv Manufac Technol 39:965–974 42. Falkenauer E, Bouffouix S (1991) A genetic algorithm for job shop. In: The proceedings of the IEEE international conference on robotics and automation, Sacremento, California (pp 824–829) 43. Kauffman SA, Strohman RC (1994) The origins of order: Self-organization and selection in evolution. Int Physiol Behav Sci 29(2):193–194 44. Bierwirth C, Mattfeld D, Watson JP (2004) Landscape regularity and random walks for the job-shop scheduling problem. Evol Comput Combin Opt, 21–30 45. Darwen PJ (2001) Looking for the big valley in the fitness landscape of single machine scheduling with batching, precedence constraints, and sequence- dependent setup times. In Proceedings of the fifth Australasia–Japan joint workshop (pp 19–21) 46. Manderick B, Weger MD, Spiessens P (1991) The genetic algorithms and the structure of the fitness landscape. In: Proceedings of the fourth international conference on genetic algorithms, San Mateo (pp 143–150) 47. Smith-Miles K, James R, Giffin J, Tu Y (2009) A knowledge discovery approach to understanding relationships between scheduling problem structure and heuristic performance. Lecture Notes in Computer Science, 89–103 48. Watson J (2010) An introduction to fitness landscape analysis and cost models for local search. International Series in Operations Research and Management Science, 599–623 49. Watson JP, Beck JC, Howe AE, Whitley LD (2003) Problem difficulty for tabu search in job-shop scheduling. Art Int 143(2):189–217 50. Wen F, Gao L, Li XY (2011) A logistic model for solution space of job shop scheduling problem. Int J Adv Comput Technol 3(9):236–245 51. Beasley JE (1990) OR-library: distributing test problems by electronic mail. J Operat Res Soc 41(11):1069–1072 52. Lin T, Horng S, Kao T, Chen Y, Run R, Chen R, Kuo I (2010) An efficient job- shop scheduling algorithm based on particle swarm optimization. Exp Sys App 37(3):2629–2636 53. Aiex RM, Binato S, Resende MGC (2003) Parallel GRASP with path-relinking for job shop scheduling. Par Comput 29:393–430 54. Pezzella F, Merelli EA (2000) Tabu search method guided by shifting bottleneck for the job shop scheduling problem. Eur J Oper Res 120:297–310 55. Cheng R (1997) A study on genetic algorithms-based optimal scheduling techniques. PhD thesis. Tokyo Institute of Technology 56. Park BJ, Choi HR, Kim HS (2003) A hybrid genetic algorithm for the job shop scheduling problems. Comput Ind Eng 45:597–613

Chapter 7

An Effective Genetic Algorithm for FJSP

7.1 Introduction Scheduling is one of the most important issues in the planning and operation of manufacturing systems [1], and scheduling has gained much attention increasingly in recent years [2]. The classical Job shop Scheduling Problem (JSP) is one of the most difficult problems in this area. It consists of scheduling a set of jobs on a set of machines with the objective to minimize a certain criterion. Each machine is continuously available from time zero, processing one operation at a time without preemption. Each job has a specified processing order on the machines which are fixed and known in advance. Moreover, the processing time is also fixed and known. The Flexible Job shop Scheduling Problem (FJSP) is a generalization of the classical JSP for flexible manufacturing systems [3]. Each machine may have the ability to perform more than one type of operation, i.e., for a given operation must be associated with at least one machine. The problem of scheduling jobs in FJSP could be decomposed into two subproblems: the routing subproblem that assigns each operation to a machine selected out of a set of capable machines, the scheduling subproblem that consists of sequencing the assigned operations on all machines in order to obtain a feasible schedule to minimize the predefined objective function. Unlike the classical JSP where each operation is processed on a predefined machine, each operation in the FJSP can be processed on one out of several machines. This makes FJSP more difficult to solve due to the consideration of both routing of jobs and scheduling of operations. Moreover, it is a complex combinatorial optimization problem. JSP is known to be NP-hard [4]. FJSP is, therefore, NP-hard too. In this chapter, we propose an effective GA to solve the FJSP. Global Selection (GS) and Local Selection (LS) are designed to generate high-quality initial population in the initialization stage which could accelerate convergent speed. In order to assist the initialization method and assure the algorithm performs well, we design an improved chromosome representation method “Machine Selection and Operation © Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_7

133

134

7 An Effective Genetic Algorithm for FJSP

Sequence”. In this method, we try to find an efficient coding scheme of the individuals which respects all constraints of the FJSP. At the same time, different strategies for crossover and mutation operators are employed. Computational resultss show that the proposed algorithm could get good solutions. The chapter is organized as follows. Section 7.2 gives the formulation of FJSP and shows an illustrative instance. An overview of the relevant literature on the subject is provided in Sect. 7.3. Section 7.4 presents the approach of machine selection and operation sequence, encoding and decoding scheme, global selection, local selection and genetic operators. Section 7.5 presents and analyzes the performance results of an effective genetic algorithm when it is applied to solve some common benchmarks from the literature. Some final concluding remarks and future study directions are given in Sect. 7.6.

7.2 Problem Formulation The flexible Job shop scheduling problem can be formulated as follows. There is a set of N jobs J = {J1 , J2 , . . . Ji , . . . , JN } and a set of M machines M = {M1 , M2 , . . . , Mk , . . . , M M }. Each job Ji consists of a predetermined sequence of operations. Each operation requires one machine selected out of a set of available machines, namely the first subproblem: the routing subproblem. In addition, the FJSP sets its starting and ending time on each machine, namely the second subproblem: the scheduling subproblem. The FJSP is thus to determine an assignment and a sequence of the operations on the machines so that some criteria are satisfied. However, the FJSP is more complex and challenging than the classical JSP because it requires a proper selection of a machine from a set of available machines to process each operation of each job [2]. Some symbols used in our chapter are listed as follows. Ω—the set of all machines N —the number of the total jobs M—the number of total machines k, x—the index of alternative machine set i—the index of the ith job j—the index of the jth operation of job J i Oi j —the jth operation of job J i Jio —the number of the total operations of job J i Ωi j —the set of available machines of Oij Pi jk —the processing time of operation Oi j on machine k Si jk —the start time of operation Oi j on machine k E i jk —the end time of operation Oi j on machine k Sx —the start time of the idle time interval on machine Mx E x —the  N end time of the idle time interval on machine Mx L = i=1 Jio —the sum of all operations of all jobs

7.2 Problem Formulation

135

Table 7.1 Processing time table of an instance of P-FJSP Job

Operation

M1

M2

J1

O11

2

6

O12



8

O21

3



6

O22

4

6

O23



7

J2

M3

M4

M5

3

4

4





5

5





11

5

8

5 –

Kacem et al. [5] classified the FJSP into P-FJSP and T-FJSP as follows: If Ωi j ⊂ Ω, then it has partial flexibility, it is Partial FJSP (P-FJSP). Each operation could be processed on one machine of a subset of Ω; If Ωi j = Ω, then it has total flexibility, it is Total FJSP (T-FJSP). Each operation could be processed on any machine of Ω. With the same number of machines and jobs, the P-FJSP is more difficult to solve than the T-FJSP [5]. Hypotheses considered in this chapter are summarized as follows: (1) (2) (3) (4)

All machines are available at time 0; All jobs are released at time 0; Each machine can process only one operation at a time; Each operation can be processed without interruption on one of a set of available machines; (5) Recirculation occurs when a job could visit a machine more than once; (6) The order of operations for each job is predefined and cannot be modified. For the simplicity of presenting the algorithm, we designed a sample instance of FJSP which will be used throughout the chapter. In Table 7.1, there are 2 jobs and 5 machines, where rows correspond to operations and columns correspond to machines. Each cell denotes the processing time of that operation on the corresponding machine. In the table, the “—” means that the machine cannot execute the corresponding operation, i.e., it does not belong to the alternative machine set of the operation, so this instance is a P-FJSP.

7.3 Literature Review Bruker and Schile [6] were the first to address this problem in 1990. They developed a polynomial graphical algorithm for a two-job problem. However, exact algorithms are not effective for solving FJSP and large instances [3]. Several heuristic procedures such as dispatching rules, Tabu Search (TS), Simulated Annealing (SA), and Genetic Algorithm (GA) have been developed in recent years for the FJSP. They could produce reasonably good schedules in a reasonable computational time, and could get near-optimal solution easily. However, the meta-heuristics methods have

136

7 An Effective Genetic Algorithm for FJSP

led to better results than the traditional dispatching or greedy heuristic algorithm [3, 7, 8]. FJSP could be turned into the job shop scheduling problem when routing is chosen, so when solving FJSP, hierarchical approach and integrated approach have been used. The hierarchical approach could reduce the difficulty by decomposing the FJSP into a sequence of subproblems. Brandimarte [9] was the first to apply the hierarchical approach to the FJSP. Paulli [10] solved the routing subproblem using some existing dispatching rules, and then solved the scheduling subproblem by different tabu search methods. Integrated approach could achieve better results, but it is rather difficult to be implemented in real operations. Hurink et al. [11] and Dauzère-Pérès et al. [12] proposed different tabu search heuristic approaches to solve the FJSP using an integrated approach. Mastrolilli and Gambardella [13] proposed some neighborhood functions for the FJSP, which can be used in meta-heuristic optimization techniques, and achieve better computational results than any other heuristic developed so far, both in terms of computational time and solution quality. Then Amiri et al. [14] proposed a parallel variable neighborhood search algorithm that solves the FJSP to minimize makespan time. GA is an effective meta-heuristic to solve combinatorial optimization problems, and has been successfully adopted to solve the FJSP. Recently, more and more chapters are talking about this topic. They differ from each other in encoding and decoding schemes, initial population method, and offspring generation strategy. Chen et al. [1] used an integrated approach to solve the FJSP. The genes of the chromosomes, respectively, describe a concrete allocation of operations to each machine and the sequence of operations on each machine. Yang [15] proposed a GA-based discrete dynamic programming approach. Zhang and Gen [16] proposed a multistage operation-based genetic algorithm to deal with the problem from the point of view of dynamic programming. Jia et al. [17] presented a modified GA that is able to solve distribute scheduling problems and FJSP. Kacem et al. [18, 19] used tasks sequencing list coding scheme that combines both routing and sequencing information to form a chromosome representation, and developed an approach by localization (AL) to find a promising initial assignment. Then, dispatching rules were applied to sequence the operations. Tay and Wibowo [20] compared four different chromosome representations, testing their performance on some problem instances. Ho et al. [2] proposed an architecture for learning and evolving of FJSP called Learnable Genetic Architecture (LEGA). LEGA provides an effective integration between evolution and learning within a random search process. Pezzella et al. [3] integrate different strategies for generating the initial population, selecting the individuals for reproducing new individuals. Gao et al. [20] combined the GA and a Variable Neighborhood Descent (VND) for solving the FJSP.

7.4 An Effective GA for FJSP

137

7.4 An Effective GA for FJSP The advantage of GA with respect to other local search algorithms is due to the fact that more strategies could be adopted together to find good individuals to add to the mating pool in a GA framework, both in the initial population phase and in the dynamic generation phase [3]. In this chapter, the proposed GA adopts an improved chromosome representation and a novel initialization approach, which can balance the workload of the machines well and converge to a suboptimal solution in a short time.

7.4.1 Representation Better efficiency of GA-based search could be achieved by modifying the chromosome representation and its related operators so as to generate feasible solutions and avoid repair mechanism. Ho et al. [2] developed extensive review and investigated insightfully on chromosome representation of FJSP. Mesghouni et al. [21] proposed a parallel job representation for solving the FJSP. The chromosome is represented by a matrix where each row is an ordered sequence of each job. Each element of the row contains two terms, the first one is the machine processing the operation, and the second one is the starting time of this operation. The approach requires a repair mechanism and the decoding representation is complex. Chen et al. [1] divided the chromosome into two parts: A-string and B-string. A-string denotes the routing policy of the problem, and B-string denotes the sequence of the operations on each machine, however, this method needs to consider the order of operations and require a repair mechanism. Kacem et al. [5] represented the chromosome by an assignment table representation. A data structure of the assignment table must necessarily describe the set of all machines. This increases the overall computational complexity due to the presence of redundant assignments. Ho et al. [2] also divided the chromosome into two strings, one represents the operation order, the other represents the machine by an array of binary values. This structure can represent the problem clearly and conveniently, but the binary-coded increases the memory space and the operation is not convenient, so when the scale of the problem is oversized, the memory space and computational time will increase tremendously [22]. Based on the analysis of the approach from the above literature, we design an improved chromosome representation to reduce the cost of decoding, due to its structure and encoding rule, it requires no repair mechanism. Our chromosome representation has two components: Machine Selection and Operation Sequence (called MSOS) (see Fig. 7.1). Machine Selection part (MS): We use an array of integer values to represent machine selection. The length equals to L. Each integer value equals the index of the array of alternative machine set of each operation. For the problem in Table 7.1, one

138

7 An Effective Genetic Algorithm for FJSP

Fig. 7.1 Structure of the proposed MSOS chromosome

possible encoding of the machine selection part is shown in Fig. 7.2. For instance, M 2 is selected to process operation O12 since the value in the array of alternative machine set is 1. The value could also equal 2 since operation O12 can be processed on two machines M 2 or M 4 , the valid values are 1 and 2. This demonstrates an FJSP with recirculation if more than one operation of the same job is processed on the same machine. For example, O11 and O12 both belong to J 1 and may be processed on the same machine M 2 or M 4 . If only one machine could be selected for some operations, the value is 1 in the machine selection array. Therefore, the MS representation is flexible enough to encode the FJSP. It may easily use the same structure to represent P-FJSP or T-FJSP. This property improves the search process by requiring less memory and ignoring unused data especially to P-FJSP. Operation Sequence part (OS): We use the operation-based representation, which defines all operations for a job with the same symbol and then interprets them according to the sequence of a given chromosome. The length equals L too. The index i of job J i appears in the operation sequence part J io times to represent its J io ordered operations. It can avoid generating an infeasible schedule by replacing each operation corresponding to the job index. For the instance in Table 7.1, one possible encoding of the operation sequence part is shown in Fig. 7.3. J 1 has two operations O11 and O12 ; J 2 has three operations O21 , O22, and O23 . Reading the data from left to right and increasing the operation index of each job, the operation sequence 2-2-1-1-2 depicted could be translated into a list of ordered operations: O21 -O22 -O11 -O12 -O23 . Fig. 7.2 Machine selection part

Fig. 7.3 Operation sequence part

7.4 An Effective GA for FJSP

139

7.4.2 Decoding the MSOS Chromosome to a Feasible and Active Schedule In the literature [23], schedules are categorized into three classes: non-delay schedule, active schedule, and semi-active schedule. It has been verified and denoted in a Venn diagram in [23] that an active schedule contains an optimal schedule, so only an active schedule is considered in our decoding approach in order to reduce the search space. The steps for decoding an MSOS chromosome to a feasible and active schedule for an FJSP are as follows. Step 1: Machine Selection Part is read from left to right. Then, each gene integer will be transferred to the machine matrix and time matrix depending on the processing time table. For instance, Fig. 7.2 could be transferred to machine matrix (7.1) and time matrix (7.2) depending on Table 7.1. Rows in each matrix correspond to jobs, and columns correspond to operations of each job. For example, in machine matrix, the integer 4 denotes operation O11 which is processed on M 4 and the corresponding processing time is 3 in time matrix. 

42 Machine = 325   38 Time = 668

 (7.1) (7.2)

Step 2: Operation Sequence Part is also read from left to right. The selected machines and processing time correspond to machine matrix and time matrix, respectively, in Step 1. (a) Decode each integer to the corresponding operation Oij ; (b) Refer to machine matrix and time matrix to obtain the selected machine M k and processing time Pijk ; (c) Let Oi(j+1) be processed on machine M x and Pi(j+1)x its processing time. Let T x be the end time of the last operation on M x . Then find all time intervals on M x , i.e., get an idle time interval [S x , fE x ] beginning from S x and ending at E x on M x . Because of precedence constraints among operations of the same job, operation Oi(j+1) could only be started when its immediate job predecessor Oij has been completed. We could get the earliest starting process time t b of operation Oi(j+1) according to Eq. (7.3);   tb = max E i jk , Sx

(7.3)

(d) According to Eq. (7.4), the time interval [S x , E x ] is available for Oi(j+1) if there is enough time span from the starting of Oi(j+1) until the end of the interval to complete it. As can be seen from Fig. 7.4, if Eq. (7.4) is true, assign Oi(j+1) to M x starting at t b (Fig. 7.4a). Otherwise, operation Oi(j+1) is allocated at the

140

7 An Effective Genetic Algorithm for FJSP

Fig. 7.4 Finding enough interval and inserting Oi(j+1)

end of the last operation on M x (i.e., it starts at T x ) (Fig. 7.4b).   max E i jk , Sx + Pi( j+1)x ≤ E x

(7.4)

(e) Go to (c) until each operation of Operation Sequence Part is processed on the corresponding machine.

7.4.3 Initial Population Population initialization is a crucial task in evolutionary algorithms because it can affect the convergence speed and the quality of the final solution [24]. In this section, we mainly present two methods to solve the first subproblem by assigning each operation to a suitable machine. These methods take into account both the processing time and the workload of the machines. Global Selection (GS): We define that a stage is the process of selecting a suitable machine for an operation. Thus this method records the sum of the processing time of each machine in the whole processing stage. Then the machine which has the minimum processing time in every stage is selected. In particular, the first job and next job are randomly selected. Detailed steps are as follows. Step 1: Create a new array to record all machines’ processing time, initialize each element to 0; Step 2: Select a job randomly and insure one job to be selected only once, then select the first operation of the job; Step 3: Add the processing time of each machine in the available machines and the corresponding machine’s time in the time array together;

7.4 An Effective GA for FJSP

141

Fig. 7.5 The process of GS

Step 4: Compare the added time to find the shortest time, then select the index k of the machine which has the shortest time. If there is the same time among different machines, a machine is selected randomly among them; Step 5: Set the allele which corresponds to the current operation in the MS part to k; Step 6: Add the current selected machine’s processing time and its corresponding allele in the time array together in order to update the time array; Step 7: Select the next operation of the current job, and execute Step 3 to Step 6 until all operations of the current job are selected, then go to Step 8; Step 8: Go to Step 2 until all jobs are all selected once. The implementation of GS is given in Fig. 7.5. We assume that the first selected job is J 1 , and the next job is J 2 . From Fig. 7.5, we easily see that the processing time on M 1 is the shortest in the alternative machine set of operation O11 . So the machine M 1 is selected to process the operation O11 of job J 1 , and set the corresponding allele in MS to the index of M 1 . Then the processing time is added to the corresponding position in time array. Finally, the selected machines of all operations may be M 1 M 4 -M 1 -M 3 -M 2 , and the corresponding chromosome representation is 1-2-1-3-1. Local Selection (LS): This method is different from GS, it records the processing time of machines when a single job has been processed. It records the stages which belong to a single job instead of the whole stages. Then the machine which has the minimum processing time in the current stage is selected. Detailed procedures of LS are as follows. Step 1: In order to record all machines’ processing time, create a new array (called time array), the length equals to L, and set each element 0; Step 2: Select the first job, and its first operation; Step 3: Set each allele 0 in the array; Step 4: Add the processing time of each machine in the alternative machine set and the corresponding machines’ time in the array together; Step 5: Compare the added time to find the index k of the machine which has the shortest time. If there is the same time among different machines, a machine is randomly selected among them;

142

7 An Effective Genetic Algorithm for FJSP

Step 6: Set the allele which corresponds to the current operation in the MS part to k; Step 7: Add the current selected machine’s processing time and its corresponding allele in the time array together to update the time array; Step 8: Select the next operation of the current job, and go to Step 4 until all the operations of the current job are selected, then go to Step 9; Step 9: Select the next job, and select the first operation of the current job; Step 10: Go to Step 3 until all jobs are selected once. We also take the data in Table 7.1, for instance. The implementation of LS is given in Fig. 7.6. We assume that the first selected job is J 1 , and the next job is J 2 . From Fig. 7.6, we easily see that the processing time on M 1 is the shortest in the alternative machine set of operation O11 . So the machine M 1 is selected to process the operation O11 of job J 1 . Then the processing time is added to the corresponding position in time array. When all operations of job J 1 have been arranged on a suitable machine, each element in the time array is set to 0. Then the next job J 2 is executed in the same way. Finally, the selected machines of all operations may be M 1 -M 4 -M 1 -M 3 -M 4 , and the corresponding chromosome representation is 1-2-1-3-3. From above, we can see that the difference between GS and LS is that the updating style of the time array, i.e., the time array in GS records all the time of all jobs, however, the time array in LS records the time of each job. In addition, we could also generate initial assignments by randomly selecting a machine in an alternative machine set of each operation. In practice, we mix the two methods with Random Selection (RS) to generate an initial population. The advantage of using GS is that it could find different initial assignments in different runs of the algorithm, better exploring the search space and considering the workload of machines. LS could find the machine which has the shortest processing time machine in an alternative machine set of each job. Without loss of generality and enhancing randomicity, we adopt a randomly selecting machine to generate initial assignments. For example, 60% of the initial population could be generated by GS, 30% by LS, and 10% by RS.

Fig. 7.6 The process of LS

7.4 An Effective GA for FJSP

143

Once the assignments are settled, we have to determine how to sequence the operations on the machines. Obviously, the scheduling is feasible if it respects the precedence constraints among operations of the same job, i.e., operation Oij cannot be processed before operation Oi(j+1) .

7.4.4 Selection Operator Choosing individuals for reproduction is the task of selection. The chosen individuals are moved into a mating pool. They could reproduce once or more times. The roulette wheel selection was popular in the past, which is a fitness-based approach. Therefore, the objective value that is achieved by decoding chromosome must be repaired. The parameters for repairing may influence the chosen results. Tournament approach could overcome the scaling problem of the direct fitness-based approach, and make good individuals have more “survival” opportunities. At the same time, it only adapts the relative value of the fitness as the criteria to select the individuals instead of using the proportion of the fitness directly. So it can avoid both the influence of the “super individual” and premature convergence. In this chapter, the tournament approach is adopted. Three individuals are randomly chosen from the parent population, and three objective values are compared to select the best individual to move into the mating pool.

7.4.5 Crossover Operator The goal of the crossover is to obtain better chromosomes to improve the result by exchanging information contained in the current good ones. In our work, we carried out two kinds of crossover operators for the chromosomes. Machine Selection Part: The crossover operation of MS is performed on two machine selection parts and generates two new machine selection parts each of which corresponds to a new allocation of operations to machines. Each machine of the new machine selection parts must be effective, i.e., the machine must be included in the alternative machine set of the corresponding operation. We adopt two different crossover operators. The first crossover operator is the two-point crossover. The detailed process of the two-point crossover was described in [25]. And the second crossover operator is uniform crossover [26]. MS crossover operator only changes some alleles, while their location in each individual i.e., their preceding constraints are not changed. Therefore, the individuals after crossover are also feasible. The procedure could be illustrated in Fig. 7.7. Operation Sequence Part: The crossover operation of OS is different from that of MS. During the past decades, several crossover operators have been proposed for permutation representation, such as order crossover, partial mapped crossover, and

144

7 An Effective Genetic Algorithm for FJSP

Fig. 7.7 MS crossover operator

so on. Here we apply a Precedence Preserving Order-based crossover (POX) for the operation sequence [27]. Detailed implementing steps of POX are as follows. Step 1: Generate two sub-jobsets J s1 /J s2 from all jobs and select two parent individuals as p1 and p2 randomly; Step 2: Copy any allele in p1 /p2 that belong to J s1 /J s2 into two child individuals c1 /c2 , and retain in the same position in c1 /c2 ; Step 3: Delete the alleles that are already in the sub-job J s1 /J s2 from p2 /p1 ; Step 4: Orderly fill the empty position in c1 /c2 with the alleles of p2 /p1 that belong to in their previous sequence; In Table 7.1, there are only two jobs. So it is difficult to present the process of POX clearly. In Fig. 7.8 we use five jobs to illustrate the procedure of generating two child individuals. Fig. 7.8 OS crossover operator

7.4 An Effective GA for FJSP

145

7.4.6 Mutation Operator Mutation introduces some extra variability into the population to enhance the diversity of population. Usually, mutation is applied with small probability. Large probability may destroy the good chromosome. Machine Selection Part: MS mutation operator only changes the assignment property of the chromosomes. We select the shortest processing time from an alternative machine set to balance the workload of the machines. Taking the chromosome from Fig. 7.1, for example, MS mutation is described as follows. Step 1: Select one individual from the population; Step 2: Read the chromosomes of the individual from left to right and generate a probability value randomly; if all the chromosomes have been read, then end the procedure; Step 3: If the probability value is less than or equal to the mutation probability then go to Step 4; otherwise, go to Step 2; Step 4: Select the shortest processing time from the alternative machine set and assign it to the mutation position; An illustrative instance is shown in Fig. 7.9. Suppose the mutative operation is O23 , before the mutation, O23 is processed on M 5 , which is the fourth machine in the alternative machine set, so the allele is 4. In the mutation, the rule that selecting the machine of the shortest processing time is obeyed, so M 4 is selected, and the allele in the chromosome changes into 3. Operation Sequence Part: The OS mutation probability is the same as the MS mutation probability. If one position in the OS chromosome is to be mutated, then another position is randomly generated in [0, L − 1] to exchange with it. According to our chromosome representation, the new individual is a feasible solution all the same. Fig. 7.9 MS mutation operator

146

7 An Effective Genetic Algorithm for FJSP

Fig. 7.10 Framework of the proposed effective GA

7.4.7 Framework of the Effective GA The framework of the proposed genetic algorithm is illustrated in Fig. 7.10. Each individual in the initial population of the MS part is generated by GS, LS, and RS. This procedure makes it possible to assign each operation to a suitable machine by taking into account the processing time and workload of machines. And each individual in the initial population of the OS part is randomly generated according to the chromosome representation in Sect. 7.4.1. The adoption of MSOS improved the chromosome representation and it could generate feasible schedules and avoid repair mechanisms. The proposed effective genetic algorithm terminates when a maximal number of iteration is reached, and the best individual, together with the corresponding schedule, is output.

7.5 Computational Results

147

7.5 Computational Results The proposed effective Genetic Algorithm (eGA) was implemented in C++ on a Pentium IV running at 1.8 GHz and tested on a large number of instances from the literature. Test problems include both the P-FJSP and the T-FJSP. We know the P-FJSP is more complex than the T-FJSP from above, when considering the search space and the computational cost, the approach for solving it is very important. However, in our experiments, the approach matches the P-FJSP well because of the mechanism of adopting real-coded based on the alternative machine set in chromosome representation. Moreover, it can maintain feasibility without any mechanism. We compare our computational results with results obtained by other researchers. Firstly, we tested the performance of the initialization method (GS + LS + RS), we selected Mk04 test problem with 15 jobs and 8 machines randomly from Brandimarte [9]. The results are shown in Table 7.2 and Fig. 7.11. So we could see that GS+LS+RS could improve the quality of initial efficiently. In Fig. 7.12, we draw the decrease of the average best makespan over five runs for the Mk04 problem with 15 jobs and 8 machines initialized by GS + LS + RS and RS, respectively. Compared the results by the two initial methods, the two broken lines have a gap before the generation 84, GS + LS + RS is the lower one, and it could achieve the optimal solution at Generation 40 while Random could gain the same optimal solution until Generation 84. So we could obviously know that GS and LS are effective methods for generating high-quality initial population, they could decrease the average best makespan a lot in the whole computational stage. In order to obtain meaningful results, we ran our algorithm five times in the same instance. The parameters used in effective GA are chosen experimentally in order to get a satisfactory solution in an acceptable time span. According to the complexity of Table 7.2 The comparison of the initialization methods Population size

GS + LS + RS Average of best makespan

RS Average of makespan

Average of best makespan

Average of makespan

50

75.0

91.7

93.6

116.0

100

73.2

92.8

88.8

116.5

150

73.0

92.8

88.4

115.9

200

73.4

92.1

87.6

115.9

250

73.2

92.5

88.2

116.3

300

72.8

92.8

87.0

116.3

350

72.8

92.4

87.0

115.5

400

73.8

92.6

87.8

115.5

450

71.4

92.5

86.4

115.2

500

70.8

92.4

86.8

115.5

148

7 An Effective Genetic Algorithm for FJSP

Fig. 7.11 The comparison of the initialization methods

Fig. 7.12 Decreasing of the makespan (Mk04)

the problems, the population size of the effective GA ranges from 50 to 300. Through experimentation, other parameter values were chosen as follows: number of generation: 100; rate of initial assignments with GS: 0.6; rate of initial assignments with LS: 0.3; rate of initial assignments with RS: 0.1; crossover probability: 0.7; rate of two-point crossover in MS: 0.5; rate of uniform crossover in MS: 0.5; mutation probability: 0.01.

7.5 Computational Results

149

The proposed effective GA is firstly tested from Brandimarte’s data set (BRdata) [9]. The data set consists of ten problems with number of jobs ranging from 10 to 20, number of machines ranging from 4 to 15, and number of operations for each job ranging from 5 to 15. The second data set is a set of 21 problems from Barnes and Chambers [28] (BCdata). The data set was constructed from the three most challenging classical job shop scheduling problems (mt 10, la24, la40) [29, 30] by replicating the machine. The processing times for operations on replicated machines are assumed to be identical to the original. The number of jobs ranges from 10 to 15, the number of machines ranges from 11 to 18, and the number of operations for each job ranges from 10 to 15. The third data set is a set of 18 problems from Dauzère-Pérès and Paulli [12] (DPdata). The number of jobs ranges from 10 to 20, the number of machines ranges from 5 to 10, and the number of operations for each job ranges from 15 to 25. The set of machines capable of performing an operation was constructed by letting a machine be in that set with a probability that ranges from 0.1 to 0.5. In Tables 7.3, 7.4 and 7.5, n × m denotes the jobs and machines about each instance. Flex. denotes the average number of equivalent machines per operation. T o denotes the total number of all operations of all jobs. (LB, UB) denotes the optimum makespan if known, otherwise, the best lower and upper bound found to date. C m denotes makespan time. * indicates the best-known solution to date. AV(C m ) stands for the average makespan out of five runs. t denotes the average running time over five runs. M&G is the approach proposed by Mastrolilli and Gambardella [13]. From Table 7.3, the compared computational results show that the speed of searching for an optimal solution by our algorithm is very fast so far. Among the 10 test problems, Mk03 and Mk08 could get the optimal solution in the first generation by using eGA. 8 problems out of the 10 problems could gain the same good results as M&G. Compared with GENACE, eGA could get better solutions of 8 problems. From Tables 7.4 and 7.5, totally, we found new better 33 solutions in terms of best solutions out of five runs in the 39 test problems. And, the average makespan of the eGA over five runs is better than of M&G on 34 test problems. The running time of the eGA is also much shorter than that of M&G. Obviously, our proposed algorithm is effective and efficient. And, Fig. 7.13 shows the Gantt chart of optimal solution of seti5xy test problem.

7.6 Conclusions and Future Study In this chapter, we proposed an effective genetic algorithm for solving the Flexible Job shop Scheduling Problem (FJSP). An improved chromosome representation scheme is proposed and an effective decoding method interpreting each chromosome into a feasible active schedule is designed. In order to enhance the quality of

To

55

58

150

90

106

150

100

225

240

240

n ×m

10 × 6

10 × 6

15 × 8

15 × 8

15 × 4

10 × 15

20 × 5

20 × 10

20 × 10

20 × 15

Problem

mk01

mk02

mk03

mk04

mk05

mk06

mk07

mk08

mk09

mk10

Table 7.3 Results of BRdata

2.98

2.53

1.43

2.83

3.27

1.71

1.91

3.01

4.01

2.09

Flex.

165, 296

299, 369

523

133, 157

33, 86

168, 186

48, 81

204, 211

24, 32

36, 42

LB, UB

198*

307*

523*

144*

58*

173*

60*

204*

26*

40*

199.2

307.0

523.0

147.0

58.4

173.0

60.0

204.0

26.0

40.0

200

200

200

200

200

200

200

N/A

200

200

Pop

229

320

523

147

67

176

67

N/A

32

40

Cm

GENACE

Cm

AV(C m )

M&G

3.6

3.2

27.6

20.4

19.1

6.9

10.7

7.2

6.1

N/A

t

300

300

50

200

200

200

100

50

300

100

Pop

198*

307*

523*

144*

58*

173*

60*

204*

26*

40*

Cm

Proposed eGA

199

307

523

145

58

173

60

204

26

40

AV(C m )

7.3

6.2

1.3

2.6

1.6

36.6

30.2

2.2

17.3

15.7

t

150 7 An Effective Genetic Algorithm for FJSP

225

225

15 × 16

15 × 17

seti5c12

seti5cc

225

150

15 × 13

setb4xyz

225

150

15 × 12

setb4xy

15 × 18

150

15 × 13

setb4xxx

15 × 17

150

15 × 12

setb4xx

seti5xyz

150

15 × 11

setb4x

seti5xy

150

15 × 12

setb4cc

225

150

15 × 11

setb4c9

15 × 18

100

10×13

mt10xyz

seti5xxx

100

10 × 12

mt10xy

225

100

10 × 13

mt10xxx

225

100

10 × 12

mt10xx

15 × 16

100

10 × 11

mt10x

15 × 17

100

10 × 12

mt10cc

seti5xx

100

10 × 11

mt10c1

seti5x

To

n ×m

Problem

Table 7.4 Results of BCdata

1.20

1.13

1.20

1.13

1.07

1.13

1.07

1.30

1.20

1.30

1.20

1.10

1.20

1.10

1.30

1.20

1.30

1.20

1.10

1.20

1.10

Flex.

955, 1127

955, 1148

955, 1213

955, 1204

955, 1218

955, 1136

1027, 1185

838, 914

845, 924

846, 925

847, 930

846, 937

857, 909

857, 924

655, 849

655, 913

655, 936

655, 929

655, 929

655, 914

655, 927

LB, UB

1125*

1136*

1197*

1199*

1201*

1136*

1174*

905*

916*

925*

925*

925*

909*

919

847*

906

918*

918*

918*

910*

1126.6

1136.4

1198.4

1200.6

1203.6

1136.4

1174.2

908.2

916

925

926.4

925

911.6

919.2

850

906

918

918

918

910

928

1000

1000

1000

1000

1000

1000

1000

1000

1000

1000

300

200

1000

1000

1000

300

1000

1000

1000

200

200

1125*

1136*

1204

1204

1209

1136*

1174*

905*

916*

925*

925*

925*

909*

914*

847*

905*

918*

918*

918*

910*

927*

Cm

Pop

AV(C m )

Cm 928

Proposed eGA

M&G

1126.5

1136.3

1204

1204

1209

1136.2

1174

908.1

916

925

925

925

910

914

847

906

918

918

918

910

928

AV(C m )

78.29

67.56

69.53

70.69

40.26

27.78

62.81

54.06

8.92

20.16

12.81

30.24

24.37

25.39

20.38

21.45

19.27

23.25

70.56

70.47

105.25

t

7.6 Conclusions and Future Study 151

To

100

100

100

100

100

100

100

150

150

150

150

150

150

150

225

225

225

225

n ×m

10 × 5

10 × 5

10 × 5

10 × 5

10 × 5

10 × 5

15 × 8

15 × 8

15 × 8

15 × 8

15 × 8

15 × 8

20 × 10

20 × 10

20 × 10

20 × 10

20 × 10

20 × 10

Problem

01a

02a

03a

04a

05a

06a

07a

08a

09a

10a

11a

12a

13a

14a

15a

16a

17a

18a

Table 7.5 Results of DPdata

5.02

2.99

1.34

5.02

2.99

1.34

4.03

2.42

1.24

4.03

2.42

1.24

2.56

1.69

1.13

2.56

1.69

1.13

Flex.

2057, 2139

2088, 2168

2148, 2301

2161, 2171

2161, 2183

2161, 2302

1969, 2047

2017, 2078

2178, 2362

2061, 2074

2061, 2093

2187, 2408

2162, 2216

2189, 2229

2503, 2565

2228, 2235

2228, 2244

2505, 2530

LB, UB

2137

2141

2255

2167

2167

2260

2034

2063*

2291

2066*

2069*

2283

2203

2216

2503*

2229*

2231*

2140.2

2144

2258.8

2167.2

2168

2266.2

2038

2065.6

2305.6

2067.4

2071.4

2297.6

2206.4

2220

2516.2

2229.6

2234

300

200

500

1000

200

500

1000

300

500

300

500

200

500

300

300

1000

1000

300

2089*

2109*

2211*

2165*

2167*

2194*

2019*

2063*

2189*

2066*

2073

2217*

2174*

2208*

2515

2232

2231*

2516*

Cm

Pop

AV(C m ) 2528

Cm 2518

Proposed eGA

M&G AV(C m )

2089

2110

2212.6

2166

2168.2

2194

2022

2065

2191

2066

2073

2218.4

2175

2210

2515

2232.3

2231

2518

98.35

735.13

645.38

494.16

765.48

555.15

522.77

332.44

405.95

373.32

390.22

388.53

396.44

133.05

154.89

109.26

112.02

164.75

t

152 7 An Effective Genetic Algorithm for FJSP

7.6 Conclusions and Future Study

153

Fig. 7.13 The Gantt chart of seti5xy

the initial solution, a new initial assignment method (GS + LS + RS) is designed to generate a high-quality initial population integrating different strategies to improve the convergence speed and the quality of final solutions. Then different strategies for selection, crossover, and mutation operator are adopted. This makes it possible to solve the problem of trade-off resource allocation. Some benchmark problems taken from other literature are solved. The computational results show that the proposed effective genetic algorithm leads to the same level or even better results in computational time and quality compared with other genetic algorithms. These results not only prove that the proposed method is effective and efficient for solving flexible Job shop scheduling problem, but also demonstrate the initialization method is crucial in the genetic algorithm. It can enhance the convergence speed and the quality of the solution, so we expect to gain more insights into the research on the effective initialization method. In the future, it will be interesting to investigate the following issues: Adjust the proportion of the GS, LS, and RS used in the initialization in order to generate better results. Maintain the best individual of the mating pool in a successive generation of chromosomes. Combine with the good local search algorithm to enhance the capability of global selection and local selection.

References 1. Chen H, Ihlow J, Lehmann C (1999) A genetic algorithm for flexible job-shop scheduling. In: IEEE international conference on robotics and automation, Detroit, vol 2, pp 1120–1125 2. Ho NB, Tay JC, Edmund MK Lai (2007) An effective architecture for learning and evolving flexible job shop schedules. Eur J Oper Res 179:316–333

154

7 An Effective Genetic Algorithm for FJSP

3. Pezzella F, Morganti G, Ciaschetti G (2007) A genetic algorithm for the flexible job-shop scheduling problem. Comput Oper Res 35(10):3202–3212 4. Garey MR, Johnson DS, Sethi R (1976) The complexity of flowshop and jobshop scheduling. Math Oper Res 1:117–129 5. Kacem I, Hammadi S, Borne P (2002) Approach by localization and multiobjective evolutionary optimization for flexible job-shop scheduling problems. IEEE Trans Syst Man Cybernet 32(1):1–13 6. Brucker P, Schile R (1990) Job-shop scheduling with multi-purpose machines. Computing 45(4):369–375 7. Mastrolilli M, Gambardella LM (1996) Effective neighborhood functions for the flexible job shop problem. J Sched 3:3–20 8. Najid NM, Dauzère-Pérès S, Zaidat A (2002) A modified simulated annealing method for flexible job shop scheduling problem. IEEE Int Conf Syst Man Cybernet 5:6–12 9. Brandimarte P (1993) Routing and scheduling in a flexible job shop by taboo search. Ann Oper Res 41:157–183 10. Paulli J (1995) A hierarchical approach for the FMS scheduling problem. Eur J Oper Res 86(1):32–42 11. Hurink E, Jurisch B, Thole M (1994) Tabu search for the job shop scheduling problem with multi-purpose machines. Oper Res Spektrum 15:205–215 12. Dauzère-Pérès Paulli E (1997) An integrated approach for modeling and solving the general multi-processor job-shop scheduling problem using tabu search. Ann Oper Res 70:281–306 13. Mastrolilli M, Gambardella LM (2000) Effective neighborhood functions for the flexible job shop problem. J Sched 3(1):3–20 14. Amiri M, Zandieh M, Yazdani M, Bagheri A (2010) A parallel variable neighborhood search algorithm for the flexible job-shop scheduling problem. Expert Syst Appl 37(1):678–687 15. Yang JB (2001) GA-based discrete dynamic programming approach for scheduling in FMS environments. IEEE Trans Syst Man Cybernet Part B 31(5):824–835 16. Zhang HP, Gen M (2005) Multistage-based genetic algorithm for flexible job-shop scheduling problem. J Complexity Int 48:409–425 17. Jia HZ, Nee AYC, Fuh JYH, Zhang YF (2003) A modified genetic algorithm for distributed scheduling problems. Int J Intell Manuf 14:351–362 18. Kacem I (2003) Genetic algorithm for the flexible job-shop scheduling problem. IEEE Int Conf Syst Man Cybernet 4:3464–3469 19. Kacem I, Hammadi S, Borne P (2002) Pareto-optimality approach for flexible job-shop scheduling problems: Hybridization of evolutionary algorithms and fuzzy logic. Math Comput Simul 60:245–276 20. Tay JC, Wibowo D (2004) An effective chromosome representation for evolving flexible job shop schedules, GECCO 2004. In: Lecture notes in computer science, vol 3103. Springer, Berlin, pp 210–221 21. Mesghouni K, Hammadi S, Borne P. Evolution programs for job-shop scheduling (1997). In: Proceedings of the IEEE international conference on computational cybernetics and simulation, vol 1, pp 720–725 22. Liu HB, Abraham A, Grosan C (2007) A novel variable neighborhood particle swarm optimization for multi-objective flexible job-shop scheduling problems. In: 2 nd international conference on digital information management (ICDIM) on 2007, pp 138–145 23. Pinedo M (2002) Scheduling theory, algorithms, and systems. Prentice-Hall, Englewood Cliffs, NJ (Chapter 2) 24. Shahryar R, Hamid RT, Magdy MAS (2007) A novel population initialization method for accelerating evolutionary algorithms. Compu Math Appl 53:1605–1614 25. Watanabe M, Ida K, Gen M (2005) A genetic algorithm with modified crossover operator and search area adaptation for the job-shop scheduling problem. Comput Ind Eng 48:743–752 26. Gao J, Sun LY, Gen M (2008) A hybrid genetic and variable neighborhood descent algorithm for flexible job shop scheduling problems. Comput Oper Res 35(9):2892–2907

References

155

27. Lee KM, Yamakawa T, Lee KM (1998) A genetic algorithm for general machine scheduling problems. Int J Knowl Based Electronic 2:60–66 28. Barnes JW, Chambers JB. Flexible job shop scheduling by tabu search. Graduate program in operations research and industrial engineering, The University of Texas at Austin 1996; Technical Report Series: ORP96-09 29. Fisher H, Thompson GL (1963) Probabilistic learning combinations of local job shop scheduling rules. Prentice-Hall, Englewood Cliffs, NJ, pp 225–251 30. Lawrence S (1984) Supplement to resource constrained project scheduling: an experimental investigation of heuristic scheduling techniques. GSIA, Carnegie Mellon University, Pittsburgh, PA

Chapter 8

An Effective Collaborative Evolutionary Algorithm for FJSP

8.1 Introduction Production scheduling is one of the most important issues in the planning and scheduling of current manufacturing systems [1]. The optimization technology of the production scheduling can introduce significant improvements to the efficiency of manufacturing through eliminating or reducing scheduling conflicts, reducing flow time and work-in-process, improving production resources utilization and adapting to irregular shop floor disturbances. The classical Job shop Scheduling Problem (JSP) is one of the most difficult problems in this area. It has been proved to be an NPhard problem [2]. It assumes that there is no flexibility of the resources (including machines and tools) for each operation of every job. It may suit the traditional manufacturing system. However, in the modern manufacturing enterprise, many flexible manufacturing systems and NC machines are introduced to improve the production efficiency. These machines and systems can process many types of operations. This means that the assumption about one machine processing one operation in the JSP cannot match the current manufacturing states. Its research results cannot be used in the modern manufacturing system. In this case, the Flexible Job shop Scheduling Problem (FJSP) attracts more and more attention from the researchers and engineers. FJSP is an extension of the classical job shop scheduling problem. It allows an operation to be processed by any machine from a given set. It is also an NP-hard problem. After Bruker [3] firstly presented this problem in 1990, many methods have been presented to solve this problem. The current approaches for solving FJSP mainly include Genetic Algorithm (GA) [4], Tabu Search (TS) [5, 6], Variable Neighborhood Search algorithm (VNS) [7, 8], and some hybrid algorithms [9–11]. The FJSP can be decomposed into two subproblems: the Machine Selection problem (MS) and the Operation Sequencing problem (OS). The most current approaches use the integrated encoding method to solve the FJSP. However, these two subproblems are different. The integrated encoding method may lead to the solution space becoming more complex. This can impede the algorithm to exert its whole searching ability. © Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_8

157

158

8 An Effective Collaborative Evolutionary Algorithm for FJSP

Therefore, this chapter proposes a Multi-Swarm Collaborative Evolutionary Algorithm (MSCEA) to solve FJSP. In this method, the two subproblems are evolved in different swarms. They interact with each other in every generation of the algorithm. Through experimental studies, the merits of the proposed approach can be shown clearly. The remainder of this chapter is organized as follows. Problem formulation is discussed in Sect. 8.2. MSCEA-based approach for FJSP is proposed in Sect. 8.3. Experimental studies are reported in Sect. 8.4. Section 8.5 shows the conclusions.

8.2 Problem Formulation The n × m FJSP can be formulated as follows [12]. There is a set of n jobs J = {J 1 , J 2 , J 3 , …, J n } and a set of m machines M = {M 1 , M 2 , M 3 , …, M m }. Each job J i consists of a sequence of operations {Oi1 , Oi2 , Oi3 , …, Oin }, where ni is the number of operations that J i comprises. Each operation Oij (i = 1, 2, …, n; j = 1, 2, …, ni ) has to be processed by one machine out of a set of given machines M ij ⊆ M. The problem is thus to both determine an assignment and a sequence of the operations on the machines so that some criteria are satisfied. In this chapter, the scheduling objective is to minimize the maximal completion time of all the operations, i.e., makespan. The mathematical model can refer to Fattahi et al. [13].

8.3 Proposed MSCEA for FJSP 8.3.1 The Optimization Strategy of MSCEA The proposed optimization strategy explores the solution spaces of MS and OS of FJSP respectively and collaboratively. In other words, when each of the two components is under optimization, the other component remains unchanged. This optimization process is repeated until the termination criteria reach. It should be mentioned that the two subproblems of FJSP are combined together to evaluate the fitness of a solution. Under this optimization strategy, different optimization algorithms such as GA, TS, and VNS can be employed to search the spaces of MS and OS individually. In this study, the evolutionary algorithm is used for each component. Therefore, it is called as Multi-Swarm Collaborative Evolutionary Algorithm (MSCEA). This optimization strategy for FJSP is shown in Fig. 8.1. The overall procedure of the proposed optimization strategy for FJSP is described as follows: Step 1: Initialization. Assume there are N jobs. Generate N + 1 swarms: including N MS swarms and 1 OS swarm;

8.3 Proposed MSCEA for FJSP

159 MS Swarm 1

MS Swarm 1

C ol l pa abo rt ra ne ti rs ve

Fitness evaluation MS Swarm 2

OS Swarm

MS Swarm N

MS Swarm i MS Swarm 2

C ol l pa abo rt ra ne ti rs ve

OS Swarm MS Swarm 1

Fitness evaluation

MS Swarm N

MS Swarm i

Collaborative Evolution

Fitness evaluation

OS Swarm

MS Swarm N

MS Swarm i

OS Swarm MS Swarm 1 MS Swarm N MS Swarm 2

MS Swarm i

C ol l pa abo rt ra ne ti rs ve

MS Swarm 2

C ol l pa abo rt ra ne ti rs ve

MS Swarm 1

C ol l pa abo rt ra ne ti rs ve

Fitness evaluation MS Swarm 2

OS Swarm

MS Swarm N

Fitness evaluation MS Swarm i

Fig. 8.1 The optimization strategy of MSCEA for FJSP

Step 2: Evaluation. Evaluate every individual in each swarm, wherein the individual is combined with all collaborative partners which are selected from all of the other swarms; Step 3: Terminate criteria satisfied? If yes, stop and output the results, otherwise go to Step 4; Step 4: Collaborative evolution. Update the swarms: generate the new individuals for each swarm by the genetic operators. Go to Step 2.

8.3.2 Encoding Chromosomes are corresponding to the solutions of the FJSP. Encoding of the individual is very important in the evolutionary algorithm. In this chapter, the encoding method in Gao et al. [12] is adopted here. Because this algorithm has two type swarms, the MS and OS subproblems have different encoding methods. The encoding method for the OS swarm is the operation-based representation method. Each MS

160

8 An Effective Collaborative Evolutionary Algorithm for FJSP

swarm represents the MS for the corresponding job. The length of the chromosome for the MS swarm equals to the number of the operations for the corresponding job.

8.3.3 Initial Population and Fitness Evaluation The encoding principle of the OS subproblem in this chapter is an operation-based representation. The important feature of this representation is that any permutation of the chromosome can be decoded to a feasible schedule. It cannot break the constraints on precedence relations of operations. The MS and OS swarms are generated based on the encoding principle. In this chapter, the makespan is used as the objective.

8.3.4 Genetic Operators 8.3.4.1

Selection

The OS swarm and MS swarms have the same selection operator. It is the random selection operator. In this selection, the algorithm randomly selects the individuals to do the crossover and mutation operators.

8.3.4.2

Crossover

A Precedence Operation crossover (POX) has been adopted here to be the crossover operation for the OS swarm. It can inherit the good characteristics of parents to the offspring effectively. The basic working procedure of POX is described as follows (two parents are denoted as P1 and P2 , two offspring are denoted as O1 and O2 ): Step 1: The Jobset J = {J 1 , J 2 , J 3 , …, J n } is divided into two groups Jobset 1 and Jobset 2 randomly; Step 2: Any element in P1 which belongs to Jobset 1 are appended to the same position in O1 and deleted in P1 ; any element in P2 which belongs to Jobset 2 are appended to the same position in O2 and deleted in P2 ; Step 3: The remaining elements in P2 are appended to the remaining empty positions in O1 seriatim; and the remaining elements in PI are appended to the remaining empty positions in O2 seriatim. A two-point crossover has been adopted here to the crossover operation for the MS swarm. In this crossover operation, two positions are selected randomly at first. Then two children strings are created by swapping all elements between the positions of the two parent strings.

8.3 Proposed MSCEA for FJSP

8.3.4.3

161

Mutation

For the OS swarm, the neighborhood mutation method is used as the mutation operator. The working procedure is described as follows: Step 1: Select 3 elements in the parent, and generate all the neighborhood chromosomes; Step 2: Choose one in the neighborhood chromosomes randomly and set it as the current chromosome. For the MS swarm, a mutation operator is designed as follows: Step 1: Select r positions in the parent (r is the half of the length of the chromosome); Step 2: For each position (according to one operation), change the value of this selected position to the other machine in the machine set of the corresponding operation.

8.3.5 Terminate Criteria If the number of iterations that the proposed MSCEA runs reach to the maximum generations (maxGen), the algorithm stops.

8.3.6 Framework of MSCEA The workflow of the proposed MSCEA is shown in Fig. 8.2. The basic procedure of this algorithm is described as follows: Step 1: Set the parameters of MSCEA, including size of the population of OS swarm (Popsize1 ), size of the population of MS swarms (Popsize2 ), maximum generations (maxGen), crossover probabilistic of OS swarm (pc1 ), crossover probabilistic of MS swarm (pc2 ), mutation probabilistic of OS swarm (pm1 ), mutation probabilistic of MS swarm (pm2 ); Step 2: Initialization: Assume there are N jobs. Use the encoding methods to generate N + 1 swarms, including N MS swarms with Popsize2 individuals and 1 OS swarm with Popsize1 individuals. Set Gen = 1, Gen is the current generation; Step 3: Evaluation: Evaluate every individual in each swarm, wherein the individual is combined with all collaborative partners which are randomly selected from all of the other swarms. If Gen = 1, record the best fitness f best with the solution which is made up by all the individuals from each swarm; Else, update the f best with the solution; Step 4: Is the terminate criteria satisfied? (Gen ≤ maxGen?) If yes, go to Step 6; Else, go to Step 5;

162

8 An Effective Collaborative Evolutionary Algorithm for FJSP

Fig. 8.2 Work flow of the proposed MSCEA

Beginning

Parameters Setting Initialize N MS Swarms and 1 OS Swarm Gen = 1 Evaluate All the Swarms Record or Update Best Fitness fbest with the Solution

Terminate Criteria Satisfied? N Collaborative Evolution MS Swarm 1

Crossover

Mutation

MS Swarm 2

Crossover

Mutation

MS Swarm i

Crossover

Mutation

MS Swarm N

Crossover

Mutation

OS Swarm

Crossover

Mutation

Y

Output the fbest with the Solution Ending

New Swarms: including N MS Swarms and 1 OS Swarm Gen=Gen+1

Step 5: Collaborative evolution. Update the swarms: generate the new individuals for each swarm by the genetic operators; q is the serial number of each swarm (q = 1, 2, 3, …, i, …, N, N + 1), initialize q = 1. Step 5.1: For the qth swarm, use the relative genetic operators to generate the new swam to replace the old swarm, and set the new swarm as the current qth swarm; Step 5.2: Is q ≤ N + 1? If yes, go to Step 5.3; Else, set Gen = Gen + 1 and go to Step 3; Step 5.3: Set q = q + 1 and go to Step 5.1; Step 6: Output the best fitness f best with the solution.

8.4 Experimental Studies

163

8.4 Experimental Studies The proposed MSCEA procedure is coded in C++ and implemented on a computer with a 2.0 GHz Core (TM) 2 Duo CPU. To illustrate the effectiveness and performance of the proposed algorithm in this chapter, one famous benchmark problem has been selected. It is adapted from Brandimarte [14]. It contains 10 problems. The parameters of the MSCEA for these problems are set as: the size of the population of OS swarm Popsize1 = 200; the size of the population of MS swarm Popsize2 = 200; the maximum generations maxGen = 200; the crossover probability of OS swarm pc1 = 0.9; the crossover probability of MS swarm pc2 = 0.9; the mutation probability of OS swarm pm1 = 0.1; the mutation probability of MS swarm pm2 = 0.1. Table 8.1 shows the results of the proposed algorithm and the comparisons with some previous methods. TSl , TS2 , LEGA, GA, VNS, PVNS, HTS represent the algorithms in [4, 9, 7, 5, 8, 10, 14]. Figure 8.3 illustrates the Gantt chart of problem MK06. The results marked by * are the best results among these 8 algorithms. From Table 8.1, the proposed MSCEA obtains 8 best results among these algorithms. The numbers of the best results obtained by other algorithms (except TS2 ) are fewer than the proposed MSCEA. However, for the MK07 problem, the result of TS2 is worse than the result of MSCEA. This means that the proposed approach can obtain more good results than TS2 . The experimental results reveal that the proposed method can solve the FJSP effectively. The reason is as follows. In the proposed algorithm, the two subproblems evolve in different swarms. They interact with each other in every generation of the algorithm. This can help the algorithm to exert its whole searching ability. Therefore, the proposed algorithm can solve the FJSP effectively.

8.5 Conclusions FJSP is a very important problem in the modern manufacturing system. This chapter developed a multi-swarm collaborative evolutionary algorithm to solve FJSP. Experimental studies have been used to test the performance of the proposed approach. The results show that the proposed approach has achieved significant improvement.

(36, 42)

(24, 32)

(204, 211)

(48, 81)

(168, 186)

(33, 86)

(133, 157)

(523)

(299, 369)

(165, 296)

MK01

MK02

MK03

MK04

MK05

MK06

MK07

MK08

MK09

MK10

296

369

*523

157

86

186

81

211

32

42

TS1 [14]

N/A means the result was not given by the author

(LB, UB)

Problem

*198

*307

*523

144

*58

173

*60

*204

*26

*40

TS2 [5]

296

369

*523

157

86

186

81

N/A

29

*40

LEGA [10]

Table 8.1 The experimental results and the comparisons with other methods GA [4]

212

311

*523

*139

63

173

*60

*204

*26

*40

VNS [7]

207

*307

*523

140

59

173

*60

*204

*26

*40

PVNS [8]

208

*307

*523

141

60

173

*60

*204

*26

*40

HTS [9]

214

310

*523

140

65

*172

62

*204

*26

*40

MSCEA

*198

*307

*523

141

*58

173

*60

*204

*26

*40

164 8 An Effective Collaborative Evolutionary Algorithm for FJSP

References

165

Fig. 8.3 Gantt chart of problem MK06 (Makespan = 58)

References 1. Chen H, Ihlow J, Lehmann C (1999) A genetic algorithm for flexible job-shop scheduling. In: IEEE international conference on robotics and automation, vol 2, pp 1120–1125 2. Graey MR, Jonmson DS, Sethi R (1976) The complexity of flow shop and job-shop scheduling. Math Oper Res 1:117–129 3. Brucker P, Schile R (1990) Job-shop scheduling with multi-purpose machines. Computing 45(4):369–375 4. Pezzella F, Morganti G, Ciaschetti G (2008) A genetic algorithm for the flexible job shop scheduling problem. Comput Oper Res 35:3202–3212 5. Mastrolilli M, Gambardella LM (2000) Effective neighbourhood functions for the flexible job shop problem. J Sched 3:3–20 6. Mehrabad MS, Fattahi P (2007) Flexible job shop scheduling with tabu search algorithms. Int J Adv Manuf Technol 32:563–570 7. Amiri M, Zandieh M, Yazdani M, Bagheri A (2010) A variable neighbourhoodsearch algorithm for the flexible job shop scheduling problem. Int J Prod Res 8(19):5671–5689 8. Yazdani M, Amiri M, Zandieh M (2010) Flexible job shop scheduling with parallel variable neighborhood search algorithm. Expert Syst Appl 37:678–687 9. Li JQ, Pan QK, Suganthan PN, Chua TJ (2010) A hybrid tabu search algorithm with an efficient neighborhood structure for the flexible job shop scheduling problem. Int J Adv Manuf Technol 10. Ho NB, Tay JC, Lai EMK (2007) An effective architecture for learning and evolving flexible job shop schedules, vol 179, pp 316–333 11. Bozejko W, Uchronski M, Wodecki M (2010) Parallel hybrid metaheuristics for the flexible job shop problem. Comput Ind Eng 59:323–333 12. Gao L, Peng CY, Zhou C, Li PG (2006) Solving flexible job shop scheduling problem using general particle swarm optimization. In: The 36th CIE conference on computers and industrial engineering, pp 3018–3027 13. Fattahi P, Mehrabad MS, Jolai F (2007) Mathematical modeling and heuristic approaches to flexible job shop scheduling problems. J Intell Manuf 18:331–342 14. Brandimarte P (1993) Routing and scheduling in a flexible job shop by taboo search. Ann Oper Res 41(3):157–183

Chapter 9

Mathematical Modeling and Evolutionary Algorithm-Based Approach for IPPS

9.1 Introduction Process planning and scheduling used to link product design and manufacturing are two of the most important functions in a manufacturing system. A process plan specifies what manufacturing resources and technical operations/routes are needed to produce a product (a job). The outcome of process planning includes the identification of machines, tools, and fixtures suitable for a job, and the arrangement of operations for a job. Typically, a job may have one or more alternative process plans. With the process plans of jobs as inputs, a scheduling task is to schedule the operations of all the jobs on machines while precedence relationships in the process plans are satisfied. Although as mentioned above, there is a close relationship between process planning and scheduling, the integration of them is still a challenge in research and applications [21]. In traditional approaches, process planning and scheduling were carried out in a sequential way. Scheduling was conducted after the process plan had been generated. Those approaches have become an obstacle to improve the productivity and responsiveness of manufacturing systems and to cause the following problems in particular [10, 20]: (1) In practical manufacturing, process planner plans jobs individually. For each job, manufacturing resources on the shop floor are usually assigned to it without considering the competition for the resources from other jobs [23]. This may lead to the process planners favoring to select the desirable machines for each job repeatedly. Therefore, the generated process plans are somewhat unrealistic and cannot be readily executed on the shop floor for a group of jobs [12]. Accordingly, the resulting optimal process plans often become infeasible when they are carried out in practice at the later stage. (2) Scheduling plans are often determined after process plans. In the scheduling phase, scheduling planners have to consider the determined process plans. Fixed process plans may drive scheduling plans to end up with severely unbalanced resource load and create superfluous bottlenecks. © Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_9

167

168

9 Mathematical Modeling and Evolutionary Algorithm …

(3) Even though process planners consider the restriction of the current resources on the shop floor, the constraints in the process planning phase may have already changed due to the time delay between the planning phase and execution phase. This may lead to the infeasibility of the optimized process plan [9]. Investigations have shown that 20–30% of the total production plans in a given period have to be rescheduled to adapt to dynamic change in a production environment [10]. (4) In most cases, both for process planning and scheduling, a single criterion optimization technique is used to determine the best solution. However, the real production environment is best represented by considering more than one criterion simultaneously [10]. Furthermore, process planning and scheduling may have conflicting objectives. Process planning emphasizes the technological requirements of a job, while scheduling attaches importance to the timing aspects and resource sharing of all jobs. If there is no appropriate coordination, it may create conflicting problems. To overcome these problems, there is an increasing need for deep research and application of Integrated Process Planning and Scheduling (IPPS) system. The IPPS introduces significant improvements to the efficiency of manufacturing through eliminating or reducing scheduling conflicts, reducing flow time and work-in-process, improving production resources utilizing and adapting to irregular shop floor disturbances [12]. Without IPPS, a true Computer-Integrated Manufacturing System (CIMS), which strives to integrate the various phases of manufacturing in a single comprehensive system, may not be effectively realized. The remainder of this chapter is organized as follows. Problem formulation and mathematical modeling are discussed in Sect. 9.2. An Evolutionary Algorithm (EA)-based approach for IPPS is proposed in Sect. 9.3. Experimental studies and discussions are reported in Sect. 9.4. Section 9.5 is the conclusion.

9.2 Problem Formulation and Mathematical Modeling 9.2.1 Problem Formulation The IPPS problem can be defined as follows [4]: Given a set of N parts which are to be processed on machines with operations including alternative manufacturing resources, select suitable manufacturing resources and sequence the operations so as to determine a schedule in which the precedence constraints among operations can be satisfied and the corresponding objectives can be achieved.

9.2 Problem Formulation and Mathematical Modeling

169

In the manufacturing systems considered in this study, a set of process plans for each part is designed and maintained. The generation of one scheduling plan and the selection of process plan of each job from a set of process plans are determined based on the minimum objectives. If there are N jobs, and each with Gi alternative process plans, the number of possible process plan combinations is {G1 × G2 × ··· × Gi × ··· × GN }. This problem is an NP-hard problem. Three types of flexibility are considered in process planning [5, 20]: operation flexibility, sequencing flexibility, and processing flexibility [1]. Operation flexibility which is also called routing flexibility [15] relates to the possibility of performing one operation on alternative machines, with possibly distinct processing time and costs. Sequencing flexibility is decided by the possibility of interchanging the sequence of the required operations. Processing flexibility is determined by the possibility of processing the same manufacturing feature with alternative operations or sequences of operations. Better performance in some criteria can be obtained by the consideration of these flexibilities [8].

9.2.2 Mathematical Modeling The mathematical model of IPPS is defined here. The most popular criteria for scheduling include makespan, job tardiness, and the balanced level of machine utilization, while manufacturing cost is the major criterion for process planning [13]. In this chapter, scheduling is often assumed as job shop scheduling, and the mathematical model of IPPS is based on the mixed integer programming model of the Job shop Scheduling Problem (JSP) [16]. In order to solve this problem, the following assumptions are made: (1) Jobs are independent. Job preemption is not allowed and each machine can handle only one job at a time. (2) The different operations of one job cannot be processed simultaneously. (3) All jobs and machines are available at time zero simultaneously. (4) After a job is processed on a machine, it is immediately transported to the next machine on its process, and the transmission time is assumed to be negligible. (5) Set up a time for the operations on the machines is independent of the operation sequence and is included in the processing times. Based on these assumptions, the mathematical model of IPPS is described as follows [14]: The notations used to explain the model are described below: N M di ωi

the total number of jobs; the total number of machines; the due date of job i; the weight of job is basically a priority factor, denoting the importance of job i relative to the other jobs in the system;

170

Gi oijl Pil k t ijlk cijlk ci Li Ti Ei vijlk A

9 Mathematical Modeling and Evolutionary Algorithm …

the total number of alternative process plans of job i; the jth operation in the lth alternative process plan of the job i; the number of operation in the lth alternative process plan of the job i; the alternative machine corresponding to oijl ; the processing time of operation oijl on machine k, t ijlk > 0; the earliest completion time of operation oijl on machine k; the completion time of job i; the lateness of job i; the tardiness of job i; the earliness of job i; the processing cost of operation oijl on machine k; a very large positive number;  Ui =  X il =  Yi jlpqsk =

1 if ci > di the unit penalty of job i 0 otherwise

1 the lth alternative process plan of job i is selected 0 otherwise

1 the operation oi jl precedes the operation o pqs on machine k 0 otherwise  1 if machine k is selected for oi jl Z i jlk = 0 otherwise

Objectives: (1) Minimizing the makespan which is completion time of last operation of all the jobs: Min makespan   = Max ci jlk × X il × Z i jlk ∀i ∈ [1, N ], ∀ j ∈ [1, Pil ], ∀l ∈ [1, G i ], ∀k ∈ [1, M]

(9.1)

(2) Minimizing the total processing cost: Min

Pil N     vi jlk × X il × Z i jlk ∀i ∈ [1, N ], ∀ j ∈ [1, Pil ], i=1 j=1

∀l ∈ [1, G i ], ∀k ∈ [1, M] (3) Minimizing the lateness:

(9.2)

9.2 Problem Formulation and Mathematical Modeling

171

L i = ci − di ; Min L max = max{L 1 , L 2 , . . . , L N }∀i ∈ [1, N ]

(9.3)

(4) Minimizing the total weighted tardiness: Ti = max{ci − di , 0} = max{L i , 0}; Min



ωi Ti ∀i ∈ [1, N ]

(9.4)

i

(5) Minimizing the weighted number of tardy jobs: Min



ωi Ui ∀i ∈ [1, N ]

(9.5)

i

(6) Minimizing the total earliness plus the total tardiness: E i = max{di − ci , 0}; Min



Ei +

i



Ti ∀i ∈ [1, N ]

(9.6)

i

Subject to (1) For the first operation in the alternative process plan l of job i: (ci1lk × Z i1lk × X il ) + A(1 − X il ) ≥ (ti1lk × Z i1lk × X il ) ∀i ∈ [1, N ], ∀l ∈ [1, G i ], ∀k ∈ [1, M]

(9.7)

(2) For the last operation in the alternative process plan l of job i:   ci Pil lk × Z i Pil lk × X il − A(1 − X il ) ≤ makespan ∀i ∈ [1, N ], ∀l ∈ [1, G i ], ∀k ∈ [1, M]

(9.8)

(3) The different operations of one job cannot be processed simultaneously:     ci jlk × Z i jlk × X il − ci( j−1)lk1 × Z i( j−1)lk1 × X il   + A(1 − X il ) ≥ ti jlk × Z i jlk × X il ∀i ∈ [1, N ], ∀ j ∈ [1, Pil ], ∀l ∈ [1, G i ], ∀k1 ∈ [1, M]

(9.9)

(4) Each machine can handle only one job at a time:     c pqsk × Z pqsk × X ps − ci jlk × Z i jlk × X il + A(1 − X il )     + A 1 − X ps + A 1 − Yi jlpqsk × Z i jlk × Z pqsk × X il × X ps   ≥ t pqsk × Z pqsk × X ps (9.10)

172

9 Mathematical Modeling and Evolutionary Algorithm …

      ci jlk × Z i jlk × X il − c pqsk × Z pqsk × X ps + A(1 − X il ) + A 1 − X ps     + A Yi jlpqsk × Z i jlk × Z pqsk × X il × X ps ≥ ti jlk × Z i jlk × X il   ∀i, p ∈ [1, N ], ∀ j, q ∈ 1, Pil, ps , ∀l, s ∈ 1, G i, p , ∀k ∈ [1, M] (9.11) (5) Only one alternative process plan can be selected of job i: 

X il = 1 ∀i ∈ [1, N ]

(9.12)

l

(6) Only one machine for each operation should be selected: M 

Z i jlk = 1 ∀i ∈ [1, N ], ∀ j ∈ [1, Pil ], ∀l ∈ [1, G i ]

(9.13)

k=1

(7) There is only one precedence relation between two operations in a scheduling plan: Yi jlpqsk × X il × X ps × Z i jlk ≤ 1 

   Yi jlpqsk × X il ≤ Z i jlk × X il

(9.14) (9.15)



   Yi jlpqsk × X ps ≤ Z pqsk × X ps   ∀i, p ∈ [1, N ], ∀ j, q ∈ 1, Pil, ps , ∀l, s ∈ 1, G i, p , ∀k ∈ [1, M]

Pil  Gi N    i

j

Yi jlpqsk × X il × Z i jlk

(9.16)



l

o pqsk −1

=



Z okm ∀ p ∈ [1, N ], ∀q ∈ [1, Pil ],∀s ∈ [1, G i ], ∀k ∈ [1, M] (9.17)

ok1

O pqsk −1 Z Okm means the total number of operations before o pqs on where Ok1 machine k; ok1 means the first operation on machine k; opqsk means the current operation on machine k. (8) The completion time of each operation should be either positive or zero. ci jlk × Z i jlk × X il ≥ 0 ∀i ∈ [1, N ], ∀ j ∈ [1, Pil ], ∀l ∈ [1, G i ], ∀k ∈ [1, M] (9.18)

9.2 Problem Formulation and Mathematical Modeling

173

The objective functions are equations from (9.1) to (9.6). In this chapter, the mono-objective problems are considered. It also can use the weighted-sums method or pare to strategy to solve the multi-objective problems. Moreover, the constraints are equations from (9.7) to (9.18). Constraint (9.9) expresses that different operations of a job are unable to be processed simultaneously. This is the constraint of different processes for a job. Constraints (9.10) and (9.11) which are the constraints of machine express that each machine can handle only one job at a time. The constraints from (9.7) to (9.11) are called disjunctive constraints. Constraint (9.12) ensures that only one alternative process plan can be selected for each job. Constraint (9.13) ensures that only one machine for each operation should be selected. Constraints from (9.14) to (9.17) ensure that there is only one precedence relation between two operations in a scheduling plan. Constraint (9.18) ensures that the completion time of each operation should be either positive or zero. The mixed integer programming model of IPPS developed above can be solved by using the mixed integer programming methods. JSP has been proved to be one of the most difficult NP-complete problems [3]. The IPPS problem which is also known as an NP-complete problem is more complicated than JSP [7]. For large problems, it is difficult to find perfect solutions in a reasonable time. Therefore, in this chapter, one evolutionary algorithm-based approach has been developed to solve it.

9.3 Evolutionary Algorithm-Based Approach for IPPS 9.3.1 Representation Each chromosome in the scheduling population consists of two parts with different lengths as shown in Fig. 9.1. The first part of the chromosome is the alternative process plan string (B-string). The positions from 1 to N in B-string represent the jobs from 1 to N. The number in the ith position represents the selected alternative process plan of the job i. The second part of the chromosome is the scheduling plan string (A-string). In this chapter, the scheduling encoding principle is the operation-based representation, which is made up of the Genes (the first number is the job number and the second number is the alternative machine). This representation uses an unpartitioned permutation with Pil -repetitions of job numbers (the first numbers of Genes) [2]. In this representation, each job number occurs Pil times in the chromosome. By scanning the chromosome from left to right, the f th occurrence of a job number (the first number of Gene) refers to the f th operation in the technological sequence

Fig. 9.1 Chromosome of integration

174

9 Mathematical Modeling and Evolutionary Algorithm …

of this job. The important feature of the operation-based representation is that any permutation of the chromosome can be decoded to a feasible schedule [2]. The first numbers of Genes represent a permutation of the operations. Different appearances of this number in the chromosome represent different operations of the job, and the sequence of the appearances of this number is the same with the sequence of the operations of the job. The important feature of this representation is that all offspring formed by crossover are feasible solutions [2]. It is assumed that there are N jobs, and qi is the number of operations of the process plan which has the most operations among all the alternative process plans of the job i. Then the length of the A-string is equal to qi . The number of i (the first number of Genes) in the A-string is equal to the number of operations of the lth selected alternative process plan. Based on this principle, the composition

elements of A-string are determined. If the number of the elements is less than qi , all the other elements are filled with (0, 0). One A-string is generated by arraying all the elements randomly. And the B-string is generated by selecting the alternative process plan randomly for every job. The second numbers of Genes represent the alternative machines of each operation. It denotes the selected machine set of the corresponding operations of all jobs. Assuming the hth operation in the selected lth alternative process plan of job i can be processed by a machine set Silh = {m ilh1 , m ilh2 , . . . , m ilhcilh }. The Gene can be denoted as (i, gilh ). The g is an integer between 1 and cilh and it means that the hth operation in the lth selected alternative process plan of job i is assigned to the gilh machine m ilhgilh in S ilh .

9.3.2 Initialization and Fitness Evaluation The encoding principle of the A-string in the chromosome in this chapter is an operation-based representation. The important feature of the operation-based representation is that any permutation of the chromosome can be decoded to a feasible schedule. It cannot break the constraints on precedence relations of operations [2]. The initial population is generated based on the encoding principle. In this chapter, it used makespan as its objective (see Eq. (9.1)).

9.3.3 Genetic Operators (1) Selection: The tournament selection scheme has been used for selection operator. In tournament selection, a number of individuals are selected randomly (dependent on the tournament size, typically between 2 and 7) from the population and the individual with the best fitness is chosen. The tournament selection

9.3 Evolutionary Algorithm-Based Approach for IPPS

175

approach allows a tradeoff to be made between the exploration and exploitation of the gene pool [11]. This scheme can modify the selection pressure by changing the tournament size. (2) Crossover: The procedure of the crossover for scheduling is described as follows: Step 1: Select a pair of chromosomes P1 and P2 by the selection scheme and initialize two empty offspring: O1 and O2. Step 2: First, the B-strings of O1 and O2 are generated by the following steps: Step 2.1: Compare the B-string of P1 with the B-string of P2, if the element of P1 is the same as P2, record the value and position of this element. This process is repeated until all the elements of B-string have been compared. Step 2.2: The recorded elements in B-string of P1 in Step 2.1 are appended to the same positions in B-string of O1, while the recorded elements in B-string of P2 in Step 2.1 are appended to the same positions in B-string of O2. The other elements (they are the different elements between the Bstrings of P1 and P2) in B-string of P2 are appended to the same positions in B-string of O1, while the other elements in B-string of P1 are appended to the same positions in B-string of O2. Step 3: Secondly, in order to match the B-strings of O1 and O2 and avoid getting unreasonable O1 and O2, the A-strings of P1 and P2 are crossovered as follows: Step 3.1: If the values of the first numbers of Genes in A-string of P1 are the same as the recorded positions in B-string, these Genes (including (0, 0)) are appended to the same positions in A-string of O1 and they are deleted in A-string of P1. If the values of the first numbers of Genes in A-string of P2 are the same as the recorded positions in B-string, these Genes (including (0, 0)) are appended to the same positions in A-string of O2 and they are deleted in A-string of P2. Step 3.2: Get the numbers of the remaining Genes in A-strings of P1 and P2, n1 and n2 . If n1 ≥ n2 , for O1, it implies that the number of empty positions in A-string of O1 is larger than the number of remaining elements in A-string of P2. Therefore, n1 − n2 empty positions in A-string of O1 are selected randomly and are filled with (0, 0). Then, the remaining elements in A-string of P2 are appended to the remaining empty positions in A-string of O1 seriatim. For O2, n1 ≥ n2 implies that the number of empty positions in A-string of O2 is smaller than the number of remaining elements in A-string of P1. So, n1 − n2 (0, 0) are selected randomly in A-string of O2 and are set to empty. And then, the remaining elements in A-string of P1 are appended to the empty positions in A-string of O2 seriatim; if n1 < n2 , the procedure is reversed. Step 4: Then, two valid offspring O1 and O2 are obtained.

176

9 Mathematical Modeling and Evolutionary Algorithm …

Fig. 9.2 Crossover operator

One example is showed in Fig. 9.2. Step 1: Select a pair of chromosomes P1 and P2 by the selection scheme and initialize two empty offspring: O1 and O2. Step 2: First, the B-strings of O1 and O2 are generated by the following steps: Step 2.1: Compare the B-string of P1 with the B-string of P2, record the second and third elements in B-strings of P1 and P2. Step 2.2: The second and third elements in B-string of P1 in Step 2.1 are appended to the same positions in B-string of O1, while the second and third elements in B-string of P2 in Step 2.1 are appended to the same positions in B-string of O2. The other elements which are the first and fourth elements in B-string of P2 are appended to the same positions in B-string of O1, while the other elements which are the first and fourth elements in B-string of P1 are appended to the same positions in B-string of O2. Step 3: Secondly, in order to match the B-strings of O1 and O2 and avoid getting unreasonable O1 and O2, the A-strings of P1 and P2 are crossovered as follows: Step 3.1: The Genes whose first numbers in A-string of P1 equate 2 or 3 (including (0, 0)) are appended to the same positions in A-string of O1 and they are deleted in A-string of P1. The Genes whose the first numbers in A-string of P2 equate 2 or 3 (including (0, 0)) are appended to the same positions in A-string of O2 and they are deleted in A-string of P2. Step 3.2: In this example, n1 = 6, n2 = 7, n1 < n2 and n2 − n1 = 1. For O1, one (0, 0) in O1 is selected randomly and is set to empty, which is marked out in A-string of O1 in Fig. 9.2 (in this example, the fifth position in A-string of O1 is selected). Then, the remaining elements in A-string of P2 are appended to the empty positions in A-string of O1 seriatim. For O2, one empty position is selected randomly and is filled with (0, 0), which is marked out in A-string of O2 in Fig. 9.2 (in this example, the 13th position in A-string of O2 is selected). Then, the remaining elements in A-string of P1 are appended to the empty positions in A-string of O2

9.3 Evolutionary Algorithm-Based Approach for IPPS

177

seriatim. Step 4: Then, two valid offspring O1 and O2 are obtained (see Fig. 9.2). (3) Mutation: In this chapter, three mutation operators have been used. The first one is two-point swapping mutation, the second one is changing one job’s alternative process plan, and the third one is the mutation of alternative machines. In the evolution procedure, one operator has been chosen randomly in every generation. The procedure of two-point swapping mutation for scheduling is described as follows: Step 1: Select one chromosome P by the selection scheme. Step 2: Select two points in the A-string of P randomly. Step 3: Generate a new chromosome O by interchanging these two elements. The procedure of the second mutation (changing one job’s alternative process plan) for scheduling is described as follows: Step 1: Select one chromosome P by the selection scheme. Step 2: Select one point in the B-string of P randomly. Step 3: Change the value of this selected element to another one in the selection range (the number of alternative process plans). Step 4: Judge the number of the operations of the selected job’s alternative process plan which has been changed. If it increases, a new A-string of chromosome O is generated by changing the margin (0, 0)’s which are selected randomly to the job numbers in the A-string of P seriatim; if it decreases, a new A-string of chromosome O is generated by changing the margin job numbers which are selected randomly in the A-string of P to (0, 0)’s seriatim. The mutation of alternative machines is applied in order to change the alternative machine represented. One element in the A-string is randomly chosen from the selected individual. Then, this element is mutated by altering the machine number (the second number of the Gene) to another one of the alternative machines in the machine set at random. One example of mutation is showed in Fig. 9.3. Above the first broken line, it

Fig. 9.3 Mutation operator

178

9 Mathematical Modeling and Evolutionary Algorithm …

is an example of two-point swapping mutation, the selected two points ((4, 1) and (3, 2)) have been marked out, and O is generated by interchanging (4, 1) and (3, 2). Under the first broken line, it is an example of the mutation of changing one job’s alternative process plan. The selected element 3, which is the fourth element (for job 4) in B-string of P and has been marked out, has been changed to 1. Because the number of operations in the first alternative process plan for job 4 is more than the third one, one (0, 0) which is selected randomly in the A-string of P is changed to (4, 2) in A-string of O. And under the second broken line, it is an example of the mutation of alternative machines, the selected point (1, 1) in A-string of P has been marked out, and O is generated by changing (1, 1) to (1, 2). It means that the selected machine of the third operation of job 1 has changed from the first one to the second one in S 113 (see Sect. 9.4.1).

9.4 Experimental Studies and Discussions 9.4.1 Example Problems and Experimental Results Five experiments are presented to illustrate the effectiveness and performance of the proposed mathematical model and EA-based approach for IPPS. We describe the design of the first and second examples which are constructed by various jobs with several alternative process plans. And the other examples are adopted from some other chapters. In this chapter, the makespan is used as the objective. After formulating the mixed integer programming model to represent the examples as a mathematical model, the solutions are obtained by the proposed EA-based method. The integration model has been compared with the no integration model. No integration model means that there is only one process plan for each job (In this chapter, each job selects the first alternative process plan as its process plan in the no integration model.). The proposed EA-based approach procedure was coded in C ++ and implemented on a computer with a 2.0 GHz Core (TM) 2 Duo CPU. For experimental comparisons under the same condition, the parameters used in the proposed evolutionary search approach were set: the size of the population pop_size was 200, total number of generations max_gen was 50, tournament size b was 2, probability of reproduction operator pr was 0.1, probability of crossover operator pc was 0.8, and probability of mutation operator pm was 0.1. Altogether 20 iterations were executed to eliminate the randomness of the searches in the proposed evolutionary search approach. We chose the solutions which appeared the most times. The algorithm terminated when the number of generations reached to the max_gen

9.4 Experimental Studies and Discussions

9.4.1.1

179

Experiment 1

Experiment 1 involves six jobs and five machines. And the alternative process plans and processing time are given in Table 9.1. Table 9.2 shows the experimental results, and Fig. 9.4 illustrates the Gantt chart of this experiment. The experimental results of Table 9.2 show that the selected process plans in the integration approach are not all of the first plans in Table 9.1, such as the selected process plan of job 1 is its third process plan. Comparing the results between the integration model and the no integration model, the selected process plans of the jobs between them are different, and the makespan of the scheduling of no integration model is worse than that of the integration model. Table 9.1 Alternative process plans of 6 jobs Job

Alternative process plans

Job

Alternative process plans

1

1(10)–3(15)–2(10)–5(20)–4(10)

4

1(6)–3(12)–2(8)–5(12)–4(10)

1(10)–3(22)–4(21)–5(12)

3(10)–1(8)–2(9)–4(12)–5(10)

2(10)–3(20)–5(20)–4(15) 2

1(10)–3(18)–4(12)–5(15)

2(8)–3(12)–1(6)–5(14)–4(8) 5

3(8)–2(12)–1(14)–4(13)–5(8)

3(10)–2(16)–4(8)–5(8)

2(10)–4(13)–3(18)–5(14) 3

3(12)–1(16)–5(10)–4(12)

1(10)–2(15)–4(9)–5(10) 4(6)–3(10)–2(8)–1(10)–5(8)

6

5(6)–2(16)–3(10)–4(10)

1(10)–2(8)–3(14)–4(6)–5(10)

1(9)–2(7)–4(8)–5(8)–3(9)

2(6)–1(12)–3(12)–4(8)–5(10)

5(6)–1(10)–2(8)–3(8)–4(9)

The numbers out parenthesis are the machine numbers; the numbers in parenthesis are the processing time

Table 9.2 Experimental results of experiment 1 Job

Alternative process plans Integration

No integration

1

2(10)–3(20)–5(20)–4(15)

1(10)–3(15)–2(10)–5(20)–4(10)

2

2(10)–4(13)–3(18)–5(14)

1(10)–3(18)–4(12)–5(15)

3

3(12)–1(16)–5(10)–4(12)

3(12)–1(16)–5(10)–4(12)

4

3(10)–1(8)–2(9)–4(12)–5(10)

1(6)–3(12)–2(8)–5(12)–4(10)

5

4(6)–3(10)–2(8)–1(10)–5(8)

1(10)–2(15)–4(9)–5(10)

6

5(6)–1(10)–2(8)–3(8)–4(9)

5(6)–2(16)–3(10)–4(10)

Makespan

92

102

CPU Time (s)

3.23

3.31

180

9 Mathematical Modeling and Evolutionary Algorithm …

Fig. 9.4 Gantt chart of experiment 1 (J1.1 means that the first operation of job 1. makespan = 92)

9.4.1.2

Experiment 2

Experiment 2 involves six jobs and five machines. And the alternative process plans and processing time are given in Table 9.3. In this experiment, each job selects the first alternative process plan as its process plan in the no integration model. Table 9.4 shows the experimental results and Fig. 9.5 illustrates the Gantt chart of this experiment. Comparing the results between the integration model and the no integration model, the selected process plans of the jobs between them are different, and the makespan of no integration model is worse than that of the integration model.

9.4.1.3

Experiment 3

Experiment 3 is adopted from Jain [6]. In this experiment, 6 problems are constructed with 18 jobs and 4 machines. Table 9.5 shows the experimental results, and Fig. 9.6 illustrates the Gantt chart of the first problem in experiment 3. The experimental results of experiment 3 show that the results of the no integration model are worse than that of the integration model. And the integration model can get better scheduling plans. This implies that the research on IPPS is necessary.

9.4.1.4

Experiment 4

Problem 1 There are two problems in experiment 4. The first problem is adopted from Nabil [18]. In this problem, there are four jobs and six different machines in the system, and the alternative machines and processing time are given in Table 9.6. Using the proposed approach, the best value obtained is 17 compared with the value of 18 obtained using the heuristic reported by Nabil [18]. Figure 9.7 illustrates the Gantt chart of this problem.

9.4 Experimental Studies and Discussions

181

Table 9.3 Job-related information and alternative operation sequences Job

Operation no.

Operation for alternative resources (operation no., machine no., processing time)

Alternative operation sequences considering precedence constraints

1

O1 , O2

(O1 , 1, 5), (O1 , 2, 5), (O1 , 4, 6)

O1 –O2

(O2 , 2, 5), (O2 , 5, 6) 2

O3 , O4

(O3 , 3, 6), (O3 , 5, 6)

O3 –O4

(O4 , 2, 5), (O4 , 4, 5), (O4 , 5, 6) 3

O5 , O6 , O7

(O5 , 1, 4), (O5 , 3, 3), (O5 , 4, 5) (O6 , 1, 8), (O6 , 3, 7), (O6 , 5, 8)

O5 –O6 –O7 O6 –O5 –O7

(O7 , 2, 5) 4

O8 , O9 , O10

(O8 , 1, 4), (O8 , 3, 4) (O9 , 2, 8), (O9 , 3, 7)

O8 –O9 –O10 O8 –O10 –O9

(O10 , 4, 5), (O10 , 5, 5) 5

O11 , O12 , O13 , O14

(O11 , 3, 4), (O11 , 5, 3) (O12 , 1, 7), (O12 , 4, 7) (O13 , 1, 8), (O13 , 2, 7), (O13 , 5, 8)

O11 –O12 –O13 –O14 O12 –O11 –O13 –O14 O11 –O13 –O12 –O14

(O14 , 1, 5), (O14 , 4, 6) 6

O15 , O16 , O17 , O18

(O15 , 1, 8), (O15 , 2, 7), (O15 , 4, 8)

O15 –O16 –O17 –O18 O16 –O15 –O17 –O18

(O16 , 3, 5), (O16 , 4, 5) (O17 , 2, 8) (O18 , 1, 7), (O18 , 3, 8), (O15 , 5, 8)

Problem 2 In the second problem, the benchmark problem by Nabil is extended to confirm the effectiveness of the proposed method for large-scale and more complex problems. In this problem, eight sizes that contain different jobs and operations are considered. Table 9.7 shows the experimental results. Figure 9.8 illustrates the Gantt chart of size 1 of this problem. These results reveal that the proposed method can solve complex and large-scale problems effectively.

9.4.1.5

Experiment 5

Problem 1 There are two problems in experiment 5. The first problem is adopted from a benchmark problem proposed by Sundaram and Fu [22], which is constructed with five jobs and five machines. Each job undergoes four different operations in a specified order. Alternative machines for processing the parts are given in Table 9.8, along with the respective processing time.

182 Table 9.4 Experimental results of experiment 2

9 Mathematical Modeling and Evolutionary Algorithm … Job

Alternative process plans Integration

No integration

1

O1 M4 –O2 M5

O1 M1 –O2 M2

2

O3 M3 –O4 M4

O3 M3 –O4 M4

3

O6 M3 –O5 M1 –O7 M2

O5 M3 –O6 M5 –O7 M2

4

O8 M1 –O9 M3 –O10 M5

O8 M1 –O9 M2 –O10 M4

5

O11 M5 –O13 M5 –O12 M1 –O14 M4

O11 M5 –O12 M4 –O13 M5 –O14 M4

6

O15 M2 –O16 M4 –O17 M2 –O18 M1

O15 M1 –O16 M3 –O17 M2 –O18 M3

Makespan

27

33

CPU time (s)

3.20

3.20

O1 means operation 1. M1 means machine 1

Fig. 9.5 Gantt chart of experiment 2 (makespan = 27)

Using the simulated annealing [19], genetic algorithm [17], and this proposed approach (see Fig. 9.9), the best value obtained of all the three approaches is 33 compared with the value of 38 obtained using the heuristic algorithm developed in [22]. The advantage of the GA and proposed approach compared with the SA approach is the availability of multiple solutions that introduces more flexibility

9.4 Experimental Studies and Discussions

183

Table 9.5 Experimental results of experiment 3 Problems

Number of jobs

Makespan Integration

CPU time (s) No integration

Integration

No integration

1

8

520

615

3.28

3.42

2

10

621

831

3.38

3.72

3

12

724

934

3.67

3.91

4

14

809

1004

3.69

4.14

5

16

921

1189

3.73

4.39

6

18

994

1249

4.09

4.69

Fig. 9.6 Gantt chart of the first problem in experiment 3 (makespan = 520) Table 9.6 Experiment data of problem 1 in experiment 4 Alternative machines Job 1

Job 2

Job 3

Job 4

1

2

3

4

5

6

O11

2

3

4

/

/

/

O12

/

3

/

2

4

/

O13

1

4

5

/

/

/

O21

3

/

5

/

2

/

O22

4

3

/

/

6

/

O23

/

/

4

/

7

11

O31

5

6

/

/

/

/

O32

/

4

/

3

5

/

O33

/

/

13

/

9

12

O41

9

/

7

9

/

/

O42

/

6

/

4

/

5

O43

1

/

3

/

/

3

184

9 Mathematical Modeling and Evolutionary Algorithm …

Fig. 9.7 Gantt chart of Problem 1 in experiment 4 (makespan = 17)

Table 9.7 Experiments results of problem 2 in experiment 4 Size

Jobs

Production amount in each job

Operations

Makespan

CPU time (s)

Job 1

Job 2

Job 3

1

8

2

2

2

Job 4 2

24

20

1.27

2

32

10

8

8

6

96

67

9.34

3

64

24

10

20

10

192

136

69.92

4

100

25

25

25

25

300

219

249.83

5

150

30

30

40

50

450

358

1091.44

6

200

50

50

60

40

600

453

2148.69

7

300

80

80

70

70

900

658

7559.00

8

400

100

100

100

100

1200

901

15328.15

into the IPPS system. In the SA approach, only one solution is produced for every execution. Problem 2 In the second problem, the benchmark problem by Sundaram and Fu is extended to confirm the effectiveness of the proposed method for large-scale and more complex problems. The search space becomes much larger than the benchmark problem by the extension of the setting. Table 9.9 shows the setting of the production demands in which eight terms of production are used and the experimental results. Figure 9.10 illustrates the Gantt chart of size 1 of Problem 2 in experiment 5.

9.4 Experimental Studies and Discussions

185

Fig. 9.8 Gantt chart of size 1 of Problem 2 in experiment 4 (makespan = 20) Table 9.8 Sundaram and Fu data Job

Operation 1

Operation 2

Operation 3

1

5(M1), 3(M2)

7(M2)

6(M3)

3(M4), 4(M5)

2

7(M1)

4(M2), 6(M3)

7(M3), 7(M4)

10(M5)

3

4(M1), 5(M2), 8(M3)

5(M4)

6(M4), 5(M5)

4(M5)

4

2(M2), 6(M3)

8(M3)

3(M3), 8(M4)

7(M4), 4(M5)

5

3(M1), 5(M3)

7(M3)

9(M4), 6(M5)

3(M5)

The numbers in parenthesis are the machine numbers

Fig. 9.9 Gantt chart of Problem 1 in experiment 5 (makespan = 33)

Operation 4

50

100

100

100

150

200

300

400

1

2

3

4

5

6

7

8

Jobs

Size

80

60

40

30

15

25

20

10

Job 1

100

70

40

25

15

25

20

10

Job 2

80

50

30

30

20

25

20

10

Job 3

Production amount in each job

60

50

50

35

25

25

20

10

Job 4

Table 9.9 Setting of production demand changes and experimental results

80

70

40

30

25

0

20

10

Job 5

1600

1200

800

600

400

400

400

200

Operations

2028

1537

1021

757

521

467

500

252

Makespan

42705.31

15404.79

4045.25

1149.67

523.27

437.78

592.47

75.11

CPU time (s)

186 9 Mathematical Modeling and Evolutionary Algorithm …

9.4 Experimental Studies and Discussions

187

Fig. 9.10 Gantt chart of size 1 of problem 2 in experiment 5 (makespan = 252)

These results reveal that the proposed method can solve the complex and largescale problems effectively. We also can conclude that the proposed method is effective in generating the near-optimal results under various order environments with precedence constraints. And it can solve IPPS problem effectively.

9.4.2 Discussions Overall, the experimental results indicate that the proposed approach is a very effective and more acceptable approach for IPPS, and the integration model of process planning and scheduling can get better scheduling plans than no integration model. The reasons are as follows. First, the proposed approach considers all the conditions of process planning and scheduling synthetically. Second, in some experiments, the proposed approach can attain better results than other previously developed approaches. This means that the proposed approach has more possibilities to get the best solutions of IPPS problems.

9.5 Conclusion Considering the complementarity of process planning and scheduling, the research has been conducted to develop a mathematical model with an evolutionary algorithmbased approach to facilitate the integration and optimization of these two systems. Process planning and scheduling functions are carried out simultaneously. To improve the optimization performance of the proposed approach, efficient genetic representation and operator schemes have been developed. To verify the feasibility of the proposed approach, a number of experimental studies have been carried out to compare this approach with other previously developed approaches. The experimental results show that the proposed approach is very effective for the IPPS problem

188

9 Mathematical Modeling and Evolutionary Algorithm …

and achieve better overall optimization results. With the model developed in this work, it would be possible to increase the efficiency of manufacturing systems. One future work is to apply the proposed method to practical manufacturing systems. The increased use of this will most likely enhance the performances of future manufacturing systems.

References 1. Benjaafar S, Ramakrishnan R (1996) Modeling, measurement and evaluation of sequencing flexibility in manufacturing systems. Int J Prod Res 34:1195–1220 2. Bierwirth C (1995) Ageneralized permutation approach to job shop scheduling with genetic algorithms. OR Spektrum 17:87–92 3. Garey EL, Johnson DS, Sethi R (1976) The complexity of flow-shop and job-shop scheduling. Math Oper Res 1:117–129 4. Guo YW, Li WD, Mileham AR, Owen GW (2009) Applications of particle swarm and optimization in integrated process planning and scheduling. Robot Comput Integr Manuf 25:280–288 5. Hutchinson GK, Flughoeft KAP (1994) Flexible process plans: their value in flexible automation systems. Int J Prod Res 32(3):707–719 6. Jain A, Jain PK, Singh IP (2006) An integrated scheme for process planning and scheduling in FMS. Int J Adv Manuf Technol 30:1111–1118 7. Kim KH, Egbelu PJ (1998) A mathematical model for job shop scheduling with multiple process plan consideration per job. Prod Plann Control 9(3):250–259 8. Kim YK, Park K, Ko J (2003) A symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling. Comput Oper Res 30:1151–1171 9. Kuhnle H, Braun HJ, Buhring J (1994) Integration of CAPP and PPC—interfusion manufacturing management. Integ Manuf Syst 5(2):21–27 10. Kumar M, Rajotia S (2003) Integration of scheduling with computer aided process planning. J Mater Process Technol 138:297–300 11. Langdon WB, Qureshi A (1995) Genetic programming—computers using “Natural Selection” to generate programs. Technical report RN/95/76, Gower Street, London WCIE 6BT, UK 12. Lee H, Kim SS (2001) Integration of process planning and scheduling using simulation based genetic algorithms. Int J Adv Manuf Technol 18:586–590 13. Li WD, Gao L, Li XY, Guo Y (2008) Game theory-based cooperation of process planning and scheduling. In: Proceeding of CSCWD2008, Xi’an, China, pp 841–845 14. Li XY, Shao XY, Gao L (2008) Optimization of flexible process planning by genetic programming. Int J Adv Manuf Technol 38:143–153 15. Lin YJ, Solberg JJ (1991) Effectiveness of flexible routing control. Int J Flex Manuf Syst 3:189–211 16. Michael P (2005) Scheduling: theory, algorithm, and systems, 2nd ed. Pearson Education Asia Limited and Tsinghua University Press 17. Morad N, Zalzala A (1999) Genetic algorithms in integrated process planning and scheduling. J Intell Manuf 10:169–179 18. Nabil N, Elsayed EA (1990) Job shop scheduling with alternative machines. Int J Prod Res 28(9):1595–1609 19. Palmer GJ (1996) A simulated annealing approach to integrated production scheduling. J Intell Manuf 7(3):163–176 20. Saygin C, Kilic SE (1999) Integrating flexible process plans with scheduling in flexible manufacturing systems. Int J Adv Manuf Technol 15:268–280

References

189

21. Sugimura N, Hino R, Moriwaki T (2001) Integrated process planning and scheduling in holonic manufacturing systems. In: Proceedings of IEEE international symposium on assembly and task planning soft research park, vol 4, Japan, Fukuoka, pp 250–254 22. Sundaram RM, Fu SS (1988) Process planning and scheduling. Comput Ind Eng 15(1–4):296– 307 23. Usher JM, Fernandes KJ (1996) Dynamic process planning—the static phase. J Mater Process Technol 61:53–58

Chapter 10

An Agent-Based Approach for IPPS

10.1 Literature Survey In the early studies of CIMS, it has been identified that IPPS is very important for the development of CIMS [1]. The preliminary idea of IPPS was first introduced by Chryssolouris and Chan Chryssolouris et al. [2, 3]. Beckendorff [4] used alternative process plans to improve the flexibility of manufacturing systems. Khoshnevis and Chen [5] introduced the concept of dynamic feedback into IPPS. The integration model proposed by Zhang and Larsen [6, 7] extended the concepts of alternative process plans and dynamic feedback. It also defined an expression to the methodology of the hierarchical approach. In recent years, in the area of IPPS, the agent-based approach has captured the interest of a number of researchers. Zhang and Xie [8] reviewed the agent technology for collaborative process planning. The focus of the research was on how the agent technology can be further developed in support of collaborative process planning as well as its future research issues and directions in process planning. Wang and Shen [9] provided a literature review on IPPS, particularly on the agent-based approaches for the problem. The advantages of the agent-based approach for scheduling were discussed. Shen and Wang [10] reviewed the research on manufacturing process planning, scheduling as well as their integration. Gu et al. [11] proposed a multi-agent system, where process routes and schedules of a part are accomplished through the contract net bids. IDCPPS [12] is an integrated, distributed, and cooperative process planning system. The process planning tasks are separated into three levels, namely, initial planning, decision-making, and detail planning. The results of these three steps are general process plans, a ranked list of nearoptimal alternative plans and the final detailed linear process plans, respectively. The integration with scheduling is considered at each stage with process planning. Wu and Fuh [13] presented a computerized model that can integrate the manufacturing

© Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_10

191

192

10 An Agent-Based Approach for IPPS

functions and resolve some of the critical problems in distributed virtual manufacturing. This integration model is realized through a multi-agent approach that provides a practical approach for software integration in a distributed environment. Lim and Zhang [14, 15] introduced a multi-agent-based framework for the IPPS problem. This framework can also be used to optimize the utilization of manufacturing resources dynamically as well as provide a platform on which alternative configurations of manufacturing systems can be assessed. Wang and Shen [16] proposed a new methodology of distributed process planning. It focused on the architecture of the new approach, using multi-agent negotiation and cooperation, and on the other supporting technologies such as machining feature-based planning and function block-based control. Wong and Leung [17, 18] developed an online hybrid agent-based negotiation Multi-Agent System (MAS) to integrate process planning with scheduling/rescheduling. With the introduction of the supervisory control into the decentralized negotiations, this approach is able to provide solutions with a better global performance. Shukla and Tiwari [19] presented a bidding-based multi-agent system for solving IPPS. The proposed architecture consists of various autonomous agents capable of communicating (bidding) with each other and making decisions based on their knowledge. Fuji and Inoue [20] proposed a new method in IPPS. A multi-agent learning based integration method was devised in the study to solve the conflict between the optimality of the process plan and the production schedule. In the method, each machine makes decisions about process planning and scheduling simultaneously, and it has been modeled as a learning agent using evolutionary artificial neural networks to realize proper decisions resulting from interactions between other machines. Nejad, Sugimura, Iwamura, and Tanimizu [21] proposed an agentbased architecture of an IPPS system for multiple jobs in flexible manufacturing systems. In the literature of agent-based manufacturing applications, much research applied simple algorithms such as dispatching rules which are applicable for real-time decision-making [10]. These methods are simple and applicable, but they do not guarantee the effectiveness for complex problem in the manufacturing systems. As the efficiency becomes more important in the agent-based manufacturing, the recent research works are trying to combine the agent-based approach with other techniques such as genetic algorithm, neural network, and some mathematical modeling methods [10]. In this research, an agent-based approach with optimization agent and a mathematical model was introduced for improving the generated process plans and scheduling plans.

10.2 Problem Formulation The mathematical model of IPPS is defined here. The most popular criteria for scheduling include makespan, job tardiness, and the balanced level of machine utilization, while manufacturing cost is the major criterion for process planning [22].

10.2 Problem Formulation

193

In this chapter, scheduling is often assumed as job shop scheduling, and the mathematical model of IPPS is based on the mixed-integer programming model of the job shop scheduling problem. In order to solve this problem, the following assumptions are made: (1) Jobs are independent. Job preemption is not allowed and each machine can handle only one job at a time. (2) The different operations of one job can not be processed simultaneously. (3) All jobs and machines are available at time zero simultaneously. (4) After a job is processed on a machine, it is immediately transported to the next machine on its process, and the transmission time is assumed to be negligible. (5) Setup time for the operations on the machines is independent of the operation sequence and is included in the processing times. Based on these assumptions, the mathematical model of the integration of process planning and scheduling is described as follows: The notations used to explain the model are described below: N M Gi ojl Pil k t ijlk cijlk ci Li Ti Ei vijlk A

The total number of jobs; The total number of machines; The total number of alternative process plans of job i; The jth operation in the lth alternative process plan of the job i; The number of operation in the lth alternative process plan of the job i; The alternative machine corresponding to oijl ; The processing time of operation oijl on machine k, t ijlk > 0; The earliest completion time of operation oijl on machine k; The completion time of job i; The lateness of job i; The tardiness of job i; The earliness of job i; The processing cost of operation oijl on machine k; A very large positive number;  Ui =  X il =  Yi jlpqsk =

1 if ci > di : the unit penalty of job i; 0 otherwise

1 the lth flexible process plan of job i is selected 0 otherwise

1 the operation oijl precedes the operation o pqs on machine k  Z i jlk =

Objectives:

0 otherwise 1 if machine k is selected for oi jl ; 0 otherwise

;

194

10 An Agent-Based Approach for IPPS

(1) Minimizing the makespan which is the completion time of last operation of all jobs: Min makespan = Max ci jlk

i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G i ], k ∈ [1, M] (10.1)

Subject to For the first operation in the alternative process plan l of job i: ci1lk + A(1 − X il ) ≥ ti1lk i ∈ [1, N ], l ∈ [1, G i ], k ∈ [1, M]

(10.2)

(2) For the last operation in the alternative process plan l of job i: ci Pil lk − A(1 − X il ) ≤ makespan i ∈ [1, N ], l ∈ [1, G i ], k ∈ [1, M] (10.3) (3) The different operations of one job can not be processed simultaneously: ci jlk − ci( j−1)lk1 + A(1 − X il ) ≥ ti jlk i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G l ], k, k1 ∈ [1, M]

(10.4)

(4) Each machine can handle only one job at a time: ci jlk − c pqsk + A(1 − X il ) + A(1 − X ps ) + AYi jlpqsk ≥ ti jlk i, p ∈ [1, N ], j, q ∈ [1, Pil, ps ], l, s ∈ [1, G i, p ], k ∈ [1, M]

(10.5)

(5) Only one alternative process plan can be selected of job i: 

X il = 1 l ∈ [1, G i ]

(10.6)

l

(6) Only one machine for each operation should be selected: M  k=1

Z i jlk = 1 i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G l ]

(10.7)

10.3 Proposed Agent-Based Approach for IPPS

195

Job Agents Job Agent 2

Job Agent 1

Job Agent n

Job Agent 3

Optimization Agent Machine Agent 1

Machine Agent 2

Machine Agent m

Machine Agent 3

Machine Agents

Resource Database

Knowledge Database

Fig. 10.1 Developed MAS architecture

10.3 Proposed Agent-Based Approach for IPPS 10.3.1 MAS Architecture The architecture of the MAS developed in this study and the relationships between the agents and their subagents are illustrated in Fig. 10.1. In this framework, there are three agents and several databases. The job agents and machine agents are used to represent jobs and machines. The optimization agent is used to optimize alternative process plans and scheduling plans. With the consideration of the scheduling requirements and availability of manufacturing resources, these agents negotiate with each other to establish the actual process plan of every job and the scheduling plans for all jobs. The detailed descriptions of three types of agents are provided in the next section.

10.3.2 Agents Description 10.3.2.1

Job Agent

Job agents represent the jobs to be manufactured on the shop floor. Each agent contains the detailed information of a particular job, which includes the job ID, jobs’ types, quantities, due dates, quality requirements, CAD drawing, tolerance and surface finish requirements, etc. This agent also includes job status. In this study, the following statuses for the job agents are considered: (1) idle: the job agent is idle and waiting for the next manufacturing operations; and (2) manufacturing operation: the

196

10 An Agent-Based Approach for IPPS

job agent is under manufacturing processes on machines. Based on the assumption in Sect. 10.3, when the job is under a manufacturing process on a machine, it cannot be processed by other machines. The function of this agent is to provide the jobs’ information to the MAS. The job agents use the rules from the knowledge database and negotiate with the machine agents to generate all the alternative process plans of each job so they contain the information of alternative process plans. There are three types of flexibility considered in process plans [23, 24]: operation flexibility, sequencing flexibility, and processing flexibility [23]. Operation flexibility [25], also called routing flexibility, relates to the possibility of performing one operation on alternative machines, with possibly distinct processing time and cost. Sequencing flexibility is decided by the possibility of interchanging the sequence of the required operations. Processing flexibility is determined by the possibility of processing the same manufacturing feature with alternative operations or sequences of operations. Better performance in some criteria (e.g., production time) can be obtained through the consideration of these flexibilities [25]. There are many methods used to describe the types of flexibility explained above [26], such as Petri net, and/or graphs and networks. In this research, a network representation proposed by Kim [25] and Sormaz [27] has been adopted here. There are three node types in the network: starting node, intermediate node and ending node [25]. The starting node and the ending node which are dummy ones indicate the start and end of the manufacturing process of a job. An intermediate node represents an operation, which contains the alternative machines that are used to perform the operation and the processing time required for an operation according to the machines. The arrows connecting the nodes represent the precedence between them. OR relationships are used to describe the processing flexibility in which the same manufacturing feature can be processed by different process procedures. If the links following a node are connected by an OR-connector, they only need to traverse one of the OR-links (the links connected by the OR-connector are called OR-links). ORlink path is an operation path that begins at an OR-link and ends as it merges with the other paths, and its end is denoted by a JOIN-connector. For the links that are not connected by OR-connectors, all of them must be visited [25]. Figure 10.2 shows two jobs alternative process plan networks (job 1 and 2) [18]. In the network of Fig. 10.2(2), paths {5, 6} and {7, 8} are two OR-link paths. For the links which are not connected by OR-connectors, such as {6, 7} and {8} in Fig. 10.2(1), all of them must be visited. But they do not have precedence constraint, this means that {6, 7, 8} and {8, 6, 7} are available. In this research, the objective of the process planning problem is the minimization of production time for each job. Adjusted fitness has been used as the objective. In order to calculate fitness [28], the following notations are used to explain the model. N: Gi : S: M:

The total number of jobs; The total number of flexible process plans of the ith job; The size of population; The maximal number of generations;

10.3 Proposed Agent-Based Approach for IPPS

Number of operation Alternative machines

S

197

S

Starting node Lathe 1

1

5

{1,2} [18,22]

{3,5} [12,15]

Processing time

Lathe 2

1 {3,4} [22,25]

OR1

2

5

{3,4} [39,36]

{3,4} [21,23]

Milling Machine 3

OR1

2

5

7

{4,5} [24,22]

{1,2} [24,23]

{3,4} [21,22]

3

6

8

{1,2} [11,10]

{1,2,4} [10,12,15]

{3,5} [45,44]

4

7

3

6

8

{4,5} [31,34]

{1,2} [32,30]

{1,2} [20,19]

{3,4,5} [30,31,29]

{1,5} [32,30]

Milling Machine 4

JOIN 1

JOIN 1

Drilling Machine 5

9

9

{1,2,6} [26,24]

{1,2,6} [27,22] Grinding Machine 6

Ending node

E (1) Process plans of job 1

E Machine agents

(2) Process plans of job 2

Fig. 10.2 Alternative process plan network

t: oijl :

1, 2, 3,…, M generations; The jth operation in the lth flexible process plan of the ith job; The number of operations in the lth flexible process plan Pil : of the ith job; k: The alternative machine corresponding to oijl ; TW (i, j, l, k): The working time of operation ojl on the kth alternative machine; TS(i, j, l, k): The starting time of operation oijl on the kth alternative machine; T (i, l, (j, k 1 ), (j + 1, k 2 )): The transportation time between the k 1 th alternative machine of the oijl and the k 2 th alternative machine of the oi(j + 1)l ; TP(i, t): The production time of ith job in the tth generation; Then the production time is calculated as

198

10 An Agent-Based Approach for IPPS

T P(i, t) =

Pil 

T W (i, j, l, k) +

P il −1

j=1

T T (i, l, ( j, k1 ), ( j + 1, k2 )) i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G i ]

j=1

(10.8) Because each machine can handle only one job at a time, the constraint is T S(i, j2 , l, k) − T S(i, j1 , l, k) > T W (i, j1 , l, k) i ∈ [1, N ], j1 , j2 ∈ [1, Pil ], l ∈ [1, G i ]

(10.9)

Because different operations of one job cannot be processed simultaneously, it becomes the constraint of different processes for one job. T S(i, ( j + 1), l, k2 ) − T S(i, j, l, k1 ) > T W (i, j, l, k1 ) i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G i ]

(10.10)

The objective function is max f (i, t) = 1/T P(i, t)

(10.11)

The fitness function is calculated for each individual in the population as described in Eq. (10.11), and the two constraints are Eqs. (10.9) and (10.10).

10.3.2.2

Machine Agent

The machine agents represent the machines. They read the information from the resource database. Each agent contains the information of the particular machine. The information includes the machine ID, the manufacturing features which this machine can process, the processing time, and the machine status. After the job agents are created, the machine agents negotiate with the job agents and determine the jobs’ operations to be processed on each machine, and the processing time of these operations is also determined at the same time. In this research, the following statuses for the machine agents are considered: (1) idle: the machine agent is idle and waiting for next machining operation; (2) manufacturing operation: the machine is processing one job; and (3) breakdown: the machine has been broken and can not process any jobs. Based on the assumption in Sect. 10.3, when the machine is processing one job, it cannot process other jobs. Each machine agent negotiates with the optimization agent and job agents to get the information that includes the operations’ ID to be processed on them, the processing sequence of these operations and the starting time and ending time of each operation. A scheduling plan is then determined. A scheduling plan determines when and how many jobs have to be manufactured within a given period of time. Therefore, this plan has to be carried out according to the

10.3 Proposed Agent-Based Approach for IPPS

199

current shop floor status. If there are any changes in the shop floor and the determined scheduling plan cannot be carried out, the machine agents need to negotiate with other agents (including job agents and optimization agents) to trigger a rescheduling process.

10.3.2.3

Optimization Agent

The optimization agent is a very important part of the proposed MAS. It can optimize the process plans and scheduling plans to get more effective solutions. In order to accomplish this task, the optimization agent explores the search space with the aid of an evolutionary algorithm, i.e., a Modified Genetic Algorithm (MGA). More details of the MGA can be found in Shao and Li [29]. The optimization agent implements the MGA on the IPPS problem in the following steps: Step 1: Step 2: Step 3: Step 4:

Set up the parameters of MGA for the optimization of process planning, set up i = 1; Based on the generation rules, initialize population randomly with PPsize alternative process plan individuals of job i; Evaluate the initial population: calculate the objective function presented in Eq. (10.11) max f (i, t) = 1/T P(i, t); Generate a new population: Step 4.1: Selection: the tournament selection scheme has been used for selection operation. In tournament selection, a number of individuals are selected randomly (dependent on the tournament size, typically between 2 and 7) from the population and the individual with the best fitness is selected; Step 4.2: Crossover: the crossover operator with a user-defined crossover probabilistic is used for process planning crossover operation; Step 4.3: Mutation: the mutation operator with a user-defined mutation probabilistic is used for process planning mutation operation;

Step 5:

Is the terminate condition satisfied? If yes: go to Step 6; Else: go to Step 3; Step 6: Save s near-optimal alternative process plans of job i in PP_i[s], and set i = i + 1; Step 7: If (i > N): Then go to Step 8; Else: go to Step 2; Step 8: Set up the parameters of MGA for the optimization of IPPS; Step 9: Select the li th alternative process plan from PP_i[s] of job i, i ∈ [1, N ]; Step 10: Based on the generation rules, initialize population randomly with SC size alternative process plan individuals of IPPS;

200

10 An Agent-Based Approach for IPPS

Step 11: Evaluate the initial population: calculate the objective function presented in Eq. (10.1); Step 12: Generate a new population of IPPS: Step 12.1: Selection: use the same selection operator in Step 4.1; Step 12.2: Crossover: the crossover operator with a user-defined crossover probabilistic is used for IPPS crossover operation; Step 12.3: Mutation: the mutation operator with a user-defined mutation probabilistic is used for IPPS mutation operation; Step 13: Is the terminate condition satisfied? If yes: go to Step 14; Else: go to Step 11; Step 14: Output the individuals from PP_i[l i ], i ∈ [1, N ], and output the individual of IPPS; Step 15: Decode the individuals to attain the process plan of each job, and the scheduling plan After applying the above procedure, the optimization agent generates the optimal or near-optimal process plan of each job and the scheduling plan.

10.4 Implementation and Experimental Studies 10.4.1 System Implementation The proposed approach has been implemented in a simulation manufacturing system and is illustrated in Fig. 10.3. Microsoft Visual C++ programming language has been used to implement the framework developed in this study, and Microsoft Access is used as the database to store information (e.g., resource and knowledge databases). The agents are executed on three hosts. The inter-agent communication is based on the point to point method which is using TCP/IP protocol, and is managed by the Knowledge Query and Manipulation Language (KQML) [30]. All messages in this research are compliant with a set of standard performatives of KQML. And, Windows Sockets which is supported by Microsoft Foundation Classes (MFC) is used to implement the inter-agent communication. The job agents and machine agents are used to represent jobs and machines. The optimization agent is used to optimize alternative process plans and scheduling plans. In consideration of the scheduling requirements and availability of manufacturing resources, these agents negotiate with each other to establish the actual process plan of every job and the scheduling plans. The optimization agent is shown in Fig. 10.4.

10.4 Implementation and Experimental Studies

201

Job n

Job 1

Job n

Job 1

Machine 1

Optimization Agent

Job Agents

Internet/Intranet

Resource Database

Fig. 10.3 Simulation manufacturing system

Fig. 10.4 Optimization agent of simulation system

Machine m

Machine Agents

Agent Platform

Knowledge Database

202

10 An Agent-Based Approach for IPPS

10.4.2 Experimental Results and Discussion In order to illustrate the effectiveness and performance of the proposed agent-based approach, we consider three experimental case studies. The MGA parameters for process planning and scheduling are given in Table 10.1. The algorithm terminates when the number of generations reaches to the maximum value.

10.4.2.1

Experiment 1

Experiment 1 has been adopted from Fuji et al. [20]. In this experiment, there are two problems. The first problem, which has been adopted from a benchmark problem proposed by Sundaram and Fu [31], is constructed with five jobs and five machines. The makespan is used as the objective. Each job undergoes four different operations in a specified order. Alternative machines for processing the parts are given in Table 10.2, along with the respective processing times. Using the Simulated Annealing (SA) [32], genetic algorithm (GA) [33], and this proposed approach, the best value obtained of all the three approaches is 33 compared with the value of 38 obtained using the heuristic algorithm developed in [31]. The advantage of the GA and the proposed approach compared with the SA approach is Table 10.1 MGA parameters

Parameters

Process planning

Scheduling

The size of the population

100

100

Total number of generations

100

100

Tournament size

2

2

Probability of reproduction operation

0.10

0.10

Probability of crossover operation

0.90

0.80

Probability of mutation operation

0.15

0.10

Table 10.2 Sundaram and Fu data (The number in parenthesis are the machine numbers) Job

Operation 1

Operation 2

Operation 3

Operation 4

1

5(M1), 3(M2)

7(M2)

6(M3)

3(M4), 4(M5)

2

7(M1)

4(M2), 6(M3)

7(M3), 7(M4)

10(M5)

3

4(M1), 5(M2),8(M3)

5(M4)

6(M4), 5(M5)

4(M5)

4

2(M2), 6(M3)

8(M3)

3(M3), 8(M4)

7(M4), 4(M5)

5

3(M1), 5(M3)

7(M3)

9(M4), 6(M5)

3(M5)

10.4 Implementation and Experimental Studies

203

the availability of multiple solutions that introduces more flexibility into the IPPS system. In the SA approach, only one solution is produced for every execution. In the second problem, the benchmark problem by Sundaram and Fu [31] has been extended to confirm the effectiveness of the proposed method for more complex and large-scale problems. The search space becomes much larger than the benchmark problem by the extension of the setting. Table 10.3 shows the setting of the production demand in which three terms of production are used. Table 10.4 shows the experimental results and the comparisons with the methods in Fuji et al. [20]. Figure 10.5 illustrates Gantt charts of Term 1, and Fig. 10.6 shows the convergence curves of the proposed approach in three terms. Based on the experimental results of Experiment 1, the best solution found by the proposed method is not detected using the method in Fuji et al. [20]. The proposed method can get better scheduling plans. And from Fig. 10.6, we can conclude that this method has very fast evolution speed and good search capacity. These results reveal that the proposed method is more effective in more complex and larger scale problems than other methods. Table 10.3 Setting of production demand changes Term

Jobs

Production amount in each job Job 1

Job 2

Job 3

Job 4

Job 5

1

5

20

20

20

20

20

2

4

25

25

25

25

0

3

5

15

15

20

25

25

Table 10.4 Experimental results of this problem (the data which is marked by * is adopted from Fuji et al. [20]) Terms

Makespan Proposed method

Method in Fuji*

Morad*

Integrated*

1

499

500

509

513

2

468

481

481

488

3

521

522

526

534

Fig. 10.5 Gantt charts of term 1 (Makespan = 499)

204

10 An Agent-Based Approach for IPPS

Fig. 10.6 Convergence curves of the proposed method in three terms

10.4.2.2

Experiment 2

Experiment 2 has been adopted from Chan et al. [34]. In this experiment, the problem is constructed with five jobs and three machines. The lot size for the jobs is 10, and the makespan is used as the objective. Table 10.5 shows the experimental results, and Fig. 10.7 illustrates the Gantt chart of this problem. Table 10.5 Experimental results of experiment 2 (the data which is marked by * is adopted from Chan et al. [34]) Makespan

Proposed method

Chan*

Kumar [35]

Lee [36]

350

360

420

439

Fig. 10.7 Gantt chart of experiment 2 (Makespan = 350)

10.4 Implementation and Experimental Studies

205

Based on the experimental results of Experiment 2, the best solution found by the proposed approach is unable to be identified using the approach in Chan et al. [34]. Therefore, the proposed approach can get better scheduling plans.

10.4.2.3

Experiment 3

Experiment 3 has also been adopted from Chan et al. [34]. In this experiment, the problem is constructed with one hundred jobs and ten machines. The makespan is used as the objective. Table 10.6 shows the experimental results, and Fig. 10.8 illustrates the Gantt chart of this problem. Based on the experimental results of Experiment 3, the best solution found by the proposed approach is unable to be found using the approach in Chan et al. [34]. The proposed approach can get better scheduling plans.

10.4.3 Discussion Overall, the experimental results indicate that the proposed approach is a more acceptable approach for IPPS. The reasons are as follows. First, the proposed approach considers all the conditions of process planning and scheduling synthetically. Second, the proposed approach obtains better results than other previously developed approaches.

10.5 Conclusion Considering the complementary roles of process planning and scheduling, the research has been conducted to develop an agent-based approach to facilitate the integration and optimization of these two systems. Process planning and scheduling functions are carried out simultaneously. An optimization agent based on an evolutionary algorithm has been developed to optimize and realize the proper decisions resulting from interactions between the agents. To verify the feasibility of the proposed approach, a number of experimental studies have been carried out to compare this approach and other previously developed approaches. The experimental results show that the proposed approach is very effective for the IPPS problem and achieve better overall optimization results. With the new method developed in this work, it would be possible to increase the efficiency of manufacturing systems. One future work is to use the proposed method to practical manufacturing systems. The increased use of this approach will most likely enhance the performances of future manufacturing systems.

Proposed method

169

Crossover/Mutation rates

Makespan

267

Single

SGA* 259

1% 272

2% 276

3% 298

5%

290

10%

Table 10.6 Experimental results of experiment 3 (the data which is marked by * is adopted from Chan et al. [34])

300

25%

291

50%

286

80% 229

GADG*

206 10 An Agent-Based Approach for IPPS

References

207

Fig. 10.8 Gantt chart of experiment 3 (Makespan = 169)

References 1. Tan W, Khoshnevis B (2000) Integration of process planning and scheduling—a review. J Intell Manuf 11:51–63 2. Chryssolouris G, Chan S (1985) An integrated approach to process planning and scheduling. Ann CIRP 34(1):413–417 3. Chryssolouris G, Chan S, Cobb W (1984) Decision making on the factory floor: An integrated approach to process planning and scheduling. Robot Comput Integr Manuf 1(3–4):315–319 4. Beckendorff, U., Kreutzfeldt, J., & Ullmann, W. (1991). Reactive workshop scheduling based on alternative routings. In: Proceedings of a conference on factory automation and information management, pp 875–885 5. Khoshnevis B, Chen QM (1989) Integration of process planning and scheduling function. In: Proceedings of IIE integrated systems conference and society for integrated manufacturing conference, pp 415–420 6. Larsen NE (1993) Methods for integration of process planning and production planning. Int J Comput Integr Manuf 6(1–2):152–162 7. Zhang HC (1993) IPPM— A prototype to integrated process planning and job shop scheduling functions. Annals of the CIRP 42(1):513–517 8. Zhang WJ, Xie SQ (2007) Agent technology for collaborative process planning: a review. Int J Adv Manuf Technol 32:315–325 9. Wang LH, Shen WM, Hao Q (2006) An overview of distributed process planning and its integration with scheduling. Int J Comput Appl Technol 26(1–2):3–14 10. Shen WM, Wang LH, Hao Q (2006) Agent-based distributed manufacturing process planning and scheduling: a state-of-the-art survey. IEEE Trans Sys Man Cybern Part C: Appl Rev 36(4):563–577 11. Gu P, Balasubramanian S, Norrie D (1997) Bidding-based process planning and scheduling in a multi-agent system. Comput Ind Eng 32(2):477–496 12. Chan FTS, Zhang J, Li P (2001) Modelling of integrated, distributed and cooperative process planning system using an agent-based approach. Proc Inst Mech Eng, Part B: J Eng Manuf 215:1437–1451 13. Wu SH, Fuh JYH, Nee AYC (2002) Concurrent process planning and scheduling in distributed virtual manufacturing. IIE Trans 34:77–89

208

10 An Agent-Based Approach for IPPS

14. Lim MK, Zhang Z (2003) A multi-agent based manufacturing control strategy for responsive manufacturing. J Mater Process Technol 139:379–384 15. Lim MK, Zhang DZ (2004) An integrated agent-based approach for responsive control of manufacturing resources. Comput Ind Eng 46:221–232 16. Wang LH, Shen WM (2003) DPP: An agent-based approach for distributed process planning. J Intell Manuf 14:429–439 17. Wong TN, Leung CW, Mak KL, Fung RYK (2006) Integrated process planning and scheduling/rescheduling—an agent-based approach. Int J Prod Res 44(18–19):3627–3655 18. Wong TN, Leung CW, Mak KL, Fung RYK (2006) Dynamic shopfloor scheduling in multiagent manufacturing system. Expert Syst Appl 31:486–494 19. Shukla SK, Tiwari MK, Son YJ (2008) Bidding-based multi-agent system for integrated process planning and scheduling: A data-mining and hybrid Tabu-SA algorithm-oriented approach. Int J Adv Manuf Technol 38:163–175 20. Fuji N, Inoue R, Ueda K (2008) Integration of process planning and scheduling using multiagent learning. In: Proceeding of 41st CIRP conference on manufacturing systems, pp 297–300 21. Nejad HTN, Sugimura N, Iwamura K, Tanimizu Y (2008) Agent-based dynamic process planning and scheduling in flexible manufacturing system. In: Proceeding of 41st CIRP conference on manufacturing systems, pp 269–274 22. Li, W. D., Gao, L., Li, X. Y., & Guo, Y. (2008a). Game theory-based cooperation of process planning and scheduling. In: Proceeding of CSCWD, pp. 841–845 23. Li WD, McMahon CA (2007) A simulated annealing-based optimization approach for integrated process planning and scheduling. Int J Comput Integr Manuf 20(1):80–95 24. Saygin C, Kilic SE (1999) Integrating flexible process plans with scheduling in flexible manufacturing systems. Int J Adv Manuf Technol 15:268–280 25. Kim YK, Park K, Ko J (2003) A symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling. Comput Oper Res 30:1151–1171 26. Catron AB, Ray SR (1991) ALPS-A language for process specification. Int J Comput Integr Manuf 4:105–113 27. Sormaz D, Khoshnevis B (2003) Generation of alternative process plans in integrated manufacturing systems. J Intell Manuf 14:509–526 28. Li XY, Shao XY, Gao L (2008) Optimization of flexible process planning by genetic programming. Int J Adv Manuf Technol 38:143–153 29. Shao XY, Li XY, Gao L, Zhang CY (2009) Integration of process planning and scheduling—a modified genetic algorithm-based approach. Comput Oper Res 36:2082–2096 30. Liu SP, Zhang J, Rao YQ, Li PG (2000) Construction of communication and coordination mechanism in a multi-agent system. In: Proceedings of 17th international conference computer aided production engineering, pp 28–30 31. Sundaram RM, Fu SS (1988) Process planning and scheduling. Comput Ind Eng 15(1–4):296– 307 32. Palmer GJ (1996) A simulated annealing approach to integrated production scheduling. J Intell Manuf 7(3):163–176 33. Morad N, Zalzala A (1999) Genetic algorithms in integrated process planning and scheduling. J Intell Manuf 10:169–179 34. Chan FTS, Chuang SH, Chan LY (2008) An introduction of dominant genes in genetic algorithm for FMS. Int J Prod Res 46(16):4369–4389 35. Kumar R, Tiwari MK, Shankar R (2003) Scheduling of flexible manufacturing systems: an ant colony optimization approach. Proc Inst Mech Eng, Part B: J Eng Manuf 217:1443–1453 36. Lee DY, DiCesare F (1994) Scheduling flexible manufacturing systems using petri nets and heuristic search. IEEE Trans Robot Autom 10(2):123–132

Chapter 11

A Modified Genetic Algorithm Based Approach for IPPS

11.1 Integration Model of IPPS In this section, the IPPS model is introduced. This model is illustrated in Fig. 11.1. The basic integration methodology of this model is to utilize the advantages of NLPP (alternative process plans) and DPP (hierarchical approach). This integration model is based on the concurrent engineering principle, where the Computer-Aided Process Planning (CAPP) and scheduling systems are working simultaneously. In the whole integration decision-making phase, this model gives expression to interactive, collaborative, and cooperative working. And it also exploits the flexibility of alternative process plans. The detailed working steps of this model are given as follows: Step 1: The CAPP system is working based on the ideal shop floor resources, and generates all the initial alternative process plans for each job. Shop floor resource module provides the current shop floor status to the CAPP system. Step 2: Based on the shop floor resource information by the given optimization criteria, the CAPP system optimizes all the alternative process plans and selects s (s is determined by the user of the system, and it is in the range of 3–5) near-optimal process plans for each job [1]. Because there may be many alternative process plans for each job, this step is to filter out the poor process plans without affecting the flexibility of the model very much, but to avoid the combinational-explosive problem effectively. Step 3: The integration of process planning (use the selected process plans) and scheduling is optimized based on the current shop floor status, generating the optimal scheduling plan, and selecting one optimal process plan for each job from the selected process plans in Step 2. Step 4: The CAPP system is used to generate the detailed process plan for each job, and the scheduling system is used to generate a detailed scheduling plan.

© Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_11

209

210

11 A Modified Genetic Algorithm Based Approach for IPPS

Fig. 11.1 Integration model

Through the working steps, the advantages of NLPP and DPP are utilized effectively in the integration model. CAPP and scheduling systems are working simultaneously, and the flexibility of alternative process plans remain.

11.2 Representations for Process Plans and Schedules There are three types of flexibility considered in process plans [2, 3]: operation flexibility, sequencing flexibility, and processing flexibility [2]. Operation flexibility [4], also called routing flexibility, relates to the possibility of performing one operation on alternative machines, with possibly distinct processing time and cost. Sequencing flexibility is decided by the possibility of interchanging the sequence of the required operations. Processing flexibility is determined by the possibility of processing the same manufacturing feature with alternative operations or sequences of operations. Better performance in some criteria (e.g., production time) can be obtained through the consideration of these flexibilities [4].

11.2 Representations for Process Plans and Schedules

211

There are many methods used to describe the types of flexibility explained above [5], such as Petri net, and/or graphs and networks. In this research, a network representation proposed by Kim [4] and Sormaz [6] is adopted here. There are three node types in the network: starting node, intermediate node, and ending node [4]. The starting node and the ending node which are dummy ones indicate the start and the end of the manufacturing process of a job. An intermediate node represents an operation, which contains the alternative machines that are used to perform the operation and the processing time required for the operation according to the machines. The arrows connecting the nodes represent the precedence between them. OR relationships are used to describe the processing flexibility in which the same manufacturing feature can be processed by different process procedures. If the links following a node are connected by an OR-connector, they only need to traverse one of the OR-links (the links connected by the OR-connector are called OR-links). OR-link path is an operation path that begins at an OR-link and ends as it merges with the other paths, and its end is denoted by a JOIN-connector. For the links that are not connected by OR-connectors, all of them must be visited [4]. Figure 11.2 shows three jobs’ alternative process plan networks (jobs 1, 3, 5, and jobs 2, 4, 6 will be given in Sect. 11.4) which are used in Sect. 11.4. In the network of Fig. 11.2(1), paths {2, 3, 4}, {5, 6, 7}, and {5, 8} are three OR-link paths. An OR-link path can definitely contain the other OR-link paths, e.g., paths {6, 7} and {8}. In this chapter, scheduling is often assumed as job shop scheduling [7]. In solving this scheduling problem, the following assumptions are made [2, 4]: (1) Job preemption is not allowed and each machine can handle only one job at a time. (2) The different operations of one job cannot be processed simultaneously. (3) All jobs and machines are available at time zero simultaneously. (4) After a job is processed on a machine, it is immediately transported to the next machine on its process, and the transportation time among machines is constant. (5) Setup time for the operations on the machines is independent of operation sequence and is included in the processing times (see Fig. 11.2). A Gantt chart has been popularly used to represent a schedule of a group of parts. In the Gantt chart, the order in which the parts and their operations are carried out is laid out, and the dependencies of the tasks are managed. X-axis of the Gantt chart represents time. Each row in Y-axis represents a machine and the specific arrangement for the operations of the parts on the machine. In this chapter, the Gantt chart is used to represent the schedule.

212

11 A Modified Genetic Algorithm Based Approach for IPPS

Fig. 11.2 Alternative process plans networks

11.3 Modified GA-Based Optimization Approach 11.3.1 Flowchart of the Proposed Approach Figure 11.3 shows the flowchart of the proposed method. First, the CAPP system gives alternative process plans. They are optimized by GA and the near-optimal process plans are found. The next step is to select s near-optimal process plans. And

11.3 Modified GA-Based Optimization Approach Fig. 11.3 Flowchart of the proposed approach

213 Alternative process plans Optimize process plans by GA Near optimal process plans Select process plans Optimize integration of process plan and scheduling by GA Optimized process plan for each job and scheduling plan

then, the integration of process plan and scheduling is optimized by GA. Finally, the optimized process plan for each job and the scheduling plan can be determined.

11.3.2 Genetic Components for Process Planning 11.3.2.1

Encoding and Decoding

Each chromosome in process planning population consists of two parts with different lengths as shown in Fig. 11.4 The first part of the chromosome is the process plan string, and is made up of Gene. Gene is a structure, made up of two numbers. The first number is the operation. It can be all the operations for a job, even those that may not be performed because of alternative operation procedures. The second number is the alternative machine, which is the ith element of which represents the machine on which the operation corresponding to the ith element of part 1 is processed. The second part of the chromosome is the OR string, and is made up of discrimination values. The discrimination value encodes OR-connectors (see Fig. 11.2) as an integer in the decimal system. It is relevant to the process plan string to decide which OR-link is chosen. Figure 11.4 shows an example of individual job 1 (see Fig. 11.2). Taking Gene (2, 8), for example, 2 is the operation of job 1; 8 is the alternative machine, which is corresponding to operation 2. Part 1 (process plan string) of the chromosome

Fig. 11.4 Individual of process plan

214

11 A Modified Genetic Algorithm Based Approach for IPPS

shown in Fig. 11.4 is made up of nine Genes; part 2 (OR string) is made up of two discrimination values. The encoding is directly decoded. The selection of the OR-link paths which contain operations and the corresponding machines are decided by the interpretation of part 2 of the chromosome. And then the orders appearing in the resulting part 1 are interpreted as an operation sequence and the corresponding machining sequence for a job. In the above encoding example, the operation sequence together with the corresponding machining sequence is (1, 2)-(2, 8)-(3, 1)-(4, 6)-(9, 3).

11.3.2.2

Initial Population and Fitness Evaluation

Initial population: In order to operate the evolutionary algorithm, an initial population is needed. The generation of the initial population in GA is usually done randomly. However, when generating the individuals for an initial population, a feasible operation sequence in a process plan has to be taken into account. Feasible operation sequence means that the order of elements in the used encoding does not break constraints on precedence relations of operations [4]. As mentioned above, a method has been proposed to generate a random and feasible chromosome. The procedure of the method is as follows [1]: Step 1: The process plan string of the initial chromosome contains all the alternative operations, and the sequence of operations is fixed. Step 2: The second number of process plan string is created by randomly assigning a machine in the set of machines that can perform the operation placed at the corresponding position in the process plan string. Step 3: The OR string of the initial chromosome, which represents OR-link paths, is initiated by randomly generating an integer for each component of this part. The selection range of each discrimination value is decided by the number of OR-link paths that are controlled by this value. For example, if it has three OR-link paths, the selection range of the discrimination value is the random integer in [4, 5] Fitness evaluation: The objective of the alternative process planning is to minimize the production time (containing working time and transportation time) in the given condition. Adjusted fitness has been used as the objective. In order to calculate fitness [1], the following notations are used to explain the model. N Gi S M t oijl

The total number of jobs; The total number of flexible process plans of the ith job; The size of population; The maximal number of generations; 1, 2, 3, …, M generations; The jth operation in the lth flexible process plan of the ith job;

11.3 Modified GA-Based Optimization Approach

215

Pil

The number of operations in the lth flexible process plan of the ith job; k The alternative machine corresponding to oijl ; TW (i, j, l, k) The working time of operation oijl on the kth alternative machine; TS(i, j, l, k) The starting time of operation oijl on the kth alternative machine; TT (i, l, (j, k 1 ), (j + 1, k 2 )) The transportation time between the k 1 th alternative machine of the oijl and the k 2 th alternative machine of the oi(j+1)l ; TP(i, t) The production time of ith job in the tth generation; Then the production time is calculated as T P(i, t) =

pi j 

pil −1

T W (i, j, l, k) +

j=1



T T (i, l, ( j, k1 ), ( j+1, k2 ))

j=1

i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G i ]

(11.1)

Because each machine can handle only one job at a time, the constraint is T S(i, j2 , l, k) − T S(i, j1 , l, k) > T W (i, j1 , l, k), i ∈ [1, N ], j1 , j2 ∈ [1, Pil ], l ∈ [1, G]

(11.2)

Because different operations of one job cannot be processed simultaneously, it becomes the constraint of different processes for one job. T S(i, ( j + 1), l, k2 ) − T S(i, j, l, k1 ) > T W (i, j, l, k1 ) i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G i ]

(11.3)

The objective function is max f (i, t) =

1 T P(i, t)

(11.4)

The fitness function is calculated for each individual in the population as described in Eq. (11.4), and the two constraints are Eqs. (11.2) and (11.3).

11.3.2.3

Genetic Operations for Process Planning

In order to result in excellent individuals residing in the population, it is important to employ good operators for dealing with the problem effectively and efficiently. The GA operators can be generally divided into three classes: reproduction, crossover, and mutation. And in each class, a large number of operators have been developed.

216

11 A Modified Genetic Algorithm Based Approach for IPPS

Reproduction: The tournament selection scheme has been used for reproduction operation. In tournament selection, a number of individuals are selected randomly (dependent on the tournament size, typically between 2 and 7) from the population and the individual with the best fitness is chosen for reproduction. The tournament selection approach allows a tradeoff to be made between the exploration and exploitation of the gene pool [8]. This scheme can modify the selection pressure by changing the tournament size. Crossover: Point crossover has been used as the crossover operator in this study. Each part of the selected chromosomes executes the crossover operation distinguishingly. This crossover generates feasible offspring chromosomes that are within the precedence restrictions and avoids the duplication or omission of operations as follows. The cut point is chosen randomly and the substring before the cut point in one parent (P1) is passed on to the same position as in the offspring (O1). The other part of the offspring (O1) is made up of the substring after the cut point in the other parent (P2). The other offspring (O2) is made up of the substring before the cut point in one parent (P2) and the substring after the cut point in the other parent (P1). An example of the crossover is presented in Fig. 11.5, where in order to express clearer, two P1s are figured out and the cut point is marked out. Each part of the chromosome executes the crossover operation distinguishingly. The crossover operator produces feasible individuals since both parents are feasible and offspring are created without violating the feasibility of the parents. Mutation: Point mutation has been used as the mutation operator in this study. Each of the selected chromosomes is mutated as follows. First, a point mutation scheme is applied in order to change the alternative machine represented in a Gene (see Fig. 11.4). The Gene is randomly chosen from the selected chromosome. Then, the second element of Gene is mutated by altering the machine number to another one of the alternative machines at random. Second, the other mutation is carried out to alter the OR-link path. This is associated with part 2 of the chromosome. A discrimination value is randomly chosen from the selected chromosome. Then, it

Fig. 11.5 Crossover for process planning

11.3 Modified GA-Based Optimization Approach

217

Fig. 11.6 Mutation for process planning

is mutated by changing its value in the selection range randomly. In the example depicted in Fig. 11.6, the mutation point is marked out. Gene (5, 3) has changed into (5, 5), and the selected discrimination value has changed from 1 to 2.

11.3.3 Genetic Components for Scheduling 11.3.3.1

Encoding and Decoding

Each chromosome in the scheduling population consists of two parts with different length as shown in Fig. 11.7. The first part of the chromosome is the scheduling plan string. In this study, the scheduling encoding is an operation-based representation with job numbers. It is represented by a permutation of the operations. It is natural in representing the operation as a sequence and then the crucial information containing parents can be easily passed on to the offspring. The job numbers are used to represent the operations of the jobs. The different appearances of this number in the chromosome represent the different operations of the job, and the sequence of the appearances of this number is the same as the sequence of the operations of the job. It is assumed that there are n jobs, and q is the number of operations of the process plan, which has the most operations among all the alternative process plans of n jobs. The length of the scheduling plan string is equal to n × q. The second part of the chromosome is the process plan string. The positions from 1 to n in this string represent the job from 1 to n. The number in the ith position represents the alternative process plan of the ith job chosen. The number of appearances of i in the scheduling plan string is equal to the number of operations of the alternative process plan which has been chosen. Based on this principle, the composition elements of the scheduling plan string are determined. If the number of elements cannot attain n × q, all the other elements are filled with 0. So, the scheduling plan string is made up of job numbers and 0. One scheduling plan string is generated by arraying all the elements randomly. And the process plan string is generated by choosing the alternative process plan randomly for every job.

Fig. 11.7 Individual of scheduling plan

218

11 A Modified Genetic Algorithm Based Approach for IPPS

Table 11.1 An example of 6 jobs and 3 alternative process plans for each job Job

3 alternative process plans

Job

3 alternative process plans

1

(1,2)-(5,3)-(8,7)-(9,8)

4

(6,1)-(8,5)-(9,2)

(1,2)-(5,3)-(8,7)-(9,3)

(6,1)-(7,6)-(9,2)

(1,4)-(5,3)-(8,7)-(9,8) 2

(1,2)-(5,3)-(8,7)-(9,8)

(1,3)-(4,6)-(5,1)-(9,2) 5

(1,2)-(4,6)-(8,7)-(9,8)

(1,2)-(2,3)-(4,6)-(5,7)-(9,3)

(1,2)-(5,3)-(8,7)-(9,3) 3

(1,3)-(2,6)-(3,2)-(9,2)

(1,2)-(2,3)-(3,2)-(9,3) (1,2)-(2,3)-(3,1)-(9,3)

6

(1,2)-(2,3)-(3,2)-(9,3)

(1,3)-(2,4)-(3,3)-(9,2)

(1,2)-(2,3)-(4,8)-(9,3)

(1,3)-(4,6)-(5,1)-(9,2)

(1,2)-(6,1)-(7,7)-(8,8)-(9,3)

Table 11.1 shows an example of 6 jobs and each job has 3 alternative process plans. Figure 11.7 shows an individual scheduling plan for this example. In this example, n is equal to 6, and q is equal to 5. Therefore, the scheduling plan string is made up of 30 elements and the process plan string is made up of six elements. For job 1, the first alternative process plan is chosen, with four operations in the process plan. The four elements of the scheduling plan string are 1. For job 2, the second alternative process plan is chosen, with four operations in the process plan. The four elements of the scheduling plan string are 2. For job 3, the third alternative process plan is chosen, with four operations in the process plan. The four elements of the scheduling plan string are 3. For job 4, the second alternative process plan is chosen, with three operations in the process plan. The three elements of the scheduling plan string are 4. For job 5, the second alternative process plan is chosen, with five operations in the process plan. The five elements of the scheduling plan string are 5. For job 6, the first alternative process plan is chosen, with four operations in the process plan. The four elements of the scheduling plan string are 6. Therefore, the scheduling plan string is made up of four 1s, four 2s, four 3s, three 4s, five 5s, and four 6s. The other elements of this string are 0, and the number of 0 is equal to 6 = (30 − 4 − 4 − 4 − 3 − 5 − 4). And all these elements are arrayed randomly to generate a scheduling plan string. The permutations can be decoded into semi-active, active, non-delay, and hybrid schedules. The active schedule is adopted in this research. Recall that at this decoding stage, a particular individual of a scheduling population has been determined, that is, a fixed alternative process plan for each job is given. The notations used to explain the procedure are described below: m oij asij sij pij

The total number of machines; The jth operation of the ith job; The allowable starting time of operation oij The earliest starting time of operation oij ; The processing time of operation oij ;

11.3 Modified GA-Based Optimization Approach

219

t xyi The transportation time between the machine x of pre-operation and machine y of the current operation of the ith job cij The earliest completion time of operation oij , i.e. cij = sij + pij ; The procedure of decoding is as follows: Step 1: Generate the chromosome of machines based on the job chromosome. Step 2: Determine the set of operations for every machine: M a = {oij }, 1 ≤ a ≤ m. Step 3: Determine the set of machines for every job: JM d = {machine}, 1 ≤ d ≤ N. Step 4: The allowable starting time for every operation: asij = ci(j−1) + t xyi (oij ∈ M a , x, y ∈ JM d ), ci(j−1) is the completion time of the pre-operation of oij for the same job. Step 5: Check the idle time of the machine of oij , and get the idle ranges [t_s, t_e], check these ranges in turn (if: max(asij , t_s) + pij ≤ t_e, where the earliest starting time is sij = t_s, else: check the next range), if there is no range satisfying this condition: sij = max(asij , c(oij − 1)), c(oij − 1) is the completion time of the pre-operation of oij for the same machine. Step 6: The completion time of every operation: cij = sij + pij . Step 7: Generate the sets of starting time and completion time for every operation of each job: Td(sij , cij ), 1 ≤ d ≤ N. In the procedure, the sets of starting time and completion time for every operation of each job can be obtained. The sets are one scheduling plan for the job shop.

11.3.3.2

Initial Population and Fitness Evaluation

The encoding principle in this study is an operation-based representation. It cannot break the constraints on precedence relations of operations. The initial population is generated based on the encoding principle. In this chapter, two objective functions of the scheduling problem are calculated from Object1 = max(ci j )(ci j ∈ Td (si j , ci j ))the first objective is the makespan. (11.5) Object2 = Object1 +

m      pi j − avgmt (oi j ∈ Ma ) 

(11.6)

a=1



time pi j is the total working time for a machine. avgmt is the average working  m   m   pi j − avgmt (oi j ∈ Ma ) of all the machines: avgmt = ( a=1 pi j )/m, a=1 is the summation of the absolute values of the difference of the total working time

220

11 A Modified Genetic Algorithm Based Approach for IPPS

and avgmt for every machine. The goal of this objective function is lined on the synthetic consideration of the makespan and balanced level of machine utilization.

11.3.3.3

Genetic Components for Scheduling

The reproduction operator for scheduling is the same as in process planning. In this section, the crossover and mutation operators are introduced in detail. Crossover: The procedure of crossover for scheduling is described as follows: Step 1: Select a pair of chromosomes P1 and P2 by the selection scheme and initialize two empty offspring: O1 and O2. Step 2: First, crossover the process plan strings of P1 and P2 and get the process plan strings of O1 and O2 Step 2.1: Compare the process plan string of P1 with the process plan string of P2, if the element of P1 is the same as P2, record the value and position of this element. This process is repeated until the end of comparing all the elements of the process plan string. Step 2.2: The recorded elements in process plan string of P1 in Step 2.1 are appended to the same positions in O1, while the recorded elements in process plan string of P2 in Step 2.1 are appended to the same positions in O2. The other elements (they are the different elements between P1 and P2) in process plan string of P2 are appended to the same positions in O1, while the other elements in process plan string of P1 are appended to the same positions in O2. Step 3: Secondly, in order to match the process plan strings of O1 and O2 and avoid getting unreasonable O1 and O2, the crossover of the scheduling plan strings of P1 and P2 is shown as follows: Step 3.1: If the values of elements in scheduling plan string of P1 are the same as the recorded positions in process plan string, these elements (including 0) are appended to the same positions in O1 and they are deleted in P1. If the values of elements are in scheduling plan they are deleted in P1. If the values of elements in scheduling plan string, these elements (including 0) are appended to the same positions in O2 and they are deleted in P2. Step 3.2: Get the numbers of the remaining elements in the scheduling plan of P1 and P2, they are n1 and n2 . If n1 ≥ n2 , for O1, it implies that the number of empty positions in O1 is larger than the number of remaining elements in P2. Therefore, n1 − n2 empty positions in O1 are selected randomly and be filled with 0. Then, the remaining elements in the scheduling plan of P2 are appended to the remaining empty positions in O1 seriatim. For O2, n1 ≥ n2 implies that the number of empty positions in O2 is smaller than the number of remaining elements in P1. So, n1 − n2 0 s are selected randomly in O2 and are set to empty. And then, the remaining elements in the scheduling plan of P1 are appended to the empty positions in O2 seriatim. If n1 < n2 , the procedure is reversed.

11.3 Modified GA-Based Optimization Approach

221

Fig. 11.8 Crossover for scheduling

Step 4: Then, two valid offspring O1 and O2 are obtained. Take six jobs in Table 11.1 as an example. An example of the crossover is presented in Fig. 11.8. Step 1: Select a pair of chromosomes P1 and P2 and initialize two empty offspring: O1 and O2 (see Fig. 11.8). Step 2: First, crossover the process plan strings of P1 and P2 and get the process plan strings of O1 and O2. Step 2.1: Compare the process plan string of P1 with the process plan string of P2, record the second, fourth, and sixth elements in P1 and P2. Step 2.2: The second, fourth, and sixth elements in process plan string of P1 are appended to the same positions in O1, while the second, fourth, and sixth elements in process plan string of P2 are appended to the same positions in O2. The other elements which are the first, third, and fifth elements in process plan string of P2 are appended to the same positions in O1, while the other elements in process plan string of P1 are appended to the same positions in O2. Step 3: Secondly, in order to match the process plan strings of O1 and O2 and avoid getting unlawful O1 and O2, the scheduling plan strings of P1 and P2 are crossovered as follows: Step 3.1: The elements which equate 2, 4, or 6 (including 0) in scheduling plan string of P1 are appended to the same positions in O1 and they are deleted in P1; the elements which equate 2, 4, or 6 (including 0) in scheduling plan string of P2 are appended to the same positions in O2 and they are deleted in P2. Step 3.2: In this example, n1 = 13, n2 = 12, n1 > n2, and n1 − n2 = 1. For O1, one empty position in O1 is selected randomly and is filled with 0, which has marked out in O1 in Fig. 11.8. Then, the remaining elements in the scheduling plan of P2 are appended to the remaining empty positions in O1 seriatim. For O2, one 0 is selected randomly in O2 and is set to empty, which has marked out in O2 in Fig. 11.8. And then, the remaining elements in the scheduling plan of P1 are appended to the empty positions in O2 seriatim. Step 4: Then, two valid offspring O1 and O2 are obtained (see Fig. 11.8)

222

11 A Modified Genetic Algorithm Based Approach for IPPS

(2) Mutation: In this chapter, there are two mutation operators used. One is twopoint swapping mutation, and the other one is changing one job’s alternative process plan. In the evolution procedure, one operator has been chosen randomly in every generation. The procedure of two-point swapping mutation for scheduling is described as follows: Step 1: Select one chromosome P by the selection scheme. Step 2: Select two points in the scheduling plan string of P randomly. Step 3: Generate a new chromosome O by interchanging these two elements; The procedure of the other mutations (changing one job’s alternative process plan) for scheduling is described as follows: Step 1: Select one chromosome P by the selection scheme. Step 2: Select one point in the process plan string of P randomly. Step 3: Change the value of this selected element to another one in the selection range (the number of alternative process plans). Step 4: Judge the number of operations of the selected job’s alternative process plan which has been changed. If it increases, a new chromosome O is generated by changing the margin 0 s which are selected randomly to the job number in the scheduling plan string of P seriatim. If it decreases, a new chromosome O is generated by changing the margin job numbers which are selected randomly in the scheduling plan string of P to 0 seriatim. An example of the mutation is presented in Fig. 11.9. Above the dash line, it is an example of two-point swapping mutation, the selected two points (2 and 4) are marked out, and O is generated by interchanging 2 and 4. And under the dash line, is an example of the mutation of changing one job’s alternative process plan. The selected element 1 (for job 6) which is marked out in the process plan string is changed to 2. Because the number of the second alternative process plans for job 6 is greater than the first one, the first 0 which is selected randomly in the scheduling plan string of P is changed to 6 in O.

Fig. 11.9 Mutation for scheduling

11.4 Experimental Studies and Discussion

223

11.4 Experimental Studies and Discussion Some experiments have been conducted to measure the adaptability and superiority of the proposed GA-based integration approach. The approach is compared with a hierarchical approach and other methods. The performance of the approach is satisfactory from the experimental results and comparisons.

11.4.1 Test Problems and Experimental Results The proposed modified GA approach procedure was coded in C++ and implemented on a computer with a 2.40 GHz Pentium IV CPU. To illustrate the effectiveness and performance of the method in this chapter, we consider five problem instances. The GA parameters for process planning and scheduling are given in Table 11.2. The algorithm terminates when the number of generations reaches to the maximum value.

11.4.1.1

Experiment 1

(1) Test problem: For doing the experiments of the proposed approach, six jobs with flexible process plans have been generated. Jobs 1, 3, and 5 have been given in Fig. 11.2. And jobs 2, 4, and 6 will be given in Fig. 11.10. There are eight machines on the shop floor. The machines’ codes in these six jobs are the same. The transportation time (the time units is same as Processing time in Fig. 11.2) between the machines are given in Table 11.3. The objective for process planning is the maximum objective function f (i, t) (Eq. 11.4). And the objectives for the IPPS are minimum makespan Object1 (Eq. 11.5) and synthetic consideration of the makespan and balanced level of machine utilization Object2 (Eq. 11.6). Table 11.2 GA parameters

Parameters

Process planning

Scheduling

The size of the population, S

40

500

Total number of generations, M

30

100

Tournament size, b

2

2

Probability of reproduction operation, pr

0.10

0.10

Probability of crossover operation, pc

0.60

0.80

Probability of mutation operation, pm

0.10

0.10

224

11 A Modified Genetic Algorithm Based Approach for IPPS

Fig. 11.10 Alternative process plans networks Table 11.3 Transportation time between the machines Machine code

1

2

3

4

5

6

7

8

1

0

3

7

10

3

5

8

12

2

3

0

4

7

5

3

5

8

3

7

4

0

3

8

5

3

5

4

10

7

3

0

10

8

5

3

5

3

5

8

10

0

3

7

10

6

5

3

5

8

3

0

4

7

7

8

5

3

5

7

4

0

3

8

12

8

5

3

10

7

3

0

11.4 Experimental Studies and Discussion

225

(2) Experimental results: The experiments of process planning were carried out for one objective: minimizing the production time. Table 11.4 shows the experimental results where the adjusted fitness Eq. (11.4) is applied for all the jobs. The results include three near-optimal alternative process plans with their fitness and production time for each job (see Sect. 11.3.2). Figure 11.11 illustrates the convergence curve Table 11.4 Experimental results of process planning Job

3 Alternative process plans

Fitness

Product time

1

(1,2)-(5,3)-(8,7)-(9,8)

0.00862069

116

(1,2)-(5,3)-(8,7)-(9,3)

0.00847458

118

(1,4)-(5,3)-(8,7)-(9,8)

0.00833333

120

(1,2)-(5,3)-(8,7)-(9,8)

0.00862069

116

(1,2)-(4,6)-(8,7)-(9,8)

0.0085701

117

(1,2)-(5,3)-(8,7)-(9,3)

0.00847458

118

(1,3)-(2,6)-(3,2)-(9,2)

0.01052632

95

(1,3)-(2,4)-(3,3)-(9,2)

0.01010101

99

(1,3)-(4,6)-(5,1)-(9,2)

0.01000000

100

(6,1)-(8,5)-(9,2)

0.01075269

93

2

3

4

5

6

(6,1)-(7,6)-(9,2)

0.01063830

94

(1,3)-(4,6)-(5,1)-(9,2)

0.01000000

100

(1,2)-(2,3)-(3,2)-(9,3)

0.00862069

116

(1,2)-(2,3)-(4,6)-(5,7)-(9,3)

0.00847458

118

(1,2)-(2,3)-(3,1)-(9,3)

0.01000000

120

(1,2)-(2,3)-(3,2)-(9,3)

0.00862069

116

(1,2)-(2,3)-(4,8)-(9,3)

0.00854701

117

(1,2)-(6,1)-(7,7)-(8,8)-(9,3)

0.00826446

121

Fig. 11.11 Convergence curve of job 1 for process planning

226

11 A Modified Genetic Algorithm Based Approach for IPPS

Table 11.5 Experimental results of the selected process plan for every job

Job

Optimization criterion Object1

Object2

1

(1,4)-(5,3)-(8,7)-(9,8)

(1,2)-(5,3)-(8,7)-(9,8)

2

(1,2)-(4,6)-(8,7)-(9,8)

(1,2)-(4,6)-(8,7)-(9,8)

3

(1,3)-(2,4)-(3,3)-(9,2)

(1,3)-(2,4)-(3,3)-(9,2)

4

(6,1)-(8,5)-(9,2)

(6,1)-(8,5)-(9,2)

5

(1,2)-(2,3)-(3,1)-(9,3)

(1,2)-(2,3)-(4,6)-(5,7)-(9,3)

6

(1,2)-(2,3)-(3,2)-(9,3)

(1,2)-(2,3)-(4,8)-(9,3)

of job 1 for process planning. The curve shows the search capability and evolution speed of the algorithm. The computation time for job 1 is 1015 ms. The experimental results in Table 11.4 and Fig. 11.11 show that GA-based process planning reaches a good solution in short time. This means that the first optimization step (the optimization of process planning) in the proposed model needs very little computation time. And even in the more complex system, based on the development of computer, computer time is also very little. Therefore, the proposed model with two optimization steps is a promising approach for the IPPS. The experiments on IPPS were carried out for two objectives: minimizing makespan Object1 (Eq. 11.11) and the synthetic consideration of the makespan and balanced level of machine utilization Object2 (Eq. 11.6). Table 11.5 shows the experimental results which include the selected process plan of each job. Figure 11.12 illustrates Gantt charts for scheduling. The schedule in Fig. 11.12(1) yields to a makespan of 162 time units, and Object2 is equals to 712. In Fig. 11.12(2), makespan is equal to 165, Object2 is equal to 640. This means that if the makespan and balanced level of machine utilization are synthetically considered, some optimization of makespan may be lost. If only makespan is considered, some balanced level of machine utilization may be lost. Therefore, which objective is chosen should be based on the goal of the operator.

11.4.1.2

Experiment 2

Experiment 2 is adopted from Moon et al. [9]. In this experiment, the problem was constructed with five jobs with 21 operations and six machines in two plants. The makespan was used as the objective. In this chapter, the transportation times between machines and the lot sizes were not considered. Table 11.6 shows the comparison of the results of operation sequences with machine selection between evolutionary algorithm [9] and modified GA, and Fig. 11.13 illustrates the Gantt chart of this problem.

11.4 Experimental Studies and Discussion

227

Fig. 11.12 (1) Gantt chart of experiment 1 based on Object1 (Makespan = 162, object2 = 712). (2) Gantt chart of experiment 1 based on object2 (Makespan = 165, object2 = 640) Table 11.6 Comparison of the results of operations sequences with machine selection (the data which is marked by * is adopted from Moon et al. [9]) Job

Evolutionary algorithm*

Modified GA

1

1(M4)-3(M3)-2(M1)-4(M6)

1(M1)-2(M4)-4(M6)-3(M3)

2

6(M1)-5(M2)-7(M1)

5(M2)-6(M1)-7(M1)

3

9(6)-11(M6)-8(M3)-10(M2)-12(M5)

9(6)-11(M6)-8(M3)-10(M2)-12(M5)

4

13(M3)-14(M5)-15(M3)-16(M6)-17(M5)

13(M3)-15(M3)-14(M2)-16(M6)-17(M1)

5

19(M2)-18(M4)-20(M5)-21(M4)

18(M4)-19(M5)-20(M5)-21(M4)

228

11 A Modified Genetic Algorithm Based Approach for IPPS

Fig. 11.13 Gantt chart of experiment 2 (P1 means Operation 1, Makespan = 28)

11.4.1.3

Experiment 3

Experiment 3 is adopted from Morad and Zalzala [10]. In this experiment, the problem was constructed with five jobs and five machines. The makespan was used as the objective. Each part undergoes four different operations in a specified order. Alternative machines for processing the parts are given in Table 11.7, along with the respective processing times. Table 11.8 gives the experimental results of experiment 3. Using the SA, GA and modified GA-based approach, the best value obtained is 33 compared with the value of 38 obtained using the heuristic. The advantage of the GA and modified GA approaches compared with the SA approach is the availability of multiple solutions that introduces some flexibility into the IPPS system. In the SA approach, only one Table 11.7 Sundaram and Fu data in Ref. [10] (the numbers in parenthesis are the machine numbers) Job

Operation 1

Operation 2

Operation 3

Operation 4

1

5(M1) 3(M2)

7(M2)

6(M3)

3(M4) 4(M5)

2

7(M1)

4(M2) 6(M3)

7(M3) 7(M4)

10(M5)

3

4(M1) 5(M2) 8(M3)

5(M4)

6(M4) 5(M5)

4(M5)

4

2(M2) 6(M3)

8(M3)

3(M3) 8(M4)

7(M4) 4(M5)

5

3(M1) 5(M3)

7(M3)

9(M4) 6(M5)

3(M5)

Table 11.8 Experimental results for experiment 3 (the data which is marked by * is adopted from Morad and Zalzala [10]) Solution methodology

Heuristic*

Simulated annealing*

GA-based approach*

Modified GA

Makespan

38

33

33

33

11.4 Experimental Studies and Discussion

229

Fig. 11.14 Gantt chart of experiment 3 (Makespan = 33)

solution is produced for every run. Figure 11.14 illustrates the Gantt chart of this problem (modified GA).

11.4.1.4

Experiment 4

Experiment 4 is also adopted from Morad and Zalzala [10]. In this experiment, the problem was constructed with four jobs and three machines. The makespan was used as the objective. Table 11.9 gives a comparison among them Fig. 11.15 illustrates Gantt charts of experiment 4. As indicated in Table 11.9 and Fig. 11.15, the best solution found by modified GA is not detected using the method in Morad and Zalzala [10]. It may not be global optimization. However, the result implies that the proposed approach is more Table 11.9 Comparison among the approaches (the data which is marked by* is adopted from Morad and Zalzala [10]

Makespan

Traditional method*

Approach in [4] *

Modified GA

2030

1265

1100

Fig. 11.15 Gantt chart of experiment 4 (Pt: Part; Op: Operation, Makespan = 1100)

230

11 A Modified Genetic Algorithm Based Approach for IPPS

effective to escape from the local optimization point and easier to get a better solution than the method in Morad and Zalzala [10].

11.4.1.5

Experiment 5

Experiment 5 is adopted from Moon et al. [11]. In this experiment, the problem was constructed with five jobs and five machines. The makespan is used as the objective. Table 11.10 shows the experimental results, and Fig. 11.16 illustrates the Gantt chart of this problem. Based on the experimental results of experiment 5, the best solution found by the modified GA is not detected using the method in Moon et al. [11]. The modified GA can get better scheduling plans. Table 11.10 Experimental results of experiment 5 (The data which is marked by * is adopted from Moon et al. [11]. v1 means operation 1. M1 means machine 1) Moon et al.

Modified GA

Job 1

v1M2-v2M2

v1M1-v2M2

Job 2

v3M4-v4M5

V 3M4-v4M5

Job 3

v5M1-v6M3-v7M2

v7M2-v5M2-v6M3

Job 4

v8M3-v9M4

v8M3-v9M4

Job 5

v10M1-v11M3-v12M1-v13M5

v12M3-v10M1-v11M1-v13M5

Makespan

16

14

Fig. 11.16 Gantt chart of experiment 5 (Makespan = 14)

11.4 Experimental Studies and Discussion

231

Fig. 11.17 Gantt chart of the hierarchical approach based on Object 1 (Makespan = 250, Object2 = 808)

11.4.2 Comparison with Hierarchical Approach The proposed integration approach has been compared with a hierarchical based approach in terms of optimum results. The hierarchical approach is coded in C++, and implemented on the same computer with GA. Hierarchical approaches have been widely used to solve an aggregated problem combining several subproblems that are interlinked. In this approach, the process planning problem is first solved, and then the scheduling problem is considered under the constraint of the solution. For the process planning problem, minimizing the production time is used as an objective, which is maximum f (i, t) (Eq. 11.4). The scheduling objective of the hierarchal approach is to minimize the makespan Object1 (Eq. 11.5). To solve the two problems of the process planning and the scheduling problem hierarchically, in this chapter GA is adopted. The parameters of hierarchical approach are the same as those for the proposed method (see Table 11.3). The solution to the process planning problem obtained becomes an input to the scheduling problem. The selected process plan for each job is the optimal process plan. For the first experiment, they are the first ones of 6 jobs in Table 11.4. Figure 11.17 illustrates the Gantt chart of the hierarchical approach yields to a makespan of 250 time units, and Object2 is equal to 808. The experimental results of Table 11.5 show that the selected process plans in the proposed approach are not all of the optimal plans in Table 11.4, such as the selected process plan of job 1 is the third optimal plan. Comparing the results between the proposed method and the hierarchical approach, the selected process plans of each job among them are different, and the optimized result of scheduling of the hierarchical approach is not as good as the results from the integration model. The reasons for this are that the hierarchical approach lacks the integration and flexibility. There is no connection between process planning and scheduling. Therefore, the IPPS is necessary and it can enhance the productivity of the manufacturing system largely.

232

11 A Modified Genetic Algorithm Based Approach for IPPS

11.5 Discussion Overall, the experimental results indicate that the proposed approach is a more acceptable approach for the IPPS. The reasons are as follows. First, in the proposed approach, the selected process plans are not all the optimal ones, and it considers all the conditions synthetically. Second, in some experiments, the modified GA-based approach can be used to get better results than that of other methods. This means that the proposed approach has more possibilities to get the best results.

11.6 Conclusion In the traditional approach, process planning and scheduling were regarded as two separate tasks and performed sequentially. However, the functions of the two systems are usually complementary. Therefore, the research on the integration of process planning and scheduling is necessary. The research presented in this chapter developed a new integration model with a modified GA-based approach that has been developed to facilitate the integration and optimization of these two systems. With the integration model, the process planning and scheduling systems are working simultaneously. To improve the optimization performance of the proposed method, more efficient genetic representations and operator schemes have been developed. Experimental studies have been used to test the method and the comparisons have been made among this method and other methods to indicate the superiority and adaptability of the proposed approach. The experimental results show that the proposed method is a promising and very effective method in the research of the integration of process planning and scheduling. With the new method developed in this work, it would be possible to increase the efficiency of manufacturing systems. One future work is to use the proposed method to practical manufacturing systems. The increased use of this approach will most likely enhance the performances of future manufacturing systems.

References 1. Li XY, Shao XY, Gao L (2008) Optimization of flexible process planning by genetic programming. Int J Adv Manuf Technol 38:143–153 2. Li WD, McMahon CA (2007) A simulated annealing-based optimization approach for integrated process planning and scheduling. Int J Comput Integr Manuf 20(1):80–95 3. Saygin C, Kilic SE (1999) Integrating flexible process plans with scheduling in flexible manufacturing systems. Int J Adv Manuf Technol 15:268–280 4. Kim YK, Park K, Ko J (2003) A symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling. Comput Oper Res 30:1151–1171 5. Catron AB, Ray SR (1991) ALPS—a language for process specification. Int J Comput Integr Manuf 4:105–113

References

233

6. Sormaz D, Khoshnevis B (2003) Generation of alternative process plans in integrated manufacturing systems. J Intell Manuf 14:509–526 7. Fattahi P, Mehrabad MS, Jolai F (2007) Mathematical modeling and heuristic approaches to flexible job shop scheduling problems. J Intell Manuf 18(3):331–342 8. Langdon WB, Qureshi A. Genetic programming—computers using Natural Selection to generate programs. Technical report RN/95/76, Gower Street, London WCIE 6BT, UK, 1995 9. Moon C, Seo Y (2005) Evolutionary algorithm for advanced process planning and scheduling in a multi-plant. Comput Ind Eng 48:311–325 10. Morad N, Zalzala A (1999) Genetic algorithms in integrated process planning and scheduling. J Intell Manuf 10:169–179 11. Moon C, Lee YH, Jeong CS, Yun YS (2008) Integrated process planning and scheduling in a supply chain. Comput Ind Eng 54:1048–1061

Chapter 12

An Effective Hybrid Algorithm for IPPS

12.1 Hybrid Algorithm Model 12.1.1 Traditionally Genetic Algorithm GA is one of the evolutionary algorithms. It was developed by Holland and Rechenberg [1]. By imitating basic principles of nature evolution, they created an optimization algorithm which has successfully been applied in many areas. GA is able to search very large solution spaces efficiently by providing a concise computational cost, since it uses probabilistic transition rules instead of deterministic ones. It is easy to implement and increasingly used to solve inherently intractable problems called NP-hard problems.

12.1.2 Local Search Strategy Tabu Search (TS) [2] is a meta-heuristic method, which has been successfully applied in many scheduling problems and other combinatorial optimization problems. TS allows the searching process to explore solutions which do not decrease the objective function value if these solutions are not forbidden. It is usually obtained by keeping track of the last solution in terms of the action used to transform one solution to the next. It consists of several elements which contain the neighborhood structure, the move attributes, the tabu list, aspiration criteria, and terminate criteria. TS has emerged as one of the most efficient local search strategies for scheduling problems. In this study, it has been adopted as a local search strategy for every individual. And the neighborhood structure of the job shop scheduling problem used in Nowicki and Smutnicki [3] has been adopted here. Because of the differences between job shop scheduling problem and the IPPS problem, it also has been © Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_12

235

236

12 An Effective Hybrid Algorithm for IPPS Parameters setting, Set tabu list empty and Generate the initial solution

Terminate criteria satisfied?

Y

Output the best solution

N Generate the neighborhood solutions by the neighborhood structure

Aspiration criteria satisfied?

Y

Set the solution which satisfies the Aspiration criteria as the current solution and best solution

N Select the best solution which is not tabu solution in the neighborhood solutions and set it as the current solution

Update the tabu list Fig. 12.1 Basic flowchart of TS

relatively modified to avoid the unlawful solution. The basic flowchart of TS is shown in Fig. 12.1. In the proposed HA, when an individual is to perform a local search, it should be converted to a feasible schedule at first. And then the solution is used as the initial solution of TS. After the local search, the output solution of TS should be encoded to a feasible individual.

12.1.3 Hybrid Algorithm Model GA is able to search very large solution space efficiently, but its local search ability is not well. TS as a local search algorithm can search the local space very well. Through analyzing the optimization mechanism of these two algorithms, a hybrid algorithm model which synthesizes the advantages of GA and TS has been proposed to solve the IPPS problem. The basic procedure of the HA model is described as follows: Step 1: Initialize population randomly, and set the parameters; Step 2: Evaluate all population; Step 3: Set Gen = Gen + 1; Step 4: Generate a new generation population through reproduction, crossover, and mutation;

12.1 Hybrid Algorithm Model

237

Step 5: Local search by TS for every individual; Step 6: Do Step 2 and 5 cyclically until terminate criteria are satisfied. According to this model, every individual evolves by the genetic operators firstly, and then it focuses on the local search. Based on the above procedure, to implement the HA model effectively, an efficient encoding scheme of individuals, genetic operators, and local search strategy are necessary. In the proposed algorithm, TS is adopted as the local search method. In the following sections, the details of the HA have been presented in detail.

12.2 Hybrid Algorithm for IPPS 12.2.1 Encoding and Decoding Each chromosome in the scheduling population consists of three parts with different lengths as shown in Fig. 12.2. The first part of the chromosome is the alternative process plan string. The positions from 1 to N in this string represent the jobs from 1 to N. The number in the ith position represents the selected alternative process plan of the job i. The second part of the chromosome is the scheduling plan string. In this chapter, the scheduling encoding made up of the jobs’ numbers is the operation-based representation. This representation uses an unpartitioned permutation with Pil -repetitions of job numbers. In this representation, each job number appears Pil times in the chromosome. By scanning the chromosome from left to right, the f th appearance of a job number refers to the f th operation in the selected process plan of this job. The important feature of this representation is that any permutation of the chromosome can be decoded to a feasible solution. It is assumed that there are N jobs, and qi is the number of operations of the process plan which has the most operation numbers among all the alternative process plans of the job i. Then the length of the scheduling plan string is equal to qi . The number of appearances of i in the scheduling plan string is equal to the number of operations of the selected alternative process plan. Based on this principle, the composition elements of the scheduling plan string are determined. If the number of elements is less than qi , all the other elements are filled with 0. Therefore, the scheduling plan string is made up of jobs’ numbers and 0. One scheduling plan string is generated by arraying all the elements randomly. And Scheduling plan 5 3 4 1 2 6 0 4 3 2 1 6 5 0 2 3 4 5 6 1 0 2 1 3 4 0 5 1 6 0 2 4 5 1 3 1 1 1 1 1 1 1 Job 1

1 1 1 2 0 2 3 3 1 1 0 1 1 1 1 1 1 0 2 1 5 5 2 1 1 1 2 0 Job 2

Job 3

Machine string

Fig. 12.2 The chromosome of the integration

Job 4

Job 5

Job 6

Alternative process plan

1 4 5 3 1 5

238

12 An Effective Hybrid Algorithm for IPPS

the alternative process plan string is generated by choosing the alternative process plan randomly for each job. The third part of the chromosome is the machine string. It denotes the selected machine set of the corresponding operations of all jobs. The length of this string is equal to the length of the scheduling plan string. It contains N parts, and the length of ith part is qi . The ith part of this string denotes the selected machine set of the corresponding operations of job i. Assuming the hth operation in the selected lth, alternative process plan of job i can be processed by a machine set Silh = {m ilh1 , m ilh2 , . . . , m ilhcilh }. The ith part of this string can be denoted as {gil1 , gil2 , . . . gilh , . . . , gilqi }, and gilh is an integer between 1 and cilh and it means that the hth operation in the lth selected alternative process plan of job i is assigned to the gilh th machine m ilhgilh in S ilh . If the number of operations of the selected alternative process plan of job i is p and p is less than qi , {gilp . . . gilqi } are equal to 0. Figure 12.2 shows an example of an individual scheduling plan. In this example,  qi N is equal to 6, and q1 = 6,q2 = 6, q3 = 6, q4 = 7, q5 = 5, and q6 = 5. is equal to 35. So, the scheduling plan string and machine string are made up of 35 elements, and the process plan string is made up of 6 elements. For job 1, the first alternative process plan has been chosen, and there are 6 operations in the selected process plan, so the 6 elements of the scheduling plan string are 1. And in the first part of machine string, the first element of this part is 1 and it means that the first operation in the selected alternative process plan of job 1 is assigned to the first machine m1111 in S 111 . The other elements in the chromosome can be deciphered, respectively. The number of 0 in the scheduling plan string and the machine string is equal to 5 = 35-6-5-4-6-5-4. The permutations can be decoded into semi-active, active, non-delay, and hybrid schedules. The active schedule is adopted in this chapter. Recall that at this decoding stage, a particular individual of a scheduling plan is determined, that is, a fixed alternative process plan for each job is given. The notations used to explain the procedure are described below: M: the total number of machines; oijl : the jth operation in the lth alternative process plan of the ith job; asijl : the allowable starting time of operation oijl ; sijl : the earliest starting time of operation oijl ; k: the alternative machine corresponding to oijl ; t ijlk : the processing time of operation oijl on machine k, t ijlk > 0; cijl : the earliest completion time of operation oijl , i.e., cijl = sijl + t ijlk . The procedure of decoding is as follows: Step 1: Generate the machine of each operation based on the machine string of the chromosome; Step 2: Determine the set of operations for every machine: Ma = {oi jl } 1 ≤ a ≤ M;

12.2 Hybrid Algorithm for IPPS

239

Step 3: Determine the set of machines for every job: J Md = {machine} 1 ≤ d ≤ N; Step 4: The allowable starting time for every operation: asi jl = ci( j−1)l (oi jl ∈ Ma ), ci( j−1)l is the completion time of the pre-operation of oi jl for the same job; Step 5: Check the idle time of the machine of oi jl , and get the idle areas [t_s, t_e], check these areas in turn (if: max(asi jl , t_s) + ti jlk ≤ t_e, the earliest starting time is si jl = t_s, else: check the next area) if there is no area satisfying this condition:si jl = max(asi jl , c(oi jl − 1)), c(oi jl − 1) is the completion time of the pre-operation of oi jl for the same machine; Step 6: The completion time of every operation: ci jl = si jl + ti jlk ; Step 7: Generate the sets of starting time and completion time for every operation of every job: Td (si jl , ci jl ) 1 ≤ d ≤ N . In the above procedure, it can be obtained that the sets of starting time and completion time are for every operation of every job. It is a schedule for the shop.

12.2.2 Initial Population and Fitness Evaluation The encoding principle of the scheduling plan string in the chromosome in this chapter is an operation-based representation. The important feature of this representation is that any permutation of the chromosome can be decoded to a feasible schedule. It cannot break the constraints on precedence relations of operations. The initial population is generated based on the encoding principle. In this chapter, the makespan is used as the objective.

12.2.3 Genetic Operators for IPPS It is important to employ good operators that can effectively deal with the problem and efficiently lead to excellent individuals in the population. The genetic operators can generally be divided into three classes: reproduction, crossover, and mutation. And in each class, a large number of operators have been developed. (1) Reproduction The tournament selection scheme with a user-defined reproduction probabilistic has been used for reproduction operation. In tournament selection, a number of individuals are selected at random (dependent on the tournament size, typically between 2 and 7) from the population and the individual with the best fitness is chosen for reproduction. The tournament selection approach allows a trade-off to be made between exploration and exploitation of the gene pool [4]. This scheme can modify the selection pressure by changing the tournament size.

240

12 An Effective Hybrid Algorithm for IPPS

(2) Crossover There are three parts in a chromosome and two separate crossover operations for each pair of the selected chromosomes. The procedure of the first crossover for scheduling is described as follows: Step 1: Select a pair of chromosomes P1 and P2 by the selection scheme and initialize two empty offsprings: O1 and O2; Step 2: First, crossover the process plan strings of P1 and P2 and get the process plan strings of O1 and O2: Step 2.1: Generate a crossover point randomly; Step 2.2: The elements in the process plan strings of P1 and P2 which are in the left side of the crossover point are appended to the same positions in O1 and O2, respectively; the elements in the process plan strings of P1 and P2 which are in the right side of the crossover point are appended to the same positions in O2 and O1, respectively. Step 3: Secondly, in order to match the process plan strings of O1 and O2 and avoid obtaining unlawful O1 and O2, the scheduling plan strings of P1 and P2 are crossovered as follows: Step 3.1: If the values of elements in scheduling plan string of P1 are the same as one of the positions in the left side of the crossover point in process plan string, these elements (include 0) are appended to the same positions in O1 and they are deleted in P1; if the values of elements in scheduling plan string of P2 are the same as one of the positions in the left side of crossover point in process plan string, these elements (include 0) are appended to the same positions in O2 and they are deleted in P2; Step 3.2: Obtain the numbers of the remaining elements in scheduling plan strings of P1 and P2, n 1 and n 2 . If n 1 ≥ n 2 , for O1, it implies that the number of empty positions in O1 is bigger than the number of remaining elements in P2. So, n 1 −n 2 empty positions in O1 are selected randomly and filled with 0. Then, the remaining elements in scheduling plan string of P2 are appended to the remaining empty positions in O1 seriatim. For O2, n 1 ≥ n 2 implies that the number of empty positions in O2 is smaller than the number of remaining elements in P1. So, n 1 − n 2 0s are selected randomly in O2 and set to empty. And then, the remaining elements in scheduling plan string of P1 are appended to the empty positions in O2 seriatim; if n 1 < n 2 , the procedure is reversed. Step 4: Then, two valid offsprings O1 and O2 are generated. An example of the first crossover operation is presented in Fig. 12.3. Step 1: Select a pair of chromosomes P1 and P2 and initialize two empty offsprings: O1 and O2 (see Fig. 12.3); Step 2: First, crossover the process plan strings of P1 and P2 and get the process plan strings of O1 and O2: Step 2.1: Generate a crossover point randomly; this example is the third position; Step 2.2: The elements in the process plan strings of P1 and P2 which are in the left side of the third position are appended to the same positions in O1 and O2, respectively; the elements in the process plan strings of P1 and P2 which are in

12.2 Hybrid Algorithm for IPPS

241

Fig. 12.3 The crossover operation for scheduling and alternative process plan strings

the right side of the third position are appended to the same positions in O2 and O1, respectively. Step 3: Secondly, in order to match the process plan strings of O1 and O2 and avoid obtaining unlawful O1 and O2, the scheduling plan strings of P1 and P2 are crossovered as follows: Step 3.1: The elements which equate 0, 1, 2, or 3 in scheduling plan string of P1 are appended to the same positions in O1 and they are deleted in P1; the elements which equate 0, 1, 2, or 3 in scheduling plan string of P2 are appended to the same positions in O2 and they are deleted in P2; Step 3.2: In this example,n 1 = 14,n 2 = 12, n 1 > n 2 , and n 1 −n 2 = 2. For O1, two empty positions in O1 are selected randomly and are filled with 0, which have been marked out in O1 in Fig. 12.3. Then, the remaining elements in the scheduling plan of P2 are appended to the remaining empty positions in O1 seriatim. For O2, two 0s are selected randomly in O2 and are set to empty, which have been marked out in O2 in Fig. 12.3. And then, the remaining elements in the scheduling plan of P1 are appended to the empty positions in O2 seriatim. Step 4: Then, two valid offspring O1 and O2 are generated (see Fig. 12.3). Second, a two-point crossover is implemented on the machine string. In this operation, two positions are selected by randomly generating two numbers at first, and then two new strings (the machine strings of O1 and O2) are generated by swapping all characters between the positions of the two parent strings (the machine strings of P1 and P2). After this procedure, in order to match the process plan strings of O1 and O2 and avoid obtaining unlawful O1 and O2, the machine strings of O1 and O2 have to be checked as follows: Step 1: Record the quantity of each job in scheduling plan strings of O1 and O2 (except 0), n1i and n2i ; Step 2: For O1, compare n1i and the quantity of the elements (except 0) in the ith part of the machine string of O1 (r 1i ). If n1i ≥ r 1i , n1i − r 1i 0s from the r 1i + 1 th position to the n1i th position in this part of the machine string are set to gilh randomly (see Sect. 12.2.1). And, the elements from the first position to the r 1i th position are unchangeable, and the other elements in this part are set to 0. Then, the machine string of O1 matches the other two parts of O1; for O2, do the same procedure with O1. If n1i < r 1i , the procedure is reversed.

242

12 An Effective Hybrid Algorithm for IPPS

Fig. 12.4 The crossover operation for machine string P

5 3 4 1 2 6 0 4 3 2 1 6 5 0 2 3 4 5 6 1 0 2 1 3 4 0 5 1 6 0 2 4 5 1 3

1 4 5 3 1 5

O

5 3 4 1 2 6 0 4 3 2 2 6 5 0 2 3 4 5 6 1 0 1 1 3 4 0 5 1 6 0 2 4 5 1 3

1 4 5 3 1 5

P

5 3 4 1 2 6 0 4 3 2 1 6 5 0 2 3 4 5 6 1 0 2 1 3 4 0 5 1 6 0 2 4 5 1 3

1 4 5 3 1 5

O

5 3 4 1 2 6 0 4 3 2 1 6 0 0 2 3 4 5 6 1 0 2 1 3 4 0 0 1 6 0 2 4 0 1 3

1 4 5 3 2 5

P

1 1 1 1 1 1 1

1 1 1 2 0

2 3 3 1 0 0 1 1 1 1 1 1 0 2 1 5 5 2 1 1 1 2 0

1 4 5 3 2 5

O

1 1 1 1 1 1 1

1 1 1 2 0

2 3 3 1 1 0 1 1 1 1 1 1 0 2 1 4 5 2 1 1 1 2 0

1 4 5 3 2 5

Mutation of Machine-string

Job 1

Job 2

Job 3

Job 4

Job 5

Job 6

Fig. 12.5 Mutation operations

One example of this crossover procedure is presented in Fig. 12.4. (3) Mutation In this chapter, three mutation operations have been used. The first one is a twopoint swapping mutation, the second one is changing one job’s alternative process plan, and the third one is the mutation of machine string. In the evolution procedure, one operator has been chosen randomly in every generation. Figure 12.5 is an example of three mutation operators. The procedure of two-point swapping mutation for scheduling is described as follows: Step 1: Select one chromosome P by the selection scheme; Step 2: Select two points in the scheduling plan string of P randomly; Step 3: Generate a new chromosome O by interchanging these two elements. The procedure of the second mutation (changing one job’s alternative process plan) for scheduling is described as follows: Step 1: Select one chromosome P by the selection scheme; Step 2: Select one point in the process plan string of P randomly; Step 3: Change the value of this selected element to another one in the selection area (the number of alternative process plans);

12.2 Hybrid Algorithm for IPPS

243

Step 4: Judge the number of operations of the selected job’s alternative process plan which has been changed. If it has been enlarged, a new chromosome O is generated by changing the margin 0 which are selected randomly to the job’s number in the scheduling plan string of P seriatim; if it has been lessened, a new chromosome O is generated by changing the margin job’s number which is selected randomly in the scheduling plan string of P to 0 seriatim. The mutation of machine string is applied in order to change the alternative machine represented in the machine string of the chromosome. One element in the machine string is randomly chosen from the selected individual. Then, this element is mutated by altering the machine number to another one of the alternative machines at random.

12.3 Experimental Studies and Discussions 12.3.1 Test Problems and Experimental Results The proposed HA (GA+TS) procedure was coded in C++ and implemented on a computer with a 2.0 GHz Core (TM) 2 Duo CPU. To illustrate the effectiveness and performance of the proposed HA in this chapter, three instances from other papers are adopted here. The objective of this chapter is to minimize makespan. The HA parameters for these problem instances are given in Table 12.1. In HA, GA terminates when the number of generations reaches the maximum value (MaxGen); TS terminates when the number of iterations reaches the maximum size (MaxIterSize, CurIter is the current generation of GA) or the permitted maximum step size with no improving (MaxStagnantStep). From the equation (Max I ter Si ze = 200 × (Cur I ter/Max Gen)), the MaxIterSize becomes bigger Table 12.1 The HA parameters Parameters The size of the population, PopSize

200

Total number of generations, MaxGen

100

The permitted maximum step size with no improving, MaxStagnantStep

20

The maximum iteration size of TS, MaxIterSize

200 × (CurIter/MaxGen)

Tournament size, b

2

Probability of reproduction operation, pr

0.05

Probability of crossover operation, pc

0.8

Probability of mutation operation, pm

0.1

Length of tabu list, maxT

9

244

12 An Effective Hybrid Algorithm for IPPS

along with the CurIter in the computation procedure. In the early stage of the evolution of HA, because the GA cannot supply good initial individual for TS, it is little possible for TS to find good solutions. The MaxIterSize of TS is small. This can save the computation time of HA. In the late stage of the evolution of HA, GA can provide a good initial individual for TS. In this case, enlarging the MaxIterSize of TS can help the TS to find good solutions. Therefore, the maximum iteration size of TS is adaptive adjustment in the evolution process. This can balance the exploitation and exploration of HA very well and save the computation time.

12.3.1.1

Experiment 1

Experiment 1 is adopted from Chan et al. [5]. In this experiment, one problem is constructed with 8 jobs and 5 machines. And in this chapter, the outsourcing machine was not considered. We only used the data from this chapter. In this experiment, the integration model has been compared with the no integration model. No integration model means that there is no integration between process planning and scheduling. The purpose of this experiment is to show that the research on IPPS is necessary. Table 12.2 shows the experimental results, and Fig. 12.6 illustrates Gantt chart of this problem. The experimental result of experiment 1 shows that the result of the no integration model is worse than that of the integration model. And the integration model can get better scheduling plans. This implies that the research on IPPS is necessary. Table 12.2 The experimental results of experiment 1

Model

No integration

Integration

Makespan

28

24

Fig. 12.6 Gantt chart of experiment 1 (makespan = 24)

12.3 Experimental Studies and Discussions

12.3.1.2

245

Experiment 2

Experiment 2 is adopted from Kim et al. [6] and Kim [7]. In this experiment, 24 test-bed problems are constructed with 18 jobs and 15 machines. While designing the problems, the complexity of these problems as well as the number of jobs has been divided into five levels. Table 12.3 shows the experimental results, and the comparisons between the proposed HA and the methods in Kim et al. [8] are also given. Figure 12.7 illustrates the Gantt chart of problem 3 in this experiment. Based on the experimental results of Table 12.3, only one solution (problem 5) of HA is worse than SEA and a few solutions of HA are equal to SEA, almost all solutions (18 problems) of HA are better than other methods. The merits of HA in large-scale problems are obvious. It means that the proposed HA-based approach is more effective to obtain optimal solutions.

12.3.1.3

Experiment 3

Experiment 3 is adopted from Leung et al. [9]. In this experiment, one problem is constructed with 5 jobs and 3 machines. Each job undergoes four different operations and each operation can be processed on one or more machines with respective processing time. Table 12.4 shows the experimental results, and the comparisons between the proposed HA and previous methods [9] are also given. Figure 12.8 illustrates Gantt chart of this problem. The results show that the proposed method can obtain better results. These experimental results reveal that the proposed method can solve the IPPS problem effectively.

12.4 Discussion Overall, the experimental results indicate that the research on IPPS is necessary and the proposed approach is a very effective and more acceptable approach for the IPPS problem. The reasons are as follows. First, in the proposed HA approach, the selected process plans are not all the optimal ones, and it considers all the conditions synthetically. Second, in most experiments, the HA-based approach can obtain better results than other previously developed methods. This means that the proposed approach has more possibilities to obtain better results of IPPS problems.

Number of jobs

6

6

6

6

6

6

6

6

6

9

9

9

9

9

9

12

Problem

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

1-2-3-4-5-6-10-11-12-13-14-15

3-5-6-9-10-11-13-14-16

1-2-4-7-8-12-15-17-18

2-3-6-9-11-12-15-17-18

1-4-5-7-8-10-13-14-16

4-7-8-9-13-14-16-17-18

1-2-3-5-6-10-11-12-15

3-5-9-11-13-16

2-6-7-10-14-18

1-4-8-12-15-17

3-6-9-12-15-18

2-5-8-11-14-17

1-4-7-10-13-16

7-8-9-16-17-18

4-5-6-13-14-15

1-2-3-10-11-12

Job number

Table 12.3 The experimental results and comparisons of experiment 2

521

496

423

505

361

413

504

507

376

386

506

348

328

386

383

483

Hierarchical approach*

512

482

420

498

360

410

476

464

363

378

476

327

312

366

363

458

CCGA*

454

434

381

452

328

369

443

428

343

372

438

319

306

347

343

428

SEA*

(continued)

446

427

380

436

327

369

430

427

343

372

429

322

306

345

343

427

HA

246 12 An Effective Hybrid Algorithm for IPPS

12

12

12

12

12

15

15

18

17

18

19

20

21

22

23

24

1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18

1-4-5-6-7-8-9-11-12-13-14-15-16-17-18

2-3-4-5-6-8-9-10-11-12-13-14-16-17-18

2-3-5-6-7-9-10-11-13-14-16-18

1-2-4-6-7-8-10-12-14-15-17-18

2-3-5-6-8-9-11-12-14-15-17-18

1-2-4-5-7-8-10-11-13-14-16-17

4-5-6-7-8-9-13-14-15-16-17-18

Job number

Hierarchical approach*

607

533

560

525

473

550

417

474

611

531

567

501

450

535

396

466

CCGA*

587

498

534

477

447

490

379

431

SEA*

544

470

518

446

432

476

377

423

HA

Symbiotic evolutionary algorithm—SEA; Cooperative co-evolutionary genetic algorithm—CCGA; the data which is marked by * is adopted from Kim et al. [8]

Number of jobs

Problem

Table 12.3 (continued)

12.4 Discussion 247

248

12 An Effective Hybrid Algorithm for IPPS

Fig. 12.7 Gantt chart of problem 3 in experiment 2 (makespan = 345)

Table 12.4 The experimental results of experiment 3 Solution methods

Petri net*

ACO_03*

ACO_Agent06*

ACO_Agent09*

HA

Makespan

439

420

390

380

360

The results marked by * are adopted from Leung et al. [9]

Fig. 12.8 Gantt chart of experiment 3 (makespan = 360)

12.5 Conclusion

249

12.5 Conclusion Considering the complementarity of process planning and scheduling, the research has been conducted to develop a hybrid algorithm-based approach to facilitate the integration and optimization of these two systems. Process planning and scheduling functions are carried out simultaneously. To improve the optimization performance of the proposed approach, the efficient genetic representations, operator, and local search strategy have been developed. To verify the feasibility of the proposed approach, three experimental studies have been carried out to compare this approach with other previous methods. The experimental results show that the research on IPPS is necessary and the proposed approach has achieved significant improvement.

References 1. Franz R (2006) Representations for genetic and evolutionary algorithms. Springer, Verlag, Berling, Heidelberg, Netherlands 2. Glover F, Laguna M (1997) Tabu search. Kluwer Academic Publishers 3. Nowicki E, Smutnicki C (1996) A fast taboo search algorithm for the job shop scheduling problem. Manage Sci 42(6):797–813 4. Langdon WB, Qureshi A (1995) Genetic programming—computers using “Natural Selection” to generate programs. Technical Report RN/95/76, Gower Street, London WCIE 6BT, UK 5. Chan FTS, Kumar V, Tiwari MK (2006) Optimizing the performance of an integrated process planning and scheduling problem: an AIS-FLC based approach. In: Proceedings of CIS, IEEE 6. Kim KH, Song JY, Wang KH (1997) A negotiation based scheduling for items with flexible process plans. Comput Ind Eng 33(3–4):785–788 7. Kim YK (2003) A set of data for the integration of process planning and job shop scheduling. Available at http://syslab.chonnam.ac.kr/links/data-pp&s.doc 8. Kim YK, Park K, Ko J (2003) A symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling. Comput Oper Res 30:1151–1171 9. Leung CW, Wong TN, Mak KL, Fung RYK (2009) Integrated process planning and scheduling by an agent-based ant colony optimization. Comput Ind Eng. https://doi.org/10.1016/j.cie.2009. 09.003

Chapter 13

An Effective Hybrid Particle Swarm Optimization Algorithm for Multi-objective FJSP

13.1 Introduction Job shop Scheduling Problem (JSP), which is among the hardest combinatorial optimization problems [1], is a branch of production scheduling. It is well known that this problem is NP-hard [2]. The classical JSP schedules a set of jobs on a set of machines with the objective to minimize a certain criterion, subjected to the constraint that each job has a specified processing order through all machines, which are fixed and known in advance. Flexible Job Shop Problem (FJSP) is an extension of the classical JSP that allows one operation which can be processed on one machine out of a set of alternative machines. It is closer to the real manufacturing situation. Because of the additional needs to determine the assignment of operations on the machines, FJSP is more complex than JSP, and incorporates all the difficulties and complexities of JSP. The problem of scheduling jobs in FJSP could be decomposed into two sub-problems: a routing sub-problem, which assigns each operation to a machine out of a set of capable machines and a scheduling sub-problem, which is sequencing the assigned operations on all selected machines in order to obtain a feasible schedule with optimized objectives [3]. The scheduling problem in a flexible job shop is at least as hard as the job shop problem, which is considered one of the most difficult problems in combinatorial optimization [4]. Although an optimal solution algorithm for the classical JSP has not been developed yet, there is a trend in the research community to model and solve a much more complex version of the FJSP [5]. The research on the multi-objective FJSP is much less than the mono-objective FJSP. Brandimarte [6] was the first to apply the decomposition approach into the FJSP. He solved the routing sub-problem by using some existing dispatching rules and then focused on the scheduling sub-problem, which was solved by using a tabu search heuristic. Hurink et al. [7] proposed a tabu search heuristic. They

© Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_13

251

252

13 An Effective Hybrid Particle Swarm Optimization Algorithm …

considered the reassignment and rescheduling as two different types of moves. Mastrolilli and Gambardella [8] proposed some neighborhood functions for the FJSP, which could be used in meta-heuristic optimization techniques. The most important issue in employing meta-heuristics for combinatorial optimization problems is to develop an effective “problem mapping” and “solution generation” mechanism. If these two mechanisms are devised successfully, it is possible to find good solutions to the given optimization problem in an acceptable time. Parsopoulos and Vrahatis [9] conducted the first research on the particle swarm optimization method in multiobjective optimization problems. Kacem et al. [10, 11] proposed a genetic algorithm controlled by the assigned model which was generated by the Approach of Localization (AL) to mono-objective and multi-objective FJSP. They used the integrated approach considering assignment and scheduling at the same time. Rigao [12] developed two heuristics based on tabu search: a hierarchical procedure and a multiple start procedure. Recently, Xia and Wu [3] proposed a hybrid algorithm using Particle Swarm Optimization (PSO) assignment and Simulated Annealing (SA) scheduling to optimize multi-objective FJSP, respectively. To our knowledge, research on multiobjective FJSP is rather limited, and most traditional optimal approaches used only one optimization algorithm for solving multi-objective FJSP. In this chapter, the search mechanism of the particle swarm optimization and tabu search has been taken full advantage of. An effective solution approach is proposed for solving multi-objective FJSP. The proposed approach uses PSO to assign operations on machines and to schedule operations on each machine, and TS is applied to local search for the scheduling sub-problem originating from each obtained solution. The objectives which are considered in this chapter are to minimize maximal completion time, the workload of the critical machine, and the total workload of machines simultaneously. The remainder of this chapter is organized as follows. The formulation and notion of multi-objective FJSP are introduced in Sect. 13.2. Section 13.3 describes the traditional PSO algorithm and summarizes the local search scheme by TS, and then the model of the proposed hybrid algorithm (PSO + TS) is given. At the same time, how to apply it to solve the multi-objective FJSP is described. Section 13.4shows the four representative instances of multi-objective FJSP and the corresponding computational results with the proposed hybrid algorithm. Then, the computational results are compared with other heuristic algorithms in this section. Finally, concluding remarks and further research are given in Sect. 13.5.

13.2 Problem Formulation A general multi-objective minimization problem, which could be defined as minimize a function f(x), with P (P > 1) decision variables and Q objectives (Q > 1), subject to several equality or inequality constraints. More precise definitions of the terms about the multi-objective optimization can be found in Deb [13].

13.2 Problem Formulation

Minimize f (χ ) = ( f 1 (χ ), f 2 (χ ), . . . f q (χ ), . . . f Q (χ ))

253

(13.1)

where  is the feasible solution space, χ = {χ1 , χ2 , . . . χ p , . . . , χ P } is the set of p-dimensional decision variables (continuous, discrete, or integer) (1 ≤ p ≤ P), i.e., a possible solution for the considered problem; f q (χ ) is the qth objective function (1 ≤ q ≤ Q). It is obvious that there does not exist an exact solution to such a problem. However, the multi-objective optimization problem should optimize the different objective functions simultaneously. The FJSP could be formulated as follows. There is a set of n jobs and a set of m machines. M denotes the set of all machines. Each job i consists of a sequence of ni operations. Each operation Oi, j (i = 1, 2, . . . , n; j = 1, 2, . . . , n i ) of job i has to be processed on one machine Mk out of a set of given compatible machines Mi, j (for Mk ∈ Mi, j , Mi, j ⊆ M). The execution of each operation requires one machine selected from a set of available machines. In addition, the FJSP needs to set each operation’s starting and ending time. The FJSP is needed to determine both an assignment and a sequence of the operations on the machines in order to satisfy the given criteria. If there is Mi, j ⊂ M for at least one operation, it is Partial flexibility FJSP (P-FJSP); while there is Mi, j = M for each operation, it is Total flexibility FJSP (T-FJSP) [10, 11]. In this chapter, the following criteria are to be minimized: (1) The maximal completion time of machines, i.e., the makespan; (2) The maximal machine workload, i.e., the maximum working time spent on any machine; (3) The total workload of machines, which represents the total working time over all machines. During the process of solving this problem, the following assumptions are made: (1) Each operation cannot be interrupted during its performance (non-preemptive condition); (2) Each machine can perform at most one operation at any time (resource constraint); (3) The precedence constraints of the operations in a job can be defined for any pair of operations; (4) Setting up time of machines and move time between operations are negligible; (5) Machines are independent of each other; (6) Jobs are independent of each other. The notation used in this chapter is summarized in the following: n: total number of jobs; m: total number of machines; ni : total number of operation of job i; Oi, j : the jth operation of job i; M i, j : the set of available machines for the operation Oi, j ; Pijk : processing time of Oi, j on machine k;

254

13 An Effective Hybrid Particle Swarm Optimization Algorithm …

t ijk : start time of operation Oi, j on machine k; C i, j : completion time of the operation Oi, j ; i, h: index of jobs, i, h = 1, 2, …, n; k: index of machines, k = 1, 2, …, m; j, g: index of operation sequence, j, g = 1, 2, …, ni ; C k : the completion time of M k ; W k : the workload of M k .  χi jk =

1, if machine k is selected for the operation Oi j 0, otherwise

Our model is then given as follows: min f 1 = max (Ck )

(13.2)

min f 2 = max (Wk )

(13.3)

1≤k≤m

1≤k≤m

min f 3 =

m 

Wk

(13.4)

k=1

s.t. Ci j − Ci( j−1) ≥ Pi jk χi jk , j = 2, . . . , n i ; ∀i, j

(13.5)

[(C hg − Ci j − thgk )χhgk χi jk ≥ 0] ∨ [(Ci j − C hg − ti jk )χhg j χi jk ≥ 0], ∀(i, j), (h, g), k (13.6)  χi jk = 1, ∀i, j (13.7) k∈Mi, j

Inequity (13.5) ensures the operation precedence constraint. Equation (13.6) ensures each machine could process only one operation each time. Equation (13.7) states that one machine could be selected from the set of available machines for each operation. Many studies have been devoted to the subject of multi-objective meta-heuristic optimization and the developed methods to solve multi-objective optimization can be generally classified into three different types [14]. (1) The transformation toward a mono-objective problem consists of combining the different objectives into a weighted sum. Methods in this class are based on utility functions or E-Constraint and goal programming; (2) The non-Pareto approach utilizes operators for processing the different objectives in a separated way;

13.2 Problem Formulation

255

(3) The Pareto approaches are directly based on the Pareto-optimality concept. They aim at satisfying two goals: converging toward the Pareto front and also obtaining diversified solutions scattered all over the Pareto front. The objective function of this chapter is based on the first type. The weighted sum of the above three objective values is taken as the objective function (see Sect. 13.3.4).

13.3 Particle Swarm Optimization for FJSP Particle swarm optimization is an evolutionary computation technique proposed by [15, 16]. The main principle of PSO is based on a discovery of natural scientists: in order to search food, each member in a flock of birds determines its velocity based on their personal experience as well as information gained through interaction with other members of the flock. Each bird, called particle, flies through the solution space of the optimization problem searching for the optimum solution and thus its position represents a potential solution for the problem. PSO algorithm simulates the behavior of flying birds and their means of information exchange to solve optimization problems.

13.3.1 Traditional PSO Algorithm PSO algorithm is initialized with a population of random candidate solutions, conceptualized as particles. Each individual in PSO flies in the search space with a velocity which is dynamically adjusted according to its own flying experience and its companions’ flying experience. Each individual is treated as a volumeless particle (a point) in the p-dimensional search space. The tth particle is denoted by χt = (χt1 , χt2 , . . . χtd ). The rate of the position change (velocity) for particle t is represented as Vt = (vt1 , vt2 , . . . vtd ). During each iteration, the tth particle is updated by the following two best values: Pl (which is also called pbest) and Pg (which is also called gbest).Pl = ( pl1 , pl2 , . . . , pld ), which is the best solution (local best solution) that the tth particle has achieved so far, and Pg = ( pg1 , pg2 , . . . , pgd ), which is the best solution (global best solution) obtained in the swarm so far. Each particle is updated iteratively according to the following equations: vtd = w × vtd + c1 × rand() × ( pld − χtd ) + c2 × Rand() × ( pgd − χtd ) (13.8) χtd = χtd + vtd

(13.9)

where ω is the inertial weight. It is used to control the amount of the previous velocity between the global exploration and local exploitation abilities of the swarm. c1 and c2 are two positive constants, and they represent the weight of the stochastic acceleration

256

13 An Effective Hybrid Particle Swarm Optimization Algorithm …

terms that pull each particle toward Pl and Pg positions, rand() and Rand() are two random functions in the range [0, 1]. For Eq. (13.8), in traditional PSO, updating of the velocity consists of the following three parts.w×vtd is referred to as “momentum” part which represents the influence of the last velocity toward the current velocity.c1 ×rand()×( pld −χtd ) is the “cognitive” part, which represents the primitive thinking by itself. c2 × rand() × ( pgd − χtd ) is the “social” part, which represents the cooperation among the particles. The process of implementing the traditional PSO algorithm is summarized as follows. Step 1: Initialize a swarm of particles with random positions Xt and velocities Vt in the p-dimensional problem search space; Step 2: Evaluate each particle by fitness function; Step 3: Update pbest and gbest value of the current particle by comparing particle’s fitness value with particle’s pbest and gbest. If current pbest value is better than old pbest, set pbest value equal to the current value, and the pbest position equal to the current position in the p-dimensional space; in the same way, if current gbest value is better than old gbest, reset current gbest to the current particle’s fitness value; Step 4: Update the position and velocity of the particle according to Eqs. (13.8) and (13.9), respectively; Step 5: If the termination criterion which is usually a sufficiently good fitness or a specified number of generations is not met, then go to Step 2; otherwise, go to Step 6; Step 6: Output solutions. The traditional PSO comprises the basic optimization concept that individuals are evolved by cooperation and competition among the individuals to accomplish a common goal. In the search process, each particle of the swarm shares the mutual information globally and benefits from the discoveries and previous experiences of all other colleagues. The velocity–displacement model in the traditional PSO algorithm is just one concrete implementation of the optimization concept. Due to the limitations of the velocity–displacement model, it is difficult for the traditional PSO to address combinatorial optimization problems without modification.

13.3.2 Tabu Search Strategy Tabu search [17] is a meta-heuristic algorithm that has been successfully applied to a variety of scheduling problems among other combinatorial problems. Tabu search allows the search to explore solutions that do not decrease the objective function value if these solutions are not forbidden. It is usually obtained by keeping track of the last solutions in terms of the action used to transform one solution to the next. It consists of several elements called the specification of a neighborhood structure, the move attributes, the tabu list length, aspiration criterion, and stopping rules.

13.3 Particle Swarm Optimization for FJSP

257

TS is one of the most efficient local search strategies for scheduling problems. In this study, it has been adopted as a local search strategy for every particle. At the same time, we choose the neighborhood used in [8]. This neighborhood function is very efficient and very easy to implement. It is based on small displacements of the operations on a critical path in the disjunctive graph. The main distribution of the literature [8] is the reduction of the set of neighbors of a solution while proving that the resulting subset contains the best neighbors. Besides, an efficient approach to calculate every possible neighborhood subset is also developed in this chapter. The parameters of TS could be characterized as follows: a couple (v, k) is the tabu element, where v is the operation being moved and k is the machine to which v is assigned before the move. T is the tabu list. T l is the tabu status length, it is equal to the number of operations of the current critical path plus the number of alternative machines available for operation v. s is represented as a feasible solution of FJSP. V (s) is the neighbor of s. ObjFun(s) is the objective function value of s. ObjFun* is the current minimum value. CurInterNum is the current iteration number. MaxIterNum is the number of iterations that the tabu search performs. s* is the best solution that TS procedure has achieved. The pseudocode could be summarized as follows. Step 1: Initialization; //set the MaxIterNum value; //set CurInterNum = 0, T = Ø, ObjFun* = ObjFun(s*), s = s*; Step 2: CurInterNum = CurInterNum + 1. Get the current neighbors V (s); Step 3: Evaluate the current solution; //get the best move v ∈ V (s), new solution s’ and the new tabu list T ; //set s = s’, T = T ’; Step 4: If ObjFun (s) < ObjFun *, set ObjFun * = ObjFun (s) and s* = s; else go to Step 5; Step 5: If CurInterNum ≤ MaxIterNum, go to Step 2; else stop the iteration and return the new solution s*. In the proposed hybrid algorithm, when a particle is to perform a local search, it should be converted to a feasible solution of FJSP at first. Then the solution is used as the initial solution of TS. Besides, the output solution achieved by TS should be encoded to create a feasible particle.

13.3.3 Hybrid PSO Algorithm Model PSO possesses high search efficiency by combining local search (by self-experience) and global search (by neighboring experience). TS as a local search algorithm employs a certain probability to avoid becoming trapped in a local optimum. By reasonably hybridizing these two methodologies, a hybrid particle swarm optimization algorithm model could be proposed to omit the concrete velocity–displacement

258

13 An Effective Hybrid Particle Swarm Optimization Algorithm …

updating method in traditional PSO for the multi-objective FJSP. The hybrid PSO algorithm model could be represented with the following pseudocode. Step 1: Set the parameter’ values; //set the population size (denoted by Ps); //set the maximum number of generation (denoted by Gen), w, c1 , c2 ; //set the MaxIterNum value, CurInterNum = 0, T = ∅; Step 2: Initialize the population stochastically according to the encoding scheme; Step 3: Evaluate each particle’s objective value in the swarm, and compare them, then set the pbest position with a copy of particle itself and gbest position as the particle with the lowest fitness in the swarm; Step 4: If the termination criterion which is usually a sufficiently good fitness or if a specified number of generations are not met, then go to Step 5; otherwise, go to Step 9; Step 5: Set CurInterNum = CurInterNum + 1; Step 6: Information exchange; Step 7: Convert current particle to an FJSP scheduling solution; start TS procedure from this solution for certain steps; replace the current particle with the new solution s* obtained by TS; Step 8: Evaluate the particles in the swarm once again, and update the current particle; //update the current particle using its own experience; //update the current particle using the whole population’s experience; then go to Step 4; Step 9: Output computational results. According to the implementing process of the proposed hybrid algorithm above, each particle obtains updated information from its own and the swarm’s experiences at first, and then converts current particle to an FJSP scheduling solution for local search using tabu search. And PSO uses the best solutions to continue the search until it meets the termination condition. From the pseudocode above, the key step to implement the hybrid particle swarm optimization algorithm model is by defining the particle’s effective encoding scheme. Effective information exchange method and local search method are needed too. Besides, a proper strategy should be defined to balance the exploitation and exploration. In our proposed algorithm, the tabu search is adopted for the local search method and it has been presented in Sect. 13.3.2. In the following sections, the details of the hybrid algorithm will be introduced separately especially fitness function, encoding scheme, and information exchange.

13.3.4 Fitness Function Fitness function is used to evaluate each particle in the swarm. Each individual in the swarm will be evaluated for the combined objective function of f 1 , f 2, and f 3 ,

13.3 Particle Swarm Optimization for FJSP

259

according to the description in Sect. 13.2. The first method that the different objectives are transformed into one objective is adopted in this chapter. Combined objective function: Minimize F = w1 × f 1 + w2 × f 2 + w3 × f 3

Subject to :

⎧ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎩

(13.10)

w1 ∈ (0, 1) w2 ∈ (0, 1) w3 ∈ (0, 1) w1 + w2 + w3 = 1

where w1 , w2 , w3 are weights. w1 , w2 , w3 could set different values upon requirement. In every generation, after evaluating each particle, the lowest fitness will be superior to other particles and should be reserved in the next generation during the search process.

13.3.5 Encoding Scheme Chromosome representation is the first important task for the successful application of PSO to solve the multi-objective FJSP. Mesghouni et al. [18] used a parallel machine and parallel job representation. A chromosome representation is represented by a matrix where each row consists of a set of ordered operations. The offspring requires a repair mechanism and decoding the representation is complexity. Chen et al. [19] divided the chromosome into two parts: A string and B string to represent. The chromosome representation must consider the order of operations, and a repair mechanism to maintain feasibility is required. While Kacem et al. [10, 11] used an assignment table representation, in this chapter we used improved A-string (machines) and B-string (operations) representation that could be used by PSO to solve the multi-objective FJSP efficiently and avoid the use of a repair mechanism. A-string defines the routing policy of the problem, and B-string defines the sequence of the operations on each machine. The elements of the strings, respectively, describe a concrete allocation of operations to each machine and sequence of operations on each machine. We use an array of integer values to present A-string. The integer values are equal to the index of the array of alternative machine set M i, j of each operation Oi, j , and the integer values between 1 and ni . The length of the array is equal to the sum of all operations of all jobs. To explain this approach, we choose the following example (with total flexibility, i.e., each machine could be selected for an operation) in Table 13.1 (see Sect. 13.4.1). The problem is to execute 4 jobs on 5 machines. One possible encoding of the A-string part is shown in Fig. 13.1. The length is 12 (i.e., 3+3+4+2). For instance, M 4 is selected to process O1, 1 , because the value in the array of the alternative machine

260

13 An Effective Hybrid Particle Swarm Optimization Algorithm …

Table 13.1 Problem 4 × 5 with 12 operations (total flexibility) Job

Oi,j

M1

M2

M3

M4

M5

J1

O1,1

2

5

4

1

2

O1,2

5

4

5

7

5

O1,3

4

5

5

4

5

O2,1

2

5

4

7

8

O2,2

5

6

9

8

5

O2,3

4

5

4

54

5

O3,1

9

8

6

7

9

O3,2

6

1

2

5

4

O3,3

2

5

4

2

4

O3,4

4

5

2

1

5

O4,1

1

5

2

4

12

O4,2

5

1

2

1

2

J2

J3

J4 f *1

= 16,

f *2

= 7,

f *3

= 32

Fig. 13.1 A-string encoding

set of O1, 1 is 4. The value might also be equal to 5 because operation O1, 1 could be processed on 5 machines M 1 , M 2 , M 3 , M 4 , M 5 , the valid values are between [2, 5]. This demonstrates an FJSP with recirculation if more than one operation of the same job is processed on the same machine. For example, O1, 1 and O1, 3 belong to job 1 and they are processed on the same machine M 2 . If only one machine could be selected for some operations, the value is 1 in the A-string array. B-string has the same length as the A-string. It consists of a sequence of job numbers in which job number i occurs ni times. It can avoid creating an infeasible schedule when replacing each operation by the corresponding job index. Take Table 13.1 for instance, one B-string may be 2-1-3-3-2-4-1-3-4-2-1-3. Read the data from left to right, the B-string could be translated into a list of ordered operations:

13.3 Particle Swarm Optimization for FJSP

261

O2, 1 –O1, 1 –O3, 1 –O3, 2 –O2, 2 –O4, 1 –O1, 2 –O3, 3 –O4, 2 –O2, 3 –O1, 3 –O3, 4 . When a particle is decoded, B-string is converted to a sequence of operations at first. Then each operation is assigned to a processing machine according to A-string. Through this coding scheme, it may easily use the same structure to represent total flexibility or partial flexibility, and every particle could decode a feasible FJSP schedule effectively.

13.3.6 Information Exchange According to the proposed hybrid algorithm model, each particle’s updating method has not been defined. Particles could obtain generation information in various ways. Therefore, in order to deal with the combinatorial optimization problems, effective available updating methods could be designed to implement the particle swarm optimization model. In the proposed hybrid algorithm, each particle exchanges information by performing a crossover operation. The two strings of each particle perform crossover separately. A two-point crossover is implemented in the A-string. In this operation, two positions are selected by randomly generating two numbers at first, and then two new strings are created by swapping all characters between the positions of the two parent strings. The procedure could be illustrated as shown in Fig. 13.2. The crossover operation of B-string is different from A-string. Two parent strings selected from swarm are denoted as p1 and p2 , then their two children strings are c1 and c2 . According to the previous coding scheme, the procedure could be described as follows: all jobs are divided into two groups JG1 and JG2 randomly. Any element in p1 /p2 that belongs to JG1 /JG2 will be retained in the same position in c1 /c2 . Then delete the elements that are already in the JG1 /JG2 from p1 /p2 . And the empty positions in c1 /c2 will be orderly filled with the elements of p2 /p1 that belong to their previous sequence. Figure 13.3 illustrates the procedure. In order to maintain diversity of the swarm and ensure to obtain feasible solutions, we adopted mutation operation in a genetic algorithm. Mutation operation is only

Fig. 13.2 A-string crossover operation

262

13 An Effective Hybrid Particle Swarm Optimization Algorithm …

Fig. 13.3 B-string crossover operation

performed by the B-string of each particle. In this operation, two positions are selected by randomly generating two numbers, and the substring between the positions are inverted to get a new B-string, and then the new B-string replaced the previous B-string.

13.4 Experimental Results To illustrate the effectiveness and performance of the hybrid algorithm (PSO+TS) proposed in this chapter, the algorithm procedure was implemented in C++ on a personal computer with Pentium IV 1.8 G CPU. Four representative instances based on practical data have been selected. Each instance can be characterized by the following parameters: number of jobs (n), number of machines (m), and each operation Oi, j of job i. Four problem instances (problem 4 × 5, problem 8 × 8, problem 10 × 10, and problem 15 × 10) are all taken from Kacem et al. [10, 11]. The parameters of the hybrid algorithm are as follows. Set the particle swarm size PS = 100, the maximum number of iterations Gen = 50, and the number of iterations that the tabu search performs MaxIterNum = 50, c1 and c2 are set to 2. The inertial weights are chosen as the same set as in Xia and Wu [3].

13.4.1 Problem 4 × 5 Firstly, we use a small-scale instance to display the optimizing ability and evaluate the effectiveness of our hybrid algorithm. This instance is taken from Kacem et al. [11]. We have applied it to the instance in Table 13.1. The best values by our hybrid algorithm (PSO+TS) are shown as follows: Solution: Makespan = 11, Max(Wtw ) = 10, Wtw = 32.

13.4 Experimental Results Table 13.2 Comparison of results on problem 4 × 5

263 AL + CGA

PSO + TS

Makespan

16

11

Max(W tw )

10

10

W tw

34

32

where makespan is maximum complete time, Max(Wtw ) is used to represent the critical machine workload, and Wtw represents the total workload of all machines. The comparison of our hybrid algorithm with other algorithms is shown in Table 13.2. f *1 , f *2 , f *3 denote the lower bound of the solutions, respectively, according to the literature [11]. In Fig. 13.4, the solution is shown by Gantt chart. J1, 1 (job, operation) denotes the first operation of job 1, and so on. And blocks with shadow represent the machine idle periods. The computational time of the proposed approach is 0.34 s. The column labeled “AL+CGA” refers to Kacem et al. [11], and the next label refers to the computational results of our algorithm. From Table 13.2 we could obviously see that the proposed hybrid algorithm has reduced two objectives under the same value of Max(Wtw ): the makespan (11 instead of 23) and the Wtw (32 instead of 34). By comparing the data in these two columns, it is clearly shown that the proposed novel hybrid algorithm is effective.

Fig. 13.4 Optimization solution of problem 4 × 5 (makespan = 11, Max(Wtw = 10, Wtw = 32)

264

13 An Effective Hybrid Particle Swarm Optimization Algorithm …

13.4.2 Problem 8 × 8 Table 13.3 displays the instance of the middle-scale problem 8 × 8. The computational results of the proposed hybrid algorithm are shown in the following: Solution 1: Makespan = 14, Max (W tw ) = 12, W tw = 77. Solution 2: Makespan = 15, Max (W tw ) = 12, W tw = 75. The solution 1 representation is shown in Fig. 13.5. The average computational time is 1.67 s under the mentioned computer’s configuration. In Table 13.4, the column labeled “Temporal Decomposition” refers to F. Chetouane’s method [10] and the next column labeled “classic GA” refers to the classical genetic algorithm. “Approach by Localization” and “AL+CGA” are two algorithms by Kacem et al. [10, 11], and the next column labeled “PSO+SA” refers to Xia and Wu [3]. From Table 13.4, by comparison with other algorithms, the effectiveness of our proposed hybrid algorithm is shown obviously.

13.4.3 Problem 10 × 10 A middle-scale instance which is taken from Kacem et al. [11] is shown in Table 13.5. And it was taken to evaluate the efficiency of our proposed hybrid algorithm. The computational results obtained by the proposed hybrid algorithm are given in the following: Solution: Makespan = 7, Max (W tw ) = 6, W tw = 43. The schedule’s Gantt chart representation corresponding to the solution is shown in Fig. 13.6. The computational time is 2.05 s. The comparison of our hybrid algorithm with other algorithms is shown in Table 13.6. The column labeled “Temporal Decomposition” refers to F. Chetouane’s method [10] and the next column labeled “classic GA” refers to classical genetic algorithm. “Approach by Localization” and “AL+CGA” are two algorithms by Kacem et al. [10, 11], and the next column labeled “PSO+SA” refers to Xia and Wu [3]. From Table 13.2, it is shown that the proposed hybrid algorithm has reduced one objective under the same value of Max(Wtw ). And makespan comparing the “PSO+SA”: the Wtw (43 instead of 44). Table 13.6 shows our hybrid algorithm’s effectiveness by comparison with other algorithms.

J7

J6

J5

J4

J3

5

10

O6,3

O7,1

11

O6,2

11

O5,4

6



O5,3

O6,1

10

O5,2

4

O4,3

3

12

O4,2

O5,1

3

1

O3,3

O4,1



O3,2

10

O2,4

10



O2,3

O3,1

5



O2,2



O1,3

O2,1

10

O1,2

J2

5

O1,1

J1

M1

Oi,j

Job

8





4

5

7

9

9

6

6

11

1

4

10



10

8

7

10



3

M2

Table 13.3 Problem 8 × 8 with 27 operations (partial flexibility) M3

2

9

9

1



8

7

7

2

7

6

5

6



9



5

3



5

5

6

10

9

4

6

7

4

8

10

8

5

6

4

7

6

5

2

9

5

8

3

M4

9

7

11

9

6

7

4

9

9

3

10



8

6

4

6

6

8

6

3

3

M5

M6





7

9

5

2

8



9

5

7

10

9

5

7

4

7



2

9



M7

10

10

6



3

7

6

10

5

6

8



10

2



1

10

9

4

9

10

6

7

9

4

7

4

7

9



– (continued)

4

10













5

6

9

M8

13.4 Experimental Results 265

7

9

9

O8,2

O8,3

O8,4



O7,3

2



O7,2

O8,1

M1

Oi,j

f *1 = N/A, f *2 = N/A, and f *3 = N/A

J8

Job

Table 13.3 (continued)



9

4

8

8

9

M2

M3

3



7

5

9



7

8

8

9

3

9

M4

M5



1

5

9

8

11

5

6



4

6

9

M6

M7

8

7

10





10



– 1

10

10

5

M8

266 13 An Effective Hybrid Particle Swarm Optimization Algorithm …

13.4 Experimental Results

267

Fig. 13.5 Optimization solution of problem 8 × 8 (makespan = 14, Max (W tw ) = 12, W tw = 77)

13.4.4 Problem 15 × 10 To evaluate the efficiency and validity of our algorithm on larger scale problems, we have chosen the instance shown in Table 13.7 which is taken from Kacem et al. [11]. The best computational results by our hybrid algorithm are shown in the following: Solution: Makespan = 11, Max (W tw ) = 11, W tw = 93. The computational result’s schedule is represented by Gantt chart in Fig. 13.7. The computational time is 10.88 s under the mentioned computer’s configuration. The comparison of our hybrid algorithm with other algorithms is shown in Table 13.8. From Table 13.8, we know that the proposed hybrid algorithm has reduced the makespan (11 instead of 23) and the Wtw (93 instead of 95) under the same values

19

19

91

Makespan

Max(W tw )

W tw

Temporal decomposition

77

11

16

Classic GA

Table 13.4 Comparison of results on problem 8 × 8

75

13

16

Approach by localization

79

13

15

75

13

16

AL+CGA

75

12

15

PSO+SA

73

13

16

77

12

14

PSO+TS

75

12

15

268 13 An Effective Hybrid Particle Swarm Optimization Algorithm …

J7

J6

J5

J4

J3

1

3

5

O7,3

4

O6,3

O7,2

7

O7,1

8

6

O5,3

O6,2

5

O6,1

7

7

O4,3

O5,2

4

O5,1

5

7

O3,3

O4,2

9

O4,1

8

6

O2,3

O3,2

4

O3,1

2

O2,2

3

O1,3

O2,1

4

O1,2

J2

1

O1,1

J1

M1

Oi,j

Job

4

8

7

7

3

9

1

6

10

3

2

10

1

3

5

11

8

10

2

1

4

M2

2

1

8

3

12

10

4

3

4

12

3

6

8

6

8

2

7

4

5

1

6

M3

Table 13.5 Problem 10 × 10 with 30 operations (total flexibility) M4

1

2

3

6

5

8

1

9

5

1

8

4

5

1

9

7

1

5

1

3

9

2

3

4

3

4

4

10

8

6

6

7

9

4

2

4

5

9

9

5

4

3

M5

1

6

9

4

3

2

4

2

3

5

4

5

9

6

3

3

6

8

6

8

5

M6

8

11

4

1

6

7

3

8

5

8

6

1

1

4

5

5

1

4

9

10

2

M7

14

2

13

5

9

8

11

6

15

3

9

7

2

1

3

14

10

15

5

4

8

M8

5

13

10

1

2

3

13

1

2

5

8

1

3

7

8

9

7

8

10

11

9

M9

(continued)

7

3

7

11

15

10

9

7

6

2

4

6

4

2

1

2

1

4

3

4

5

M 10

13.4 Experimental Results 269

f *1 =7, f *2 =

J 10

5,

9

O10,3

= 41

3

f *3

4

8

O9,3

O10,2

4

O10,1

3

O9,2

6

O8,3

O9,1

8

O8,2

J9

5

O8,1

J8

M1

Oi,j

Job

Table 13.5 (continued)

2

1

3

5

6

9

2

3

7

M2

M3

4

8

1

4

2

1

13

10

11

M4

2

1

6

8

5

3

5

7

3

3

9

7

6

7

8

4

5

2

M5

5

4

1

1

3

1

3

13

9

M6

2

1

2

2

1

6

5

4

8

M7

4

4

6

3

9

7

7

6

5

M8

M9

10

17

20

10

6

5

9

8

12

23

15

6

12

7

4

5

4

8

M 10

270 13 An Effective Hybrid Particle Swarm Optimization Algorithm …

13.4 Experimental Results

271

Fig. 13.6 Optimization solution of problem 10 × 10 (makespan = 7, Max (W tw ) = 6, W tw = 43) Table 13.6 Comparison of results on problem 10 × 10 Temporal decomposition

Classic GA

Approach by localization

AL+CGA

PSO+SA

PSO+TS

Makespan

16

7

8

7

7

Max(W tw )

16

7

6

5

6

7 6

W tw

59

53

46

45

44

43

of Max (W tw ) (11) compared with “AL+CGA”. Table 13.8 shows our hybrid algorithm’s effectiveness and validity by comparison with other algorithms on a large scale. In this chapter, we have applied our hybrid algorithm to solve the problems ranging from small scale to large scale. The testing results showed that the proposed algorithm performed at the same level or better with respect to the three objective functions in almost all instances, when compared to the results from the other alternative solution methods. And all results could be got in the reasonable computational time. It proves that our hybrid algorithm is efficient and effective.

J6

J5

J4

J3

6

O54

4

6

O5,3

O6,1

5

11

O4,4

O5,2

9

O4,3

6

8

O5,1

6

7

O3,4

O4,2

4

O3,3

O4,1

5

O3,2

9

O2,4

7

8

O2,3

O3,1

6

O2,2

10

O14

4

2

O1,3

O2,1

1

O1,2

J2

1

O1,1

J1

M1

Oi,j

Job

1

5

2

4

9

4

6

5

2

3

2

10

1

3

5

11

8

4

5

1

4

M2

3

4

4

6

2

5

2

7

5

12

3

6

8

6

8

2

7

5

1

3

6

M3

Table 13.7 Problem 15 × 10 with 56 operations (total flexibility)

2

2

3

3

3

6

4

4

4

1

8

4

5

1

9

7

1

9

5

4

9

M4

6

3

6

5

5

2

5

1

1

6

7

9

4

2

4

5

9

8

6

8

3

M5

9

2

5

2

8

7

1

2

2

5

4

5

9

6

3

3

6

4

9

10

5

M6

8

5

2

28

7

5

3

36

3

8

6

1

1

4

5

5

1

15

5

4

2

M7

5

4

4

7

4

4

6

5

6

3

9

7

2

1

3

14

10

8

10

11

8

M8

4

7

7

4

1

2

5

8

5

5

8

1

3

7

8

9

7

4

3

4

9

M9

(continued)

2

5

9

5

2

1

2

5

4

2

4

6

4

2

1

2

1

4

2

3

4

M 10

272 13 An Effective Hybrid Particle Swarm Optimization Algorithm …

J 12

J 11

J 10

J9

J8

J7

Job

5

4

O11,4

O12,2

3

O11,3

9

2

O12,1

1

3

O10,4

O11,2

6

O10,3

O11,1

2

O10,2

9

O9,4

5

20

O9,3

O10,1

2

1

O8,4

O9,2

3

O8,3

6

4

O9,1

2

O8,2

2

O8,1

1

O7,2

1

O6,2

O7,1

M1

Oi,j

Table 13.7 (continued)

8

8

1

6

3

2

2

3

5

8

8

17

3

3

2

5

5

3

1

4

3

M2

9

5

45

2

6

3

5

2

6

7

7

12

2

2

36

4

6

6

4

2

6

M3

5

6

6

5

3

6

6

5

9

4

4

5

12

22

5

2

2

2

5

5

5

M4

4

3

2

8

2

5

5

4

8

56

5

9

15

44

2

5

3

5

2

3

4

M5

75

6

4

4

1

2

8

7

5

3

8

6

10

11

3

49

5

4

3

6

7

M6

63

5

1

6

4

1

7

4

4

2

7

4

12

10

6

8

4

1

5

9

5

M7

6

2

25

3

10

4

4

5

2

5

4

7

14

23

4

5

1

5

4

8

4

M8

5

4

2

2

12

2

5

2

5

4

56

5

18

5

11

4

2

8

2

5

6

M9

(continued)

21

2

4

5

1

1

2

1

4

1

2

6

16

1

2

5

5

7

5

4

5

M 10

13.4 Experimental Results 273

f *1

= 23,

J 15

J 14

J 13

Job

f *2

f *3

6

O15,4

= 91

4

O15,3

= 10, and

5

8

O14,4

O15,2

3

O14,3

2

6

O15,1

2

3

O134

O14,2

5

O13,3

O14,1

3

O13,2

8

O12,4

4

12

O12,3

O13,1

M1

Oi,j

Table 13.7 (continued)

2

5

6

5

5

25

2

3

2

4

5

2

7

5

M2

11

2

2

6

6

4

4

5

5

5

4

5

9

4

M3

14

3

5

8

4

8

5

4

6

8

7

6

5

6

M4

2

5

4

5

2

5

8

6

5

5

5

8

6

3

M5

3

2

2

6

3

6

6

5

4

4

8

5

3

2

M6

6

8

5

3

6

3

5

4

8

6

6

6

2

5

M7

5

4

3

2

8

2

4

85

5

5

6

4

5

4

M8

4

7

2

5

5

5

2

5

6

4

3

6

8

2

M9

8

5

5

4

4

4

6

5

4

2

2

2

4

5

M 10

274 13 An Effective Hybrid Particle Swarm Optimization Algorithm …

13.4 Experimental Results

275

Fig. 13.7 Optimization solution of problem 15 × 10 (makespan = 11,Max(Wtw ) = 11, Wtw = 93) Table 13.8 Comparison of results on problem 15 × 10 AL+CGA

PSO+SA

PSO+TS

Makespan

23

24

12

11

Max(W tw )

11

11

11

11

W tw

95

91

91

93

276

13 An Effective Hybrid Particle Swarm Optimization Algorithm …

13.5 Conclusions and Future Research In this chapter, an effective hybrid particle swarm optimization algorithm is proposed to solve the multi-objective flexible job shop scheduling problems. The performance of the presented approach is evaluated in comparison with the results obtained from other authors’ algorithms for four representative instances. The obtained computational results and time demonstrated the effectiveness of the proposed approach. And a more comprehensive computational study should be made to test the efficiency of the proposed solution technique. The future research directions include the following: (1) Designing more efficient information sharing mechanisms and more effective local search strategies for solving multi-objective FJSP; (2) Developing effective theory and algorithm for this complex combinatorial optimization problem is still needed; (3) Applying PSO to other useful extensions research directions.

References 1. Sonmez AI, Baykasoglu A (1998) A new dynamic programming formulation of (n * m) flow shop sequencing problems with due dates. Int J Prod Res 36:2269–2283 2. Garey MR, Johnson DS, Sethi R (1976) The complexity of flow shop and job- shop scheduling. Math Operat Res 1:117–129 3. Xia WJ, Wu ZM (2005) An effective hybrid optimization approach for multi- objective flexible job-shop scheduling problems. Comput Ind Eng 48(2):409–425 4. Lawler El, Lenstra JK, Rinnooy Kan AHG, Shmoys DB (1993) Sequencing and scheduling: Algorithms and complexity. In SC Graves et al. (eds), Logistics of production and inventory. Amsterdam, North Holland, pp 445–522 5. Baykasoglu A, Ozbakir L, Sonmez AI (2004) Using multiple objective tabu search and grammars to model and solve multi-objective flexible job-shop scheduling problems. J Intell Manuf 15(6):777–785 6. Brandimarte P (1993) Routing and scheduling in a flexible job shop by taboo search. Ann Oper Res 41(3):157–183 7. Hurink E, Jurisch B, Thole M (1994) Tabu search for the job shop scheduling problem with multi-purpose machine. Operat Res Spektrum 15:205–215 8. Mastrolilli M, Gambardella LM (2000) Effective neighborhood functions for the flexible job shop problem. J Sched 3(1):3–20 9. Parsopoulos KE, Vrahatis MN (2002). Recent approaches to global optimization problems through particle swarm optimization. Nat Comput 1(2–3):235–306 10. Kacem I, Hammadi S, Borne P (2002) Approach by localization and multiobjective evolutionary optimization for flexible job-shop scheduling problems. IEEE Trans Syst Man Cybernet Part C 32(1):1–13 11. Kacem I, Hammadi S, Borne P (2002) Pareto-optimality approach for flexible job-shop scheduling problems: hybridization of evolutionary algorithms and fuzzy logic. Math Comput Simul 60:245–276 12. Rigao C (2004) Tardiness minimization in a flexible job shop: a tabu search approach. J Intell Manuf 15(1):103–115

References

277

13. Deb K (2001) Multi-objective optimization using evolutionary algorithms. Wiley, Chichester, UK 14. Hsu T, Dupas R, Jolly D, Goncalves G (2002) Evaluation of mutation heuristics for the solving of multiobjective flexible job shop by an evolutionary algorithm. In Proceedings of the 2002 IEEE international conference on systems, man and cybernetics, vol 5, pp 655–660 15. Kennedy J (1997) Particle swarm: social adaptation of knowledge. In Proceedings of the 1997 IEEE international conference on evolutionary computation, Indianapolis, USA, pp 303–308 16. Kennedy J, Eberhart R (1995) Particle swarm optimization. In Proceedings of the 1995 IEEE international conference on neural network, vol 4(4). Pp 1942–1948 17. Glover F, Laguna M (1997) Tabu search. Kluwer Academic Publishers 18. Mesghouni K, Hammadi S, Borne P (1997) Evolution programs for job-shop scheduling. In Proceedings of the 1997 IEEE international conference on systems, man and cybernetics, vol. 1. pp 720–725 19. Chen H, Ihlow J, Lehmann C (1999) A genetic algorithm for flexible job-shop scheduling. In Proceedings of IEEE international conference on robotics and automation, Detroit, pp 1120– 1125

Chapter 14

A Multi-objective GA Based on Immune and Entropy Principle for FJSP

14.1 Introduction Most of the research on FJSP has been concentrated on a single objective. However, several objectives must be considered simultaneously in the real-world production situation and these objectives often conflict with each other. For an enterprise, different departments have different expectations in order to maximize their own interests. For example, the manufacturing department expects to reduce costs and improve work efficiency, corporate executives want to maximize the utilization of existing resources, and the sales department hopes to better meet the delivery requirements of the customers. It is detrimental to the overall development of enterprises if the interests of any one department are ignored, and it is important to seek a reasonable compromise for scheduling decision-making. Recently, multi-objective FJSP has gained the attention of some researchers. Kacem et al. [1–3] used an approach by localization and multi-objective evolutionary optimization and proposed a Pareto approach based on the hybridization of Fuzzy Logic (FL) and Evolutionary Algorithms (EAs) to solve the FJSP. Baykaso˘glu et al. [4] presented a linguistic-based meta-heuristic modeling and multiple objective tabu search algorithm to solve the flexible job shop scheduling problem. Xia and Wu [5] proposed a practical hierarchical solution approach for solving MOFJSP. The proposed approach utilizes Particle Swarm Optimization (PSO) to assign operations on machines and Simulated Annealing (SA) algorithm to schedule operations on each machine. Liu et al. [6] proposed the Variable Neighborhood Particle Swarm Optimization (VNPSO) consisting of a combination of the Variable Neighborhood Ssearch (VNS) and Particle Swarm Optimization (PSO) for solving the multi-objective flexible job shop scheduling problems. Ho and Tay [7] presented an efficient approach for solving the multi-objective flexible job-shop by combining

© Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_14

279

280

14 A Multi-objective GA Based on Immune …

evolutionary algorithm and guided local search. They also solved the multi-objective flexible job-shop problems by using dispatching rules discovered through genetic programming [8]. Gao et al. [9] developed a hybrid Genetic Algorithm (GA) for the FJSP with three objectives: min makespan, min maximal machine workload, and min total workload. Zhang et al. [10] combined the PSO algorithm and Tabu Search (TS) algorithm for the multi-objective flexible job shop problem. Xing et al. [11] proposed an efficient search method for multi-objective flexible job shop scheduling problems. Obviously, the optimal solutions for multi-objective problems are not only one generally, they are trade-off solutions between these objectives, thus making the multi-objective problems more difficult than the single-objective problems. Among the above researches, some consider the objectives with priorities, and most of the algorithms solved the multi-objective FJSP problem by transforming it to a monoobjective one through giving each objective a different weight but with the difficulty of assigning a weight for each objective. If objectives are optimized concurrently, the problem is to design the effective search algorithm for some extra steps and the considerable increment of time complexity [12]. Moreover, a key problem for a multi-objective evolutionary algorithm is how to take measures to preserve diversity in the population. In this chapter, an improved GA based on immune and entropy principle is used to solve the multi-objective flexible job shop scheduling problem. In this improved MOGA, the fitness scheme based on Pareto-optimality is applied. The improved GA utilizes a novel chromosome structure in order to prevent the loss or destruction of elite solutions. Advanced crossover and mutation operators are proposed to adapt to this special chromosome structure. The immune and entropy principle is used to keep the diversity of individuals and overcome premature convergence. The remainder of the chapter is organized as follows. In Sect. 14.2, the multiobjective flexible job shop scheduling problem is introduced. Some basic concepts about multi-objective optimization are introduced in Sect. 14.3. In Sect. 14.4, the scheme of the multi-objective GA based on immune and entropy principle for MOFJSP is elaborated. In Sect. 14.5 the computational results and the comparison with other approaches are presented. The final conclusions are given in Sect. 14.6. The notation used in this chapter is summarized in the following:

n

total number of jobs

m

total number of machines

ni

total number of operations of job i

Oij

the jth operation of job i

M i,

j

the set of available machines for the operation Oij

Cj

completion time of the job J j

Pijk

processing time of Oij on machine k

x ijk

a decision variable (continued)

14.1 Introduction

281

(continued) F1

makespan (the maximal completion time)

F2

total workload of machines (the total working time of all machines)

F3

critical machine workload (the machine with the biggest workload)

ni

the number of individuals that are dominated by individual i

N

population size of antibody

M

length of antibody (fixed length)

S

size of a symbolic set, which is the total number of the symbols that may appear in the locus of the individual

pkm

probability that the kth symbol appears at the mth locus

H m (N)

entropy of the mth locus of the individual for N antibodies

H k (2)

entropy of the kth locus of the individual for two antibodies

H i, j (2)

average entropy of individual i and individual j

Ci

Density of antibody i

fi

Initial (usual) fitness function of antibody i

K

positive and regulative coefficient

fi

aggregation fitness

pu

processing time of the process u

ST u

start time of the process u

14.2 Multi-objective Flexible Job Shop Scheduling Problem The FJSP is described as follows: there are n jobs ( ji , i ∈ {1, 2, . . . , n}), which need to be processed on m machines (Mk , k ∈ {1, 2, . . . m}). Job J i consists of one or more operations (Oi j , j ∈ {1, 2, . . . , n i }), ni is the total number of operations for job J i ), and operation Oi j is allowed to be executed by one machine out of a given set Mi, j , which is consisted of all the capable machines of the jth operations for job ji . The processing time of the jth operation for job ji on the machine k is denoted by pi jk . The task of scheduling is to assign each operation on the given machines and sequence the operations on all the machines, in order to optimize some objectives. In addition, some restrictions must be met: (1) One machine can process only one job at the same time; (2) One job can be processed only on one machine at one moment, and one operation can’t be broken off when being processed; (3) There aren’t any priority restrictions between the operations for different jobs; (4) All jobs have equal priorities. For example, an FJSP with four jobs and five machines is illustrated in Table 14.1, the number in the table is processing time and the symbol “–” means the operation cannot be processed on the corresponding machine.

282

14 A Multi-objective GA Based on Immune …

Table 14.1 A FJSP with four jobs and five machines Processing time J1

J2

J3

J4

M1

M2

M3

M4

M5

O11

4

5



7



O12



3

2



2

O13

3

2



2

4

O21

2



3



4

O22



7

9

6

5

O23

7



5



6

O31



4

4

8

7

O32

5

6

7



6

O33



4



5

5

O41



4

5

7



O42

6



6

7

8

In this chapter, we aim to minimize the three objectives as below: (1) Makespan (the maximal completion time):

F1 = max{C j | j = 1, . . . , n}

(14.1)

(2) The total workload of machines (the total working time of all machines):

F2 =

ni  n  m 

pi jk xi jk , k = 1, 2, . . . , m

(14.2)

i=1 j=1 k=1

(3) Critical machine workload (the machine with the biggest workload):

F3 = max

n  m 

pi jk xi jk , k = 1, 2, . . . , m

(14.3)

i=1 j=1

where n is the total number of the operations, which need to be processed; m is the total number of machines; C j is the completion time of job J j ; x ijk is a decision variable, and if the jth operation of job J i is processed on the machine k, then x ijk = 1, else x ijk = 0.

14.3 Basic Concepts of Multi-objective Optimization

283

14.3 Basic Concepts of Multi-objective Optimization The general multi-objective optimization problem is described in this form: Minimize y = f (x) = ( f 1 (x), f 2 (x), . . . , f q (x))

(14.4)

where x ∈ R p , and y ∈ R q , p is the number of dimensions of the variable x, and q is the number of sub-objectives. The following two basic concepts that are often used in the multi-objective optimization case are adopted in this chapter too. Non-dominated solutions: A solution a is said to dominate solution b if and only if (1) f i (a) ≤ f i (b),

∀i ∈ {1, 2, . . . , q}

(14.5)

(2) f i (a) < f i (b),

∃i ∈ {1, 2, . . . q}

(14.6)

Pareto-optimality: A feasible solution is called Pareto-optimal when it is not dominated by any other solution in the feasible space. Pareto-optimal set which is also called the Efficient Set is the collection of all Pareto-optimal solutions, and their corresponding allocations in the objective space are called the Pareto-optimal frontier.

14.4 Handing MOFJSP with MOGA Based on Immune and Entropy Principle 14.4.1 Fitness Assignment Scheme In this chapter, the fitness of each individual is determined by the factors of dominance and being dominated. It resembles the fitness assignment scheme in SPEA2 which was firstly proposed by Zitzler [13]. However, different from SPEA2, our proposed scheme doesn’t consider the strength niche because the diversity strategy based on immunity and entropy principle has been applied already. For the non-dominated individuals, the fitness of individual i is defined as follows: fitness(i) = n i /(N + 1)

(14.7)

N is the size of the population, n-i is the number of individuals that are dominated by individual i. For the dominated individuals, the fitness of individual j is defined as follows:

284

14 A Multi-objective GA Based on Immune …



fitness( j) = 1 +

fitness(i).

(14.8)

i∈N DSet,i j

In this equation, NDSet is the set of all the non-dominated individuals, i  j represents that the individual i dominates the individual j.

14.4.2 Immune and Entropy Principle Because of three effects: selection pressure, selection noise, and operation disruption, EAs based on a finite population tend to converge to a single solution, according to Mahfoud [14]. However, the goal of multi-objective optimization is to find a set of non-dominated solutions to the problem or approximate the Pareto front of the problem rather than to obtain only a single solution. A non-niching strategy based on the immune and entropy principle using special fitness calculation is proposed by Cui et al. [15]. The more similar the individuals are located in the current population, the more the reproduction probability of an individual is degraded. This strategy does not require any distance parameter but uses exponential fitness rescaling method based on genetic similarity between an individual and the rest of the population. Immunity is a physiological reaction of a life system, and the immune system can generate the corresponding antibodies to defend the attack from alien agents, which are called antigens. After the combination of antibodies and antigens, a sequence of reactions will take place, which will destroy the antigens by immune phagocytosis. Despite the complexity of the immune system, the immune system has presented the self-adaptive ability to defend the antigens. Antigens and the antibodies can be regarded as the objectives of the optimization problem and the solution individuals, respectively. Then, we can improve evolutionary algorithms by utilizing the self-adaptive mechanism. For the features of the immune system, the self-adaptive mechanism of the immune system has the capabilities to keep immune balance, which is controlling the density of antibodies by inhibiting and boosting them. The process of inhibiting and boosting antibodies can be considered as the inhibiting and boosting of individual reproduction in MOEAs. Here, the antibody of an immune system is taken as an individual in MOEAs. Suppose that N denotes population size, M is the length of the antibody (fixed length), and S denotes the size of the symbolic set. The strategy is described as follows: Step 1: Information-theoretic entropy of antibody. If a random vector X denotes the status feature of an uncertain system (where X = {x1 , x2 , . . . , xn }) and the probability value of X is denoted n by P (where P = { p1 , p2 , . . . , pn }, 0 ≤ pi ≤ 1, i = 1, 2, . . . , n, and, i=1 pi = 1), the information-theoretic entropy of the system is mathematically defined as H =−

n k=1

pk ln( pk ).

(14.9)

14.4 Handing MOFJSP with MOGA Based on Immune and Entropy …

285

An individual generated from an evolutionary process can be thought of as an uncertain system in entropy optimization principle, and the entropy of the mth locus of the individual is defined as Hm (N ) = −

S k=1

pkm ln( pkm )

(14.10)

where pkm denotes the probability that the kth symbol that appears at the mth locus, and it can be calculated as pkm = (total number of the kth symbol that appears at the mth locus among individual s)/N. Step 2: Similarity of antibody. The similarity of antibody indicates a similar extent between individual i and individual j: Ai, j =

1 1 + Hi, j (2)

(14.11)

where Hi, j (2) is the average entropy of individual i and individual j, and it can be calculated according to formula (14.12) as below: Hi, j (2) =

1 M Hk (2) k=1 M

(14.12)

The range Ai, j is within [0, 1]. If the value Ai, j is higher, the individual i is more similar to j. Ai, j = 1 means that the genes of the two individuals are absolutely the same. Step 3: Density of antibody. The density of antibody means the ratio of similar antibodies of antibody i and the population size, and it is denoted by Ci : Ci = (number of antibodies in the population whose antibody similarity to the individual i exceeds λ)/N, where 1 is similarity constant, and generally its range is 0.9 ≤ λ ≤ 1 [15–17]. Step 4: Aggregation fitness. We define aggregation fitness of an individual as a trade-off result of two evaluations: f i = f i × exp(K × Ci )

(14.13)

where f i is initial (usual) fitness function of antibody i, which directly indicates the object of the solving problem; K is a positive and regulative coefficient, which is determined by the size of population and experience. Note that f i , f i are optimized by minimization principle here, namely, if the fitness is lower, the reproduction probability would be higher. If they are optimized by maximization, K must be taken as a negative value.

286

14 A Multi-objective GA Based on Immune …

14.4.3 Initialization The quality of the initial population has a great effect on the performance of an algorithm. At present, the approach by localization proposed by Kacem [1, 2] is often used to generate initial solutions, which takes into account the processing times and workloads of machines on which we have already assigned operations, but with the drawback of lacking diversity and possibly leading to prematurity. In this chapter, a simple and practical strategy is utilized to generate the initial population. Firstly, the operation sequence is generated randomly, and then we select two machines from the set of capable machines for each operation. Secondly, if a random generated number Random (between 0 and 1) is less than 0.8, then choose the one with the shorter processing time on it; else, choose the one with the longer processing time on it.

14.4.4 Encoding and Decoding Scheme For the flexible job shop problem, the representation of each solution in GA consists of two parts, as is illustrated in Fig. 14.1. The first part is used to determine the processing sequence for all the operations, and the other part is used to assign a suitable machine for each operation. By integrating the two parts of representation, a feasible solution can be generated. For example, as shown in Fig. 14.1, for the operation sequence vector, the number of genes equals to the total number of all the operations. The operations of each job are denoted by the corresponding job number; the kth occurrence of a job number refers to the kth operation in the sequence of this job. For example, the operation sequence [121213233] represents the operation sequence [O11 O21 O12 O22 O13 O31 O23 O32 O33 ]. For the machine assignment vector, each number represents the machine assigned for each operation successively. Then the chromosome in Fig. 14.1 represents the below operation sequence and their assigned machines: (O21- , M -1 ), (O11- , M -1 ), (O22- , M -4 ), (O12- , M -3 ), (O13- , M -4 ), (O31- , M -3 ), (O23- , M -5 ), (O32 , M -2 ), (O41- , M -2 ), (O33- , M -2 ), (O42- , M -3 ). According to the processing time in Table 14.1, the sequence of the processing time is [2 4 6 2 2 4 6 6 4 4 6]. Decoding is the process of transferring the chromosomes to the scheduling solutions. Let u denote one operation Oij in the chromosome with the processing time denoted by pu and the start time denoted by ST u , and then the completion time is ST u + pu . For the process u, the job predecessor and the machine predecessor are

Fig. 14.1 Illustration of the chromosome representation

14.4 Handing MOFJSP with MOGA Based on Immune and Entropy …

287

Fig. 14.2 Gantt chart corresponding to the chromosome in Fig. 14.1 by this decoding method

denoted by JP[u] and MP[u], respectively; if they exist, then the starting time of u is determined by the maximal completion time of its job predecessor and machine predecessor. Let all the jobs start to process in time 0, then the starting time of u can be calculated by Eq. 14.14. STu = max(STJ P[u] + p J P[u] , STM P[u] + p M P[u] )

(14.14)

During the decoding stage, we first choose the machine for each operation according to the machine assignment vector, and then determine the sequence of operations according to the operation sequence representation. After transferring the chromosome to the operation sequence and the machine assignment, we can decode according to Eq. 14.14. In this chapter, we introduce an inserting greedy algorithm to determine the sequence of operations on each machine in order to produce active schedules merely. This decoding method is described as follows: Firstly, assign the first operation in the sequence according to the sequence of all the operations. Then, assign the second operation on the corresponding machine in the earliest capable time, and repeat in this way until all the operations are assigned. According to this approach, the Gantt chart which is decoded according to the representation in Fig. 14.1 is shown in Fig. 14.2.

14.4.5 Selection Operator In our algorithm, the selection strategy includes two parts: the method of keeping the best individuals and tournament selection. The method of keeping the best individuals is to copy the 1% best individuals in the parent solutions to the children. The tournament selection strategy is proposed by Goldberg [18], and it works as below: two solutions are selected randomly as the parent solutions firstly if a random number generated between 0 and 1 randomly is smaller than the probability r which usually is set to 0.8, then we select the better one; otherwise, we select the other one; and

288

14 A Multi-objective GA Based on Immune …

then, the selected individual is put back to the population and can be selected as a parent chromosome again.

14.4.6 Crossover Operator In FJSP, it is not only necessary to determine the sequence of the operations, but also assign an appropriate machine for each operation. In our algorithm, crossover operation of the two parts of chromosomes is implemented separately, in which the crossover for the operation sequence utilizes Improved Precedence Operation Crossover (IPOX), while the crossover for the machine assignment vector utilizes Multipoint Preservative Crossover (MPX) suggested by Zhang et al. [19]. IPOX is a modification basing on the Precedence Operation Crossover (POX), which was proposed by Zhang et al. [20], and it is merely utilized to cross the sequence of the operations, and the machine assignment is kept unchanged, while MPX merely crosses the machine assignment vector and keeps the operation sequence unchanged. For example, P1 and P2 are the parents’ chromosomes; C 1 and C 2 are their children chromosomes by crossing. The crossover operator of IPOX works as in Fig. 14.3, and the crossover operator of MPX works as in Fig. 14.4. In our algorithm, the crossover operation works as follows:

J1 = {2, 3}, J 2 ={1, 4} Fig. 14.3 IPOX crossover operation for the operation sequence

Fig. 14.4 MPX crossover operation for the machine assignment

14.4 Handing MOFJSP with MOGA Based on Immune and Entropy …

289

J1 = {2, 3}, J2 = {1, 4} Step 1: Select the operation sequence vectors of the parents P1 and P2 , and all the jobs are randomly divided into two sets J1 and J2 . Step 2: Copy the elements of P1 that are included in J1 to C1 in the same position and copy the elements of P2 that are included in J2 to C2 in the same position. Step 3: Copy the elements of P2 that are included in J2 to C1 in the same order and copy the elements of P1 that are included in J1 to C2 in the same order. Step 4: Select the machine assignment vectors of the parents P1 and P2 . Step 5: Generate a set Rand0_1, which is consisted of integer 0 and 1, and it has the same length as all the chromosomes. Step 6: Exchange the machine assignment number in P1 and P2 in the same place with 1 in set Rand0_1 by turn. Step 7: Copy the rest machines’ numbers in the same position to the next generation C1 and C2 .

14.4.7 Mutation Operator In order to improve the ability of local search and keep the diversity of the population, we adopt mutation operation in our algorithm. For the operation sequence, the mutation operator is implemented as shown in Fig. 14.5; and for the machine assignment, the mutation operation is implemented as shown in Fig. 14.6. The mutation operation works as follows:

Fig. 14.5 Mutation of the operation sequence vector

Fig. 14.6 Mutation of the machine assignment vector

290

14 A Multi-objective GA Based on Immune …

Step 1: Select the operation sequence vector of one parent chromosome; Step 2: Choose a gene randomly, and insert it in a position before a random operation; Step 3: Select the machine assignment vector; Step 4: Choose two genes randomly, and then change each number with one other machine from the set of capable machines for these two operations.

14.4.8 Main Algorithm The algorithm keeps a fixed size of the population. The main algorithm is executed in the following steps: Step 1: Initialize parameters and initial antibodies. Step 2: Calculate the density of antibody and aggregation fitness for each antibody. Step 3: Find all the non-dominated solutions from the current population. Step 4: Evaluate each individual by the aggregation fitness. Step 5: If the termination condition is met, then terminate the search; else go to the next step. Step 6: Copy 1% individuals with the best fitness according to the tournament selection strategy. Step 7: If the fitness of two parent solutions isn’t equal, crossover with probability pc will be performed, and the two best individuals are selected as the child solutions. Then mutation operations with probability pm will be performed. After this step, the children solutions are generated. Step 8: If the terminating condition is satisfied, the algorithm ends; else, go to step 2.

14.5 Experimental Results To test the performance of the algorithm, four representative instances (problem 4 × 5, problem 8 × 8, problem 10 × 10, and problem 15 × 10) taken from Kacem et al. [6] without release date and ten instances Mk01–10 taken from Brandimarte [21] have been taken into this experiment. In our algorithm, the population size is 200, the maximal generation is 200, the crossover probability is 0.8, and the mutation probability is 0.1.

14.5 Experimental Results

291

Table 14.2 Comparison of results on problem 4 × 5 PSO+SA

HPSO

F1



11

11

SM 11

12

11

MOGA 11

12

F2



32

32

34

32

32

34

32

F3



10

10

9

8

10

9

8

Times(s)



0.34

11.219

13.625

12.343

5.8

To illustrate the efficiency of our algorithm, we compare the results with PSO + SA (taken from Xia [5]), HPSO (taken from Zhang [10] and SM (taken from Xing [11]). Our algorithm is named MOGA for short. The computational results and comparisons are given in Tables 14.2, 14.3, 14.4, 14.5, and 14.6. The system was implemented using C++, running on a PC with 2 GHz CPU and 2 GB RAM. The processing time of our algorithm is the average computational time by running ten times, and the processing time of SM is the minimum time for the obtained solution taken from Xing [11]. The symbol “–” means the time hasn’t been given in the chapter. Compared with HPSO, our algorithm performs better or the same for all the problems, although the test shows a relatively larger computational cost. Compared with SM, the computational time of our algorithm is much less. In Table 14.4, for the problem 10 × 10, the results are almost the same with the results by SM, but we can obtain a different Pareto-optimal solution. In Table 14.3, for the problem 8 × 8, although two of the Pareto-optimal solutions obtained by SM are found by our algorithm, it can obtain one new solution which is Pareto-optimal. For the problem 15 × 10, two new Pareto-optimal solutions are obtained in Table 14.5. In Table 14.6, except MK03, we see that our algorithm can obtain at least one solution dominating the solution obtained by SM for the problems MK01–10 and some other Paretooptimal solutions are found simultaneously. For the problem Mk03, our algorithm can obtain one solution which is better for the objectives F 1 and F 3 , but a little worse for the objective F 2 and some other Pareto-optimal solutions. For all the problems, the computational time is much less. In summary, these values show the efficiency of our algorithm, and our algorithm can obtain good solutions with low computational cost. Moreover, we test our algorithm with the problems from Dauzère-Pérès and Paulli [22], which aimed to minimize the makespan. The results are shown in Table 14.7. M & G is the approach proposed by Mastrolilli and Gambardella [23], and there is no other multi-objective optimization algorithm to compare for these problems in the papers. From the data in Table 14.7, our solutions can find some Pareto-optimal solutions simultaneously with a low computational cost. By applying the fitness scheme based on Pareto-optimality to the genetic algorithm, our algorithm is capable to find several optimal solutions simultaneously. Because the genetic algorithm is by nature a multipoint stochastic search method, it is suitable to solve multi-objective problems and is time consuming. Moreover,

15

75

12



F1

F2

F3

Times(s)

PSO+SA

13

73

16

1.67

12

75

15

HPSO

Table 14.3 Comparison of results on problem 8 × 8

12

77

14

70.765

12

75

15

74.219

13

73

16

SM

76.937

11

77

16

70.672

12

77

14

9.5

11

81

15

12

75

15

MOGA

13

73

16

292 14 A Multi-objective GA Based on Immune …

7

44

6



F1

F2

F3

Times(s)

PSO SA

2.05

6

43

7

HPSO

Table 14.4 Comparison of results on problem 10 × 10

57.297

5

42

8

SM 7

53.422

6

42

8

54.812

7

41

8

14.2

5

42

6

42

7

MOGA 8 7

41

7 5

45

14.5 Experimental Results 293

294

14 A Multi-objective GA Based on Immune …

Table 14.5 Comparison of results on problem 15 × 10 PSO+SA

HPSO

SM

MOGA

F1

12

11

11

11

12

11

F2

91

93

91

91

95

98

F3

11

11

11

11

10

10

Times(s)



10.88

194.98

87.5

the immune and entropy principle is used to keep the diversity of individuals, and advanced crossover and mutation operators are proposed to improve the efficiency of our multi-objective genetic algorithm.

14.6 Conclusions Recently, the multi-objective flexible job shop scheduling problem has attracted many researchers’ attention. The complexity of this problem leads to the appearance of many heuristic approaches, and the research is mainly concentrated on the hybrid and evolutionary algorithms. In this chapter, we put forward an efficient modified multi-objective genetic algorithm basing on immune and entropy principle, for solving multi-objective flexible job shop scheduling problems. In our algorithm, the fitness scheme based on Paretooptimality is applied, and efficient crossover and mutation operators are proposed to adapt to the special chromosome structure. Meanwhile, selection pressure of similar individuals can be decreased by combining the immune and entropy principle. The numerical experiments indicate the effectiveness of the proposed approach. However, there are still a number of further works that need to be considered in the future. In the proposed algorithm, we can construct the external archive to store some of the non-dominated solutions produced in the searching process. Some other objectives can be considered for FJSP but not limited to three objectives. Furthermore, some other heuristic algorithms such as PSO and Ant Colony Optimization (ACO) can substitute GA to generate more efficient multi-objective optimization algorithms based on immune and entropy principle.

14.6 Conclusions

295

Table 14.6 Experiment results on problems MK01–10 SM MK01

MK02

MK03

MK04

MK05

MOGA

F1

F2

F3

Times (min)

F1

F2

F3

Times (min)

42

162

42

4.78

42

158

39

0.49

44

154

40

43

155

40

28

204

68

177

155

852

352

702

28

204

67

177

3.02

26.14

17.74

8.26

40

169

36

26

151

26

27

146

27

29

145

27

29

143

29

31

141

31

33

140

33

204

855

199

204

871

144

204

882

135

204

884

133

213

850

199

214

849

210

221

847

199

222

848

199

231

848

188

230

848

177

66

345

63

65

362

63

63

371

61

62

373

61

61

382

60

60

390

59

73

350

55

74

349

54

74

348

55

90

331

76

173

683

173

175

682

175

183

677

183

185

676

185

179

679

179

0.75

4.75

1.76

2.34

(continued)

296

14 A Multi-objective GA Based on Immune …

Table 14.6 (continued) SM MK06

MK07

MK08

MK09

MK10

MOGA

F1

F2

F3

Times (min)

F1

F2

F3

Times (min)

75

431

67

18.79

62

424

55

1.93

65

417

54

60

441

58

62

440

60

76

362

60

76

356

74

78

361

60

73

360

72

72

361

72

150

523

311

227

717

2524

2374

1989

150

523

299

221

5.68

67.67

77.76

122.52

100

330

90

139

693

139

140

686

138

144

673

144

151

667

151

157

662

157

162

659

162

166

657

166

523

2524

515

523

2534

497

524

2519

524

578

2489

578

587

2484

587

311

2290

299

310

3514

299

311

2287

301

314

2315

299

315

2283

299

332

2265

302

329

2266

301

328

2259

308

325

2275

299

224

1980

219

225

1976

211

233

1919

214

4.92

12.04

19.48

17.87

(continued)

14.6 Conclusions

297

Table 14.6 (continued) SM F1

MOGA F2

F3

Times (min)

F1

F2

F3

235

1897

218

235

1895

225

240

1905

215

240

1888

216

242

1913

214

246

1896

215

252

1884

224

256

1919

211

260

1869

215

266

1864

254

268

1858

264

276

1857

256

281

1854

268

217

2064

207

214

2082

204

Times (min)

Table 14.7 Experiment results on problems 01–18a M&G 01a

MOGA

Time(s)

F1

F1

F2

F3

2518

2568

11137

2505

2572

11137

2568

2594

11137

2554

02a

2231

2289

11137

2263

2313

11137

2238

03a

2229

2287

11137

2248

2256

11137

2252

2550

11090

2503

2569

11076

2565

2579

11080

2552

04a

05a

2503

2216

3095

11064

2727

2292

11077

2252

2293

11091

2242

2297

11054

2255

2315

11063

2272

2343

11050

2298

2358

11038

2322

122.5

153.4 174.0 124.2

142.4

(continued)

298

14 A Multi-objective GA Based on Immune …

Table 14.7 (continued) M&G F1

06a

07a

2203

2283

MOGA

Time(s)

F1

F2

F3

2376

11022

2243

2904

10941

2620

2945

10941

2571

3056

10941

2507

2250

11009

2233

2254

10994

2223

2398

10973

2219

2437

10988

2280

2744

10850

2448

2902

10847

2439

2967

10839

2840

2450

16485

2413

2457

16485

2299

2484

16485

2289

16485

2102

08a

2069

2187 2171

16485

2104

09a

2066

2157

16485

2113

2144

16485

2119

10a

11a

12a

2291

2063

2034

2158

16485

2102

2461

16505

2433

2470

16537

2310

2478

16533

2330

2482

16499

2360

2501

16547

2265

2501

16528

2312

2547

16490

2476

3064

16464

2734

2182

16449

2170

2202

16476

2114

2210

16442

2113

2337

16377

2185

2874

16247

2389

2894

16247

2330

2962

16247

2312

2161

16295

2107

2168

16220

2130

2191

16355

2084

185.6

457.8

496.0 609.6

452.8

608.2

715.4

(continued)

14.6 Conclusions

299

Table 14.7 (continued) M&G F1

MOGA

Time(s)

F1

F2

F3

2210

16331

2103

2315

16292

2125

2366

16237

2105

2493

16124

2297

2631

16112

2309

2637

16113

2303

2683

16104

2397

13a

2260

2408

21610

2326

1439.4

14a

2167

2340

21610

2251

1743.2

2334

21610

2258

15a

2167

2285

21610

2247

2287

21610

2218

2447

21602

2354

2450

21590

2380

2487

21584

2454

2492

21576

2417

2540

21547

2396

2550

21545

2492

2568

21540

2428

3013

21478

2588

3106

21478

2548

2322

21433

2240

2322

21362

2280

2323

21454

2238

2343

21420

2224

2480

21344

2285

2528

21313

2231

2789

21198

2448

2808

21200

2303

2816

21197

2370

2267

21483

2235

2269

21408

2206

2320

21354

2208

2437

21311

2221

2531

21285

2310

2545

21282

2305

16a

17a

18a

2255

2141

2137

1997.1 1291.4

1708.0

1980.4

300

14 A Multi-objective GA Based on Immune …

References 1. Kacem I, Hammadi S, Borne P (2002) Approach by localization and multiobjective evolutionary optimization for flexible job-shop scheduling problems. IEEE Sys Man Cybern 32(1):1–13 2. Kacem I, Hammadi S, Borne P (2002) Approach by localization and multiobjective evolutionary optimization for flexible job-shop scheduling problems. IEEE Sys Man Cybern 32(2):172–172 3. Kacem I, Hammadi S, Borne P (2002) Pareto-optimality approach for flexible job-shop scheduling problems: hybridization of evolutionary algorithms and fuzzy logic. Math Comput Simul 60(3–5):245–276 4. Baykaso˘glu A, Özbakir L, Sönmez A (2004) Using multiple objective tabu search and grammars to model and solve multi- objective flexible job shop scheduling problems. J Intell Manuf 15(6):777–785 5. Xia WJ, Wu ZM (2005) An effective hybrid optimization approach for multi-objective flexible job-shop scheduling prob- lems. Comput Ind Eng 48(2):409–425 6. Liu HB, Abraham A, Choi O, Moon SH (2006) Variable neighborhood particle swarm optimization for multi-objective flexible job-shop scheduling problems. Lect Notes Comput Sci 4247:197–204 7. Ho NB, Tay JC (2007) Using evolutionary computation and local search for solving multiobjective flexible job shop problems. In Genetic and Evolutionary Computation Conference, GECCO 2007, London, pp 821–828 8. Tay JC, Ho NB (2008) Evolving dispatching rules using genetic programming for solving multi-objective flexible job-shop prob- lems. Comput Ind Eng 54(3):453–473 9. Gao J, Gen M, Sun LY, Zhao XH (2007) A hybrid of genetic algorithm and bottleneck shifting for multiobjective flexible job shop scheduling problems. Comput Ind Eng 53(1):149–162 10. Zhang GH, Shao XY, Li PL, Gao L (2009) An effective hybrid particle swarm optimization algorithm for multi-objective flexible job-shop scheduling problem. Comput Ind Eng 56(4):1309–1318 11. Xing LN, Chen YW, Yang KW (2009) An efficient search method for multi-objective flexible job shop scheduling problems. J Intell Manuf 20:283–293 12. Lei DM (2009) Multi-objective production scheduling: a survey. Int J Adv Manuf Technol 43(9–10):926–938 13. Zitzler E (1999) Evolutionary algorithms for multiobjective optimization: methods and applications. Dissertation, Swiss Federal Institute of Technology 14. Mahfoud SW (1995) Niching methods for genetic algorithms. Dissertation, University of Illinois at Urbana-Champaign 15. Cui XX, Li M, Fang TJ (2001) Study of population diversity of multiobjective evolutionary algorithm based on immune and entropy principles. In Proceedings of the 2001 Congress on Evolutionary Computation. OPAC, Seoul, pp 1316–1321 16. Shimooka T, Shimizu K (2004) Artificial immune system for personal identification with finger vein pattern. Lect Notes Comput Sci 3214:511–518 17. Xiao RB, Cao PB, Liu Y (2007) Eng Immune Comput. Science Press, Beijing, China 18. Goldberg DE, Deb K (1991) A comparative analysis of selection schemes used in genetic algorithms. In: Rawlins G (ed) Foundations of genetic algorithms. Morgan Kaufmann, San Mateo, pp 69–93 19. Zhang CY, Rao YQ, Li PG, Shao XY (2007) Bilevel genetic algorithm for the flexible job-shop scheduling problem. Jixie Gongcheng Xuebao/Chinese. J Mech Eng 43(4):119–124 In Chinese 20. Zhang CY, Li PG, Rao YQ, Li SX (2005) A new hybrid GA/SA algorithm for the job shop scheduling problem. Lect Notes Comput Sci 3448:246–259 21. Brandimarte P (1993) Routing and scheduling in a flexible job shop by taboo search. Ann Oper Res 41:157–183 22. Dauzère-Pérès S, Paulli J (1997) An integrated approach for modeling and solving the general multiprocessor job-shop sched- uling problem using tabu search. Ann Oper Res 70(3):281–306 23. Mastrolilli M, Gambardella LM (2000) Effective neighborhood functions for the flexible job shop problem. J Schedul 3(1):3–20

Chapter 15

An Effective Genetic Algorithm for Multi-objective IPPS with Various Flexibilities in Process Planning

15.1 Introduction Decision maker could not get a satisfactory result for the whole manufacturing system if process planning and scheduling were optimized independently. In fact, Integrated Process Planning and Scheduling (IPPS) could overcome these above problems well. IPPS could bring significant improvement to the efficiency of manufacturing through removing resource conflicts, decreasing flow time, and work-in-process, improving production resources utilizing and adapting to irregular shop floor disturbances [1]. Therefore, it is important to integrate process planning and scheduling more closely to achieve the global optimum in a manufacturing system. With the development of the market economy, competitions among manufacturers become more and more intense. In order to enhance their competitiveness, manufacturers often need to meet the diverse needs of customers, such as faster processing speed and better quality. Meanwhile, enterprise managers want to reduce manufacturing costs and improve the utilization of machines. Only considering the single objective could not meet the demand from the real-world production [2]. There are many objectives existing in IPPS, such as makespan, total workload of machines, maximal machine workload, and lateness. Decision makers always need to make a trade-off among different objectives while determining a final schedule. The remainder of this chapter is organized as follows: problem description of multi-objective IPPS is given in Sect. 15.2. The workflow of the proposed algorithm and the detailed components in the proposed algorithm are described in Sect. 15.3. Experiments and discussions are given in Sect. 15.4 while Sect. 15.5 is the conclusion and future works.

© Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_15

301

302

15 An Effective Genetic Algorithm for Multi-objective IPPS …

15.2 Multi-objective IPPS Description 15.2.1 IPPS Description Suppose there are n jobs that need to be produced on m machines. Each job has various operations and alternative manufacturing resources. The aim of IPPS is to select suitable manufacturing resources for each job, determine the operations’ processing sequence and the start time of each operation on each machine by satisfying the precedence constraints among operations and achieving several corresponding objectives [3]. In order to describe the mathematical model clearly, the following assumptions should be given at first: (1) Jobs and machines are independent of each other. All jobs have the same priorities. (2) Each machine can only handle one operation at a time. (3) Different operations from one job can’t be processed at the same time. (4) One operation can’t be interrupted when being processed. (5) All the jobs and machines are available at time zero. (6) The transport time is negligible. (7) The setup time for the operations is independent of the operation sequence and is included in the processing time. Based on these assumptions, the mathematical model of multi-objective IPPS addressed in this chapter is stated as follows, which is referred to from [1]. The maximal completion time of machines (makespan), the Maximal Machine Workload (MMW), and Total Workload of Machines (TWM) are taken into account for multi-objective IPPS. In this chapter, the aim of multi-objective IPPS is to minimize these three objectives simultaneously. The notations used to explain the model are described below: n m g¬i p¬il o¬ijl k t¬ijlk c¬ijlk w¬k A

Total number of jobs; Total number of machines; Total number of alternative process plans of job i; Number of operations in the lth alternative process plan of the job i; The jth operation in the lth alternative process plan of job i; Alternative machine corresponding to o¬ijl; The processing time of operation o¬ijl on machine k; The earliest completion time of operation oijl on machine k; The workload of machine k; A very large positive number.  X il =

1 the lth flexible process plan of job i is selected 0 otherwise

15.2 Multi-Objective IPPS Description

 Yi jlpqsk =

303

1 the operation oi jl precedes the operation o pqs on machine k 0 otherwise  1 if machine k is selected for oi jl Z i jlk = 0 otherwise

The following five objectives are considered to be optimized simultaneously. (1) f 1 : Minimizing the maximal completion time of machines (makespan): Min f 1 = makespan = Max ci jlk i ∈ [1, n], j ∈ [1, pil ], l ∈ [1, gi ], k ∈ [1, m]

(15.1)

(2) f 2 : Minimizing the Maximal Machine Workload (MMW): Min f 2 = MMW = maxwk k ∈ [1, m]

(15.2)

(3) f 3 : Minimizing the Total Machine Workload (TMW): Min f 3 = TMW =

m 

wk k ∈ [1, m]

(15.3)

k=1

Subject to: (1) Operation constraint: different operations of one job can’t be processed at the same time. (ci jlk0 × Z i jlk0 × X il ) − (ci( j−1)lk1 × Z i( j−1)lk1 × X il ) + A × (1 − X il ) ≥ (ti jlk0 × Z i jlk0 × X il ) i ∈ [1, n], j ∈ [1, pil ], l ∈ [1, gi ], k0 , k1 ∈ [1, m]

(15.4)

(2) Machine constraint: Each machine can only handle one operation at a time. (c pqsk × Z pqsk × X ps ) − (ci jlk × Z i jlk × X il ) + A × (1 − X il ) + A × (1 − X ps ) +A × (1 − Yi jlpqsk × Z pqsk × X ps × Z i jlk × X il ) ≥ (t pqsk × Z pqsk × X ps ) (ci jlk × Z i jlk × X il ) − (c pqsk × Z pqsk × X ps ) + A × (1 − X il ) + A × (1 − X ps ) +A × (Yi jlpqsk × Z pqsk × X ps × Z i jlk × X il ) ≥ (ti jlk × Z i jlk × X il ) i, p ∈ [1, n], j, q ∈ [1, pil, ps ], l, s ∈ [1, gi, p ], k ∈ [1, m]

(15.5)

(3) Process plan constraint: Only one alternative process plan can be selected for job i. gil  l=0

X il = 1l ∈ [1, gil ]

(15.6)

304

15 An Effective Genetic Algorithm for Multi-objective IPPS …

Table 15.1 Processing information for 3 jobs machined in 5 machines Jobs

Job 1

Processing information Features

Candidate operations

Candidate machines

F1

O1

M1, M2, M3

O2 -O3

M 2 , M 3 /M 1 , M 2

O4

M2, M3, M4

O5 -O6

M 3 , M 5 /M 3 , M 4

F3

O7

M1, M4

F4

O8 -O9

M 3 , M 5 /M 1 , M 5

O10

M4, M5

F5

O11

M1, M3, M4, M5

F2

Job 2

4, 3, 6

Before F 2 , F 3

8, 10, 9 4, 3/5, 7 8, 9

Before F 4

7, 9/5, 8 14, 19 20, 17, 19, 23

F6

O12

M1, M4, M5

O1 -O2

M 2 , M 3 /M 4

F2

O3

M1, M2

O4 -O5

M 1 , M 3 /M 2 , M 5

O6

M3, M4

O7 -O8

M 1 , M 3 /M 2

F1

O1

M2, M4

4, 7

F2

O2

M1, M5

10, 8

F3

O3 -O4

M 3 , M 4 /M 1 , M 2

O5

M4, M5

O6 -O7

M 1 , M 3 /M 2 , M 3

F4

Precedence constraints

2, 3/3, 5

F1

F3 Job 3

Process time

18, 13, 17 3, 6/4

Before F 3 3, 5

Before F 3

10, 9/7, 12 7, 12 5, 6/10

14, 15/13, 16

Before F 3 , F 4 Before F 4

12, 14 17, 19/20, 16

Table 15.1 gives the processing information for 3 jobs machined in 5 machines. Each job has various features, alternative operations, and machines. Precedence constraints are existing among different features. The outcome of process planning is the specific process plans for jobs. Then the scheduling system will arrange the jobs over time according to the specific process plan for each job.

15.2.2 Multi-objective Optimization The general Multi-objective Optimization Problem (MOP) is defined as follows: Minimize f (x) = { f 1 (x), f 2 (x), . . . , f k (x)} Subject to: g j (x) ≤ 0, j = 1, 2, . . . , m x ∈ X, f (x) ∈ Y

(15.7)

15.2 Multi-Objective IPPS Description

305

k is the number of objectives, m is the number of inequality constraints, x is the decision variable, f (x) is the objective. X is the decision space, Y is the objectives space. In MOP, for decision variables a and b, a dominates b: iff f i (a) ≤ f i (b) ∀i ∈ (1, 2, . . . , k) f j (a) < f j (b) ∃ j ∈ (1, 2, . . . , k)

(15.8)

a and b are non-dominated: iff f i (a) ≤ f j (b)& f i (a) ≥ f j (b) ∀i, j ∈ {1, 2, . . . , k}

(15.9)

A solution x* is called the Pareto-optimal solution if no solution in the decision space X can dominate x*. The Pareto-optimal set is formed by all the Pareto-optimal solutions. The target of MOP is to find a finite number of Pareto-optimal solutions instead of a single optimum in a single-objective optimization problem.

15.3 Proposed Genetic Algorithm for Multi-objective IPPS 15.3.1 Workflow of the Proposed Algorithm An effective genetic algorithm is proposed to solve multi-objective IPPS problems with various flexibilities in process planning effectively. The workflow of the proposed algorithm is given in Fig. 15.1. The main steps of the proposed algorithm are described as follows. Step 1: Set the parameters of the proposed algorithm, including the size of the process planning population (PopSizePP ), the size of the scheduling population (PopSizeS ), the size of the Pareto set (ParetoSet), maximum generations for IPPS(MaxGenIPPS ), maximum generations for process planning (MaxGenPP ), maximum generations for scheduling (MaxGenS ), crossover probability for process planning (PPc ), crossover probability for scheduling (SPc ), mutation probability for process planning (PPm ), and mutation probability for scheduling (SPm ). Step 2: Generate n initial populations of flexible process planning for n jobs, respectively. Step 3: Generate new population for each job by GA, respectively. Step 4: For each job, select a process plan from the corresponding population randomly. Step 5: According to the determinate process plan for each job, generate the initial population for scheduling. Step 6: Optimize the scheduling plan by GA. Output the optimal solution in scheduling.

306

15 An Effective Genetic Algorithm for Multi-objective IPPS …

Fig. 15.1 Workflow of the proposed algorithm

Step 7: Compare the obtained solution with the solutions in the Pareto set, and then use the Pareto set update scheme to update the solutions. The Pareto set update scheme will be given in Sect. 15.3.4. Step 8: If the terminate criteria are satisfied, output the solutions in the Pareto set. Otherwise, go to Step 2. The detailed genetic components for process planning and scheduling are given in Sects. 15.3.2 and 15.3.3.

15.3 Proposed Genetic Algorithm for Multi-objective IPPS

307

Fig. 15.2 One individual in process planning population

15.3.2 Genetic Components for Process Planning 15.3.2.1

Encoding and Decoding Scheme

The aim of process planning in this research is to provide various near-optimal process plans for the scheduling system. To deal with three different kinds of flexibilities in process planning effectively, each individual in process planning population contains three parts with different length [4]. The first part of the individual is the feature sequence, which is the machining sequence of all features for one job. The second part is the selected operation sequence. The element in the ith position represents the selected candidate operations of the ith feature of this job. The third part is the selected machine sequence. The element in the jth position represents the selected candidate machines of the jth operation of this job. Figure 15.2 gives one feasible individual for job 1 in Table 15.1. In this individual, this job has 6 features and 12 operations. Therefore, the length of feature sequence and candidate operation sequence is 6, the length of candidate machine sequence is 12. From the feature sequence, it is clear that the machining sequence of the features for job 1 is F 1 -F 3 -F 4 -F 2 -F 6 -F 5 . For the candidate operation sequence, the second element is 2, it means the second feature (F 2 ) chooses its second candidate operations (O5 -O6 ). For the candidate machine sequence, the first element is 3, it means the first operation (O1 ) chooses its third candidate machines (M 3 ). Based on the encoding scheme, this individual could be decoded easily. From the candidate operation sequence, the selected operations for each feature are F 1 (O1 ), F 2 (O5 -O6 ), F 3 (O7 ), F 4 (O10 ), F 5 (O11 ), F 6 (O12 ). From the candidate machine sequence, the selected machines for each selected operations are O1 (M 3 ), O5 (M 5 ), O6 (M 3 ), O7 (M 1 ), O10 (M 4 ), O11 (M 5 ), and O12 (M 5 ). So, the process plan determined by this individual is O1 (M 3 )-O7 (M 1 )-O10 (M 4 )-O5 (M 5 )-O6 (M 3 )-O12 (M 5 )-O11 (M 5 ).

15.3.2.2

Initial Population and Fitness Evaluation

Using the encoding scheme described above, the feature sequence is randomly arranged, and the candidate operation sequence, machine sequence for jobs is randomly determined from the corresponding candidates. Since there are precedence

308

15 An Effective Genetic Algorithm for Multi-objective IPPS …

constraints among features, some feature sequences in the initial population may be infeasible. In this chapter, the constraint adjustment method proposed by [5] is adopted to regulate the infeasible feature sequence into a feasible one. The processing time of one job is used as the fitness evaluation directly. When the processing time is shorter, the individual is better. After the optimization of process planning, the total machine workload and maximal machine workload are determined.

15.3.2.3

Genetic Operators for Process Planning

Crossover operator: there are three parts in an individual in process planning population, so three crossover operators are developed for feature sequence, candidate operation sequence, and candidate machine sequence. The crossover operator of feature sequence works as in Fig. 15.3. First, select two individuals P1 and P2 from the current population, initialize two empty offsprings O1 and O2. Second, select two crossover points randomly to divide P1 and P2 into three parts. Third, append the element in the middle of P1 and P2 to the same positions in O1 and O2. At the end, delete the existing elements of O1 in P2, and then append the remaining elements of P2 to the rest positions in O1. O2 can be obtained by the same method. This crossover operator can maintain the precedence constraints among features, the new individuals obtained by this operator must be feasible solutions. The crossover operator of candidate operation sequence is shown in Fig. 15.4. First, select two crossover points randomly, and then two offspring O1 and O2 are created by swapping divided middle parts of P1 and P2. The crossover operator of candidate machine sequence Fig. 15.3 Crossover operator for feature sequence

15.3 Proposed Genetic Algorithm for Multi-objective IPPS

309

Fig. 15.4 Crossover operator for selected operation sequence

has the same procedure with the crossover operator of candidate operations as shown in Fig. 15.5. Mutation operator: For feature sequence in the individual, the mutation operation selects two positions at random and then swaps the elements in these positions. If the new sequence is infeasible, use the constraint adjustment method to regulate the infeasible sequence into a feasible one. For candidate operation sequence and candidate machine sequence, the mutation operation selects a position randomly and

Fig. 15.5 Crossover operator for selected machine sequence

310

15 An Effective Genetic Algorithm for Multi-objective IPPS …

then changes the element of this selected position to another alternative operation or machine in the candidate operations or machines set. Selection operator: The tournament selection is used as the selection operation. Select two individuals from the population randomly, and then generate a random value between 0 and 1; if the value is less than a given probability, select a better individual, otherwise, select another one. In this chapter, this probability is set as 0.8.

15.3.3 Genetic Components for Scheduling 15.3.3.1

Encoding and Decoding

For each chromosome in the scheduling population, the operation-based encoding method is used as the encoding strategy. As the example described in Sect. 15.2, after the optimization of process planning, suppose that job 1 has 6 operations, job 2 has 4 operations, and job 3 has 5 operations. One feasible solution in scheduling can be encoded as [1 1 2 3 2 1 1 2 3 2 1 1 2 3 3 3]. The second element in the chromosome is 1, 1 has been repeated twice, so this element represents the second operation of job 1. Each chromosome should be decoded into the active schedules in the decoding procedure [6].

15.3.3.2

Initial Population and Fitness Evaluation

After the optimization of process planning, the number of operations for each job is determined. Each individual in the populations is encoded randomly according to the results of process planning. The maximal machine workload and total workload of machines have been determined after process planning. Therefore, in the scheduling optimization process, makespan is used as the fitness evaluation criterion directly. The makespan can be obtained after decoding the individual into an active schedule.

15.3.3.3

Genetic Operations for Scheduling

Crossover operation: The crossover operation is Precedence Operation Crossover (POX), which could be referred to from [6]. The crossover operator works as in Fig. 15.6. First, select two individuals P1 and P2 from the current population, initialize two empty offsprings O1 and O2. Second, 3 jobs are divided into two subsets. Job 2 is included in JobSet 1. Job 1 and Job 3 are included in JobSet 2. Third, append the elements in JobSet 1 of P1 to the same positions in O1. Append the elements in JobSet 1 of P2 to the same positions in O2. At the end, append the elements in JobSet 2 of P2 to the same positions in O1. Append the elements in JobSet 2 of P1 to the same positions in O2.

15.3 Proposed Genetic Algorithm for Multi-objective IPPS

311

Fig. 15.6 POX crossover operation

Fig. 15.7 Mutation operations for scheduling

Mutation operator: The mutation operator works as in Fig. 15.7. First, select an individual from the population as P randomly. Second, select a pair of different elements in P. At the end, O is obtained by swapping the selected elements. Selection operator: The selection operator for scheduling is the same with the selection operation for process planning.

15.3.4 Pareto Set Update Scheme The result of the multi-objective optimization problem is not a single solution; it is a Pareto-optimal set. Pareto set is utilized to store and maintain the solutions obtained during the optimization procedure. The solutions in the Pareto set are non-dominated with each other. When there is a new solution obtained, the following operations will be applied to update the Pareto set: (1) If the new solution is dominated by any solution in the Pareto set, it will be discarded. (2) If there are solutions in the Pareto set dominated by the new solution, they will be removed from the Pareto set while the new solution will be added into the Pareto set. (3) If the new solution is non-dominated with all the solutions in the Pareto set and the Pareto set is not full, it will be added into the Pareto set. If the Pareto set is full at this time, remove the solution with the minimum crowded distance from the archive and then add the new solution into the archive.

312

15 An Effective Genetic Algorithm for Multi-objective IPPS …

The crowded distance for each solution in the Pareto set could be computed by the method in NSGA-II [7].

15.4 Experimental Results and Discussions To evaluate the performance of the proposed algorithm, two different experiments have been selected in this chapter. In order to compare with other algorithms, three different scale instances from the literature were selected in Experiment 1. Due to the deficiency of benchmark instances on multi-objective IPPS with various flexibilities in process planning, we present Experiment 2 based on six typical parts with various flexibilities in process planning from the previous literature. The proposed algorithm in this chapter was coded in C++ and implemented on a computer with a 2.0 GHz Core(TM) 2 Duo CPU. The parameters of the proposed algorithm are selected after a lot of trials and shown in Table 15.2.

15.4.1 Experiment 1 There are three different scale instances in Experiment 1. The first instance obtained from [8] has 5 jobs and 5 machines with 20 operations. The second instance obtained from [9] has 8 jobs and 8 machines with 37 operations. The third instance has 20 jobs and 5 machines with 80 operations which is also obtained from [9]. The detailed part data of the three problem instances can be referred to from [8] and [9]. The comparisons among the grammatical approach, GRASP and proposed algorithm for the first instance are shown in Table 15.3. The comparisons between GRASP and proposed algorithm for the second and third instances are shown in Table 15.4 and Table 15.5, respectively. It is clear that the proposed algorithm could obtain several Pareto-optimal solutions instead of a single solution obtained by the methods in the literature. The results of the proposed algorithm are obtained by running the algorithm 20 times. The results of the grammatical approach are obtained from [8]. And the results of GRASP are obtained from [9]. From the comparisons in Tables 15.3, 15.4, and Table 15.2 Parameters of the proposed algorithm

Parameter

Value

Parameter

Value

PopSizePP

100

PopSizeS

200

MaxGenPP

10

MaxGenS

100

PPc

0.80

SPc

0.80

PPm

0.10

SPm

0.05

MaxGenIPPS

100

ParetoSet

10

15.4 Experimental Results and Discussions Table 15.3 Comparisons among three algorithms for the first instance

Table 15.4 Comparisons between two algorithms for the second instance

Table 15.5 Comparisons between two algorithms for the third instance

313

Algorithm

Pareto-optimal solutions Makespan

MMW

TWM

Grammatical approach

394

328

770

GRASP algorithm

242

217

750

Proposed algorithm

212

188

721

198

193

722

207

187

737

238

172

730

210

182

735

211

199

718

191

172

745

218

187

731

233

197

719

226

181

739

Algorithm

Pareto-optimal solutions Makespan

MMW

TWM

GRASP algorithm

253

237

1189

Proposed algorithm

234

211

1146

214

199

1163

218

200

1159

236

181

1164

233

187

1153

213

207

1149

236

200

1142

251

189

1137

228

221

1139

236

203

1135

Algorithm

Pareto-optimal solutions Makespan

MMW

TWM

GRASP algorithm

924

889

2963

Proposed algorithm

806

806

2836

708

708

2960

747

747

2923

784

784

2856

871

871

2835

883

883

2830

314

15 An Effective Genetic Algorithm for Multi-objective IPPS …

Table 15.6 Process plans of the second Pareto-optimal solution for the first instance Jobs

Detailed process plans Operation sequence

Machine sequence

Job 1

5-4-2-3

1-4-2-5

Job 2

1-2-4

3-2-5

Job 3

3-5-1-4

2-2-3-4

Jobs

Detailed process plans Operation sequence

Machine sequence

Job 4

4-3-5-2

4-5-2-4

Job 5

4-3-1

4-5-3

Table 15.7 Process plans of the second Pareto-optimal solution for the second instance Jobs

Detailed process plans Operation sequence

Machine sequence

Job 1

4-5-2-3

4-6-2-2

Job 2

1-2-4

6-2-7

Job 3

1-5-3-4

Job 4

5-3-2-4

Jobs

Detailed process plans Operation sequence

Machine sequence

Job 5

1-4-3

3-4-5

Job 6

5-3-1-4

5-8-1-4

3-3-8-1

Job 7

4-3-5-2

5-4-2-2

2-8-1-5

Job 8

4-1-3

7-6-5

Table 15.8 Process plans of the second Pareto-optimal solution for the third instance Jobs

Detailed process plans

Jobs

Detailed process plans

Operation sequence

Machine sequence

Job 1

4-5-2-3

4-2-2-1

Job 2

1-4-2

3-4-2

Job 12

2-1-4

2-3-5

Job 3

1-5-3-4

3-5-2-5

Job 13

5-3-1-4

5-2-1-4

Job 4

3-2-5-4

5-4-2-4

Job 14

3-2-5-4

5-5-2-4

Job 5

4-1-3

4-3-5

Job 15

4-3-1

4-5-3

Job 6

3-5-2-4

1-2-2-4

Job 16

4-5-2-3

4-2-2-4

Job 7

4-2-1

5-2-3

Job 17

2-1-4

2-3-5

Job 8

3-5-1-4

2-2-3-2

Job 18

5-3-1-4

5-2-1-3

Job 9

3-2-5-4

5-2-4-5

Job 19

5-3-2-4

2-5-4-4

Job 10

4-1-3

2-3-3

Job 20

4-1-3

1-3-5

Job 11

Operation sequence

Machine sequence

3-5-2-4

1-3-2-4

15.5, all the Pareto-optimal solutions obtained by the proposed algorithm could dominate the solutions obtained by the grammatical approach and GRASP algorithm. The detailed process plans of the second Pareto-optimal solution for the first, second, and third instance are given in Table 15.3, Table 15.4, and Table 15.5, respectively. The corresponding Gantt charts are shown in Fig. 15.8, Fig. 15.9, and Fig. 15.10, respectively.

15.4 Experimental Results and Discussions

315

Fig. 15.8 Gantt chart of the second Pareto-optimal solution for the first instance

Fig. 15.9 Gantt chart of the second Pareto-optimal solution for the second instance

15.4.2 Experiment 2 Due to the lack of benchmark instances of the multi-objective IPPS problem with various flexibilities in process planning, we design a problem based on 6 typical jobs selected from the previous literature. Job 1, Job 2, and Job 3 are acquired from [10]. The detailed processing information of Job 1, Job 2, and Job 3 used in this

316

15 An Effective Genetic Algorithm for Multi-objective IPPS …

Fig. 15.10 Gantt chart of the second Pareto-optimal solution for the third instance

experiment is given in Table 15.9, Table 15.10, and Table 15.11, respectively. Job 4 is obtained from [11] which contains 9 features and 13 operations. Job 5 is obtained from [12] which contains 7 features and 9 operations. Job 6 is acquired from [13] which contains 15 features and 16 operations. The detailed machining information of Job 4, Job 5, and Job 6 can be referred to from [4]. Suppose that these 6 jobs are machined in 5 machines in a workshop. Table 15.12 shows the Pareto-optimal solutions obtained by the proposed algorithm for Experiment 2 by running the algorithm 20 times. The detailed process plans of the second and last Pareto-optimal solution for Experiment 2 are given in Table 15.13 and Table 15.14 respectively. The corresponding Gantt charts are shown in Fig. 15.12 and Fig. 15.3, respectively.

15.4.3 Discussions From all of the above experimental results, it is clear that three objectives of the IPPS problem considered in this chapter are conflicting. In Experiment 2, Tables 15.6, 15.7, and 15.8 show that almost all the operations in Job 1, Job 2, and Job 3 have a shorter processing time in machine 4. If all the operations are supposed to be machined in machine 4, TWM will be smaller. In this case, makespan will be longer. For example, the second Pareto-optimal solution has a shorter MMW compared with the last Pareto-optimal solution in Experiment 2. It is obvious that more operations need to be machined in machine 4 in the second solution compared with the last solution from Figs. 15.11 and 15.12. More operations are waiting to be processed in machine 4.

15.4 Experimental Results and Discussions

317

Table 15.9 Processing information of Job 1 with 14 features and 20 operations Features

Candidate operations

Candidate machines

Processing time

Precedence constraints

F1

O1

M2, M3, M4

40, 40, 30

Before all features

F2

O2

M2, M3, M4

40, 40, 30

Before F 10 , F 11

F3

O3

M2, M3, M4

20, 20, 15

F4

O4

M1, M2, M3, M4

12, 10, 10, 8

F5

O5

M2, M3, M4

35, 35, 27

Before F 4 , F 7

F6

O6

M2, M3, M4

15, 15, 12

Before F 10

F7

O7

M2, M3, M4

30, 30, 23

Before F 8

F8

O8 -O9 -O10

M1, M2, M3, M4

22, 18, 18, 14

M2, M3, M4

10, 10, 8

M2, M3, M4, M5

10, 10, 8, 12

F9

O11

M2, M3, M4

15, 15, 12

Before F 10

F 10

O12 -O13 -O14

M1, M2, M3, M4

48, 40, 40, 30

Before F 11 , F 14

M2, M3, M4

25, 25, 19

M2, M3, M4, M5

25, 25, 19, 30

M1, M2, M3, M4

27, 22, 22, 17

F 11

O15 -O16

M2, M3, M4

20, 20, 15

F 12

O17

M2, M3, M4

16, 16, 12

F 13

O18

M2, M3, M4

35, 35, 27

F 14

O19 -O20

M2, M3, M4

12, 12, 9

M2, M3, M4, M5

12, 12, 9, 15

Before F 4 , F 12

But the other machines have a lot of free time in Fig. 15.11. As a result, the makespan of the second solution is longer than the last solution. The proposed algorithm in this chapter could optimize these conflicting objectives simultaneously and help decision makers to make a trade-off among these objectives while determining a final schedule. Based on the results of Experiment 1, the proposed algorithm could obtain more and better Pareto-optimal solutions compared with the grammatical approach and GRASP algorithm. It shows that the proposed algorithm has achieved satisfactory improvement compared with previous research works. The problem presented in Experiment 2 considers various flexibilities in process planning simultaneously during the whole optimization procedure. Each job has many different process plans according to the processing information. As a result, this problem is much more complex than instances in Experiment 1. On the other hand, this problem is much closer to the realistic production process compared with Experiment 1. The proposed algorithm can also obtain good solutionsto Experiment 2 effectively. The reasons for the proposed algorithm’s superior performance in solving multiobjective IPPS problem are as follows.

318

15 An Effective Genetic Algorithm for Multi-objective IPPS …

Table 15.10 Processing information of Job 2 with 15 features and 16 operations Features

Candidate operations

Candidate machines

F1

O1

M1, M2, M3, M4

F2

O2

M2, M3, M4

20, 20, 15

F3

O3

M2, M3, M4

18, 18, 14

F4

O4

M2, M3, M4

16, 16, 12

F5

O5

M2, M3, M4

F6

O6 - O7

M1, M2, M3, M4

F7

O8

M1, M2, M3, M4

F8

O9

M2, M3, M4

15, 15, 11

F9

O10

M1, M2, M3, M4

10, 8, 8, 6

F 10

O11

M2, M3, M4

10, 10, 8

Before F 11

F 11

O12

M2, M3, M4

10, 10, 8

Before F 9

F 12

O13

M1, M2, M3, M4

10, 8, 8, 6

F 13

O14

M2, M3, M4

16, 16, 12

F 14

O15

M1, M2, M3, M4

10, 8, 8, 6

F 15

O16

M1, M2, M3, M4

36, 30, 30, 23

M2, M3, M4

Processing time

Precedence constraints

12, 10, 10, 8

Before F 2 Before F 4

15, 15, 11 30, 25, 25, 19

Before F 7

25, 25, 19 14, 12, 12, 9 Before F 7

Before F 14 Before all features

Table 15.11 Processing information of Job 3 with 11 features and 14 operations Features

Candidate operations

Candidate machines

Processing time

Precedence constraints

F1

O1

M2, M3, M4

20, 20, 15

Before all features

F2

O2

M2, M3, M4

20, 20, 15

Before F 3 -F 11

F3

O3

M2, M3, M4

F4

O4

M1, M2, M3, M4

F5

O5

M2, M3, M4

F6

O6

M2, M3, M4

F7

O7

M2, M3, M4

15, 15, 11

F8

O8

M2, M3, M4

25, 25, 19

F9

O9 -O10 -O11

M1, M2, M3, M4 M2, M3, M4

F 10

O12 -O13 O14

Before F 10 , F 11

15, 15, 11, 18

Before F 10 , F 11

15, 15, 11

Before F 10 , F 11

15, 15, 11

30, 25, 25, 19 20, 20, 15

M2, M3, M4, M5

20, 20, 15, 24

M1, M2, M3, M4

10, 8, 8, 6

M2, M3, M4 F 11

15, 15, 11

M1, M2, M3, M4

8, 8, 6 6, 5, 5, 4

Before F 10 , F 11

Before F 7 , F 8

15.4 Experimental Results and Discussions Table 15.12 Pareto-optimal solutions obtained by the proposed algorithm for Experiment 2

319

Algorithm

Pareto-optimal solutions Makespan

MMW

TWM

Proposed algorithm

617

617

1522

599

599

1528

540

520

1534

520

511

1541

511

511

1551

494

484

1552

494

469

1562

502

453

1568

460

439

1569

459

432

1579

Table 15.13 Process plans for the second Pareto-optimal solution in Experiment 2 Jobs

Detailed process plans Operation sequence

Machine sequence

Job 1

1-11-5-7-6-18-4-3-2-12-13 -14-19-20-8-9-10-15-16-17

4-4-4-4-2-4-2-4-4-4-4 -4-2-4-1-4-4-3-4-4

Job 2

16-5-13-9-14-6-7-11 -3-15-12-8-1-2-4-10

4-4-4-4-4-4-4-2 -4-4-3-2-2-4-4-2

Job 3

1-2-5-3-6-9-10 -11-8-4-14-7-12-13

2-4-3-4-2-4-4 -4-4-1-4-2-4-2

Job 4

4-5-6-13-2-3-10 -11-1-7-8-9-12

1-1-2-1-2-1-1 -2-5-5-1-2-1

Job 5

1-3-5-6-7-8-4-2-9

2-2-3-5-5-4-5-4-5

Job 6

2-12-3-14-1-5-6-7-11 -18-15-13-4-16-17-8-9-10

4-1-1-1-2-2-5-1-1 -2-3-5-1-1-1-1-1-2

Table 15.14 Process plans for the last Pareto-optimal solution in Experiment 2 Jobs

Detailed process plans Operation sequence

Machine sequence

Job 1

1-3-18-6-17-11-5-7-4-2-1213-14-15-16-8-9-10-19-20

4-3-2-3-3-2-4-3-2-4-4-2 -2-2-4-2-3-4-4-4

Job 2

16-6-7-14-1-2-3-13-9 -8-5-15-11-12-10-4

4-4-3-4-2-4-4-3-2 -4-4-4-3-3-4-3-2

Job 3

1-2-5-6-9-10-11-7 -8-3-4-12-13-14

4-4-4-4-4-2-2-4 -4-4-3-2-4-1

Job 4

2-4-13-1-7-8-9 -3-5-6-12-10-11

2-1-4-1-2-1-5 -1-1-3-1-1-1

Job 5

1-5-6-4-2-7-8-9-3

5-2-1-5-4-2-1-1-2

Job 6

14-15-8-9-10-13-16-3-4-12 -18-17-2-5-6-7-11-1

1-3-5-3-2-1-1-2-1-2 -1-1-5-3-5-2-1-1

320

15 An Effective Genetic Algorithm for Multi-objective IPPS …

Fig. 15.11 Gantt chart of the second Pareto-optimal solution for Experiment 2

Fig. 15.12 Gantt chart of the last Pareto-optimal solution for Experiment 2

Firstly, effective genetic operations based on the characteristics of IPPS are employed in the proposed algorithm. This can make the proposed algorithm suitable for solving multi-objective IPPS problem.

15.4 Experimental Results and Discussions

321

Secondly, from the framework of the proposed algorithm, process planning system provides many different process plans of jobs dynamically based on various flexibilities in process planning for scheduling system, which ensure that the algorithm explores IPPS solution space fully. Finally, the Pareto set could store and maintain the solutions obtained during the searching procedure; the proposed algorithm could get several Pareto-optimal solutions during one searching process.

15.5 Conclusion and Future Works This chapter has presented an effective genetic algorithm for solving multi-objective IPPS problems with various flexibilities in process planning. Makespan, maximal machine workload, and total workload of machines are considered as optimization objectives simultaneously. To compare with the other algorithms, three different scale instances have been employed to test the performance of the proposed algorithm. The experiment results show that the proposed algorithm has achieved satisfactory improvement. Due to the lack of benchmark instances of multi-objective the IPPS problem with various flexibilities in process planning, a problem was presented based on six typical jobs with various flexibilities in process planning in the literature. The proposed algorithm could also settle this problem effectively. There are also some limitations in the proposed algorithm. Only three objectives are optimized in this study, more objectives of IPPS can be taken into account in future works. Exploring more effective algorithms to solve multi-objective IPPS problems is another future work.

References 1. Li XY, Gao L, Li WD (2012) Application of game theory based hybrid algorithm for multiobjective integrated process planning and scheduling. Expert Syst Appl 39:288–297 2. Li XY, Gao L, Zhang CY, Shao XY (2010) A review on integrated process planning and scheduling. Int J Manuf Res 5:161–180 3. Guo YW, Li WD, Mileham AR, Owen GW (2009) Applications of particle swarm optimisation in integrated process planning and scheduling. Robot Comput-Integr Manuf 25:280–288 4. Li XY, Gao L, Wen XY (2013) Application of an efficient modified particle swarm optimization algorithm for process planning. Int J Adv Manuf Technol 67:1355–1369 5. Li WD, Ong SK, Nee AYC (2002) Hybrid genetic algorithm and simulated annealing approach for the optimization of process plans for prismatic parts. Int J Prod Res 40:1899–1922 6. Zhang C, Li P, Rao Y, Li S (2005) A new hybrid GA/SA algorithm for the job shop scheduling problem. Lect Notes Comput Sci 3448:246–259 7. Deb K, Pratap A, Agarwal S, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evol Comput 6:182–197 8. Baykaso˘glu A, Özbakır L (2009) A grammatical optimization approach for integrated process planning and scheduling. J Intell Manuf 20:211–221

322

15 An Effective Genetic Algorithm for Multi-objective IPPS …

9. Rajkumar M, Asokan P, Page T, Arunachalam S (2010) A GRASP algorithm for the integration of process planning and scheduling in a flexible job-shop. Int J Manuf Res 5:230–251 10. Li WD, McMahon CA (2007) A simulated annealing-based optimization approach for integrated process planning and scheduling. Int J Comput Integr Manuf 20:80–95 11. Ma GH, Zhang YF, Nee AYC (2000) A simulated annealing-based optimization algorithm for process planning. Int J Prod Res 38:2671–2687 12. Wang YF, Zhang YF, Fuh JYH (2009) Using hybrid particle swarm optimization for process planning problem. In: Proceedings of the computational sciences and optimization, 2009. pp 304–308 13. Zhang YF, Nee AYC (2001) Applications of genetic algorithms and simulated annealing in process planning optimization. In: Wang J, Kusiak A (eds) Computational intelligence in manufacturing handbook

Chapter 16

Application of Game Theory-Based Hybrid Algorithm for Multi-objective IPPS

16.1 Introduction In traditional approaches, process planning and scheduling were carried out in a sequential way. Those methods have become an obstacle to improve the productivity and responsiveness of the manufacturing systems and cause the following problems [13]. In a traditional manufacturing organization, process planner plans jobs separately. For each job, manufacturing resources on the shop floor are usually assigned to it without considering the competition for the resources from other jobs [29]. This may lead to the process planners favoring to select the desirable resources for each job repeatedly. Therefore, the resulting optimal process plans often become infeasible when they are carried out in practice at the later stage [15]. Even though process planners consider the restriction of the current resources on the shop floor, because of the time delay between the planning phase and execution phase, the constraints which have been considered in the planning phase may have already changed greatly; this may lead to the optimal process plans infeasible [12]. Traditionally, scheduling plans are often determined after process plans. In the scheduling phase, scheduling planners have to consider the determined process plans. Fixed process plans may drive scheduling plans to end up with severely unbalanced resource load and create superfluous bottlenecks. In most cases, both for process planning and scheduling, a single-criterion optimization technique is used for determining the best solution. However, the real production environment is best represented by considering more than one criterion simultaneously [13]. Furthermore, process planning and scheduling may have conflicting objectives. Process planning emphasizes the technological requirements of a task, while scheduling involves the timing aspects of it. If there is no appropriate coordination, it may create conflicting problems.

© Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_16

323

324

16 Application of Game Theory-Based Hybrid Algorithm …

To overcome these problems, there is an increasing need for deep research and application of the IPPS system. It can introduce significant improvements to the efficiency of manufacturing through eliminating or reducing scheduling conflicts, reducing flow-time and work-in-process, improving production resources, and utilizing and adapting to irregular shop floor disturbances [15]. Without IPPS, a true Computer Integrated Manufacturing System (CIMS), which strives to integrate the various phases of manufacturing in a single comprehensive system, may not be effectively realized. Therefore, in a complex manufacturing situation, it is ideal to integrate the process planning and scheduling more closely to achieve a global optimum in manufacturing, and increase the flexibility and responsiveness of the systems [16]. In the beginning research of CIMS, some researchers have found that the IPPS is very important to the development of CIMS [27]. The preliminary idea of IPPS was introduced by Chryssolouris et al. [4, 5]. Beckendorff [2] used alternative process plans to improve the flexibility of manufacturing systems. Khoshnevis et al. [9] introduced the concept of dynamic feedback into IPPS. The integration model proposed by Zhang [33] and Larsen [14] extended the concepts of alternative process plans and dynamic feedback and defined an expression to the methodology of the hierarchical approach. Some earlier works of IPPS have been summarized in Tan et al. [27] and Wang et al. [31]. In recent years, in the area of IPPS, several models have been reported, and they can be classified into three basic models based on IPPS [18]: nonlinear process planning [10, 18], closed-loop process planning [29], and distributed process planning [30, 34]. In the past decades, the optimization approaches of the IPPS problems also have achieved several improvements. Especially, several optimization methods have been developed based on the modern meta-heuristic algorithms and artificial intelligence technologies, such as evolutionary algorithms, Simulated Annealing (SA) algorithm, Particle Swarm Optimization (PSO) algorithm and the Multi-Agent System (MAS)based approach. Kim et al. [11] used a symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling. Shao et al. [23] used a modified Genetic Algorithm (GA) to solve the IPPS problem. Li et al., [19] proposed the mathematical models of IPPS and an evolutionary algorithm-based approach to solve it. Chan et al. [3] proposed an enhanced swift converging simulated annealing algorithm to solve the IPPS problem. Guo et al. [6, 7] proposed PSO-based algorithms to solve the IPPS problem. Shen et al. [24] provided a literature review on IPPS, particularly on the agent-based approaches for the IPPS problem. It was also provided with the advantages of the agent-based approach for scheduling. Wong et al. [32] presented an online hybrid agent-based negotiation multi-agent system for integrating process planning with scheduling/rescheduling. Shukla et al. [25] presented a bidding-based multi-agent system for solving IPPS. Li et al. [20] developed an agent-based approach to facilitate the IPPS. Most of the current researches on IPPS have been concentrated on a single objective. However, because different departments in a company have different expectations in order to maximize their own interests, for example, the manufacturing department expects to reduce costs and improve work efficiency, the managers want to maximize the utilization of the existing resources, and the sales department hopes

16.1 Introduction

325

to better meet the delivery requirements of the customers, in this case, only considering single objective cannot meet the requirements from the real-world production. Therefore, further studies are required for IPPS, especially on the multi-objective IPPS problem. However, only seldom papers focused their researches on multiobjective the IPPS problem. Morad et al. [22] proposed a GA based on weightedsum method to solve the multi-objective IPPS problem. Li et al. [16] proposed a simulated annealing-based approach for the multi-objective IPPS problem. Baykasoglu et al. [1] proposed an approach which made use of grammatical representation of generic process plans with a multiple objective Tabu Search (TS) framework to solve multi-objective IPPS effectively. Zhang et al. [35] proposed a multi-objective GA approach for solving process planning and scheduling problems in a distributed manufacturing system. In this chapter, a novel approach has been developed to facilitate the multiobjective IPPS problem. A game theory-based hybrid algorithm has been applied to solve the multi-objective IPPS problem. Experiment results to verify the effectiveness of the approach are presented. The remainder of this chapter is organized as follows: Problem formulation is discussed in 16.2. In 16.3, the game theory model of the multi-objective IPPS has been presented. The proposed algorithm for solving the multi-objective IPPS problem is given in Sect. 16.4. Experimental results are reported in Sect. 16.5.1 and 16.5.2. And Sect. 16.5.3 is the conclusion.

16.2 Problem Formulation In this research, scheduling is often assumed as the job shop scheduling, and the mathematical model of IPPS is based on the Mixed Integer Programming model of the Job shop Scheduling Problem (JSP). In this research, the following three criteria are considered to be optimized: in order to improve work efficiency, selecting the maximal completion time of machines, i.e., the makespan, as one objective; in order to improve the utilization of the existing resources, especially for the machines, selecting the Maximal Machine Workload (MMW), i.e., the maximum working time spent on any machine, and the Total Workload of Machines (TWM), i.e., the total working time of all machines, as the other two objectives. In order to solve this problem, the following assumptions are made: (1) Jobs are independent. Job preemption is not allowed and each machine can handle only one job at a time. (2) The different operations of one job cannot be processed simultaneously. (3) All jobs and machines are available at time zero simultaneously. (4) After a job is processed on a machine, it is immediately transported to the next machine on its process, and the transmission time is assumed to be negligible. (5) Setup time for the operations on the machines is independent of the operation sequence and is included in the processing time.

326

16 Application of Game Theory-Based Hybrid Algorithm …

Based on these assumptions, the mathematical model of the multi-objective IPPS problem is described as follows [19]: The notation used to explain the model are described below: N M G Pil oijl k t ijlk cijlk Wk ci A

Total number of jobs; Total number of machines; Total number of alternative process plans of job i; Number of operations in the lth alternative process plan of the job i; The jth operation in the lth alternative process plan of job i; Alternative machine corresponding to oijl; The processing time of operation oijl on machine k; The earliest completion time of operation oijl on machine k; The workload of machine k; The completion time of job i; A very large positive number.  X il =  Yi jlpqsk =

1 the lth flexible process plan of job i is selected 0 otherwise

1 the operation oi jl precedes the operation o pqs on machine k 0 otherwise  1 if machine k is selected for oi jl Z i jlk = 0 otherwise

Objectives: Minimizing the maximal completion time of machines (makespan): Min f 1 = Makespan = Max ci jlk i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G i ], k ∈ [1, M] (16.1) Minimizing the Maximal Machine Workload (MMW): k ∈ [1, M] Min f 2 = MMW = Max Wk

(16.2)

Minimizing the Total Workload of Machines (TWM): Min f 3 = TWM =

M 

Wk k ∈ [1, M]

(16.3)

k=1

Subject to: (1) For the first operation in the alternative process plan l of job i: ci1lk + A(1 − X il ) ≥ ti1lk i ∈ [1, N ], l ∈ [1, G i ], k ∈ [1, M]

(16.4)

16.2 Problem Formulation

327

(2) For the last operation in the alternative process plan l of job i: ci Pil lk − A(1 − X il ) ≥ makespan i ∈ [1, N ], l ∈ [1, G i ], k ∈ [1, M] (16.5) (3) The different operations of one job cannot be processed simultaneously: ci jlk − ci( j−1)lk1 + A(1 − X il ) ≥ ti jlk i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G i ], k, k1 ∈ [1, M]

(16.6)

(4) Each machine can handle only one job at a time:     c pqsk − ci jlk + A(1 − X il ) + A 1 − X ps + A 1 − Yi jlpqsk ≥ t pqsk

(16.7)

  ci jlk − c pqsk + A(1 − X il ) + A 1 − X ps + AYi jlpqsk ≥ ti jlk

(16.8)

i, p ∈ [1, N ], j, q ∈ [1, Pil, ps ], l, s ∈ [1, G i, p ], k ∈ [1, M] (5) Only one alternative process plan can be selected for job i: 

X il = 1

l ∈ [1, G i ]

(16.9)

l

(6) Only one machine for each operation should be selected: M 

Z i jlk = 1 i ∈ [1, N ], j ∈ [1, Pil ], l ∈ [1, G l ]

(16.10)

k=1

The objective functions are equations from (16.1) to (16.3). In this research, the multiple objectives have been considered for the IPPS problem. The constraints are in equations from (16.4) to (16.10). Constraint (16.6) expresses that the different operations of a job are unable to be processed simultaneously. This is the constraint of different processes for a job. Constraints (16.7) and (16.8) show that each machine can handle only one job at a time. This is the constraint of a machine. Constraint (16.9) ensures that only one alternative process plan can be selected for each job in one schedule. Constraint (16.10) ensures that only one machine for each operation should be selected. Many studies have been devoted to do the research on multi-objective optimization. These developed methods can be generally classified into the following three different types [8]: • The first type is using the weighted-sum method to transform the multi-objective problem to a mono-objective problem.

328

16 Application of Game Theory-Based Hybrid Algorithm …

• The second type is the non-Pareto approach. This method utilizes operators for processing the different objectives in a separated way. • The third type is the Pareto approach. This method is directly based on the Paretooptimality concept. In this chapter, a game theory-based approach has been used to deal with multiple objectives. After dealing with the multiple objectives, a hybrid algorithm has been used to solve the multi-objective IPPS problem.

16.3 Game Theory Model of Multi-objective IPPS Game theory is a good method to analyze the interaction of several decision makers. It is a very important tool in the modern economy. Recently, it has been used to solve some complex engineering problems, such as power systems and collaborative product design [17]. In this chapter, non-cooperative game theory has been applied to deal with the conflict and competition among the multiple objectives in the multiobjective IPPS problem. In this approach, the objectives of this problem can be seen as the players in the game, and the Nash equilibrium solutions are taken as the optimal results.

16.3.1 Game Theory Model of Multi-objective Optimization Problem The definition of the general Multi-objective Optimization Problem (MOP) is described as follows: General MOP contains n variables, k objectives, and m constraints. The mathematical definition of MOP is described as follows: Max/Min y = f (x) = { f 1 (x), f 2 (x), . . . , f k (x)}

(16.11)

s.t. e(x) = {e1 (x), e2 (x), . . . , em (x)} ≤ 0 x = (x1 , x2 , . . . , xn ) ∈ X y = (y1 , y2 , . . . , yk ) ∈ Y where x is the variable; y is the objective; X is the variables space; Y is the objectives space, e(x) ≤ 0 is the constraints. In order to apply game theory to deal with the multiple objectives, the mapping between MOP and game theory should be presented. This means that the game theory model of the MOP should be constructed. Comparing the MOP with the game theory, the MOP can be described by game theory as follows: k objectives in MOP can be described as the k players in game

16.3 Game Theory Model of Multi-objective IPPS

329

theory; X in MOP can be described as the decision space S in game theory; f i (x) in MOP can be described as the utility function ui in game theory; e(x) in MOP can be described as the constraints in game theory. By defining mapping φ i : X → S i as the decision strategies space of the ith player, k  Si = X ; defining mapping ϕ i : f i → ui as the decision strategies set of the ith i=1

player, the game theory model of MOP can be defined as follows: G = {S; U } = {S1 , S2 , . . . , Sk ; u 1 , u 2 , . . . , u k }

(16.12)

16.3.2 Nash Equilibrium and MOP Nash equilibrium is a very important concept in the non-cooperative game theory. In Nash equilibrium, the strategy of each player is the best strategy when giving the strategies of the other players. If the number of players is limited, at least, the game has one Nash equilibrium solution. The Nash equilibrium can be defined as follows:s ∗ = {s1∗ , s2∗ , . . . , sk∗ }is a strategy set of the game in Eq. (16.12). If si∗ is the best strategy for the ith player when giving j ∗ the strategies (s...i ) of the other players, i.e., for the any ith player and si ∈ Si , Eq. (16.13) is right, si∗ can be seen as one Nash equilibrium solution in this game. ∗ ∗ u i (si∗ , s...i ) ≥ u i (si , s...i ) j

(16.13)

∗ ∗ ∗ s... = { s1∗ , s2∗ , . . . , si−1 , si+1 , . . . , sk∗ }

Therefore, for an MOP (Eq. 16.11), { f 1 (x), f 2 (x), . . . , f k (x)} can be seen as the k players in a game. The decision strategies space S equals to the variables space X. And the utility function for each player is f i (S). The Nash equilibrium solution s ∗ = { s1∗ , s2∗ , . . . , sk∗ } can be seen as one solution of the MOP (Eq. 16.11). Therefore, in Nash equilibrium, each objective has its own effect on the whole decision of the MOP, no one can dominate the decision-making process.

16.3.3 Non-cooperative Game Theory for Multi-objective IPPS Problem In order to using non-cooperative game theory to deal with the multiple objectives in the multi-objective IPPS problem, the game theory model of the multi-objective IPPS problem should be constructed. In this chapter, the multi-objective IPPS problem has three objectives. They can be seen as the three players in the game. The utility function

330

16 Application of Game Theory-Based Hybrid Algorithm …

of the first player is the first objective function (u1 = f 1); the utility function of the second player is the second objective function (u2 = f 2 ); and the utility function of the third player is the third objective function (u3 = f 3 ) (f 1 , f 2 and f 3, see Sect. 16.3.1). The game theory model of the multi-objective IPPS problem can be described as follows: G = {S; u 1 , u 2 , u 3 }

(16.14)

The Nash equilibrium solution of this model is taken as the optimal result of the multi-objective IPPS problem.

16.4 Applications of the Proposed Algorithm on Multi-objective IPPS 16.4.1 Workflow of the Proposed Algorithm In order to solve the game theory model of the multi-objective IPPS problem effectively, one algorithm with a hybrid algorithm (the hybrid of GA and TS) has been proposed. The workflow of the proposed algorithm is shown in Fig. 16.1. The basic procedure of the proposed algorithm is described as follows: Step 1: Set the parameters of the algorithm, including the parameters of the hybrid algorithm and the Nash equilibrium solution algorithm; Step 2: Initialize population randomly; Step 3: Evaluate all population, and calculate all the three objectives of every individual; Step 4: Use the Nash equilibrium solutions algorithm to find the Nash equilibrium solutions in the current generation, and record them; Step 5: Is the terminate criteria satisfied? If yes, go to Step 8; Else, go to Step 6; Step 6: Generate the new population by the hybrid algorithm; Step 6.1: Generate the new population by the genetic operations, including reproduction, crossover, and mutation; Step 6.2: Local search by TS for every individual; Step 7: Go to Step 3; Step 8: Use the Nash equilibrium solutions algorithm to compare all the recorded Nash equilibrium solutions in every generation, and select the best solutions; Step 9: Output the best solutions.

16.4 Applications of the Proposed Algorithm on Multi-objective IPPS

331

Parameters setting Initial population Evaluate every individual, and Calculate their objectives Nash equilibrium solutions algorithm, and record the Nash equilibrium solutions of the current generation Compare all the recorded solutions Terminate criteria satisfied?

Y

N

Output the best solutions

Generate the new population by hybrid algorithm Genetic operations Local search by TS for every individual

Fig. 16.1 Workflow of the proposed algorithm

The Nash equilibrium solutions algorithm and the hybrid algorithm are presented in the next subsections.

16.4.2 Nash Equilibrium Solutions Algorithm for Multi-objective IPPS In Nash equilibrium, the strategy of each player is the best strategy when giving the strategies of the other players. The main purpose of Nash equilibrium solution is to keep every objective trying its best to approximate to its own best result and cannot damage the benefits of the other objectives. In Nash equilibrium, each objective has its own effect on the whole decision of the MOP, no one can dominate the decisionmaking process. And, one criterion which has been proposed to judge the solutions is described as follows:

332

16 Application of Game Theory-Based Hybrid Algorithm …

NashE j =

3 

DOBJ ji

(16.15)

i=1

DOBJ ji =

CurrentObjective ji − BestObjectivei BestObjectivei

(16.16)

NashEj is the Nash equilibrium criterion of the jth individual. DOBJii is calculated by Eq. (16.15). CurrentObjectiveji is the objective of the ith objective of the jth individual. BestObjectivei is the best objective of the ith objective. The workflow of the Nash equilibrium solutions algorithm is shown in Fig. 16.2. The basic procedure of the proposed algorithm is described as follows: Step 1: Firstly, use the hybrid algorithm [21] to optimize the mono-objective IPPS problem and get the best result for every objective; Step 2: Calculate the NashEj for every individual in the current population; Step 3: Find the best NashEj , and set it as the NashEbest ; Step 4: Compare each NashEj with the NashEbest ; Step 5: Is j ≤ Popsize? Use hybrid algorithm to solve the best result of every objective respectively Calculate the NashEj for every individual in the current population Find the best NashEbest j=1 Compare each NashEj with NashEbest

j

N

Popsize ?

Output the Nash equilibrium solutions

Y

j=j+1

N

NashE j

NashEbest

?

Y Record this solution

Fig. 16.2 Workflow of the Nash equilibrium solutions algorithm

j=j+1

16.4 Applications of the Proposed Algorithm on Multi-objective IPPS

333

If yes, go to Step 6; Else, go to Step 9; Step 6: Is NashEj – NashEbest ≤ ε? (ε is the Nash equilibrium solution factor) If yes, go to Step 7; Else, go to Step 8; Step 7: Record this solution and j = j + 1, go to Step 4; Step 8: j = j + 1, go to Step 4; Step 9: Output the Nash equilibrium solutions for this generation. This algorithm is also used to select the final results from all the recorded Nash equilibrium solutions in every generation. From the workflow of this algorithm, we can find that every objective is trying its best to approximate to its own best result and no one of them can dominate the whole decision of the multi-objective IPPS problem. The job shop scheduling problem had been proved to be an NP-hard problem. The IPPS problem is more complicated than the JSP problem. It is also an NP-hard problem. For the large-scale problems, the conventional algorithms (including the exact algorithms) are often incapable of optimizing nonlinear multi-modal functions in reasonable time. To address this problem effectively, one modern optimization algorithm has been used to quickly find a near-optimal solution in a large search space through some evolutional or heuristic strategies. In this research, the Hybrid Algorithm (HA) which is the hybrid of the genetic algorithm and the tabu search has been applied to facilitate the search process. This algorithm has been successfully applied to solve the mono-objective IPPS problem [21]. Here, this algorithm has been developed further to solve the multi-objective IPPS problem. The working steps of this algorithm are explained here for illustration. The HA is used in this research to generate new generations. Therefore, there is no fitness function to evaluate the population. The workflow of the hybrid algorithm is shown in Fig. 16.3. The basic procedure of the proposed algorithm is described as follows: Step 1: Set the parameters of HA, including size of the population (Popsize), maximum generations (maxGen), reproduction probabilistic (pr ), crossover probabilistic (pc ), mutation probabilistic (pm ), and parameters of the tabu search; Step 2: Initialize population randomly, and set Gen = 1; Step 3: Is the terminate criteria satisfied? If yes, go to Step 7; Else, go to Step 4; Step 4: Generate a new generation by genetic operations; Step 4.1: Selection: the random selection scheme has been used for selection operation;

334

16 Application of Game Theory-Based Hybrid Algorithm … Parameters setting

Initialize population randomly. Gen=1

Terminate criteria satisfied?

Compare all the recorded solutions

Y

Output the best solutions

N

Reproduction

Crossover

Selection

Generate the new generation by the genetic operations

Mutation

Local search by TS for every individual

Set Gen=Gen+1

Fig. 16.3 Workflow of the hybrid algorithm

Step 4.2: Reproduction: reproduce the Popsize× p-r individuals from the Parent generation to the Offspring generation; Step 4.3: Crossover: the crossover operation with a user-defined crossover probabilistic (pc ) is used for IPPS crossover operation; Step 4.4: Mutation: the mutation operation with a user-defined mutation probabilistic (pm ) is used for the IPPS mutation operation; Step 5: Local search by TS for every individual; Step 6: Set Gen = Gen + 1, and go to Step 3; Step 7: Use the Nash equilibrium solutions algorithm to compare all the recorded Nash equilibrium solutions in every generation, and select the best solutions; Step 8: Output the best solutions. According to this algorithm, every individual evolves by the genetic operations firstly, and then it focuses on the local search. More details of the hybrid algorithm can be referred to from [21].

16.5 Experimental Results

335

16.5 Experimental Results In this chapter, the proposed algorithm was coded in C++ and implemented on a computer with a 2.0 GHz Core (TM) 2 Duo CPU. To illustrate the effectiveness and performance of the proposed algorithm in this chapter, two instances have been selected. The first instance was adopted from the other paper. Because of the lack of benchmark instances on the multi-objective IPPS problem, we presented the second instance. The parameters of the proposed algorithm for these problem instances were given in Table 16.1. The proposed algorithm terminates when the number of generations reaches the maximum value (maxGen); TS terminates when the number of iterations reaches the maximum size (maxIterSize, CurIter was the current generation of GA) or the permitted maximum step size with no improving (maxStagnantStep).

16.5.1 Problem 1 Problem 1 was adopted from Baykasoglu et al. [1]. It was constructed with 5 jobs and 5 machines. The data was shown in Table 16.2. Table 16.3 showed the experimental results and the comparison with the other algorithm. Table 16.4 showed the selected operation sequence for each job. Figure 16.4 illustrated the Gantt chart of solution 1 of the proposed algorithm. Figure 16.5 illustrated the Gantt chart of solution 2. From the experimental results of problem 1 (Table 16.3), the results of the proposed algorithm can dominate the results of the grammatical approach. They are better than the results of the other algorithm. This means that the proposed approach is more effective to obtain good solutions to the multi-objective IPPS problem. Table 16.1 The parameters of the proposed algorithm Parameters The size of the population, Popsize

400

Total number of generations, maxGen

200

The permitted maximum step size with no improving, maxStagnantStep

20

The maximum iteration size of TS, maxIterSize

200 × (CurIter/maxGen)

Probability of reproduction operation, pr

0.05

Probability of crossover operation, pc

0.6

Probability of mutation operation, pm

0.1

Length of tabu list, maxT

10

Nash equilibrium solution factor ε

0.1

336

16 Application of Game Theory-Based Hybrid Algorithm …

Table 16.2 The data of problem 1 [1] Job

Operation

1

2

Alternative machines with processing time

Alternative operation sequences

M1

M2

M3

M4

M5

O1

57

40

88

62

77

O3 -O4 -O1 -O2

O2

7

10

11

10

5

O4 -O3 -O1 -O2

O3

95

74

76

71

93

O2 -O4 -O1 –O3

O4

24

18

22

28

26

O3 -O1 -O4 -O2

O1

84

76

68

98

84

O1 -O2 -O3

O2

20

10

15

20

19

O1 -O3 -O2

O3

91

88

98

87

90

O3 -O2 -O1 O2 „ O1 „ O3

3

4

5

O1

65

87

58

80

74

O2 -O4 -O1 –O3

O2

46

21

38

52

18

O1 -O4 -O2 -O3

O3

19

22

19

14

22

O1 -O4 -O5

O4

73

56

64

72

60

O4 -O2 -O1 -O3

O5

96

98

96

95

98

O1

13

7

13

12

11

O1 -O2 -O4 -O3

O2

52

64

97

47

40

O2 -O1 -O4 -O3

O3

20

30

17

11

14

O4 -O2 -O1 -O3

O4

94

66

80

79

95

O3 -O2 -O4 -O1

O1

94

97

55

78

85

O3 -O1 -O2

O2

31

23

19

42

17

O3 -O4

O3

88

65

76

64

80

O3 -O2 -O1

O4

88

74

90

92

75

O1 -O3 -O2

Table 16.3 Experimental results of problem 1 Criteria

Grammatical approacha

Solution 1

Solution 2

Makespan

394

165

170

Maximal Machine Workload (MMW)

328

159

158

Total Workload of Machines (TWM)

770

764

740

a Data

was adopted from [1]

16.5.2 Problem 2 Owing to the lack of the benchmark instances on the multi-objective IPPS problem, we presented problem 2. The data of problem 2 was shown in Table 16.5. It was constructed with 8 jobs and 8 machines. Table 16.6 showed the experimental results.

16.5 Experimental Results Table 16.4 Selected operation sequence for each job of problem 1

337 Job

Solution 1

Solution 2

1

O3 -O4 -O1 -O2

O3 -O4 -O1 -O2

2

O1 -O2 -O3

O3 -O2 -O1

3

O2 -O4 -O1 -O3

O2 –O4 -O1 -O3

4

O4 -O2 -O1 -O3

O4 -O2 -O1 -O3

5

O3 -O4

O3 -O4

Fig. 16.4 Gantt chart of solution 1 of problem 1

Fig. 16.5 Gantt chart of solution 2 of problem 1

5

4

3

2

12

20

18

O2

O3

O4

20

O4

8

30

O3

O1

10

O2

40

O4

57

30

O3

O1

7

10

20

O4

O2

10

O3

O1

10

O2

30

O4

50

10

O3

O1

7

20

O2

1

M1

20

22

11

7

18

28

12

60

42

31

12

7

20

10

8

54

32

11

19

8

M2

21

24

11

6

19

32

14

62

44

35

14

6

19

10

9

48

33

12

21

6

M3

22

25

12

9

21

31

15

61

45

29

13

8

21

11

10

52

29

9

22

7

M4

Alternative machines with processing time

O1

Operation

Job

Table 16.5 The data of problem 2

19

23

10

10

23

29

13

63

38

32

14

10

22

12

11

51

31

10

18

8

M5

25

18

13

12

22

30

16

68

40

35

15

9

24

12

13

53

32

13

23

9

M6

24

19

9

10

20

27

12

58

43

33

10

9

18

13

12

50

33

10

20

10

M7

23

21

10

11

18

33

11

59

40

32

11

8

20

10

15

48

30

11

21

8

M8

O1 -O2 -O3 -O5 -O4

O1 -O2 -O5 -O4 -O3

O1 -O3 -O4 -O5 -O2

O1 -O2 -O4 -O5 -O3

O1 -O2 -O4 -O3

O1 -O2 -O3 -O4

O3 -O4 -O2 -O1

O3 -O2 -O4 -O1

O2 -O3 -O1 -O4

O2 –O4- -O3 -O1

O2 -O3 -O4 -O1

O2 -O1 -O3 -O4

O2 -O1 -O4 -O3

O1 -O2 -O4 -O3

O2 -O1 -O3 -O4

O1 -O2 -O3 -O4

(continued)

Alternative operation sequences

338 16 Application of Game Theory-Based Hybrid Algorithm …

8

7

6

Job

7

16

25

11

O3

O4

O5

21

O5

70

30

O4

O2

50

O3

O1

10

O5

O2

40

O4

20

20

O3

O1

7

10

O2

9

30

M1

12

26

18

8

73

23

32

53

18

22

44

24

12

6

6

33

M2

13

25

15

9

79

24

33

55

16

21

42

22

11

7

7

36

M3

14

24

14

10

80

26

34

45

12

24

38

23

9

8

8

40

M4

Alternative machines with processing time

O1

O5

Operation

Table 16.5 (continued)

16

20

12

8

65

28

29

47

11

26

36

25

10

9

10

28

M5

10

23

13

10

67

27

31

48

13

23

37

21

13

12

12

29

M6

12

21

20

11

69

20

28

49

15

24

39

18

14

10

11

33

M7

15

26

14

13

68

23

35

51

9

25

41

19

8

8

8

34

M8

O2 -O1 -O3 -O4 -O5

O3 -O2 -O1 -O4 -O5

O3 -O1 -O2 -O4 -O5

O1 -O3 -O2 -O4 -O5

O1 -O2 -O3 -O4 -O5

O4 -O5 -O3 -O2 -O1

O3 -O2 -O4 -O5 -O1

O2 -O3 -O1 -O4 -O5

O1 -O2 -O3 -O4 -O5

O1 -O5 -O2 -O3 -O4

O5 -O1 -O2 -O4 -O3

O5 -O3 -O1 -O2 -O4

O5 -O1 -O3 -O2 -O4

Alternative operation sequences

16.5 Experimental Results 339

340

16 Application of Game Theory-Based Hybrid Algorithm …

Table 16.6 Experimental results of problem 2 Criteria

Solution 1

Solution 2

Solution 3

Makespan

122

122

123

Maximal Machine Workload (MMW)

106

102

107

Total Workload of Machines (TWM)

751

784

750

Table 16.7 showed the selected operation sequence for each job. Figure 16.6 illustrated the Gantt chart of solution 1 of the proposed algorithm. Figure 16.7 illustrated the Gantt chart of solution 2. And, Fig. 16.8 illustrated the Gantt chart of solution 3. From the experimental results of problem 2 (Table 16.6), the proposed approach can obtain good solutions to the multi-objective IPPS problem effectively. Table 16.7 Selected operation sequence for each job of problem 2 Job

Solution 1

Solution 2

Solution 3

1

O1 -O2 -O3 -O4

O1 -O2 -O3 -O4

O1 -O2 -O3 -O4

2

O2 -O3 -O4 -O1

O2 -O3 -O4 –O1

O2 -O1 -O3 -O4

3

O2 -O3 -O1 -O4

O2 -O3 -O1 -O4

O2 -O3 -O1 -O4

4

O1 -O2 -O3 -O4

O1 -O2 -O3 -O4

O1 -O2 -O4 -O3

5

O1 -O3 -O4 -O5 -O2

O1 -O3 -O4 -O5 -O2

O1 -O2 -O4 -O5 -O3

6

O5 -O1 -O2 -O4 -O3

O5 -O1 -O2 -O4 -O3

O5 -O1 -O3 -O2 -O4

7

O4 -O5 -O3 -O2 -O1

O4 -O5 -O3 -O2 -O1

O1 -O2 -O3 -O4 -O5

8

O2 -O1 -O3 -O4 -O5

O2 -O1 -O3 -O4 -O5

O3 -O2 -O1 -O4 -O5

Fig. 16.6 Gantt chart of solution 1 of problem 2

16.5 Experimental Results

341

Fig. 16.7 Gantt chart of solution 2 of problem 2

Fig. 16.8 Gantt chart of solution 3 of problem 2

16.5.3 Conclusions Considering the complementarity of process planning and scheduling, and the multiple objectives requirement from the real-world production, the research has been conducted to develop a game theory-based hybrid algorithm to facilitate the multiobjective IPPS problem. In this proposed approach, the Nash equilibrium in the game

342

16 Application of Game Theory-Based Hybrid Algorithm …

theory has been used to deal with multiple objectives. And a hybrid algorithm has been used to optimize the IPPS problem. Experimental studies have been used to test the performance of the proposed approach. The results show that the developed approach has achieved significant improvement. The contributions of this research include the following: • The game theory has been used to deal with the multiple objectives of the IPPS problem. This is a new idea on multi-objective manufacturing problems. And it also can be used to deal with the multiple objectives of other problems in the manufacturing field, such as the process planning problem, assembly sequencing problem, and scheduling problem. • To find optimal or near-optimal solutions from the vase search space efficiently, a hybrid algorithm has been applied to the multi-objective IPPS problem. Experiments have been conducted and the results showed the effectiveness of applying this approach.

References 1. Baykasoglu A, Ozbakir L (2009) A grammatical optimization approach for integrated process planning and scheduling. J Intell Manuf 20:211–221 2. Beckendorff U, Kreutzfeldt J, Ullmann W (1991) Reactive workshop scheduling based on alternative routings. In: Proceedings of a conference on factory automation and information management, pp 875–885 3. Chan FTS, Kumar V, Tiwari MK (2009) The relevance of outsourcing and leagile strategies in performance optimization of an integrated process planning and scheduling model. Int J Prod Res 47(1):119–142 4. Chryssolouris G, Chan S, Cobb W (1984) Decision making on the factory floor: an integrated approach to process planning and scheduling. Robot Comput-Integr Manuf 1(3–4):315–319 5. Chryssolouris G, Chan S (1985) An integrated approach to process planning and scheduling. Ann CIRP 34(1):413–417 6. Guo YW, Li WD, Mileham AR, Owen GW (2009) Optimisation of integrated process planning and scheduling using a particle swarm optimization approach. Int J Prod Res 47(14):3775–3796 7. Guo YW, Li WD, Mileham AR, Owen GW (2009) Applications of particle swarm optimisation in integrated process planning and scheduling. Robot Comput-Integr Manuf 25(2):280–288 8. Hsu T, Dupas R, Jolly D, Goncalves G (2002) Evaluation of mutation heuristics for the solving of multiobjective flexible job shop by an evolutionary algorithm. In: Proceedings of the 2002 IEEE international conference on systems, man and cybernetics, vol 5, pp 655–660 9. Khoshnevis B, Chen QM (1989) Integration of process planning and scheduling function. In: Proceedings of IIE integrated systems conference & society for integrated manufacturing conference, pp 415–420 10. Kim KH, Song JY, Wang KH (1997) A negotiation based scheduling for items with flexible process plans. Comput Ind Eng 33(3–4):785–788 11. Kim YK, Park K, Ko J (2003) A symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling. Comput Oper Res 30:1151–1171 12. Kuhnle H, Braun HJ, Buhring J (1994) Integration of CAPP and PPC—interfusion manufacturing management. Integr Manuf Syst 5(2):21–27 13. Kumar M, Rajotia S (2003) Integration of scheduling with computer aided process planning. J Mater Process Technol 138:297–300

References

343

14. Larsen NE (1993) Methods for integration of process planning and production planning. Int J Comput Integr Manuf 6(1–2):152–162 15. Lee H, Kim SS (2001) Integration of process planning and scheduling using simulation based genetic algorithms. Int J Adv Manuf Technol 18:586–590 16. Li WD, McMahon CA (2007) A simulated annealing—based optimization approach for integrated process planning and scheduling. Int J Comput Integr Manuf 20(1):80–95 17. Li WD, Gao L, Li XY, Guo Y (2008) Game theory-based cooperation of process planning and scheduling. In: Proceeding of the 12th international conference on computer supported cooperative work in design, China, pp 841–845 18. Li XY, Gao L, Zhang CY, Shao XY (2010) A review on integrated process planning and scheduling. Int J Manuf Res 5(2):161–180 19. Li XY, Gao L, Shao XY, Zhang CY, Wang CY (2010) Mathematical modeling and evolutionary algorithm based approach for integrated process planning and scheduling. Comput Oper Res 37:656–667 20. Li XY, Zhang CY, Gao L, Li WD, Shao XY (2010) An agent-based approach for integrated process planning and scheduling. Expert Syst Appl 37:1256–1264 21. Li XY, Shao XY, Gao L, Qian WR (2010) An effective hybrid algorithm for integrated process planning and scheduling. Int J Prod Econ. https://doi.org/10.1016/j.ijpe.2010.04.001 22. Morad N, Zalzala AMS (1999) Genetic algorithms in integrated process planning and scheduling. J Intell Manuf 10:169–179 23. Shao XY, Li XY, Gao L, Zhang CY (2009) Integration of process planning and scheduling—a modified genetic algorithm-based approach. Comput Oper Res 36:2082–2096 24. Shen WM, Wang LH, Hao Q (2006) Agent-based distributed manufacturing process planning and scheduling: a state-of-the-art survey. IEEE Trans Syst, Man, Cybern-Part C: Appl Rev 36(4):563–577 25. Shukla SK, Tiwari MK, Son YJ (2008) Bidding-based multi-agent system for integrated process planning and scheduling: a data-mining and hybrid tabu-sa algorithm-oriented approach. Int J Adv Manuf Technol 38:163–175 26. Sugimura N, Hino R, Moriwaki T (2001) Integrated process planning and scheduling in holonic manufacturing systems. In: Proceedings of IEEE international symposium on assembly and task planning soft research park, vol 4, pp 250–254 27. Tan W, Khoshnevis B (2000) Integration of process planning and scheduling—a review. J Intell Manuf 11:51–63 28. Thomalla CS (2001) Job shop scheduling with alternative process plans. Int J Prod Econ 74:125–134 29. Usher JM, Fernandes KJ (1996) Dynamic process planning-the static phase. J Mater Process Technol 61:53–58 30. Wang LH, Song YJ, Shen WM (2005) Development of a function block designer for collaborative process planning. In: Proceeding of CSCWD2005. Coventry, UK, pp 24-26 31. Wang LH, Shen WM, Hao Q (2006) An overview of distributed process planning and its integration with scheduling. Int J Comput Appl Technol 26(1–2):3–14 32. Wong TN, Leung CW, Mak KL, Fung RYK (2006) Integrated process planning and scheduling/ rescheduling—an agent-based approach. Int J Prod Res 44(18–19):3627–3655 33. Zhang HC (1993) IPPM-a prototype to integrated process planning and job shop scheduling functions. Ann CIRP 42(1):513–517 34. Zhang J, Gao L, Chan FTS (2003) A holonic architecture of the concurrent integrated process planning system. J Mater Process Technol 139:267–272 35. Zhang WQ, Gen M (2010) Process planning and scheduling in distributed manufacturing system using multiobjective genetic algorithm. IEEJ Trans Electr Electron Eng 5:62–72

Chapter 17

A Hybrid Intelligent Algorithm and Rescheduling Technique for Dynamic JSP

17.1 Introduction Job shop Scheduling Problems (JSPs) are concerned with the allocation of resources over time to perform a collection of tasks. This is an important aspect of production management which has a significant effect on the performance of the shop floor [15, 22]. JSPs which have been proved to be NP-hard are well-known to be the hardest combinatorial optimization problem. Various methods like mathematical techniques, dispatching rules, and artificial intelligence have been successfully used to solve the static JSPs [17]. However, the static JSPs ignore the real-time events such as random job arrivals and machine breakdowns. This does not match the status of the real manufacturing systems. In most real manufacturing environments, scheduling systems usually operate in highly dynamic and uncertain environments in which several unexpected disruptions (such as random job arrivals, machine breakdowns, an due date changes) prevent the execution of production schedules exactly as they are developed. Unfortunately, most manufacturing systems operate in dynamic environments subject to various real-time events, which may render the predictive optimal schedule neither feasible nor optimal. Therefore, dynamic scheduling is of great importance for the successful implementation in real-world scheduling systems [14]. The dynamic JSPs, which consider the real-time events, attract more and more attentions from many researchers and engineers. The static JSPs have been proven to be a NP-hard problem. Due to the dynamic feature, the dynamic JSPs are much more complex than the static JSPs. Therefore, the dynamic JSPs must be a strongly NP-hard problem. And it is more difficult to solve dynamic JSPs. The first study about the dynamic JSPs was published by Holloway and Nelson. Then the dynamic JSPs have attracted many researches because they exist in most of the manufacturing systems in various forms. A rescheduling method with constructing a new schedule from scratch has been widely used in dynamic JSPs [4, 9, 30, 32, 33]. But due to the process continuity in a problem condition during the © Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_17

345

346

17 A Hybrid Intelligent Algorithm …

planning horizon, using a rescheduling method with constructing a new schedule from scratch can reduce the performance of the method. Preventing such a problem, Zhou et al. [33] applied the ant colony algorithm to two dynamic JSPs exploring its unique property of seeking solutions through the adaptation of its pheromone matrix. The inspiration is from the phenomenon that ants will not go back to their nest to restart searching for a new route when the existing one is not available. Renna [19] created the schedule by a pheromone-based approach which was carried out by a multi-agent architecture. The pheromone approaches proposed were two: one based on moving average and the other one on exponential moving average. In recent years, with the development of scheduling theory, the dynamic JSPs have attracted more and more attention. In the literature the approaches to solve dynamic JSPs include meta-heuristics [6], dispatching rules [13], multi-agent system [10], etc. Dispatching rules have been widely used in dynamic JSPs. For example, Subramaniam et al. [24] proposed three machine section rules and evaluated their effectiveness through a simulation study of a dynamic job shop. Singh et al. [23] considered several dispatching rules simultaneously for selecting a job for processing and continuously monitoring the attained values of performance measures. Nie et al. [13] proposed gene expression programming-based scheduling rules constructor. Meta-heuristics methods, such as Genetic Algorithm (GA), Tabu Search (TS), and Simulated Annealing (SA), have been widely used to solve the static deterministic scheduling problems [12]. Ouelhadj and Petrovic [14] pointed out that a few research works had addressed the use of meta-heuristics in dynamic scheduling. Chryssolouris and Subramaniam [2] developed a GA method which was significantly superior to that of the common dispatching rules. Vinod and Sridharan [27] studied the dynamic job shop production system. Rangsaritratsamee et al. [18] studied dynamic JSPs that simultaneously considered efficiency and stability based on a genetic local search algorithm and periodic rescheduling policy. Liu et al. [8] considered a two-stage multi-population GA to solve the bi-objective single-machine scheduling with random machine breakdowns. Malve and Uzsoy [11] proposed a family of iterative improvement heuristics with the genetic algorithm for the problem of minimizing maximum lateness on parallel identical batch processing machines with dynamic job arrivals. Adibi et al. [1] presented a Variable Neighborhood Search (VNS) method, which had high effectiveness and efficiency in various shop floor conditions. Combined meta-heuristic algorithm with other scheduling techniques is the future for solving dynamic JSPs. Xiang and Lee [29] built efficient ant colony intelligence in multi-agent for dynamic scheduling. Renna [19] created the schedule by a pheromone-based approach which was carried out by a multi-agent architecture. Wu et al. [28] proposed a novel threefold approach to solving dynamic JSPs by the artificial immune algorithm. Zandieh and Adibi [30] developed VNS with an artificial neural network to solve dynamic JSPs, which had high efficiency and effectiveness. GA and TS have been successfully used to find optimal solutions to static scheduling problems [3]. Recently, several researchers have suggested using hybrid GA consisting of a pure genetic algorithm with another search procedure [18]. The hybrid GA and TS can combine the advantages of both GA and TS together and are highlevel heuristics which guide local search heuristics to escape from the local optima.

17.1 Introduction

347

Moreover, most research published works around the dynamic JSPs construct a new schedule from scratch. The rescheduling technique, which constructs a new schedule from the last information, has not been studied well. Finally, to our knowledge, the real-time events are difficult to express and are taken into account by the mathematical model. In this research, a hybrid GA and TS rescheduling technique is proposed to generate the new schedules for dynamic JSPs with random job arrivals and machine breakdowns. A new initialization method is proposed to improve the performance of the hybrid intelligence algorithm. In order to solve the difficulty of using the mathematical model to express the unexpected disruptions, a simulator is designed to tackle the complexity of the problem. The performance measures investigated respectively are mean flow time, maximum flow time, mean tardiness, maximum tardiness, and number of tardy jobs. The proposed rescheduling technique is evaluated in various job shop environments where the jobs arrive over time and the machines’ breakdown and repair occur. The remainder of this chapter is organized as follows: Sect. 17.2 describes the dynamic JSPs. Section 17.3 presents the framework based on the hybrid GA and TS with a simulator algorithm. In Sect. 17.4 the experimental environments and the results are provided. Finally, Sect. 17.5 is the conclusions and several promising research directions.

17.2 Statement of Dynamic JSPs 17.2.1 The Proposed Mathematical Model A typical JSP can be formulated as follows. There are n jobs, each composed of several operations that must be processed on m machines. Each operation uses one of the m machines for a fixed duration. Each machine can process at most one operation at a time, and once an operation initiates processing on a given machine, it must complete processing on that machine without interruption. The operations of a given job have to be processed in a given order. The problem consists in finding a schedule of the operations on the machines, taking into account the precedence constraints and the objectives [20]. In this section, the dynamic mathematical model for the considered problem according to the static model of JSP is developed. It assumes that a set of n jobs  are scheduled at the beginning of the schedule and a set of n new jobs are arrived after the start of the schedule. There are m machines which are used to execute the jobs’ operations. Let i, i , j, j , and k denote indexes of the machine, old job, new job, and operation, respectively, throughout the chapter. Each job consists of a sequence of operations Oij , i = 1, 2, …, n, j = 1, 2, …, ni , (O i j , i = 1, 2, …, n , j = 1, 2, …, n j ).

348

17 A Hybrid Intelligent Algorithm …

The following notations are used for the problem formulation. ai a i  di d  i C ijk C  i j  k pijk p i j k

Arrival time of job i; Arrival time of job i; Due date of job i; Due date of job i ; The completed time of the operation Oij on machine k; The completed time of the operation Oi j on machine k; The processing time of the operation Oij on machine k; The processing time of the operation O i j on machine k.

The other parameters and variables are defined after using then in equations. In dynamic JSP, minimizing makespan is of less interest because the scheduling horizon is open and the makespan gives no credit for jobs that finish well before the last one finishes [7]. Therefore, five other performance measures are considered respectively and described as follows. Mean flow time:  n  n      1   ¯ × Ci  ,n   ,k − ai  Ci,ni ,k − ai + (17.1) F= i (n + n  ) i=1 i  =1 Maximum flow time:



  Fmax = max max Ci,ni ,k − ai , max  Ci  ,n ,k − ai    1≤i≤n

1≤i ≤n i 

i

(17.2)

i

Mean tardiness: T¯ =

⎞ ⎛    n  n       1  ⎠ ⎝ C , 0 C , 0 + max − d max − d × i,n i ,k i i  ,n   ,k ii (n + n  ) i 

(17.3)

i =1

i=1

Maximum tardiness: ⎛     Tmax = max⎝ max max Ci,n i ,k − di , 0 + 1≤i≤n



max

1≤i  ≤n   i

⎞  

max Ci  ,n  ,k − di , 0 ⎠ i

(17.4)

Number of tardy jobs: NT =

n  i=1



δi +

n 

δi

(17.5)

i  =1

The above equations describe the objective functions. These objectives consist of the mean flow time, the maximum flow time, the mean tardiness, the maximum tardiness, and the number of tardy jobs, respectively.

17.2 Statement of Dynamic JSPs

349

Subject to C hlk  − phlk  + M(1 − A) ≥ Ci jk

(17.6)

Ch l  k  − ph  l  k  + M(1 − A) ≥ Ci j  k

(17.7)

A=

1,





Oi j ≺ Ohl or Oi  j  ≺ Oh  l 

(17.8)

0, otherwise

Constraints (17.6) and (17.7) respect the precedence constraints. Each operation can be executed when its precedence operation has been executed. For each job, the operations must be executed in a predetermined sequence. A is 0 − 1 variable, where C ijk denotes the completed time of the operation Oi j on machine k. pi jk denotes the processing time of the operation Oij on machine k. n, ni and m denotes the number of the jobs, operations, and machines, respectively. i, j, k, ,h and l denote the indexes of the job, operations, and machine, respectively, where i = 1, 2, …, n, j = 1, 2, …, ni , h = 1, 2, …, n, l = 1, 2, …, nh , i = 1, 2, …, n , j = 1, 2, …, n ¬i , h = 1, 2, …, n , l  = 1, 2, …, n h’ , and k denotes the selected machine index by the operation Oij or O i j . k  denotes the selected machine index by the operation Ohl or O ¬h l . ⎧⎛ ⎫ ⎞ n i ni  m m n  n  ⎨  ⎬     

 M> ⎝ pi jk + pi  j  k  ⎠ − min min pi jk , min pi  j  k  ⎩ ⎭    i=1 j=1 k=1

i =1 j =1 k =1

(17.9) M is a large number, which comes from Van Hulle [25]. Now, in order to fit the dynamic scheduling environment, this constraint is modified so that the large number M is greater than the sum processing time of all jobs minus the maximum processing time at each scheduling point. C hlk − thlk + M(1 − B) ≥ Ci jk

(17.10)

C h  l  k  − ph  l  k  + M(1 − B) ≥ Ci j  k 

(17.11)

⎧ ⎪ ⎨ 1, Oi j is processed on Mk berfore Ohl  B = 1, Oi  j  is processed on Mk  berfore Oh  ⎪ ⎩ 0, otherwise

(17.12)

Constraints (17.14) enforces that each operation can be performed only when the related machine is idled. Each operation can be started when its precedence operation on the related machine was executed. B is 0 − 1 variable, where i = 1, 2, …, n, j = 1, 2, …, ni , h = 1, 2, …, n, l = 1, 2, …, nh , i = 1, 2, …, n , j = 1, 2, …, n i’ , h = 1,

350

17 A Hybrid Intelligent Algorithm …

2, …, n , l  = 1, 2, …, n h’ and k denotes the selected machine index by the operation Oij or O hl . k  denotes the selected machine index by the operation Oi j or O h l ¬ . ni 

X i jk = 1

(17.13)

X i  j  k  = 1

(17.14)

j=1 n

i 

X i jk = 

X i  j  k =

j  =1

1, ifmachinekselectedforOi j 0, otherwise 

(17.15) 

1, if machine k selected for Oi  j  0, otherwise

(17.16)

Constraints (17.13) and (17.14) enforce that each job must be performed only one time on one machine. For each job, the machine can perform only one operation of any job at a time. X i jk and X i  are 0 − 1 variables, where i = 1, 2, …, n , i = 1, 2, …, n , k = 1, 2, …, m, and k  = 1, 2, …, m . δi = δi =

1, ifCi,ni ,k > di 0, otherwise 1, if Ci ,n   ,k > di i

0, otherwise

(17.17)

(17.18)

Constraint (17.17) and (17.18) represent whether the job is the tardy job, where i = 1, 2, …, n , i = 1, 2, …, n . The above equations define the objective functions and the constraints. Because the machine available time and the rescheduling jobs are related to the rescheduling strategy, the detail will be introduced in the following text.

17.2.2 The Reschedule Strategy Prediction-reactive scheduling is conducted to modify the created schedule for responding to the unexpected disruptions [20, 21]. It is the most common dynamic scheduling approach used in manufacturing systems [14]. In this research, we study the prediction-reactive scheduling in the JSP with random job arrivals and machine breakdowns. The prediction reactive scheduling needs to address two issues: when and how to react to real-time events. Regarding the first issue, a hybrid periodic and event-driven rescheduling policies are selected for continuous processing in a dynamic environment. In the hybrid

17.2 Statement of Dynamic JSPs

351

rescheduling policies, schedules are generated at regular schedule frequency and also when a key unexpected disruption appears. A machine breakdown will be selected randomly to be the key unexpected disruption at the beginning of the simulation. A rescheduling will be triggered when this machine breaks down. Regarding the second issue, the complete rescheduling strategy, which regenerates a new schedule from scratch, is used at each rescheduling point. All those jobs (named the rescheduling jobs) which contain all unprocessed jobs and new jobs are performed. The right-shift rescheduling strategy is used when other machines break down. In the following section, some important factors in dynamic JSPs are discussed to introduce as to how to simulate the expected disruptions and how to calculate the due date. 1. Job arrivals: it has been observed the distribution of the job arrival process closely follows the Poisson distribution. Hence, the interarrival time between two job arrivals is exponentially distributed [18]. Interarrival time between two job arrivals is obtained using the following relationship [26]: t=

μ p μg Um

(17.19)

where U denotes the shop utilization. μ p denotes the mean processing time per operation. μg denotes the mean number of operations per job. In this research, it assumes that U = 0.95, 0.90, 0.85, 0.80, and 0.75. 2. Machine breakdowns and repair: the Mean Time Between Failure (MTBF) and the Mean Time To Repair (MTTR) are assumed to follow an exponential distribution [30]. When machines are subjected to unpredictable breakdown, the distribution of operations on machines should be revised. After the machine has been repaired, the distribution of operations should also be modified. 3. Due date of jobs: the Total Work Content (TWK) method has been used widely for due date assignment. The due date of a job is determined using the following equations [26]: di = ai + k × pi

(17.20)

where pi denotes the total processing time of job i. k is the tightness factor. This tightness factor is assigned from a uniform distribution and will be introduced in Sect. 17.4.1.

17.2.3 Generate Real-Time Events The random job arrivals and machine breakdowns are considered simultaneously in this study. In this subsection, how to generate real-time events, which contains the

352

17 A Hybrid Intelligent Algorithm …

job arrivals simulator, and the machine breakdown simulator are developed in detail. The following notations are used for generating real-time events. (1) JAEL denotes the interarrival time between two jobs. JAEL is assigned again when a new job arrives. (2) MBEL denotes the interval of time between two failures of each machine. MBEL is assigned again when the machine breakdown event occurs. (3) MREL denotes the interval of time between the failure and the repair of each machine. Assume that every machine is available to be maintained. MREL is also assigned again when the machine repair event occurs. (4) The RP represents the set of all rescheduling points. Initialize RP with a fixed rescheduling frequency.

17.2.3.1

The Job Arrivals Simulator

The job arrivals simulator has the following steps: Step 1 Initialize JAEL with random numbers in exponential distribution and t corresponds to the average interarrival time between two jobs, where t denotes the average interarrival time between two job arrivals. JAELi = exp _rand(t), for all new jobs i = 1, 2, . . .

(17.21)

Step 2 Calculate the arrival time of job i: ai = JAEL + ai−1 i > 1 ai = JAELi

i =1

(17.22)

Step 3 Repeat Step 1 and Step 2 until the rescheduling point is met.

17.2.3.2

The Machine Breakdowns Simulator

The machine breakdowns and repair simulator has the following steps: Step 1 Generate MBEL with random numbers in exponential distribution. Calculate the machine failure time for each machine, where mtk denotes the breakdown time of machine k. mak denotes the available time of machine k. MBELk = exp _rand(MTBF)for all machines k = 1, 2, . . . , m

(17.23)

mtk = MBELk + mak for all machines k = 1, 2, . . . .m

(17.24)

17.2 Statement of Dynamic JSPs

353

Step 2 If M¬k is the key machine, a rescheduling is triggered. Add mt¬k¬ to RP set. Generate an exponential random number. Calculate the machine repair time for each machine. MRELk = exp _rand(MTTR) for all machines k = 1, 2, . . . , m

(17.25)

mak = MRELk + mtk for all machines k = 1, 2, . . . , m

(17.26)

Step 3 Repeat Step 1 and Step 2 until the next rescheduling point is met. In this study, the simulator can generate unexpected disruptions until the planning horizon is met in the real manufacturing environment.

17.3 The Proposed Rescheduling Technique for Dynamic JSPs A hybrid GA and TS rescheduling technique with a new initialization method is presented by integrating with a simulator to solve the dynamic JSPs. The new initialization method will be introduced in Sect. 17.3.1 and tested in Sect. 17.4.2. This section introduces the rescheduling technique in general and the hybrid GA and TS in a dynamic JSP environment.

17.3.1 The Rescheduling Technique in General A successful implementation of a scheduling system in a dynamic environment usually requires either a real manufacturing facility or a simulation environment. In this research, we use the simulation approach since it is a cost-effective way of creating dynamic conditions. In the dynamic job shop framework, the proposed scheduling system consists of three major components: prediction schedule, simulator, and the rescheduling technique. The process of the proposed method is summarized in Fig. 17.1. The prediction schedules are generated and implemented for the production process successfully at each rescheduling point. The prediction schedules are generated by considering machines, sequence, and jobs. At the beginning of the scheduling system, all machines are available at time 0. The initial information on the machines and jobs is determined. The prediction schedule at time 0 is generated by the initial information. The main task of the simulator is to generate the real-time events until the planning horizon is not met. The simulator uses two sets of input data: job-related data

354

17 A Hybrid Intelligent Algorithm …

Simulator

New Job Arrivals

Repair of Machines Available Machine

Pending Jobs

Next Rescheduling Point

Machine Breakdown

Update the Problem Condition

The Hybrid Algorithm Generate and Implement Schedule Start

Schedules

In Planning Horizon? N

Y Go to next rescheduling point if: · Key machine breakdown · The next rescheduling periodic

End Fig. 17.1 The proposed rescheduling technique for solving dynamic JSPs

and machine-related data. How to generate real-time events has been introduced in Sect. 17.2.3. The rescheduling technique used in the schedule generation is a hybrid intelligence algorithm based on the GA and TS. According to the real-time events generated by the simulator and the shop condition, the problem condition needs to be updated. Then, the hybrid intelligence algorithm optimizes the new problem and generates a new prediction schedule for the production process. The problem condition contains the machine available time named AT αk , where k denotes the machine index, α denotes the index of the rescheduling point, the rescheduling job set, and so on. The machine can be classified into three categories: the machine breakdown, the machine busy (one operation being processed on the machine), and the machine idle. In the case of the machine breakdown, the machine available time will be assumed the available time of the machine repaired. It can be formulated that AT k α = mak . In the case of the machine busy, the machine available

17.3 The Proposed Rescheduling Technique for Dynamic JSPs

355

time will be assumed the completed time of the operation on the machine. It can be formulated that AT k α = CT k , where CT k denotes the completed time of the operation being processed on the machine k at the α rescheduling point. In the case of the machine idle, the machine available time will be assumed the rescheduling point. It can be formulated that AT k α = RPα .

17.3.2 The Hybrid GA and TS for Dynamic JSP The proposed hybrid GA and TS rescheduling technique is implemented when a rescheduling is triggered. The proposed rescheduling technique could well balance its diversification and intensification to find high-quality solutions to the optimization problem. In the proposed rescheduling technique, the TS is applied to each child with a certain probability to search for a better solution. The steps of the proposed rescheduling technique are shown in Fig. 17.2. The details of the proposed approach, including chromosome encoding and decoding, initialization, crossover operator, mutation operator, neighborhood structure, tabu list, and move selection and termination criterion, will be introduced in the following subsections.

17.3.2.1

Chromosome Encoding and Decoding

The operation-based representation is adopted as the encoding method because it can ensure that any permutation of the chromosome can be decoded to be a feasible schedule sequence. Each chromosome contains the number of genes which is equal to the number of all operations in the rescheduling jobs. Each gene responds to the index of job i. Each job i appears n i times in the chromosome. n i represents the number of all operations of job i in the rescheduling jobs. For example, at one rescheduling point, it is assumed that the unprocessed jobs set = {O12 O13 O14 O23 O24 }, and the Step 1: Generate initial population. Set parameters including population size, max iteration, mutation probability, crossover probability, etc. Encode every initial solution into a chromosome. Step 2: Decode each individual to obtain the fitness value. Compare them to obtain the best solution. Check the termination criteria. When the termination criterion is met, stop the rescheduling technique and output the optimal solution. Otherwise, go to step 3. Step 3: Generate new population for the next generation. Three operations including selection, crossover and mutation is applied to create offspring for the next population. In this study, the tournament approach [16] is adopted to perform the selection. Step 4: Randomly generate one probability value for each individual. When the probability is less than the certain probability, apply the TS procedure to improve the quality of the individual. Repeat this step until the number of individual is equal to the population size. Following this, the algorithm goes back to step 2.

Fig. 17.2 The steps of the proposed rescheduling technique

356

17 A Hybrid Intelligent Algorithm …

new jobs set = {O31 O32 O33 O41 O42 O43 }, where Oi j denotes the j th operation of job i. Thus, the rescheduling jobs set is defined as {O12 O13 O14 O23 O24 O31 O32 O33 O41 O42 O43 }. One chromosome {2, 1, 3, 4, 2, 1, 3, 4, 1, 4, 3} is given based on the above rescheduling jobs set. Thus, according to the operation-based representation method, the chromosome can be interpreted as {O23 O12 O31 O41 O24 O13 O32 O42 O14 O43 O33 }. Because all the objectives considered are nonregular, the semiactive schedule is adopted in the decoding approach to increase the search space. Step 1: Generate initial population. Set parameters including population size, max iteration, mutation probability, crossover probability, etc. Encode every initial solution into a chromosome. Step 2: Decode each individual to obtain the fitness value. Compare them to obtain the best solution. Check the termination criteria. When the termination criterion is met, stop the rescheduling technique and output the optimal solution. Otherwise, go to Step 3. Step 3: Generate new population for the next generation. Three operations including selection, crossover, and mutation are applied to create offspring for the next population. In this study, the tournament approach [16] is adopted to perform the selection. Step 4: Randomly generate one probability value for each individual. When the probability is less than a certain probability, apply the TS procedure to improve the quality of the individual. Repeat this step until the number of individuals is equal to the population size. Following this, the algorithm goes back to Step 2.

17.3.2.2

Initialization

Two initialization methods (named random initialization and partial initialization) are proposed to initialize the problem at each rescheduling point. This subsection only introduced two initialization methods. It will be discussed as to how to combine them in Sect. 17.5. Random initialization is to discard the original population and construct the new population from scratch. This initialization procedure is demonstrated in Fig. 17.3. The genes between positions 1 and 5 are the best sequence in the original schedule before initialization. The genes between positions 6 and 11 are the new job Fig. 17.3 An example of a random initialization procedure

Position

1

2

3

4

5

6

7

8

9 10 11

Before 2 initialization

1

2

1

1

3

3

3

4

4

4

1

2

4

3

1

4

3

Original Random 3 initialization

1

2

4

17.3 The Proposed Rescheduling Technique for Dynamic JSPs

Position

Fig. 17.4 An example of a partial initialization procedure

357

1

2

3

4

5

6

7

8

9 10 11

Before 2 initialization

1

2

1

1

3

3

3

4

4

4

3

2

4

1

4

1

3

Original Partial 4 initialization

3

2

1

indexes before initialization. The chromosome is generated randomly, and it must be guaranteed that each job i occurs n i times in every chromosome. Partial initialization is to reserve the original jobs sequence to the new population, and randomly insert the new jobs into the new population. This initialization procedure is demonstrated in Fig. 17.4. The genes between positions 1 and 5 are the best sequence in the original schedule before initialization. The genes between positions 6 and 11 are the new job codes before initialization. The sequence of the genes between positions 1 and 5 remains unchanged, and other genes of new jobs are randomly inserted into the original genes.

17.3.2.3

Crossover Operator

The crossover operator tends to increase the quality of the population. Precedence operation crossover [31] is adopted. This crossover procedure is demonstrated in Fig. 17.5. J1 = {1,3} is randomly selected from the set J = {1,2,3,4}. The new child 1 preserves the subset J1 position in parent 1 and keeps the subset (J − J1) sequence in parent 2. The new child 2 preserves the subset J1 position in parent 2 and keeps the subset (J − J1) sequence in parent 1. Position 1 2 3

4

5

6

7

8

9 10 11

4

1

2

4

3

1

Position 1 2 3

Parent 1 3

1

4

5

6

7

8

9 10 11

Child 1 2

4

3

3

1

4

2

1

4

2

3

1

4

3

Child 2 2 3

4

1

3

2

4

1

4

1

3

1, 3 Parent 2 4 3 2

1

3

4

2

1

4

1

3

Fig. 17.5 An example of crossover procedure

358

17 A Hybrid Intelligent Algorithm …

Fig. 17.6 An example of flip mutation procedure

Fig. 17.7 An example of insert mutation procedure

Position

1

2

3

4

5

6

7

8

9 10 11

Before mutation

2

1

3

4

2

1

3

4

1

4

3

2

1

4

3

4

2

1

3

1

4

3

After mutation

17.3.2.4

Mutation Operator

Mutation is used to produce perturbations on chromosomes in order to maintain the diversity of the population. Two types of mutation (which are named flip mutation and insert mutation) are randomly selected in this research. Flip mutation flips the substring between two different random positions. This mutation procedure is demonstrated in Fig. 17.6. Positions 3 and 8 are randomly selected to be the mutation points. Flipping the gene occurs between positions 3 and 8; then, the genes between positions 3 and 8 are flipped to generate the new child. Insert mutation selects two elements randomly and inserts the back one before the front one. This mutation procedure is demonstrated in Fig. 17.7. Positions 3 and 8 are randomly selected to be the mutation points. Inserting the gene of position 8 before position 3 is done, then, the genes between positions 3 and 8 are changed to generate the new child.

17.3.2.5

Neighborhood Structure

A neighborhood structure can obtain a new set of neighbor solutions by applying a small perturbation to a given solution. At each rescheduling point, the new problem can be represented with a disjunctive graph. Table 17.1 describes an example of the new problem at a rescheduling point. The rescheduling job set contains {O12 O13 O14 O23 O24 O31 O32 O33 O41 O42 O43 }. The disjunctive graph is shown in Fig. 17.8. Any operation on the critical path is called a critical operation [33]. In Fig. 17.9, the critical path is {0, O12 , O31 , O32 , O14 , 12} and the length of the critical path is 17. A block is a maximal sequence of adjacent critical operations that is processed on the same machine. In Fig. 17.9, the critical operations are {O12 , O31 , O32 , O14 },

17.3 The Proposed Rescheduling Technique for Dynamic JSPs

359

Table 17.1 An example of the problem Jobs

Machines sequence

Processing time

J1

2-3-4

4-3-6

J2

4-3

5-2

J3

2-4-1

2-5-4

J4

3-1-2

4-6-2

Operations in M3

Operations in M2 O12

O13

Operations in M4

O14

O23

O24

0

12 O31

O32

O41

O33

O42

Operations in M1

O43

Fig. 17.8 The disjunctive graph of the example in Table 17.1

Operations in M2

Operations in M3 O12

O13

Operations in M4

O14

O24

O23 0

12 O31

O32

O41

O33

O42

Operations in M1

O43

Critical path

Fig. 17.9 A feasible solution for the disjunctive graph in Fig. 17.7

and the critical path is divided into two blocks, block 1 = {O12 , O31 } and block 2 = {O32 , O14 }. In this research, the neighborhood structures based on the critical path are adopted. The neighborhood structures swap any two randomly selected operations in every

360

17 A Hybrid Intelligent Algorithm …

block, each of which contains at least two operations. If the critical block only has one operation, then make no exchange. If the critical block contains more than two operations, then randomly select two operations and swap them.

17.3.2.6

Tabu List and Move Selection

The purpose of the tabu list is to avoid the search process turning back to the solutions visited in the previous steps. The length of the tabu list is a fixed size. When the tabu list is full, the oldest element of the list is replaced by the new element. More precisely, if the swapping (x, y) is the best neighborhood of one chromosome, the swapping (x, y) is added to the tabu list. Assume that the neighborhoods of the current solution are not empty. Otherwise, all critical blocks contain less than one operation and the TS method terminates. The move method is to select the best neighborhood which is non-tabu or satisfies the aspiration criterion which accepts the move that provides that the fitness value is better than the current best solution found so far. However, there is a situation that all neighborhoods are tabu and none of them satisfy the aspiration criterion. In such case, a neighborhood is selected randomly among all neighborhoods.

17.3.2.7

Termination Criterion

Termination criterion is used to determine whether the proposed method should be stopped. In this study, when iteration times are over the maximum iterations (iterTS ) or all critical blocks contain less than one operation, stop the TS. When iteration times are over the maximum iterations (iterGATS ), stop the proposed rescheduling technique and output the optimal solution for the next rescheduling. When no new jobs arrive or the number of new jobs is reached to the preset quantity in the simulation, the planning horizon is met and the simulator does not generate disturbances.

17.4 Experiential Environments and Results The proposed rescheduling technique has been performed in C++ language on a PC with Intel Core 2 Duo CPU 2.0 GHz processor and 2.00 GB RAM memory. Simulation starts with a 6 × 6 static job shop problem (FT06) [5] with makespan = 55 extracted from the literature.

17.4 Experiential Environments and Results

361

17.4.1 Experimental Environments The experimental conditions of the studied dynamic JSPs are illustrated in Table 17.2. All machines have the same MTTR and MTBF. Ag = MTTR/(MTBF + MTTR) denotes the breakdown level of the shop floor that is the percentage of time the machines have failures. For example, for Ag = 0.05 and MTTR = 5 time units follows MTBF = 45, thus, on an average of 45 time units, a machine is available and then breaks down with a mean time to repair of 5 time units. The interarrival time between two jobs on the shop floor is an independent exponential random variable. The average interarrival time is decided by the shop utilization, the average processing time per operation, the average number of operations per job, and the number of machines on the shop floor. It is assumed that the processing time of an operation on each machine follows a uniform distribution. The average shop utilization has five levels—0.75, 0.80, 0.85, 0.90, and 0.95. New jobs arrive one by one with the quantity of new jobs from 20 to 200. Table 17.3 gives the average shop utilization and the average interarrival time under the heavy and moderate shop load level. Table 17.2 The experimental conditions Dimension

Characteristic

Specification

Floor shop

Size

6 machines

Machine breakdown level

0.025

Jobs

Performance measures

MTTR

5

MTBF, MTTR

Exponential distribution

Random arrival

Poisson distribution

The quantity of new jobs

[20,200]

Job release policy

Immediate

Processing time of an operation

U [1, 10]

Schedule frequency

12

Mean flow time Mean tardiness Maximum flow time Maximum mean tardiness Number of tardy jobs

Table 17.3 The average interarrival time under different shop load levels Heavy

Moderate

Average interarrival time

5.26

5.55

5.88

6.25

6.66

Average shop utilization

0.95

0.90

0.85

0.80

0.75

362

17 A Hybrid Intelligent Algorithm …

Table 17.4 The range of due date tightness for different shop load levels Shop load

Heavy

Due date tightness k

Loose

Tight

Loose

Moderate Tight

(2,6)

(1.5,4.5)

(1,5)

(0.75,3.75)

Since due date tightness has been shown to influence scheduling decisions [22], two levels of due date tightness, namely loose and tight due dates, are considered. When a new job arrives, the tightness factor k is generated by the uniform distribution. Table 17.4 shows the range of due date tightness k for different shop load levels.

17.4.2 Results and Discussion It is worth to mention that there are some parameters to be determined in the proposed rescheduling technique. Some parameters on the proposed rescheduling technique are set as follows: population size (popsize = 20), maximum iteration of the hybrid GA and TS method (iterGATS = 50), maximum iteration of TS (iterTS = 20), crossover probability (pc = 0.9), mutation probability (pm = 0.1), the certain probability (pt = 0.5), and the length of tabu list (lt = 10). The proposed rescheduling technique runs 10 times for the considered problem. Simulation for each state continues until the number of new jobs that have arrived on the shop floor is from 20 to 200. The proposed rescheduling technique runs 10 times for each problem condition. The simulation experiments are conducted in the same experimental conditions for all initialization methods (i.e., the quantity of new job arrivals, the number of machines, schedule frequency, and machine breakdown level).

17.4.2.1

The Effect of Several Initializations

Tables 17.5 and 17.6 summarize the results for different initializations under heavy shop load level or moderate shop load level, respectively. The average shop utilization and the number of new jobs are equal to 0.95, 0.75 and 20, 20, respectively. We report the average value among 10 running times. Loose and tight due dates have no influence on the mean flow time and maximum flow time. Take partial (p = 0.1) as an example; each individual is initialized by partial initialization with the probability of 0.1 and by random initialization with the probability of 0.9. Random represents that all population is initialized by random initialization. Partial (p = 1) represents that all population is initialized by partial initialization. The results of Tables 17.5 and 17.6 reveal that the initialization has a significant effect on the performance of the hybrid intelligence algorithm. The performance of the hybrid intelligence algorithm will be degraded when the probability of the partial

17.4 Experiential Environments and Results

363

Table 17.5 The results for different initializations under heavy shop load levels

Random

Loose

Mean flow time

Maximum flow time

Mean tardiness

Maximum tardiness

Number of tardy jobs

94.0

138.9

2.63

29.5

5.5

7.29

29.6

5.4

29.6

5.7

Tight Partial ( p = 0.1)

Loose

Partial ( p = 0.2)

Loose

Partial ( p = 0.3)

Loose

Partial ( p = 0.4)

Loose

Partial ( p = 0.5)

Loose

Partial ( p = 0.6)

Loose

Partial ( p = 0.7)

Loose

Partial ( p = 0.8)

Loose

Partial ( p = 0.9)

Loose

Partial ( p = 1)

Loose

94.0

139.6

3.17 7.20

30.1

5.8

89.5

138.9

3.58

33.8

5.9

6.93

30.4

4.2

2.63

27.0

5.1

8.49

29.6

5.8

26.4

6.0

Tight Tight 93.2

140.5

Tight 91.6

141.1

3.45 6.79

24.4

5.2

93.0

140

3.08

28.6

5.4

6.60

27.8

4.8

2.77

27.7

6.9

7.13

24.5

6.8

38.6

5.3

Tight Tight 93.0

142

Tight 92.9

145.1

3.16 6.13

30.0

6.8

92.2

143.2

3.19

30.3

6.1

7.49

33.0

6.6

3.89

37.5

6.9

6.74

34.0

5.4

3.57

34.0

6.2

6.95

36.2

6.6

Tight Tight 95.1

144.2

Tight Tight

93.0

139.7

Data in bold show the best objection values under different probabilities of the partial initialization

initialization is high. These show that the high probability of the partial initialization may reduce the population diversity and the hybrid intelligence algorithm will be easy to fall in local optima. But the low probability of the partial initialization can improve the performance of the hybrid intelligence algorithm. These illustrate that the low probability of the partial initialization can keep the population diversity and also can make the searching process tend to global optima. As illustrated in Tables 17.5 and 17.6, the partial initialization with the probability of 0.2 is statistically better than other conditions for mean flow time and maximum flow time under different shop load levels. The probability of the partial initialization is different when the best performance measures that mean tardiness, maximum tardiness, and number of tardy jobs are obtained under different shop load levels and due date tightness. The better values of mean tardiness are obtained with the probability of the partial initialization from 0.1 to 0.3 in a statistical sense under different conditions. The better values of maximum tardiness are obtained with the

364

17 A Hybrid Intelligent Algorithm …

Table 17.6 The results for different under moderate shop load level

Random

Loose

Mean flow time

Maximum flow time

77.1

116.6

Tight Partial ( p = 0.1)

Loose

77.9

119.9

Tight Partial ( p = 0.2)

Loose

74.8

112.5

Tight Partial ( p = 0.3)

Loose

78.0

118.7

77.5

115

77.1

122.5

76.4

119.5

78.4

119.9

Tight Partial ( p = 0.4)

Loose Tight

Partial ( p = 0.5)

Loose

Loose Tight

Partial ( p = 0.7)

Loose

Partial ( p = 0.8)

Loose

116.8

Tight Partial ( p = 0.9)

Loose

79.9

118.3

80.8

124.2

Tight Partial ( p = 1)

Loose Tight

5.1

22.2 22.2

7.0

2.22

22.6

5.4

10.12

24.2

4.8

2.10

19.9

5.8

10.97

22.8

5.1

2.3

22.8

6.3

10.87

19.8

5.0

2.70

26.7

6.3

2.12

23.3

5.4

24.7

6.2

11.66

23.5

6.4

2.50

25.9

5.9

24.6

4.8

20.0

5.7

23.1

5.8

2.36

22.0

5.9

11.38

23.8

5.8

2.34

24.6

5.8

2.42 12.6

77.3

Number of tardy jobs

2.81

10.4

Tight

Maximum tardiness

10.77

10.8

Tight Partial ( p = 0.6)

Mean tardiness

10.93

27.9

5..8

2.16

24.1

5.3

11.78

23.9

5.8

Data in bold show the best objection values under different probabilities of the partial initialization

probability of the partial initialization from 0.2 to 0.4 in a statistical sense under different conditions. The better values of the number of tardy jobs are obtained with the probability of the partial initialization from 0.1 to 0.3 in a statistical sense under different conditions. Consequently, the probability of the partial initialization is selected to be 0.2 to test the performance of the proposed rescheduling technique with the performance

17.4 Experiential Environments and Results

365

measure of mean flow time, maximum flow time, mean tardiness, and maximum flow time, respectively. The probability of the partial initialization is selected to be 0.3 to test the performance of the proposed rescheduling technique with the performance measure of maximum tardiness.

17.4.2.2

The Performance of the Proposed Rescheduling Technique

In order to illustrate the potential of the proposed rescheduling technique for the dynamic JSPs, it is compared with some common dispatching rules that have been widely used in the literature [9, 33] and several meta-heuristic algorithms. A list of these rescheduling techniques is as follows: (1) the Shortest Processing Time (SPT) dispatching rule; (2) the Longest Processing Time (LPT) dispatching rule; (3) the Most Work Remaining (MWKR) dispatching rule; (4) the Least Work Remaining (LWKR) dispatching rule; (5) the First In First Out (FIFO) dispatching rule; (6) the Last In First Out (LIFO) dispatching rule; (7) the Earlier Due Date (EDD) dispatching rule; (8) the genetic algorithm with random initialization (GA − I)—the genetic algorithm which does not consider the tabu search in this chapter is chosen; (9) the genetic algorithm with the new initiation (GA + I)—the partial initialization with probability of 0.3 is selected; and (10) the Variable Neighborhood Search (VNS), which comes from the literature [8], is given in this chapter. Its parameter setting of the VNS approach is that of the number of out loop iteration N = 20, the number of inner loop iteration q¬max¬ = 150, and the predetermined constant dr = 8. According to the steps of the VNS approach, it is implemented in the same experimental environment with the proposed method on the same computer. The experimental results obtained by these rescheduling techniques are shown in the following tables. The results for 10 replications are averaged. The results for the comparison of five performance measures are presented in Tables 17.7, 17.8, 17.9, 17.10, and 17.11, respectively. (1) Flow time-based analysis The results for the flow time-based performance measures are presented in Tables 17.7 and 17.8. Tables 17.7 and 17.8 compare the results of all rescheduling techniques with the objective function of the mean flow time and the maximum flow time, respectively. As illustrated in Tables 17.7 and 17.8, among these rescheduling techniques, the proposed rescheduling technique can improve the mean flow time or the maximum flow time for dynamic JSPs. It plays a better performance under different quantity of new jobs and shop load levels than other rescheduling techniques. With the increase of the new job arrivals, the mean or maximum flow time increases largely among these dispatching rules. However, it increases little among these meta-heuristic algorithms, especially the proposed rescheduling techniques. Tables 17.7 and 17.8 also show that GA + I is slightly better than the GA − I. These illustrate that the new initialization method is an effective approach to improve

U75

U80

U85

U90

U95

74.8

83.6

S

L

119

L

164.3

64.3

L

S

90.5

126.2

S

80.3

L

137.9

L

S

89.5

S

GATS

85.8

74.6

122.1

77.9

177.8

88.3

127.3

81.5

134.6

101.3

VNS

126.6

86.4

187.5

69

272.2

97.9

238.5

86.8

214.3

103.9

GA + I

133.9

83.4

193.7

70.1

277.9

99.9

238.6

87.9

214.5

104.9

GA − I

871.7

205.3

959.4

223

915.6

214.7

1011

214

1009

229.3

FIFO

Table 17.7 Comparison of all rescheduling techniques for the mean flow time

2069

282.2

2130

301.8

2129

320

2266

304.2

2275

303.2

LIFO

1496

249.3

1548

182.7

1680

252

1647

197.3

1561

250.1

EDD

1124

232.5

1204

220.3

1180

204.8

1327

208.3

1192

252.2

SPT

1413

247.9

1494

228.1

1748

220

1730

281.6

1565

304.2

LPT

7689

1557

6941

1271

6336

1465

5023

1017

8194

1237

MWRK

871.7

205.3

959.4

223

915.6

214.7

1011

214

1009

229.3

LWRK

366 17 A Hybrid Intelligent Algorithm …

U75

U80

U85

U90

U95

112.5

177.2

S

L

256

L

287.2

102.2

L

S

143.9

224

S

109

L

300.7

L

S

138.9

S

GATS

235

143.7

362.9

116

432.8

162.2

339.3

125.5

422

160.5

VNS

215.8

134

294.8

114.8

356.1

159.7

300.7

133

401.6

162.1

GA + I

215

136.7

321.5

115.9

379.2

163

319

126.6

408.4

167.5

GA − I

2189

351

2434

450

2240

383

2568

418

2572

412

FIFO

Table 17.8 Comparison of all rescheduling techniques for the maximum flow time

4412

545

4385

561

4484

621

4709

614

4663

613

LIFO

3342

503

3331

394

3550

489

3520

480

3438

497

EDD

2085

395

2214

357

2113

328

2428

332

2303

439

SPT

2426

412

2505

375

2599

339

2787

416

2615

458

LPT

3185

390

3053

352

3728

336

2917

452

4127

377

MWRK

870

249

1223

224

1135

240

1139

381

1022

317

LWRK

17.4 Experiential Environments and Results 367

U75

U80

U85

U90

U95

10.1

2.1

7.4

7.3

LT

LL

19.3

LL

SL

19.6

LT

ST

2.6

SL

42.6

LL

3

40

LT

ST

12.5

SL

17.6

LL

9.9

18.8

LT

ST

0.9

30

LL

1

34.2

LT

SL

2.6

SL

ST

6.9

ST

GATS

10.2

10.8

3.1

14.7

39.8

40.1

3.9

4.1

92.7

90.6

12.6

13.0

43.6

40.3

1.3

1.1

50.8

49.9

2.6

7.0

VNS

14.5

14.7

5

16.4

47.7

44.4

4.4

5.3

136.9

139.1

18.7

18.5

38.8

43.7

1.9

1.6

83.7

93

10.1

15.7

GA + I

15.6

15.6

5.2

17.6

45.1

51.9

4.9

4.1

141.6

145.5

18

18.9

51.4

53.4

2.6

2.6

87.7

92.9

11

16.2

GA − I

770.8

781.9

98.8

130.7

860.2

885.7

122.6

151.3

816.1

842.5

115

145.3

908.6

958.2

80.6

125.8

909

932.7

104.6

127.4

FIFO

Table 17.9 Comparison of all rescheduling techniques for the mean tardiness

1974

1993

177.7

211

2031

2043

203.6

230.6

2031

2057

224.3

255

2164

2182

175.2

214.7

2176

2179

185.3

206.3

LIFO

1395

1340

137.7

177.7

1448

1418

77.2

143.4

1580

1586

146

154

1542

1428

55.8

125.9

1460

1482

114.6

148.3

EDD

1028

1040

129

161

1107

1102

126.2

153.8

1085

1109

108

137.2

1231

1226

73.8

120.4

1096

1103

136.9

155.3

SPT

1317

1339

141.7

174.9

1400

1422

132.3

162.9

1651

1688

126.9

151.3

1630

1645

156.5

197.2

1472

1477

177.4

203.4

LPT

1135

1156

101.4

131.3

1220

1240

69.9

92.2

1523

1564

108.9

138.1

940.3

989.4

142.6

190

1543

1553

98.3

117.5

MWRK

90.7

108.1

32.8

55.8

144.3

171.8

33

50.2

132.9

157.9

57.9

87.6

106

128.8

83.6

125.9

130.4

144.4

62

74.4

LWRK

368 17 A Hybrid Intelligent Algorithm …

U75

U80

U85

U90

U95

19.8

19.9

96.7

100.6

LT

LL

147.2

LL

SL

148.6

LT

ST

25

SL

190.5

LL

24.8

188.3

LT

ST

53.3

SL

139.7

LL

46.2

149.8

LT

ST

21.8

223.7

LL

25.2

223

LT

SL

26.4

SL

ST

24.4

ST

GATS

151.2

166.6

36.4

58.4

260.2

233.4

32.3

31.4

333

332

61.9

66

247.8

243.8

19.3

19.8

353.8

345.4

44.2

60.2

VNS

160.2

155.3

46.8

43.1

226.5

223.4

34.9

32.4

301.7

305.7

72.2

69.8

236.4

224

26.3

27.4

324.7

327.4

54.9

66.9

GA + I

165.8

152.8

43.1

41.1

217.5

237

33.9

32

291.6

306.1

77.1

79.6

217.6

234

28.9

28.3

338

344

56.6

58

GA − I

2099

2144

285

304

2380

2356

349

407

2169

2178

328

319

2483

2515

327

343

2487

2484

238

321

FIFO

Table 17.10 Comparison of all rescheduling techniques for the maximum tardiness

4297

4350

448

501

4288

4341

464

517

4382

4435

524

577

4591

4619

514

542

4558

4586

513

541

LIFO

3104

2930

336

386

3197

3151

224

313

3402

3373

315

365

3366

3228

228

324

3257

3418

266

361

EDD

2049

2044

294

348

2149

2159

307

308

2058

2069

264

282

2366

2363

265

265

2249

2244

312

376

SPT

2326

2392

362

366

2471

2486

325

315

2566

2556

302

291

2713

2760

315

352

2565

2574

331

366

LPT

3121

1202

271

328

2853

1125

233

290

3636

957

291

309

2789

1170

349

393

4008

1291

285

293

MWRK

821

814

167

174

1094

1160

135

176

989

1083

171

207

1068

1114

281

309

940

947

224

219

LWRK

17.4 Experiential Environments and Results 369

U75

U80

U85

U90

U95

4.8

5.1

71.7

72.8

LT

LL

116.8

LL

SL

118.8

LT

ST

4.9

SL

139.8

LL

5.1

142

LT

ST

9.4

SL

117.8

LL

10.1

117.4

LT

ST

1.9

114.4

LL

2.4

114.4

LT

SL

5.1

SL

ST

4.2

ST

GATS

174.8

178.6

13.8

21.4

190.6

189.6

11.6

10.4

201

199.2

16.6

16.8

201.6

201

7.8

7.4

192.4

191

14.2

19.8

VNS

93.4

91

6.8

7.8

141.8

139.8

6.1

5.5

167

165.7

10.8

11.6

149.6

148.1

2.8

3.9

135.8

140.5

7.1

8.1

GA + I

95.8

88.2

7.1

7.2

143.8

140.9

5.6

5.5

166.1

165.9

11.8

11.8

149.9

150

3.3

3.7

141.9

138.1

8.1

8.1

GA − I

202

205

22

25

199

205

22

25

203

205

23

25

201

203

20

23

203

203

22

23

FIFO

Table 17.11 Comparison of all rescheduling techniques for the number of tardy jobs

182

205

21

25

196

205

23

25

190

205

21

25

194

203

17

23

192

203

20

23

LIFO

203

205

24

25

203

205

23

25

202

205

24

25

203

206

16

25

202

204

21

23

EDD

171

180

18

22

186

189

18

23

180

186

19

24

163

183

17

20

177

178

19

20

SPT

188

191

20

22

185

190

21

21

197

197

19

23

192

198

21

22

184

191

24

24

LPT

194

199

19

23

191

194

18

21

192

196

21

25

180

187

21

22

195

195

18

19

MWRK

141

159

13

22

149

161

14

20

156

163

20

23

141

158

21

20

147

161

17

20

LWRK

370 17 A Hybrid Intelligent Algorithm …

17.4 Experiential Environments and Results

371

the performance of the genetic algorithm for solving dynamic JSPs with the objective function of the mean or maximum flow time. Otherwise, from Tables 17.7 and 17.8, it can be found that the mean or maximum flow time under the shop load level of 0.85 is larger than other shop load levels. The mean flow time is smaller in the low shop load level than those in the high shop load levels. These illustrate that the shop load level has an effect on the mean or maximum flow time. (2) Tardiness-based analysis The results for the tardiness-based performance measures are presented in Tables 17.9 and 17.10. Tables 17.9 and 17.10 compare the results of all rescheduling techniques with the objective function of the mean tardiness and the maximum tardiness, respectively. As illustrated in Tables 17.9 and 17.10, among these rescheduling techniques, the proposed rescheduling technique outperformed for solving dynamic JSPs regarding the tardiness criterion. It gives a better performance under different quantity of new jobs and shop load levels than other rescheduling techniques. It can be found that with the increase of the new job arrivals, the mean or maximum tardiness increases largely for these dispatching rules. However, they increase little for these meta-heuristic algorithms, especially the proposed rescheduling techniques. Tables 17.9 and 17.10 also show that GA + I is slightly larger than the GA − I. The new initialization method has a good effect on the performance of the genetic algorithm for solving dynamic JSPs with the mean or maximum tardiness. These illustrate that the new initialization method is an effective approach to improve the performance of the genetic algorithm for solving dynamic JSPs with the objective function of the mean or maximum tardiness. Otherwise, Tables 17.9 and 17.10 illustrate that the mean or maximum tardiness under the shop load level of 0.85 is larger than other shop load levels. The mean or maximum tardiness is smaller in the low shop load level than those in the high shop load levels. These reveal that the shop load level has an effect on the tardiness. (3) Number of tardy jobs-based analysis The results for the number of tardy jobs-based performance measures are presented in Table 17.11. Table 17.11 compares the results of all rescheduling techniques with the objective function of the number of tardy jobs. As illustrated in Table 17.11, among those rescheduling techniques, the proposed rescheduling technique can improve the number of tardy jobs for dynamic JSPs. According to the results of the GA + I and GA − I in Table 17.11, it can be found that GA + I outperforms GA − I. It illustrates that the new initialization method is an effective approach to improve the performance of the genetic algorithm for solving dynamic JSPS with the number of tardy jobs criterion. Moreover, Table 17.11 also reveals that the number of tardy jobs under the shop load level of 0.85 is larger than other shop load levels. The number of tardy jobs is smaller in the low shop load level than those in the high shop load levels. These show that the shop load level has an effect on the performance measures.

372

17 A Hybrid Intelligent Algorithm …

Regarding the results obtained from the computational study, it seems that the proposed rescheduling technique can be an effective approach for dynamic JSPs. The computational results show that the proposed rescheduling technique is superior to other rescheduling techniques with respect to five objectives, different shop load levels, and different due date tightness. These also illustrate that the proposed rescheduling technique has good robustness in the dynamic manufacturing environment.

17.4.2.3

ANOVA Analysis

The ANalysis Of VAariance (ANOVA) has been carried out for each performance measure. The ANOVA is performed using the commercial statistical software Excel 2010. Simulation results are obtained for two-factor experiments in the proposed and the six quantities of new job arrivals (20, 40, 60, 80, 100, 200) form the first factor, and the five levels of shop load (95, 90, 85, 80, and 75%) form the second factor. Table 17.12 shows the results of two-factor ANOVA where the main effects and the interaction effect are significant for all the performance measures. In all cases, since the P-value is less than 0.05, there is statistical significance for testing each performance. In this study, effects are considered significant if the P-value is less than 0.05. Hence, the result indicates that for all performance measures, the shop load level and the interaction between the shop load level and the quantity of new jobs have a statistically significant impact on the performance measures. The quantity of new jobs has a statistically significant impact on the mean tardiness and the number of tardy jobs.

17.5 Conclusions and Future Works In a real manufacturing system, one effective rescheduling technique is very important for decision makers. The selection of a different and appropriate scheduling rule improves the system performance under different manufacturing environments. In contrast to that claim, this chapter proposed a new rescheduling technique to solve the dynamic JSPs with random job arrivals and machine breakdowns. A simulator is designed to generate the disruptions. Five performance measures, which contain mean flow time, maximum flow time, mean tardiness, maximum tardiness, and number of tardy jobs, are applied, respectively, in the scheduling process. At each rescheduling point, the simulator generates disturbances for the next step. The scheduling scheme is optimized by the hybrid intelligence algorithm. The main conclusions of this chapter are as follows: • The new initialization method is an effective approach to improve the performance of the hybrid intelligence algorithm for solving dynamic JSPs. The low probability

Interaction AB

14.51

0.04

A: Shop level

B: Quantity of jobs

F

101.1

Main effects

0.000

0.828

0.000

P

Mean flow time

Source of variation

Table 17.12 ANOVA results for two-way analysis

30.64

3.81

58.6

F

0.000

0.066

0.000

P

Maximum flow time

27.15

21.00

21.29

F

0.000

0.000

0.000

P

Mean tardiness

26.62

0.33

31.43

F

0.000

0.56

0.000

P

Maximum tardiness

26.56

4.41

20.49

F

0.000

0.042

0.000

P

Number of tardy jobs

17.5 Conclusions and Future Works 373

374

17 A Hybrid Intelligent Algorithm …

of partial initialization can keep the population diversity and also can make the searching process tend to global optima. • The proposed rescheduling technique is superior to other rescheduling techniques with respect to five objectives, different shop load levels, and different due date tightness. It has good robustness in the dynamic manufacturing environment. • The performance measures are smaller in the low shop load level than those in the high shop load levels in general. A marked inflection can be found in the shop load level of 0.85 for most of the performance measures. These show that the shop load level has an effect on the performance measures. • The shop load level U and the interaction between the shop load level and the quantity of jobs have a statistically significant impact on the performance measures. The quantity of new job arrivals has a statistically significant impact on the mean tardiness and the number of tardy jobs. The results presented in the chapter should be interpreted with reference to the assumptions and experimental conditions described earlier. There is an important topic which considers simultaneously efficiency and stability of the schedules in the future. Moreover, one such condition is to test different breakdown levels of the shop floor for further research. The best key real-time event is the need to test. Finally, the simulation study can be extended to cover other combinations of experimental factors (i.e., processing time variations and due date).

References 1. Adibi MA, Zandieh M, Amiri M (2010) Multi-objective scheduling of dynamic job shop using variable neighborhood search. Expert Syst Appl 37:282–287 2. Chryssolouris G, Subramaniam V (2001) Dynamic scheduling of manufacturing job shops using genetic algorithms. J Intell Manuf 12:281–293 3. Damodaran P, Hirani NS, Velez-Gallego MC (2009) Scheduling identical parallel batch processing machines to minimize makespan using genetic algorithms. Eur J Ind Eng 3:187–206 4. Dominic PDD, Kaliyamoorthy S, Kumar MS (2004) Efficient dispatching rules for dynamic job shop scheduling. Int J Adv Manuf Technol 24:70–75 5. Gao L, Zhang GH, Zhang LP, Li XY (2011) An efficient memetic algorithm for solving the job shop scheduling problem. Comput Ind Eng 60:699–705 6. Lei D (2011) Scheduling stochastic job shop subject to random breakdown to minimize makespan. Int J AdvManuf Technol 55:1183–1192 7. Lin SC, Goodman ED, Punch WF (1997) A genetic algorithm approach to dynamic job shop scheduling problems. In: The 7th International Conference on Genetic Algorithm. Morgan Kaufmann, San Francisco 8. Liu L, Gu HY, Xi YG (2007) Robust and stable scheduling of a single machine with random machine breakdowns. Int J Adv Manuf Technol 31:645–654 9. Liu SQ, Ong HL, Ng KM (2005) A fast tabu search algorithm for the group shop scheduling problem. Adv Eng Softw 36:533–539 10. Lou P, Liu Q, Zhou Z, Wang H, Sun SX (2012) Multi-agent-based proactive—reactive scheduling for a job shop. Int J Adv Manuf Technol 59:311–324 11. Malve S, Uzsoy R (2007) A genetic algorithm for minimizing maximum lateness on parallel identical batch processing machines with dynamic job arrivals and incompatible job families. Comput Oper Res 34:3016–3028

References

375

12. Megala N, Rajendran C, Gopalan R (2008) An ant colony algorithm for cell-formation in cellular manufacturing systems. Eur J Ind Eng 2:298–336 13. Nie L, Shao X, Gao L, Li W (2010) Evolving scheduling rules with gene expression programming for dynamic single-machine scheduling problems. Int J Adv Manuf Technol 50:729–747 14. Ouelhadj D, Petrovic S (2009) A survey of dynamic scheduling in manufacturing systems. J Sched 12:417–431 15. Pan QK, Wang L (2008) A novel differential evolution algorithm for the no-idle permutation flow shop scheduling problems. Eur J Ind Eng 2:279–297 16. Park BJ, Choi HR, Kim HS (2003) A hybrid genetic algorithm for the job shop scheduling problems. Comput Ind Eng 45(4):597–613 17. Pessan C, Bouquard JL, Neron E (2008) An unrelated parallel machines model for an industrial production resetting problem. Eur J Ind Eng 2:153–171 18. Rangsaritratsamee R, Ferrel JWG, Kurtz MB (2004) Dynamic rescheduling that simultaneously considers efficiency and stability. Comput Ind Eng 46:1–15 19. Renna P (2010) Job shop scheduling by pheromone approach in a dynamic environment. Int J Comput Integr Manuf 23:412–424 20. Sabuncuoglu I, Bayiz M (2000) Analysis of reactive scheduling problems in a job shop environment. Eur J Oper Res 126:567–586 21. Sabuncuoglu I, Goren S (2009) Hedging production schedules against uncertainty in manufacturing environment with a review of robustness and stability research. Int J Comput Integr Manuf 22(2):138–157 22. Shafaei R, Brunn P (1999) The performance of heuristic scheduling rules in a dynamic job shop environment using a rolling time horizon approach. Int J Prod Res 37:3913–3925 23. Singh A, Mehta NK, Jain PK (2007) Multicriteria dynamic scheduling by swapping of dispatching rules. Int J Adv Manuf Technol 34:988–1007 24. Subramaniam V, Lee GK, Ramesh T, Hong GS, Wong YS (2000) Machine selection rules in a dynamic job shop. Int J Adv Manuf Technol 16(12):902–908 25. Van Hulle MM (1991) A goal programming network for mixed integer linear programming: a case study for the job-shop scheduling problem. Int J Neural Netw 2(3):201–209 26. Vinod V, Sridharan R (2008) Dynamic job-shop scheduling with sequence-dependent setup times: simulation modeling and analysis. Int J Adv Manuf Technol 36(3–4):355–372 27. Vinod V, Sridharan R (2011) Simulation modeling and analysis of due-date assignment methods and scheduling decision rules in a dynamic job shop production system. Int J Prod Econ 129:127–146 28. Wu SS, Li BZ, Yang JG (2010) A three-fold approach to solve dynamic job shop scheduling problems by artificial immune algorithm. Adv Mater Res 139–141:1666–1669 29. Xiang W, Lee HP (2008) Ant colony intelligence in multi-agent dynamic manufacturing scheduling. Eng Appl Artif Intell 21:73–85 30. Zandieh M, Adibi MA (2010) Dynamic job shop scheduling using variable neighbourhood search. Int J Prod Res 48:2449–2459 31. Zhang CY, Rao YQ, Li PG (2008) An effective hybrid genetic algorithm for the job shop scheduling problem. Int J Adv Manuf Technol 39:965–974 32. Zhou R, Lee HP, Nee AYC (2008) Applying ant colony optimization (ACO) algorithm to dynamic job shop scheduling problems. Int J Manuf Res 3(3):301–320 33. Zhou R, Nee AYC, Lee HP (2009) Performance of an ant colony optimization algorithm in dynamic job shop scheduling problems. Int J Prod Res 47:2903–2920

Chapter 18

A Hybrid Genetic Algorithm and Tabu Search for Multi-objective Dynamic JSP

18.1 Introduction Job shop Scheduling Problem (JSP) is the process of allocating and timing resource usage in the manufacturing system to complete jobs over time according to some desired criteria. It has attracted many researches and engineers because it still exists in most of the manufacturing systems in various forms [2]. Even the simplified problems (with deterministic and static assumptions) are NP-hard or analytically intractable [10]. A previous feasible schedule in a deterministic manufacturing environment may change to be infeasible when the real-time events, such as random job arrivals and machine breakdowns, occur. Taking into account these real-time events, the JSP is termed as the dynamic JSP, which is very important and complicated for the successful implementation of real-world scheduling systems [20]. The dynamic feature of the real manufacturing system can be seen as the major source of the gap between scheduling theory and practice. Cowling and Johansson [6] addressed an important gap between scheduling theory and practice and stated that scheduling models and algorithms were unable to make use of real-time information. Ouelhadj and Petrovic [20] defined the problem and provided a review of the state of the art of currently developing research. They also discussed and compared the scheduling techniques, rescheduling polices, and rescheduling strategies in detail. Recently, a great deal of effort has been spent on developing methods, such as how to reschedule, when to reschedule, to cope with the unexpected disruptions in the real manufacturing scheduling [4, 20]. Moreover, many researches also try to propose a mathematical model or a simulation model to simplify the problem. The challenge of addressing the dynamic feature of the real manufacturing system also affects the performance measure ways of the choice. Sabuncuoglu and Goren [26] pointed out that developing a bi-criteria approach which considered both the stability and the robustness measures simultaneously was further research. Zandieh

© Springer-Verlag GmbH Germany, part of Springer Nature and Science Press, Beijing 2020 X. Li and L. Gao, Effective Methods for Integrated Process Planning and Scheduling, Engineering Applications of Computational Methods 2, https://doi.org/10.1007/978-3-662-55305-3_18

377

378

18 A Hybrid Genetic Algorithm and Tabu Search …

and Adibi [34] had taken the mean flow time as the performance measure. Renna [25] investigated five performance measures: throughput time, throughout, work-inprocess, machine average utilization, and tardiness. In general, the most published works about the dynamic JSP which deals with schedule efficiency and schedule stability simultaneously have not been studied very well. This chapter tries to improve the schedule efficiency and maintain the schedule stability through a method which uses a hybrid genetic algorithm and tabu search with a multi-objective performance measure for dynamic JSP. Moreover, the realtime events are difficult to be expressed and taken into account by the mathematical model. A simulator is also proposed to tackle the complexity of the problem. The remainder of this chapter is organized as follows. Section 18.2 gives a literature review. The multi-objective dynamic JSP is defined in Sect. 18.3. In Sect. 18.4, the proposed method is presented. In Sect. 18.5, the experimental design and results are discussed. Finally, Sect. 18.6 gives the conclusionsand future works.

18.2 Literature Review The dynamic JSP was first published by Holloway and Nelson [11]. They developed a multi-pass heuristic scheduling procedure by generating schedules periodically for dynamic JSP with the processing time that was a random variable. Subsequently, a simple heuristic dispatching rule, called shift from standard rules, was designed by Pierreval and Mebarki [21]. The same year, Kouiss et al. [19] first proposed a scheduling strategy based on a multi-agent architecture for dynamic JSP. Dispatching rules have been widely used in dynamic JSP. Rajendran and Holthaus [23] proposed three dispatching rules and considered a total of 13 dispatching rules for dynamic JSP. Subramaniam et al. [29] proposed three machine selection rules. Dominic et al. [8] provided several efficient dispatching rules for dynamic JSP by combining different dispatching rules. Malve and Uzsoy [16] considered a family of iterative improvement heuristics to solve the problem of minimizing maximum lateness on parallel identical batch processing machines with dynamic job arrivals. Alpay and Yuzugullu [3] pointed out that the due date assignment model was very successful for improving the missed due date performance and the developed dispatching rule was also very successful for meeting the assigned due dates. In order to construct effective scheduling rules for dynamic single-machine scheduling problems, Nie et al. [17] proposed the gene expression programming-based scheduling rules constructor. Though many studies discussed the rescheduling, there were no standard definitions or classification of the strategies, policies, and methods presented in the rescheduling literature. Vieira et al. [30] and Ouelhadj and Petrovic [20] presented definitions appropriate for most applications of dynamic manufacturing systems. Sabuncuoglu and Kiqilisik [27] proposed several reactive scheduling policies. They

18.2 Literature Review

379

found that the full scheduling scheme generally performed better than partial scheduling. Liu et al. [15] presented a framework to model the dynamic JSP as a static groupshop-type scheduling problem, and applied a proposed meta-heuristic for solving the static JSP to a number of dynamic JSP benchmark problems. Sabuncuoglu and Goren [26] discussed the major issues involved in scheduling decisions and analyzed the basic approaches to tackle these problems in manufacturing environments. Multi-agent also has been widely used in dynamic JSP. Dewan and Joshi [7] proposed the combination of auctions with Lagrangian relaxation. Xiang and Lee [33] built an efficient agent-based dynamic scheduling for real-world manufacturing systems with various products. Renna [25] created a pheromone-based approach which is carried out by a multi-agent architecture. Ouelhadj and Petrovic [20] pointed out that a few research works had addressed the use of meta-heuristics in dynamic scheduling. The GA scheduling approach produced better scheduling performance in comparison with several common dispatching rules [5]. Zhou et al. [37] studied ant colony optimization in the area of dynamic JSP. Adibi et al. [2] and Zandieh and Adibi [34] presented a Variable Neighborhood Search (VNS) method for a multi-objective dynamic JSP. Goren and Sabuncuoglu [10] showed that the beam search heuristic was capable of generating robust schedules with little average deviation from the optimal objective function value and it performed significantly better than a number of heuristics available in the literature. The schedule efficiency implies the high machine utilization. It can improve the shop efficiency. But the schedule, which only considers the schedule efficiency, may deviate significantly from the original schedule. It can seriously impact other planning activities which are based on the original schedule and may lead to poor performance. In summary, there are many studies that investigate the dynamic JSP. However, the dynamic JSP with multi-objective, such as the schedule efficiency and the schedule stability simultaneously, has not been studied well. Moreover, to our knowledge, the real-time events are difficult to be expressed and taken into account by the mathematical model. Research on the dynamic JSP using classic performance measures like makespan or tardiness to construct a new schedule may induce instability or a very undesirable effect in shop floor control [24]. Therefore, it is very important to study the dynamic JSP by considering the schedule efficiency and the schedule stability simultaneously. The goal of this chapter is to improve the schedule efficiency and maintain the schedule stability through a method using a hybrid Genetic Algorithm (GA) and Tabu Search (TS) for dynamic JSP.

18.3 The Multi-objective Dynamic Job Shop Scheduling The dynamic JSP subjects to the following technological constraints and assumptions: (1) Each machine can perform only one operation of any job at a time. (2) An operation of a job can be performed by only one machine at a time. (3) All machines are available at time 0. (4) Once an operation has been processed on a machine, it must not be interrupted except machine breakdown. If an operation is

380

18 A Hybrid Genetic Algorithm and Tabu Search …

interrupted, the remained processing time is equal to the total processing time minus the completed processing time. (5) An operation of a job cannot be performed until its preceding operations were completed. (6) There is no flexible routing for each job. (7) Operation processing time and the number of operable machines are known in advance. In the practical manufacture system, there are many real-time events, such as random job arrivals, machine breakdowns. In the following section, the effects of the dynamic factors are discussed in detail: (1) Jobs arrive at the system dynamically over time. In dynamic job shops, the distribution of job arrivals process closely follows a Poisson distribution. Hence, the time between job arrivals closely follows an exponential distribution [13, 24, 31]. When rescheduling is triggered, there are four types of job sets: finished job set, being processed job set, unprocessed job set, and new job set. When the new jobs arrive, the jobs are pushed into the new job set. (2) Machine breakdowns and repairs: the time between two machine failures and the repair time are assumed to follow an exponential distribution. The Mean Time Between Failure (MTBF) and the Mean Time To Repair (MTTR) are two parameters related to machine breakdown [34]. Note that, the production orders are generated after the schedule. The shop floor begins execution of the processes. In practice, larger deviations or changes to the sequence occur when the real-time events disrupt the initial schedule [30]. In this research, a hybrid periodic and event-driven rescheduling policy is presented for continuous processing in a dynamic environment. In the hybrid rescheduling policy, schedules are generated at regular schedule frequency and also when a key realtime event appears. A key machine, whose breakdown is as the key real-time event, is selected randomly at the beginning of the simulation. A rescheduling will be triggered when the key machine breaks down. A right-shift rescheduling strategy is used when other machines break down. The complete rescheduling strategy, which regenerates a new schedule from scratch, is used at each rescheduling point. The complete rescheduling strategy may result in instability and lack of continuity in detailed plant schedules, leading to additional production costs attributable to what has been termed shop floor nervousness [20]. This chapter attempts to keep the balance between the schedule stability and the schedule efficiency. A multi-objective performance measure is applied as the objective function to construct schedules. The schedule efficiency and the schedule stability are considered in evaluating the solutions. The schedule efficiency factor is evaluated by makespan (C max ). The smaller C max implies higher machine utilization [12]. Now, the makespan traditionally is defined as the total time that is required to process a group of jobs. To fit the dynamic scheduling environment, this definition is modified so that the group of jobs includes all jobs scheduled at each scheduling point. The schedule stability factor is measured by the starting time deviations for all jobs between the new schedule and the original schedule [20]. The objective function can be described as

18.3 The Multi-objective Dynamic Job Shop Scheduling

 f =

min makespan min the starting time deviations

381

(18.1)

The various weights of these objectives are studied by some researchers and show that weight 5 for makespan and 1 for the starting time deviations is better than the other weights [24]. The objective function can be formulated as: min f = 5 × Cmax +

   STi − ST   i

(18.2)

all i

where STi and STi denote the starting time of job i in the original schedule and the new schedule, respectively.

18.4 The Proposed Method for Dynamic JSP In this research, a hybrid GA and TS method has been presented by integrating with a simulator to solve the multi-objective dynamic JSP.

18.4.1 The Flow Chart of the Proposed Method A successful implementation of a scheduling system in a dynamic environment usually requires updating the problem condition, generating and implementing for the production process at each rescheduling point. The general process of the proposed approach is summarized in Fig. 18.1. At the beginning of the scheduling system, all machines are available at time 0. A prediction schedule is predetermined at time 0. Then, the shop floor begins execution of the processes as the prediction schedule until the next rescheduling point. Thirdly, if the rescheduling point is smaller than the planning horizon, the reschedule will be triggered. The problem condition, which contains the machine available time, the rescheduling job set and so on, is updated. The multi-objective genetic algorithm is executed to generate the optimal solutions. The shop floor executes the processes as the optimal schedule. Finally, the above process is repeated until the planning horizon is met. The planning horizon in this work has been defined such that no new job arrives or the number of new jobs has reach a preset value. At each rescheduling point, the machine can be classified into two categories: the machine busy (an operation is being processed on this machine) and the machine idle. In the case of the machine busy, the machine available time will be assumed the completed time of the operation on the machine. In the case of the machine idle, the machine available time will be assumed the rescheduling point. The proposed hybrid GA and TS method is implemented when a rescheduling is triggered. The steps of the proposed hybrid GA and TS method are as follows:

382

18 A Hybrid Genetic Algorithm and Tabu Search …

Fig. 18.1 Flowchart of the hybrid GA and TS method

Step 1: Set parameters including population size (popsize), maximum iteration of the hybrid GA and TS (iter_GATS), maximum iteration of TS (iter_TS), crossover probability (pc ), mutation probability (pm ), the length of tabu list (lt ), etc. Step 2: Randomly generate popsize population. Decode each individual to obtain the fitness value. Compare them to obtain the initial solution x Step 3: Set n = 1. Step 4: Generate new population for the next generations. Genetic evolution with three operators including selection, crossover, and mutation is applied to create offspring for the next population. Let chi , i = 1, 2, …, popsize be the new population. The roulette wheel strategy is used to perform the selection. Step 5: Let each individual of the new population chk , k = 1, 2, … popsize be the initial solution of TS, respectively. Repeat Step 6—Step 8 to improve the quality of each individual until all individuals are performed. Then go to Step 9. Step 6: Set j = 1.

18.4 The Proposed Method for Dynamic JSP

383

Step 7: Find the neighborhoods of the current solution of TS. Select the best neighborhood which is non-tabu or satisfies the aspiration criterion. Step 8: Update the tabu list and check the termination criterion. If the termination criterion (j = iter_TS) is met or all critical blocks contain less than one operation, stop TS and output the optimal solution. The individual chk is replaced by the optimal solution. Otherwise, j = j + 1 and go back to Step 7. Step 9: Check the termination criterion. If the termination criterion (n = iter_GATS) is met, stop the hybrid GA and TS method and output the optimal solution. Otherwise, n = n + 1 and go back to Step 4. In the following subsections, the simulator and the hybrid GA and TS will be discussed.

18.4.2 Simulator Since job arrivals and machine breakdowns occur randomly, a simulator is required to simulate these situations. The simulator, which contains job arrivals and the machine breakdowns and repair, is used to generate the disturbances. The following notations are used for the simulator. 1. The Jobs Event List (JEL) denotes the interval between a pair of adjacent job arrivals. When a job arrives, the JEL is assigned again. The AT represents the job arrival time. Initialize AT with zero. 2. The Machines Event List (MEL) denotes the interval between failures for each machine. For each machine, when a machine breakdown event occurs, the MEL is assigned again. The MT represents the time when a machine breaks down. Initialize MT with zero. 3. The Machines Repair Event List (MREL) denotes the interval to repair for each machine. Assume that every machine is available to repair. For each machine, when a machine repair event occurs, the MREL is assigned again. The MR represents the time when a machine is repaired. Initialize MR with zero. 4. The RP set represents the rescheduling point set. Initialize RP with periodic numbers. The job arrivals simulator has the following steps: Step 1 Initialize JEL with random numbers in exponential distribution and α corresponds to the mean time between a pair of adjacent job arrivals. J E L[Ji ] = exp _rand(α), for all new jobs Ji , i = 1, 2, . . . , n

(18.3)

Step 2 Calculate the arrival time of J i :  AT [Ji ] =

  J E L[Ji ] + AT Ji−1 i > 1 i =1 J E L[Ji ]

(18.4)

384

18 A Hybrid Genetic Algorithm and Tabu Search …

Step 3 Repeat Step 1 and Step 2 until the rescheduling point is met. In the case of a machine breakdown, the machine repair must be performed. Hence, the machine breakdowns and repairs simulator has the following steps: Step 1 Generate MEL with random numbers in exponential distribution and MTBF corresponds to the mean value. And calculate the machine failure time of each machine. M E L[Mk ] = exp _rand(M T B F), for all machines Mk , k = 1, 2, . . . m (18.5) M T [Mk ] = M E L[Mk ] + M R[Mk ],

for all machines Mk , k = 1, 2, . . . m (18.6)

Step 2 If M k is the key machine, a rescheduling is triggered, and add MT [M k ] to RP set. Generate an exponential random number where MTTR corresponds to the mean value. And calculate the machine repaired time of each machine. M R E L[Mk ] = exp _rand(M T T R), for all machines Mk , k = 1, 2, . . . m (18.7) M R[Mk ] = M R E L[Mk ] + M T [Mk ], for all machines Mk , k = 1, 2, . . . m (18.8) Step 3 Repeat Step 1 and Step 2 until the rescheduling point is met. According to the simulator with respect to the job arrivals simulator and the machine breakdowns and repairs simulator, all disturbances between two adjacent rescheduling points can be obtained.

18.4.3 The Hybrid GA and TS for Dynamic JSP The hybrid GA and TS will be performed to generate an optimal schedule for continuous processing in a dynamic environment at each rescheduling point. It contains chromosome representation and decoding, crossover operator, mutation operator, neighborhood structure, tabu list and move selection, and termination criterion.

18.4.3.1

The Hybrid GA

1. Chromosome representation and decoding An inappropriate encoding may lead to infeasible solutions in generations after performing crossover and mutation. Therefore, the design of a chromosome tries to

18.4 The Proposed Method for Dynamic JSP

385

avoid generating infeasible solutions after the crossover and the mutation operations. The operation-based representation method ensures that any permutation of the chromosome can be decoded to a feasible schedule [32]. For example, a chromosome [3 1 2 2 1 3 1 2 1] is given, where {1 2 3} denotes the corresponding job {J 1 J 2 J 3 }, respectively. {J 1 J 2 J 3 } contains 4, 3, 2 operations respectively. From the left to right, the first gene 3 represents the first operation of the third job to be processed first on the corresponding machine. Then, the second gene 1 represents the first operation of the first job, and so on. Therefore, the chromosome [3 1 2 2 1 3 1 2 1] is denoted as [O31 O11 O21 O22 O12 O32 O13 O23 O14 ] where Oij denotes the jth operation of ith job. In this research, the operation-based representation method is used to encode a schedule. Because of job arrivals randomly, the rescheduling job set contains an unprocessed job set and a new job set at each rescheduling point. A matrix ϑ is selected to represent the rescheduling job set, where Oij denotes that the jth operation of job i. j being comprised between the first unprocessed operations of job i and the maximum number of operations is assigned to a resource. For example, when a rescheduling is triggered, the unprocessed job set = {O12 O13 O23 }. The new job set = {O31 O32 O33 }. The rescheduling job set matrix is defined as follows: ⎞ O12 O13 ⎠ ϑ = ⎝ O23 O31 O32 O33 ⎛

(18.9)

Therefore, each job i appears in the chromosome exactly ni times. For instance, a chromosome [1–3] is given. Thus, according to the operation-based representation method, the chromosome can be interpreted as [O23 O12 O31 O32 O13 O33 ]. In the above representation, each possible chromosome always represents a feasible operation sequence. It has been verified and denoted in a Venn diagram in Pinedo [22] that the active schedule contains an optimal schedule. Therefore, only the active schedule is considered in the decoding approach to reduce the search space. 2. Crossover operator Crossover operator determines which parents will have children, and tends to increase the quality of the populations. Zhang et al. [36] proposed a crossover operator named Precedence Operation Crossover (POX) which could satisfy the characteristics preservation and the feasibility between parents and their children better. In this research, POX [36] is adopted and the procedure is as follows: Step 1: Randomly choose the set of job numbers {1, 2, …, n} into one nonempty exclusive subset J1. Step 2: Copy those numbers in J1 from parent 1 to child 1 and from parent 2 to child 2, preserving their locus. Step 3: Copy those numbers in J1, which are not copied at Step 2, from parent 2 to child 1 and from parent 1 to child 2, preserving their order.

386

18 A Hybrid Genetic Algorithm and Tabu Search …

3. Mutation operator Mutation is used to make perturbations on chromosomes in order to maintain the diversity of a population. In this research, two types of mutation are applied. One mutation flips the substring between two different random positions. The other mutation selects two elements randomly and inserts the back one before the front one or the front one after the back one.

18.4.3.2

Tabu Search

• Neighborhood structure A neighborhood structure is a mechanism which can obtain a new set of neighbor solutions by applying a small perturbation to a given solution. Neighborhood structure is directly effective on the efficiency of the TS algorithm [35]. In this research, the neighborhood structure N5 proposed by Nowicki and Smutnicki [18] is adopted because it is effective for JSP. Nowicki and Smutnicki [18] considered only a single (arbitrarily selected) critical path. However, in order to extend search space, all critical paths are considered. The neighborhood structure N5 is a well-known neighborhood based on the critical block. The critical block is a maximal sequence of adjacent critical operations that is processed on the same machine. Any operation on the critical path, which is the longest path from start to end in a directed graph and its length represents the makespan, is called a critical operation. Let us take a critical path u and blocks B1 , B2 , …, Br defined for u as an example. We swap the first two (and last two) operations in every block B2 , …, Br −1 , each of which contains at least two operations. In the first block B1 , we swap only the last two operations, and via symmetry in the last block we swap only the first two operations. Figure 18.2 illustrates the neighborhood of moves.

Fig. 18.2 The neighborhood of moves

18.4 The Proposed Method for Dynamic JSP

387

• Tabu list and move selection The purpose of the tabu list is to avoid the search process turning back to the solutions visited in the previous steps. The length of a tabu list is a fixed size. The elements stored in the tabu list are the attributes of moves. When the tabu list is full, the oldest element of the list is replaced by the new element. More precisely, if the swapping (x, y) is the best neighborhood of one chromosome, the swapping (x, y) is added to the tabu list. Assume that the neighborhoods of the current solution aren’t empty. Otherwise, if all critical blocks contain less than one operation, the TS method terminates. The move method is to select the best neighborhood which is non-tabu or satisfies the aspiration criterion which accepts the move provided that the fitness value is better than the current best solution found so far. However, there is a situation that all neighborhoods are tabu and none of them satisfy the aspiration criterion. In such case, a neighborhood is selected randomly among all neighborhoods. • Termination criterion Termination criterion is used to determine whether the proposed method should stop. In this research, if the number of iterations is equal to the maximum iterations (iter_TS) or all critical blocks contain less than one operation, TS terminates. If the number of iterations is equal to the maximum iterations (iter_GATS), the hybrid GA and TS method terminates. If there are no job arrivals, the planning horizon is met and the simulator doesn’t generate disturbances.

18.5 Experimental Design and Results 18.5.1 Experimental Design The proposed method has been performed in C++ language on a computer with Intel Core 2 Duo CPU 2.0 GHz processor and 2.00 GB memory. Vinod and Sridharan [31] pointed out that most of the studies have used between four and ten machines to test the performance of the schedule system. The example considered in this work is a job shop system with six machines. Simulation starts with a 6 × 6 static JSP (FT06) [9] with makespan = 55 extracted from the literature. In order to illustrate the potential of the proposed method for the multi-objective dynamic JSP, it is compared with some common dispatching rules [8, 32] and meta-heuristic algorithms that have widely been used in the literature. A list of the dispatching rules is as follows: (1) The Shortest Processing Time (SPT) dispatching rule. (2) The Longest Processing Time (LPT) dispatching rule. (3) The Most Work Remaining (MWKR) dispatching rule. (4) The Least Work Remaining (LWKR) dispatching rule. (5) The First In First Out (FIFO) dispatching rule. (6) The Last In First Out (LIFO) dispatching rule. A list of the meta-heuristic algorithms is as follows: (1) GA which doesn’t consider tabu search is performed in this chapter. (2) Variable Neighborhood Ssearch (VNS), which

388

18 A Hybrid Genetic Algorithm and Tabu Search …

comes from the literature [34] is given in this chapter. Its parameters setting of the VNS approach is that the number of out loop iteration N = 20, the number of inner loop iteration qmax = 150, and the predetermined constant dr = 8. According to the steps of the VNS approach, it is implemented in the same experimental environment with the proposed method on the same computer. All machines have the same MTTR and MTBF. Ag = MTTR/(MTBF + MTTR) denotes the breakdown level of the shop floor that is the percentage of time the machines have failures. For example, for Ag = 0.05 and MTTR = 5 time units follows MTBF = 45. Thus, on an average of 45 time units a machine is available and then breaks down with a mean time to repair of 5 time units. The parameter λ (named job arrivals rate) is the mean of the Poisson random variable. In this research, it denotes the average number of new jobs occurrence per unit time. For example, λ = 0.25 means that there is average 0.25 new job occurrence per unit time. That is to say, a new job arrives in the shop floor on average 4 unit time. In order to evaluate the performance of the proposed method, there are 4 different job arrivals rate λ and 6 different number of job arrivals. Therefore, total of 4 × 6=24 experiments are conducted. Since job arrivals rate has been shown to influence scheduling performance [28], two levels of job arrivals rate, namely sparse and dense job arrivals are considered. Three types (small, medium, and large) of job arrivals scale are also considered. Simulation for each state continues until the number of new jobs that have arrived at the shop floor from 20 reaching 200. Makespan and the starting time deviations during the planning horizon are selected as the performance measure. In order to conduct simulation experiments, we created the same experimental conditions (i.e., the number of job arrivals, the number of machines, schedule frequency, and machine breakdown level). The schedule frequency is equal to 4 for all experiments. Table 18.1 illustrates the experimental conditions.

18.5.2 Results and Discussions It is worth mentioning that there are some parameters to be determined in the proposed method. Some parameters on the proposed method are taken as population size (popsize = 100), maximum iteration of the hybrid GA and TS method (iter_GATS = 20), maximum iteration of TS (iter_TS = 20), crossover probability (pc = 0.9), mutation probability (pm = 0.1), and the length of tabu list (lt = 12). The proposed method runs ten times for the considered problem. We report the average values of objectives found by the proposed method and other methods. The experimental results are obtained by all methods in the following table and figures.

18.5 Experimental Design and Results Table 18.1 The experimental conditions

Dimension

Characteristic

Specification

Floor shop

Size

6 machines

Machine breakdown level

0.025

Jobs

Performance measures

18.5.2.1

389

MTTR

5

MTBF, MTTR

Exponential distribution

Key machine

1

Random arrival

Poisson distribution

Job arrivals rate

[0.125, 0.25, 0.5, 1]

The number of new jobs

[20, 40, 60, 80, 100, 200]

Job release policy

Immediate

Processing time of an operation

U [1, 10]

Schedule frequency

4

Makespan The starting time deviations

The Experimental Results

(1) The sparse job arrivals Table 18.2 and Table 18.3 summarize the results of the experiments with sparse job arrivals. The job arrivals rate λ is equal to 0.125 and 0.25, respectively. Table 18.2 compares the performance measure of the proposed method with other methods. Because the high schedule efficiency can enhance the machine utilization, the makespan corresponding to the performance measure is given in Table 18.3. Table 18.2 reveals that the proposed method and the VNS outperform these methods. Compared with the VNS, the proposed method is capable of achieving the optimal solutions for most case studies. It also can be found that makespan of the proposed method are shortest or nearly shortest among these methods from Table 18.3. These illustrate that the proposed method performs better among these methods, and it can improve the performance of the schedule system by keeping the schedule stability and the schedule efficiency simultaneously when the job arrivals are sparse. (2) The dense job arrivals Table 18.4 and Table 18.5 summarize the results of the experiments with dense job arrivals. The job arrivals rate λ is equal to 0.5 and 1, respectively. Table 18.4 compares

L

M

S

8587

200

3454

4813

80

100

2858

2026

40

60

1361

20

11081

200

4593

5464

80

100

S: The scale of new job arrivals is small; M: The scale of new job arrivals is medium; L: The scale of new job arrivals is large.

0.25

L

3875

60

2529

40

M

1243

20

S

0.125

GATS

Jn

λ

9148

5169

3649

3132

2276

1609

11111

5555

4639

3911

2561

1350

GA

8597

4889

3461

2874

2089

1284

11095

5454

4594

3876

2556

1244

VNS

74287

27148

19881

13658

11598

5176

31617

17425

10544

9180

5421

3953

SPT

Table 18.2 The performance measure of all methods with sparse job arrivals

65433

24468

20127

11591

8789

4906

28237

14191

11778

8505

5415

3871

LPT

46437

20256

15334

10736

8217

4629

28091

14524

9967

8046

5632

3475

MWKR

42361

20328

15520

12193

8468

4394

27016

13575

9571

8237

5255

3451

LWKR

19285

9960

8200

6335

4460

2520

18505

9705

7190

5520

3850

2520

FIFO

60421

34150

19645

15086

8911

4550

56166

24833

18748

11080

7072

3754

LIFO

390 18 A Hybrid Genetic Algorithm and Tabu Search …

0.25

0.125

λ

L

M

S

L

M

S

667

1195

200

482

80

100

384

274

60

172

40

1714

200

20

825

728

80

100

611

399

60

173

40

GATS

20

Jn

1240

670

491

407

287

189

1715

838

729

615

401

185

GA

1185

668

482

389

273

164

1714

824

728

611

398

176

VNS

Table 18.3 The makespan of all methods with sparse job arrivals

1333

731

556

448

321

190

1741

870

747

629

404

203

SPT

1312

724

523

398

308

196

1714

834

738

633

419

187

LPT

1234

700

514

416

311

184

1714

857

734

623

413

195

MWKR

1203

710

492

422

309

184

1737

847

738

627

510

191

LWKR

3857

1992

1640

1267

892

504

2701

1941

1438

1104

770

504

FIFO

3600

5018

2861

2235

1274

564

9174

4023

3025

1868

1189

543

LIFO

18.5 Experimental Design and Results 391

L

M

S

22105

200

8870

10589

80

100

5958

4401

40

60

2297

20

14111

200

6914

6641

80

100

S: The scale of new job arrivals is small; M: The scale of new job arrivals is medium; L: The scale of new job arrivals is large.

1

L

4297

60

2891

40

M

1711

20

S

0.5

GATS

Jn

λ

43970

15594

11906

7969

5911

3164

30548

9444

8807

5894

3901

2065

GA

33933

14365

8933

5790

4457

2223

24529

6656

5679

3862

2814

1601

VNS

167651

51406

35265

24874

13573

5347

173676

47359

35454

21366

12623

5822

SPT

Table 18.4 The performance measure of all methods with dense job arrivals

186295

55719

35137

22837

15556

5768

182092

45175

36925

20415

12275

5298

LPT

193685

53515

39076

25052

13773

6112

171799

41005

35138

18383

12149

5802

MWKR

144998

41770

29244

20248

12101

5293

144650

37687

31210

16670

11975

4934

LWKR

26175

13040

10830

7215

5555

2715

25410

12755

10040

6710

5010

2725

FIFO

86685

44236

33604

15818

15661

5693

75728

24384

20898

15314

13062

5697

LIFO

392 18 A Hybrid Genetic Algorithm and Tabu Search …

1

L

M

S

L

995

200

475

531

80

100

366

284

40

60

151

20

1002

200

478

497

80

100

330

60

271

40

M

165

20

S

0.5

GATS

Jn

λ

1292

688

554

407

321

193

1285

666

536

409

321

177

GA

930

537

508

359

281

168

1018

600

490

369

297

165

VNS

Table 18.5 The makespan of all methods with dense job arrivals

645

623

503

401

281

142

1271

653

421

405

267

189

SPT

610

499

452

292

302

146

890

460

352

340

246

138

LPT

1137

574

502

382

292

176

1141

604

483

355

290

174

MWKR

743

299

297

259

212

173

771

624

395

297

326

126

LWKR

5235

2608

2166

1443

1111

543

5082

2551

2008

1342

1002

545

FIFO

6783

3405

2467

1292

1104

396

7455

2606

2030

1382

1262

571

LIFO

18.5 Experimental Design and Results 393

394

18 A Hybrid Genetic Algorithm and Tabu Search …

the performance measure of the proposed method with other methods. The makespan corresponding to the performance measure is given in Table 18.5. Tables 18.4 and 18.5 reveal that the proposed method and the VNS outperform these methods. With the increase of the job arrivals, the proposed method for solving the dynamic job shop problems has a better performance than the VNS. These illustrate that the proposed method effectively keeps a balance between the schedule stability and the schedule efficiency, especially in the large scale of job arrivals. Therefore, the proposed method performs better among these methods. In the case of the sparse job arrivals, the proposed method improves the performance of the schedule system by keeping the schedule stability and worsening the schedule efficiency to a small extent when the job arrivals are dense.

18.5.2.2

Analysis of the CPU Time

It is worth mentioning that the required CPU time plays a critical role in a prompt effective dynamic schedule. Tables 18.6 and 18.7 list the required CPU time of all methods. The required CPU time is the mean value of each schedule frequency. From Tables 18.6 and 18.7, it can be found that the required CPU time of the dispatching rules are much shorter than meta-heuristic algorithms. However, the dispatching rules reduce the performance measure largely, especially in the case of the large and dense job arrivals. Both the proposed method and the VNS take an approximate required CPU time. Compared with the dispatching rules, the meta-heuristic algorithms take a longer CPU time, but they can enhance the schedule efficiency and the schedule stability of the schedule system significantly. Otherwise, the required CPU time of the proposed method can be acceptable for a real manufacturing system.

18.5.2.3

Analysis of Their Performance in Different Job Arrivals Rate λ

Figure 18.3 shows the comparison of the proposed method and other methods in different job arrivals rate λ. The x-axis represents the number of job arrivals, and the y-axis represents the performance measure. The job arrivals rate λ of Fig. 18.3a, Fig. 18.3b, Fig. 18.3c, and Fig. 18.3d are equal to 0.125, 0.25, 0.5, and 1, respectively. As indicated in Fig. 18.3, the performance measure increases with the increase in the number of job arrivals in different job arrivals rate λ. With the increasing of the number of job arrivals, the performance measure of SPT, LPT, MWRK, LWRK, and LIFO increased largely. However, the performance measure of FIFO increased steadier among the dispatching rules. According to Tables 18.2–18.5, it can be found that the schedule stability of FIFO is always equal to zero. These show that FIFO obtains the better schedule stability but the worse schedule efficiency. From Fig. 18.3a–d, the proposed method has better performance in a large number of job arrivals under different job arrivals rates. Among these methods, the proposed method plays a good

0.25

L

M

S

L

1.41

200

1.39

1.61

80

100

1.46

1.91

40

60

1.89

20

0.61

200

0.71

0.76

80

100

0.61

60

0.58

40

M

0.97

20

S

0.125

GATS

Jn

λ

1.18

0.90

0.93

0.86

0.74

0.65

0.67

0.62

0.58

0.55

0.52

0.53

GA

1.68

1.55

0.74

0.98

1.26

1.39

0.55

0.51

0.25

0.21

0.21

0.54

VNS

Table 18.6 The CPU time of all method with sparse job arrivals

0.008

0.008

0.002

0.001

0.007

0.004

0.002

0.002

0.008

0.002

0.006

0.002

FIFO

0.010

0.004

0.003

0.007

0.007

0.005

0.006

0.005

0.009

0.009

0.006

0.006

LIFO

0.007

0.014

0.001

0.002

0.007

0.010

0

0.002

0.029

0.045

0

0.001

SPT

0.011

0.020

0.003

0.007

0.010

0.014

0.006

0.006

0.042

0.062

0.003

0.008

LPT

0.004

0.010

0

0.001

0.006

0.006

0

0.001

0.020

0.033

0

0.001

MWKR

0.009

0.017

0.003

0.011

0.008

0.013

0.006

0.005

0.033

0.048

0.003

0.004

LWKR

18.5 Experimental Design and Results 395

1

0.5

λ

L

M

S

L

M

S

88.1

195

200

64

80

100

39.4

23.1

60

7.3

40

155

200

20

31.9

39.1

80

100

20.0

9.10

60

4.46

40

GATS

20

Jn

4.82

2.37

2.11

1.75

1.35

0.97

3.83

2.02

1.86

1.36

1.03

0.85

GA

221

52.2

33.3

45.1

24.3

8.17

163

16.4

27.5

18.6

8.59

4.68

VNS

Table 18.7 The CPU time of all methods with dense job arrivals

0.002

0.002

0.003

0.003

0.002

0.004

0.008

0.008

0.002

0.001

0.007

0.004

FIFO

0.003

0.005

0.002

0.004

0.003

0

0.003

0.006

0.004

0.005

0.007

0.009

LIFO

0.004

0.003

0

0.003

0.005

0.007

0

0.002

0.009

0.009

0.001

0.002

SPT

0.007

0.012

0.002

0.003

0.003

0.005

0.002

0.008

0.008

0.009

0.007

0.005

LPT

0.003

0.007

0

0.001

0.002

0

0

0.001

0.004

0.003

0

0.001

MWKR

0.011

0.011

0.002

0.003

0.005

0.009

0.006

0.010

0.002

0.009

0.010

0.006

LWKR

396 18 A Hybrid Genetic Algorithm and Tabu Search …

18.5 Experimental Design and Results

397

performance to solve the multi-objective dynamic JSP, especially in a large number of job arrivals. It’s also observed that the performance measure of the proposed method and FIFO approximately linearly change with different number of new jobs in the four figures. From Fig. 18.3a–d, it also can be found that the angle between the curve of the proposed method and the curve of FIFO gets small when the job arrivals become dense. These illustrate that the proposed method will reduce the schedule efficiency in order to maintain the schedule stability when the job arrivals rate λ becomes large. Fig. 18.3 a Comparison of the proposed method and other methods. b Comparison of the proposed method and other methods. c Comparison of the proposed method and other methods. d Comparison of the proposed method and other methods

398

18 A Hybrid Genetic Algorithm and Tabu Search …

Fig. 18.3 (continued)

18.5.2.4

The ANOVA for the Performance Measure

In order to analyze the performance of the schedule efficiency and the schedule stability with the job arrivals rate λ, the ANalysis Of Variance (ANOVA) is performed using the commercial statistical software Excel 2010. The ANOVA, given in Table 18.8, is carried out for statistical significance test of the factors where factor λ represents the job arrivals rate. In this study, effects are considered significantly if the P-value is less than 0.05. As indicated in Table 18.8, the job arrivals rate has a statistically significant impact on the performance measures of the schedule efficiency and the schedule stability for all problems.

18.5 Experimental Design and Results

399

Table 18.8 The ANOVA for the performance measures Problem

Factor

Source of variation

J20

λ

Between groups Within groups

J40

λ

Between groups

J60

λ

Between groups

Within groups Within groups J80

λ

Sum of squares

Mean square

5461719.06

5461719.06

671464.45

111910.74

17538373.2 3139347.20 36066055.3 4997726.45

17538373.2

70978399.7

70978399.7

17526921.2

2921153.5

94566487.6

94566487.6

Between groups

J200

λ

Between groups

390351486

Within groups

103521112.4

Within groups

20091305.2

48.80