Optimisation of Robotic Disassembly for Remanufacturing (Springer Series in Advanced Manufacturing) 3030817989, 9783030817985

This book illustrates the main characteristics, challenges and optimisation requirements of robotic disassembly. It prov

97 26 7MB

English Pages 203 [198] Year 2021

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Preface
Acknowledgements
Contents
Abbreviations
List of Figures
List of Tables
1 Introduction to Remanufacturing
1.1 The Need for Remanufacturing
1.2 Concept and Main Activities of Remanufacturing
1.3 Optimisation Problems in Remanufacturing
1.4 Summary
References
2 Robotic Disassembly for Remanufacturing
2.1 Concept and General Process of Robotic Disassembly
2.1.1 Is Robotic Disassembly New?
2.1.2 How Robotic Disassembly Works
2.1.3 How Are Disassembly Operations Defined?
2.1.4 How Robotic Disassembly Operations are Carried Out
2.1.5 What is Disassembly Planning and Scheduling?
2.2 Characteristics of Robotic Disassembly
2.2.1 How Disassembly is Different to Assembly
2.2.2 How to Adapt Assembly to Disassembly
2.3 Design of a Disassembly Cell Using Techniques For Assembly Cell Design
2.4 Key Enablers of Robotic Disassembly
2.4.1 Phase 1—Enabling Manufacturers to Benefit from Robotic Disassembly: Robust Disassembly
2.4.2 Phase 2—Enabling Third-Party Remanufacturers to Benefit from Robotic Disassembly: Flexible Disassembly
2.4.3 Phase 3—A Possible Goal of Robotic Disassembly: Autonomous Disassembly
2.5 Summary
References
3 Product Representation for Disassembly Sequence Planning
3.1 Classification of Product Representations
3.2 Matrix Representation
3.2.1 Interference Matrix
3.2.2 Disassembly Precedence Matrix
3.2.3 Immediate Preceded Matrix
3.3 Graph Representation
3.3.1 Task Precedence Diagram
3.3.2 Joint Precedence Graph
3.3.3 AND/OR Graph
3.3.4 Transformed AND/OR Graph
3.3.5 Connector-Based Precedence Graph
3.3.6 Disassembly Constraint Graph
3.4 Hybrid Representation
3.4.1 Component-Fastener Graph
3.4.2 Disassembly Graph Model and Disassembly Sequence Structure Graph
3.4.3 Disassembly Hybrid Graph Model
3.4.4 Disassembly Petri Net
3.5 Transformation and Comparison Between Different Representations
3.6 Summary
References
4 Component and Subassembly Detection
4.1 Overview
4.2 Two-Pointer Detection Strategy
4.3 Performance Analysis of the Two-Pointer Strategy
4.4 Summary
References
5 Modelling of Robotic Disassembly Sequence Planning
5.1 Preliminaries
5.2 Mathematical Representation
5.2.1 Decision Variables
5.2.2 Objectives
5.2.3 Constraints
5.3 Uncertainties in Robotic Disassembly
5.4 Summary
References
6 Modelling of Robotic Disassembly Line Balancing
6.1 Problem Statement
6.2 Mathematical Representation
6.2.1 Notations and Decision Variables
6.2.2 Objectives
6.2.3 Constraints
6.3 Representation of Uncertain Task Time in DLBP
6.4 Model Extendibility to Different Environments
6.5 Summary
References
7 Evolutionary Optimisation for Robotic Disassembly Sequence Planning and Line Balancing
7.1 Basic Process of Evolutionary Optimisation
7.2 Typical Evolutionary Algorithms
7.2.1 Typical Single-Objective Evolutionary Algorithm
7.2.2 Typical Multi-objective Evolutionary Algorithm
7.3 Encoding Methods for Two Robotic Disassembly Optimisation Problems
7.4 Algorithm Configuration
7.5 Summary
References
8 Solutions for Robotic Disassembly Sequence Planning with Backup Actions
8.1 Overview
8.2 Problem Formulation
8.2.1 Backup Actions
8.2.2 Expected Disassembly Time and Completion Rate
8.2.3 Mathematical Model
8.3 The Dual-Selection Multi-objective Evolutionary Algorithm
8.3.1 The Dual-Selection Strategy for Solution Exploration
8.3.2 The Variation Operators for Solution Exploitation
8.3.3 Time Complexity of DS-MOEA
8.4 Experiments and Discussions
8.4.1 Product Example and Experimental Configurations
8.4.2 How Does the New Model Change the Calculation of Disassembly Time?
8.4.3 The Effectiveness of Backup Actions
8.4.4 The Efficiency of the DS-MOEA on Robotic Disassembly Sequence Planning
8.5 Summary
References
9 Robotic Disassembly Sequence Re-planning
9.1 Preliminaries
9.2 Ternary Bees Algorithm for Disassembly Re-planning
9.3 Experiments and Discussions
9.4 Summary
References
10 Solutions for Robotic Disassembly Line Balancing
10.1 Preliminaries
10.2 Encoding Method for Solving the Generic DLBP Model
10.3 Benchmarking Instances and Experimental Settings
10.4 Experimental Comparison and Discussion
10.5 Summary
References
11 Solutions for Mixed-Model Disassembly Line Balancing with Multi-robot Workstations
11.1 Preliminaries
11.1.1 Problem Definition and Assumptions
11.1.2 Disassembly Precedence Relations
11.1.3 Illustrative Example
11.2 Mathematical Formulation
11.2.1 Notations
11.2.2 Mathematical Model for MDLB-MR
11.3 Problem-Specific Bi-Criterion Evolutionary Algorithm for MDLB-MR
11.3.1 Procedure of PBEA
11.3.2 Solution Encoding and Decoding
11.3.3 Solution Initialisation
11.3.4 Problem-Specific Variation Operators
11.4 Computational Experiments
11.4.1 Experimental Settings
11.4.2 Experimental Results and Discussions
11.5 Summary
References
Index
Recommend Papers

Optimisation of Robotic Disassembly for Remanufacturing (Springer Series in Advanced Manufacturing)
 3030817989, 9783030817985

  • 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

Springer Series in Advanced Manufacturing

Yuanjun Laili Yongjing Wang Yilin Fang Duc Truong Pham

Optimisation of Robotic Disassembly for Remanufacturing

Springer Series in Advanced Manufacturing Series Editor Duc Truong Pham, University of Birmingham, Birmingham, UK

The Springer Series in Advanced Manufacturing includes advanced textbooks, research monographs, edited works and conference proceedings covering all major subjects in the field of advanced manufacturing. The following is a non-exclusive list of subjects relevant to the series: 1. Manufacturing processes and operations (material processing; assembly; test and inspection; packaging and shipping). 2 Manufacturing product and process design (product design; product data management; product development; manufacturing system planning). 3. Enterprise management (product life cycle management; production planning and control; quality management). Emphasis will be placed on novel material of topical interest (for example, books on nanomanufacturing) as well as new treatments of more traditional areas. As advanced manufacturing usually involves extensive use of information and communication technology (ICT), books dealing with advanced ICT tools for advanced manufacturing are also of interest to the Series. Springer and Professor Pham welcome book ideas from authors. Potential authors who wish to submit a book proposal should contact Anthony Doyle, Executive Editor, Springer, e-mail: [email protected].

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

Yuanjun Laili · Yongjing Wang · Yilin Fang · Duc Truong Pham

Optimisation of Robotic Disassembly for Remanufacturing

Yuanjun Laili School of Automation Science and Electrical Engineering Beihang University Beijing, China Yilin Fang School of Information Engineering Wuhan University of Technology Wuhan, China

Yongjing Wang Department of Mechanical Engineering University of Birmingham Birmingham, UK Duc Truong Pham Department of Mechanical Engineering University of Birmingham Birmingham, UK

ISSN 1860-5168 ISSN 2196-1735 (electronic) Springer Series in Advanced Manufacturing ISBN 978-3-030-81798-5 ISBN 978-3-030-81799-2 (eBook) https://doi.org/10.1007/978-3-030-81799-2 © The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, 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 publisher, 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 publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland

Preface

Remanufacturing is a key component of a circular economy. Compared with manufacturing, remanufacturing can reduce raw material, water and energy consumption by over 85% and greenhouse gas emissions and landfill requirements by more than 90%. Remanufacturing is a sizeable industry. For example, in the USA, there are more than 73,000 companies engaged in remanufacturing. They employ 350,000 people and have turnovers totalling $53 billion. The remanufacturing industry in the EU employs 500,000 people, and according to the European Remanufacturing Council, the market for European remanufacturing can reach e90 bn by 2030. A key step in remanufacturing is disassembly of the ‘core’, or the returned product to be remanufactured. In many ways, disassembly is a more difficult operation than assembly due to the condition of the core: unlike assembly of new or remanufactured products, which is well controlled because the components to be assembled are of known geometries, dimensions and states, disassembly has to contend with used products of uncertain shapes, sizes and conditions. Consequently, disassembly tends to require high degrees of motor and cognitive skills, which presents challenges for disassembly automation and means that most disassembly tasks must be undertaken by humans. This book is a result of a research programme funded by the Engineering and Physical Sciences Research Council at the University of Birmingham aimed at reducing disassembly efforts and enabling robots to perform disassembly autonomously. As part of being autonomous, a robotic disassembly system must be able to plan its work and, when a problem is encountered with the original plan, the system must be capable of changing it. This book focusses on the planning and replanning techniques a robotic disassembly system can use to achieve autonomy. With efficiency being a driver for automation, the book also covers techniques of optimising disassembly plans and balancing a multi-station disassembly line to maximise its throughput. The book is organised as follows: Chapter 1 summarises the main options for disposing of a product at the end of its service life and highlights the importance of remanufacturing as a key component of a circular economy. The chapter also introduces the main classes of optimisation problems in remanufacturing. v

vi

Preface

Chapter 2 reviews previous work on robotic disassembly for remanufacturing, focusing on the general concept, characteristics and enablers of robotic disassembly. The literature shows that several enabling techniques have already been developed at the planning and operational levels. The chapter also outlines a systematic workflow for designing robotic disassembly cells based on methods for assembly cell design. Chapter 3 introduces mathematical representations that can be adopted in disassembly sequence planning. Most disassembly sequence optimisation problems start with formulating a mathematical representation that can describe component relations. The main groups of mathematical representations are compared and analysed. A key capability needed in robotic disassembly is to recognise removable components and subassemblies automatically. Chapter 4 describes a simple and efficient strategy to find removable components and subassemblies online during disassembly. The proposed strategy solves a special problem in disassembly planning, interlocking, which may cause disassembly planning to fail. Chapters 5 and 6 examine the mathematical modelling of robotic disassembly sequence planning and disassembly line balancing problems, respectively. Optimisation variables, objectives and constraints are analysed. For disassembly sequence planning, multiple disassembly operations with direction change and tool change, additional adjustment strategies, backup strategies, and human assistance are reflected in the models to deal with uncertainties in disassembly processes. Various models developed in recent years for line balancing are presented and the use of probability distributions and fuzzy numbers to account for uncertainties in task durations is discussed. Disassembly sequence planning and disassembly line balancing problems are nondeterministic polynomial NP-hard problems. Evolutionary algorithms (EAs) are the most common method of solving such problems. Chapter 7 presents single-objective and multi-objective EAs used in disassembly sequence planning and disassembly line balancing, together with details such as their operators, solution encoding schemes, solution selection and update strategies and population initialisation techniques. Chapters 8 and 9 address the problem of dealing with failure in disassembly. Chapter 8 presents the concept of designing backup actions into a disassembly plan to allow a disassembly robot to recover from failures and complete its task. The incorporation of automatic backup actions in a disassembly plan has been shown potentially to triple its success rate. Chapter 9 introduces a method to allow a robotic system automatically to replan its operations, without recourse to pre-set backup actions, in case the planned disassembly sequence cannot be completed. The method involves using a superfast optimisation algorithm to search for the best new disassembly sequence in real time. The final two chapters of the book discuss the optimal solution of disassembly line balancing problems. Chapter 10 reports on the use of the model presented in Chap. 6 and different optimisation algorithms, including the genetic algorithm and various evolutionary algorithms, to find the solution to three benchmark problems involving the disassembly of between three and seven products. Chapter 11 extends

Preface

vii

the study to the more complex case of mixed-model disassembly lines with multirobot workstations. The numbers of robots can vary for the different workstations and the robots can all work in parallel. The problem is NP-hard and, again, has been solved using evolutionary optimisation techniques.

Acknowledgements The Autonomous Remanufacturing (AutoReman) project is funded by the Engineering and Physical Sciences Research Council (Grant Reference No. EPN0185241). The authors would like to thank the AutoReman research team at the University of Birmingham and the AutoReman academic and industrial partners for their support. Dr. Jiayi Liu contributed suggestions for Chaps. 4 and 5 for which the authors are most appreciative. AutoReman Team University of Birmingham, United Kingdom • Dr. Robert Cripps* • Dr. Mozafar Saadat • Dr. Marco Castellani • Dr. Khamis Essa • Dr. Chunqian Ji • Dr. Shizhong Su • Dr. Jun Huang • Dr. Yongjing Wang • Faraj Altumi • Natalia Hartono • Kaiwen Jiang • Adeyemisi Gbadebo • Mairi Kerin • Feying Lan • Joey Lim • Marcel Micheli • Soran Parsa • Mo Qu • Maj. Nathinee Theinnoi • Feifan Zhao • Senjing Zheng *Now alumnus

Beijing, China Birmingham, UK Wuhan, China Birmingham, UK

Academic and Industrial Partners Wuhan University of Technology, China • Prof. Zude Zhou • Prof. Quan Liu • Prof. Wenjun Xu • Dr. Yilin Fang • Dr. Jun Guo • Prof. Xuemei Jiang • Dr. Ruiya Li • Dr. Jiayi Liu • Dr. Yongquan Zhang Beihang University, China • Dr. Yuanjun Laili Universidad de Castilla – La Mancha • Dr. Francisco Javier Ramirez Caterpillar (UK) Borg-Warner HSSMI Meritor MG Motor (UK) Manufacturing Technology Centre Recoturbo

Yuanjun Laili Yongjing Wang Yilin Fang Duc Truong Pham

Contents

1

Introduction to Remanufacturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 The Need for Remanufacturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Concept and Main Activities of Remanufacturing . . . . . . . . . . . . . 1.3 Optimisation Problems in Remanufacturing . . . . . . . . . . . . . . . . . . 1.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 2 4 5 5

2

Robotic Disassembly for Remanufacturing . . . . . . . . . . . . . . . . . . . . . . 2.1 Concept and General Process of Robotic Disassembly . . . . . . . . . 2.1.1 Is Robotic Disassembly New? . . . . . . . . . . . . . . . . . . . . . . 2.1.2 How Robotic Disassembly Works . . . . . . . . . . . . . . . . . . . 2.1.3 How Are Disassembly Operations Defined? . . . . . . . . . . 2.1.4 How Robotic Disassembly Operations are Carried Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.5 What is Disassembly Planning and Scheduling? . . . . . . . 2.2 Characteristics of Robotic Disassembly . . . . . . . . . . . . . . . . . . . . . . 2.2.1 How Disassembly is Different to Assembly . . . . . . . . . . . 2.2.2 How to Adapt Assembly to Disassembly . . . . . . . . . . . . . 2.3 Design of a Disassembly Cell Using Techniques For Assembly Cell Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Key Enablers of Robotic Disassembly . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Phase 1—Enabling Manufacturers to Benefit from Robotic Disassembly: Robust Disassembly . . . . . . 2.4.2 Phase 2—Enabling Third-Party Remanufacturers to Benefit from Robotic Disassembly: Flexible Disassembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.3 Phase 3—A Possible Goal of Robotic Disassembly: Autonomous Disassembly . . . . . . . . . . . . . 2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 7 7 11 12 13 15 15 15 15 16 20 21

23 24 24 24

ix

x

3

Contents

Product Representation for Disassembly Sequence Planning . . . . . . 3.1 Classification of Product Representations . . . . . . . . . . . . . . . . . . . . 3.2 Matrix Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Interference Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Disassembly Precedence Matrix . . . . . . . . . . . . . . . . . . . . 3.2.3 Immediate Preceded Matrix . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Graph Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Task Precedence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Joint Precedence Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 AND/OR Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4 Transformed AND/OR Graph . . . . . . . . . . . . . . . . . . . . . . 3.3.5 Connector-Based Precedence Graph . . . . . . . . . . . . . . . . . 3.3.6 Disassembly Constraint Graph . . . . . . . . . . . . . . . . . . . . . . 3.4 Hybrid Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Component-Fastener Graph . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Disassembly Graph Model and Disassembly Sequence Structure Graph . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3 Disassembly Hybrid Graph Model . . . . . . . . . . . . . . . . . . 3.4.4 Disassembly Petri Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Transformation and Comparison Between Different Representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27 27 27 27 30 30 31 31 32 32 34 34 35 35 35

4

Component and Subassembly Detection . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Two-Pointer Detection Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Performance Analysis of the Two-Pointer Strategy . . . . . . . . . . . . 4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47 47 48 53 57 57

5

Modelling of Robotic Disassembly Sequence Planning . . . . . . . . . . . . 5.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Mathematical Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Decision Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.3 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Uncertainties in Robotic Disassembly . . . . . . . . . . . . . . . . . . . . . . . 5.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59 59 60 60 61 65 66 68 68

6

Modelling of Robotic Disassembly Line Balancing . . . . . . . . . . . . . . . . 6.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Mathematical Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Notations and Decision Variables . . . . . . . . . . . . . . . . . . . 6.2.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.3 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71 71 71 72 75 77

38 39 40 42 43 44

Contents

6.3 Representation of Uncertain Task Time in DLBP . . . . . . . . . . . . . 6.4 Model Extendibility to Different Environments . . . . . . . . . . . . . . . 6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xi

79 81 81 82

7

Evolutionary Optimisation for Robotic Disassembly Sequence Planning and Line Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 7.1 Basic Process of Evolutionary Optimisation . . . . . . . . . . . . . . . . . . 85 7.2 Typical Evolutionary Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 7.2.1 Typical Single-Objective Evolutionary Algorithm . . . . . 87 7.2.2 Typical Multi-objective Evolutionary Algorithm . . . . . . . 91 7.3 Encoding Methods for Two Robotic Disassembly Optimisation Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.4 Algorithm Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

8

Solutions for Robotic Disassembly Sequence Planning with Backup Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.1 Backup Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.2 Expected Disassembly Time and Completion Rate . . . . . 8.2.3 Mathematical Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 The Dual-Selection Multi-objective Evolutionary Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.1 The Dual-Selection Strategy for Solution Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.2 The Variation Operators for Solution Exploitation . . . . . 8.3.3 Time Complexity of DS-MOEA . . . . . . . . . . . . . . . . . . . . 8.4 Experiments and Discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.1 Product Example and Experimental Configurations . . . . 8.4.2 How Does the New Model Change the Calculation of Disassembly Time? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.3 The Effectiveness of Backup Actions . . . . . . . . . . . . . . . . 8.4.4 The Efficiency of the DS-MOEA on Robotic Disassembly Sequence Planning . . . . . . . . . . . . . . . . . . . . 8.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

Robotic Disassembly Sequence Re-planning . . . . . . . . . . . . . . . . . . . . . 9.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Ternary Bees Algorithm for Disassembly Re-planning . . . . . . . . . 9.3 Experiments and Discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

111 111 112 112 114 115 116 118 119 121 121 122 124 125 128 129 130 131 131 132 137 142 142

xii

Contents

10 Solutions for Robotic Disassembly Line Balancing . . . . . . . . . . . . . . . . 10.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Encoding Method for Solving the Generic DLBP Model . . . . . . . 10.3 Benchmarking Instances and Experimental Settings . . . . . . . . . . . 10.4 Experimental Comparison and Discussion . . . . . . . . . . . . . . . . . . . 10.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Solutions for Mixed-Model Disassembly Line Balancing with Multi-robot Workstations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.1 Problem Definition and Assumptions . . . . . . . . . . . . . . . . 11.1.2 Disassembly Precedence Relations . . . . . . . . . . . . . . . . . . 11.1.3 Illustrative Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Mathematical Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.2 Mathematical Model for MDLB-MR . . . . . . . . . . . . . . . . 11.3 Problem-Specific Bi-Criterion Evolutionary Algorithm for MDLB-MR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3.1 Procedure of PBEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3.2 Solution Encoding and Decoding . . . . . . . . . . . . . . . . . . . 11.3.3 Solution Initialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3.4 Problem-Specific Variation Operators . . . . . . . . . . . . . . . . 11.4 Computational Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4.1 Experimental Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4.2 Experimental Results and Discussions . . . . . . . . . . . . . . . 11.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

143 143 144 146 147 151 151 153 153 153 155 157 158 158 158 162 162 164 165 167 169 169 171 179 180

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

Abbreviations

AND TPD AOG BA BCE-IBEA

AND Task Precedence Diagram AND/OR Graph Bees Algorithm Bi-Criterion Evolution-Based Indicator-Based Evolutionary Algorithm BCE-MOEA/D Bi-Criterion Evolution-Based Multi-objective Evolutionary Algorithm based on Decomposition CAGR Compound Annual Growth Rate CDSP Cooperative Disassembly Sequencing Planning Problems CFG Component-Fastener Graph CPG Connector-based Precedence Graph DCG Disassembly Constraint Graph DGM Disassembly Graph Model DHGM Disassembly Hybrid Graph Model DLBP Disassembly Line Balancing Problem DPM Disassembly Precedence Matrix DPN Disassembly Petri Net DPRM Disassembly Precedence Restriction Matrix DS-MOEA Dual-Selection Multi-objective Evolutionary Algorithm DSPP Disassembly Sequence Planning Problem DSSG Disassembly Sequence Structure Graph DT Disassembly Tree EA Evolutionary Algorithm EOL End-Of-Life GA Genetic Algorithm GID Global ID GS Greedy Strategy HV Hypervolume IBEA Indicator-Based Evolutionary Algorithm IGD Inverted Generational Distance IM Interference Matrix xiii

xiv

IPM JPG MDLB-MR MOEA MOEA/D MSOPS MTTR NPC NSGA-II NSGA-III OEM PBEA PBI PC PMC PPX PSO RVEA SBX SD SI SOEA SPEA2 SSO TAOG TBA TCH TFN TLBO TPD WS

Abbreviations

Immediate Preceded Matrix Joint Precedence Graph Mixed-Model Disassembly Line Balancing with Multi-robot Workstations Multi-objective Evolutionary Algorithm Multi-objective Evolutionary Algorithm Based on Decomposition Multiple Single-Objective Pareto Sampling Mean Time To Repair Non-Pareto Criterion Non-dominated Sorting Genetic Algorithm-II Non-dominated Sorting Genetic Algorithm-III Original Equipment Manufacturer Problem-specific Bi-criterion Evolutionary Algorithm Penalty-Based Boundary Intersection Pareto Criterion Partially Matched Crossover Precedence Preservative Crossover Particle Swarm Optimisation Reference Vector-Guided Evolutionary Algorithm Simulated Binary Crossover Subassembly Dependent Subassembly Independent Single-Objective Evolutionary Algorithm Strength Pareto Evolutionary Algorithm-2 Simplified Swarm Optimisation Transformed AND/OR Graph Ternary Bees Algorithm Tchebycheff Triangular Fuzzy Number Teaching-Learning-Based Optimisation Task Precedence Diagram Weighted Sum

List of Figures

Fig. 1.1 Fig. 1.2 Fig. 2.1 Fig. 2.2 Fig. 2.3 Fig. 2.4 Fig. 2.5 Fig. 2.6 Fig. 2.7 Fig. 2.8 Fig. 2.9 Fig. 2.10 Fig. 2.11 Fig. 2.12 Fig. 3.1 Fig. 3.2 Fig. 3.3 Fig. 3.4

Fig. 3.5 Fig. 3.6 Fig. 3.7 Fig. 3.8

Fig. 3.9

Remanufacturing in the lifecycle of a product . . . . . . . . . . . . . . . General remanufacturing process chain . . . . . . . . . . . . . . . . . . . . . iPhone disassembly robots Daisy (Courtesy of Apple Inc.) . . . . . Layout of a disassembly system by Scholz-Reiter et al. [3] . . . . . Agents in an unstructured disassembly system [4] . . . . . . . . . . . . Disassembly operations proposed by Kroll and Hanft [13] . . . . . Disassembly operations proposed by Das et al. [14] . . . . . . . . . . Disassembly operations proposed by Santochi et al. [15] . . . . . . Key elements in a disassembly cell . . . . . . . . . . . . . . . . . . . . . . . . Disassembly cell design workflow . . . . . . . . . . . . . . . . . . . . . . . . . GWP 187 water pump and components [29] . . . . . . . . . . . . . . . . . Design of jigs [29] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cell layout [29] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Disassembly process examples [29] . . . . . . . . . . . . . . . . . . . . . . . A solenoid valve (a), and its liaison graph (b) [1] . . . . . . . . . . . . a An example product; b Interference matrix; c–e interference matrix update as the disassembly proceeds [3] . . . . The dynamic disassembly precedence matrix of the product in Fig. 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A task precedence diagram [23]; the arrows connecting tasks 1–3 indicate that once task 1 is completed, tasks 2 and 3 can be executed concurrently . . . . . . . . . . . . . . . . . . . . . . . . The joint precedence graph for pen disassembly [26] . . . . . . . . . Hyper-arc AND/OR graph of the product in Fig. 3.2a; a–d and d–f correspond to F1–F3 and C1–C3 respectively . . . . . . . . TAOG for automatic pencil in [30] . . . . . . . . . . . . . . . . . . . . . . . . Exploded views of a stapler (a), and its CPG (b) [11]. Three properties of connectors, assembly/disassembly direction, execution tool and precedence relations, are given . . . DCG representation of the telephone handset [12] . . . . . . . . . . . .

3 3 8 8 9 12 12 13 17 18 19 20 21 23 28 29 31

31 33 33 34

36 37

xv

xvi

Fig. 3.10 Fig. 3.11 Fig. 3.12 Fig. 4.1 Fig. 4.2 Fig. 4.3 Fig. 4.4 Fig. 5.1 Fig. 6.1

Fig. 7.1 Fig. 7.2 Fig. 7.3 Fig. 7.4 Fig. 7.5 Fig. 7.6 Fig. 7.7 Fig. 7.8 Fig. 7.9 Fig. 7.10

Fig. 7.11

List of Figures

DSSG of the product shown in Fig. 3.2a for target component C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DHGM of sample product in Fig. 3.2a . . . . . . . . . . . . . . . . . . . . . The disassembly Petri net of the sample product shown in Fig. 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example of a product to be disassembled . . . . . . . . . . . . . . . . . . . The process of detecting detachable subassemblies for the instance shown in Fig. 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . Procedure for detecting detachable components and subassemblies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Two typical products: B [18], and C, used to validate the methods proposed in this chapter . . . . . . . . . . . . . . . . . . . . . . . Possible decision variables of sequence planning for robotic disassembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The main decision variables of DLBP. In the case of M products to be disassembled during a planning period, they can be in different product models and conditions . . . . . . . . . . . . The general process of evolutionary optimisation . . . . . . . . . . . . Example of a product to be disassembled . . . . . . . . . . . . . . . . . . . An example individual of disassembly sequence planning with an integer encoding scheme . . . . . . . . . . . . . . . . . . . . . . . . . . The PPX to generate a new individual in disassembly sequence planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A simple mutation operator to generate a new individual in disassembly sequence planning . . . . . . . . . . . . . . . . . . . . . . . . . An integer-based individual of disassembly sequence planning with five groups of variables . . . . . . . . . . . . . . . . . . . . . . An example individual of disassembly sequence planning with a real-number encoding scheme . . . . . . . . . . . . . . . . . . . . . . Decoding method of a real-number scheme based on the layered candidate set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Decoding of the real-number gene-bits for disassembly direction selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . An integer-based individual of disassembly line balancing with five groups of variables. The top left, top right, bottom left and bottom right parts are referred to as the first, second, third and fourth parts in the following discussions . . . . . The PPX-based operation to generate a new individual of disassembly line balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39 40 41 49 51 51 53 60

73 86 97 98 98 99 100 101 101 102

103 104

List of Figures

Fig. 7.12

Fig. 7.13 Fig. 8.1 Fig. 8.2 Fig. 8.3 Fig. 8.4 Fig. 8.5 Fig. 8.6 Fig. 8.7 Fig. 9.1 Fig. 9.2 Fig. 9.3

Fig. 9.4 Fig. 10.1 Fig. 10.2

Fig. 11.1 Fig. 11.2 Fig. 11.3 Fig. 11.4 Fig. 11.5

Fig. 11.6 Fig. 11.7

An example individual of disassembly sequence planning with a real number encoding scheme. The first part (top left) can be the same as that of disassembly sequence planning. The second part (top right) can be the possibility of assigning the corresponding task to a new station; the third part (bottom left) means the possibility of assigning an F-remedial strategy to each task. The fourth part (bottom right) can be also generated according to Eq. (7.16) within the constraint shown by Eq. (7.19) . . . . . . . . Decoding of the individual shown in Fig. 7.12 to form a disassembly line balancing solution . . . . . . . . . . . . . . . . . . . . . . The main procedure of the DS-MOEA . . . . . . . . . . . . . . . . . . . . . The dual-selection process of the DS-MOEA . . . . . . . . . . . . . . . . An example of the modified PPX operator . . . . . . . . . . . . . . . . . . The process of the bisectional mutation operator . . . . . . . . . . . . . Three product examples for the experiments . . . . . . . . . . . . . . . . Comparison of disassembly time based on three case studies . . . Disassembly solutions for three products . . . . . . . . . . . . . . . . . . . The mainframe of the ternary Bees Algorithm . . . . . . . . . . . . . . . Three typical products applied to validate the methods proposed in this chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The fitness value of the best solution found by the 5 algorithms in 6 cases with respect to Product B and Product C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The average evolutionary trend of the 4 algorithms in the 6 disassembly cases with respect to Product B and Product C . . . . The encoding way for solving the generic DLBP model based on a MOEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Friedman test ranks of the 6 MOEAs in solving the generic DLBP model: a is the Friedman test on the HV results of six MOEAs; b shows the Friedman test on the IGD results of the 6 MOEAs; and c demonstrates the Friedman test on the D results of the 6 MOEAs . . . . . . . . . . . An example of the MDLB-MR layout . . . . . . . . . . . . . . . . . . . . . . The AND TPDs of two example models . . . . . . . . . . . . . . . . . . . . The TAOGs of two example models . . . . . . . . . . . . . . . . . . . . . . . Optimal solutions for an example of MDLB-MR based on TAOGs and AND TPDs, solved by LINGO . . . . . . . . . . . . . . . Example of solution encoding and decoding for MDLB-MR (| M | = 2, | B | = 43, | D | = 15, | J | = 2, | R | = 10 and Rmax = 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example of the DT generation procedure . . . . . . . . . . . . . . . . . . . Illustration of the crossovers for RW and TS (| M | = 2, | B | = 43, | D | = 15, | J | = 2, | R | = 10 and Rmax = 3) . . . . . . . .

xvii

105 105 117 118 120 120 123 126 127 134 137

139 140 144

150 154 155 156 157

164 166 168

xviii

Fig. 11.8

Fig. 11.9

List of Figures

Normalised non-dominated solution set obtained by the PBEA based on TAOGs and AND TPDs on different mixed-model scenarios (two to four models), as shown by parallel coordinates; (m, n) denotes model m and model n . . . Normalised non-dominated solution set of: a IBEA; b NSGA-II; c MOEA/D + WS; d MOEA/D + PBI; e MOEA/D + TCH; and f PBEA on the MDLB-MR case “1, 2, 3, 4, 5, 6, 7, 8”, as shown by the parallel coordinates . . . . .

172

178

List of Tables

Table 2.1 Table 2.2 Table 2.3 Table 2.4 Table 2.5 Table 3.1 Table 3.2 Table 3.3 Table 3.4 Table 4.1 Table 4.2 Table 5.1 Table 5.2 Table 6.1 Table 6.2 Table 6.3 Table 6.4 Table 8.1 Table 8.2 Table 8.3 Table 8.4

Industrial collaborative robots . . . . . . . . . . . . . . . . . . . . . . . . . . . Summary of published articles on robotic disassembly systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Summary of disassembly survey result . . . . . . . . . . . . . . . . . . . . Category of operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uncertainty analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Typical representations of the product to be disassembled . . . . Component numbering of the telephone handset [12] . . . . . . . . Transformation relationship between different representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Applications’ scenario and space complexity of different representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The encoding list of the components and directions for the three products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Detection results of the two-pointer strategy for the nine cases on three kinds of EOL products . . . . . . . . . . . . . . . . . . . . . The main objectives of robotic disassembly sequence planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The main constraints of robotic disassembly sequence planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The notations of the generic model of the DLBP . . . . . . . . . . . . The objectives of DLBP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The list of constraints with respect to different types of input data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Additional definitions for calculating the disassembly task time under uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The range of the parameters for the three product examples . . . The tools required for different product examples . . . . . . . . . . . The segmented sets of the detachable elements with their direction lists for the three product examples . . . . . . . . . . . . . . . The range of the parameters for the three product examples . . .

10 11 13 14 22 28 37 43 44 54 55 62 65 72 76 78 80 124 124 125 127 xix

xx

Table 8.5 Table 8.6 Table 9.1 Table 9.2 Table 10.1 Table 10.2 Table 10.3 Table 10.4 Table 10.5 Table 10.6 Table 10.7 Table 10.8 Table 11.1 Table 11.2 Table 11.3 Table 11.4 Table 11.5 Table 11.6 Table 11.7 Table 11.8 Table 11.9

List of Tables

The HV and IGD results of the 5 MOEAs on the three disassembly cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The ε-indicator matrix of the 5 MOEAs on three disassembly experiments’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pair-wise Wilcoxon test between TBA and the other algorithms for 6 disassembly cases . . . . . . . . . . . . . . . . . . . . . . . Search time (in ms) for the 5 algorithms on the 6 disassembly cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The number of nodes in the TAOGs of the seven typical products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Detailed information of the 3 benchmarking instances . . . . . . . The range of the parameters used in decision making . . . . . . . . The worst and best objective values obtained by six MOEAs for the small-scale examples . . . . . . . . . . . . . . . . . . . . . The worst and best objective values obtained by six MOEAs for the medium-scale examples . . . . . . . . . . . . . . . . . . The worst and best objective values obtained by six MOEAs for the large-scale examples . . . . . . . . . . . . . . . . . . . . . The HV, IGD and D results of six MOEAs on the three scales of the generic DLBP model . . . . . . . . . . . . . . . . . . . . . . . χ 2 and p-value of the Friedman test . . . . . . . . . . . . . . . . . . . . . . The indices used in the mathematical model . . . . . . . . . . . . . . . The sets and parameters used in the mathematical model . . . . . The variables used in the mathematical model . . . . . . . . . . . . . . The objective functions of the mathematical model . . . . . . . . . . The constraints of the mathematical model . . . . . . . . . . . . . . . . Other parameters of the considered algorithms . . . . . . . . . . . . . HV results (mean [standard deviation]) of the six algorithms for small-sized cases . . . . . . . . . . . . . . . . . . . . . . . . . HV results (mean [standard deviation]) of the six algorithms for medium-sized cases . . . . . . . . . . . . . . . . . . . . . . . HV results (mean [standard deviation]) of the six algorithms for large-sized cases . . . . . . . . . . . . . . . . . . . . . . . . . .

128 129 141 141 146 146 146 148 148 149 150 151 158 159 159 159 160 170 173 174 176

Chapter 1

Introduction to Remanufacturing

1.1 The Need for Remanufacturing To manufacture products using fewer resources, one possible method is to transform our way of production and consumption, from a linear model, i.e., take, make and dispose, towards a circular model, in which products and resources are reused in loops. Remanufacturing, the process of rebuilding used products to their original condition, is seen as one of the key approaches to promote the circular economy. Remanufacturing creates both economic and environmental benefits. Early studies showed that remanufacturing can save up to 90% of materials [1, 2], and reduce the environmental impact by 37% [3]. The total energy required for remanufacturing is approximately one-sixth to one half of that required for new production [4], with a 53% decrease in CO2 emissions [2]. Remanufacturing activities contributed to an average amount of over £2.4 billion per year to the UK economy from 2002 to 2009 [5]. Remanufacturing in the US was worth more than $43 billion in 2011, and created about 180,000 full-time jobs [6]. Sizeable remanufacturing markets have also been seen in Brazil, Japan, and China [7]. Remanufacturing activities in Europe contribute to an estimated 1.9% of the total production value. In the EU, 2.37 million tons of electronic products reached their end-of-life (EOL) in 2009, an increase of over 120% from 1999 [8]. In the US 4.5 million tons of EOL electronic products have been disposed of every year without proper reuse or recycling [9]. Vehicle ownership in China exceeded 0.3 billion at the end of 2017 and the number of EOL vehicles will significantly rise in the coming years. A large number of EOL products can also be seen in other areas, such as in the aerospace industry, furniture, heavy duty and off-road, marine and medical equipment, and rail sectors. A majority of EOL products are being disposed of directly, as in the traditional line model, without proper reuse, recycling and remanufacturing. Current research efforts on the circular economy are mainly about the disposal and resource retrieval processes. Disposal eliminates the remaining value of an EOL product, and the process to classify, extract and refine materials is often expensive. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2_1

1

2

1 Introduction to Remanufacturing

Traditional restoring/repair approaches allow some products to be recovered, but the quality of the restored/repaired products is usually not comparable to that of new products. Remanufacturing is seen as a promising way to create values using EOL products, and decrease raw material consumption and recycling costs, to maximise market profit and alleviate environmental impacts [3, 11, 12]. As the global population increases from 7.5 billion to 9 billion by 2040 when it is expected that there would be at least 3 billion new middle-class consumers, both consumption and waste will rise dramatically [10]. The size of the remanufacturing industry is estimated to continue to grow, with remanufacturing in the EU potentially reaching e90 billion by 2030. The automotive parts remanufacturing market was valued at US$ 33.16 billion in 2016 and was estimated to grow at a CAGR (compound annual growth rate) of 6.6% from 2017 to 2025 [13]. Parker et al. [7] stated that ‘the value of European remanufacturing would be close to e100 billion employing over 0.5 million people and averting some 21 million tons of carbon dioxide equivalent in the Transformation Scenario by 2030’. Remanufacturing has shown a great development potential and is a visible prospect from both industrial and academic perspectives.

1.2 Concept and Main Activities of Remanufacturing Remanufacturing is defined as the process of restoring EOL products to at least their original quality [14] in terms of specification and warranty. An EOL product may also be referred to as a core. The remanufactured product should be provided with a warranty which is at least the same as that of a new product. The quality requirement of remanufacturing is the key difference between it and other EOL options, such as repairing, reconditioning, refurbishing, cannibalising and recycling [15, 16]. Common EOL strategies other than remanufacturing include: • Repairing—restoring a product to a working condition. • Reconditioning—restoring a product to a working condition as well as cleaning it. • Refurbishing—returning a product to a good condition in terms of appearance, e.g., by cleaning, painting or repackaging it. • Upgrading—improving performance or adding new functions, e.g., by using new materials to increase strength. • Repurposing—reusing the product, perhaps, in less demanding activities. • Recycling—recovering raw materials from an EOL product. Figure 1.1 shows the role of remanufacturing in a product’s lifecycle. Remanufacturing and recycling return products to the component level and the raw material level, respectively, while other reuse strategies return products to users.

1.2 Concept and Main Activities of Remanufacturing

3

Fig. 1.1 Remanufacturing in the lifecycle of a product

End-of-Life product

Product assessment

Disassembly

Cleaning and inspection

Remanufactured product

Checking and packaging

Reassembly

Reprocessing

Repair

Recondition

Refurbishing

Replacement

Upgrade

Fig. 1.2 General remanufacturing process chain

A general remanufacturing process [11, 17] includes six activities as shown in Fig. 1.2: • Product assessment—understanding the condition of an EOL product. • Disassembly—this is the most critical step that distinguishes remanufacturing from manufacturing. Returned components may be deformed, corroded, or damaged from the inside. • Cleaning and inspection—understanding the conditions of components. • Reprocessing—restoring the components to their original conditions. It may involve polishing, welding, calibrating, etc. • Reassembly—may use the techniques in assembly. • Checking and packaging—preparing for distribution and sale. Remanufacturing is a complex process involving many optimisation problems [18, 19] and has great potential to improve efficiency, cost-effectiveness and flexibility.

4

1 Introduction to Remanufacturing

1.3 Optimisation Problems in Remanufacturing (1)

Business related problems

Remanufacturing can be greatly affected by the lifecycle management policy of original equipment manufacturers (OEMs) [20]. Although OEMs carry out remanufacturing activities, it is more common to see remanufacturing activities being carried out by third parties, either with or without collaboration with OEMs. It is interesting and important to identify a business model that maximises the support from OEMs for remanufacturers [21]. Several factors affect the development of the remanufacturing industry, including product pricing policies, collaboration models, quality standards and market demand. Investigating these factors and optimising their effects will maximise the benefits for all involved parties and the prosperity of the industry. (2)

Supply-chain related problems

Uncertain timing, volumes and quality of EOL products are the biggest challenges for remanufacturers [22, 23]. Solving these problems requires collaborative efforts from OEMs, consumers and waste management agents, as well as new technical enabling tools. A better understanding of the remanufacturing market is also needed. How to build an efficient closed-loop supply chain for remanufacturing activities has yet to be addressed [24, 25]. In addition, it is important to establish a reverse logistics network for collection, sorting and distribution [26, 27]. Logistic networks for remanufacturing can be more complex than those of manufacturing because of the uncertainties in the location of the cores. (3)

Process related problems

Disassembly is an essential step to retrieve useful components [28]. Uncertain processing time and operational failures create new challenges that do not exist in assembly planning [29, 30]. Establishing a reliable disassembly plan can be difficult owing to the lack of information. For example, bonding between components, corrosion conditions, and internal deformation are usually unknown. Disassembly is usually carried out manually due to its uncertainty and complexity. High-cost manual works is a key barrier to a wider adoption of remanufacturing. Though different automation technologies have been introduced to disassembly [31, 32], it is still technically challenging to create resilient and feasible disassembly plans automatically.

1.4 Summary

5

1.4 Summary This chapter has briefly explained remanufacturing and its motivation and introduced the main classes of optimisation problems in remanufacturing.

References 1. Steinhilper R (1998) Remanufacturing: the ultimate form of recycling. Fraunhofer IRB Verlag, Stuttgart 2. APRA Europe. Remanufacturing as best practice of the circular economy. https://cdn.ymaws. com/apra.org/resource/resmgr/European/APRA_Position_Paper_2.pdf. Accessed 17 Feb 2021 3. Moenne-Loccoz G, Schnebelen N (2015) Remanufacturing implementation within Neopost: key success factors and insight into the measurements of its environmental, economic and social benefits. In: International conference on remanufacturing, Amsterdam, Abstracts and Papers 4. Nasr N (2010) Reman for success. Ind Eng 42(6):26–27 5. Chapman AC, Bartlett C, McGill I, Parker D, Walsh B (2010) Remanufacturing in the UK: a snapshot of the remanufacturing industry in the UK in 2009. Centre for Remanufacturing and Reuse, Oakdene Hollins, Aylesbury 6. United States International Trade Commission (2012) Remanufactured goods: an overview of the US and global industries, markets, and trade. USITC Publication 4356:332–525 7. Parker D, Riley K, Robinson S, Symington H, Tewson J, Jansson K, Ramkumar S, and Peck D (2015) Remanufacturing market study. For Horizon 2020, grant agreement No. 645984. Amsterdam: European Remanufacturing Network (ERN), November 8. Environmental Pretention Agency (2008) Statistics on the management of used and end-of-life electronics 9. Minter A (2013) Isn’t flooding the third world with E-waste. https://www.bloomberg.com/ view/articles/2013-05-26/stop-the-baseless-panicking-over-u-s-e-waste 10. Brundtland GH (2012) Managing our environment for sustainability. News & Media, United Nation Foundation 11. Gallo M, Romano E, Santillo LC (2012) A perspective on remanufacturing business: issues and opportunities. In: International trade from economic and policy perspective. V Bobek, IntechOpen. https://www.intechopen.com/books/international-trade-from-economic-and-policyperspective/a-perspective-on-remanufacturing-business-issues-and-opportunities. Accessed 24 Feb 2021 12. Zlamparet GI, Ijomah W, Miao Y, Awasthi AK, Zeng X, Li J (2017) Remanufacturing strategies: a solution for WEEE problem. J Cleaner Prod 149:126–136 13. Global automotive parts remanufacturing market size, market share, application analysis, regional outlook, growth trends, key players, competitive strategies and forecasts, 2017 to 2025. Acute Market Research. http://www.acutemarketreports.com/report/automotive-partsremanufacturing-market 14. Automotive Parts Remanufacturers Association. Common definition of remanufacturing (2014) 15. Gharfalkar M, Ali Z, Hillier G (2016) Clarifying the disagreements on various reuse options: repair, recondition, refurbish and remanufacture. Waste Manage Res 34(10):995–1005 16. King AM, Burgess SC, Ijomah W, McMahon CA (2006) Reducing waste: repair, recondition, remanufacture or recycle? Sustain Dev 14(4):257–267 17. Butzer S, Kemnitzer J, Kunz S, Pietzonka M, Steinhilper R (2017) Modular simulation model for remanufacturing operations. Procedia CIRP 62:170–174 18. Kannan D, Garg K, Jha PC, Diabat A (2017) Integrating disassembly line balancing in the planning of a reverse logistics network from the perspective of a third party provider. Ann Oper Res 253(1):353–376

6

1 Introduction to Remanufacturing

19. Kenne JP, Dejax P, Gharbi A (2012) Production planning of a hybrid manufacturing–remanufacturing system under uncertainty within a closed-loop supply chain. Int J Prod Econ 135(1):81–93 20. Subramanian R, Subramanyam R (2012) Key factors in the market for remanufactured products. Manuf Serv Oper Manag 14(2):315–326 21. Michaud C, Llerena D (2006) An economic perspective on remanufactured products: industrial and consumption challenges for life cycle engineering. Proc LCE2006 2006:543–548 22. Gu Q, Tagaras G (2014) Optimal collection and remanufacturing decisions in reverse supply chains with collector’s imperfect sorting. Int J Prod Res 52(17):5155–5170 23. Tagaras G, Zikopoulos C (2008) Optimal location and value of timely sorting of used items in a remanufacturing supply chain with multiple collection sites. Int J Prod Econ 115(2):424–432 24. Amin SH, Zhang G (2013) A multi-objective facility location model for closed-loop supply chain network under uncertain demand and return. Appl Math Model 37(6):4165–4176 25. Abbey JD, Guide VDR Jr (2018) A typology of remanufacturing in closed-loop supply chains. Int J Prod Res 56(1–2):374–384 26. Mutha A, Pokharel S (2009) Strategic network design for reverse logistics and remanufacturing using new and old product modules. Comput Ind Eng 56(1):334–346 27. Liao TY (2018) Reverse logistics network design for product recovery and remanufacturing. Appl Math Model 60:145–163 28. Tang O, Grubbström RW, Zanoni S (2004) Economic evaluation of disassembly processes in remanufacturing systems. Int J Prod Res 42(17):3603–3617 29. Priyono A, Ijomah W, Bititci U (2016) Disassembly for remanufacturing: a systematic literature review, new model development and future research needs. J Indus Eng Manag 9(4):899–932 30. Kurilova-Palisaitiene J, Sundin E, Poksinska B (2018) Remanufacturing challenges and possible lean improvements. J Cleaner Prod 172:3225–3236 31. Bras B (2014) Design for remanufacturing processes. In: Mechanical engineers’ handbook, pp 1–28 32. Vongbunyong S, Kara S, Pagnucco M (2012) A framework for using cognitive robotics in disassembly automation. In: Leveraging technology for a sustainable world. Springer, Berlin, Heidelberg, pp 173–178

Chapter 2

Robotic Disassembly for Remanufacturing

2.1 Concept and General Process of Robotic Disassembly 2.1.1 Is Robotic Disassembly New? Disassembly robots have gained public attention thanks to the iPhone recycling robots Liam and Daisy released in 2016 and 2018, respectively. For a photogragh of Daisy, please see Fig. 2.1. Liam was able to disassemble eight components from the iPhone 6 [1]. Its successor, Daisy, enabled up to 200 iPhones of different models to be disassembled an hour, retrieving seven components that contain high-value materials such as tungsten and cobalt [2]. Disassembly robots were highlighted in Apple Inc.’s annual environmental responsibility reports, to present the image that the company was committed to reducing the impact of its business activities on the environment. It might be surprising to many that robotic disassembly systems emerged as early as the 1990s, when environmental responsibility was a new term. An interesting case study on the disassembly of a TV was reported in 1999 [3]. The system consisted of a disassembly robot, a handling robot and a vision system. The disassembly robot was equipped with destructive and non-destructive disassembly tools. The handling robot moved away the loosened parts and components. The vision system identified the type and model of the TV or monitor and uploaded the correct predefined disassembly programs. The layout of the system is given in Fig. 2.2. Several key features and processes of robotic disassembly systems were presented in the 20year-old example: (1) improved flexibility by using a computer vision system; (2) a feasible task scheduling plan: one robot for disassembly operations and the other one for handling; and (3) a possible layout design allowing easy flow of products and their components after disassembly. In fact, its basic functionality was similar to that of Daisy.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2_2

7

8

2 Robotic Disassembly for Remanufacturing

Fig. 2.1 iPhone disassembly robots Daisy (Courtesy of Apple Inc.)

Fig. 2.2 Layout of a disassembly system by Scholz-Reiter et al. [3]

Vision systems continued to play an instrumental role in the development of robotic disassembly systems over the decade following 1999. For example, a cognitive robotic disassembly system that can retrieve components on PCB boards was reported in [4] (Fig. 2.3). A new feature was that the robot planned and executed disassembly actions automatically rather than following a predefined program. The system was capable of identifying and positioning the required components on PCB boards; planning cutting routes automatically; monitoring execution processes; and assessing

2.1 Concept and General Process of Robotic Disassembly

9

Fig. 2.3 Agents in an unstructured disassembly system [4]

disassembly results. Although the cell’s disassembly operations are destructive to avoid complicated manipulations, it was a good example of unstructured disassembly. This new feature was enabled by significantly improved computational and cognition tools. As many disassembly operations require complex sensing and flexible motions, industrial robots that can perform no more than point-to-point movements are difficult to use for disassembly. An interesting idea of introducing human–robot collaboration for disassembly was proposed in 2015 [5]. The paper presented the disassembly of electric vehicle batteries in a working cell, which was shared by a human operator and a robot. The key feature was that the human could perform complex tasks while the robot dealt with repetitive and simple operations. This design paved the way for a wider use of robots in remanufacturing. A key enabler of human-robot collaboration is the capability of collision detection and avoidance. This function makes sure that robots are safe to run alongside a human operator. However, the idea can be controversial in practice. Many argue that the employment of safe robots is not enough; robotic tools (e.g., saws and torches) should be safe as well. Usually only simple and low-payload tools such as grippers can be designed to be safe. It means that the collaborative robots cannot use powerful tools and therefore their usefulness is limited. Differences in the design philosophy of collaborative robots can be perceived in the collaborative robots available (Table 2.1); for example, ABB Yumi has a very low payload, whereas Fanuc CR-35i has a payload as high as 35 kg—the safe use of collaborative robots relies on good system designs and integrations, rather than

10

2 Robotic Disassembly for Remanufacturing

Table 2.1 Industrial collaborative robots Series name

Payload (kg) Collaborative tool included? Why claim to be collaborative?

ABB Yumi

0.5

Yes – Parallel gripper – Suction gripper – Vision systems

– Low payload – Soft contacts

KUKA LBR iiwa

7 or 14

No

– Sensitive joints

Universal

3, 5 and 10

No

– Easy programming and fast set-up – Easy safety configuration

Franka Emika Panda 3

Yes – Parallel gripper

– Easy programming and fast set-up – Soft contacts – Sensitive joints

Rethink Robotics

2.2 or 4

Yes – Parallel gripper – Suction gripper – Vision systems

– Soft contacts – Sensitive joints

Fanuc CR-35i

35

No

– Soft contacts

Techman TM

4–14

No – A prefixed vision system

– Collision detection – Easy programming and fast set-up

Staubli TX2-60L

12

No

– Soft and sensitive contacts – Easy safety configuration

AUBO i5

5

No

– Easy programming and fast set-up – Collision detection

DENSO: Cobotta

0.5

Yes – Parallel gripper

– Collision detection – Easy programming and fast set-up

limiting their payload. It can be seen that different companies can have a very different understanding of collaborative robots. The use of Daisy and Liam indicates that robotic disassembly can be applied to the electronic industry, but it is not yet being widely adopted in other major manufacturing sectors such as the automotive sector. A common feature of the research reported to date (summarised in Table 2.2) is that the development of robotic disassembly tended to be very much ad hoc, empirical, and not supported by a strong underpinning methodology. Returning to the question—is robotic disassembly new? The use of robots in disassembly is not new; the technologies that can be used in robotic disassembly, such as computer vision and collaboration, are also not new. However, there is a lack of system-level understanding and generic development of robotic disassembly.

2.1 Concept and General Process of Robotic Disassembly

11

Table 2.2 Summary of published articles on robotic disassembly systems Time

Authors

Summary

Feature

1999

Scholz-Reiter et al. [3]

Flexible robot-based disassembly cell for obsolete TV-sets and monitors

• Vision-based product recognition • Two robots: one to disassemble and the other one to handle

2001

Büker et al. [6]

Automatic removing of car wheels

• Vision-based fastener positioning

2006

Bailey-Van Kuren [7]

Destructive disassembly of mobile phones

• Cutting operation was employed along with path planner based on vision sensing

2007

Gil et al. [8]

Flexible disassembly of a PC using multiple types of sensors

• Vision-based positioning systems • A visual-force control system to track disassembly trajectories

2009

Torres et al. [9]

Collaborative disassembly of a PC using two robots

• Collaboration of two disassembly robots • A cooperative task planner, safe and efficient task scheduling was explained

2012

ElSayed et al. [10]

Selective disassembly of a PC • Vision-based recognition • Automatic sequence generator

2013

Vongbunyong et al. [4]

Destructive disassembly of PCB boards

2015

Wegener et al. [5]

Human–robot collaborative • Human–robot collaboration disassembly of an EV battery in disassembly; where robots do simple and repetitive works and human operators can focus on complex tasks

2016

Bdiwi et al. [11]

Disassembly of electric vehicle motors

• Vision-based identification and positioning of fasteners

2018

Li et al. [12]

Disassembly of an engine control unit

• Destructive operation using cutting tools

• Unstructured disassembly planning based on vision and a cutting tool • Automatic cutting parameter update

2.1.2 How Robotic Disassembly Works Robotic disassembly involves the scheduling and planning of robotic disassembly operations. Robotic disassembly operations are the standard robotic actions such as unscrewing and removing a peg from a hole.

12

2 Robotic Disassembly for Remanufacturing

2.1.3 How Are Disassembly Operations Defined? Disassembly operations can be defined very differently. In 1998, Kroll and Hanft presented 16 types of disassembly operations (Fig. 2.4) for quantitative evaluation of product disassembly for recycling economy [13]. Das et al. proposed an elaborate listing of 13 types of unfastening processes and 16 types of disassembly processes [14]. In two more recent literature studies, an operations’ list (Figs. 2.5 and 2.6) was presented by Santochi et al. [15] and Takata et al. [16]. The definitions of disassembly operations presented in the literature can be very different. For example, pulling could be classified as separation in Takata’s own definition; whereas, Santoshi did not specify how big the pulling force could be and if turning could be applied. Based on the most recent categorisation method by Santochi, a survey of over 400 mechanical products was conducted and found that unscrewing, separating and pulling/pushing were the top three major disassembly operations, as in Table 2.3 [17]. The survey emphasised that some disassembly operation definitions need to be refined to suit robotic disassembly, and that the ambiguousness should be removed; it proposed a new categorisation system. The disassembly operations can be grouped into three categories, namely pre-disassembly operation, auxiliary operation, and main operation as shown in Table 2.4.

Fig. 2.4 Disassembly operations proposed by Kroll and Hanft [13]

Fig. 2.5 Disassembly operations proposed by Das et al. [14]

2.1 Concept and General Process of Robotic Disassembly

13

Fig. 2.6 Disassembly operations proposed by Santochi et al. [15]

Table 2.3 Summary of disassembly survey result

Amount Number of products

438

Total operations

12,250

Unscrewing

4884

39.9%

Separating

4473

36.5%

Pulling/Pushing

2431

19.8%

2.1.4 How Robotic Disassembly Operations are Carried Out Many robotic disassembly operations are easy to implement, such as blocking, moving/orientating and grasping, which have long been in robotic assembly. Those which require complex manipulations and cognitive efforts may be technically challenging. Automating assembly operations such as fastening [18] and inserting a peg into a hole [19] took years to successfully achieve, and disassembly operations can be equally complex. A successful disassembly operation relies on the use of effective robotic tools, carefully designed motion paths, and correct reasoning and logic to avoid or recover from failures. For example, a possible operation design for unscrewing, the most

14

2 Robotic Disassembly for Remanufacturing

Table 2.4 Category of operations Category

Operations

Definition

Pre-disassembly operation (preparing)

Cleaning

Dirt removing

Coat removing

Paint and rust removing

Emptying

Fluid removing from tanks or cavities

Blocking

To secure a stable position for a product under disassembly

Moving/orienting

Changing positions or orientations of a product or components

Recognition

Identification of intersecting materials or components during disassembly

Grasping

Holding a part for handling

Unscrewing

Removing threaded fasteners

Removing

Taking off parts which have two or more degrees of freedom of movement

Dismantling

Dismounting parts which have a 0 degree of freedom of movement

Auxiliary operation (helping disassembly in the process)

Main operation

Pulling/pushing one way only Taking off parts which have only one unique translation degree of freedom Pulling/pushing with turning allowed

Taking off parts which have an additional degree of rotating freedom apart from one translation degree of freedom

Rotating

Disengaging a part by turning it

Deforming

Deforming a part to disengage it

Bending

Bending a part to improve accessibility

Shredding/crushing

Local elimination of parts

Material removing

Milling, drilling, cutting, burning, …

common disassembly operation, is to enable a robot to use a robotic unfastening tool such as an electric/pneumatic screwdriver. The operation can involve two key steps. (1) securely fitting the unfastening tool to a target screw/bolt; and (2) detecting that the target screw/bolt has been fully unfastened and should be taken away. Both steps require a careful design of motion paths and decision-making logics.

2.1 Concept and General Process of Robotic Disassembly

15

2.1.5 What is Disassembly Planning and Scheduling? Planning determines the sequence of robotic disassembly operations based on product information. Scheduling assigns the tasks to robots, human operators, or to a human–robot collaborative approach with an aim of maximising safety, reliability and efficiency. Planning and scheduling can be deeply interrelated. For example, scheduling can be changed with different disassembly workstations, and thus the disassembly sequence will change accordingly. Planning and scheduling can be made offline or online, based on the information about the product or real-time product inspection. Details and previous studies will be explained in Chap. 3.

2.2 Characteristics of Robotic Disassembly 2.2.1 How Disassembly is Different to Assembly There are three dimensions where assembly and disassembly are different: operations, scheduling and planning. A disassembly operation, in many cases, is not the reverse of the corresponding assembly operation. For example, assembling two press-fit components may rely on expanding the outer component or shrinking the inner one. This technique can be difficult to employ in disassembly. The difference in an operation can also cause disassembly and assembly processes to use different scheduling and planning. The complexity and uncertainty in EOL products may require frequent re-planning or rescheduling to deal with unforeseen changes, such as seized parts and internal broken parts. The current business model of manufacturing can also affect the design of the disassembly or assembly systems. Unlike mass production, the current remanufacturing industry can very decentralised—where used products are collected and remanufactured locally to serve regional markets only. Remanufacturers can be small and need to deal with hundreds of models and types of used products in small batches.

2.2.2 How to Adapt Assembly to Disassembly The development of flexible assembly systems has produced many methods for improving a system’s flexibility and ability to overcome uncertainties. For example, to cater for variability in component positioning, Edmondson and Redford suggested building compliance into a flexible assembly cell [20]. A significant difference between assembly systems for mass production and those for flexible systems is in the system configuration: line configuration is used for mass production, but cell

16

2 Robotic Disassembly for Remanufacturing

configuration is used for flexible assembly [20]. For a line configuration, tasks are divided among different workstations along the line and each workstation is assigned to a specific task. In a cell, workstations, tools and devices can be shared between multiple assembly tasks. Flexibility is improved by using modular jigs and fixtures, and programmable tools [21, 22]. However, the production volume of a flexible assembly cell is usually only medium/low [23]. Another way to improve flexibility in assembly systems is through human-robot collaboration—robots and people working in a shared space where machines would relieve human operators of arduous or repetitive tasks, and humans could focus on tasks that are too complex or costly to be automated [24, 25]. However, human– robot collaboration has not been widely adopted in practice due to concerns about safety; although researchers have been building collision avoidance systems, based on machine vision and other forms of sensing, which are aimed at preventing accidental contact between the robot and its surroundings [26–28]. Most human–robot collaboration systems developed to date have been confined to demonstrations in laboratories.

2.3 Design of a Disassembly Cell Using Techniques For Assembly Cell Design Figure 2.7 presents the key elements of a disassembly cell. Elements in a flexible disassembly system can be divided into three groups: product, process and disassembly system. Each group contains three levels of information, as explained below. (1)

Product • Product components: the parts in an assembly. At this lowest level, characteristics of the parts (shape, weight and size etc.) should be considered. The information will be used in disassembly operation analysis and the selection/design of collection and sorting devices. • Product structure: the contacts, constraints and joining methods for parts in an assembly. The information will be used in disassembly operation analysis and selection/design of disassembly modules. Details of a module such as the specific tools and devices to be adopted will also rely on this product structure analysis. • Product condition: the variance in the returned product, such as corrosion, wear, deformation and missing parts. The condition will affect disassembly strategies and system structures.

(2)

Disassembly process • Disassembly operations: the basic operations to separate two or more parts. Information on this level will guide disassembly planning and the selection/design of disassembly modules.

2.3 Design of a Disassembly Cell Using Techniques …

17

Fig. 2.7 Key elements in a disassembly cell

• Disassembly planning: the steps and sequence in dismantling the product. In many cases, a product can be disassembled in multiple sequences. Feasible disassembly sequences are explored to identify the most suitable. This task relies on human analysis efforts, but could be automated in the future with more research and development carried out on automatic model creation and interpretation. • Disassembly strategy: all information about disassembly operations and disassembly plans, as well as the approaches that ensure they can be executed safely and efficiently. For example, this level should give information about safety assessment and protection mechanisms if human operators are involved. (3)

Disassembly system • System components: a variety of modules for part handling or extraction operations, such as pick-and-place devices and presses for the separation of interference-fit components. • System structure: the organisation of functions for efficient and safe implementation of disassembly strategies. • System layout: the physical arrangement of all components.

18

2 Robotic Disassembly for Remanufacturing

Figure 2.8 illustrates the design procedure which consists of 14 steps. The design starts with the analysis of product components and structure. The CAD models, component materials and joining methods are obtained at the end of the first step. Handling/sorting methods and disassembly operations are determined in Step 2. The corresponding handling/sorting tools and disassembly modules are selected, modified or designed in Step 3. It is worth noting that variables in disassembly operations should be identified experimentally, such as the torque required to remove a screw and the force needed to separate press-fit components, so that suitable tools and fixtures could be chosen. The feasibility of the selected handling tools and disassembly modules is checked in Step 4, to ensure they are able to accomplish the disassembly operations before organising them into an integrated system. Tools can be redesigned if not suitable. The disassembly plan and initial disassembly structure/layout design are, respectively, prepared in Steps 5 and 6. For products with complex structures that can be disassembled in different sequences, suitable optimisation methods should be used to determine the optimal disassembly sequence. The structure and layout proposed in Step 6 is an initial plan with the possibility of extension and improvement. After this step, the cell should be able to disassemble the end-of-life products under consideration if they were perfect and identical to one another. In Step 7, uncertainties are introduced into the design loop. The focus is on misalignment or inaccurate positioning issues that could cause operation failures. For example, if a returned product assembled by screws is deformed, the unscrewing tip point (operation point) and the pre-programed operation point could be misaligned. Suitable processes to cope with uncertainties in components are proposed in Step 8, and adaptive tools are selected in Step 9. In addition, if human-robot collaboration

Fig. 2.8 Disassembly cell design workflow

2.3 Design of a Disassembly Cell Using Techniques …

19

Fig. 2.9 GWP 187 water pump and components [29]

is proposed, a suitable mechanism will be designed to ensure the safety of people and equipment when working in a shared space. The cell structure and layout are redesigned in Step 10 to accommodate the new devices and tools. In the last four steps, the proposed disassembly system is tested on real returned products (Step 11), to verify the effectiveness of each process (Step 12), before final realisation and operation (Steps 13 and 14). The above design process will be explained with reference to the disassembly of the model GWP 187 water pump shown in Fig. 2.9. That pump model was used in cars produced by Rover (1991–2001), Austin (1973–1990), Innocenti (1974–1995) and MG (1982–1990). After component analysis and structure analysis (Step 1), the results are shown in Fig. 2.9b. Because in remanufacturing low-value parts will be replaced, the inexpensive sealing components subassembly D in Fig. 2.9b does not need to be further broken down; and as C is a subassembly of a bearing and a shaft, which also does not require taking apart as it would be reused directly if it passes inspection. In Step 2, considering the weights and sizes of all components, the handling of A, C, D and E in Fig. 2.9b needs a 3-finger gripper or a parallel-finger gripper. However, to handle B, only a parallel-finger gripper is suitable because of its complex shape. To avoid gripper changing, a parallel-finger gripper with anti-slip rubber pads fitted to the fingers was selected for all handling tasks. As the assembly involves only one type of disassembly operation, separation of press-fit components, the force needed for the operation was tested to reveal that the most challenging task was the separation of A and C during which the required press force was 34 kN. After Step 3, the disassembly method of HRPC was employed, which represents a modular approach based on using the combined efforts of a manual press (P), a robot (R) and a human operator (H) to separate press-fit components. The HRPC has three actions. First, a robot installs a positioning jig in the press, and places the unit to be disassembled on the positioning jig. Second, the human operates the press to dismantle the subassembly. Finally, the robot collects the disassembled parts and replaces jigs for the next disassembly task. In Step 4 (feasibility study), the selected gripper and press were tested on the assigned tasks. In Step 5 (disassembly

20

2 Robotic Disassembly for Remanufacturing

Fig. 2.10 Design of jigs [29]

planning), the sequence A–B–E–D–C was adopted as it involved the smallest number of disassembly operations and only required simple fixture designs. In Step 6 (structure/layout design), the jigs for use in the press with different disassembly operations were designed and optimised to reduce the time required to change them between operations, as shown in Fig. 2.10. The initial layout of the cell is given in Fig. 2.11. In Steps 7–9, possible uncertainties and ways of dealing with them are shown in Table 2.5. As no major changes have been introduced, only small modifications were made to the cell structure and layout redesign (Step 10). Following trials with real products (Steps 11–12), the disassembly cell was built in Steps 13 and 14. A robot performing disassembly can be seen in Fig. 2.12. The complete process can be viewed online [30]. A disassembly cycle took around 5 min. The robot was able to sort the disassembled part automatically after each cycle. It also changed the jigs and assisted the human operator by catching the extracted component as it came out of the press.

2.4 Key Enablers of Robotic Disassembly Robotic disassembly systems can be built using structured assembly approaches, as shown in Sect. 2.3, with adaptions and modifications; but they are unable to solve many other current challenges in remanufacturing industries, such as uncertain batch numbers.

2.4 Key Enablers of Robotic Disassembly

21

Fig. 2.11 Cell layout [29]

Promising results shown in previous developments, such as unstructured disassembly [4], paved the way for future developments. Based on the practical needs in industry and technical difficulty in terms of realisation, there will be three phases of progress in the foreseeable future.

2.4.1 Phase 1—Enabling Manufacturers to Benefit from Robotic Disassembly: Robust Disassembly A complete disassembly of a product may involve many hundreds of disassembly operations. Even if the successful rate of each operation is high, the overall successful rate can still be low. For example, assuming a disassembly process requires fifty operations and each operation has a 99% success rate, the overall success rate drops to 60.5%. Given the variance in the product conditions, even the most experienced workers would find a 99% success rate challenging. To make robotic disassembly feasible in practice, it is essential to reduce the costs of failure (e.g., downtime). This could allow large-scale disassemblies to be efficient and profitable [30]. In this phase, what we can see are robots capable of selecting different strategies to deal with products of different conditions to achieve zero downtime. For example, if a bolt is seized and cannot be removed using a general tool, the robot may turn to using a special high impact tool or applying penetrating lubricant or heat. An important feature is that the robot should be able to abandon the task to make way for other operations should all attempts fail. This functionality can be achieved by adopting suitable force/torque/vision/tactile sensing techniques. In fact, we have already seen many

22

2 Robotic Disassembly for Remanufacturing

Table 2.5 Uncertainty analysis Uncertainty

Solution

Positioning of jigs

Adding locating pins to jigs

Misalignment Adaptive gripping in gripping

Misalignment Adaptive in separation separation direction

Position and orientation of a part after a press process

Tools

Active impedance control

Active impedance control

The robot holds Active impedance control and force sensing (for details see the part being [29]) extracted so that it does not drop when the operation finishes

sensing techniques adopted in robotic disassembly. A cognitive robotic agent based on vision monitoring can perform disassembly processes effectively with respect to predefined knowledge and behaviours [4]. Another contributing factor is that sensors can be implanted into products during their production to provide information on the number, condition and version of components prior to disassembly [31]. The key challenge is to create a complete predefinition of correctness and failure modes.

2.4 Key Enablers of Robotic Disassembly

23

Fig. 2.12 Disassembly process examples [29]

2.4.2 Phase 2—Enabling Third-Party Remanufacturers to Benefit from Robotic Disassembly: Flexible Disassembly The focus of this phase is to enable robots to deal with products of not only different conditions, but also different models and types. The functionality requires a robot to identify the type or model of a product automatically and select corresponding disassembly procedures, which is technically feasible, as the sensing techniques in Phase 1 can be adopted again. What is challenging is the design of tools, fixtures, communications and layout, enabling efficient and safe tool changing as well as secure clamping. For example, a disassembly may need an automatic change of the screwdrivers of different torques to deal with bolts of different sizes. The change can be more than a switch of physical devices, communication and safety protocols may be changed as well. It also requires a clever design of cell layout to allow additional tools to be stored within a reachable distance for a robot. Therefore, the development of flexible disassembly tends to be on an ad hoc basis and it is difficult to build a universal methodology applicable to all cases. Flexible disassembly would allow multiple types of products to be disassembled on the same platform, making it cost-effective for smaller remanufacturers to employ robotic disassembly.

24

2 Robotic Disassembly for Remanufacturing

2.4.3 Phase 3—A Possible Goal of Robotic Disassembly: Autonomous Disassembly In the third phase, a robot would be able to operate without predefinitions and pointto-point-based pre-programs. Disassembly is planned and carried out through understanding and interpretation of mechanical structures in a reactive way. For example, a robot would be able to identify and locate bolts on a product and anticipate the results of removing them. A key challenge is how a complex physical structure could be represented in a mathematical language with minimum loss of spatial information. Such language allows computers to interpret/plan/re-plan disassembly sequences and procedures. It is also challenging to extract spatial information from 3D vision sensors; although it is possible with CAD data, such functionality has yet to be developed for disassembly.

2.5 Summary This chapter has given an overview of robotic disassembly for remanufacturing. The general concept, characteristics and enablers of robotic disassembly have been reviewed. The chapter has also outlined a systematic workflow for designing robotic disassembly cells based on techniques for assembly cell design.

References 1. Rujanavech C, Lessard J, Chandler S, Shannon S (2016) Liam-An innovation story. https:// www.apple.com/ca/fr/environment/pdf/Liam_white_paper_Sept2016.pdf. Accessed 17 Feb 2021 2. Apple Inc. (2018) Environmental responsibility report. https://www.apple.com/ca/enviro nment/pdf/Apple_Environmental_Responsibility_Report_2018.pdf. Accessed 17 Feb 2021 3. Scholz-Reiter B, Scharke H, Hucht A (1999) Flexible robot-based disassembly cell for obsolete TV-sets and monitors. Robot Comput Integr Manuf 15(3):247–255 4. Vongbunyong S, Kara S, Pagnucco M (2013) Basic behaviour control of the vision-based cognitive robotic disassembly automation. Assem Autom 33(1):38–56 5. Wegener K, Chen W, Dietrich F, Dröder K (2015) Robot assisted disassembly for the recycling of electric vehicle batteries. Procedia CIRP 29:716–721 6. Büker U, Drüe S, Götze N, Hartmann G, Kalkreuter B, Stemmer R, Trapp R (2001) Vision-based control of an autonomous disassembly station. Rob Auton Syst 35(3–4):179–189 7. Bailey-Van KM (2006) Flexible robotic demanufacturing using real time tool path generation. Robot Comput Integr Manuf 22(1):17–24 8. Gil P, Pomares J, Candelas S, Torres F (2007) Flexible multi-sensorial system for automatic disassembly using cooperative robots. Int J Comput Integr Manuf 20(8):757–772 9. Torres F, Puente S, Díaz C (2009) Automatic cooperative disassembly robotic system: task planner to distribute tasks among robots. Control Eng Pract 17(1):112–121 10. ElSayed A, Kongar E, Gupta S, Sobh T (2012) A robotic-driven disassembly sequence generator for end-of-life electronic products. J Intell Robot Syst 68(1):43–52

References

25

11. Bdiwi M, Rashid A, Putz M (2016) Autonomous disassembly of electric vehicle motors based on robot cognition. In 2016 IEEE international conference on robotics and automation (ICRA), pp 2500–2505 12. Li J, Barwood M, Rahimifard S (2018) Robotic disassembly for increased recovery of strategically important materials from electrical vehicles. Robot Comput Integr Manuf 50:203–212 13. Kroll E, Hanft T (1998) Quantitative evaluation of product disassembly for recycling. In: Research in engineering design—theory, applications, and concurrent Engineering, vol 10, no 1. Springer, pp 1–14 14. Das S, Yedlarajiah P, Narendra R (2000) An approach for estimating the end-of-life product disassembly effort and cost. Int J Prod Res 38(3):657–673 15. Santochi M, Dini G, Failli F (2002) Disassembly for recycling, maintenance and remanufacturing: state of the art and perspectives. AMST’02 advanced manufacturing systems and technology. Springer, Vienna, pp 73–89 16. Takata S, Isobe H, Fujii H (2001) Disassembly operation support system with motion monitoring of a human operator. CIRP Ann 50(1):305–308 17. Ji C, Pham D, Su S, Huang J, Wang Y (2017) AUTOREMAN—D.1.1—List of generic disassembly task categories. Technical Report, Department of Mechanical Engineering, University of Birmingham 18. Jia Z, Bhatia A, Aronson R, Bourne D, Mason M (2018) A survey of automated threaded fastening. IEEE Trans on Automat Sci Eng 16(1):298–310 19. Whitney D (1982) Quasi-static assembly of compliantly supported rigid parts. J Dyn Syst Meas Control 104(1):65–77 20. Edmondson N, Redford A (2002) Generic flexible assembly system design. Assem Autom 22(2):139–152 21. Spath D, Baumeister M (2001) Synchronisation of material flow and assembly in hybrid and modular systems. Assem Autom 21(2):152–157 22. Heilala J, Voho P. Modular reconfigurable flexible final assembly systems. Assem Autom 21(1):20–30 23. Rosati G, Faccio M, Carli A, Rossi A (2013) Fully flexible assembly systems (F-FAS): a new concept in flexible automation. Assem Autom 33(1):8–21 24. Tan J, Duan F, Zhang Y, Watanabe K, Kato R, Arai T (2009) Human–robot collaboration in cellular manufacturing: design and development. In: 2009 IEEE/RSJ international conference on intelligent robots and systems, pp 29–34 25. Goodrich M, Schultz A (2007) Human-robot interaction: a survey. Found Trends® HumComput Interact 1(3):203–275 26. DeCastro J, Alonso-Mora J, Raman V, Rus D, and Kress-Gazit H. Collision-free reactive mission and motion planning for multi-robot systems. In: Bicchi A, Burgard W (eds) Robotics research. Springer proceedings in advanced robotics. Springer, Cham, pp 459–476. https://doi. org/10.1007/978-3-319-51532-8_28 27. Di Castro M, Mulero D, Ferre M, Masi A (2017) A real-time reconfigurable collision avoidance system for robot manipulation. In Proceedings of the 3rd international conference on mechatronics and robotics engineering—ICMRE 2017, pp 6–10 28. Flacco F, Kroger T, De Luca A, Khatib O (2012) A depth space approach to human-robot collision avoidance. In: 2012 IEEE international conference on robotics and automation, Saint Paul, MN, USA, pp 338–345. https://doi.org/10.1109/ICRA.2012.6225245 29. Huang J, Pham D, Wang Y, Qu M, Ji C, Su S, Xu W, Liu Q, Zhou Z (2020) A case study in human–robot collaboration in the disassembly of press-fitted components. Proc Inst Mech Eng Part B, J Eng Manuf 234(3):654–664. https://doi.org/10.1177/0954405419883060 30. Willems B, Dewulf W, Duflou J (2006) Can large-scale disassembly be profitable? A linear programming approach to quantifying the turning point to make disassembly economically viable. Int J Prod Res 44(6):1125–1146 31. Ilgin M, Gupta S (2011) Recovery of sensor embedded washing machines using a multi-Kanban controlled disassembly line. Robot Comput Integr Manuf 27(2):318–334

Chapter 3

Product Representation for Disassembly Sequence Planning

3.1 Classification of Product Representations It is important to note that disassembly requires cognitive efforts (e.g., the recognition of products and the understanding of structures). The development of a computer’s cognitive capability relies on a good representation that can be compiled and interpreted using mathematical tools. This requires a disassembly robot to read and understand the structure of a product. One of the most natural ways to represent the contact information between components of a product is by using graphs [1]. Figure 3.1 shows an example product and its liaison graph. It is a solenoid valve containing 11 components (including the fasteners). Each node of the graph represents a component, while a line between two nodes indicates the contact of the two. Based on the idea of liaison graphs, researchers have proposed several types of matrices and graphs as the preliminaries of disassembly planning. These representations can be clarified as three categories, i.e., matrix representation, graph representation, hybrid representation, as shown in Table 3.1.

3.2 Matrix Representation 3.2.1 Interference Matrix An interference matrix indicates the interference relations between two components along one or more principal directions. For a product composed of n components E = {e1 , e2 , · · · , en }, the interference matrix in direction k is a square matrix of order n as defined in Eq. (3.1).

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2_3

27

28

3 Product Representation for Disassembly Sequence Planning

10

11 10 9

8

4

4-7

1

8

3 2

5 11 6

2

1

7

3

(a)

9

(b)

Fig. 3.1 A solenoid valve (a), and its liaison graph (b) [1]

Table 3.1 Typical representations of the product to be disassembled No.

Category

Name

References

1

Matrix

Interference matrix (IM)

Dini and Santochi [2] Huang and Huang [3]

2

Disassembly precedence matrix (DPM) (Static DPM & Dynamic DPM)

Güngör and Gupta [4] Tao et al. [5]

3

Immediate preceded matrix (IPM)

Kalayci and Gupta [6]

Task precedence diagram (TPD)

Prenting and Battaglin [7]

5

4

Graph

Joint precedence graph (JPG)

Ahmadi and Wurgaft [8]

6

AND/OR Graph (AOG)

De Mello and Sanderson [9]

7

Transformed AND/OR Graph (TAOG)

Koc et al. [10]

8

Connector-based precedence graph (CPG)

Tseng et al. [11]

9

Disassembly constraint graph (DCG)

Li et al. [12]

Component-fastener graph (CFG)

Zhang and Kuo [13]

11

Disassembly sequence structure graph (DSSG) with disassembly graph model (DGM)

Smith et al. [14]

12

Disassembly hybrid graph model (DHGM)

Zhang and Zhang [15]

13

Disassembly Petri net (DPN)

Zhou and Venkatesh [16] Guo et al. [17]

10

Hybrid



h11k h12k ⎢ h21k h22k ⎢ Hk = ⎢ . .. ⎣ .. . hn1k hn2k

··· ··· .. .

⎤ h1nk h2nk ⎥ ⎥ .. ⎥ . ⎦

· · · hnnk

(3.1)

3.2 Matrix Representation

29

Any hijk = 1 means that ei impedes ej in direction k, otherwise hijk = 0. As no component interferes with itself, hmmk , m ∈ [1, n] is 0. Therefore, an interference matrix containing direction information can be given as in Eq. (3.2). ⎡

h11x− h11x+ h11y− h11y+ h12x− h12x+ h12y− h12y+ ⎢ ⎢ h21x− h21x+ h21y− h21y+ h22x− h22x+ h22y− h22y+ ⎢ Hinteg = ⎢ . . ⎢ . . ⎣ . . hn1x− hn1x+ hn1y− hn1y+ hn2x− hn2x+ hn2y− hn2y+

⎤ · · · h1nx− h1nx+ h1ny− h1ny+ ⎥ · · · h2nx− h2nx+ h2ny− h2ny+ ⎥ ⎥ ⎥ . .. ⎥ . . ⎦ .

(3.2)

· · · hnnx− hnnx+ hnny− hnny+

The element hijx− hijx+ hijy− hijy+ is obtained respectively from matrices Hx− , Hx+ , Hy− , and Hy+ . Interference matrices may be automatically extracted from CAD models as illustrated in [18]. Huang et al. [3] proposed the use of the Boolean OR operator to check the precedence condition of components. Taking the product shown in Fig. 3.2a as an example, its original interference matrix with 4 directions, i.e., (X–, X+ , Y–, Y+ ), is given in Fig. 3.2b. By applying the OR operator to every row of the matrix elements, as in Fig. 3.2b, detachable components can be identified by ‘0’ results. Detachable components are then removed. This operation runs in iterations as shown in Fig. 3.2c–e, to generate feasible disassembly sequences. Another typical representation similar to an interference matrix is a disassembly precedence restriction matrix (DPRM) [19]. The DPRM is a symmetric matrix as defined in Eq. (3.3), where rij = 1 denotes that interference exists between components ai and aj ; otherwise, rij = 0. The DPRM does not give information about disassembly directions. x F1 y

C2

F3

C3

C1

F2

C1 C2 C3 F1 F2 F3

(a)

C1 C2 C3 F3

C1 0000 1001 1001 1011

C2 0110 0000 0110 0110

C3 0110 1001 0000 1011

(c)

C1 0000 1001 1001 1101 1011 1011

C2 0110 0000 0110 1101 1011 0110

C3 0110 1001 0000 0000 0000 1011

F1 1111 1111 0000 0000 0000 0000

F2 1111 1111 0000 0000 0000 0000

F3 1111 1001 1111 0000 0000 0000

OR 1111 1111 1111 1101 1011 1111

(b)

F3 1111 1001 1111 0000

OR 1111 1001 1111 1111

(d)

C1 C1 0000 C3 1001 F3 1011

C3 F3 OR 0110 1111 1111 0000 1111 1111 1011 0000 1011

C1 C3 OR C1 0000 0110 0110 C3 1001 0000 1001

(e)

Fig. 3.2 a An example product; b Interference matrix; c–e interference matrix update as the disassembly proceeds [3]

30

3 Product Representation for Disassembly Sequence Planning



r11 ⎢ r21 ⎢ R=⎢ . ⎣ ..

r12 r22 .. .

··· ··· .. .

⎤ r1n r2n ⎥ ⎥ .. ⎥ . ⎦

(3.3)

rn1 rn2 · · · rnn

3.2.2 Disassembly Precedence Matrix There are two types of disassembly precedence matrix (DPM): the static DPM and the dynamic DPM. The former was proposed by Güngör and Gupta in 2001. It can be obtained from a CAD model and a knowledge base [4]. The static DPM is a n × n matrix involving information about directions, as shown in Eq. (3.4). ⎡

q11 ⎢ q21 ⎢ Q=⎢ . ⎣ ..

q12 q22 .. .

··· ··· .. .

⎤ q1n q2n ⎥ ⎥ .. ⎥ . ⎦

(3.4)

qn1 qn2 · · · qnn

where qij = 1(d ) means part i obstructs partj in direction d; d can be in three dimensions: +x, −x, +y, −y, +z, −z; qij = 0 means that part i does not affect the removal of part j. A modified DPM mentioned in later references [20, 21] can be similar to an interference matrix. As the contact and precedence information may change during the disassembly process, the dynamic DPM was established by Tao et al. [5]. A dynamic DPM consists of four sub-matrices, CFM, FCM, CCM and FFM. Taking the product shown in Fig. 3.2a as an example, its dynamic DPM is given in Fig. 3.3. If some components and fasteners can be dismantled as a subassembly, the dynamic DPM will be divided into several sub-DPMs, each representing a new disassembly branch. The dynamic characteristic of this representation allows reductions in the computing space. This feature reduces the computing cost and the difficulty of searching for feasible solutions.

3.2.3 Immediate Preceded Matrix An immediate preceded matrix (IPM) [22] is built on the concept of disassembly operation/task rather than component/fastener. Therefore, the task precedence relations are shown by IPM [yij ]n×n , where yij equals to 1 if task i should be executed after task j, otherwise it is 0.

3.3 Graph Representation

31

Fig. 3.3 The dynamic disassembly precedence matrix of the product in Fig. 3.2a

3.3 Graph Representation 3.3.1 Task Precedence Diagram The task precedence diagram (TPD) was proposed with the aim of solving assembly/disassembly line balancing problems. Each node in the graph represents a task required in assembly/disassembly. Each arrow indicates the precedence relationship between the two nodes. An example TPD with ten disassembly tasks is given in Fig. 3.4. The advantages of the TPD are its simplicity and the elimination of redundancies [24]. As a task-based diagram, it can be regarded as the graph representation of an IPM and can derived from graphs such as an AND/OR graph. The topology of the TPD for the same product may vary due to different choices of disassembly tasks. Hence, it is usually applied to the assembly/disassembly of products with fixed tasks [10]. Fig. 3.4 A task precedence diagram [23]; the arrows connecting tasks 1–3 indicate that once task 1 is completed, tasks 2 and 3 can be executed concurrently

7

5

2 1

8

10

3 6 9 4

32

3 Product Representation for Disassembly Sequence Planning

3.3.2 Joint Precedence Graph The joint precedence graph (JPG) was initially presented by Ahmadi et al. [8]; it had the same structure as the TPD. It can be modified as described by Boysen et al. [25]. The JPG was originally used for assembly line balancing, which was validated by Riggs et al. [26]. A JPG is an acyclic graph composed of a TPD and a group of node weights. The weights represent the weighted average processing time of tasks. A JPG is denoted as G = (V, E, t) where the node set V contains all tasks required to disassemble a product; E describes the precedence relations; and the vector t represents the average processing times of tasks. In assembly line balancing, there are two methods to obtain the weights as summarised in [25]: model-mix-forecast and option-mix-forecast. Riggs et al. [26] adapted the model-mix method in disassembly line balancing problems. Each end-of-life (EOL) state of a product is a model variant with a certain probability, as shown in Eq. (3.5): ti =



pq tiq ∀i ∈ I

(3.5)

q∈Q

where Q is the total number of models; t iq represents the processing time of the ith task, i.e., node i, evaluated in the qth model; pq represents the weight of the qth model; and q∈Q pq = 1. Therefore, t i is the resultant average processing time of node i. When building a JPG, redundancies such as conflicting precedence relations may occur. Ahmadi et al. [8] proposed a method to eliminate the conflicts. Taking the automatic pen used in [26] as an example, the related models and the composite JPG are shown in Fig. 3.5. The arrows of the resultant graph are obtained by using Eq. (3.6). E=



Eq \{redundant arcs}

(3.6)

q∈Q

The redundant arrows in the above equation are defined as those that do not exist in the critical path of a process.

3.3.3 AND/OR Graph The AND/OR graph (AOG) was introduced by De Mello and Sanderson [9]. Nodes in the AOG indicate subassemblies and components. Their parent and child subassemblies or components are connected by arrows which represent disassembly tasks. An AOG of the sample product in Fig. 3.2a is given in Fig. 3.6.

3.3 Graph Representation

33

Fig. 3.5 The joint precedence graph for pen disassembly [26]

Fig. 3.6 Hyper-arc AND/OR graph of the product in Fig. 3.2a; a–d and d–f correspond to F1–F3 and C1–C3 respectively

A parent node can become two child nodes via a disassembly operation. It can be an AND-type or OR-type, as indicated by Fig. 3.6. The AOG enumerates all possible disassembly paths. One can traverse the graph to find the optimal disassembly sequence [27]. Enumerating all possible operations

34

3 Product Representation for Disassembly Sequence Planning

Fig. 3.7 TAOG for automatic pencil in [30]

manually can be difficult, making the AOG difficult to employ in practice. To accelerate the searching in a complex graph, Lambert [28] proposed using a hyper-arc (a pair of arcs) to avoid repeated searches.

3.3.4 Transformed AND/OR Graph The transformed AND/OR graph (TAOG) was introduced by Koc et al. [10]; it enumerates all possible disassembly tasks [29]. It is a more clear and efficient representation than the AOG in disassembly/assembly sequencing. There are two types of nodes in a TAOG: the artificial node and the normal node. The artificial node Ai represents a subassembly or a component; the normal node Bi represents disassembly operations. Taking the automatic pencil in [30] as an example, the TAOG is drawn in Fig. 3.7.

3.3.5 Connector-Based Precedence Graph The connector-based precedence graph (CPG) was originally proposed by Tseng et al. [11] to deal with assembly sequence planning. A connector represents a component or a subassembly and relevant assembly/disassembly information, such as disassembly directions, tools, and precedence constraints. A CPG has a start point representing the state in which all connectors are not assembled, and an end point where the product is fully assembled. An arrow between two connectors refers to their precedence relations. Considering the definition of connectors by Tseng et al. [11], a product can be decomposed into a set of connector-based elements. The detailed information of a

3.3 Graph Representation

35

connector is integrated in a data structure. The exploded view and CPG of a stapler [11] are given in Fig. 3.8 as an example.

3.3.6 Disassembly Constraint Graph The disassembly constraint graph (DCG) introduced by Li et al. [12] is also a typical graph representation to minimise model complexity and simplify the process of selective disassembly sequencing. A DCG is defined as M = {V, E, DE}; V is a node set representing the components and subassemblies; E is an undirected edge set containing disassembly contact constraints between components and the corresponding disassembly operations; DE is a directed edge set to represent precedence information between components. Li et al. [12] developed a method to identify non-contact adjacent nodes and subassemblies in a DCG. Taking the telephone handset model [12] as an example, a DCG representation is given in Fig. 3.9 and the components corresponding to node numbers are given in Table 3.2.

3.4 Hybrid Representation 3.4.1 Component-Fastener Graph The component-fastener graph, denoted as Gc = (V, E), was presented by Zhang and Kuo [13] to analyse both component-fastener assembly relationships and disassembly precedence relationships. Given the correct information, a component-fastener graph can be retrieved from a CAD model automatically. The required information includes the name of the components, the type of disassembly method and the connection relationship between two components [13]. The n components are labelled as {v1 , v2 , . . . , vn } in the vertex set V . The relations between these vertices are indicated as a set of lines E = {e1 , e2 , . . . , em } that connect two components, where m is the number of lines. All the component information needed is included in the vertex, such as its name, weight and material type. The fastener information is also contained in the sets. Then the adjacency matrix of Gc is introduced and defined in Eq. (3.7). ⎡

E1,1 E1,2 ⎢ E2,1 E2,2 ⎢ Ec = ⎢ . .. ⎣ .. . En,1 En,2

··· ··· .. .

⎤ E1,n E2,n ⎥ ⎥ .. ⎥ . ⎦

· · · En,n

(3.7)

36

3 Product Representation for Disassembly Sequence Planning

(a)

Fig. 3.8 Exploded views of a stapler (a), and its CPG (b) [11]. Three properties of connectors, assembly/disassembly direction, execution tool and precedence relations, are given

3.4 Hybrid Representation

37

Fig. 3.9 DCG representation of the telephone handset [12]

Table 3.2 Component numbering of the telephone handset [12]

Component number

Component name

Component number

Component name Wire

0

Front cover

8

1

Speaker

9

Key pad

2

Mainboard

10

Volume switch

3

Secondary board

11

Back cover

4

Power switch

12

Battery cover

5

Pulse tone switch

13

Battery

6

Radiation shield

14

Flex cable

7

Antenna



1, if the component i is connected with component j . 0, otherwise Another auxiliary matrix is the fastener matrix Fc in Eq. (3.8), showing the number of fasteners between the two components. Rather than using lines, this type of connection is represented by arrows.

where Ei,j =



F1,1 F1,2 ⎢ F2,1 F2,2 ⎢ Fc = ⎢ . .. ⎣ .. . Fn,1 Fn,2 where

··· ··· .. .

⎤ F1,n F2,n ⎥ ⎥ .. ⎥ . ⎦

· · · Fn,n

(3.8)

38

3 Product Representation for Disassembly Sequence Planning

Fi,j =

k, if the component i is connected with component j by k fasteners (k > 0) 0, otherwise

There are four steps to generate disassembly sequences from a component-fastener graph. The first step is to use the graph to analyse product assembly relationships. Secondly, using a cut-vertex search algorithm can decompose a product. It is then checked if the component is detachable through an evaluation of precedence relations. Finally, a disassembly tree and a disassembly sequence can be generated [13].

3.4.2 Disassembly Graph Model and Disassembly Sequence Structure Graph A disassembly graph model (DGM) usually contains nd (number of directions) nondirectional graphs. It is a tool that can be used to identify high-quality solutions [14]. However, the time complexity to identify all possible paths can be very high. To solve this problem, Smith et al. [14] introduced a new approach, the disassembly sequence structure graph (DSSG), based on a DGM. A DGM contains five matrices: a contact constraint matrix for components (CC); a motion constraint matrix for components (MC); a contact constraint matrix for fasteners (CF); a motion constraint matrix for fasteners (MF); and a projection matrix for components (PC). Each row in a CC contains components and fasteners. The CC for the product in Fig. 3.2a is given in Eq. (3.9). ⎡

⎤ 2, f2 0 0 2, f1 CC1 = ⎣ f2 0 0 f1 ⎦ f3 1 1 0

(3.9)

For the product in Fig. 3.2a, a CF has four rows representing disassembly directions +x, −x, +y, −y and one row shown by Eq. (3.10). ⎡ ⎤ 4 DF = ⎣ 1 ⎦ 1

(3.10)

Each row in the MC contains ‘first-level parts’, parts that intersect with the component’s projection in the four given directions in Eq. (3.11). An MF records the components that intersect with the fastener’s projection in the given directions as illustrated in Eq. (3.12). ⎤ 2, f1 f1 f2 2, f2 MC = ⎣ f1 1, f1 1, f2 f2 ⎦ 2 1 f3 , 1 f3 , 2 ⎡

(3.11)

3.4 Hybrid Representation

39

disassembly sequence

F1

F2 C2

F3

constraint-level parts constraints boundary components constraints

C3

target component

Fig. 3.10 DSSG of the product shown in Fig. 3.2a for target component C3



⎤ 0000 MF = ⎣ 0 0 0 0 ⎦ 2000

(3.12)

Each row in the PC records the number of blocking components in the given directions for each component, as shown in Eq. (3.13). ⎡

⎤ 2002 PC = ⎣ 0 2 2 0 ⎦ 1111

(3.13)

The DSSG is mainly used for selective disassembly. It is an inverted tree with a root node denoting target components and leaf nodes denoting components that impede the disassembly of a target component. The minimal number of components to be removed before the target component is contained in the DSSG. Taking the product in Fig. 3.2a as an example, if C3 is the target component, the corresponding DSSG is shown in Fig. 3.10.

3.4.3 Disassembly Hybrid Graph Model The disassembly hybrid graph model (DHGM) was proposed by Zhang and Zhang [15] to represent both mating contact and noncontact precedence relationships among components. A DHGM is denoted as G = {V, Ef , Efc , Ec }, where node set V contains the elementary disassembly units (components); Ef defines the contact constraints between components, which can be represented by a set of lines in Fig. 3.11; Efc denotes the precedence relations between two components, which can be seen as a set of arrows in Fig. 3.11. Dotted arrows in Ec define the priority relationships between two nodes. A DHGM of the sample product in Fig. 3.2a is shown in Fig. 3.11. Two constraint matrices, the relation matrix in Eq. (3.14) and the constraint matrix in Eq. (3.15), can be deduced from a DHGM. If a line or an arrow exists between part i and part j, mrij equals to 1, otherwise it is 0. If there is an arrow pointing from part i to part j (dotted and solid), mcij is −1, otherwise it is 0.

40

3 Product Representation for Disassembly Sequence Planning

Fig. 3.11 DHGM of sample product in Fig. 3.2a

C1 F1 F2 C2

C3

F3 ⎡

⎤ mr11 mr12 · · · mrn1 ⎢ mr21 mr22 · · · mrn2 ⎥ ⎢ ⎥ Mr = ⎢ . .. . . .. ⎥ ⎣ .. . . . ⎦ mrn1 mrn2 · · · mrnn ⎡ ⎤ mc11 mc12 · · · mcn1 ⎢ mc21 mc22 · · · mcn2 ⎥ ⎢ ⎥ Mcon = ⎢ . .. . . .. ⎥ ⎣ .. . . ⎦ .

(3.14)

(3.15)

mcn1 mcn2 · · · mcnn

The DHGM performs well in dealing with cooperative disassembly sequencing planning problems (CDSP). It can be used to generate disassembly sequences, based on a modified branch-and-bound algorithm proposed by Zhang and Zhang [15].

3.4.4 Disassembly Petri Net A disassembly Petri net (DPN) was designed by Guo et al. [17] based on the concept of a Petri net (PN). It was used to optimise selective disassembly sequences. The basic principles of a PN can be found in [16, 31]. A DPN refers to DPN = (S, T , I , O, M , c, τ, w), where S = {S0 , . . . , Sn } defines a set containing n disassembly parts (the number of components or subassemblies); T represents a set of transitions between two disassembly operations; I is an input function that defines a set of arrows from T to S; O is an output function defining arrows from S to T ; and M = {M0 , . . . , Mn } is a mark set. Each element Mi represents the number of tokens in place Si , i = 1, 2, . . . , n;c is the cost of disassembly

3.4 Hybrid Representation

41

operations; τ is the recycling/reuse value of S i ; w is a set of weight functions used in the transitions. A DPN of the sample product in Fig. 3.2a is shown in Fig. 3.12. Two matrices are also adopted in [17]. One of them is the precedence matrix U = [uij ] to describe the precedence relations. Each element of U is calculated by Eq. (3.16). uij =

1, if operation tj need to be performed after ti 0, otherwise

(3.16)

The other is a disassembly matrix D = [dij ] denoting the corresponding relations between disassembly units and operations in a DPN. Its elements can be obtained using Eq. (3.17).

Fig. 3.12 The disassembly Petri net of the sample product shown in Fig. 3.2a

42

3 Product Representation for Disassembly Sequence Planning

⎧ ⎨ 1, if disassembly unit si is obtained via operation tj dij = −1, if si is disassembled via tj ⎩ 0, otherwise

(3.17)

3.5 Transformation and Comparison Between Different Representations Twelve typical models of component relations have been introduced. They are able to provide essential information for solving disassembly optimisation problems such as disassembly sequence planning problem (DSPP) and disassembly line balancing problem (DLBP). This section aims at offering guidance on selecting suitable models. The features of the representations are summarised in Table 3.3. Although three major groups of models can be converted to one another, differences still exist. Matrix-based models (e.g., IM and DPM) are easier to extract automatically from digital sources (e.g., CAD); hybrid models like DHGM, DPN are more difficult to obtain, though they are more informative. A component-based model cannot be transformed directly to a task-based model without the definitions of the tasks and other necessary information. Apart from those based on either components or tasks, there are models based on both, such as AOG and TAOG. To replace repeated and intensive manual works, automatic generating methods are presented. For example, Zhang et al. [18] proposed an algorithm to generate improved IMs. The application of the discussed models is summarised in Table 3.4; N, T, D and C are the number of independent elements, tasks, operation directions and connectors, respectively. It can be seen that task-based models are mostly used in solving DLBP, and component-based models in solving DSPP. Therefore task-and-component-based models, AOG and TAOG, can be applied to both cases [32–34]. Space complexity refers to the computational storage that a model requires. The complexity of hybrid-based models is relatively high due to the required information. Those of AOG and DPN are uncertain because the complexity depends on the number of possible disassembly choices. All of the above models are capable of recording the disassembly state and online updates. There are three types of disassembly: complete disassembly, selective disassembly and partial disassembly. A majority of research works about the modelling of component relations are devoted to complete disassembly. Only a few methods (e.g., IM and DCG) can be applied to solving the two other problems. Not all parts of EOL products are valuable and reusable; thus, selective and partial disassembly should be paid more attention.

3.6 Summary

43

Table 3.3 Transformation relationship between different representations No. Category Name

Task-based model or component-based

Transformable Can be Can be from CAD transformed generated model? to from

1

IM

Component-based

YES

DPM

DPM, CPG, DCG, DHGM, DPN

2

DPM

Component-based

YES

IM

IM, CPG, DCG, DHGM, DPN

3

IPM

Task-based

NO

TPD

TPD, JPG, AOG, DPN

TPD

Task-based

NO

IPM

IPM, JPG, AOG, DPN

5

JPG

Task-based

NO

IPM, TPD

/

6

AOG

Task-and-component-based YES

TAOG

TAOG, DPN

7

TAOG

Task-and-component-based YES

AOG

AOG, DPN

8

CPG

Component-based

IM, DPM, CFG

CFG

4

Matrix

Graph

9

YES

DCG

Component-based

YES

IM, DPM

DHGM

CFG

Component-based

YES

CPG

CPG

11

DHGM Component-based

YES

IM, DPM, DCG

/

12

DPN

YES

IM, DPM, IPM, TPD, AOG, TAOG

/

10

Hybrid

Task- and component-based

3.6 Summary Most disassembly optimisation problems start with designing a mathematical representation that can describe component relations. This chapter has discussed and compared three major groups of component relation models: the matrix-based model, graph-based model and hybrid-based model.

44

3 Product Representation for Disassembly Sequence Planning

Table 3.4 Applications’ scenario and space complexity of different representations No.

Category

Name

Space (model) complexity

1

Matrix

IM

O(N2 D)

2

DPM

O(N2 D)

3

IPM

O(T2 )

TPD

O(T2 )

5

JPG

O(T2 )

6

AOG

Uncertain

7

TAOG

O[(2 N)2 ]

8

CPG

O(C2 )

9

DCG

O(N2 )

CFG

O(N2 )

11

DHGM

O(N2 )

12

DPN

Uncertain

4

10

Graph

Hybrid

Disassembly sequence planning √

Disassembly line balancing

√ √ √ √ √







√ √ √ √ √

References 1. Bourjault A (1984) Contribution à une approche méthodologique de l’assemblage automatisé: élaboration automatique des séquences opératoires. Université de Franche-Comté, Thèse D’état 2. Dini G, Santochi M (1992) Automated sequencing and subassembly detection in assembly planning. CIRP Ann—Manuf Technol 41(1):1–4 3. Huang Y, Huang C (2002) Disassembly matrix for disassembly process of products. Int J Prod Res 40(2):255–273 4. Güngör A, Gupta M (2001) Disassembly sequence plan generation using a branch-and-bound algorithm. Int J Prod Res 39(3):481–509 5. Tao F, Bi L, Zuo Y, Nee A (2018) Partial/parallel disassembly sequence planning for complex products. J Manuf Sci Eng 140(1) 6. Kalayci C, Gupta S (2014) Ant colony optimization for sequence-dependent disassembly line balancing problem. J Manuf Technol Manag 24(3):413–427 7. Prenting TO, Battaglin RM (1964) The precedence diagram: a tool for analysis in assembly line balancing. J Ind Eng XV(4):208–213 8. Ahmadi R, Wurgaft H (1994) Design for synchronized flow manufacturing. Manage Sci 40(11):1395–1578 9. De Mello L, Sanderson A (1990) AND/OR graph representation of assembly plans. IEEE Trans Robot Autom 6(2):188–199 10. Koc A, Sabuncuoglu I, Erel E (2009) Two exact formulations for disassembly line balancing problems with task precedence diagram construction using an AND/OR graph. IIE Trans 41(10):866–881 11. Tseng H, Li J, Chang Y (2004) Connector-based approach to assembly planning using a genetic algorithm. Int J Prod Res 42(11):2243–2261 12. Li J, Khoo L, Tor S (2005) An object-oriented intelligent disassembly sequence planner for maintenance. Elsevier Science Publishers B.V., 56(7):699–718 13. Zhang H, Kuo T (1997) A graph-based disassembly sequence planning for EOL product recycling. IEEE/CPMT Int 140–151 14. Smith S, Smith G, Chen W (2012) Disassembly sequence structure graphs: an optimal approach for multiple-target selective disassembly sequence planning. Adv Eng Inform 26(2):306–316

References

45

15. Zhang X, Zhang S (2010) Product cooperative disassembly sequence planning based on branchand-bound algorithm. Int J Adv Manuf Technol 51(9–12):1139–1147 16. Zhou M, Venkatesh K (1998) Modeling, simulation and control of flexible manufacturing systems: a Petri net approach. World Sci 6(3) 17. Guo X, Liu S, Zhou M, Tian G (2015) Disassembly sequence optimization for large-scale products with multiresource constraints using scatter search and Petri nets. IEEE Trans Cybern 46(22):2435–2446 18. Zhang W, Ma M, Li H, Yu J (2016) Generating interference matrices for automatic assembly sequence planning. Int J Adv Manuf 1–15 19. Xue J, Qian S, Zhang Y (2010) Disassembly sequence planning based on ant colony optimization algorithm. In: IEEE fifth international conference on bio-inspired computing: theories & applications, pp 1125–1129 20. Tseng Y, Yu F, Huang F (2011) A green assembly sequence planning model with a closed-loop assembly and disassembly sequence planning using a particle swarm optimization method. Int J Adv Manuf Technol 57(9–12):1183–1197 21. González B, Adenso-Díaz B (2006) A scatter search approach to the optimum disassembly sequence problem. Comput Oper Res 33(6):1776–1793 22. Kalayci C, Polat O (2014) A variable neighborhood search algorithm for disassembly lines. J Manuf Technol Manag 26(2) 23. Pinto PA, Dannenbring DG, Khumawala BM (1983) Assembly line balancing with processing alternatives: an application. Manage Sci 29(7):817–830 24. Lu M, Li H (2003) Resource-activity critical-path method for construction planning. J Construct Eng Manag 129(4) 25. Boysen N, Filedner M, Scholl A (2009) Assembly line balancing joint precedence graphs under high product variety. IIE Trans 41(3):183–193 26. Riggs RJ, Battaïa O, Hu SJ (2015) Disassembly line balancing under high variety of end of life states using a joint precedence graph approach. J Manuf Sys 37:638–648 27. Ghandi S, Masehian E (2015) Review and taxonomies of assembly and disassembly path planning problems and approaches. Comput Aided Des 67–68:58–86 28. Lambert AJD (1999) Linear programming in disassembly/clustering sequence generation. Comput Ind Eng 36(4):723–738 29. Huang HH, Wang MH, Johnson MR (2000) Disassembly sequence generation using a neural network approach. J Manuf Sys 19(2):73–82 30. Ma YS, Jun HB, Kim HW, Lee DH (2011) Disassembly process planning algorithms for end-oflife product recovery and environmentally conscious disposal. Int J Prod Res 49(23):7007–7027 31. Zhou MC, DiCesare F (1993) Petri net synthesis for discrete event control of manufacturing systems. Kluwer, Norwell, MA, USA 32. Altekin FT (2016) A piecewise linear model for stochastic disassembly line balancing. IFACPapersOnLine 49(12):932–937 33. Ren Y, Yu D, Zhang C, Tian G, Meng L, Zhou X. An improved gravitational search algorithm for profit-oriented partial disassembly line balancing problem. Int J Prod Res 55(24):7302–7316 34. Bentaha ML, Battaïa O, Dolgui A (2014) Disassembly line balancing and sequencing under uncertainty. Procedia CIRP 15:239–244

Chapter 4

Component and Subassembly Detection

4.1 Overview Unlike the case with the assembly of new products, the uncertainties involved in disassembly can be significant, due to product degradation [1–3]. Components can be worn-out, corroded, or even missing, creating unforeseen EOL conditions. Disassembly plans should address these uncertainties. There has been research into models representing the spatial condition of components (AND/OR graphs, interference matrices, and disassembly precedence graphs, etc.) based on CAD models [4–6]. Optimisation algorithms for allocating detachable components have also been studied, that search for feasible disassembly sequences and generate optimal robot movements [7–11]. However, previous research tends to assume that the spatial condition of a product (e.g., interference between components in a disassembly) is known and unchanged. Disassembly operations are therefore mostly predetermined. The execution of every operation is expected to be successful. Uncertainties in product conditions affect only disassembly time and the economic returns [12, 13]. A key capability needed in robotic disassembly is to recognise removable components and subassemblies automatically. This chapter introduces a two-pointer detection strategy to identify detachable subassemblies when components interlock. The computational complexity of the existing subassembly and removable component detection algorithm is O(Dn3 ), where D is the number of disassembly directions (i.e., the degree of freedom) and n denotes the total number of components in a product [14]. The detection strategy introduced in this section requires only O(Dn2 ), which enables real-time detection on a millisecond scale. The strategy solves a special problem in disassembly planning, interlocking, which may cause disassembly planning to fail.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2_4

47

48

4 Component and Subassembly Detection

4.2 Two-Pointer Detection Strategy Huang et al. [16] and Liu et al. [17] suggested using the Boolean OR operator to check every component i ∈ [1, n]. If ∀ j ∈ [1, n], Ii jd = 0 to identify directions in which the removal of the component is free from obstructions, i.e., the component is removable. However, components may interlock and only subassemblies are detachable (i.e., there is no removable component). Taking the product in Fig. 4.1 as an example, it shows the original interference matrix representing the interreference conditions in four directions, i.e., (X-, X + , Y-, Y + ). The product consists of five parts (namely C1–C5), three bolts (labelled as F1, F2, and F3), and one nut (i.e., F4). All of the parts and fasteners are regarded as components here. By using the OR operator, F1, F2, and F4 can be disassembled along Y-, X + , and Y-, respectively. If F1 and F2 have been removed and F4 fails to be disassembled, none of the remaining components is removable, as indicated in that all elements in the result of the OR operations are 1. However, the product can be separated into two subassemblies to continue the disassembly. There is an “interlocking problem” which requires the detection of subassemblies. To solve the problem, the OR operator can be replaced by a summation operator. In an interference matrix, the summation operator could be used to sum the elements in a row in each direction. The summation result defines the obstacles for a component in each direction. Based on this feature, the pseudocode of using the two-pointer strategy to detect detachable subassemblies and components is given in Algorithm 4.1.

4.2 Two-Pointer Detection Strategy

49

In the above pseudocode, Iid(add) represents the result of the summation operator for the component i in direction d (Steps 2 to 4). Di is the direction list of the (add) component i which records the least obstructed directions (Steps 5 to 10), Imin denotes the minimal sum result for all components (Step 12). A candidate list V is (add) then introduced to list the components whose number of obstacles equals to Imin (Steps 13 to 17). x F1

F4

y

C2 C4

C3

C1

F3

F2

C1 C2 C3 C4 F1 F2 F3 F4

C1 0000 1001 1001 1001 1101 1011 1011 0001

C2 0110 0000 0110 1110 1101 1011 0110 0001

Fig. 4.1 Example of a product to be disassembled

C3 0110 1001 0000 0001 0000 0000 1011 0001

C4 0110 1101 0010 0000 0100 0000 0010 1101

F1 1111 1111 0000 1000 0000 0000 0010 1000

F2 1111 1111 0000 0000 0000 0000 0000 0000

F3 1111 1001 1111 0001 0001 0000 0000 0001

F4 0010 0010 0010 1111 0100 0000 0010 0000

1111 1111 1111 1111 1101 1011 1111 1101

50

4 Component and Subassembly Detection

A subassembly can be detected by looking for ‘interference loops’, as demonstrated by Ong et al. [15]. Steps 18–42 are designed to identify the biggest loop. To minimise the checking steps, the element v which has the shortest direction list in V is adopted as the initial element for loop detection (Step 19). With a randomly selected direction (Step 21), an incremental list P is defined (Steps 22 and 23). In the beginning, P contains an element pk = v, k = 1. More elements are in P by adding the obstacles to pk one by one. If an obstacle has been in P but is discovered again (marked by q), it indicates that a loop exists (Steps 26 and 30). To find the maximum loop, all possible obstacles to the current pointer k are checked (Steps 32–34). The term ‘k reaches the last item of P’ in Step 32 means that all of the further obstacles to the current pointer k are included in the loop between q and k. The other condition ‘|P| = n’ indicates that all components are interlocked. If either condition is satisfied, the detection stops, and the maximum interference loop between the two pointers is found. Finally, if the last item of P is not a failed component and the selected d is not a failed direction, a subassembly is found. The failed component may be included in a subassembly without forming a loop. To avoid this mistake, the conditions in Step 37 are used to label the components within an interference loop in which the elements can be deleted from the candidate list V (Steps 37–39). To demonstrate the above process, the product shown in Fig. 4.1 is used as an example. It assumes that F1 and F2 have been removed and the removal of F4 has failed. The interference matrix and the output of the summation operator (Steps 1–17) are shown in Eq. (4.1). (add) = 1, while the candidate list is V = The minimal sum result is Imin {C1, C2, F3}. F3 with the shortest direction list D F3 = {2} is put in P and thus d = 2. The following iterations are shown in Eq. (4.2). As the sum of the second direction for the failed component is not 0, the second to the fourth components of P, i.e., {C2, C4, F4}, form a subassembly. ⎡ C1 0000 C2 ⎢ ⎢ 1001 ⎢ C3 ⎢ 1001 ⎢ C4 ⎢ 1001 ⎢ F3 ⎣ 1011 F4 0001

0110 0000 0110 1110 0110 0001

0110 1001 0000 0001 1011 0001

0110 1101 0010 0000 0010 1101

1111 1001 1111 0001 0000 0001

⎤ 0010 0010 ⎥ ⎥ ⎥ 0010 ⎥ AD D ⎥ ⇒ 1111 ⎥ ⎥ 0010 ⎦ 0000

1451 4114 2242 3224 2152 11-05

k = 1, pk = F3,P = {F3} ⇒ P = {F3, C2}, q = n k = 2, pk = C2,P = {F3, C2} ⇒ P = {F3, C2, C4}, q = n k = 3, pk = C4,P = {F3, C2, C4} ⇒ P = {F3, C2, C4, F4}, q = 2 k = 4, pk = F4,P = {F3, C2, C4, F4} ⇒ P = {F3, C2, C4, F4}, q = 2

(4.1)

(4.2)

C1 is then put in a new P from V. Its direction list is DC1 = {1, 4}. It assumes a direction d = 1 is selected at random. The next iteration is shown in Eq. (4.3). The

4.2 Two-Pointer Detection Strategy

51

first to the third components of P, i.e., {C1, F3, C3}, form another subassembly. The same deduction can be obtained if d = 4 is chosen. k = 1, pk = C1,P = {C1} ⇒ P = {C1, F3}, q = n k = 2, pk = C1,P = {C1, F3} ⇒ P = {C1, F3, C3}, q = 1

(4.3)

k = 3, pk = C3,P = {C1, F3, C3} ⇒ P = {C1, F3, C3}, q = 1 If all components are covered in the above subassemblies, the detection stops. The above steps are illustrated in Fig. 4.2. It should be noted that the two-pointer strategy does not ensure finding all subassemblies at once as the EOL state of a product can change dynamically. If one or more subassemblies are detected, the interlock can be resolved, and further disassembly can continue. The complete procedure to identify removable components and subassemblies is summarised in Fig. 4.3. As P can contain at most n components, the time complexity of the checking process (steps 24–36) using the proposed strategy is O(n). Assuming that all of the components are put into the candidate list and all of their direction lists contain

The 1st direction

F3

C2

C4

The 2nd direction

F4

C1

F3

Subassembly

C3

Subassembly

Fig. 4.2 The process of detecting detachable subassemblies for the instance shown in Fig. 4.1

Fig. 4.3 Procedure for detecting detachable components and subassemblies

Start Perform ADD operator on the interference matrix Yes

If the minimal sum is 0

Find detachable components

No

No

Find detachable subassemblies

If detachable elements are found Yes Remove the detachable elements and update the interference matrix End

52

4 Component and Subassembly Detection

D elements (i.e., all directions are considered), the time complexity of the twopointer strategy is O(Dn 2 ). Therefore, the time complexity of the proposed strategy is reduced to O(n 2 ). Besides, the storage space used by P, V and Di , i ∈ [1, n] is (D +2)n in total. Therefore, the storage space complexity of the two-pointer strategy is O(n). After the detection, the product shown in Fig. 4.1 can be separated into two subassemblies. The interference matrix is then changed to Eq. (4.4); F3 is released as a removable component, so are C1 and C3 in the next step; C2, C4, and F4 are still interlocked and cannot be further disassembled. ⎤ ⎡ 00000-1-1001100-1-10111100-10 1221 C1 ⎢ -100-10000-100-11101-100-10010⎥ ⎥ 1112 C2 ⎢ ⎥ ⎢ 10010-1-10000000-10111100-10⎥ AD D 2112 C3 ⎢ ⎥ ⇒ ⎢ (4.4) 2221 C4 ⎢ 100-11110000-10000000-11111⎥ ⎥ ⎢ -⎥ 2022 F3 ⎢ ⎣ 10110-1-10101100-10000000-10⎦ 1182 F4 000-10001000-11101000-10000 The layered candidate set for disassembly re-planning after the failed operation on F4 is represented in Eq. (4.5): {C1, C3, F3} ◦ [X − |Y +], {C2, C4, F4} ◦ [X + |Y −] 

Swappable

, F3 ◦ [X +], C1 ◦ [X + |Y −], C3 ◦ [X − |Y +] 



(4.5)

Swappable

where the terms in the square brackets represent possible disassembly directions for the corresponding component or subassembly. ‘Swappable’ means the order of the detachable candidates can be modified to form a new sequence. The precedence constraints are hence included in the candidate set outside the swappable parts. This layered candidate set can be represented by S as shown in Eq. (4.6): S = {S1 |S2 | · · · |Sl } = {E 1 ◦ d1 , · · · , E b1 ◦ db1 |E b1 +1 ◦ db1 +1 , · · · , E b2 ◦ db2 | · · · E bl−1 +1 ◦ dbl−1 +1 , · · · , E m ◦ dm |}

(4.6)

where Si = E i ◦ di , i ∈ [1, m] represents a removable element E i and the available direction list di from which E i can be removed. The size of di satisfies 0 < |di | < D. A boundary list b = {b1 , b2 , · · · , bl−1 } indicates the endpoint of each layer. For a complete disassembly, the optimal orders of the swappable parts to be disassembled are the main optimisation variables. For a selective disassembly, the required components and their obstructions should be identified and disassembled in a specific sequence.

4.3 Performance Analysis of the Two-Pointer Strategy

53

4.3 Performance Analysis of the Two-Pointer Strategy The performance of the proposed two-pointer detection strategy is examined using three products. The first (named Product A) has been given in Fig. 4.1. The other two products are shown in Fig. 4.4a and b. The second product (namely Product B) is introduced from [18], while the third one (namely Product C) is an engine piston. Six directions, i.e., (X-, X + , Y-, Y + , Z-, Z + ) are considered to disassemble the Products B and C. Three typical failures are introduced for each product. Therefore, nine cases can be formulated in total. In each case, the detection result obtained by using the two-pointer strategy and its execution time are recorded. All of the experiments are programmed by using C ++ on an Xcode v6.1.1 platform and carried out on a PC with 2.3 GHz Intel Core I7 CPU, 8 GB 1600 MHz DDR3 memory. As the re-planning algorithms to be tested are non-deterministic, each algorithm runs 20 times. To simplify the solution representation, the components and directions are encoded as shown in Table 4.1. The detection results using the process in Fig. 4.3 for the nine failure cases are illustrated in Table 4.2: where < *> defines a layer which contains one or more removable elements and their possible disassembly directions; x ◦ [y] represents a removable element, in which x can be a component or a subassembly and y stands for a set of possible disassembly directions. A subassembly is indicated by a brace {*} and a direction set is further represented by using square brackets [*]. Taking the first failure case of Product A as an example, the detection result 5 ◦ [3], 8 ◦ [3], {2, 6, 1, 3, 4, 7} [1, 2, 3, 4] means that components 5 and 8 are disassembled in the

(a) Product B [18]

(b) Product C

Fig. 4.4 Two typical products: B [18], and C, used to validate the methods proposed in this chapter

1

Direction

Code

i

– X

1

Code

Direction

Code

A1

1

– X

1

Component

Code

Direction

Code

Product C

No. i

Component

Product B

1

– X

Code

C1

Component

Product A

2

A2

2

C2

3

B

2

+X

2

+X

4

C1

2

+X

3

C3

5

C2

3

– Y

6

D

3

– Y

4

C4

7

E1 8

E2

Table 4.1 The encoding list of the components and directions for the three products

4

+Y

4

+Y

3

– Y

5

F1

9

F

10

G

6

F2

5

– Z

11

H1

5

– Z

12

H2

4

+Y

7

F3

13

H3

6

+Z

6

+Z

14

H4

7

F4

15

H5

54 4 Component and Subassembly Detection

15

4

12, 18

5

6

7, 8

3

4

8

2

B

6

1

A

Non-detachable components

No.

Product

0.080

5 ◦ [3], 6 ◦ [2], {1, 7, 3} ◦ [1, 4], {2, 4, 8} ◦ [2, 3]

11 ◦ [5], 12 ◦ [5], 18 ◦ [0], 19 ◦ [5], , 7 ◦ [5], 8 ◦ [5], 17 ◦ [1], 4 ◦ [5], 20 ◦ [5], 21 ◦ [5], 22 ◦ [5]



2 ◦ [5], 3 ◦ [5], {2, 9, 1, 5, 3, 10, 6} ◦ [3, 4, 5], , , 9 ◦ [6], 10 ◦ [6], 5 ◦ [6], 6 ◦ [6] {16, 15, 13, 14} ◦ [3, 4, 6]

9 ◦ [6], 10 ◦ [6], 5 ◦ [6], 6 ◦ [6], 1 ◦ [6], 2 ◦ [6]

5 ◦ [6], 6 ◦ [6], 1 ◦ [6], 2 ◦ [6], 3 ◦ [6]



11 ◦ [5], 19 ◦ [5], 20 ◦ [5], {9, 2, 1, 4, 5, 3, 6, 8, 10, 12} ◦ [3, 4, 5], , 7 ◦ [5], , 21 ◦ [5], 22 ◦ [5] {16, 15, 13, 14, 17, 18} ◦ [3, 4]

16 ◦ [2, 3, 4, 5, 6], 14 ◦ [2, 3, 4, 5, 6], 13 ◦ [3, 4, 6], 9 ◦ [6], 10 ◦ [6],

20 ◦ [5], 21 ◦ [5], 22 ◦ [5]

, 7 ◦ [5], 8 ◦ [5], 17 ◦ [1], 15 ◦ [2],

0.088

5 ◦ [3], 6 ◦ [2], {1, 7, 3} ◦ [1, 4], {2, 4, 8} ◦ [2, 3], 7 ◦ [2], 1 ◦ [1, 4], 3 ◦ [2, 3]

1 ◦ [1, 2, 3, 4, 5, 6]

11 ◦ [5], 12 ◦ [5], 18 ◦ [0], 19 ◦ [5],

0.076

5 ◦ [3], 8 ◦ [3], {2, 6, 1, 3, 4, 7} ◦ [1, 2, 3, 4]

(continued)

0.448

0.257

0.314

Time (ms)

The detection result

Table 4.2 Detection results of the two-pointer strategy for the nine cases on three kinds of EOL products

4.3 Performance Analysis of the Two-Pointer Strategy 55

1

13

4, 9

7

8

9

C

Non-detachable components

No.

Product

Table 4.2 (continued)

0.18

15 ◦ [6], 10 ◦ [6], {4, 3, 1, 6, 5} ◦ [1, 2, 3, 4, 5, 6]





1 ◦ [5], 2 ◦ [5], 7 ◦ [4], 9 ◦ [3, 4], {5, 6, 10, 13, 14, 15} ◦ [1, 2, 3, 4, 6], , , , 8 ◦ [3], 11 ◦ [6] 12 ◦ [6] {3, 4} ◦ [1, 2, 3, 4, 5]

{10, 9, 6, 5} ◦ [1, 2, 3, 4, 6], {4, 3} ◦ [1, 2, 3, 4, 5], 5 ◦ [5]

1 ◦ [5], 2 ◦ [5], 7 ◦ [4], 8 ◦ [3], 11 ◦ [6], 12 ◦ [6], 13 ◦ [6], 14 ◦ [6], 15 ◦ [6],

0.184 ara>

0.169

2 ◦ [5], 7 ◦ [4], 8 ◦ [3], 11 ◦ [6], 9 ◦ [3, 4], 12 ◦ [6], 13 ◦ [6], 14 ◦ [6],

4 ◦ [6], 5 ◦ [5], 3 ◦ [1, 2, 3, 4, 5, 6], 6 ◦ [5]

Time (ms)

The detection result

56 4 Component and Subassembly Detection

4.3 Performance Analysis of the Two-Pointer Strategy

57

third direction at the first round and components 2, 6, 1, 3, 4, and 7 are grouped as a subassembly which can be removed only as a whole in all of the four directions. If the non-detachable components are known, the two-pointer strategy can be used to generate a layered candidate set for offline disassembly sequence planning. Similarly, if one or more failures are found online, the strategy will provide a layered set of removable components and subassemblies for the remaining part of a product. The execution time of the two-pointer strategy in the nine cases is no more than 1 ms. It depends on not only the number of components to be detected, but also on the size of subassemblies and the number of layers required. As shown in Table 4.2, the two-pointer strategy takes at most 0.448 ms in the 6th case, in which there are two subassemblies which contain ten components and six components, respectively.

4.4 Summary This chapter has discussed the need for component and subassembly detection for robotic disassembly and has introduced a two-pointer detection strategy to find removable components and subassemblies online during disassembly. The strategy has been shown to be quick and simple to use for disassembly sequence planning and replanning. Only an interference matrix is required at the beginning. It is applicable to not only complete disassembly, but also selective and partial disassembly. The strategy solves a special problem in disassembly planning, interlocking, which may cause disassembly planning to fail.

References 1. Ilgin MA, Gupta SM (2010) Environmentally conscious manufacturing and product recovery (ECMPRO): a review of the state of the art. J Environ Manag 91(3):563–591 2. Lambert AJD (2003) Disassembly sequencing: a survey. Int J Prod Res 41(16):3721–3759 3. Riggs RJ, Battaïa O, Hu SJ (2015) Disassembly line balancing under high variety of end of life states using a joint precedence graph approach. J Manuf Syst 37:638–648 4. De Mello LSH, Sanderson AC (1990) AND/OR graph representation of assembly plans. IEEE Trans Robot Autom 6(2):188–199 5. Jin GQ, Li WD, Xia K (2013) Disassembly matrix for liquid crystal displays televisions. Procedia CIRP 11:357–362 6. Güngör A, Gupta SM (2001) Disassembly sequence plan generation using a branch-and-bound algorithm. Int J Prod Res 39(3):481–509 7. Tao F, Bi L, Zuo Y, Nee AYC (2018) Partial/parallel disassembly sequence planning for complex products. J Manuf Sci Eng 140(1):011016 8. Zhu B, Sarigecili MI, Roy U (2013) Disassembly information model incorporating dynamic capabilities for disassembly sequence generation. Robot Comput Integr Manuf 29(5):396–409 9. Tseng HE, Chang CC, Lee SC, Huang YM (2018) A Block-based genetic algorithm for disassembly sequence planning. Expert Syst Appl 96:492–505 10. Friedrich C, Csiszar A, Lechler A, Verl A (2018) Efficient task and path planning for maintenance automation using a robot system. IEEE Trans Autom Sci Eng 15(3):1205–1215. https:// doi.org/10.1109/TASE.2017.2759814

58

4 Component and Subassembly Detection

11. Vongbunyong S, Kara S, Pagnucco M (2015) Learning and revision in cognitive robotics disassembly automation. Robot Comput Integr Manuf 34:79–94 12. Kroll E, Carver BS (1999) Disassembly analysis through time estimation and other metrics. Robot Comput Integr Manuf 15(3):191–200 13. Kim HW, Park C, Lee DH (2018) Selective disassembly sequencing with random operation times in parallel disassembly environment. Int J Prod Res 56(24):7243–7257 14. Dini G, Santochi M (1992) Automated sequencing and subassembly detection in assembly planning. CIRP Ann 41(1):1–4 15. Ong NS, Wong YC (1999) Automatic subassembly detection from a product model for disassembly sequence generation. Int J Adv Manuf Technol 15(6):425–431 16. Huang YM, Huang CT (2002) Disassembly matrix for disassembly processes of products. Int J Prod Res 40(2):255–273 17. Liu J, Zhou Z, Pham DT, Xu W, Ji C, Liu Q (2018) Robotic disassembly sequence planning using enhanced discrete Bees Algorithm in remanufacturing. Int J Prod Res 56(8):3134–3151 18. Kheder M, Trigui M, Aifaoui N (2017) Optimization of disassembly sequence planning for preventive maintenance. Int J Adv Manuf Technol 90(5–8):1337–1349

Chapter 5

Modelling of Robotic Disassembly Sequence Planning

5.1 Preliminaries The process of disassembly is a sequence of operations. Every operation contains a series of motions to remove a component or a subassembly. The order of these operations affects the disassembly time, cost, revenue and environmental impact. A disassembly plan with an optimised sequence can significantly increase robotic disassembly efficiency. According to the definition of the degree of disassembly, disassembly sequence planning has three categories: complete disassembly, partial disassembly, and selective disassembly. Complete disassembly is to remove all components of a product [1, 2]; and selective disassembly and partial disassembly extract some of the components [3, 4]. The main difference between partial disassembly and selective disassembly is that the former focuses on disassembly levels with an aim to achieve certain objectives, such as efficiency or profitability, while the latter aims to retrieve particular components [5, 6]. A typical robotic disassembly process may follow seven basic principles: (a) (b) (c) (d) (e) (f) (g)

Each robotic operation removes a component or a subassembly, nondestructively or destructively. Each operation is carried out by a tool or a manipulator with a translational movement along a principal direction. Motions have a constant speed. When a disassembly operation fails, the robot will stop. If the robot stops because of a failure, human assistance is required. The time of a disassembly operation is either a constant or a variable complying with a fixed distribution. The time to change directions or tools is constant.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2_5

59

60

5 Modelling of Robotic Disassembly Sequence Planning

Most of the existing research has modelled the process by assuming that a robot can recognise the condition of a product and every disassembly operation is successful. Some may also use the following assumptions: (1) (2)

Each component can be dismounted independently. No additional operation is required for dismantling subassemblies. Product deformation affects only the disassembly time.

Much research has been carried out based on these assumptions, but many studies may have been too ambitious and tend to overestimate the capability of automation technologies. Due to the complexity of robotic motions, the time needed for disassembling a component, performing direction changes and tool changes, and for human-robot collaboration can be hard to estimate. This section discusses the mathematical models of disassembly sequence planning and explains the use of different assumptions.

5.2 Mathematical Representation 5.2.1 Decision Variables The main elements of disassembly sequence planning models are given in Fig. 5.1. It is worth noting that partial disassembly and selective disassembly use two variables that are not in complete disassembly, namely the number of operations k and the number of components l. Assumption (1) indicates there are at most k = n operations to disassemble a product of n components. The number of operations for selective disassembly or partial disassembly is the number of components to be disassembled, i.e., k = l.

Fig. 5.1 Possible decision variables of sequence planning for robotic disassembly

5.2 Mathematical Representation

61

However, component interlocks exist in many products; additional operations are required to separate a product into subassemblies to continue disassembly. Hence, Assumption (1) is incorrect, and the number of operations can be greater than the number of components, i.e., n ≤ k. This also applies to selective and partial disassembly. i.e.l ≤ n ≤ k. If a task-based production representation is adopted, its key variable is the order of the disassembly operations xo = {xo,1 , · · · , xo,k }; xo can be a sequence of k operations to remove n components completely, or a subset of operations that remove l components. Component-based product representation provides only the interference relationships of components. Early research in the field assumed that a disassembly plan based on a component-based product representation was the order of elements to be dismantled, i.e., x = {x1 , · · · , xk }, k ≥ n. Each element of a plan corresponds to an operation with a fixed direction and tool. However, components can be removed from several directions. There may be several optional disassembly tools available. Therefore, disassembly direction and tool, i.e., xd = {xd,1 , · · · , xd,k }, k ≥ n and xt = {xt,1 , · · · , xt,k }, k ≥ n, are also variables of the optimisations. A disassembly sequence plan contains the order of elements to be disassembled x = {x1 , · · · , xk }, k ≥ n and the corresponding disassembly operations xo = {xo,1 , · · · , xo,k }, k ≥ n, the directions of the corresponding disassembly operations xd = {xd,1 , · · · , xd,k }, k ≥ n, and the disassembly tools xt = {xt,1 , · · · , xt,k }, k ≥ n. These definitions are made based on principles a) to c). A component xi , i ∈ [1, k] is removed along a primary direction xd.i , i ∈ [1, k] by a tool xt,i , i ∈ [1, k]. It is worth noting that a product’s deformations can be very complex and can affect not only disassembly time but also operations, directions, tools, etc. Therefore, Assumption (2) is not adopted in the optimisation. To increase the success rate of a disassembly plan, backup actions xr = {xr,1 , · · · , xr,k } are introduced in the case where the original operation is failed. A unique backup is defined as a Boolean number for each operation. If there are several backup options, xr,i , i ∈ [1, k] denotes the selection from the options.

5.2.2 Objectives Table 5.1 demonstrates the main objectives of disassembly sequence planning studied in some previous research [7]. (1)

Disassembly time T

The total time to execute a disassembly sequence is the summation of operation times, the direction-change times and tool-change times, the moving time between different disassembly points, the adjusting times, and possible failure recovery times, as defined in Table 5.1. The total time can be calculated by Eq. (5.1).

62

5 Modelling of Robotic Disassembly Sequence Planning

Table 5.1 The main objectives of robotic disassembly sequence planning Objective

Metric

Description

Notation

Disassembly time

Operational time

Time of a disassembly operation

To (xo,i ),

T (xi ), i ∈ [1, k]

i ∈ [1, k]

Direction-change time

Time required to change the Td (xd,i , xd, j ), direction of a motion during i, j ∈ [1, k] disassembly

Tool-change time

Time required for changing a tool

Moving time

Adjusting time

Time for a point-to-point movement Extra time required in the cases of geometric and process complexity

Recovery time

Extra time for recovering from a failed operation

Disassembly cost

Operation number

The total number of operations

C(xi ), i ∈ [1, k]

Tooling cost

Cost of tooling for disassembly operations

Labour cost

Maintenance type

Cost of labour for manual disassembly operations

Tt (xt,i , xt, j ), i, j ∈ [1, k] Tm (xi , x j ), i, j ∈ [1, k] Ta (xi ), i ∈ [1, k] Tr (xr,i ), i ∈ [1, k] k Ct (xo,i ), i ∈ [1, k] C h (xo,i ), i ∈ [1, k] M(xi ),

Type of maintenance required (no maintenance, corrective maintenance or preventive maintenance)

i ∈ [1, k]

Mean time to repair (MTTR)

Mean time to repair an element which has been disassembled

i ∈ [1, k]

Disassembly revenue

Component number

Total number of components dismantled

l

R(xi ), i ∈ [1, k]

Reusable value

Reusable value of a component

Ru (xi ),

TM T T R (xi ),

i ∈ [1, k]

Recycling value

Recycling value of a broken Rc (xi ), component i ∈ [1, k]

Profit probability

Profit probability of a component

Ppr o f it (xi ), i ∈ [1, k] (continued)

5.2 Mathematical Representation

63

Table 5.1 (continued) Objective

Metric

Environmental impact

Component pollution Effect of an element on the environment

E(xi ), i ∈ [1, k]

Operation pollution

Q

Reliability

T =

k 

Description

Effect of a disassembly operation on the environment The failure probability of a disassembly operation

Notation E c (xi ), i ∈ [1, k] E o (xo,i ), i ∈ [1, k] P f (xo,i ), i ∈ [1, k]

T (xi )

i=1

= To (xo,1 ) + Ta (x1 ) + P f (xo,1 )Tr (xr,1 )   k  To (xo,i ) + Td (xd,i−1 , xd,i ) + Tt (xt,i−1 , xt,i ) + +Tm (xi−1 , xi ) + Ta (xi ) + P f (xo,i )Tr (xr,i ) i=2

(5.1)

where T (xi ), i ∈ [1, k] is the disassembly time for xi . According to principles f) and g), the time of each term in Eq. (5.1) can be simplified to be an estimated constant. (2)

Disassembly cost

The total cost consists of the tooling cost, the labour cost, and the repair and maintenance cost for each element, as given in Eq. (5.2). C=

k 

C(xi )

i=1 k    = Ct (xo,i ) + C h (xo,i ) + C M M(xi ) + C M T T R (xi )TM T T R (xi )

(5.2)

i=1

where C M is a maintenance coefficient that determines the average maximum maintenance cost; and C M T T R (xi ) is the average repair cost per time for element x i . (3)

Disassembly revenue

The disassembly revenue comes from the components which have been dismantled. The value of a component is determined by its condition. Given the uncertain EOL state of a disassembled component, a profit probability is used to represent the value of a component.

64

5 Modelling of Robotic Disassembly Sequence Planning

Here a Boolean vector xb = {xb,1 , · · · , xb,k } is used to distinguish components and subassemblies in a disassembly sequence. That is to say, if the ith element of x = {x1 , · · · , xk } is a component, the corresponding element in xb satisfies xb,i = 1. If xi is a subassembly, then xb,i = 0. A Boolean vector xs = {xs,1 , · · · , xs,k } is also defined to label a salvaged component and a damaged component. If x1 is a component and can be salvaged, then xs,i = 1. Otherwise, xs,i = 0. With the two definitions, the total revenue based on a disassembly sequence is formulated by Eq. (5.3). R=

k 

R(xi )

i=1

=

k  



xb,i xs,i Ppr o f it (xi )Ru (xi ) + (1 − xs,i )Rc (xi )



(5.3)

i=1

(4)

Environmental impact

The environmental impact of disassembly can be assessed by the amount of generated pollution, such as CO2 , and toxic waste. The total environmental impact can be quantified by Eq. (5.4). E=

k  

E c (xi ) + E o (xo,i )



i=1

=

k  i=1

E c (xi ) +

k 

(5.4) E o (xo,i )

i=1

where E c (xi ), i ∈ [1, k] and E o (xo,i ), i ∈ [1, k] are defined in Table 5.1. k E c (xi ), is In the case of a complete disassembly, the first term of Eq. (5.5), i=1 constant. If there is only one fixed operation to disassemble xi ∈ [1, k], the second term of Eq. (5.5) is also constant. For partial disassembly and selective disassembly, the length of a sequence determines the number of components to be disassembled, and the types kThe overall component k of operations for removing the components. E c (xi ) and the overall operation pollution i=1 E o (xo,i ) will change pollution i=1 according to different partial or selective disassembly sequence plans. (5)

Other objectives

There are other objectives that have been considered in disassembly sequence planning, such as reliability [8, 9]. Reliability refers to the failure probability of a disassembly process. These other objectives can be considered together by using a weighted summation method as shown in Eq. (5.5).

5.2 Mathematical Representation

65

Table 5.2 The main constraints of robotic disassembly sequence planning Constraints

Description

Interference constraint

A component should be removed without interfering with other components

Movement constraint

A robotic motion is within a range defined by lateral and rotational thresholds

Q=

k    1 − P f (xo,i )

(5.5)

i=1

5.2.3 Constraints A feasible disassembly sequence means all operations are carried out within the motion range of the assigned robotic manipulator while components and subassemblies can be properly dismantled. Therefore, there are two constraints for robotic disassembly sequence planning, as shown in Table 5.2. The interference constraint can be represented by the matrices and graphs illustrated in Chap. 3. Using the interference matrix as an example, the variables of the planning optimisation x = {x1 , · · · , xk } and xd = {xd,1 , · · · , xd,k } are subject to Eq. (5.6). Hxd,i (xi , x j ) = 0, ∀ j ∈ [i + 1, k]

(5.6)

It means that a component that is dismantled after x i does not interfere with x i in direction xd,i . The second constraint is defined by the type and capability of the employed robot. For simplicity, a distance threshold Dmax and an angle threshold ∂max are defined: x = {x1 , · · · , xk } and xd = {xd,1 , · · · , xd,k } subject to Eqs. (5.7) and (5.8). D(xi , xi+1 ) ≤ Dmax , ∀i ∈ [1, k)

(5.7)

∂(xd,i , xd,i+1 ) ≤ ∂max , ∀i ∈ [1, k) and xt,i = xt,i+1

(5.8)

In Eq. (5.7), D(xi , xi+1 ) defines the distance between the xi and xi+1 . In Eq. (5.8), ∂(xd,i , xd,i+1 ) denotes the angle of rotation between xd,i and xd,i+1 when the tools for dismantling xi and xi+1 are the same. When the tools are not the same, the robot will need to change tools between xi and xi+1 . Equation (5.8) applies when a tool change is not needed.

66

5 Modelling of Robotic Disassembly Sequence Planning

5.3 Uncertainties in Robotic Disassembly Industrial automation is usually applied to the tasks that have repetitive motions. In the case of uncertain processes, failures may happen. There are four possible approaches to increase the flexibility of industrial automation. (1)

Optional operations

The dismantling of a component can use different operations, as introduced in Sect. 4.2.1. For example, a peg in a hole can be removed by pulling or pulling with a rotation. Each operation has an estimated failure probability, as given in Table 5.1. (2)

Additional adjustment for an operation

With uncertain states of EOL products, the motions for dismounting a component should be firstly designed to adapt for changing product geometry in a particular range. The geometry of a component can be rigid, to tolerance, articulated, or flexible [10]. A rigid component has no deviation from its mathematical or geometrical model, while a to-tolerance component allows for a small range of imprecision. On the contrary, articulated geometry denotes that a component can change shape along a certain direction, while flexible geometry involves the shape change of a component in the form of tension, compression, twist, or bend in as much as the modulus of elasticity of its substance permits. Thus, an operation along a specific direction can be inapplicable for removing a component when its geometry changes slightly. The additional adjustment means to adjust the operational position, the force and torque to remove a component adaptively. The failure probability of an operation with adjustment P f _with_ad j (xo,i ), i ∈ [1, k] can be lower than that without adjustment, i.e., P f (xo,i ), i ∈ [1, k]. (3)

Backup actions

If an operation fails to remove a component even with adaptive adjustment, a new operation can be assigned to disassemble this component in another way. We call such an operation a backup action. Backup actions offer additional operations in the case of failures. There are three basic types of backup actions, i.e., (a) direction change action, (b) auxiliary recovery action, and (c) tool change action. The direction change action applies the same operation in another direction. The auxiliary recovery action applies auxiliary operations such as vibration, heating and compliance, while the tool change actions refer to using other tools. Generally, the time of an operation is determined by its complexity. A tool change action is more complex than an auxiliary operation, which is more complex than a direction change. Therefore, τa ≤ τb ≤ τc where τa , τb , and τc are the expected times of the three actions. The adoption of complex operations is because of their effectiveness. Supposing that the success probability of the three actions are Ps (a), Ps (b), and Ps (c), respectively, they satisfy Ps (a) ≤ Ps (b) ≤ Ps (c).

5.3 Uncertainties in Robotic Disassembly

67

Whether a direction change action is applicable depends on the availability of disassembly directions. If there is only one disassembly direction for removing a component, a direction change action should be skipped to employ the auxiliary recovery and tool change actions directly. (4)

Human assistance

If a failure happens and the backup options cannot help with recovery from a disassembly failure, manual assistance is required. The use of disassembly operations, directions, tools, adjustment strategies, backup actions and human assistance jointly determine the overall failure probability. In the case where the failure probability for disassembling xi , i ∈ [1, k], is ˆ i ), i ∈ [1, k], the expected disassembly time of plan T can be reformulated P(x as in Eq. (5.9). 2

 ˆ 1 )T (x1 ) + 1 − P(x ˆ 1 ) P(x ˆ 2) T = P(x T (xi ) i=1 3



 ˆ 2 ) P(x ˆ 3) ˆ 1 ) 1 − P(x T (xi ) + · · · + 1 − P(x i=1

+

k−2





ˆ u ) P(x ˆ k−1 ) 1 − P(x

u=1

+

k−1 

T (xi )

i=1

k−1



ˆ u) 1 − P(x

k 

u=1

(5.9)

T (xi )

i=1

 v−1 k−1 v

  ˆ u ) P(x ˆ 1 )T (x1 ) + ˆ v) 1 − P(x = P(x T (xi ) v=2

+

k−1



ˆ u) 1 − P(x

u=1

u=1

k 

i=1

T (xi )

i=1

th The probability that the process terminates at the v component or subassembly

v−1

ˆ u ) P(x ˆ v ). If a disassembly process terminates when removing the is u=1 1 − P(x first element x1 , the overall disassembly time is only T (x1 ). The expected time to v remove v elements is T (xi ). i=1

Similarly, the success rate of a sequence plan Pˆcompletion can be calculated by Eq. (5.10).

68

5 Modelling of Robotic Disassembly Sequence Planning



ˆ 1 ) + 2 1 − P(x ˆ 1 ) P(x ˆ 2) + · · · Pˆcompletion = P(x +v

v−1

k−1

ˆ u ) P(x ˆ u ) P(x ˆ v ) + · · · (k − 1) ˆ k−1 ) 1 − P(x 1 − P(x u=1

 k−1

ˆ u ) /k 1 − P(x +k 

u=1

ˆ 1) + = P(x

k−1  v=2

u=1

(5.10)

  v−1

k−1

ˆ u ) P(x ˆ u ) /k ˆ v) + k 1 − P(x 1 − P(x v



u=1

u=1

5.4 Summary This chapter has discussed the prerequisites of robotic disassembly sequence planning as opposed to manual disassembly planning. Optimisation variables, objectives and constraints are summarised and modelled mathematically. Multiple disassembly operations with direction change and tool change, additional adjustment strategies, backup strategies, and human assistance are reflected in the models to deal with uncertainties in disassembly processes. The expected disassembly time and success rate of disassembly plans with uncertainties are formulated. The formulation reflects the possibility of failure in which disassembly may be terminated before all components are removed.

References 1. Güngör A, Gupta SM (1998) Disassembly sequence planning for products with defective parts in product recovery. Comput Ind Eng 35(1–2):161–164 2. Tian G, Zhou MC, Li P (2018) Disassembly sequence planning considering fuzzy component quality and varying operational cost. IEEE Trans Autom Sci Eng 15(2):748–760 3. Smith SS, Chen WH (2011) Rule-based recursive selective disassembly sequence planning for green design. Adv Eng Inform 25(1):77–87 4. Li WD, Xia K, Gao L, Chao KM (2013) Selective disassembly planning for waste electrical and electronic equipment with case studies on liquid crystal displays. Robot Comput Integr Manuf 29(4):248–260 5. Smith S, Hsu LY, Smith GC (2016) Partial disassembly sequence planning based on cost-benefit analysis. J Clean Prod 139:729–739 6. Rickli JL, Camelio JA (2014) Partial disassembly sequencing considering acquired end-of-life product age distributions. Int J Prod Res 52(24):7496–7512 7. Zhou Z, Liu J, Pham DT, Xu W, Ramirez FJ, Ji C, Liu Q (2019) Disassembly sequence planning: recent developments and future trends. Proc Inst Mech Eng Part B J Eng Manuf 233(5):1450–1471

References

69

8. Lu C, Liu YC (2012) A disassembly sequence planning approach with an advanced immune algorithm. Proc Inst Mech Eng C J Mech Eng Sci 226(11):2739–2749 9. Yang S, Li J, Wen Z, Hu Z, Yue W (2014) Research on disassembly sequence planning for transfer case of concrete pump. Mach Des Res 30(5):106–109 10. Ghandi S, Masehian E (2015) Review and taxonomies of assembly and disassembly path planning problems and approaches. Comput Aided Des 67:58–86

Chapter 6

Modelling of Robotic Disassembly Line Balancing

6.1 Problem Statement Disassembly line balancing assigns operations to different workstations. A good robotic disassembly line balancing strategy should increase the efficiency and reduce the cost of disassembly [1]. The disassembly line balancing problem (DLBP) was first introduced by Güngör and Gupta [2] and has been studied for decades [3–7]. The DLBP can be modelled using a variety of focuses. For example, constraints can be linked to: the availability of disassembly lines [8]; the moving time of the disassembly robot’s end-effector [9]; and the rebalancing cost [10]. There seems to be a large gap between academic studies and practical applications. Not only are the studies not comparable with one another owing to the differences in the mathematical models, identifying which models are most suitable is also difficult. Altekin et al. [11] compared five mathematical formulations adopted in a stochastic DLBP, with the same objective and discussed the interconversion among them. McGovern et al. [12] also proposed a unified formula to calculate basic line balancing metrics. Most of the DLBP models are not ready to be adopted in practice. This chapter aims to summarise the main discussions in disassembly and the DLBP models. It reviews typical representations of the input data, parameters, decision variables, constraints and objectives of DLBP, and applications.

6.2 Mathematical Representation This section introduces the variables, common constraints, objectives and related parameters of DLBP models proposed in the literature.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2_6

71

72

6 Modelling of Robotic Disassembly Line Balancing

6.2.1 Notations and Decision Variables The definition of notations for modelling the DLBP is given in Table 6.1. The early theoretical analysis on DLBP used Eqs. (6.1)–(6.4) to define the priority rank of Table 6.1 The notations of the generic model of the DLBP Notation

Definition

Notation

Definition

C

Cycle time

Dg

Demand for type g unit

C max

The upper bound of cycle time h m, j

If task j in product m is hazardous, h m, j = 1, otherwise, h m, j = 0

i

Index of part/subassembly

Ik

Idle time of station k

J

Index of task

I

Total idle time of all stations

k

Index of station

dm, j

Disassembly direction of task j of product m

m

Index of product

Tk

Processing time required in station k

g

Index of unit type

tm, j,k

Time required to perform task j of product m in station k

r

Number of parallel tools for a station

cm, j

Cost of task j in product m

xm, j,k

The allocation of task j of product m in station k

Rg

Revenue of type g unit

ρm, j

The priority rank of task j in product m in a disassembly sequence

Fc

Fixed cost of keeping a station open per unit time

z m, j

The selection of task j in product m

ar

Cost factor for paralleling of r tools/stations

ym, j

The remedial action for task j in product m

θm, j1 , j2

Additional sequence-dependent time influence of task j1 on task j2 in product m

vk,r

The resource allocation for station k

F

McGovern-Gupta measure of balance

Jm

Total number of possible disassembly tasks in product m

ch

Additional cost for handling hazardous part

J

Total number of selected disassembly tasks for M products

Am, j

Artificial node in TAOG to represent parts or subassemblies

M

Number of products

Bm, j

Normal nodes in TAOG to represent tasks

G

Number of unit types

P(Am,i )

Index set in TAOG to represent the predecessors of node i in product m

W

Number of stations

S(Am,i )

Index set in TAOG to represent the successors of node i in product m (continued)

6.2 Mathematical Representation

73

Table 6.1 (continued) Notation

Definition

Notation

Definition

W max

The maximum number of stations

PAN D,m, j

Index set in AOG to represent the AND predecessors of task j in product m

W min

The minimum number of stations

PO R,m, j

Index set in AOG to represent the OR predecessors of task j in product m

N g,m,j

Number of type g units S O R,m, j released from task j in product m

Index set in AOG to represent the OR successors of task j in product m

Fig. 6.1 The main decision variables of DLBP. In the case of M products to be disassembled during a planning period, they can be in different product models and conditions

tasks. As in Fig. 6.1, ρm, j represents the main decision variables of DLBP; i.e., the path selection of disassembly, the allocation of the disassembly task, the decision for a remedial strategy, and the allocated tool in each workstation. If task j in product m is selected, ρm, j is set as its rank index. Otherwise, ρm, j = −, where  is a constant number designed to mask unselected tasks. Then xm, j,k represents the assignment of a disassembly task to a specific workstation; and z m, j is seen as a selection indicator that helps control tasks in a disassembly path for both complete and partial disassembly [8, 13]. Also, ym, j defines the P/F scheme (P-pass and offline remedial action; F -stop and online remedial action) [14]; and vk,r decides the resource allocation to workstations [15]. Sometimes, the cycle time C may also be considered as a decision variable in some publications, such as [16, 17]. The list of decision variables is given in Fig. 6.1.  xm, j,k =

z m, j

1, if task j of product m is assigned to station k 0, otherwise  1, if task j of product m is performed = 0, otherwise

(6.1)

(6.2)

74

6 Modelling of Robotic Disassembly Line Balancing  ym, j =

1, if the incompleted task j of product m is completed by stopping the line (F - task) 0, if the incompleted task j of product m is completed by offline disassembly (P - task)

 vk,r =

(6.3) 1, if there are r parallel tools in station k 0, otherwise

(6.4)

If an AND/OR graph (AOG) [17] is used as input data, an additional set of dummy tasks should be involved to record the disassembly terminal in accordance with part requirements. The disassembly terminal is defined as the task in which all of its successors are unperformed and all of its AND predecessors and at least one of its OR predecessors are performed. As the use of xm, j,k and z m, j is sufficient to define the disassembly terminal, the additional variables to represent the dummy tasks can be ignored. The total processing time required in each station k can be calculated by Eq. (6.5). Jm M  

Tk =

 xm, j,k tm, j,k +

m=1 j=1

Jm  j1 =1

 z m, j1 θm, j1 , j + P f,m, j ym, j λ F,m, j tm, j,k r max r =1

(6.5) r vk,r

The first term of the numerator, i.e., tm, j,k is the basic execution time of task j of product m in station k. It can be a constant value  or an uncertain one following a normalisation distribution. The second term Jj1m=1 z m, j1 θm, j1 , j calculates the additional sequence dependent time for the disassembly task. The third term P f,m, j ym, j λ F,m, j tm, j,k decides the possible additional time for using the Fscheme remedial action defined by Gumuskaya [14] in the case of a failed task. In the denominator, r max represents the maximum number of parallel tools allowed for a workstation. Here it is assumed that the total working time of a station can be linearly reduced in accordance with the increasing number of parallel tools. In addition, the upper bound and lower bound of the number of workstations defined in [3, 16] are given in Eqs. (6.6) and (6.7). Wmax = M · Jm ⎡

Wmin

⎤ min t m, j,k ⎢ m=1 j=1 k=1,··· ,W ⎥ ⎢ ⎥ =⎢ ⎥ ⎢ ⎥ C ⎢ ⎥ ⎢ ⎥

(6.6)

Jm M  

(6.7)

The McGovern-Gupta measure of balance [18] and its range are then calculated by Eqs. (6.8)–(6.10).

6.2 Mathematical Representation

I =

W

k=1

Ik =

75 W

(C − Tk ) = C · W −

k=1

F=

W

Tk

(6.8)

k=1 W

(C − Tk )2

(6.9)

k=1



I Wmin

2 · Wmin ≤ F ≤

Nm M

m=1 i=1

(C − min tm,i,k )2 k=1,··· ,W

(6.10)

6.2.2 Objectives The mathematical representations of key objectives are given in Table 6.2. There are three definitions of workstation efficiency. Objective (1) is to minimise both the number of workstations and the McGovern-Gupta measure of balance [18]. Objective (2) is designed to minimise the station operation cost [19]. Objective (3) represents the actual average execution time of each workstation [20]. From the line balancing point of view, five measurements are listed, i.e., Objectives (4)–(8) [12, 21]. Objective (4) is to reduce the number of workstations while controlling the idle time of each workstation [22]. Based on the simple DLBP (DLBP-S) [2], the representation of direction change is modified as in Objective (9), where the total direction change relates to the priority rank of the selected tasks, in which 1(x) defines a Boolean function. If x is true, then 1(x) = 1, else 1(x) = 0. According to different types of P-DLBP, four costs are involved in Objectives (10) to (13). Objective (10) aims at minimising the basic disassembly cost by task selection [17]. Objective (11) minimises the extra cost of P-scheme remedial actions, taking into consideration failure probabilities [23]. Objective (12) refers to minimising the resource cost of each workstation when a parallel station is allowed [15]. Objective (13) is the extra cost when the actual working time of a workstation exceeds the cycle time [5, 24]. In the cases of workstation overload, there could be a penalty and the cycle time C is seen as a variable. From the point of view of hazardous tasks, there are also two kinds of representations, as in Objectives (14) and (15). Objectives (14) represents the exact cost of handling hazardous tasks [25, 26]. Objective (15) uses an assumption that the cost incurred by hazardous materials increases over time and the materials should be dealt with as soon as possible [26, 27]. The parameter hm,j in the range of (0, 1) can be used to represent the hazardous rank of a disassembly task or the probability of having residual hazardous materials. Current research on the DLBP is designed in two ways to represent the profit of disassembly tasks, as in Objective (16) and Objective (17). The former defines

76

6 Modelling of Robotic Disassembly Line Balancing

Table 6.2 The objectives of DLBP Classification

No

Formula

Workstation efficiency

1

WF Wmax  M

2 3

Line balancing

Similar terms 2

Min

1

Max



Min

4,5

Min

3,5

Min

3,4

Min



Max



Min



j=1 z m, j cm, j

Min



j=1 z m, j P f,m, j (1 − ym, j )η P,m, j

Min



rar vk,r

Min



Min



Min

13

Min

12

Max

15

Max

14

Max



j=1 kz m, j x m, j,k

m=1

k=1

W

1 CW

Min

 Jm

Tk

k=1

W

4

F=

k=1 (C

5 6

I = k=1 (C − Tk ) = C · W −

 2 W ( max T ) − T k k k=1

7

 W

W

− Tk

)2

W k=1

Tk

k=1,··· ,W

k=1

8 Direction change Cost

9 10 11 12 13

Hazardous cost

14 15

Profit

16 17

Environmental revenue

18

− ln1W

2 ( max Tk ) − Tk k∈[1,W ]

W k=1





C−Tk W k=1 (C−Tk )

ρm 1 , j1 +1=ρm 2 , j2

M

m=1

M

 Jm

· ln

C−Tk W k=1 (C−Tk )

1(dm 1 , j1 = dm 2 , j2 )

 Jm

m=1

W  k=1

/W

W

r

−b k=1 min(0, C − Tk )  M  Jm ch m=1 j=1 z m, j h m, j  M  Jm m=1 i=1 z m, j ρm, j h m, j G  M  Jm g=1 R g m=1 i=1 z m, j N g,m, j G  M  Jm g=1 m=1 i=1 z m, j ρm, j Dg N g,m, j  M  Jm m=1 j=1 z m, j em, j

directly the profit obtained by a disassembly task while the latter calculates the profits of all retrieved components [17]. Objective (17) can be used in both complete disassembly and partial disassembly because it allows task aborting if the primary demand is satisfied [18]. The environmental impact of disassembly is reflected by Objective (18). The aim is to minimise CO2 emissions or energy consumption [28]. It should be noted that not all of the objectives should be included in a model since many of them can be similar.

6.2 Mathematical Representation

77

6.2.3 Constraints The main constraints of DLBP, based on the precedence relationship of products and operation techniques, are classified into three categories: • Cycle time constraint, such as [22], • Precedence constraint, such as [29], • Variable constraint, such as [8]. The constraint formulas are summarised in Table 6.3. There are two types of cycle time constraints [17, 18]. If the cycle time is seen as a decision variable, both constraints (1) and (2) should be satisfied and overload (i.e., C < Tk < Cmax ) is allowed. On the contrary, if the cycle time is a pre-given parameter and overload is strictly not allowed (i.e.Tk < C = Cmax ), only constraint (2) is required. In the form of a disassembly precedence matrix (DPM) or Set (i, j) of parts (IP) [30–33], it may be assumed that only an AND relationship exists between two disassembly tasks. The definition of a task is the operation to remove a part from an EOL product. Then, the rank of a disassembly task (ρm, j ) is fixed and all selection variables (z m, j ) are equal to 1. Task j in product m is assigned to station k if only all of its predecessors are allocated in stations 1 to k, so as to guarantee that the precedence relationship between tasks is not violated. The research on the AOG was developed to represent the AND predecessor, OR predecessor, AND successor and OR successor of a task [17, 34, 35]. Based on the AOG, a group of precedence constraints makes sure of a proper task allocation, as in Constraints (3)–(6). Constraint (3) for the AOG shares the same meaning with that defined for IP [17, 36]. Constraint (4) for the AOG makes sure that it is not allowed to assign task j in product m to station k unless at least one of its OR predecessors is assigned to one of the previous stations (i.e., stations 1 to k). Constraint (5) defines that at most one of the OR successors of task j in product m can be assigned if task j in product m is performed. Constraint (6) confines that an OR successor of task j in product m can be assigned to station k only if task j in product m is assigned to one of the previous stations. As the DPM and AOG share the same definition about the AND predecessor, the OR predecessor and the allocation of disassembly tasks, constraints (3) and (4) for the AOG are also suitable for the DPM. It should be noticed that in both the DPM and AOG, the selection variable z m, j is not included as a decision variable. They use only a group of dummy tasks to decide the disassembly path and terminal along with the allocation variable xm, j,k . But if z m, j is introduced to the DPM or AOG based models, its related constraints are also adaptable to different input types. As an extension of the AOG, the transformed AOG (TAOG) fully separates the definition of tasks and parts and embraces all possible disassembly paths in a unified graph. By introducing the selection variable z m, j , it also contains four main precedence constraints [15, 29, 37]. Constraints (3) and (4) for the TAOG ensure that an OR successor of an artificial node (i.e., node representing a component or a subassembly

Variable constraint

W

k=1 x m, j,k

k=1

W

≤1

Bm, j ∈P(Am,i )



k1 =1

≤  Bm, j ∈S(Am,i ) k=1

W

Bm, j ∈P(Am,i ) x m, j,k1

xm, j1 ,k

j1 ∈S O R,m, j

j1 ∈S O R,m, j

k1 =1





xm, j1 ,k1  ≤ kk1 =1 xm, j,k1

r vk,r



=1

ym, j1 ≤ ym, j , j1 ∈ S O R( j)

xm, j1 ,k =xm, j,k , j1 ∈P O R( j) =∅ ym, j1

13



ym, j ≤

14

xm, j1 ,k1

xm, j1 ,k1 W ≤ k=1 xm, j,k

j1 ∈PO R,m, j

j1 ∈PO R,m, j

ym, j ≤ ym, j1 , j1 ∈ P AN D( j)



k1 =1

k

k1 =1

k

xm, j,k ≤ k 

xm, j,k ≤

AOG

12

8

kxm, j,k

k=1 x m, j,k

= 0 W

Bm, j ∈P(Am,i )



kxm, j,k ≤



k



Bm, j ∈P(Am,i ) z m, j , i

k=1 x m, j,k

=

Bm, j ∈S(Am,i ) x m, j,k

Bm, j ∈S(Am,i )

W







Bm, j ∈S(Am,i ) z m, j

Tk < Cmax 

xm, j,k ≤ z m, j W 9 k=1 x m, j,k = z m, j  10 Bm, j ∈S(Am,0 ) z m, j = 1   11 ∀i, B j1 ∈ S(Ai ), B j2 ∈ P(Ai ) ym, j1 ≤ ym, j2 , and z m, j1 = 1, z m, j2 = 1

7

6

5

Precedence 3 constraint 4

2

TAOG

C < Cmax

Cycle time constraint

1

Category

Table 6.3 The list of constraints with respect to different types of input data

k1 =1 x m, j1 ,k1 , j1

k

∈ PAN D,m, j

ym, j ≤ ym, j1 , j1 ∈ PAN D,m, j

xm, j,k ≤

DPM/IP

78 6 Modelling of Robotic Disassembly Line Balancing

6.2 Mathematical Representation

79

in the TAOG) is chosen only. Constraint (5) indicates that the selected successor is not assigned to an indexed station lower than the one to which the selected predecessor is assigned. Constraint (6) again defines the precedence relations and makes sure that the successor chosen among the OR successors of an artificial node will be assigned to an indexed work centre higher than the predecessor. Thus constraints (5) and (6) share the equal meaning with constraint (4) for the AOG. Moreover, there are also some variable constraints. Task assignment variables should satisfy constraint (7), which means a task should be assigned to at most one station [29]. Constraints (8)–(10) are designed for the task selection variable z m, j . Constraints (8) and (9) equally indicate that only the selected tasks can be assigned to a station [26, 29]. Constraint (10) imposes that at most one successor task of the first artificial node Am,0 can be chosen as a start of the disassembly process. From the point of view of the remedial P/F scheme, Altekin et al. [23] stated that a task j1 , which is performed after task j at the same station, can be an F-task only if task j is an F-task. As this work is modelled based on the AOG, the remedial action constraints defined in [23] are also introduced as constraints (11)–(13) for the AOG. Specifically, constraint (11) for the AOG shows that task j can be assigned as an F-task only if all of its AND predecessors are classified as an F-task. Constraint (12) determines that task j can be assigned as an F-task only if at least one of its OR predecessors that is performed earlier on the line is an F-task. Constraint (13) allows the assignment of an OR successor of task j as an F-task only if task j is an F-task. Due to that only AND and OR predecessors exist in the DPM, constraints (11) and (12) for the AOG cannot be used in DPM either. Similarly, an equivalent constraint formula (constraint (11)) is defined for IP as demonstrated in Table 6.3, to make sure that a task j can be assigned as an F-task only if all of its AND predecessors are classified as an F-task. Constraint (14) is used to ensure that only one type of resource allocation scheme is valid.

6.3 Representation of Uncertain Task Time in DLBP Early studies of the DLBP assumed the execution time of a disassembly task is known (tm, j,k ). However, disassembly time can be uncertain due to complexity in disassembly tools and skills, and EOL conditions. Bentaha et al. [38, 39] gave a review of the modelling of uncertain task time in both assembly and disassembly. The review categorised the methods into: closed interval, fuzzy set and probability distribution. Recent research on the DLBP tends to adopt a probability distribution method (such as [11, 15, 25]) and the triangular fuzzy number (such as [40–42]). Using probability distribution methods, researchers proposed to use the estimated average time and its standard deviation to represent the stochastic task time. The estimated average time and the standard deviation are either pre-determined constant numbers, or obtained from sampling [26] and product state estimation [40]. However, a product may have different EOL states. Here, we give a generalised way to calculate the task time tm, j,k .

80

6 Modelling of Robotic Disassembly Line Balancing

Using q as the index of an EOL state and Q as the number of the states, four types of EOL states are given in Eq. (6.11). It should be noted that if more states should be considered, q and Q can be modified easily.

qm, j

⎧ 0, ⎪ ⎪ ⎪ ⎨ 1, = ⎪ 2, ⎪ ⎪ ⎩ 3,

if task j of product m is no longer required because of part missing if task j of product m is in a normal state if task j of product m required less times because of part missing if task j of product m required more times because of part damage (6.11)

By using the notations listed in Table 6.4 and assuming the disassembly time for task j of product m in a normal state is constant (i.e., tm, j,k ), the estimated mean time and its standard deviation can be obtained by using Eqs. (6.12) and (6.13). μm, j,k = tm, j,k +

3

pq,m, j τq,m, j,k

(6.12)

q=0

σm, j,k =

3

pq,m, j (tm, j,k + τq,m, j,k − μm, j,k )2

(6.13)

q=0

Obviously, τ0,m, j,k = −tm, j,k , τ1,m, j,k = 0, τ2,m, j,k < 0 and τ3,m, j,k > 0. The  2 estimated disassembly time under uncertainty is therefore tm, j,k ∼ (μm, j,k , σm, j,k ). The notations can also be generalised for estimations based on the triangular fuzzy l m u number (TFN). Assuming the TFN-based task time as t˜m, j,k = (tm, j,k , tm, j,k , tm, j,k ), its elements can be obtained by using Eqs. (6.14) and (6.15). ⎧ ⎪ =0 tl ⎪ ⎨ m, j,k l tm, j,k = tm, j,k + τ ,m, j,k ⎪ ⎪ ⎩ tl m, j,k = tm, j,k + τ3,m, j,k

(6.14)

Table 6.4 Additional definitions for calculating the disassembly task time under uncertainty Notation Definition τq,m, j,k

Additional time required to perform task j of product m at state q in station k

μm, j,k

The estimated mean value of tm, j,k

σm, j,k

The estimated standard deviation of tm, j,k

pq,m, j

The probability of task j in product m at state q

 tm, j,k

The estimated value of the disassembly time for task j of product m in station k

t˜m, j,k

The triangular fuzzy number of the disassembly time for task j of product m in station k

6.3 Representation of Uncertain Task Time in DLBP

= arg max pq,m, j q=0,··· ,3

81

(6.15)

In Eq. (6.15), represents the most likely state of task j in product m.

6.4 Model Extendibility to Different Environments The most critical factors about a production line are the line layout, the workstation and the resource allocated to each workstation. As demonstrated in [43], common layouts include straight line, U-line and circular line. The U-line and circular line were designed to implement resource sharing between workstations. Moreover, parallel lines can enable workstation sharing between different lines [44]. It is assumed that a product can only be assigned to one line. Therefore, the calculation of T k as in Eq. (6.1) is determined by the adopted line layout. Allocating tasks in a shared workstation in an optimal plan could improve the efficiency of disassembly. Using the start time tstar t,m, j and the end time tend,m, j of each task j in product m, the calculation of T k is modified as shown in Eqs. (6.16) and (6.17). tend,m, j = tstar t,m, j + tm, j,k +

Jm

z m, j1 θm, j1 , j + P f,m, j ym, j λ F,m, j

(6.16)

j1 =1

Tk = max xm, j,k tend,m, j m, j

(6.17)

With the development of information technology [45], distributed workstations can be in either a paced or un-paced structure. The calculation of T k in Eq. (6.1) is applicable in the case of a paced structure. However, for the un-paced cases, it is a complex job-shop scheduling problem (JSP) in which the transportation cost between different workstations should be considered and thus the generic model proposed in this chapter is no longer feasible.

6.5 Summary This chapter has examined the balancing of robotic disassembly lines. It has detailed the modelling of the line balancing problem and presented various models developed in recent years. The chapter has also discussed the use of probability distributions and fuzzy numbers to account for uncertainties in task durations.

82

6 Modelling of Robotic Disassembly Line Balancing

References 1. Lambert AJD, Gupta SM (2016) Disassembly modeling for assembly, maintenance, reuse and recycling. CRC Press, New York 2. Gungor A, Gupta SM (1999) Disassembly line balancing. In: Proceedings of the 1999 annual meeting of the northeast decision sciences institute, 1999, Newport, Rhode Island, March 24–26, pp 193–195 3. Güngör A, Gupta SM (2002) Disassembly line in product recovery. Int J Prod Res 40(11):2569– 2589 4. Agrawal S, Tiwari MKA (2008) collaborative ant colony algorithm to stochastic mixed-model U-shaped disassembly line balancing and sequencing problem. Int J Prod Res 46(6):1405–1429 5. Altekin FT, Akkan C (2012) Task-failure-driven rebalancing of disassembly lines. Int J Prod Res 50(18):4955–4976 6. Bentaha ML, Battala O, Dolgui A (2013) A decomposition method for stochastic partial disassembly line balancing with profit maximization. In: IEEE International conference on automation science and engineering (CASE), 2013, pp 404–409 7. Kalayci CB, Gupta SM (2013) Ant colony optimization for sequence-dependent disassembly line balancing problem. J Manuf Technol Manag 24(3):413–427 8. Mete S, Çil ZA, Özceylan E, A˘gpak K (2016) Resource constrained disassembly line balancing problem. IFAC-PapersOnLine 49(12):921–925 9. Liu J, Zhou Z, Pham DT, Xu W, Yan J, Liu A, Ji C, Liu Q (2018) An improved multi-objective discrete Bees Algorithm for robotic disassembly line balancing problem in remanufacturing. Int J Adv Manuf Technol 97(9–12):3937–3962 10. Mete S, Cil ZA, Celik E, Ozceylan E (2019) Supply-driven rebalancing of disassembly lines: a novel mathematical model approach. J Clean Prod 213:1157–1164 11. Altekin FT (2017) A comparison of piecewise linear programming formulations for stochastic disassembly line balancing. Int J Prod Res 55(24):7412–7434 12. McGovern SM, Gupta SM (2015) Unified assembly-and disassembly-line model formulae. J Manuf Technol Manag 26(2):195–212 13. Mete S, Çil ZA, A˘gpak K, Özceylan E, Dolgui A (2016) A solution approach based on beam search algorithm for disassembly line balancing problem. J Manuf Syst 41:188–200 14. Gumuskaya V (2013) Profit-oriented disassembly line balancing with stochastic task times in hybrid lines. Middle East Technical University 15. Aydemir-Karadag A, Turkbey O (2013) Multi-objective optimization of stochastic disassembly line balancing with station paralleling. Comput Ind Eng 65(3):413–425 16. McGovern SM, Gupta SM (2007) A balancing method and genetic algorithm for disassembly line balancing. Eur J Oper Res 179(3):692–708 17. Altekin FT, Kandiller L, Ozdemirel NE (2008) Profit-oriented disassembly-line balancing. Int J Prod Res 46(10):2675–2693 18. Güngör A, Gupta SM, Pochampally K, Kamarthi SV (2000) Complications in disassembly line balancing. In: Proceedings of the SPIE international conference on environmentally conscious manufacturing, 2000, Boston, Massachusetts, pp 289–298 19. Avikal S, Mishra PK, Jain R (2014) A Fuzzy AHP and PROMETHEE method-based heuristic for disassembly line balancing problems. Int J Prod Res 52(5):1306–1317 20. McGovern SM, Gupta SM (2003) Greedy algorithm for disassembly line scheduling. In: IEEE international conference on systems, man, and cybernetics, 2003, Washington, DC, pp 1737– 1744 21. McGovern SM, Gupta SM (2007) Combinatorial optimization analysis of the unary NPcomplete disassembly line balancing problem. Int J Prod Res 45(18–19):4485–4511 22. McGovern SM, Gupta SM (2004) 2-opt heuristic for the disassembly line balancing problem. Environmentally conscious manufacturing iii. Int Soc Opt Photonics 5262:71–85 23. Altekin FT, Bayındır ZP, Gümü¸skaya V (2016) Remedial actions for disassembly lines with stochastic task times. Comput Ind Eng 99:78–96

References

83

24. Bentaha ML, Battaïa O, Dolgui A (2014) Lagrangian relaxation for stochastic disassembly line balancing problem. Procedia CIRP 17:56–60 25. Bentaha ML, Battaïa O, Dolgui A (2013) Chance constrained programming model for stochastic profit–oriented disassembly line balancing in the presence of hazardous parts. In: IFIP international conference on advances in production management systems. Springer, Berlin, Heidelberg, pp 103–110 26. Bentaha ML, Battaïa O, Dolgui A (2014) A sample average approximation method for disassembly line balancing problem under uncertainty. Comput Oper Res 51:111–122 27. McGovern SM, Gupta SM (2006) Ant colony optimization for disassembly sequencing with multiple objectives. Int J Adv Manuf Technol 30(5):481–496 28. Igarashi K, Yamada T, Gupta SM, Inoue M, Itsubo N (2016) Disassembly system modeling and design with parts selection for cost, recycling and CO2 saving rates using multi criteria optimization. J Manuf Syst 38:151–164 29. Koc A, Sabuncuoglu I, Erel E (2009) Two exact formulations for disassembly line balancing problems with task precedence diagram construction using an AND/OR graph. IIE Trans 41(10):866–881 30. Güngör A, Gupta SM (2001) A solution approach to the disassembly line balancing problem in the presence of task failures. Int J Prod Res 39(7):1427–1467 31. Güngör A, Gupta SM (2001) Disassembly sequence plan generation using a branch-and-bound algorithm. Int J Prod Res 39(3):481–509 32. Kalayci CB, Gupta SM (2014) A tabu search algorithm for balancing a sequence-dependent disassembly line. Prod Plan Control 25(2):149–160 33. Liu J, Wang S (2017) Balancing disassembly line in product recovery to promote the coordinated development of economy and environment. Sustainability 9(2):309 34. Ren Y, Yu D, Zhang C, Tian G, Meng L, Zhou X (2017) An improved gravitational search algorithm for profit-oriented partial disassembly line balancing problem. Int J Prod Res 55(24):7302–7316 35. Ilgin M (2019) A DEMATEL-based disassembly line balancing heuristic. J Manuf Sci Eng 141(2):021002 36. Ding LP, Feng YX, Tan JR, Gao YC (2010) A new multi-objective ant colony algorithm for solving the disassembly line balancing problem. Int J Adv Manuf Technol 48(5–8):761–771 37. Bentaha ML, Battaïa O, Dolgui A (2015) An exact solution approach for disassembly line balancing problem under uncertainty of the task processing times. Int J Prod Res 53(6):1807– 1818 38. Bentaha ML, Battaïa O, Dolgui A, Hu SJ (2015) Second order conic approximation for disassembly line design with joint probabilistic constraints. Eur J Oper Res 247(3):957–967 39. Bentaha ML, Dolgui A, Battaïa O (2015) A bibliographic review of production line design and balancing under uncertainty. IFAC-PapersOnLine 48(3):70–75 40. Riggs RJ, Battaïa O, Hu SJ (2015) Disassembly line balancing under high variety of end of life states using a joint precedence graph approach. J Manuf Syst 37:638–648 41. Kalayci CB, Hancilar A, Güngör A, Gupta SM (2015) Multi-objective fuzzy disassembly line balancing using a hybrid discrete artificial bee colony algorithm. J Manuf Syst 37:672–682 42. Saedi M, Saghari S (2016) The balancing of disassembly line of automobile engine using genetic algorithm (GA) in fuzzy environment. Ind Eng Manag Syst 15:364–373 43. Battaïa O, Dolgui A (2013) A taxonomy of line balancing problems and their solution approaches. Int J Prod Econ 142(2):259–277 44. Bentaha ML, Battaïa O, Dolgui A (2012) A stochastic formulation of the disassembly line balancing problem. In: IFIP international conference on advances in production management systems. Springer, Berlin, Heidelberg, pp 397–404 45. Jiang H, Yi J, Chen S, Zhu X (2016) A multi-objective algorithm for task scheduling and resource allocation in cloud-based disassembly. J Manuf Syst 41:239–255

Chapter 7

Evolutionary Optimisation for Robotic Disassembly Sequence Planning and Line Balancing

7.1 Basic Process of Evolutionary Optimisation As disassembly sequence planning problems and disassembly line balancing problems are non-deterministic polynomial (NP)-hard problems [1, 2], using evolutionary algorithms (EA) has been the most common method of solving them. An EA is a population-based evolutionary computation method. A population defines a group of encoded solutions. These solutions may also be termed as individuals. In each iteration, one or more evolutionary operators are applied to the population to generate new individuals. Hence, EA is a stochastic algorithm that searches the solution space through population update and individual selection. Typical evolutionary algorithms include the genetic algorithm (GA) [3], particle swarm optimisation (PSO) [4], Bees Algorithm (BA) [5], and teaching–learning-based optimisation [6]. Most of the evolutionary operators are problem independent. An EA may give a near optimal solution rather than the absolute optimal solution. The simplified process of evolutionary optimisation is given in Fig. 7.1. The process is based on an encoding scheme that maps the solution space to a searching space. To be specific, an encoded individual including ng gene-bits represents a solution with n variables. Each gene-bit controls a particular characteristic of a variable. Usually, it is satisfied that n ≤ n g . The design of an encoding scheme is to establish a searching space for efficient and feasible evolutionary operations. An encoded individual can be decoded to a solution and evaluated by an objective function. The first step of an optimisation process is to generate a group of random individuals to formulate a population P = {p1 , p2 , · · · , pm }. The fitness value of each individual pi is calculated by the objective function. The one with the best fitness value pbest is labelled as the global best until a better individual is identified in the following generations. Taking the initial population P as ‘parents’, the evolutionary operation in the second step generates an offspring population P = {p 1 , p 2 , · · · , p m }. The offspring contains parts of the parents’ information and parts of new gene-bits. From © The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2_7

85

86

7 Evolutionary Optimisation for Robotic Disassembly Sequence …

Begin Initialization Evolutionary operation Decoding and evaluation Selection and updating

Termination?

No

Yes Output the best solutions Fig. 7.1 The general process of evolutionary optimisation

the searching space point of view, the offspring is scattered in the areas near the parents. The third step then evaluates the offspring using the objective function and decodes them to the solution space. The fourth step, selection and updating, selects new parents from the old population P and the offspring population P for the next generation. After that, the current best individual p best is selected to update the global best individual. The process is executed iteratively until the terminal condition is satisfied. In the following sections, we will demonstrate how to use an evolutionary process to solve disassembly sequence planning and disassembly line balancing problems.

7.2 Typical Evolutionary Algorithms Evolutionary algorithms can be classified into two types: a single-objective evolutionary algorithm (SOEA) and a multi-objective evolutionary algorithm (MOEA). The use of the SOEA identifies the global best individual, while using the MOEA returns a Pareto front set, which is a group of non-dominated individuals. An individual is non-dominated only if there is no better individual in terms of all objectives [7]. An individual x dominates an individual y if it is as good as y in all objectives

7.2 Typical Evolutionary Algorithms

87

and better in at least one objective. The main difference between the MOEA and the SOEA is in the individual selection and updating.

7.2.1 Typical Single-Objective Evolutionary Algorithm In the early research of disassembly optimisation, the main target of disassembly sequence planning and disassembly line balancing was to minimise the total disassembly time. Hence, the SOEA is the most commonly used. Typical algorithms are GAs, PSOs and BAs. They share a same evolutionary process. (1)

Genetic algorithm

The pseudo-code of the GA’s operation can be shown in Algorithm 1.

Usually, a GA consists of three basic operators, i.e., selection, crossover and mutation. The selection operator guides the evolution process by adopting the rule of “survival of the fittest”. A variety of selection operators have been proposed [8], for instance: • • • •

roulette selection strategy [9]; tournament selection strategy [10]; rank-based selection strategy [11]; random selection strategy [9].

The selection operator can be used for disassembly sequence planning and disassembly line balancing to pick the fittest parents for generating new solutions. The crossover operator is the core operator. It recombines gene information, generates offspring, and spreads good information [12]. So far, except the single or multi-points crossover, common methods also include: • uniform crossover [12]; • shuffle crossover [13]; • simulated binary crossover (SBX) [14]. However, the design of a crossover operator is highly dependent on the encoding scheme. The above methods are only suitable for continuous domain optimisation

88

7 Evolutionary Optimisation for Robotic Disassembly Sequence …

and discrete optimisation without sequencing variables. For sequence-based optimisation, the most common operator is the precedence preservative crossover (PPX) [15]. Let the selected parents which generate p i to be ps1 and ps2 , then PPX can be formulated by Eq. (7.1).  pi j

=

L(ps1 ), if r < c1 L(ps2 ), if c1 < r

(7.1)

where L(∗) is the value (not equal to pik , k ∈ [1, j − 1]) of the leftmost variable in *; r is a random number and c1 is the parameter that is usually set as 0.5 to give the two parents equal chance to pass on their information. It is also the most commonly used evolutionary operator for disassembly optimisation. A mutation operator allows a few individuals to escape from local optima and explore a new area. It helps avoid the local convergence and enhances the exploration ability of an algorithm [16]. In addition to single or multi-point mutation, other common methods include: • uniform mutation [17]; • chaotic mutation [18]; • Gaussian mutation [19]. Depending on the ways of encoding, different mutation methods can be adopted. If the problem is encoded to a group of numbers (e.g., binary), the above methods can be widely applied. However, for disassembly sequence planning, where a sequence has repeating numbers, randomly swapping operators should be adopted instead. (2)

Particle swarm optimisation (PSO)

The pseudo-code of PSO’s operation can be shown in Algorithm 2.

lbest,i defines the best location founded by an individual pi . vi refers to the basic step size to generate p i from pi . The lengths of lbest,i and vi are both ng . The basic PSO is designed for continuous domain optimisation. The velocity matrix V is also initialised randomly. In each generation, each element in the velocity matrix V can be updated by the following Eq. (7.2).

7.2 Typical Evolutionary Algorithms

89

vi j = wvi j + C1r1 (lbest,i, j − pi j ) + C2 r2 (gbest, j − pi j )

(7.2)

where w is the inertia factor ranging from 0.8 to 0.9; C 1 and C 2 are two learning factors, which are usually set as 2; R1 and r 2 are two random numbers ranging from 0 to 1. It can be seen that vij defines how much should pi learns from lbest,i and from gbest , in the dimension j ∈ [1, n g ]. A new individual can be generated by Eq. (7.3). pi j = vi j + pi j

(7.3)

This evolutionary operator can be applied to disassembly optimisation only if the variables are encoded into real numbers. For non-sequencing variables such as those in disassembly line balancing, researchers have designed different kinds of discrete PSOs [20]. One typical example is given in Eq. (7.4). ⎧ pi j , if r < c1 ⎪ ⎪ ⎪ ⎨l best,i, j , if c1 < r < c2 pi j = ⎪ gbest, j , if c2 < r < c3 ⎪ ⎪ ⎩ χ , if c3 < r

(7.4)

where r, c1 , c2 , and c3 are three random numbers in the range of (0, 1). They satisfy c1 < c2 < c3 ; χ is a randomly generated value between the lower bound and the upper bound of the ith gene-bit. For sequencing variables such as those in disassembly sequence planning, researchers also designed precedence preservative operators to create learning in PSO. One typical example can be shown in Eq. (7.5). ⎧ L(pi ), if r < c1 ⎪ ⎪ ⎪ ⎨ L(l best,i ), if c1 < r < c2 pi j = ⎪ ⎪ L(gbest ), if c2 < r < c3 ⎪ ⎩ L(χ), if c3 < r where L(∗) has the same definition as that in the PPX. (3)

Bees algorithm (BA)

The pseudo-code of the BA’s operation can be seen in Algorithm 3.

(7.5)

90

7 Evolutionary Optimisation for Robotic Disassembly Sequence …

In the basic BA, the new offspring updates P with two more factors, i.e.,  = {π1 , π2 , · · · , πm } and ∂ = {α1 , α2 , · · · , αm }, rather than generating an entire new group of individuals as in the case of the GA. Each individual in P, i.e., pi is termed as a flower patch with a neighbourhood scale πi and a counter is used to record the number of searches on it.

7.2 Typical Evolutionary Algorithms

91

Different to the two classical evolutionary algorithms, BA incorporates the local search. It uses a neighbourhood scale πi to define the local search operator based on pi . The local search operator is highly dependent on the searching space. If the variables are encoded to a continuous domain, one-dimensional or multidimensional evolutionary strategies were summarised by Schwefel [21]. If the variables are encoded as integer numbers, the local search can be heuristic and focuses on a selected gene-bit and its neighbouring gene-bits. In this scenario, a neighbourhood scale πi can be either a variation step on the selected gene-bit or the maximum distance to the selected gene-bit. If gene-bits represent a sequence, the local search operator should be a group of swapping or inserting movements. Variations can also be made based on a selected gene-bit and define the neighbourhood scale as the number of swapping or inserting movements. By using a local search, the BA performs a waggle dance operator to sort the population P from good to bad. It is noted that  = {π1 , π2 , · · · , πm } and ∂ = {α1 , α2 , · · · , αm } are reranked according to the sorting of P = {p1 , p2 , · · · , pm }. Then, it uses three steps to update P. In the first step, it assigns nre times of local searches for each of the first ne flower patches {p1 , p2 , · · · , pne }. In each local search, the counter of pi is added, i.e., αi = αi + 1. If the generated individual is better than pi , it is replaced for a further local search. Otherwise, the neighbourhood scale of pi , πi is shrinking by a factor w ranging from 0.8 to 0.99 (i.e., πi = w · πi ). If the counter αi reaches a searching time limit C, the site abandonment operator is performed, which randomly re-generates pi and πi is set to its initial value πmax . This step is performed ne × nr e times in total. In the second step, the BA assigns nrb times of a local search for each of the next nb − ne flower patches {pne+1 , pne+2 , · · · , pnb } using the same procedure in the first step. In the third step, the rest of the m − nb flower patches {pnb+1 , pne+2 , · · · , pm } are replaced by a group of randomly generated individuals. Their neighbourhood scales are re-initialised to a constant πmax . Their counters are also re-set to 0.

7.2.2 Typical Multi-objective Evolutionary Algorithm The MOEAs were introduced to disassembly optimisation in recent years. As the optimisation on the weighted sum of multiple objectives with fixed weights can be biased, finding a group of non-dominated Pareto optimal solutions has been introduced to disassembly sequence planning and disassembly line balancing [22–25]. The key of the MOEAs is solution selection and updating, which also classifies MOEAs into three types, i.e., Pareto-based MOEAs; decomposition-based MOEAs; and indicator-based MOEAs. (1)

Pareto-based MOEAs: the offspring population produced in each generation is mixed with the parent population and sorted into different non-dominated levels (F1 , F2 , and so on). The first non-dominated level F1 refers to the set

92

(2)

(3)

7 Evolutionary Optimisation for Robotic Disassembly Sequence …

where none of the rest of the solutions can dominate the individuals of this set. Accordingly, the second non-dominated level refers to the next-best set. The individuals in F2 are dominated by those in F1 . Similarly, the individuals in the Fi level dominate the individuals in the next level Fi+1 . It is noted that the individuals are non-dominated by those in the same level. Then, the individuals from the highest ranked non-dominated level to the lower ranked non-dominated levels are selected to construct a new parent population, until the size of the new population  reaches m. In most  situations, the last accepted l |F | < m < level (lth level, which satisfy l−1 i i=1 i=1 |Fi |) is only accepted partially. Only those solutions that will maximise the diversity of the lth front are chosen. Example algorithms include: NSGA-II (non-dominated sorting genetic algorithm-II) [15]; SPEA2 (strength pareto evolutionary algorithm-2) [26]; and NSGA-III (non-dominated sorting genetic algorithm-III) [27]. Decomposition-based MOEAs: the decomposition-based methods incorporate the objectives into a scalar function, and each objective has a weight coefficient that indicates its importance, known as the weight vector. By employing a group of evenly distributed weight vectors, the multi-objective optimisation problem is decomposed into m single-objective sub-problems that can be optimised concurrently. Each of the best identified individuals is a reference for variation. The new individuals produced in each generation are compared with the reference of each weight vector. If a new individual is identified, the reference is replaced by the new one. Example methods to establish the scalar functions include: MOEA/D (multi-objective evolutionary algorithm based on decomposition) [28]; MSOPS (multiple single objective Pareto sampling) [29]; and RVEA (reference vector-guided evolutionary algorithm) [30]. Indicator-based MOEAs: the indicator-based approaches use a performance indicator to measure the contribution of each individual during the search process. Unlike the weighted sum of multiple objectives, a performance indicator evaluates either the capability of an individual dominating the rest of the population, or to what extent an individual is different from others. By using this indicator, the multi-objective optimisation problem is equivalent to a single-objective optimisation problem. Example algorithms include: IBEA (indicator-based evolutionary algorithm) [31]; SMS-EMOA (multi-objective selection based on dominated hypervolume) [32]; and HypE (fast hypervolume based evolutionary algorithm) [33].

The MOEAs can be further divided into two classes according to the number of problem objectives, i.e., multi-objective approaches for the problem with three or less objectives, and multi-objective approaches for the problem with more than three objectives [34]. Due to space limitation, this section will give the details of three basic MOEAs in the following paragraphs. More algorithms can be found in [34, 35].

7.2 Typical Evolutionary Algorithms

(1)

93

NSGA-II

The pseudo-code of NSGA-II’s operation is shown in Algorithm 4.

The input is the parent population P and an objective vector Y = {y(p1 ), y(p2 ), · · · , y(pm )}. For an optimisation problem having O objectives, each element of Y, i.e., y(pi ) = {y1 (pi ), y2 (pi ), · · · , y O (pi )}, represents the O objective values of pi . An offspring population P = {p 1 , p 2 , · · · , p m } can be generated by an evolutionary operation designed from SOEAs, such as SBX or PPX with different mutation operators. The objective values of each individual in P is then evaluated and defined as Y = {y(p 1 ), y(p 2 ), · · · , y(p m )}, in which the objective values of the individual p i is y(p i ) = {y1 (p i ), y2 (p i ), · · · , y O (p i )}. After that, the parent and offspring populations are mixed as P . Their objective vectors as well as that of P are combined (i.e.Y ). A fast non-dominated sorting approach is applied to queue the individuals of P into several non-domination levels, i.e.F = { F1 , F2 , · · · } . Although individuals in each level cannot dominate each Fi+1 . The other, they can dominate those in the level below.  Therefore, Fi is better than x x+1 |Fi | < m and i=1 |Fi | ≥ m, individuals in the first x levels, where x satisfies i=1 are selected as the parent individual. If the size of the (x + 1)th level is larger than the rest of the volume of Q, i.e., |Fx+1 | > m − |Q|, a crowd distance assignment strategy is applied to Fx+1 to select the individuals with lower distribution density to fill Q until its size reaches m. Otherwise, all individuals of Fx+1 are selected to fill Q. The crowd distance assignment strategy can be applied to find the two nearest neighbours of an individual fx+1, p for the kth objective, The two neighbours can then be indexed as L k ( p) and Rk ( p). By sorting the individuals of Fx+1 for O objectives, there are O pairs of neighbours for fx+1, p in total. Then, for an individual fx+1, p , the crowd distance is defined as Eq. (7.6).

94

7 Evolutionary Optimisation for Robotic Disassembly Sequence …

Dcr owd,fx+1, p =

O  yk (fx+1,L k ( p) ) − yk (fx+1,Rk ( p) ) yk,max − yk,min k=1

(7.6)

where yk,max and yk,min are the maximum value and the minimum value of the k th objective found in the evolutionary process. An individual having a low value in this measured distance is more likely to be crowded by other solutions. Therefore, the  = m − |Q| individual with the largest crowd distances in Fx+1 is adopted by Q. When Q is ready, the evolutionary process moves to the next generation. (2)

MOEA/D

The pseudo-code of MOEA/D’s operation is shown in Algorithm 5.

In the MOEA/D, P is composed of m individuals that perform the best in the m decomposed sub-problems, respectively. Each decomposed sub-problem is defined by a weight vector to sum up O objectives and Y represents the objective values of the individuals in P. There are two additional factors that can affect the evolution of P in each generation,  = {λ1 , λ2 , · · · , λm } and Ybest = {ybest,1 , ybest,2 , · · · , ybest,m } thus,  = {λ1 , λ2 , · · · , λm } represents a group of evenly distributed weight vectors that decompose the multi-objective optimisation problem into m single-objective sub-problems, where λi = {λi1 , λi2 , · · · , λi O }. Moreover, the best values found so far for O objectives are selected and updated in Ybest = {ybest,1 , ybest,2 , · · · , ybest,O } to guide the selection of P for the next generation. As can be seen in Algorithm 5, the steps of evolutionary operation and decoding and evaluation are the same as those of NSGA-II. When a new offspring population P is generated, Y = {y(p 1 ), y(p 2 ), · · · , y(p m )} is calculated as their objective values, where y(p i ) = {y1 (p i ), y2 (p i ), · · · , y O (p i )}. Then, for the problem of minimising O objectives, Ybest = {ybest,1 , ybest,2 , · · · , ybest,m } can be updated according to Eq. (7.7).

7.2 Typical Evolutionary Algorithms

ybest,k =

95

⎧ ⎨ ybest,k ,

if ybest,k ≤ min yk (p i ) i∈[1,m]

(7.7)

⎩ min yk (p i ), if ybest,k > min yk (p i ) 

i∈[1,m]

i∈[1,m]

On the contrary, for the problem of maximising O objectives, Ybest {ybest,1 , ybest,2 , · · · , ybest,m } can be updated according to Eq. (7.8). ybest,k =

⎧ ⎨ ybest,k ,

=

if ybest,k ≥ min yk (p i ) i∈[1,m]

(7.8)

⎩ min yk (p i ), if ybest,k < min yk (p i ) i∈[1,m]

i∈[1,m]

Afterwards, a Tchebycheff update strategy is introduced to update P by P . In this strategy, a scalar g te (p|λi , Ybest ) and the ith weight vector λi = {λi1 , λi2 , · · · , λi O } are used as in Eq. (7.9) to evaluate the quality of an individual p. g te (p|λi , Ybest ) = max {λik yk (p) − ybest,k }

(7.9)

k∈[1,O]

Then, the representative individual pi of the ith weight vector λi {λi1 , λi2 , · · · , λi O } is updated according to Eq. (7.10).  pi =

pi , if g te (pi |λi , Ybest ) > g te (p i |λi , Ybest ) p i , if g te (p i |λi , Ybest ) ≤ g te (pi |λi , Ybest )

=

(7.10)

Each member of P is compared with that of P; m × m times of comparisons are conducted in total. Then, a new parent population is updated. The algorithm will go to the next generation for further evolution. (3)

IBEA

The pseudo-code of IBEA is shown in Algorithm 6.

96

7 Evolutionary Optimisation for Robotic Disassembly Sequence …

In the IBEA, only the population selected from the last generation and its objective vector are the system input. The offspring population P can be generated as well as its objective vector Y . By performing P =P ∪ P and Y =Y ∪ Y, the old population and the new one can be mixed. Each individual is assigned a fitness indicator. Then, a tournament selection strategy is applied to select the new parent population for the next generation. The tournament selection strategy is performed iteratively until the size of P reaches m. To be specific, in each iteration, two individuals from P are selected randomly; the one with a better fitness indicator is adopted to fill P. Obviously, by using an indicator instead of the weighted sum of O objective values, the multi-objective optimisation problem is simplified to a single-objective problem. Typical ways of calculating the indicator fitness are additive ε-indicator-based fitness and Hypervolume (HV)-based indicator fitness. To deal with all O objectives, an additional ε-indicator can be introduced by Eq. (7.11). ε+ (A, B) = max min max (y j (a) − y j (b)) b∈B a∈A j∈[1,O]

(7.11)

where A and B are two sets of individuals, and y j (∗) refers to the jth objective value of *; ε+ (A, B) < ε+ (B, A) indicates A is better than B. The HV defines the volume of the area enclosed by an individual set and a reference point r specified by the user. In the case of considering all O objectives, the reference point can be a vector r = {r1 , r2 , · · · , r O } of which each element rk indicates the largest value of the k th objective. Hence, HV can be calculated by Eq. (7.12). I H V (A) = ( ∪ {x|a ≺ x ≺ r})

(7.12)

a∈A

where (∗) denotes the Lebesgue measure, and a ≺ b defines that an individual b dominates an individual a. The HV value of a set can be seen as the volume of multiple hypercubes determined by an individual of the set and the reference point. Given the definition of HV, an HV-based indicator is represented by Eq. (7.13).  I H D (A, B) =

I H V (B) − I H V (A), if ∀b ∈ B, ∃a ∈ A : a b I H V (A ∪ B) − I H V (A), else

(7.13)

In this equation, I H D (A, B) measures the volume of the space that is dominated by B but not by A with respect to a predefined reference point r. Accordingly, the indicator-based fitness is defined in Eq. (7.14). f (p i ) =

 q∈P \{p i }

−e−I (q,p



)/κ

(7.14)

7.2 Typical Evolutionary Algorithms

97

where I (∗, ∗) can be either ε+ (∗, ∗) or I H D (∗, ∗), to form additive ε-indicator-based fitness or HV-based indicator fitness, respectively; P \{p i } represents the set that includes all individuals of P except p i ; and κ > 0 is a constant scaling factor. It satisfies that, if p i dominates p j , f (p j ) < f (p i ). Then the multi-objective optimisation problem turns into a single-objective problem that aims to find the individual p that will maximise f (p). In addition to the above algorithms, there are more SOEAs and MOEAs discussed in some review papers such as [36, 37]. It is noted that although both SOEAs and MOEAs follow the general process shown in Fig. 7.1, the use of them can be flexible. The merging of a few evolutionary operators can build a new SOEA or MOEA.

7.3 Encoding Methods for Two Robotic Disassembly Optimisation Problems The encoding scheme is the key to connecting a specific problem to an evolutionary algorithm. Since the decision variables used in disassembly sequence planning and those in disassembly line balancing are different, we will discuss the two problems separately. (a) Encoding schemes for disassembly sequence planning (1) Integer coding The basic disassembly sequence planning problem aims to find a disassembly sequence that has a minimised total disassembly time. The most straightforward way is to represent a sequence as non-repetitive integers. As introduced in Chap. 4, a layered candidate set S can be obtained from an interference matrix to represent the precedence constraints of the components or subassemblies to be disassembled. Using the product in Fig. 7.2 as an example, the layered candidate set S can be represented by Eq. (7.15). x F1

F4

y

C2 C4

C3

C1

F3

F2

C1 C2 C3 C4 F1 F2 F3 F4

C1 0000 1001 1001 1001 1101 1011 1011 0001

Fig. 7.2 Example of a product to be disassembled

C2 0110 0000 0110 1110 1101 1011 0110 0001

C3 0110 1001 0000 0001 0000 0000 1011 0001

C4 0110 1101 0010 0000 0100 0000 0010 1101

F1 1111 1111 0000 1000 0000 0000 0010 1000

F2 1111 1111 0000 0000 0000 0000 0000 0000

F3 1111 1001 1111 0001 0001 0000 0000 0001

F4 0010 0010 0010 1111 0100 0000 0010 0000

1111 1111 1111 1111 1101 1011 1111 1101

98

7 Evolutionary Optimisation for Robotic Disassembly Sequence …

⎧ ⎧ 5 ◦ [3], 6 ◦ [2], 8 ◦ [3]; ⎪ ⎪ F1 ◦ [Y −], F2 ◦ [X +], F4 ◦ [Y −] ; ⎪ ⎪



⎪ ⎪ ⎪ ⎪ ⎪ ⎪ swappable swappable ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ C2 ◦ [Y −]; ⎨ 2 ◦ [3]; S= C4 ◦ [X + |Y −], F3 ◦ [X +]; = 4 ◦ [2|3], 7 ◦ [2];







⎪ ⎪ ⎪ ⎪ ⎪ ⎪ swappable swappable ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ C1 ◦ [X − |Y +], C3 ◦ [X + |Y −] 1 ◦ [1|4], 3 ◦ [2|3] ⎪ ⎪ ⎪ ⎪





⎪ ⎪ ⎩ ⎩

swappable

(7.15)

swappable

By using integer indices to represent the components and their disassembly directions, the candidate set can be edited as in the right term of Eq. (7.15). The components to be disassembled {C1, C2, C3, C4, F1, F2, F3, F4} are represented by {1, 2, 3, 4, 5, 6, 7, 8}, respectively, while the directions {-X, + X, -Y, + Y} are denoted as {1, 2, 3, 4}, respectively. An individual with integers can be generated from S by re-sorting the elements in a layer and selecting a direction from the direction list of the elements. An example is given in Fig. 7.3. The first eight gene-bits are the indices of the components, while the last eight gene-bits are the directions to disassemble them. The corresponding relationship between the sequence gene-bits and the direction gene-bits are labelled by dotted lines. It means the component 6 (F2) is disassembled at the first step along direction 2 (+X), and component 5 (F1) is removed at the second step along direction 3 (-Y). To ensure that every generated individual (i.e., sequence) is feasible, a PPX operator can be used to generate as demonstrated in Fig. 7.4. According to Eq. (7.1), a

6

5

8

2

4

7

1

3

2

The disassembly sequence

3

3

3

2

2

4

3

The disassembly directions

Fig. 7.3 An example individual of disassembly sequence planning with an integer encoding scheme

6

5

8

2

4

7

1

3

2

3

3

3

2

2

4

3

5

8

6

2

4

7

3

1

3

3

2

3

2

2

3

1

3

4

r 0.55 0.32 0.78 0.93 0.24 0.38 0.65 0.12 5

6

8

2

4

7

3

1

3

2

3

3

2

2

Fig. 7.4 The PPX to generate a new individual in disassembly sequence planning

7.3 Encoding Methods for Two Robotic Disassembly Optimisation Problems

99

random number is generated to determine whether a gene-bit is inherited from the first parent or the second one. If the random number r is less than 0.5, the leftmost gene-bit of the first parent that has not appeared in the new individual is selected. Eight random numbers are generated in the new individual in eight steps. In the beginning, the first gene-bit is inherited from the second parent, which is 5. Its direction in the ninth gene-bit is also inherited from the second parent, which is 3. Then, the second gene-bit is the leftmost bit of the first parent that has not appeared in the new individual ever, i.e., 6. The tenth bit is the corresponding direction of the 6th component in the first parent, i.e., 2. The third gene-bit goes back to the leftmost bit of the second parent that has not appeared in the new individual ever, i.e., 8, and the 3 + 8th gene-bit is assigned to 3 as the same as the direction of component 8 assigned in the second parent. The rest of the operations follow the same principle. Through using the above process, both the sequence and the directions of the new offspring are varied during the evolutionary operation. A mutation operator can be introduced to increase population diversity. The mutation should be divided into two steps based on the above integer coding scheme. In the first step, two gene-bits in the first encoding part allocated to the same layer of S can be swapped randomly along with their corresponding directions. Then, a gene-bit in the second part can be randomly re-generated according to the corresponding direction list defined in S. Figure 7.5 shows an example of the simple mutation process. In the first step, component 3 and component 1 in the last layer are selected for swapping. In the second step, the direction of component 4 is selected and changed to another direction in its direction list ([2, 3]). The two steps are optional. We can either adopt both steps or we can apply just one to update the population generated by a crossover operator. If more variables, such as the disassembly operations, the tools and the backup strategies are considered, they can be encoded as integers and be integrated into the above scheme, as shown in Fig. 7.6. An individual is generated based on three additional candidate lists, i.e., the candidate operation list, the candidate tool list, and the backup strategy list. As different components are disassembled in different operations, a component corresponds to a candidate list. For example, the bolts F1 and F2 can only be removed by screwing, which is encoded as {1}. The component C4 can be removed by screwing, pulling,

5

6

8

2

4

7

3

1

3

2

3

3

2

2

3

4

5

6

8

2

4

7

1

3

3

2

3

3

2

2

4

3

5

6

8

2

4

7

1

3

3

2

3

3

3

2

4

3

Fig. 7.5 A simple mutation operator to generate a new individual in disassembly sequence planning

100 6

7 Evolutionary Optimisation for Robotic Disassembly Sequence … 5

8

2

4

7

1

3

2

The disassembly sequence

1

1

1

2

1

2

1

The disassembly tools

3

3

3

2

2

4

3

The disassembly directions

1

2

2

2

3

1

2

1

1

1

2

3

3

1

3

4

The disassembly operations

1

The backup strategies

Fig. 7.6 An integer-based individual of disassembly sequence planning with five groups of variables

pushing, and absorbing. They are indexed by {1: screwing, 2: pulling, 3: pushing, 4: absorbing, …}. The candidate operation for F1, F2, F3, and F4 is {1}, while the candidate operations for C1, C2, C3, and C4 are {2, 3, 4}. Then, the third part of the individual shown in Fig. 7.6 means that F1, F2, F3, and F4 are removed by screwing; C1 and C2 are removed by pushing; C3 is disassembled by absorbing; and C4 disassembled by pushing. Similarly, each operation corresponds to one or more tools. If there are N tool tools for an operation, the candidate tool lists can be represented as {1, 2, · · · , Ntool }. The fourth part of the individual shown in Fig. 7.6 refers to F1, F2, F4, C1, C3 and C4 being disassembled by the tool indexed by 1, while C2 and F3 are removed by the 2nd tools. It should be noted that the 1st and the 2nd tools of screwing are different from those of pulling, etc. The fifth part of the individual in Fig. 7.6 is the indices of backup strategies. We have introduced three kinds of backup strategies in Chap. 5. As F1, F2, F3, F4 can be removed by only one direction, the first backup strategy, i.e., direction change is not applicable. Hence, in the encoding scheme, only the second or the third strategies can be selected. In the above example, the second strategy is selected. Similarly, the individual defines the backup strategy of C1, C3, and C4 as direction change actions, while that of C2 is assigned as a tool change action. Each element of the four parts following the sequence corresponds to a gene-bit of the sequence. In summary, let x I = {x I,1 , · · · , x I,40 } represent the gene-bits of an individual, then x I,i , i ∈ [1, 8] is the component that is to be disassembled in the ith step, while x I,i+8 , i ∈ [1, 8], x I,i+2×8 , i ∈ [1, 8], x I,i+3×8 , i ∈ [1, 8], and x I,i+4×8 , i ∈ [1, 8][1, 8] are the disassembly direction, operation, tool and backup strategy of the component, respectively. (2) Real-number coding Except for the above scheme, real-number coding is another common encoding method. Using the product in Fig. 7.2 as an example, real-number coding disassembly sequence planning with five kinds of decision variables is shown in Fig. 7.7. The gene-bits are random numbers in the range of [0,1]. The first part, i.e., the disassembly sequence, needs to be decoded in the first place. The real-number in this part is seen as the priorities of the eight components. Sorting them from small to large gives a sequence as shown in Fig. 7.8.

7.3 Encoding Methods for Two Robotic Disassembly Optimisation Problems

101

0.15 0.69 0.37 0.28 0.52 0.94 0.43 0.19 0.94 0.04 0.48 0.02 0.97 0.31 0.53 0.08 The disassembly sequence

The disassembly directions

0.79 0.15 0.45 0.14 0.58 0.03 0.94 0.81 0.22 0.14 0.92 0.20 0.67 0.17 0.33 0.90 The disassembly operations

The disassembly tools

0.71 0.12 0.81 0.16 0.53 0.66 0.98 0.43 The backup strategies

Fig. 7.7 An example individual of disassembly sequence planning with a real-number encoding scheme

Fig. 7.8 Decoding method of a real-number scheme based on the layered candidate set

5

6

8

2

4

7

1

3

0.15 0.69 0.37 0.28 0.52 0.94 0.43 0.19

5

8

6

2

4

7

3

1

0.15 0.37 0.69 0.28 0.52 0.94 0.19 0.43

According to the layered candidate set in Eq. (7.15), only the elements in the same layer are swappable. Hence, we sort the first eight gene-bits shown in Fig. 7.7 to generate a sequence, as demonstrated in the top line of Fig. 7.8. Each gene-bit corresponds to the serial number of an element. The gene-bits and the serial numbers in each layer are sorted from small to large. After that, a sequence {5, 8, 6, 2, 4, 7, 3, 1} is generated, as listed in bottom line of Fig. 7.8. Based on the sequence, the rest of the four parts are decoded to assign the disassembly directions, operations, tools and backup strategies. The decision variables of the four parts are non-sequential. Here is the decoding rule. Suppose there are N choices choices for a variable, from its gene-bit x, the Xth choice will be selected according to Eq. (7.16). X = x · Nchoices 

(7.16)

where [*] is the round-off operator. Take the individual shown in Fig. 7.8 as an example, the disassembly directions decoded from the second part of the real-number gene-bits are shown in Fig. 7.9. The components of indices 5, 6, 8, 2, and 7 can be disassembled in only one direction. No matter what gene-bits are generated, their decoded indices are 1. The components indexed 4, 1, and 3, have two choices, as labelled by the red dashed boxes. According to Eq. (7.16), the 2nd direction is selected for component C3 and C4, while the 1st direction is selected for C1. The actual directions are then assigned in accordance with the direction lists in S.

102

7 Evolutionary Optimisation for Robotic Disassembly Sequence …

5

8

6

2

4

7

3

1

The disassembly sequence

3

2

3

3

3

2

4

2

The actual directions

1

1

1

1

2

1

2

1

The indices

0.94 0.04 0.48 0.02 0.97 0.31 0.53 0.08 The disassembly directions Fig. 7.9 Decoding of the real-number gene-bits for disassembly direction selection

Similarly, each component corresponds to an operation list, a tool list and a backup strategy list. A real-number gene-bit can be decoded to an index that includes the elements in a list. According to Eq. (7.16), the rest of the three parts can be decoded in the same way. After the decoding process, the solution composed of a sequence and a group of directions, operations, tools and backup choices can be evaluated in a similar way as in Fig. 7.6. The real-number encoding scheme can also make sure that every individual is able to generate a feasible solution without violating the precedence constraints of disassembly sequence planning; hence, it allows the use of many classic evolutionary operators, such as SBX, different kinds of mutation operators, and the operators of continuous PSO. Different to the operators that we have demonstrated for the integer encoding scheme, the continuous operators can be applied to any gene-bits in one step to generate new individuals. (b) Encoding schemes for disassembly line balancing (1) Binary encoding Disassembly line balancing aims to find a group of suitable disassembly tasks and assign them to a limited number of stations to minimise the total disassembly time, balance the workload of the stations and maximise the disassembly profit. As discussed in Chap. 6, binary encoding is the most straightforward way to represent the decision variables, i.e., the disassembly tasks; the stations assigned to perform these tasks; the remedial strategies; and the number of parallel tools assigned to each station. As the number of disassembly tasks and the number of stations is not constant, the length of the individual is a variable or can be set as a big constant. If the maximum number of tasks to disassemble a product is Ntask,max , and the maximum number of stations is Nstation,max , the maximum length of an individual n g,max can be calculated using Eq. (7.17). n g,max = Ntask,max · Nstation,max + 2Ntask,max + r · Nstation,max

(7.17)

The first part of an individual with Ntask,max gene-bits defines whether a disassembly task is performed. The second part with Ntask,max · Nstation,max gene-bits

7.3 Encoding Methods for Two Robotic Disassembly Optimisation Problems

103

denotes whether a task is executed in station k ∈ [1, Nstation,max ]. The third part with Ntask,max gene-bits defines the remedial strategies for these tasks, while the fourth part with r · Nstation,max gene-bits defines the number of parallel tools in each station. This encoding scheme requires a method to avoid constraint violations. As discussed in Chap. 6, different product representations correspond to different optimisation models and different constraint rules. If the operators are applied to generating new individuals, an adjustment process should be introduced to ensure the feasibility of the offspring. For example, the remedial strategy of a task can be F-task only if all of its parents in the same station are assigned an F-task. Therefore, each gene-bit in the third part is checked according to the task graph. In addition, in the second part of an individual, only one gene-bit in Nstation,max is assigned as 1 as a task can be assigned to only one station. Unsuitable evolutionary operators will generate a large number of infeasible individuals. Hence, problem-dependent heuristics should be applied in order to replace the classical evolutionary operators. This will ensure the feasibility of each individual. (2) Integer encoding A key benefit of using integer encoding is its less space complexity and time consumption. If AOG or TAOG is adopted as the product representation, the number of tasks can vary with different solutions. If the interference matrix is adopted and the elements to be disassembled are organised in a layered candidate set S, the number of tasks is fixed according to the size of S. Take the product shown in Fig. 7.2 as an example, an integer-encoded individual for disassembly line balancing can be drawn in Fig. 7.10. This individual is generated using the layered candidate set S. Each element represents a disassembly task. Thus, the number of tasks is the number of elements in S. The first part of the individual is a task sequence representing the order of tasks to be executed; {6, 5, 8, 2, 4, 7, 1, 3} refers to removing F2, F1, F4, C2, C4, F3, C1, and C3 in the sequence. A task can only be assigned to a station after or along with its precursor. The second part is a group of integer numbers that start from 1 and each gene-bit can be only the same or larger than its precursor neighbour. The third part contains 0 and 1 as there are only two choices, F-task, and P-task, in the model.

6

5

8

2

4

7

1

3

1

The disassembly tasks

0

1

1

1

0

1

1

The remedial strategies

2

2

3

3

4

5

6

The disassembly stations

1

1

2

2

2

2

1

1

1

The number of parallel tools

Fig. 7.10 An integer-based individual of disassembly line balancing with five groups of variables. The top left, top right, bottom left and bottom right parts are referred to as the first, second, third and fourth parts in the following discussions

104 6

7 Evolutionary Optimisation for Robotic Disassembly Sequence … 5

8

2

4

7

1

3

1

The disassembly tasks

5

8

6

2

4

7

3

2

2

3

3

4

5

6

0

The disassembly stations

1

1

The disassembly tasks

1

2

3

4

4

5

1

1

0

0

1

1

1

1

The remedial strategies

5

0

0

1

1

1

0

1

0

2

The remedial strategies

The disassembly stations

2

2

2

2

1

1

1

The number of parallel tools

2

1

1

2

2

2

2

The number of parallel tools

r 0.55 0.32 0.78 0.93 0.24 0.38 0.65 0.12 5

6

8

2

4

7

3

The disassembly tasks

1

1

1

2

3

3

4

5

The disassembly stations

5

0

0

0

1

0

1

1

1

The remedial strategies

2

2

1

1

1

1

2

2

The number of parallel tools

Fig. 7.11 The PPX-based operation to generate a new individual of disassembly line balancing

A task can be an F-task only if all of its parents in the same station are assigned as an F-task; a gene-bit should always be smaller than those corresponding to the same station. For example, components 5 and 8 are assigned to the 2th station. Component 5 is the precursor of component 8. Hence, only if component 5 adopts the F-task (the second gene-bit of the third part) can component 8 adopt the F-task (the third gene-bit of the third part). Similarly, components 2 and 4 are assigned to the 3rd station. As component 2 adopts the F-task (the fourth gene-bit of the third part), the remedial strategy of component 4 can be either an F-task or P-task (the fifth gene-bit of the third part). On the contrary, in the third part, if the fourth gene-bit is 0, the fifth one can only be 0 (that is less than the precursors assigned to the same station). In the fourth part, the gene-bits should be less than the maximum number of parallel tools that can be assigned to a station, Ntool,max . A constraint is that the gene-bits corresponding to the same stations should be the same. In this integer encoding, the PPX-based operation can be applied to generating new offspring, as in Fig. 7.11. The PPX is applied to the first part, while the corresponding gene-bits in the second part will be selected according to Eq. (7.18). (1) (2)   = min(x8+i , x8+i , x8+i−1 + 1) x8+i

(7.18)

(1) (2)  and x8+i are the (8 + i)th gene-bits of the two parents, and x8+i is one of where x8+i the offspring. The third part is also generated following the first part, according to Eq. (7.19). Specifically, component 5 is inherited from parent 2, the remedial strategy is inherited as 0. The second task is to dismantle component 6 according to parent 1, the remedial strategy is 0 from parent 1, and so on. If there exists a gene-bit that violates the remedial strategy constraint, the gene-bit is adjusted to 0 (i.e., it is set as a P-task). The gene-bits of the fourth part, i.e., the number of parallel tools should be consistent if the corresponding components are assigned to the same station. This can be represented by Eq. (7.19).     = x8+i+1 , then x3×8+i = x3×8+i+1 if x8+i

(7.19)

7.3 Encoding Methods for Two Robotic Disassembly Optimisation Problems

105

The fourth part can be generated according to the random numbers r. For instance, the first random number 0.55 > 0.5, the 1st gene-bit of the fourth part will be 2 according to that of parent 2. The 2nd gene-bit of the fourth part will be 2, and the 3rd gene-bit of the fourth part will be 1, and so on. If the same station is assigned a different number of parallel tools, Eq. (7.19) is applied to fix the gene-bits. Similarly, classical mutation operators for the integer encoding scheme can be applied in each of the four parts to generate new individuals. The first part can be mutated by swapping. The second part can be updated following the constraint shown by Eq. (7.18). The gene-bits of the third part whose precursor is a P-task can be mutated randomly, while the gene-bits that correspond to a same station can be randomly re-generated to an integer less than Ntool,max . (3) Real-number encoding Similar to the integer encoding scheme, real-number encoding can be also be adopted to represent a solution in disassembly sequence planning. The gene-bits are all generated between 0 and 1. For instance, a real-number coding of disassembly line balancing is demonstrated in Fig. 7.12. It can be decoded as the solution shown in Fig. 7.13. The first part is decoded according to Fig. 7.8. In the second part, the first gene-bit always starts from 1. If the following gene-bit is less than 0.5 and the station of its precursor has enough capacity, the corresponding disassembly task is assigned to the same station. Otherwise, a new station is opened. For instance, the 2nd gene-bit of the second part in Fig. 7.12 is 0.04 < 0.5; the 2nd variable of the second part in Fig. 7.13

0.15 0.69 0.37 0.28 0.52 0.94 0.43 0.19 0.94 0.04 0.48 0.02 0.97 0.31 0.53 0.08 The disassembly sequence

The disassembly stations

0.79 0.15 0.45 0.14 0.58 0.03 0.94 0.81 0.22 0.14 0.92 0.20 0.67 0.17 0.33 0.90 The remedial strategies

The number of parallel tools

Fig. 7.12 An example individual of disassembly sequence planning with a real number encoding scheme. The first part (top left) can be the same as that of disassembly sequence planning. The second part (top right) can be the possibility of assigning the corresponding task to a new station; the third part (bottom left) means the possibility of assigning an F-remedial strategy to each task. The fourth part (bottom right) can be also generated according to Eq. (7.16) within the constraint shown by Eq. (7.19)

5

8

6

2

4

7

3

1

1

1

The disassembly sequence 1

0

0

0

1

0

The remedial strategies

1

2

3

3

4

4

1

3

The disassembly stations 1

1

1

1

3

1

2

1

The number of parallel tools

Fig. 7.13 Decoding of the individual shown in Fig. 7.12 to form a disassembly line balancing solution

106

7 Evolutionary Optimisation for Robotic Disassembly Sequence …

is station 1, and so on. Since the 3rd disassembly task is also assigned to station 1, station 1 may run out of capacity according to a specific station definition. Although the 4th gene-bit of the second part is 0.02, it is set as a new station, i.e., station 2. The third part is decoded according to the rule by Eq. (7.20).  v2×8+i =

1, if (v8+i−1 = v8+i−1 and v2×8+i−1 = 1) or x8+i > 0.5 0, otherwise

(7.20)

where v = {v1 , v2 , · · · } is the decoded solution. Let Ntool,max = 3, the numbers of parallel tools in the fourth part are decoded to the variables ranging from 1 to 3 as well. Obviously, the decoding process and evolutionary operation for the real-numberbased individual are simpler than the previous two encoding schemes. It allows all classical evolutionary operators designed for a continuous domain to be applied to this problem without constraint violation. In summary, an encoding scheme’s performance is determined by not only its space and time complexity, but also the evolutionary operators. Using fixed evolutionary operators can help generate more diverse solutions without constraint violations. The encoding scheme with fewer decoding operations and fewer additional adjustment operations after evolutionary operation is also a preferred choice, since it is able to reduce the overall optimisation time.

7.4 Algorithm Configuration The encoding scheme, evolutionary operator and solution selection are three cores to formulate a problem-specific evolutionary algorithm, while algorithm initialisation, solution maintenance strategy and terminal condition are key to controlling the evolutionary procedures. (1)

Algorithm initialisation

Algorithm initialisation means to generate a group of population and assign initial values, such as the velocity set of the PSO and the neighbourhood scale set of the BA. The primary methods to initialise include random initialisation and symmetrical initialisation. Random initialisation is assigning a random value to each gene-bit that satisfies problem constraints, while symmetrical initialisation refers to separating the solution space into evenly distributed blocks and randomly allocating an equal number of individuals to each block. For both disassembly sequence planning and disassembly line balancing, the solution space can be divided according to different parts of decision variables. It is possible to fix half of the decision variables and generate the rest randomly. Since the sequence of disassembly elements is the main part of

7.4 Algorithm Configuration

107

the two problems, the solution space can be also be divided by evenly grouping the swappable layers. A crowd population initialisation may lead to local convergence. To avoid local convergence, different ways of population initialisation can be applied to re-generate new individuals as a global search operator, such as that in the BA. (2)

Solution maintenance

Solution maintenance is to keep the best solutions and the potential solutions in each generation. It can be seen as an archive which can provide potential information for solution selection and updates, and provide the final optimisation result for the decision maker. For the SOEA, only the one best solution ever found in the evolutionary process is required to be archived, termed as the global best solution. Sometimes the best trace of each individual is also stored for evolutionary operations, such as the local best individual set lbest in the PSO. When a better offspring population is generated, the global best solution is updated. The worst individual of a new population for the next generation can be also updated by the global best individual according to an elitist strategy, which can lead to faster convergence and the maintenance of good solution information. For the MOEA, a group of non-dominated solutions should be archived in a Pareto front set. In each generation, the individual of an offspring population that cannot be dominated by those in the Pareto front set will be added into the set. Those that are dominated by the new individual will be removed from the Pareto front set. With the increase of objectives, the size of the Pareto front set may be expanded and made larger than the size of a population. A possible solution is to adopt an upper limit for the size of the Pareto front set. If the number of Pareto front solutions exceeds the limit, a trimming process will be introduced to remove lower potential solutions in this set, until the size is under the upper limit. Random trimming is a simple method but may also remove good individuals. Therefore, most research uses crowd distance as introduced in the NSGA-II to evaluate the solutions in the Pareto front set. Those with lower crowd distance will be removed in the trimming process to maintain the diversity of the Pareto front set. In addition, one can also archive a fixed number of non-dominated solutions along a group of weight vectors in accordance with the MOEA/D to offer evenly distributed choices for the decision maker. (3)

Terminal condition

The terminal condition controls the search time of an evolutionary algorithm. Two simple terminal conditions are: (1) the maximum number of generations is reached; and (2) the optimal solution is found within a small absolute error. However, the optimum of many practical problems is unknown. Hence, researchers and engineers prefer to use the maximum number of generations as a uniform terminal condition in the algorithm design and comparison.

108

7 Evolutionary Optimisation for Robotic Disassembly Sequence …

Except for these two commonly used rules, the states of evolution can be also applied as the terminal condition. For instance, the number of generations in which the global best solution or the Pareto front set are not updated can be adopted as a criterion.

7.5 Summary The performance of an evolutionary algorithm in solving disassembly sequence planning or disassembly line balancing greatly depends on six parts: the evolutionary operator; encoding scheme; solution selection and update strategy; population initialisation; solution maintenance; and terminal condition. This chapter has introduced classical SOEAs with typical evolutionary operators, and MOEAs with typical solution selection and update strategies. The chapter has also elaborated on common encoding schemes. Typical settings on algorithm initialisation, solution maintenance and terminal conditions have been introduced to help engineers to design efficient evolutionary algorithms for robotic disassembly optimisation problems.

References 1. Lambert AJ (2003) Disassembly sequencing: a survey. Int J Prod Res 41(16):3721–3759 2. McGovern SM, Gupta SM (2007) A balancing method and genetic algorithm for disassembly line balancing. Eur J Oper Res 179(3):692–708 3. Kongar E, Gupta SM (2006) Disassembly sequencing using genetic algorithm. Int J Adv Manuf Technol 30(5–6):497–506 4. Kalayci CB, Gupta SM (2013) A particle swarm optimization algorithm with neighborhoodbased mutation for sequence-dependent disassembly line balancing problem. Int J Adv Manuf Technol 69(1–4):197–209 5. Liu J, Zhou Z, Pham DT, Xu W, Ji C, Liu Q (2018) Robotic disassembly sequence planning using enhanced discrete Bees Algorithm in remanufacturing. Int J Prod Res 56(9):3134–3151 6. Xia K, Gao L, Li W, Chao KM (2014) Disassembly sequence planning using a simplified teaching–learning-based optimization algorithm. Adv Eng Inform 28(4):518–527 7. Deb K, Pratap A, Agarwal S, Meyarivan TAMT (2002) A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evol Comput 6(2):182–197 8. Sivaraj R, Ravichandran T (2011) A review of selection methods in genetic algorithm. Int J Eng Sci Technol 3(5):3792–3797 9. Lipowski A, Lipowska D (2012). Roulette-wheel selection via stochastic acceptance. Phys A Stat Mech Appl 391(6):2193–2196 10. Miller BL, Goldberg DE (1995) Genetic algorithms, tournament selection, and the effects of noise. Complex Syst 9(3):193–212 11. Whitley D, Sutton AM (2012) Genetic algorithms-a survey of models and methods. In: Handbook of natural computing. Springer, Berlin and Heidelberg, pp. 637–671 12. Goldberg D E (1989) Genetic algorithms in search, optimization, and machine learning. Addison-Wesley, Reading, MA

References

109

13. Hu XB, Di Paolo E (2009) An efficient genetic algorithm with uniform crossover for air traffic control. Comput Oper Res 36(1):245–259 14. Deb K, Agrawal RB (1995) Simulated binary crossover for continuous search space. Complex Syst 9(2):115–148 15. McGovern SM, Gupta SM, Kamarthi SV (2003) Solving disassembly sequence planning problems using combinatorial optimization. In: Proceedings of the 2003 northeast decision sciences institute conference, Providence, Rhode Island, pp 178–180 16. Houck CR, Joines J, Kay MG (1995) A genetic algorithm for function optimization: a Matlab implementation. NCSU-IE TR 95(09):1–10 17. Singh A, Gupta N, Sinhal A (2011) Artificial bee colony algorithm with uniform mutation. In: Proceedings of the international conference on soft computing for problem solving, Springer, India, pp 505–511 18. dos Santos CLA (2008) quantum particle swarm optimizer with chaotic mutation operator. Chaos, Solitons Fractals 37(5):1409–1418 19. Feng Y, Yang J, Wu C, Lu M, Zhao XJ (2018) Solving 0–1 knapsack problems by chaotic monarch butterfly optimization algorithm with Gaussian mutation. Memet Comput 10(2):135– 150 20. Yeh WC (2012) Simplified swarm optimization in disassembly sequencing problems with learning effects. Comput Oper Res 39(9):2168–2177 21. Schwefel HPP (1993) Evolution and optimum seeking: the sixth generation. Wiley, New York, pp 456 22. Gupta SM, McGovern SM (2004) Multi-objective optimization in disassembly sequencing problems. In: Proceedings of the 2nd world conference on production & operations management and the 15th annual production & operations management conference, 2004, Cancun, Mexico, Paper 002–0270 23. Ren Y, Tian G, Zhao F, Yu D, Zhang C (2017) Selective cooperative disassembly planning based on multi-objective discrete artificial bee colony algorithm. Eng Appl Artif Intell 64:415–431 24. Ding LP, Feng YX, Tan JR, Gao YC (2010) A new multi-objective ant colony algorithm for solving the disassembly line balancing problem. Int J Adv Manuf Technol 48(5–8):761–771 25. Aydemir-Karadag A, Turkbey O (2013) Multi-objective optimization of stochastic disassembly line balancing with station paralleling. Comput Ind Eng 65(3):413–425 26. Zitzler E, Laumanns M, Thiele L (2001) SPEA2: improving the strength Pareto evolutionary algorithm. TIK-report, 103 ETH Zurich, Institut für Technische Informatik und Kommunikationsnetze. https://doi.org/10.3929/ethz-a-004284029 27. Li K, Deb K, Zhang Q, Kwong S (2014) An evolutionary many-objective optimization algorithm based on dominance and decomposition. IEEE Trans Evol Comput 19(5):694–716 28. Zhang Q, Li H (2007) MOEA/D: A multiobjective evolutionary algorithm based on decomposition. IEEE Trans Evol Comput 11(6):712–731 29. Hughes EJ (2003) Multiple single objective Pareto sampling. In The 2003 congress on evolutionary computation, 2003. CEC‘03 Canberra, ACT, Australia, vol 4, pp 2678–2684. https:// doi.org/10.1109/CEC.2003.1299427 30. Cheng R, Jin Y, Olhofer M, Sendhoff B (2016) A reference vector guided evolutionary algorithm for many-objective optimization. IEEE Trans Evol Comput 20(5):773–791 31. Zitzler E, Künzli S (2004) Indicator-based selection in multiobjective search. In: International conference on parallel problem solving from nature. Springer, Berlin and Heidelberg, pp 832– 842 32. Beume N, Naujoks B, Emmerich M (2007) SMS-EMOA: Multiobjective selection based on dominated hypervolume. Eur J Oper Res 181(3):1653–1669 33. Bader J, Zitzler E (2011) HypE: An algorithm for fast hypervolume-based many-objective optimization. Evol Comput 19(1):45–76 34. Li B, Li J, Tang K, Yao X (2015) Many-objective evolutionary algorithms: A survey. ACM Comput Surv (CSUR) 48(1):1–35 35. Li K, Wang R, Zhang T, Ishibuchi H (2018) Evolutionary many-objective optimization: a comparative study of the state-of-the-art. IEEE Access 6:26194–26214

110

7 Evolutionary Optimisation for Robotic Disassembly Sequence …

36. Chand S, Wagner M (2015) Evolutionary many-objective optimization: a quick-start guide. Surv Oper Res Manag Sci 20(2):35–42 37. Ishibuchi H, Sato H (2019) Evolutionary many-objective optimization. In: Proceedings of the genetic and evolutionary computation conference, GECCO’19, pp 614–661. https://doi.org/ 10.1145/3319619.3323377

Chapter 8

Solutions for Robotic Disassembly Sequence Planning with Backup Actions

8.1 Overview Autonomous disassembly using robots has been proposed to replace costly and inefficient manual disassembly [1]. A fundamental function of autonomous disassembly is the automatic generation of efficient disassembly plans [2–4]. The end-of-life (EOL) products’ complex and unknown condition requires disassembly sequence plans to be flexible. However, current industrial automation systems are designed mostly for pre-determined and repetitive tasks and cannot deal with such a high level of uncertainty [5–7]. Some aspects of uncertainty in EOL products and their effects on disassembly sequence planning have been studied in the literature. For example, disassembly time can be seen as a normal distribution or a fuzzy system [2, 8], and a product’s condition can be assessed through visual identifications [9]. Human-robot collaboration in disassembly (i.e., cobotic disassembly) has also been proposed to deal with uncertainties [10]. Uncertainties (e.g., rusted bolts and jammed bearings) may also cause a robotic disassembly operation to fail. Failures of disassembly have been discussed in connection with disassembly line balancing problems, where preventive and destructive strategies were proposed [11]. The research assumed the failures were repairable or skippable and a feasible sequence plan is always available. However, in practice, a sequence plan may be terminated if a pre-determined operation fails; for instance, a jammed bearing cannot be removed by the pre-determined operation, which will hinder the removal of the following components. The completion rate of a sequence plan, i.e., the rate of a plan being executed in full, can be low. There are three common actions that can remove a component when the preassigned operation fails, i.e., changing the disassembly direction, adjusting the preassigned operation with vibration or compliance or heating, and changing the disassembly tool. For instance, the ways to handle the jammed bearing include pulling © The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2_8

111

112

8 Solutions for Robotic Disassembly Sequence Planning …

from a different direction, applying vibration, and using a different tool. These actions can be assigned as an automatic backup in the disassembly process. If the predetermined operation fails, these operations can be triggered to handle the situation, and increase the completion rate of a sequence plan. This chapter studies failure in robotic disassembly sequence planning and uses backup actions to solve the problems discussed above. The main focus of this chapter is as follows. (1)

(2)

(3)

Backup actions to reduce human assistance during a disassembly process. A backup action is defined as the additional operation assigned to the robot in response to a disassembly failure detected in a specific step. Three backup actions which have been used in practice are introduced as the responses to disassembly failure. The optimisation model of robotic disassembly sequence planning is reformulated by incorporating backup actions. The completion rate and the expected disassembly time of a sequence plan are deduced for the first time. The mathematical model aims to optimise the disassembly sequence and direction, as well as determining the required online automated backup actions if a failure happens. A dual-selection multi-objective evolutionary algorithm, termed as DSMOEA, is introduced to solve the robotic disassembly sequence planning problem considering product uncertainty. The algorithm combines two selection rules from the non-dominated sorting genetic algorithm III (NSGA-III) [12] and the indicator-based evolutionary algorithm (IBEA) [13], respectively, to find potential evolutionary individuals. It also incorporates a modified precedence preservation crossover (PPX) [14] and a problem-specific mutation to update the individuals. Three case studies are given to verify the planning model and the algorithm. From the experiments one can view that backup actions improve the expected completion rate greatly. The proposed algorithm outperforms four other classical algorithms by identifying better solutions in shorter computational time.

8.2 Problem Formulation 8.2.1 Backup Actions As a task failure can happen in any step of a disassembly sequence, every disassembly operation to remove element xi in a disassembly sequence has a failure probability rxi . Backup actions are additional actions to disassemble a target when a failure is detected. Each action requires a certain amount of time and has a probability of recovering a disassembly process from a failure. A robot does not have the intelligence to select the most appropriate backup action following a failure. Carrying out

8.2 Problem Formulation

113

all possible actions until the target element is removed (i.e., the exhaustive method) can be time-consuming. Thus, we incorporate the selection of the backup actions with the aim of establishing a reliable automated disassembly sequence plan. Three types of backup actions are discussed in this paper, i.e., direction change action, auxiliary recovery action, and tool change action. A direction change action performs the original operation in another direction, it requires a short time to adjust the direction of the robotic manipulator and re-perform the disassembly operation. Suppose the basic disassembly time of xi is txi , and the direction change time from a direction y to y’ is ϕy,y , the time of a direction change action for handling the target xi can be estimated according to Eq. (8.1). τxi ,1 = txi + ϕyi ,yi

(8.1)

An auxiliary recovery action performs an additional operation, such as compliance control, vibration, and unscrewing based on the original operation. The action is carried out using the same tool according to the feedback force and torque in the disassembly process. If the target component is removed under a specific force and torque that do not exceed the maximum values, the backup action will be a success. Otherwise, if the target component cannot be removed by a maximum force and torque, the backup action fails. The time for such an auxiliary recovery action is determined by the geometric size and the EOL condition of the target component. For example, if a long shaft corrodes or rusts seriously, vibration under a low speed can be used to extract the shaft and make sure a suitable force and torque are used against the large friction. The time needed for this backup action will be the basic time of extraction operation multiplied by the ratio of the new velocity and the original velocity. Let the original velocity of dismantling xi be vxi and the new velocity of a specific auxiliary recovery action to be vx i , the time for the second type of backup action can be estimated by Eq. (8.2). The two velocities are also two pre-known parameters in the disassembly process. τxi ,2 = txi

vxi vx i

(8.2)

A tool change action adopts a new tool to remove the target component. With new tools, more actions can be adopted: such as using a heat gun for heat treatment on the target; adopting a hammer to loosen the target; and using a cutter or drill to change the structure of the target. Therefore, this type of action can be non-destructive or destructive. The time needed for such backup action for an element xi is calculated by Eq. (8.3). It is the summation of: the time needed to change from an old tool λi to the new tool λi , defined as φλi ,λi ; the operational time by the new tool, denoted as ζxi ,λi ; the time to change back to original tool φλi ,λi = φλi ,λi ; and the basic operational time to remove the target completely. Since being destructive is available in this type of action, its success rate to handle the failure issues is higher than the previous two actions.

114

8 Solutions for Robotic Disassembly Sequence Planning …

τxi ,3 = 2φλi ,λi + ζxi ,λi + txi

(8.3)

The success rate of a backup action can be obtained from practice empirically. One simple way is to set the success rate of the action as 1 initially, and update it according to the actual recovery result when task failure happens. Let the success rate of a backup action of type k for removing xi to be qxi ,k , it can be updated by Eq. (8.4). ) = qx(old + (1 − )Λ qx(new) i ,k i ,k

(8.4)

where Λ is a binary label to denote the actual recovery result of the k-th action in a disassembly process. Then Λ = 1 represents the target element is successfully disassembled by the backup action. Otherwise, Λ = 0, and  is an inertia to accept the new experience for updating qxi ,k . It should be noted that whether the first action is applicable to the i-th element in S depends on its direction set dxi . If there is merely one possible direction in dxi to disassemble xi , the direction change action would be invalid and thus the other two options should be chosen directly.

8.2.2 Expected Disassembly Time and Completion Rate To incorporate the selection of backup actions as decision variables, this work denotes zi,k , i ∈ [1, m], k ∈ [1, 3] as a binary variable of determining whether the k-th backup action is adopted to disassemble the element xi . For example, zi = {zi,1 , zi,2 , zi,3 } = {010} means that only the auxiliary recovery action is adopted to remove xi if a failure happens. When multiple backup actions are adopted, the three actions are applied sequentially. For instance, zi = {zi,1 , zi,2 , zi,3 } = {101} means that the first and the third backup actions are prepared. When a failure happens, the first backup action is applied to remove xi . If xi is still unremovable, the third one will be applied to handle xi . The original failure probability to disassemble xi has been defined as rxi . Let the success rate of the k-th backup action for removing xi be qxi ,k . Equation (8.5) defines the failure probability of disassembling xi when backup actions are prepared. pxi = rxi

3 

(1 − zi,k qxi ,k )

(8.5)

k=1

The basic time taken in dismantling xi has been defined to txi and the direction change time between two directions yi and yi+1 is ϕyi ,yi+1 . Metrics proposed by Kroll et al. [15] can be used to estimate txi , while metrics proposed by Liu et al. [16] can be used to estimate the transition time ϕyi ,yi+1 . Marconi et al. [17] proposed analysing

8.2 Problem Formulation

115

historical data for these estimations. Accordingly, the expected disassembly time ¯txi for xi with backup actions can be calculated by using Eq. (8.6). ⎧ txi + ϕyi ,yi+1 + rxi zi,1 τxi ,1 + rxi (1 − zi,1 qxi ,1 )zi,2 τxi ,2 ⎪ ⎪ ⎨ if i < m ¯txi = +rxi (1 − zi,1 qxi ,1 )(1 − zi,2 qxi ,2 )zi,3 τxi ,3 ⎪ txi + rxi zi,1 τxi ,1 + rxi (1 − zi,1 qxi ,1 )zi,2 τxi ,2 ⎪ ⎩ +rxi (1 − zi,1 qxi ,1 )(1 − zi,2 qxi ,2 )zi,3 τxi ,3 if i = m

(8.6)

If applying the selected backup actions still cannot remove xi , the disassembly process will terminate, and manual checks and remedy by a human worker will be requested. In this case, the overall disassembly time of a sequence plan upon the termination is formulated by Eq. (8.7). T = px1 tx1 + (1 − px1 )px2

2 

txi + (1 − px1 )(1 − px2 )px3

i=1

+

m−2 

(1 − pxj )pxm−1

j=1

m−1  i=1

txi +

3 

txi + · · ·

i=1 m−1 

(1 − pxj )

j=1

m 

txi

i=1

⎛ ⎞ m−1  s−1 s m−1 m     ⎝ (1 − pxj )pxs = px1 tx1 + txi ⎠ + (1 − pxj ) txi . s=2

j=1

i=1

j=1

(8.7)

i=1

If a disassembly terminates at the first task x1 , the overall disassembly time is t1 only. The probability that the process terminates at the ith (1 < i < m) task to disassemble xi is (1 − pxi ) · · · (1 − pxi−1 )pxi . The expected time to remove m elements is m−1 i=1 txi . Accordingly, the completion rate of the sequence plan is defined as Υ and can be calculated as in Eq. (8.8). The numerator represents the number of successful operations, and the denominator is the total number of elements m to be disassembled. ⎡ Υ = ⎣px1 +

m−1  k=2

⎛ ⎝k

k−1  j=1

⎞ (1 − pxj )pxk ⎠ + m

m−1 

⎤ (1 − pxj )⎦/m.

(8.8)

j=1

8.2.3 Mathematical Model In summary, the robotic disassembly sequence planning problem with backup actions contains m + m + 3m = 5m variables as follows. (1)

xi , i ∈ [1, m] defines the sequence of the candidate elements to be disassembled;

116

8 Solutions for Robotic Disassembly Sequence Planning …

(2)

yi , i ∈ [1, m] designates the direction to disassemble each element in the above sequence; zi,k , i ∈ [1, m], k ∈ [1, 3] determines whether the three types of backup actions are prepared for disassembling the elements in the above sequence.

(3)

A solution for the robotic disassembly sequence planning problem contains 5 · m variables as shown in Eq. (8.9). X = {x1 , x2 , . . . , xm |y1 , y2 , . . . , ym |z11 , z12 , z13 , . . . , zm1 , zm2 , zm3 }

(8.9)

The main objectives of this problem are minimising the total disassembly time and maximising the completion rate of a disassembly sequence. 

(1)Minimize T , (2)Maximize Υ.

(8.10)

subject to: (1) (2) (3) (4)

1 Um , then the individual of the minimum crowd distance is removed from U; P’ and P” are combined to form the new union set for the next iteration.

118

8 Solutions for Robotic Disassembly Sequence Planning …

8.3.1 The Dual-Selection Strategy for Solution Exploration The solution selection acts as the primary criteria dividing the state-of-the-art MOEAs into three categories: Pareto-based algorithm; decomposition-based algorithm; and indicator-based algorithm. The decomposition-based algorithm maintains only a group of representative individuals, while the other two find the evolutionary seeds from a union set. To preserve a higher individual diversity in each iteration, this chapter combines the selection schemes of both the NSGA-III and the IBEA as shown in the dashed boxes of Fig. 8.1. Specifically, the population P is sorted into several non-dominated levels {F1 , F2 , . . . , Fi , . . .} using the fast non-dominating sorting strategy. The individ uals from the first l fronts, which satisfy li=1 |Fi | ≤ 2n , are put into the mating pool. If l |Fi | = 2n , the first-round selection is finished directly. Otherwise, the first l i=1 i=1 |Fi | individuals are normalised by an ideal point in line with a group of evenly distributed weight vectors. A set of reference points are also introduced to define the perpendicular distances between the individuals and the reference lines. The individuals in Fl+1 which associate the reference point with the smallest niche are selected to fill half of the mating pool P’. The details of the adaptive normalisation, association and niche-preservation operation can be found in [12]. In the second-round selection, the ε-indicator is introduced to designate a scalar fitness value to each individual of P. The rest of the individuals of the higher εindicator are selected through a binary tournament process. To be specific, two individuals are picked arbitrarily at a time and the one with the better ε-indicator is put into P’. The mating pool P’ will be filled in 2n times of the random selection. The dual-selection strategy can be summarised in Fig. 8.2. The ε-indicator-based tournament selection can decrease the front level for the association and nichepreservation. Fewer front individuals are directly selected for the next evolution.

Fig. 8.2 The dual-selection process of the DS-MOEA

8.3 The Dual-Selection Multi-objective Evolutionary Algorithm

119

Niche preservation is implemented near the top fronts. In addition, the potential individuals which are not in the first fronts but with high ε-indicators can be selected complementarily to improve the diversity of the mating pool P’. The proposed selection process ensures that the potential individuals in both evaluation criteria are embraced. Performing non-dominating sorting and reference point association-based niche preservation operation in the first round ensures a diverse selection in the earlier fronts. If an indicator-based binary tournament selection is used in the first place, niche preservation selection will be carried out for a front level ranking far behind the original one. Potential individuals with either a low dominated level or better indicator are easier to lose.

8.3.2 The Variation Operators for Solution Exploitation According to Eqs. (8.7) and (8.8), the success rate of each disassembly step is highly dependent on its previous operations. The sequence considering dependent failure probabilities cannot be separated as independent blocks and it is inappropriate to calculate the disassembly time and success rate of a single block. Hence, many efficient operators [19, 20] cannot applied to the model proposed in this chapter. Therefore, this chapter adopts a simple precedence preservation-based operator to find new solutions in each generation. As the sequence to be optimised is followed by the direction and backup variables, a modified PPX and a bisectional mutation operator are designed to change the order of a detachable element, its direction \hl{, and the backup action choices. A solution can be regarded as a matrix of three rows: the disassembly order, disassembly direction, and backup action choices. Each step of the PPX performs on a column. An example of the modified PPX is demonstrated in Fig. 8.3. It includes two steps of information exchange. In the first step, a group of m random numbers are generated. If a random number rk , k ∈ [1, m] is lower than 0.5, the leftmost column of parent 1 is adopted to the offspring individual as its k-th column. Otherwise, the leftmost column of parent 2 is assigned as the k-th column of the offspring. The corresponding disassembly element in both parents is then removed after the assignment. Not only are the precedence constraints maintained from this operator, but the directions and backup actions corresponding to each element in different parents are interchangeably inherited to the offspring. In the next step, two elements of the child individual are selected randomly, three random numbers {r1 , r2 , r3 } are generated to determine whether their backup actions are exchanged. If rk , k ∈ [1, 3] is larger than 0.5, the decision variables for deciding whether the k-th backup action is applied for the two elements are exchanged. The bisectional mutation is designed as shown in Fig. 8.4. It uses two random numbers r1 and r2 to generate a two-layer random decision. The first layer decides whether the sequence variation or the element-wise variation is to be performed. When r1 < 0.5, the sequence variation operator will locate to a layer of the candidate

120

8 Solutions for Robotic Disassembly Sequence Planning …

Fig. 8.3 An example of the modified PPX operator

r1 NSGA-III > NSGA-III > MOEA/D. In summary, the experimental results show that NSGA-III is more suitable for large-scale decision making, while NSGA-II is more useful for small-scale scenarios. The crowd distance assignment seems to be more appropriate for the small-scale disassembly. But since the ε-indicator is adopted as a supplement in the proposed algorithm, more dynamic candidates should be filtered from the top fronts. Thus, the selection strategy of NSGA-III is more suitable to be used in combination with the ε-indicator than that of NSGA-II. The results have also proved the performance Table 8.5 The HV and IGD results of the 5 MOEAs on the three disassembly cases Product

Metric

IBEA

MOEA/D

NSGA-II

NSGA-III

DS-MOEA

Worm gear

HV

0.8215 (±0.1447)

0.6242 (±0.0886)

0.6567 (±0.0621)

0.8085 (±0.1359)

0.8608 (±0.1548)

IGD

0.6460 (±0.2352)

1.8196 (±0.3660)

1.6959 (±0.1568)

0.7211 (±0.3212)

0.5889 (±0.2612)

HV

0.8752 (±0.1407)

0.6721 (±0.0872)

0.6472 (±0.0590)

0.7647 (±0.1214)

0.9042 (±0.1465)

IGD

0.6056 (±0.3110)

3.2484 (±0.7619)

3.2394 (±0.4182)

1.1434 (±0.5715)

0.5778 (±0.3359)

HV

0.8361 (±0.1585)

0.6296 (±0.0686)

0.6539 (±0.0524)

0.7567 (±0.1193)

0.8610 (±0.1665)

IGD

0.7347 (±0.3555)

4.2432 (±0.8273)

3.8756 (±0.4276)

1.7465 (±1.2629)

0.7065 (±0.3695)

Motor reducer

Gear pump

8.4 Experiments and Discussions

129

Table 8.6 The ε-indicator matrix of the 5 MOEAs on three disassembly experiments’ Worm gear

Motor reducer

Gear pump

ε-indicator

IBEA

MOEA/D

NSGA-II

NSGA-III

DS-MOEA

Winning number

IBEA

0

0.0565

0.0624

0.1106

0.1745

3

MOEA/D

0.3715

0

0.0936

0.2626

0.3689

0

NSGA-II

0.3409

0.0601

0

0.2377

0.3453

1

NSGA-III

0.2060

0.0540

0.0564

0

0.2325

2

DS-MOEA

0.1525

0.0418

0.0469

0.1064

0

4

ε-indicator

IBEA

MOEA/D

NSGA-II

NSGA-III

DS-MOEA

Winning number

IBEA

0

0.0265

0.0149

0.0650

0.1519

3

MOEA/D

0.3309

0

0.0656

0.2532

0.3224

1

NSGA-II

0.3425

0.0985

0

0.2498

0.3498

0

NSGA-III

0.2049

0.0761

0.0542

0

0.2372

2

DS-MOEA

0.1365

0.0363

0.0304

0.0827

0

4

ε-indicator

IBEA

MOEA/D

NSGA-II

NSGA-III

DS-MOEA

Winning number

IBEA

0

0.0397

0.0539

0.1369

0.1771

3

MOEA/D

0.3485

0

0.1180

0.3083

0.3585

0

NSGA-II

0.3269

0.0688

0

0.2809

0.3356

1

NSGA-III

0.1556

0.0392

0.0393

0

0.1716

2

DS-MOEA

0.1274

0.0354

0.0308

0.1125

0

4

of the DS-MOEA is high and stable for both the small-scale disassembly and the large-scale disassembly, compared with the original IBEA and NSGA-III.

8.5 Summary Uncertainties in EOL conditions make disassembly difficult to robotise. A key problem is that existing industrial automation techniques use pre-determined robotic processes which cannot deal with unforeseen failed disassembly operations. This chapter has modelled the completion rate of a disassembly plan and has introduced the concept of backup actions. The aim of this strategy is to allow a disassembly robot to recover from failures automatically, and thus improve the system’s robustness. Experimental results indicate that the incorporation of automatic backup actions can triple the completion rate of a plan. The proposed computational method also outperformed other popular evolutionary approaches.

130

8 Solutions for Robotic Disassembly Sequence Planning …

References 1. Vongbunyong S, Kara S, Pagnucco M (2015) Learning and revision in cognitive robotics disassembly automation. Robot Comput Integ Manuf 34:79–94 2. Tian G, Zhou MC, Li P (2017) Disassembly sequence planning considering fuzzy component quality and varying operational cost. IEEE Trans Autom Sci Eng 15(2):748–760 3. Ghandi S, Masehian E (2015) Review and taxonomies of assembly and disassembly path planning problems and approaches. Comput Aided Design 67:58–86 4. Zhang Y, Whiting E, Balkcom D (2018) Assembling and disassembling planar structures with divisible and atomic components. IEEE Trans Autom Sci Eng 15(3):945–954 5. DiFilippo NM, Jouaneh MK (2017) A system combining force and vision sensing for automated screw removal on laptops. IEEE Trans Autom Sci Eng 15(2):887–895 6. Wang X, Yang LT, Xie X, Jin J, Deen MJ (2017) A cloud-edge computing framework for cyber-physical-social services. IEEE Commun Magaz 55(11):80–85, 2017 7. Wang X, Yang LT, Chen X, Wang L, Ranjan R, Chen X, Deen MJ (2018) A multi-order distributed hosvd with its incremental computing for big services in cyber-physical-social systems. IEEE Trans Big Data. https://doi.org/10.1109/tbdata.2018.2824303 8. Tian G, Zhou M, Chu J, Liu Y (2012) Probability evaluation models of prudct disassembly cost subject to random removal time and different removal labor cost. Int J of Prod Res 9(2):288–295 9. Reveliotis SA (2007) Uncertainty management in optimal disassembly planning through learning-based strategies. IIE Trans 39(6):645–658 10. Cheng H, Xu W, Ai Q, Liu Q, Zhou Z, Pham DT (2017) Manufacturing capability assessment for human-robot collaborative disassembly based on multi-data fusion. Procedia Manuf 10:26–36 11. Altekin FT, Bayındır ZP, Gümü¸skaya V (2016) Remedial actions for disassembly lines with stochastic task times. Comput Ind Eng 99:78–96 12. Deb K, Jain H (2014) An evolutionary many-objective optimization algorithm using referencepoint-based nondominated sorting approach, part I: solving problems with box constraints. IEEE Trans Evolut Comput 18(4):577–601 13. Zitzler E, Künzli S (2004) Indicator-based selection in multiobjective search. Proceedings of the Int conference on parallel problem solving from nature (PPSN), Springer, Birmingham, UK, pp 832–842 14. Kongar E, Gupta SM (2006) Disassembly sequencing using genetic algorithm. Int J Adv Manu Technol 30:497–506 15. Kroll E, Carver BS (1999) Disassembly analysis through time estimation and other metrics. Robot Comput Integral Manuf 15(3):191–200 16. Liu J, Zhou Z, Pham DT, Xu W, Ji C, Liu Q (2018) Robotic disassembly sequence planning using enhanced discrete Bees Algorithm in remanufacturing. Int J of Prod Res 59(6):3134–3151 17. Marconi M, Germani M, Mandolini M, Favi C (2019) Applying data mining technique to disassembly sequence planning: a method to assess effective disassembly time of industrial products. Int J Prod Res 57(2):599–623 18. Deb K, Pratap A, Agarwal S, Meyarivan T (2002). A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evolut Comput 6(2):182–197 19. Ghandi S, Masehian E (2015) A breakout local search (BLS) method for solving the assembly sequence planning problem. Eng Appl Artif Intell 39:245–266 20. Tseng HE, Chang CC, Lee SC, Huang YM (2018) Block-based genetic algorithm for disassembly sequence planning. Expert Syst Appl 96(15):492–505 21. GrabCAD. http://www.michaelshell.org/tex/ieeetran/ 22. Li K, Wang R, Zhang T, Ishibuchi H (2018) Evolutionary many-objective optimization: a comparative study of the state-of-the-art. IEEE Access, 26194–26214. https://doi.org/10.1109/ access.2018.2832181 23. Zitzler E, Thiele L, Laumanns M, Fonseca CM, Da Fonseca VG (2003) Performance assessment of multiobjective optimizers: an analysis and review. IEEE Trans Evolut Comput 7(2):117–132 24. Li M, Yao X (2019) Quality evaluation of solution sets in multiobjective optimisation: a survey. ACM Comput Surv 52(2):26

Chapter 9

Robotic Disassembly Sequence Re-planning

9.1 Preliminaries Disassembly plans can easily fail due to uncertainties. Güngör et al. [1] demonstrated possible failures and indicated the importance of robotic disassembly re-planning. Zussman et al. [2] proposed the use of a pre-sorted list of transitions based on a Petri-net to adjust disassembly plans when failures happened. ElSayed et al. [3] suggested an online decision-making process to generate a disassembly plan. They introduced a visual module to the robot to detect detachable components, and used a GA to determine the disassembly order of components. Nevertheless, the focus of the above re-planning strategies is not on the recovery from failed operations. In this chapter, a group of general assumptions which comply with disassembly in practice are made. The interference matrix for detection is also introduced in detail. To limit the scope of the work, the following assumptions are made: 1. 2. 3. 4. 5.

Each operation removes a component or a subassembly. Each robotic operation is executed at a standard speed without extra processing. The preliminary disassembly sequence consists of the order of components to be removed and their directions. Each operation is carried out in linear movements along principal directions only. There are no toxic or hazardous components.

Assumptions 1–3 apply to the case where a robotic manipulator disassembles an EOL product using pre-determined linear motions, and the manipulator requires human assistance to change tools for different disassembly tasks. Assumption 4 simplifies the movements of the manipulator. Finally, as toxicity or hazardous features do not influence the efficiency of a robotic disassembly procedure, they are not considered in this chapter (assumption 5). To demonstrate a re-planning solution clearly, this chapter does not discuss backup strategies, operation selection and tool selection. However, it should be noted that © The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2_9

131

132

9 Robotic Disassembly Sequence Re-planning

the scheme proposed in this chapter can be expanded to incorporate a variety of additional variables. Interference matrices, AND/OR graphs and precedence graphs are three commonly used ways to represent products in both assembly and disassembly planning. However, only interference matrices contain information on how components may block one another. This information is important in determining the trajectory of the following operation. Hence, in this chapter, the interference matrix is adopted again to represent the relationships between components. Based on the interference matrix, a preliminary plan is a sequence of components or subassemblies to be disassembled and their corresponding disassembly directions.

9.2 Ternary Bees Algorithm for Disassembly Re-planning Disassembly re-planning aims at calculating a new sequence to disassemble the remaining components and subassemblies of an EOL product. The decision variables are the same as those in static disassembly sequence planning, that is, the order and direction of components or subassemblies detected from the previous task, as shown in Eq. (9.1). X = {x1 , x2 , . . . , xk , xd,2 , xd,3 , . . . , xd,k }

(9.1)

where k represents the number of elements (i.e., components or subassemblies); xi , i ∈ [1, k] refers to the ith element to be disassembled. It will be removed in the direction xd,i . Minimising disassembly time is the main objective of disassembly re-planning. It includes not only the operation time to remove a detachable component or a subassembly, but also the time for moving the robotic manipulator from one position to another. The time needed to remove a detachable component or subassembly is determined by its disassembly direction and the product’s geometrical features. The standard time needed for dismantling a component or a subassembly is equal to its original assembly time [4, 5]. In practice, the real disassembly time very much depends on chemical and physical states, directions, the moving speed of the robot, and the manipulator type [6, 7]. In the case of manual disassembly, the actual operation time can be estimated by decomposing the process into standardised operations and supplementary actions (such as fastener removal, extra lubrication, etc.); or by introducing compensations according to different liaison properties [5]. Nonetheless, these supplementary actions and compensations are still empirical and inaccurate [6]. Using robots in disassembly can be different from manual disassembly. For example, human assistance can be needed but is time-consuming, since ensuring a safe operation may require the robot’s motions to be stopped frequently. Supplementary actions such as applying lubricants manually can be unfeasible in many cases. Instead of this, vibration, compliance and impact are introduced as back-up actions if a component

9.2 Ternary Bees Algorithm for Disassembly Re-planning

133

or a subassembly cannot be removed successfully. In addition, the standard time for different operation types, component weight and sizes can change. Therefore, the existing method to estimate the disassembly time may not be applicable to robotic disassembly. For simplicity, this chapter assumes the total disassembly time as the sum of the dismantling time, the time taken to move positions, and the direction change time. Let the number of elements (i.e., components or subassemblies) to be disassembled be m; the basic disassembly time for each element i ∈ [1, m] be To (xi ); the moving time between the gripping points of two elements i, j ∈ [1, m] be Tm (xi , x j ); and the direction change time between two directions i, j ∈ [1, D] be Td (xd,i , xd, j ). Without considering the failure probability of each operation, the total disassembly time is simplified as in Eq. (9.2). T =

k  i=1

To (xi ) +

k−1 

Tm (xi , xi+1 ) +

i=1

k−1 

Td (xd,i , xd,i+1 )

(9.2)

i=1

According to the layered candidate set obtained by using the two-pointer detection, only the elements in the same layer can be swapped with each other. Steps in a disassembly plan are not fully swappable as demonstrated in [8]. A plan can be divided into multiple layers determined by the precedence constraints extracted from the interference matrix. An example of the layered candidate is given in Eq. (9.3) according to Fig. 4.1 in Chap. 4. The elements (which can be either components or subassemblies) are swappable only if they are in the same layer. {C1, C3, F3} ◦ [X − |Y +], {C2, C4, F4} ◦ [X + |Y −],    Swappable

F3 ◦ [X +], C1 ◦ [X + |Y −], C3 ◦ [X − |Y +]   

(9.3)

Swappable

On the one hand, existing metaheuristics for sequence planning can be timeconsuming or costly to apply to online re-planning, as most of them integrate internal local searches, external evolutionary operation, feasibility checks, and solution encoding/decoding procedures to update a group of individuals. On the other hand, most of the ad-hoc greedy heuristics involve a sorting procedure to update a priority list and hence many better solutions may be ignored. Consequently, their performances are much worse than the metaheuristics, even though they can be faster. In addition, none of the above methods takes subassemblies and disassembly directions into consideration. Here, a ternary Bees Algorithm is introduced to combine the virtues of both metaheuristics and greedy heuristics, to enable efficient re-planning with high solution quality. The algorithm is outlined in Fig. 9.1. The algorithm employs a population of three individuals (i.e., potential solutions) with three operators; namely, a

134

9 Robotic Disassembly Sequence Re-planning

Fig. 9.1 The mainframe of the ternary Bees Algorithm

Start Random Initialisation Population sorting 1 Local search

2 PPX Mutate

3 Global search

Site abandonment

Result

local search operator, an evolutionary operator, and a global search operator. Each individual corresponds to an operator in an iteration. As with the original Bees Algorithm [9], the population is sorted according to the fitness values of the individuals. Because there are only three individuals, the sorting involves two comparisons in total to find the best, the worst and the “inbetween” individuals. Afterwards, the best individual is assigned to the local search operator, while the in-between individual and the worst individual are assigned to the evolutionary operator and the global search operator, respectively. To accelerate the searching process, each operator can be simplified to O(n) time complexity as explained below. (1)

Local search operator

As analysed above, existing local search operators in disassembly sequence planning usually perform swap, insert, flip or inversion several times [8]. The number of local search iterations depends on the state of the individual and its updated fitness value. To ensure a feasible search, a swappable step in a disassembly plan is chosen as the local search centre, from the layers obtained by the two-pointer detection strategy. The nearest left or right neighbour is selected to swap with the centre one by the most suitable direction change. The local search operator used in this work is expressed as Algorithm 2.

9.2 Ternary Bees Algorithm for Disassembly Re-planning

135

In the above pseudocode, the list b is obtained from the component and subassembly detection process shown in Algorithm 2. It stores the end position of each layer in a sequence. Take the sequence shown in Eq. (9.3) as an example, there are three layers in total. The list b should be b = {0, 2, 3, 5}. The first layer is from 1 to 2, the second is 3, and the third is from 4 to 5. In addition, dxi ,min represents

136

9 Robotic Disassembly Sequence Re-planning

the nearest direction between xi and the centre element xc ; Tˆm (i, j) is defined as the shortest moving time between two elements i and j. The local search operator is used to perform a greedy search on a randomly selected centre position of an individual. The position must be swappable within a layer which includes more than one element. The greedy search includes two sides, i.e., the leftside search (Steps 3 to 12) and the right-side search (Steps 13 to 23). Each time a detachable element that has the minimal disassembly cost with the centre element is found. If it is a better neighbour, it will be swapped with the current neighbour. The directions of the two neighbours will also be swapped accordingly. (2)

Evolutionary operator and global search operator

Due to the interference constraints between components, traditional partially matched crossover (PMC) [10], global swap, insert, flip and inversion are no longer applicable, as they will break the precedence constraints. Only the leftmost rules, which are widely applied in the precedence preserve crossover (PPX) [11], teaching-learningbased optimisation (TLBO) [12], and simplified swarm optimisation (SSO) [13], are able to maintain the precedence relation among layers. The leftmost rules can select randomly the leftmost variable from one parent individual and delete the same variable in another parent individual iteratively to form a new solution. Nevertheless, the rules ignore the selective direction optimisation. Hence, the mutation operator is introduced to perform the direction change as a complementary part of the precedence preserving operator in disassembly sequence planning. For simplicity, the classical PPX accompanied with the single point mutation on direction change are introduced to perform a sequence update for the in-between individual. One of the parent individuals for the PPX is the medium individual given by population sorting. The other parent individual is randomly selected from either the best or the worst individuals. Moreover, a random generation scheme is applied to renew the worst individual and explore the whole solution space. On one hand, the good information obtained by a local search is extended to the evolutionary process with high probability. On the other hand, new information from the global search can balance exploration and exploitation. (3)

Site abandonment

Using the site abandonment operator is a key strategy in the original Bees Algorithm, which aims at eliminating a non-potential position in the solution space by jumping out of a local optimum. If an individual has not improved in several iterations, there is no need to continue the local search and a new search should be started from a different position. Usually, a group of counters is required to record the evolutionary state of each individual. It is assumed that the counter for the individual i is u i . If the individual i is improved, i.e., the fitness value of the individual is reduced, u i = 0. Otherwise, u i = u i + 1. If the counter for an individual is larger than the threshold u max , it will be replaced by a newly generated sequence in accordance with the layered candidate set.

9.3 Experiments and Discussions

137

9.3 Experiments and Discussions To verify the performance of the ternary Bees Algorithm, three typical products used in Chap. 4 are introduced. They are drawn in Figs. 9.2a–c. The second product (named Product B) is introduced from [14], while the third one (named Product C) is an engine piston. Six directions, i.e., (X−, X+, Y−, Y+, Z−, Z+) are considered to disassemble the second and the third products. The interference relationships among the different components can be obtained from the product structure. x F1

F4

y

C2 C4

F3

C3

C1

C1 C2 C3 C4 F1 F2 F3 F4

C1 0000 1001 1001 1001 1101 1011 1011 0001

C2 0110 0000 0110 1110 1101 1011 0110 0001

C3 0110 1001 0000 0001 0000 0000 1011 0001

F2

C4 0110 1101 0010 0000 0100 0000 0010 1101

F1 1111 1111 0000 1000 0000 0000 0010 1000

F2 1111 1111 0000 0000 0000 0000 0000 0000

F3 1111 1001 1111 0001 0001 0000 0000 0001

F4 0010 0010 0010 1111 0100 0000 0010 0000

1111 1111 1111 1111 1101 1011 1111 1101

(a) Product A

(b) Product B [14]

(c) Product C

Fig. 9.2 Three typical products applied to validate the methods proposed in this chapter

138

9 Robotic Disassembly Sequence Re-planning

First, it is assumed that there are three kinds of failures in the disassembly of a product. There are nine cases in total. In each case, the detection result obtained by using the two-pointer strategy and its execution time are recorded in Table 4.1 and Table 4.2. Second, the ternary Bees Algorithm is applied to identify the re-planning solutions. The algorithm is abbreviated as TBA and compared with two basic GAs and two greedy schemes in terms of search time and solution quality. Without loss of generality, one of the tested GAs (named GA(1) ) consists of a tournament selection, a PPX operator, and a mutation operator, while the other (named GA(2) ) uses a roulette wheel selection, a PPX operator, and a mutation operator as its evolutionary operators. The maximum number of function evaluations of the above algorithms is set as 1000 to reduce the re-planning time. The greedy strategy (named GS) starts from the leftmost position and assigns the detachable element one by one by calculating the shortest moving time between the current element and the previous one. The greedy search that performs only once is defined as GS(1) . Similarly, the greedy search that is carried out iteratively to generate multiple solutions and provide the best is named GS(n) . The number of function evaluations of GS(n) in this chapter is set at 1000 as well. All experiments are programmed using C++ on an Xcode v6.1.1 platform and carried out on a PC with 2.3 GHz Intel Core I7 CPU, 8 GB 1600 MHz DDR3 memory. As the re-planning algorithms to be tested are non-deterministic, each algorithm runs 20 times. Because the three cases of Product A are straightforward, the best re-planning solution can be calculated directly by traversing all of the 2 to 16 solutions quickly. Therefore, only cases 4 to 9 are applied to test the proposed re-planning algorithm and it is compared with the other four typical methods. It is assumed that all the disassembly-related time matrices are available in advance, based on the layered candidate sets obtained through the two-pointer detection process. For simplicity, the basic disassembly time for each element is set in the range of [10 s, 30 s] according to the actual situation. The moving time between two gripping points is in the range of [5 s, 15 s]. The direction changing time is produced in the range of [2 s, 10 s] at random. To accelerate the re-planning process, the minimum population size required for the TBA should be defined. The TBA was tested with two, three, five and ten individuals and the corresponding algorithms are labelled as TBA-2, TBA-3, TBA-5, and TBA-10. As TBA-2 contains two individuals only, the better solution in each iteration is updated by the local search operator (Algorithm 2), while the other solution is modified by using one of the other two operators, i.e., the global search operator and the evolutionary operator, randomly. For simplicity, the population sizes of GS(n) , GA(1) , and GA(2) are uniformly set as 10. The results of the four TBAs, GA(1) , GA(2) , GS(1) , and GS(n) are summarised in the boxplots of Fig. 9.3. By randomly selecting the start element, GS(1) provided various solutions. When the number of iterations increases, GS(n) quickly converged to a local optimum without diversity. The GAs seem to be more capable of exploration and finding better solutions than the GSs. The TBA-2 performs unstably with a larger solution range and it can be seen to have more outlying points than the other three TBAs

9.3 Experiments and Discussions

(a) case 4

(d) case 7

139

(b) case 5

(e) case 8

(c) case 6

(f) case 9

Fig. 9.3 The fitness value of the best solution found by the 5 algorithms in 6 cases with respect to Product B and Product C

in the six cases. The performance of TBA-2 is similar to that of the GAs in cases 6–9. When the population size is set to 3, the performance of the TBA is enhanced significantly. However, a change in the performance is not obvious as the population size continues to increase. The average evolutionary trends of the TBAs compared with the GS(n) and the two GAs are demonstrated in Fig. 9.4 and because the GS(1) is performed once only, there is no evolutionary trend. The GS(n) converged quickly within 50 iterations and the quality of its solution fluctuates highly in different cases. The TBA-3, TBA-5, and TBA-10 have similar evolutionary trends and perform better than the GS(n) and the two GAs in all of the six cases. They were able to find better solutions from the very beginning and improve the solutions efficiently. Table 9.1 gives the results of the pair-wise Wilcoxon test at a significant level of α = 0.05. On the one hand, the TBA-3 performs significantly better than the GSs and the GAs. Because both the GS(n) and GA(2) can find the optimal solution quickly for case 7, then the GA(1) can find solutions as good as the TBA for case 9; the p-value between the TBA and them in these two cases becomes larger. Whereas, the performance of the TBA is considerably better than the others, especially in the cases of more detachable elements and swappable layers, such as in cases 4, 6 and 8. On the other hand, it can be seen that increasing the population size above three does not bring much improvement to the TBA. The results for TBA-5 and TBA-10 in all cases are similar to those for TBA-3. Hence, it is more efficient to set the population size of the TBA as 3, to evenly perform a local search, learning-based evolution, and a global search.

140

9 Robotic Disassembly Sequence Re-planning

(a) case 4

(b) case 5

(c) case 6

(d) case 7

(e) case 8

(f) case 9

Fig. 9.4 The average evolutionary trend of the 4 algorithms in the 6 disassembly cases with respect to Product B and Product C

The average search times of the four TBAs and the other four algorithms in the six disassembly cases are shown in Table 9.2. Obviously, the greedy search requires the minimal time since it operates a single individual in each iteration. The GAs perform the worst as they need three steps of operations to select, crossover and mutate scattered individuals. These individuals may search for the same solution space repeatedly.

9.3 Experiments and Discussions

141

Table 9.1 Pair-wise Wilcoxon test between TBA and the other algorithms for 6 disassembly cases No. of case

TBA-3 vs

GS(1)

GS(n)

GA(1)

GA(2)

TBA-2

TBA-5

TBA-10

4

p

0.000

0.000

0.000

0.000

0.001

0.970

0.809

5

p

0.000

0.000

0.001

0.001

0.000

0.530

0.059

6

p

0.000

0.000

0.017

0.034

0.023

1.000

1.000

7

p

0.000

1.000

0.038

0.083

1.000

1.000

1.000

8

p

0.000

0.000

0.000

0.000

0.000

0.782

0.291

9

p

0.000

0.000

0.005

0.008

0.000

0.083

0.083

Table 9.2 Search time (in ms) for the 5 algorithms on the 6 disassembly cases No. of case

GS(1)

GS(n)

GA(1)

GA(2)

TBA-2

TBA-3

TBA-5

TBA-10

4

0.0646

23.5407

384.289

384.874

58.4483

93.7243

164.5457

334.5622

5

0.0667

23.1653

389.707

391.253

62.0667

96.2008

166.8177

338.8832

6

0.0593

22.1663

350.982

351.476

56.6708

86.2885

149.6311

302.7046

7

0.0505

22.7109

342.453

340.457

64.6471

89.1825

152.9254

298.8815

8

0.0557

22.6971

343.220

344.488

59.8267

84.4184

151.3572

300.4302

9

0.0533

21.1650

336.666

339.062

59.0556

86.3465

146.5742

297.2297

However, when a local optimum is reached, the simple random inheritance and exploration have a small chance of finding a better valley or peak position without prior knowledge. In contrast, the TBA is more efficient than the GAs in terms of both solution quality and search time, even if they have the same population size. The TBA with three individuals takes between 84 ms and 96 ms to give a re-planning solution for an EOL product of 15 to 22 components. When the population size increases, the search time grows linearly without much performance improvement. Therefore, maintaining three individuals and three concurrent operators might be the best scheme for the TBA in solving the disassembly re-planning problem. In summary, the ternary Bees Algorithm has the advantages of both the greedy search and the meta-heuristic techniques. It employs only three individuals to carry out exploitation by using a local search strategy, learning by a semi-random inheritance, and exploration by a pure random routine collaboratively. Concurrent operations reduce the time-complexity of the algorithm significantly, in comparison to other ad hoc meta-heuristics. The time consumption of the ternary Bees Algorithm is acceptable for real-time re-planning in a robotic disassembly scenario. As the detection process consumes no more than 1 ms, the total re-planning time can be less than 100 ms in total.

142

9 Robotic Disassembly Sequence Re-planning

9.4 Summary Based on the detection strategy introduced in Chap. 4, a ternary Bees Algorithm has been presented to provide a re-planning solution, combining the disassembly order and the direction of not only detachable components but also the removable subassemblies. The algorithm combines the merits of the original Bees Algorithm and greedy search. Although it is designed for complete disassembly, the local search operator can be modified to adapt to both selective disassembly and partial disassembly. Due to the iterative character, the ternary Bees Algorithm is more suitable for small- and medium-scale products (where the number of components is fewer than 200, which is about ten times the number in the current case studies). With more decision variables, the decision-making time may increase to a few seconds. The re-planning process will therefore become inefficient.

References 1. Güngör A, Gupta S M (1998) Disassembly sequence planning for products with defective parts in product recovery. Comput Ind Eng 35(1–2):161–164 2. Zussman E, Zhou MC (1999) A methodology for modeling and adaptive planning of disassembly processes. IEEE Trans Robot Autom 15(1):190–194 3. ElSayed A, Kongar E, Gupta S M, Sobh T (2012) A robotic-driven disassembly sequence generator for End-of-Life electronic products. J Intell Robot Syst 68(1):43–52 4. Papakostas N, Pintzos G, Triantafyllou C (2015) Computer-aided design assessment of products for end of life separation and material handling. CIRP Annals 64(1):185–188 5. Mandolini M, Favi C, Germani M, Marconi M (2018) Time-based disassembly method: how to assess the best disassembly sequence and time of target components in complex products. Int J Adv Manuf Technol 95(1–4):409–430 6. Yi H C, Park Y C, Lee K S. A study on the method of disassembly time evaluation of a product using work factor method. IEEE Int conference on systems, man and cybernetics. conference theme-system security and assurance, Washington, DC, USA, 2003, 2: 1753–1759, https://doi. org/10.1109/icsmc.2003.1244665 7. Liu J, Zhou Z, Pham D T, Xu W, Ji C, Liu Q (2018) Robotic disassembly sequence planning using enhanced discrete Bees Algorithm in remanufacturing. Int J Prod Res 59(6):3134–3151 8. Ghandi S, Masehian E (2015) A breakout local search (BLS) method for solving the assembly sequence planning problem. Eng Appl Artif Intell 39:245–266 9. Pham D T, Ghanbarzadeh A, Koç E, Otri S, Rahim S, Zaidi M (2006) The Bees Algorithm-a novel tool for complex optimisation problems. Intelligent production machines and systems. D T Pham, E Eldukhri and A Soroka (eds), Elsevier, 2006, 454–459, ISBN 9780080451572 10. Gao L, Qian W, Li X, Wang J (2010) Application of memetic algorithm in assembly sequence planning. Int J Adv Manuf Technol 49(9–12):1175–1184 11. Ren Y, Zhang C, Zhao F, Xiao H, Tian G (2018) An asynchronous parallel disassembly planning based on genetic algorithm. Europ J Oper Res 269(2):647–660 12. Xia K, Gao L, Li W, Chao KM (2014) Disassembly sequence planning using a simplified teaching–learning-based optimization algorithm. Adv Eng Inform 28(4):518–527 13. Yeh WC (2012). Simplified swarm optimization in disassembly sequencing problems with learning effects. Comput Oper Res 39(9):2168–2177 14. Kheder M, Trigui M, Aifaoui N (2017) Optimization of disassembly sequence planning for preventive maintenance. Int J Adv Manuf Technol 90(5–8):1337–1349

Chapter 10

Solutions for Robotic Disassembly Line Balancing

10.1 Preliminaries This chapter demonstrates the use of the proposed model in Chap. 6. The disassembly line balancing problem (DLBP) has the following assumptions: (1) (2) (3) (4) (5)

Multiple types of EOL products are disassembled on a paced straight line with a fixed cycle time. The precedence relations among disassembly tasks of an EOL product are structured by a TAOG. Task time is set as a constant. The decision variables include z m, j , xm, j,k , ym, j and vk,r . The objectives considered in the experiments are: (a) (b) (c) (d) (e) (f) (g)

(6)

maximising the workstation efficiency (Objective 3), minimising the McGovern-Gupta measure of balance (Objective 4), minimising the direction change (Objective 7), minimising the total cost (Objectives 8 to 10), minimising the number of hazardous tasks (Objective 12), maximising the total profit (Objective 14), minimising the energy cost (Objective 16).

Constraints (2)–(10) and (14) for the TAOG are taken into consideration.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2_10

143

144

10 Solutions for Robotic Disassembly Line Balancing

10.2 Encoding Method for Solving the Generic DLBP Model The method to encode decision variables is shown in Fig. 10.1. It contains four parts, which are the equivalent transformation of z m, j , xm, j,k , ym, j and vk,r . The first three M parts each contain n 1 = m=1 Jm elements. The indices 1 to n1 are defined as all possible tasks for disassembling the M products. Similarly, n 2 = Wmax is used to represent the length of the fourth part. In the first part of the coding sequence, αi refers to the probabilistic priority of each task i to be performed, and αi is used to perform path routing in the TAOGs of M disassembly products. For each product, the path routing starts from the root component node of its TAOG. Using the TAOG demonstrated in Fig. 10.1 as an example, if α1 < α2 and α5 < α2 , the 2nd task will be selected (i.e., z 2 = 1). The child task nodes of α2 (i.e., α6 and α7 ) are compared and the 6th task with a higher priority will be selected. This routing process makes sure the constraints (7) to (10) for the TAOG are not violated. It also ensures that a sequence {α1 , α2 , . . . , αn 1 } decides one and only one task selection scheme with a group of {z m, j }. The second part directly represents the priority rank of each task in a disassembly sequence. If a task is not chosen in the previous step, its priority rank will be ignored. Only the selected tasks are sorted according to their priority rank in descending order. To allocate these sorted tasks to a paced disassembly line, each time the task that either all of its precedent parents are scheduled, or does not have parents, then it can be seen as an available candidate. These sorted candidates are allocated one by one to the paced line according to constraints (3) to (6) for the TAOG. Therefore, under a specific selection scheme decided by {α1 , α2 , . . . , αn 1 }, a group of {α1 , α2 , . . . , αn 1 } determines one and only one kind of task allocation scheme. The third part of the coding sequence {β1 , β2 , . . . , βn 1 } is used to represent the probability of task i being an F-task. For a task i, if all of its parents are F-tasks, it will also be set as an F-task and given a probability of βi . Otherwise, it will be a P-task. This criterion makes sure constraint (11) for the TAOG is not violated.

Fig. 10.1 The encoding way for solving the generic DLBP model based on a MOEA

10.2 Encoding Method for Solving the Generic DLBP Model

145

The last part of the coding sequence {γ1 , γ2 , . . . , γn 2 } is introduced to decide the number of parallel tools for each station (i.e., vk,r = 1 if and only if γk · Rmax = r , where Rmax indicates the maximum number of tools allowed to be allocated to each station). If the number of opened stations is less than W max , the last few bits of {γ1 , γ2 , . . . , γn 2 } will be ignored directly so that the size of the coding sequence remains unchanged. A full decoding process is given below.

According to the above encoding way, the 0–1 binary decision variables, i.e., z m, j , xm, j,k , ym, j and vk,r , can then be directly transformed to a group of real numbers in the range of [0, 1]. This ensures that all the individuals are feasible without constraint violations. This approach is also easier for users to use other MOEAs in generic DLBPs.

146

10 Solutions for Robotic Disassembly Line Balancing

10.3 Benchmarking Instances and Experimental Settings To verify the above solution scheme based on an MOEA and discuss the suitability of some classical MOEAs, seven typical TAOGs from the DLBP-related references (product 1 from [1], product 2 from [2], product 3 from [3], product 4 from [4], product 5 from [5], product 6 from [2], and product 7 from [6]) are incorporated to generate new mixed-model DLBP tests in three scales. The references and the number of nodes of their TAOGs are summarised in Table 10.1. Based on the above products, three integrated mixed-model instances are chosen for benchmarking, which can be shown in Table 10.2. Since some parameters have not been defined in the previous research, the parameters discussed are all given in Table 10.3. To assess the generality of the proposed method, six typical MOEAs, i.e., NSGAII [7]; IBEA [8]; MOEA/D [9]; NSGA-III (non-dominated sorting genetic algorithm III) [10]; BCE-IBEA (bi-criterion evolution-based IBEA) [11]; and BCE-MOEA/D (bi-criterion evolution-based MOEA/D) [11], are adopted. In the research of these MOEAs, there are mainly three kinds of solution update strategies: the Pareto-based strategy, indicator-based strategy and decomposition-based strategy. The NSGA-II, Table 10.1 The number of nodes in the TAOGs of the seven typical products Product no.

1

Number of artificial nodes

2

3

4

5

6

7

6

8

12

14

12

20

23

Number of task nodes

10

10

22

23

25

30

37

Total number of nodes

16

18

34

37

37

50

60

Table 10.2 Detailed information of the 3 benchmarking instances Scale

Products

M

Small

1, 2, 3

3

Number of tasks

Medium

1, 2, 3, 4, 5

5

90

30

60

300

Large

1, 2, 3, 4, 5, 6, 7

7

157

50

60

521

42

W max

C max

Number of variables

20

60

146

Table 10.3 The range of the parameters used in decision making Notation

Range

Type

Notation

Range

Type

t m,j,k

[5, 30]

Real number

em,j

(0, 10)

Integer

cm,j

(0, 10)

Real number

θm, j1 , j2

[0, 4]

Real number

G

10

Integer

Pf,m,j

(0, 0.5)

Real number

Rg

[0, 4]

Integer

λ F,m, j

[5, 30]

Real number

hm,j

0 or 1

Binary number

η P,m, j

(0, 10)

Integer

rm, j

[1, 6]

Integer

ar

1.2

Real number

10.3 Benchmarking Instances and Experimental Settings

147

IBEA, and MOEA/D have been adopted in the three strategies, respectively. For IBEA and BCE-IBEA, the hyper-volume indicator [8] is used to guide the search, while for MOEA/D and BCE-MOEA/D, the Tchebycheff (TCH) function [9] is adopted. The variation operators are a simulated binary crossover (SBX) and polynomial mutation following the NSGA-II [7]. According to the two-layered reference point generation strategy [10] designed for many-objective problems,  the parameter  h is set as h = 3 7−1+3 7−1+2 and therefore the population size equals to N pop = + = 3 2 112. The maximum number of function evaluations is set as 106 . In addition, two metrics widely used in MOEA research, i.e., HV (hyper-volume) and IGD (inverted generational distance) [12], have been introduced to assess the performance of the proposed DLBP algorithms. The HV is calculated according to the normalised values of objectives within the range of [0, 1]. Hence the point {1.1, …, 1.1} can be seen as the reference point. As the exact Pareto-fronts of the generic DLBP model are unknown, the non-dominated solutions among all of these solutions obtained by the six algorithms are seen as the ideal solution set to calculate the IGD. The ideal point is also defined as the vector that each of its elements is the best value ever found in the specific objective, i.e., Videal = [ f 1,best , f 2,best , . . . , f 7,best ]. The Euclidean distance between the ideal point and the solution set obtained by each algorithm is recorded as a D-metric (D). All experiments are implemented in C++ by Xcode and tested in a MAC OS X environment. The hardware configuration is based on a 2.3-GHz Intel Core i7 CPU with 8 GP of 1.6-GHz DDR3 RAM. All of the tests are run 20 times. The results (mean and standard deviation) of the HV, IDG and D are recorded. The Friedman test is also applied to test the rank of the algorithms.

10.4 Experimental Comparison and Discussion Since there are seven objectives: the McGovern-Gupta balance; the times taken for the direction change; the total cost; the number of hazardous tasks; the energy cost; the line efficiency; and the total profit, comparing all of the non-dominated solutions obtained by the six MOEAs is a non-trivial task. Hence, only the worst and best objective values obtained by the selected MOEAs for the three benchmarking instances are listed in Tables 10.4, 10.5 and 10.6. The seven objectives in index order are: (1) McGovern-Gupta balance, (2) direction change, (3) cost, (4) number of hazardous tasks, (5) energy cost, (6) line efficiency, and (7) profit. In the small-scale cases, the solution ranges in terms of all six MOEAs are similar. The most balanced solution is obtained by the NSGA-III (i.e., 0.0002), while the highest line efficiency solution (i.e., 2.1901) is provided by the IBEA. The smallest number of direction changes and hazardous tasks are 5 and 4, respectively. The minimum cost and the maximum profit are 45 and 1028, respectively. In the mediumscale cases, more than half of the extreme values are obtained by the NSGA-III. The

148

10 Solutions for Robotic Disassembly Line Balancing

Table 10.4 The worst and best objective values obtained by six MOEAs for the small-scale examples Algorithm

Obj

1

IBEA

Worst

4098.74

Best

2

3

4

5

12

167

9

82

5

47

4

47

260.037

1028

12

169

9

82

5.4310

1728

0.0007 4098.74

6

7 2.1901

1728

MOEA/D

Worst Best

0.0009

5

47

4

48

156.681

1028

NSGA-II

Worst

4273.40

12

168

9

82

5.4310

1728

5

49

4

46

260.178

1028

12

168

9

82

5

45

4

46

12

169

9

82

Best NSGA-III

0.0012

Worst

7344.09

Best BCE-MOEA/D

Worst

BCE-IBEA

Worst

0.0002 4094.71

Best

0.0043 4719.09

Best

5

45

4

46

12

168

9

82

5

45

4

46

0.0032

6.8045 345.559 5.4310 291.661 2.5236 293.187

1728 1028 1728 1028 1728 1028

Table 10.5 The worst and best objective values obtained by six MOEAs for the medium-scale examples Algorithm

Obj

1

2

3

4

5

6

7

IBEA

Worst

7747.66

21

291.2

16

151

13.8522

1938

10

77

MOEA/D

Worst

8922.21

20.9

291.2

Best

1.1139

11

80

Worst

8176.53

20.8

303.7

9

77

20.9

310.6

Best

NSGA-II

Best NSGA-III

Worst

BCE-MOEA/D

Worst

Best Best BCE-IBEA

Worst Best

0.0491

1.0866 9163.55 2.1212

9

73

20.9

307.8

10

78

7748.23

21

0.25

10

7794.37 4.1919

6 16 6 17 6 17 6

79

372.418

2917

153.1

26.9468

1940

81

220.331

2917

153.5

19.8031

1956

79

206.467

2917

152.3

11.3396

1854

80

168.774

2908

149.9

30.4186

1902

6

84

157.5

2872

298

16

153

25.4839

1940

77

6

81

201

2870

16

best balance solution and the highest line efficiency solution become 0.0491 and 11.3396, respectively. The ranges of the number of direction changes, the cost, the number of hazardous tasks, the energy cost and the profit obtained by the six MOEAs are similar. In the large-scale cases, most of the extreme values are obtained by the BCE-IBEA. With the increase of task numbers and precedence constraints, the best balance and the highest line efficiency further degraded to 16.6916 and 91.9588, respectively. It should be noted that these solution results are only provided as a baseline reference.

10.4 Experimental Comparison and Discussion

149

Table 10.6 The worst and best objective values obtained by six MOEAs for the large-scale examples Algorithm

Obj

1

2

3

4

5

6

7

IBEA

Worst

11395.2

43

535

22

280

43.5720

3477

MOEA/D

Worst

Best Best NSGA-II

Worst Best

NSGA-III

Worst

BCE-MOEA/D

Worst

Best Best BCE-IBEA

Worst Best

28.824 11195.5 20.7272 11623.2 49.824 12602.1 24.6547 13467.6 28.5078 14194.4 16.6916

19

138

8

155

77.3

5432

43

529

22

275

43.9686

3488

20

140

8

149

73.5962

5320

43

524

25

288

43.6604

3371

19

145

8

152

78.7292

5435

43

513

24

277

43.0707

3470

18

144

8

154

76.8659

5333

42

515

24

273

42.2811

3449

21

124

9

151

73.5397

5303

44.9

560.3

24.3

287.4

39.2903

3411.33

20

137

9

159

91.9588

5284

To further evaluate the suitability of the six MOEAs, the summarised results of 20 runs of each algorithm are shown in Table 10.7. In the small-scale cases, BCEIBEA obtains the best scores on all of the three metrics, followed by BCE-MOEA/D, NSGA-III, and IBEA. In the medium- and large-scale cases, IBEA, NSGA-III, and BCE-IBEA have a high score on one of the three metrics, while MOEA/D always performs the worst in the three scales. By applying the Friedman test, the difference between the six algorithms can be clearly seen (Fig. 10.2). The χ 2 and the p-value of the Friedman test are recorded in Table 10.8. Except for the HV results in the small-scale cases, all of the other ranks are significant at the 0.05 level. Obviously, the HV and IGD ranks of BCE-IBEA are not very stable in comparison to the other algorithms; NSGA-III’s and IBEA’s performances are more stable in terms of the diversity and the quality of the solutions. From the above results shown in Tables 10.4, 10.5, 10.6 and 10.7, it can be seen that the objective value in each dimension varies greatly. However, small changes to the variables may not alter the objective values. This means that the solution space in each dimension is very complex with major stepped blocks and peaks. The population is easy to become trapped in a local optimum. NSGA-III and IBEA show a higher potential to address large-scale multi-objective DLBPs due to their performance on maintaining the diversity of population in different scales. The BCE shows much stability to solve the medium-scale DLBP, due to its overall high solution quality. In addition, the performance of the MOEA/D is the worst. Nevertheless, this does not mean that all of the decomposition-based MOEAs are not suitable for the DLBP.

150

10 Solutions for Robotic Disassembly Line Balancing

Table 10.7 The HV, IGD and D results of six MOEAs on the three scales of the generic DLBP model Algorithm

HV

IGD

D

Small scale IBEA

2.9911e-1 (9.7463e-2)

1.5392e+2 (8.5025e+0)

2.4625e+2 (1.1175e-1)

MOEA/D

2.3747e-1 (8.8145e-2)

1.6063e+2 (6.4685e+0)

2.4642e+2 (5.2435e-2)

NSGA-II

2.5695e-1 (8.2312e-2)

1.5654e+2 (8.6251e+0)

2.4633e+2 (1.1359e-1)

NSGA-III

2.7337e-1 (7.5616e-2)

1.5042e+2 (7.8372e+0)

2.4619e+2 (1.6076e-1)

BCE-MOEA/D

2.3791e-1 (8.4467e-2)

1.4892e+2 (1.0313e+1)

2.4619e+2 (1.4638e-1)

BCE-IBEA

3.0576e-1 (8.1579e-2)

1.3739e+2 (6.2184e+0)

2.4610e+2 (8.3101e-2)

IBEA

2.7606e-1 (4.6000e-2)

5.3505e+2 (2.8453e+1)

2.9287e+2 (1.5750e-1)

MOEA/D

2.4449e-1 (2.8683e-2)

5.6576e+2 (2.8036e+1)

2.9294e+2 (7.8345e-2)

NSGA-II

2.7918e-1 (4.8158e-2)

5.5226e+2 (2.8757e+1)

2.9286e+2 (6.4040e-2)

NSGA-III

2.7427e-1 (4.6329e-2)

5.3322e+2 (3.3255e+1)

2.9292e+2 (7.6946e-2)

BCE-MOEA/D

2.5402e-1 (3.8005e-2)

5.6236e+2 (3.2909e+1)

2.9293e+2 (7.5496e-2)

BCE-IBEA

2.9256e-1 (4.0755e-2)

5.5807e+2 (2.6833e+1)

2.9283e+2 (6.9133e-2)

Medium scale

Large scale IBEA

3.3764e-1 (3.6208e-2)

6.7629e+2 (3.6519e+1)

1.9391e+2 (8.3304e-2)

MOEA/D

2.9199e-1 (4.5707e-2)

7.2819e+2 (4.9451e+1)

1.9392e+2 (7.6944e-2)

NSGA-II

3.0993e-1 (3.0242e-2)

6.9157e+2 (3.3320e+1)

1.9381e+2 (8.7410e-2)

NSGA-III

3.2948e-1 (3.9069e-2)

6.7010e+2 (3.6509e+1)

1.9389e+2 (5.8161e-2)

BCE-MOEA/D

3.1357e-1 (3.2954e-2)

6.8863e+2 (1.8530e+1)

1.9390e+2 (7.1005e-2)

BCE-IBEA

3.0485e-1 (4.2668e-2)

7.0787e+2 (2.0571e+1)

1.9376e+2 (1.2712e-1)

S

M

L

S

M

5.5 5 4.5 4 3.5 3 2.5 2 1.5 1

5 4.5 4 3.5 3 2.5 2

(a)

S

L

M

L

6 5.5 5 4.5 4 3.5 3 2.5 2 1.5 1

(b)

(c)

Fig. 10.2 The Friedman test ranks of the 6 MOEAs in solving the generic DLBP model: a is the Friedman test on the HV results of six MOEAs; b shows the Friedman test on the IGD results of the 6 MOEAs; and c demonstrates the Friedman test on the D results of the 6 MOEAs

10.5 Summary

151

Table 10.8 χ 2 and p-value of the Friedman test Scales metrics

Small scale

Medium scale

Large scale

HV

IGD

D

HG

IGD

D

HV

IGD

D

χ2

9.543

45.54

46.91

15.77

26.97

27.97

17.31

29.14

28.63

p

0.089

0

0

0.008

0

0

0.004

0

0

10.5 Summary This chapter has demonstrated the use of the model proposed in Chap. 6 and presented the solution of the robotic disassembly line balancing problem for benchmark cases using different optimisation algorithms. The best algorithms for large-scale multiobjective disassembly line balancing problems have been shown to be NSGA-III and IBEA.

References 1. Bentaha ML, Battaïa O, Dolgui A (2012) A stochastic formulation of the disassembly line balancing problem. IFIP international conference on advances in production management systems. Springer, Berlin, Heidelberg, pp 397–404 2. Paksoy T, Güngör A, Özceylan E, Hancilar A (2013) Mixed model disassembly line balancing problem with fuzzy goals. Int J Prod Res 51(20):6082–6096 3. Hezer S, Kara Y (2015) A network-based shortest route model for parallel disassembly line balancing problem. Int J Prod Res 53(6):1849–1865 4. Koc A, Sabuncuoglu I, Erel E (2009) Two exact formulations for disassembly line balancing problems with task precedence diagram construction using an AND/OR graph. IIE Trans 41(10):866–881 5. Bentaha ML, Battaïa O, Dolgui A (2013) Chance constrained programming model for stochastic profit–oriented disassembly line balancing in the presence of hazardous parts. IFIP international conference on advances in production management systems. Springer, Berlin, Heidelberg, pp 103–110 6. Ma YS, Jun HB, Kim HW, Lee DH (2011) Disassembly process planning algorithms for end-oflife product recovery and environmentally conscious disposal. Int J Product Res 49(23):7007– 7027 7. Deb K, Pratap A, Agarwal S, Meyarivan TAMT (2002) A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evolut Comput 6(2):182–197 8. Zitzler E, Künzli S (2004) Indicator-based selection in multiobjective search. International conference on parallel problem solving from nature. Springer, Berlin and Heidelberg, pp 832– 842 9. Zhang Q, Li H (2007) MOEA/D: A multiobjective evolutionary algorithm based on decomposition. IEEE Trans Evolut Comput 11(6):712–731 10. Deb K, Jain H (2014) An evolutionary many-objective optimization algorithm using referencepoint-based nondominated sorting approach, part I: solving problems with box constraints. IEEE Trans Evolut Comput 18(4):577–601 11. Li M, Yang S, Liu X (2016) Pareto or non-Pareto: Bi-criterion evolution in multiobjective optimization. IEEE Trans Evolut Comput 20(5):645–665 12. Jiang H, Yi J, Chen S, Zhu X (2016) A multi-objective algorithm for task scheduling and resource allocation in cloud-based disassembly. J Manuf Sys 41:239–255

Chapter 11

Solutions for Mixed-Model Disassembly Line Balancing with Multi-robot Workstations

11.1 Preliminaries 11.1.1 Problem Definition and Assumptions This chapter discusses serial paced mixed-model disassembly line balancing with multi-robot workstations (MDLB-MR). The main difference between MDLB-MR and classic simple disassembly lines is the number of robots that can be allocated to each workstation. In MDLB-MR, a set of EOL products can be simultaneously disassembled and each product has its own set of precedence relations. At each workstation, multiple robots are installed and they can work simultaneously. Tasks can be performed on different EOL products or subassemblies. The maximum number of robots allocated to the same workstation is predetermined by the system designer [1]. Unlike the case for assembly lines, in MDLB-MR, there are greater uncertainties in operation times due to variabilities in the conditions of EOL products. Figure 11.1 illustrates a MDLB-MR where there are three workstations, six differently skilled robots, and two EOL product models. The MDLB-MR consists of the assignment of the chosen disassembly tasks of several different types of EOL products to a set of available robots, and the allocation of these robots to an ordered sequence of workstations; such that task precedence relations of each EOL product are not violated and objectives are optimised. In this study, objectives include: (F1) the minimisation of cycle time; (F2) the minimisation of total energy consumption; (F3) the minimisation of peak workstation energy consumption; and (F4) the minimisation of the number of robots being used. We assume that the number of workstations is predetermined. To some extent, the MDLB-MR can be viewed as an extension of the traditional type II DLBP which aims to minimise cycle time (hence maximise production rate) given a fixed number of workstations. These problems are of high importance when the organisation wants to maximise its production volume without major modifying or expanding the existing line structure [2]. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2_11

153

154

11 Solutions for Mixed-Model Disassembly Line Balancing …

Fig. 11.1 An example of the MDLB-MR layout

The following assumptions are considered. They are similar to those discussed in [3–6]. (1)

(2)

(3) (4) (5) (6) (7) (8) (9) (10)

A serial paced disassembly line system is configured for the mass-disassembly of multiple mixed-model products and all feasible precedence relations between the subassemblies and the disassembly tasks of each model are given. Each disassembly operation takes apart a product or subassembly into two new subassemblies/components and each product undergoes a complete disassembly. Time taken to perform a disassembly task depends on the type of the robot assigned and is deterministic, constant, and discrete. Operation/standby energy consumptions of each robot per time unit are given. Workstations are aligned in a line and the number of workstations is given. More than one robot can be allocated to a workstation and the maximum number of robots in each workstation is given. A robot can perform one disassembly task at a time and each task must be processed by a singular robot. Disassembly tasks cannot be split and the precedence relationship should be met while assigning the tasks. Workstation processing time has to be less than the cycle time. Set-up times between disassembly tasks are ignored and no work-in-process inventory buffer is considered.

11.1 Preliminaries

155

11.1.2 Disassembly Precedence Relations In this chapter, AND TPD and TAOG are employed to model all possible disassembly tasks and the precedence relationships among subassemblies and tasks. According to [3], ‘the tasks in TAOG are defined based on the contacts broken and the current subassembly, whereas the tasks in the TPD are defined only in terms of the contacts.’ To separate the two kinds, the tasks in the TAOG are defined as subassembly-dependent tasks (SD tasks) and the tasks in the AND TPD are termed as subassembly-independent tasks (SI tasks). The use of AND TPDs and TAOGs is illustrated in Figs. 11.2 and 11.3. Figure 11.3 shows the TAOGs of the two example EOL product models used in this chapter. Model 1 in Figs 11.2a and 11.3a represents an example product used in [3], while model 2 in Figs. 11.2b and 11.3b is introduced from [10]. Each subassembly is represented m m by an artificial node labelled Am a , where a ∈ A and m ∈ M. Set M and A contain the indices of all the TAOG models and subassemblies (generated by the tasks from Bm ), respectively. The set of parts in a subassembly is denoted by a number sequence below the corresponding artificial node. For simplicity, subassemblies with only one part are not shown. For instance, artificial node A10 represents the sample product which can be noted as ‘1/7’; A11 represents the subassembly ‘1/4, 6, 7’ which consists of part 1 through 4, part 6 and 7, etc. (see Fig. 11.3a). Each task is labelled as Bnm , where n ∈ Bm and m ∈ M. Set Bm contains the indices of all tasks that can be performed on the mth model. An artificial node may be preceded or succeeded by more than one normal node; however, only one of the predecessors and one of the successors can be selected during disassembly. Arcs in the TAOG are of two types: AND type and OR type. While an AND-type arc imposes a mandatory precedence relation case, an OR-type arc allows alternative selection of the following routes. An OR-type arc is represented by a small curve. In addition, a disassembly tree (DT) in the TAOG model m represents a way to completely disassemble the corresponding EOL product and has | Pm | − 1 tasks,

(a) AND TPDs for model 1

(b) AND TPDs for model 2

Fig. 11.2 The AND TPDs of two example models

156

11 Solutions for Mixed-Model Disassembly Line Balancing …

(a) the TAOG for model 1

(b) the TAOG for model 2 Fig. 11.3 The TAOGs of two example models

where Pm and | Pm | denote the set of part indices and the number of parts in the model, respectively. There could be many DTs in model m but only one of them can be selected to disassemble the product.

11.1 Preliminaries

157

11.1.3 Illustrative Example This section shows an example MDLB-MR using three multi-robot workstations (| J | = 3) and ten robots (R = {r 1 …r 10 }, | R | = 10). It is possible to assign up to three out of ten robots to each workstation (Rmax = 3). There are two EOL product models (| M | = 2) to be disassembled. Models 1 and 2 have seven and ten parts respectively (| P1 | = 7, | P2 | = 10). The classical AND TPD is selected as the control group in the comparation with the TAOG. The disassembly precedence relations of the two EOL product models are represented based on either TAOGs or AND TPDs. These resulting graphs are shown in Appendix A. In addition, the processing times for all SD tasks in TAOGs by different robots are randomly generated between [t bro · 0.7, t bro · 1.3] where t bro is the referenced processing time. Noting that, AND TPD does not contain the information on which subassembly the SI task is applied; the processing time of a sequential SI task in AND TPD needs to be set as the maximum of the processing times of the corresponding SD tasks in the TAOG [3]. This section has a simple objective: minimising the cycle time. The example of the MDLB-MR uses a method that is modified based on the one in Sect. 11.2.2, coded by LINGO 10.0 optimiser, so as to obtain optimal solutions based on TAOGs and AND TPDs, respectively. Figure 11.4 illustrates the optimal solutions of the MDLB-MR example. The SD and SI tasks assigned to each robot are indicated by white rectangles where the tasks’ processing times are illuminated below, and the idle times of the robots are shown by grey rectangles. As we can see

Fig. 11.4 Optimal solutions for an example of MDLB-MR based on TAOGs and AND TPDs, solved by LINGO

158

11 Solutions for Mixed-Model Disassembly Line Balancing …

Table 11.1 The indices used in the mathematical model

Notation

Definition

Notation

Definition

n, h

Index of normal nodes

r

Index of robots

a

Index of artificial nodes

j, v

Index of workstations

m, m’

Index of TAOG models

i(Bnm )

Index of Bnm in D

in the bottom graph of Fig. 11.4, the optimal cycle time is 82 time-units when AND TPDs are utilised as the task precedence model for the example of the MDLB-MR. In the case of using TAOGs and properties of SD tasks, the solution is given in the upper-left graph of Fig. 11.4. The optimal cycle time drops to 31 time-units significantly. As can be observed, robots are thus better used, as indicated by less idle times. This example shows the advantages of using TAOG and SD tasks in comparison to AND TPD and sequential SI tasks. This result is caused by (1) all possible DTs and the accurate operation time of each SD task can be utilised to search for the optimal solution; and (2) SD tasks in the same product can be processed in parallel while sequential SI tasks must be performed one by one. In this study, all the 3 properties of the TAOG and SD task will be fully utilised to address the MDLB-MR.

11.2 Mathematical Formulation The mathematical model of the MDLB-MR is given in this section. Some constraints in this model derive from the models in [4, 5, 8].

11.2.1 Notations The indices, sets, parameters and variables used in the mathematical formulations are given in Tables 11.1, 11.2 and 11.3, respectively.

11.2.2 Mathematical Model for MDLB-MR The objective functions are given in Table 11.4. The constraints used in MDLB-MR are highlighted in Table 11.5. As above, C1 defines the cycle time constraint; C2 and C3 guarantee that only a disassembly tree can be selected; and C4 ensures that a selected task is assigned to one of the robots in one of the workstations. Then, C5 and C6 check the precedence

11.2 Mathematical Formulation

159

Table 11.2 The sets and parameters used in the mathematical model Notation

Definition

Notation

Definition

M

Set of TAOG model indices

Pall (Bnm )

Set of all normal predecessors of Bnm in D

Pm

Set of part indices in model m

Sall (Bnm )

Set of all normal successors of Bnm in D

Bm

Set of normal node indices in model m

Bnm

Task n of model m

Am

Set of artificial node indices in model Am a m

R

Set of robot indices

ψ

A big positive number

J

Set of workstation indices

Rmax

Maximum number of robots in each workstation

P(Am a)

Set of immediate predecessors of Am OE r a in model m

Operation energy consumption of rth robot per time unit

S(Am a)

Set of immediate successors of Am a in SE r model m

Standby energy consumption of rth robot per time unit

D

Set of all selected tasks for disassembly

Processing time of task Bnm by rth robot

t mnr

Artificial node a of model m

Table 11.3 The variables used in the mathematical model Notation

Definition

Notation

Definition

X mnrj

1, if Bnm is assigned to rth robot in jth workstation; 0, otherwise

Y mnm’h

1, if Bnm starts its execution before

W rj

1, if rth robot is used in jth workstation; 0, otherwise

S mn

Z mn

1, if Bnm is selected to perform; 0, otherwise



Bhm in the same robot; 0, otherwise Starting time of task Bnm

Table 11.4 The objective functions of the mathematical model Index

Formula

F1

MIN CT

F2

MIN TE  =       ( OEr · tmnr ·Xmnrj + SEr (CT · Wrj − tmnr ·Xmnrj )) j∈J r∈R m∈M n∈Bm

F3

r∈R

MIN PE    =    max( OEr · tmnr ·Xmnrj + SEr (CT · Wrj − tmnr ·Xmnrj )) j∈J r∈R m∈M n∈Bm

F4

m∈M n∈Bm

MIN NR =

 j∈J r∈R

r∈R

Wrj

m∈M n∈Bm

Occurrence constraint

Sequence-related constraint

Precedence constraint

C2

Cycle time constraint

C10

C9

C8

C7

C6

C5

C4

C3

Index

C1

Classification

Table 11.5 The constraints of the mathematical model 

 Bnm ∈P(Am a)

Zmn , ∀m ∈ M , a = 0, a ∈ Am

 



r∈R





Xmhrj ) + ψ(1 −





m∈M



∀Bnm ∈ D, Bhm ∈ D − Pall (Bnm ) ∪ Sall (Bnm ), i(Bnm ) < i(Bhm ), j ∈ J , r ∈ R  D = {Bnm |Zmn = 1, m ∈ M , n ∈ Bm } , |D| = (|P m | − 1)



Smn − Sm h + ψ(1 − Xm hrj ) + ψ(1 − Xmnrj ) + ψ · Ymnm h ≥ tm hr · Xm hrj ,

∀Bnm ∈ D, Bhm ∈ D − Pall (Bnm ) ∪ Sall (Bnm ), i(Bnm ) < i(Bhm ), j ∈ J , r ∈ R



Sm h − Smn + ψ(1 − Xm hrj ) + ψ(1 − Xmnrj ) + ψ(1 − Ymnm h ) ≥ tmnr · Xmnrj ,

D ∩ S(Am a)

tmhr · Xmhrj , r∈R m ∩ P(Am ), B a n ∈

r∈R

Xmnrj ) ≥

j · Xmnrj , ∀m ∈ M , a = 0, a ∈ Am



Bnm ∈S(Am a ) j∈J r∈R



Xmnrv , ∀m ∈ M , a = 0, a ∈ Am , v ∈ J

∀j ∈ J , m ∈ M , a = 0, a ∈ Am , Bhm ∈ D

Smn − Smh + ψ(1 −

 Bnm ∈S(Am a ) r∈R

j · Xmnrj ≤

Xmnrj ≥

Xmnrj = Zmn , ∀m ∈ M , n ∈ Bm

Zmn =

Bnm ∈P(Am a ) j∈J r∈R



tmnr · Xmnrj ≤ CT , ∀m ∈ M , n ∈ Bm

Zmn = 1, ∀m ∈ M , a = 0, a ∈ Am

j∈J r∈R

Bnm ∈P(Am a ) j∈J r∈R



j∈J r∈R



Bnm ∈S(Am a)



Bnm ∈S(Am a)



Smn · Zmn +

Formula

(continued)

160 11 Solutions for Mixed-Model Disassembly Line Balancing …

Variable constraint

Classification

Table 11.5 (continued)

Wrj ≤ Rmax , ∀j ∈ J

Wrj ∈ {0, 1}, ∀j ∈ J , r ∈ R Ymnm h ∈ {0, 1}, ∀Bnm ∈ D, Bhm ∈ D − Pall (Bnm ) ∪ Sall (Bnm ) Zmn ∈ {0, 1}, ∀m ∈ M , n ∈ Bm

C17

C18

C19



Xmnrj ∈ {0, 1}, ∀m ∈ M , n ∈ Bm , j ∈ J , r ∈ R

C16

Wrj ≤ 1, ∀r ∈ R

r∈R



Smn ≥ 0, ∀m ∈ M , n ∈ Bm

j∈J



1≤

C15

C14

C13

m∈M n∈Bm

Pall (Bnm ) ⊂ D, Sall (Bnm ) ⊂ D, ∀m ∈ M , n ∈ Bm   Xmnrj ≤ |D| · Wrj , ∀j ∈ J , r ∈ R

C11

C12

Formula

Index

11.2 Mathematical Formulation 161

162

11 Solutions for Mixed-Model Disassembly Line Balancing …

constraints of the selected tasks, while C7, C8 and C9 control the sequence-dependent starting time of each selected task. For a pair of selected tasks Bnm and Bhm , if task Bhm is an immediate predecessor of task Bnm on a same workstation, C7 becomes active. If a pair of selected tasks has no precedence relations and they are allocated to the same robot in the same workstation, C8 and C9 become active. C10 and C11 are supplements to C8 and C9, where C10 defines the set of all selected tasks, which are denoted by D; and C11 defines the set of all predecessors and the set of all successors of a selected task in D. C12 sets the condition that, if a selected task is assigned to the rth robot of the jth workstation, W rj must be 1 (since the rth robot should be utilised in the jth workstation). C13 states that, at least one robot can be permitted in each workstation, while the maximum number of robots in each workstation is Rmax . C14 enforces that each selected robot can be assigned to only one workstation. Moreover, there are also some other variable constraints to determine which variables are feasible for MDLB-MR, which are denoted by C15–C19 in Table 11.5.

11.3 Problem-Specific Bi-Criterion Evolutionary Algorithm for MDLB-MR A problem-specific bi-criterion evolutionary algorithm (PBEA) is developed to solve MDLB-MR. The framework of the proposed PBEA originates from our original BCE framework [4], which is depicted in Algorithm 11.1.

11.3.1 Procedure of PBEA The PBEA consists of two evolution parts which are based on a non-Pareto criterion (NPC) or a Pareto criterion (PC). Two evolutionary populations in the PBEA, the NPC population and the PC population, evolve collaboratively with an abundant information exchange to enhance the convergence of the PC population and compensate the diversity loss of the NPC population. The procedure of the PBEA starts with generating an NPC population for initialisation using the solution representation in Sect. 11.3.2 and problem-specific initialisation procedure in Sect. 11.3.3. Initialisations of the reference point and the PC population are performed in turn. Then, steps 2.1–2.3 are performed in a cycle until the termination criterion is satisfied. In step 2.1, PC individual exploration is addressed and two crucial questions are considered: (1) how to select promising Pareto non-dominated individuals from the PC population; and (2) how to produce the offspring. For (1), the PC individuals whose niche has no or only one NPC individual are selected to probe into the regions that are not well developed in the NPC evolution. For (2), problemspecific crossover operators and neighbourhood generation operators are designated

11.3 Problem-Specific Bi-Criterion Evolutionary Algorithm for MDLB-MR

163

to achieve the global evolutionary search. In step 2.2, the NPC population evolution is implemented by using the MOEA/D [8] with an embedded problem-specific variation operator, which is the same as in step 2.1. In step 2.3, a niche-based PC population maintenance strategy is proposed to preserve a set of representative PC individuals, which maximise the diversity of the PC population, and maintain a fixed PC population size. A clear difference between the proposed PBEA and the BCE is that the PBEA is a specific algorithm, whereas the BCE is a general framework. In addition, the PBEA differs from the BCE by a significant margin in exploration in the decision space. The BCE focuses on the implementation of environmental selection operations, whereas the variation operation in the decision space has not been explored. It would be essential to utilise problem-specific information to guide the search process so as to enhance the exploration ability. In the PBEA, problem-specific crossover operators, neighbourhood generation operators, and repair procedures are developed for the MDLB-MR through well-designed solution encoding and decoding, enhancing the exploration ability of the decision space. Algorithm 11.1 Framework of the proposed PBEA for MDLB-MR. Input: TAOG models; task processing times; energy consumptions of robots; setting of MDLB-MR. Output: Approximation to Pareto set and Pareto front. Step 1 Initialisation initialise NPC population npc_pop by problem-specific method (section 4.3), initialise reference point and PC population pc_pop. Step 2 Update Step 2.1 PC population evolution Step 2.1.1 Calculate the radius of the niche for each PC individual. Step 2.1.2 for (all xi pc_pop) do if (no or only one NPC individual in the niche of xi) then Randomly select xj from pc_pop, then xk←variation(xi, xj) (section 4.4) and update pc_pop, reference point, npc_pop by child xk. end for Step 2.2 NPC population evolution for (i = 1,…,| npc_pop |) do Step 2.2.1 if (randreal(0, 1) < threshold) then candidateSet←neighbours of i else candidateSet←{1,…,| npc_pop |}. Step 2.2.2 Randomly select an index j from candidateSet, then xk←variation(xi, xj). Step 2.2.3 Update pc_pop and reference point by child xk, update npc_pop based on MOEA/D. end for Step 2.3 PC population maintenance (shown in BCE framework) Step 3 Stopping Criterion if (the stopping criterion is satisfied) then stop and output else go to Step 2.

164

11 Solutions for Mixed-Model Disassembly Line Balancing …

11.3.2 Solution Encoding and Decoding To obtain a feasible solution, the assignment of tasks to robots, the processing sequence of tasks for robots, and the allocation of the robots to workstations should be determined. In this study, three integer vectors are developed for solution encoding: task-robot assignment vector, task sequence vector and robot-workstation assignment vector. Before explaining the three vectors, the task unified numbering of all EOL product models should be addressed. In the MDLB-MR, a set of models M can be simultaneously completely disassembled. We consecutively give a fixed global ID (GID) to represent  each task in the TAOGs of all models in the form of b, where b ∈ B with |B| = m∈M |Bm |. This means that tasks 1,…,| B1 | belong to model 1, and tasks | B1 | + 1,…,| B1 | + | B2 | belong to model 2 and so on. After being numbered, a task can also be referred to the fixed GID from 1 to | B |. For example, in Fig. 11.5, task GID 3 (b = 3) has the same reference with task B31 in the TAOG of model 1. The task-robot assignment vector and task sequence vector together determine the assignment of tasks to the robot. The task-robot assignment vector, which is denoted as TR = [r 1 ,…,r d ,…,r |D| ], is an array of | D | integer values, where r d ∈ R and d = 1,…,| D |. A task assignment vector can determine the assignment of the tasks to robots, but the precedence relations of tasks remain unsolved and the task sequence vector is thus utilised. The task sequence vector TS = [b1 ,…,bd ,…,b|D| ] is a GID permutation of | D | selected tasks, where bd ∈ B and d = 1,…,| D |. The order of occurrence for each task in TS indicates its processing priority. For example, in the task sequence vector TS shown in Fig. 11.3, task GID 3 has the highest priority and it is assigned first, then task GID 24, and so on. Note that the selected tasks within a TAOG should keep the relative precedence relations in the TS, and they also should be able to form a DT. Moreover, there is a one-to-one correspondence between the

Fig. 11.5 Example of solution encoding and decoding for MDLB-MR (| M | = 2, | B | = 43, | D | = 15, | J | = 2, | R | = 10 and Rmax = 3)

11.3 Problem-Specific Bi-Criterion Evolutionary Algorithm for MDLB-MR

165

elements of the same index in TR and TS. That is to say, if the dth element r d in TR is r and the dth element bd in TS is b, task b should be assigned to robot r. In order to determine the allocation of the robots to workstations, the robot-workstation assignment vector RW = [j1 ,…,jr ,…,j|R| ], an array of | R | integer values where jr ∈ J∪{-1} and r ∈ R is proposed. The rth element jr in RW is ‘-1’ indicating robot r is not allocated to any workstation (i.e., r is an idle resource). Furthermore, a decoding scheme is introduced to allocate a period of time for each selected task, one by one according to their occurrence order in TS. For task b and its assigned robot r, the basic idea behind the proposed decoding scheme is looking for the first available idle time interval between tasks that have already been allocated to robot r for task b [9]. The working time interval, which includes operation time and standby time of robots in workstation 1 is [0, CT ]; the working time interval of robots in workstation 2 is [CT, 2CT ] and so on. For any selected task b in TS (b = bd ) and its assigned robot r (r = r d ), its available idle time interval [L t , Rt ] is determined by using the Eq. (11.1): 

max{Lt , CP(b,TS) } + tbr ≤ Rt , if ∃P(b, TS); Lt + tbr ≤ Rt , otherwise.

(11.1)

where L t and Rt represent the starting and ending time of the interval respectively; t br is the processing time of task b by robot r; and C P(b,TS) is the completion time of the immediate normal predecessor of task b in TS. Each task has only one immediate predecessor at most in TS. Once a selected task b in TS is to be allocated to its assigned robot r in the first available idle time interval, its starting time will be set. If there is no such idle time interval, task b would be allocated to the end of all tasks that have already been allocated to robot r. Note that the objective F4 of the MDLB-MR is fixed for any given solution. When a solution is decoded, the tasks in TS are reordered in the ascending order of their starting time. An example of solution representation for the MDLB-MR is depicted in Fig. 11.5, where 10 robots can be allocated to 2 workstations. From RW in Fig. 11.5, we can see that robots 2, 3, and 4, are allocated to workstation 1; robots 5 and 6 are assigned to workstation 2, and the others are idle. Furthermore, 15 selected tasks from the TAOGs of the 2 models shown in Fig. 11.3 can also be assigned based on the TS/TR in Fig. 11.5.

11.3.3 Solution Initialisation The solution initialisation procedure begins with randomly generating a feasible RW. First, the number of robots (| Rj |) allowed in workstation j is randomly generated from the integer interval [1, Rmax ]. Then, | J | iterations are performed to allocate robots to the given | J | workstations. In each iteration j, | Rj | robots are selected

166

11 Solutions for Mixed-Model Disassembly Line Balancing …

Fig. 11.6 Example of the DT generation procedure

randomly from the robot candidate list and then the candidate list is updated by deleting the selected robots. Note that the robot candidate list contains all | R | robots at the beginning of the iterations and | R | should always be greater than or equal to | J | · Rmax . If robot r is not allocated to any workstation, the rth element jr in RW will be set to −1. To obtain feasible TS and TR, | M | DTs need to be generated first and each of them is selected randomly from the corresponding TAOG of a model. The DT generation procedure is the same for all | M | models and starts with randomly selecting a task from the successors of the first artificial node in the TAOG. Then the immediate successor set of the selected task is determined and the number of artificial nodes in the set is no more than two. For each artificial node in the set, a new task is selected randomly from its successors. This procedure is repeated until | Pm | − 1 tasks are selected and the output represents a DT. Figure 11.6 illustrates the DT generation procedure using a sample TAOG from Fig. 11.3a. As seen in Fig. 11.6, tasks 3, 9, 18, 19, 22 and 23 are randomly chosen to compose a DT. Based on these | M | DTs and the RW, the following task-robot assignment procedure, originating from the idea in [5, 6], is proposed to generate feasible TR and TS. (1)

(2) (3)

Calculate the initial cycle time by using Eq. (11.2). Note that, CT 0 should always be greater than or equal to the mean of the minimum processing time of robots for all | D | selected tasks in | M | DTs and the maximum processing time among these selected tasks. The initial processing time of a task is set to the minimum processing time of the robots. Set the current index j of the workstation to zero. Determine the set of unassigned tasks (setBDT ← D). If j = | J | and setBDT = ∅, the procedure is terminated. Generate TS by sorting all | D | selected tasks in | M | DTs in a non-decreasing order of task starting time (if a tie occurs, then sort these tasks with the same starting time according to the ranked positional weight). Generate TR according to the result of the task-robot assignment. Else: (3.1) If j ≤ | J | − 1, set j = j + 1;(3.2) If j = | J | and setBDT = ∅, set CT 0 = CT 0 + time increment. Go to (2).

11.3 Problem-Specific Bi-Criterion Evolutionary Algorithm for MDLB-MR

(4)

(5)

(6)

(7)

(8)

167

Determine the set of available robot indices (setRj ) allocated to workstation j from RW. Set C r = 0 for any r ∈ setRj , where C r denotes the task completion time of robot r. Determine the set of assignable tasks (setBDTA ) which includes those tasks in setBDT having no predecessor, or their predecessors have been previously assigned. Calculate the completion time of each task in setBDTA for all r ∈ setRj by using formula (1). Exclude the tasks that violate the cycle time constraint for all r ∈ setRj in workstation j from setBDTA . If setBDTA = ∅, go to (3); else, select the task b with the highest ranked positional weight from setBDTA . In this study, the ranked positional weight of a task is the sum of the processing times of the task and of all its successors in setBDT . The processing time of a task is the mean of the processing times of all robots from the available robot set for this task. According to Eq. (11.1), assign the selected task b to the robot r ∈ setRj that can complete it earlier (if a tie occurs, then select a robot with lower energy consumption). Update C r and remove bth task from setBDT . Go to (5).

CT0 = max

⎧ ⎨ max ⎩b=bd ∈B,d =1,...,|D|

⎧ ⎫⎫  ⎨ b=bd ∈B,d =1,...,|D| min {tbr } ⎬⎬ r∈R,jr ∈J min {tbr } , r∈R,jr ∈J ⎩ ⎭⎭ |J | · Rmax



(11.2)

11.3.4 Problem-Specific Variation Operators The variation operators in the PBEA consist of crossover and neighbourhood generation operators. The crossover operators are applied to RW and TS to enhance exploration ability in the decision space, while the neighbourhood generation operators, including alteration and insert operators, are applied to local searches. The crossover operators for RW and TS are implemented. For RW, a subset of indices is selected from one parent at random. Then a child is produced by copying the values of these selected indices from the parent to the corresponding indices in the child. Finally, the values of the remaining indices are copied from the second parent to the corresponding indices in the child. The obtained RW may not be feasible due to the constraints on the maximum number of robots in each workstation and the fixed number of workstations. A repair procedure is therefore introduced to adjust the robot-workstation assignment of the obtained RW. The repair procedure has the following major steps:

168

11 Solutions for Mixed-Model Disassembly Line Balancing …

Fig. 11.7 Illustration of the crossovers for RW and TS (| M | = 2, | B | = 43, | D | = 15, | J | = 2, | R | = 10 and Rmax = 3)

(1) (2) (3)

Set the current index j of the workstation to zero. If j = | J |, terminate the procedure and output the modified RW; else set j = j + 1. Determine the robot set setRj allocated to station j from RW. If the size of setRj is greater than Rmax , randomly select (|setRj | − Rmax ) robots from setRj and de-allocate them. If the size of setRj equals zero, then randomly allocate randint(1, Rmax ) robots from the set of all unallocated robots to workstation j. Go to (2).

With regards to TS, the crossover operator allows each DT in a child to be selected from one parent according to a predetermined probability or from the second parent in other cases. Once all new | M | DTs are determined, the task-robot assignment procedure, which is described in Sect. 11.4.3, will be triggered to generate new suboptimal TS and TR. The above crossover operators for RW and TS are illustrated in Fig. 11.7. In this study, the two crossover operators would be simultaneously triggered with a given probability for each iteration, to not only explore new patterns of a solution but also inherit parents’ features as much as possible. Unlike the above crossover operators, neighbourhood generation operators are applied to all the three vectors by modifying the values of different positions within a solution. A swap operator is applied to RW to perform an interchange between the values of the workstation that a robot is assigned to and an unassigned robot in RW. For TR, an alteration operator is applied. In the alteration operator, a task is randomly selected and the robot of this task is replaced by another assigned robot, which is randomly selected from the available robot set of the task, by checking the robots and workstations of its immediate predecessors and successors. As for TS, a neighbour solution is obtained by an insert operator. The insert operator selects a task in TS randomly, and moves it from the current position to a different feasible position which cannot violate the precedence relationships between this task and its immediate predecessor and successor in TS.

11.3 Problem-Specific Bi-Criterion Evolutionary Algorithm for MDLB-MR

169

In addition, a simple method [4] is applied to decide whether a neighbourhood generation operator can be selected in each iteration. A number between [0, 1] is generated randomly for each vector. If the number is smaller than 1/3, the neighbourhood generation operator is triggered. If all the three numbers are larger than 1/3, the operator for the RW is triggered.

11.4 Computational Experiments 11.4.1 Experimental Settings In this study, eight models of realistic EOL products from the literature, namely, model 1 [3], model 2 [10], model 3 [11], model 4 [12], model 5 [13], model 6 [13], model 7 [14] and model 8 [12] are used to illustrate the effectiveness of the PBEA. A new test data set including 63 problem cases is generated by using eight TAOGs. The data set is divided into three groups: 19 small-sized cases with 2– 3 EOL product models (23–73 possible tasks); 24 medium-sized cases with 4–5 models (65–132 tasks); and 20 large-sized cases with six to eight models (118–187 tasks). The proposed cases are processed on a disassembly line having four multirobot workstations. There are 25 available robots and it is possible to assign up to 5 different robots to each workstation. The processing times of tasks by the robots are randomly generated between [t bro · 0.7, t bro · 1.3] and t bro is the referenced processing time. The operation energy consumptions of robots per time unit are in the range of 1.6 to 2.4, and the standby energy consumption of a robot per time unit is assumed as 10% of the operational energy consumption [5]. In the field of evolutionary multi-objective optimisation, the selection criterion plays a key role. There are two classes employed to select individuals in the population: Pareto and non-Pareto criteria. The indicator-based and decomposition-based EAs are also two examples in the non-Pareto criteria. This chapter uses three MOEAs: NSGA-II [15], IBEA [16] and MOEA/D [8] to solve the problem. In MOEA/D, three scalarising functions including weighted sum (WS), penalty-based boundary intersection (PBI) and Tchebycheff (TCH) functions are employed to investigate the effects of different scalarising functions on algorithm performance. Note that the comparative study focuses on the different selection operations, whereas the other components such as encoding/decoding scheme, solution initialisation approach and variation operators in these competitors are identical. All the algorithms are implemented in C programming language by Xcode, and tested on an 8 Intel Core i7 3.1 GHz processor with 16 GB of RAM. All of the above data and algorithm codes are available upon request to the authors.

170

11 Solutions for Mixed-Model Disassembly Line Balancing …

The HV is used to evaluate the performance of these algorithms. It is a very popular metric in evolutionary multi-objective optimisation problems due to its special properties, e.g., being compliant with Pareto dominance (if one population Pareto dominates another then it has a higher HV) and not requiring the problem’s Pareto front to be known. The HV calculates the volume of the objective space between the obtained Pareto solutions and a specified reference point. A large HV value is preferable and indicates a good performance of the solution set in terms of convergence, extensity and uniformity. Then we normalise the objective value of the obtained solutions according to the range of the approximate Pareto front and calculate the HV value based on the normalised value. Also, the reference point is set to 1.1 times the nadir point of the obtained Pareto front. To test the statistical significance in the 63 test instances, the Wilcoxon’s rank sum test at a 5% significance level is conducted on the HV values obtained by the PBEA and each competitor. All the results presented in the experimental study are obtained by executing 10 independent runs using each algorithm. The termination criterion used in each algorithm is a predefined number of function evaluations, which is set to 100,000. For a fair comparison, the size of the population for IBEA and NSGA-II is set to 100. For MOEA/D and PBEA, the population size is determined by a parameter h, nobj −1 , nobj represents the number of objectives. Hence, we use the i.e., npop = Ch+n obj −1 closest integer to 100 amongst the possible values as the population size of the three versions of the MOEA/D and PBEA. Besides the parameters mentioned above, other parameters are also set as shown in Table 11.6. Table 11.6 Other parameters of the considered algorithms Parameter

Algorithms

Value

Parameter

Algorithms

Value

Scaling factor

IBEA

0.05

Niche radius

PBEA

3 4.0

Neighbourhood size

MOEA/D,

PBEA*

12

Increment of cycle time

ALL†

Probability of neighbourhood selection

MOEA/D, PBEA*

0.9

RW generation probability in crossover

ALL†

0.6

Number of divisions

MOEA/D, PBEA*

7

DT selection probability in crossover

ALL†

0.6

Maximum number of replacements

MOEA/D, PBEA*

1

Mutation operators ALL† selection probability

Penalty parameter

MOEA/D + PBI

5

Probability of TS search direction selection

ALL†

0.33

0.5

“*” means that the algorithms include the three versions of MOEA/D and PBEA; “†” indicates that all six algorithms are included

11.4 Computational Experiments

171

11.4.2 Experimental Results and Discussions (1)

Investigation of TAOG and AND TPD on MDLB-MR

To investigate the impact of the TAOG and AND TPD approaches on the PBEA, we consider four MDLB-MR problems including two to four EOL product models. For each case, the approximate Pareto front is obtained. Then the normalised nondominated solutions over 10 runs of the PBEA based on the TAOG and AND TPD are calculated. Figure 11.8 plots the final experimental results of the TAOG and AND TPD approaches by parallel coordinates. Parallel coordinates have been found to be a useful tool for visualising multi-objective solutions in a two-dimensional graph. Each line in the graph connects the achieved objective values and represents a potential solution to the given problem. In Fig. 11.8 where the order of objectives on the horizontal axis is F1, F2, F3, F4, the vertical axis represents the normalised objective value. From Fig. 11.8a–h, we can see the PBEA based on the TAOG is better than the PBEA based on AND TPD in all four cases, especially if the performance is measured by the first three objectives. The PBEA based on AND TPD has an inferior convergence. Its final non-dominated solution set for each problem case ranges from 0 to around 3.5, 4.0 or 4.5, in contrast to the Pareto front ranging from 0 to 1. The PBEA based on the TAOG has a good convergence and its solution set for each instance has the same range as the Pareto front. Moreover, all the solution sets obtained by the PBEA based on the TAOG have good coverage and they all spread over the whole range of the desired front. In the case of the PBEA based on AND TPD, all the solution sets fail to cover the region from 0 to around 0.5 in terms of objective F1 and F3. In particular, there are no points distributed between 0 and 1 on objective F2. In terms of the example in Sect. 11.4.2, the experimental results in this section show the remarkable performance in using the TAOG instead of the AND TPD to model the task precedence relations. This is consistent with the optimal result in Fig. 11.4. In particular, the parallel disassembly described in the third property can be utilised to improve the performance of the MDLB-MR. (2)

Comparison with state-of-the-art evolutionary algorithms

In this section, we observe the effect of the behaviour of different EAs on the MDLBMR by comparing the PBEA with five EAs, i.e., IBEA, NSGA-II, MOEA/D + WS, MOEA/D + PBI and MOEA/D + TCH. Tables 11.7, 11.8 and 11.9 give the HV results (mean and standard deviation). Note that the first column of the tables gives the EOL product models, where ‘m, n’ denotes model m and model n. Moreover, the better mean for each problem instance is highlighted in boldface. In the three tables, the results that significantly differ from those of the PBEA are marked with the symbol “†”. The HV results of the 6 algorithms for all 19 small-sized cases are shown in Table 11.7. It can be seen that NSGA-II and PBEA are the best two algorithms. The NSGA-II is overall slightly better than the PBEA, where the NSGA-II wins in 12 out

Fig. 11.8 Normalised non-dominated solution set obtained by the PBEA based on TAOGs and AND TPDs on different mixed-model scenarios (two to four models), as shown by parallel coordinates; (m, n) denotes model m and model n

172 11 Solutions for Mixed-Model Disassembly Line Balancing …

9.1038e-01[1.5e-02]

1.0684e + 00[1.6e-02]†

9.1447e-01[8.6e-02]

9.1300e-01[1.5e-02]†

8.6493e-01[2.1e-02]†

1.0499e + 00[2.6e-02]

9.0878e-01[4.9e-02]†

8.5431e-01[6.1e-02]

8.7069e-01[3.9e-02]

8.2705e-01[3.6e-02]†

9.0460e-01[6.4e-02]

9.2677e-01[4.2e-02]†

9.6117e-01[3.5e-02]†

8.3100e-01[3.9e-02]†

8.2529e-01[5.4e-02]

9.0753e-01[4.0e-02]

9.2576e-01[3.5e-02]†

7.9607e-01[4.3e-02]†

7.9744e-01[8.3e-02]

9.2253e-01[3.9e-02]

1, 3

1, 4

2, 3

2, 4

3, 4

2, 5

1, 2, 3

1, 2, 4

1, 2, 5

1, 2, 6

1, 3, 4

1, 3, 6

1, 4, 6

2, 3, 4

2, 3, 5

2, 3, 6

2, 4, 5

2, 4, 6

7.3832e-01[6.2e-02]†

6.7357e-01[1.0e-01]†

6.2104e-01[1.2e-01]†

7.6546e-01[5.2e-02]†

7.1546e-01[6.5e-02]†

6.7530e-01[8.6e-02]†

5.5656e-01[7.4e-02]†

4.2664e-01[8.1e-02]†

4.8912e-01[8.1e-02]†

5.5364e-01[9.0e-02]†

4.7944e-01[1.2e-01]†

5.0815e-01[7.8e-02]†

5.2255e-01[1.2e-01]†

6.8412e-01[7.2e-02]†

5.9353e-01[5.8e-02]†

5.5309e-01[9.6e-02]†

3.5242e-01[5.6e-02]†

3.6364e-01[8.6e-02]†

4.2192e-01[8.6e-02]†

5.1304e-01[1.9e-01]†

4.6508e-01[5.6e-02]†

5.5792e-01[8.9e-02]†

4.3921e-01[9.8e-02]†

5.3005e-01[1.1e-01]†

4.4322e-01[4.9e-02]†

MOEA/D + PBI

7.4041e-01[8.0e-02]†

6.2019e-01[1.2e-01]†

5.9131e-01[1.0e-01]†

8.2426e-01[6.9e-02]†

6.9842e-01[6.1e-02]†

6.5895e-01[9.2e-02]†

6.5424e-01[1.1e-01]†

8.2622e-01[9.0e-02]†

6.9767e-01[1.0e-01]†

7.4869e-01[8.9e-02]†

5.7751e-01[9.6e-02]†

5.8520e-01[9.1e-02]†

6.1930e-01[8.5e-02]†

7.7562e-01[1.4e-01]†

9.3071e-01[1.2e-01]†

6.8495e-01[4.5e-02]†

7.6921e-01[1.1e-01]†

8.6672e-01[6.6e-02]†

7.3045e-01[1.2e-01]†

MOEA/D + TCH

“†” means that the result is significantly different from that of the PBEA at a 0.05 level by the Wilcoxon’s rank sum test

9.3386e-01[5.2e-02]

8.5629e-01[6.0e-02]

8.4815e-01[4.4e-02]

9.4893e-01[4.0e-02]

9.5987e-01[5.0e-02]

8.7695e-01[3.0e-02]

6.9274e-01[1.0e-01]†

8.3875e-01[7.3e-02]†

8.5865e-01[6.1e-02]

7.2203e-01[9.8e-02]†

1.0136e + 00[4.6e-02]

6.7747e-01[9.2e-02]†

5.3481e-01[6.8e-02]†

5.9709e-01[9.8e-02]†

6.2200e-01[1.1e-01]†

7.4330e-01[6.3e-02]†

6.3167e-01[1.4e-01]†

7.0129e-01[6.3e-02]†

6.4240e-01[9.5e-02]†

6.7410e-01[1.1e-01]†

6.0495e-01[8.0e-02]†

MOEA/D + WS

9.5082e-01[3.6e-02]

9.3077e-01[4.0e-02]

8.2390e-01[8.8e-02]

8.7583e-01[3.2e-02]

9.0600e-01[3.4e-02]

9.6711e-01[1.3e-02]

9.5206e-01[1.8e-02]†

9.5826e-01[7.3e-02]

9.5698e-01[4.1e-02]†

8.6703e-01[6.4e-02]

1, 2

NSGA-II

IBEA

Models

Table 11.7 HV results (mean [standard deviation]) of the six algorithms for small-sized cases

9.6125e-01[4.1e-02]

8.4034e-01[5.4e-02]

8.5137e-01[4.7e-02]

9.7205e-01[4.2e-02]

9.3198e-01[5.7e-02]

8.5134e-01[5.5e-02]

8.7769e-01[4.0e-02]

1.0114e + 00[4.4e-02]

9.6394e-01[3.3e-02]

9.3434e-01[4.2e-02]

8.7800e-01[3.0e-02]

8.5630e-01[5.3e-02]

8.6825e-01[4.4e-02]

9.5690e-01[2.6e-02]

1.0537e + 00[1.3e-02]

9.0545e-01[2.3e-02]

9.1942e-01[5.2e-02]

9.3389e-01[1.0e-01]

8.9281e-01[5.4e-02]

PBEA

11.4 Computational Experiments 173

9.4153e-01[3.2e-02]† 9.6455e-01[4.6e-02]

8.8947e-01[6.5e-02]

9.6256e-01[4.1e-02]† 9.8948e-01[2.9e-02]

8.9317e-01[5.0e-02]

7.0295e-01[7.7e-02]

8.7180e-01[3.5e-02]† 9.1544e-01[3.3e-02]

9.5067e-01[4.6e-02]

8.3033e-01[5.2e-02]† 9.0101e-01[6.3e-02]

1, 2, 3, 5

1, 2, 3, 6

1, 2, 4, 5

1, 2, 4, 6

1, 4, 5, 6

2, 3, 4, 5

2, 3, 4, 6

3, 4, 5, 6

NSGA-II

8.7690e-01[3.2e-02]

1, 2, 3, 4

MOEA/D + WS

MOEA/D + PBI

MOEA/D + TCH PBEA

7.4944e-01[7.3e-02]† 5.8556e-01[6.1e-02]† 8.0625e-01[8.1e-02]† 1.0160e + 00[5.0e-02] 6.3567e-01[6.8e-02]† 6.1187e-01[8.8e-02]† 7.0777e-01[8.7e-02]† 9.1651e-01[5.9e-02] 6.4482e-01[8.8e-02]† 4.8562e-01[7.0e-02]† 6.3575e-01[8.9e-02]† 8.7384e-01[6.6e-02] 6.9142e-01[6.5e-02]† 5.0630e-01[1.1e-01]† 6.7061e-01[9.7e-02]† 9.5586e-01[3.4e-02]

1, 2, 3, 4, 8 9.5743e-01[3.8e-02]† 9.8918e-01[2.6e-02]

1, 2, 3, 5, 6 8.4762e-01[5.0e-02]† 8.7009e-01[5.0e-02]

8.6655e-01[5.8e-02]

1, 2, 3, 5, 7 8.4560e-01[4.4e-02]

1, 2, 3, 5, 8 8.8673e-01[3.2e-02]† 9.2922e-01[4.7e-02]

(continued)

6.6253e-01[7.9e-02]† 5.2485e-01[8.7e-02]† 6.9045e-01[7.5e-02]† 8.9623e-01[4.8e-02] 7.2912e-01[4.9e-02]† 5.3231e-01[9.3e-02]† 7.0746e-01[1.0e-01]† 9.5850e-01[3.0e-02]

6.8293e-01[6.2e-02]† 5.2779e-01[6.4e-02]† 7.0127e-01[7.9e-02]† 8.8962e-01[4.0e-02]

1, 2, 3, 4, 7 9.2086e-01[3.0e-02]† 9.5924e-01[4.0e-02]

1, 2, 3, 4, 6 8.5129e-01[6.6e-02]

6.3819e-01[8.3e-02]† 3.9844e-01[1.0e-01]† 6.1932e-01[8.7e-02]† 8.9630e-01[4.7e-02]

7.2910e-01[9.8e-02]† 5.5765e-01[8.0e-02]† 7.9895e-01[9.6e-02]† 9.7660e-01[6.3e-02]

7.3558e-01[6.3e-02]† 5.4973e-01[8.0e-02]† 6.7683e-01[4.8e-02]† 9.1799e-01[3.6e-02]

4.4668e-01[1.6e-01]† 3.5178e-01[1.4e-01]† 4.4228e-01[1.5e-01]† 6.9361e-01[9.3e-02]

6.7114e-01[9.8e-02]† 6.0755e-01[9.9e-02]† 7.0376e-01[7.3e-02]† 9.1373e-01[5.4e-02]

7.9872e-01[7.0e-02]† 6.3326e-01[5.5e-02]† 7.8769e-01[6.4e-02]† 1.0072e + 00[4.6e-02]

6.1753e-01[6.6e-02]† 4.5401e-01[7.4e-02]† 6.6553e-01[8.9e-02]† 8.8270e-01[6.0e-02]

7.4701e-01[4.0e-02]† 5.8260e-01[9.0e-02]† 7.6434e-01[8.5e-02]† 9.7309e-01[1.7e-02]

8.9627e-01[5.6e-02]

9.0899e-01[3.9e-02]

1, 2, 3, 4, 5 8.4871e-01[6.5e-02]

9.7634e-01[3.8e-02]

6.8957e-01[8.7e-02]

9.2691e-01[5.4e-02]

8.7403e-01[9.4e-02]

8.8305e-01[2.3e-02]† 6.9757e-01[8.5e-02]† 4.9346e-01[9.6e-02]† 6.7996e-01[1.1e-01]† 9.1211e-01[3.2e-02]

IBEA

Models

Table 11.8 HV results (mean [standard deviation]) of the six algorithms for medium-sized cases

174 11 Solutions for Mixed-Model Disassembly Line Balancing …

8.8292e-01[6.4e-02]

8.8339e-01[7.4e-02]

8.7069e-01[2.0e-02]

9.0066e-01[6.8e-02]

9.3374e-01[3.4e-02]

8.8181e-01[3.3e-02]

1, 2, 4, 5, 8 8.6093e-01[8.2e-02]

1, 2, 5, 6, 7 8.4908e-01[4.3e-02]

1, 2, 5, 6, 8 8.1305e-01[6.5e-02]

2, 3, 4, 5, 6 8.8921e-01[6.6e-02]

2, 3, 4, 5, 7 9.3046e-01[3.3e-02]

2, 3, 4, 5, 8 8.0531e-01[8.8e-02]

MOEA/D + WS

MOEA/D + PBI

MOEA/D + TCH PBEA

6.1204e-01[1.0e-01]† 4.5737e-01[1.2e-01]† 5.7986e-01[1.1e-01]† 8.6489e-01[7.2e-02]

7.3311e-01[6.2e-02]† 5.6306e-01[5.8e-02]† 7.5214e-01[8.5e-02]† 9.7440e-01[5.6e-02]

7.2808e-01[6.1e-02]† 5.7848e-01[6.2e-02]† 7.2931e-01[8.8e-02]† 9.1163e-01[4.2e-02]

5.8941e-01[8.7e-02]† 4.5738e-01[1.0e-01]† 5.9408e-01[1.2e-01]† 8.1943e-01[7.6e-02]

6.1214e-01[6.7e-02]† 5.3596e-01[7.2e-02]† 6.4053e-01[7.0e-02]† 8.8554e-01[5.0e-02]

6.0137e-01[8.2e-02]† 4.5811e-01[7.3e-02]† 6.6058e-01[9.3e-02]† 9.0876e-01[5.4e-02]

6.7306e-01[8.2e-02]† 5.3392e-01[6.7e-02]† 6.8354e-01[7.0e-02]† 9.3054e-01[3.9e-02]

7.2222e-01[7.5e-02]† 5.3309e-01[7.7e-02]† 7.4241e-01[6.2e-02]† 9.8707e-01[3.9e-02]

“†” means that the result is significantly different from that of the PBEA at a 0.05 level by the Wilcoxon’s rank sum test

9.1818e-01[3.9e-02]

1, 2, 4, 5, 7 9.0355e-01[2.9e-02]

NSGA-II

9.5495e-01[4.1e-02]

IBEA

1, 2, 4, 5, 6 9.5790e-01[5.9e-02]

Models

Table 11.8 (continued)

11.4 Computational Experiments 175

IBEA

8.5405e-01[4.5e-02]

8.9422e-01[5.3e-02]

8.8235e-01[6.3e-02]

8.8978e-01[2.7e-02]†

8.6238e-01[7.5e-02]

9.0153e-01[4.8e-02]

8.7708e-01[6.2e-02]†

8.6552e-01[5.3e-02]

8.5448e-01[5.5e-02]†

7.8138e-01[5.3e-02]

9.0486e-01[4.4e-02]†

8.8090e-01[6.5e-02]†

8.6779e-01[4.2e-02]†

9.0109e-01[4.9e-02]

8.0928e-01[4.7e-02]†

8.9533e-01[3.8e-02]†

Models

1, 2, 3, 4, 5, 6

1, 2, 3, 4, 5, 7

1, 2, 3, 4, 5, 8

1, 2, 3, 4, 6, 7

1, 2, 3, 4, 6, 8

1, 2, 3, 4, 7, 8

1, 2, 4, 5, 6, 7

1, 2, 4, 5, 6, 8

1, 2, 4, 5, 7, 8

1, 3, 4, 5, 6, 7

1, 3, 4, 5, 6, 8

1, 3, 4, 5, 7, 8

1, 2, 3, 4, 5, 6, 7

1, 2, 3, 4, 5, 6, 8

1, 2, 3, 4, 6, 7, 8

1, 2, 3, 5, 6, 7, 8

9.0948e-01[3.7e-02]†

8.2673e-01[7.2e-02]

8.9839e-01[4.1e-02]

8.9230e-01[3.8e-02]

9.1154e-01[3.3e-02]†

8.8170e-01[5.2e-02]†

8.1493e-01[7.3e-02]

8.8479e-01[5.8e-02]†

8.9480e-01[5.5e-02]

9.1383e-01[7.7e-02]

9.2514e-01[3.9e-02]

8.3686e-01[5.3e-02]

9.0159e-01[6.4e-02]

9.1127e-01[7.2e-02]

8.6959e-01[4.4e-02]

8.5461e-01[5.6e-02]

NSGA-II

6.7884e-01[9.4e-02]†

5.7374e-01[6.3e-02]†

6.2210e-01[9.0e-02]†

6.9488e-01[5.6e-02]†

7.3695e-01[8.0e-02]†

7.4689e-01[7.6e-02]†

6.0530e-01[7.7e-02]†

6.6040e-01[1.2e-01]†

6.7689e-01[8.1e-02]†

6.6460e-01[5.3e-02]†

7.3131e-01[7.6e-02]†

6.3270e-01[8.5e-02]†

7.2553e-01[4.5e-02]†

6.2041e-01[8.9e-02]†

6.7473e-01[7.8e-02]†

6.2393e-01[6.6e-02]†

MOEA/D + WS

5.6640e-01[8.1e-02]†

4.4372e-01[8.3e-02]†

4.7676e-01[1.3e-01]†

4.5881e-01[1.1e-01]†

5.4450e-01[9.6e-02]†

6.1929e-01[5.2e-02]†

4.8095e-01[1.1e-01]†

5.6747e-01[8.4e-02]†

5.5982e-01[9.2e-02]†

5.3615e-01[9.3e-02]†

5.6765e-01[9.3e-02]†

4.9137e-01[1.1e-01]†

4.5334e-01[5.1e-02]†

5.0715e-01[8.5e-02]†

5.3028e-01[8.4e-02]†

4.9336e-01[8.6e-02]†

MOEA/D + PBI

Table 11.9 HV results (mean [standard deviation]) of the six algorithms for large-sized cases

6.8025e-01[7.2e-02]†

5.9273e-01[1.0e-01]†

6.4757e-01[9.0e-02]†

7.0285e-01[7.0e-02]†

7.0130e-01[9.3e-02]†

7.0891e-01[6.6e-02]†

6.2493e-01[5.4e-02]†

6.7246e-01[8.4e-02]†

7.2025e-01[1.1e-01]†

7.3748e-01[8.8e-02]†

6.9834e-01[6.7e-02]†

6.4794e-01[7.0e-02]†

6.9378e-01[6.7e-02]†

7.0166e-01[1.0e-01]†

6.9436e-01[7.2e-02]†

6.7624e-01[1.0e-01]†

MOEA/D + TCH

(continued)

9.5091e-01[3.9e-02]

8.7739e-01[3.9e-02]

9.2356e-01[3.9e-02]

9.1499e-01[3.6e-02]

9.6901e-01[5.0e-02]

9.4882e-01[2.4e-02]

8.1943e-01[8.4e-02]

9.3267e-01[4.4e-02]

8.8305e-01[6.5e-02]

9.4422e-01[5.4e-02]

9.3598e-01[4.9e-02]

8.4771e-01[6.9e-02]

9.2926e-01[3.4e-02]

9.3805e-01[4.6e-02]

8.9671e-01[4.1e-02]

8.8997e-01[5.9e-02]

PBEA

176 11 Solutions for Mixed-Model Disassembly Line Balancing …

9.4277e-01[2.8e-02]

8.7669e-01[5.6e-02]

8.6804e-01[5.5e-02]†

8.1483e-01[7.5e-02]†

1, 2, 4, 5, 6, 7, 8

1, 3, 4, 5, 6, 7, 8

2, 3, 4, 5, 6, 7, 8

1, 2, 3, 4, 5, 6, 7, 8

8.7137e-01[4.5e-02]

9.4451e-01[5.5e-02]

8.5951e-01[6.2e-02]

9.5227e-01[4.7e-02]

NSGA-II

5.7484e-01[5.7e-02]†

6.6284e-01[8.6e-02]†

6.4670e-01[7.6e-02]†

6.8811e-01[6.6e-02]†

MOEA/D + WS

4.0086e-01[8.5e-02]†

5.4698e-01[9.7e-02]†

5.3246e-01[7.4e-02]†

5.7719e-01[1.3e-01]†

MOEA/D + PBI

“†” means that the result is significantly different from that of the PBEA at a 0.05 level by the Wilcoxon’s rank sum test

IBEA

Models

Table 11.9 (continued)

9.3047e-01[3.4e-02] 9.0619e-01[4.6e-02]

6.1434e-01[8.0e-02]†

8.7981e-01[6.6e-02]

9.8345e-01[3.7e-02]

PBEA

7.2543e-01[9.5e-02]†

7.0362e-01[1.0e-01]†

7.0919e-01[1.2e-01]†

MOEA/D + TCH

11.4 Computational Experiments 177

178

11 Solutions for Mixed-Model Disassembly Line Balancing …

of 19 small-sized cases. Tables 11.8 and 11.9 give the HV results of all algorithms for 24 medium-sized cases and 20 large-sized cases, respectively. As can be seen in Tables 11.8 and 11.9, the PBEA generally performs better than its competitors. Specifically, the PBEA obtains a better HV value in 15 out of the 24 medium-sized cases, and in 17 out of the 20 large-sized cases. All these results indicate the relatively successful performance of the PBEA in terms of scalability. In addition, the NSGA-II also shows an overall effective performance. There is no significant difference between the HV results of the NSGA-II and the PBEA. It is worth mentioning that all these three algorithms significantly outperform the three MOEA/D variants, i.e., MOEA/D + WS, MOEA/D + PBI and MOEA/D + TCH. In fact, the three MOEA/D variants cannot produce satisfactory results in all of the tested cases. Cases “1, 2, 3, 4, 5, 6, 7, 8” are used to illustrate the distribution of solutions. Figure 11.9 plots the final solutions of all EAs obtained in a run. It is clear from Fig. 11.9 that both the PBEA and NSGA-II are able to find a good approximation and coverage of the Pareto front represented by F i ∈ [0, 1] in terms of all four objectives (i = 1,…,4). A good trade-off among the solutions obtained by the PBEA is clear from Fig. 11.9f. In contrast, the IBEA and the three MOEA/D variants can only converge to a portion of the Pareto front. Based on the above observations, some insights with respect to the design of EAs for the MDLB-MR have been gained, including the following:

Fig. 11.9 Normalised non-dominated solution set of: a IBEA; b NSGA-II; c MOEA/D + WS; d MOEA/D + PBI; e MOEA/D + TCH; and f PBEA on the MDLB-MR case “1, 2, 3, 4, 5, 6, 7, 8”, as shown by the parallel coordinates

11.4 Computational Experiments

(1)

(2)

(3)

179

Despite the inevitable convergence rate reduction associated with the increasing number of objectives [7], Pareto-based EAs (e.g., NSGA-II) can outperform indicator-based (e.g., IBEA) or decomposition-based EAs (e.g., MOEA/D) on multi-objective problems with relatively low dimensions, such as the 4-objective MDLB-MR introduced in this study. Despite a number of advantages, e.g., providing higher selection pressure towards the Pareto front, compared with Pareto-based EAs, decompositionbased EAs are not suitable for real-world problems (e.g., the MDLB-MR) as the Pareto front geometry is often unknown and irregular. Additionally, using the TCH scalarising function gives a better probability of finding superior solutions compared to using other scalarising functions. Developing hybrid EAs (e.g., PBEA) of synthesising the Pareto and non-Pareto selection criteria tends to be promising. It is worth pointing out that the NPC population evolution of the PBEA is implemented by using the MOEA/D + TCH. The above observations further reveal the effectiveness of the proposed method in producing competitive individuals.

11.5 Summary This chapter has presented multi-objective MDLB-MR problems which reflect real remanufacturing situations. Examples show that to realise the potential benefits of using robot paralleling in MDLB-MR, (i) the TAOG is an appropriate task precedence relation representation scheme; and (ii) not only sequential tasks but also parallel tasks in the TAOG can be considered. A mathematical model based on the TAOG and parallel disassembly has been proposed. As MDLB-MR has been identified as NP-hard, the PBEA has also been developed to solve practical MDLB-MR problems, which are of medium or large scales generally, in remanufacturing systems. The performance of different EAs has been investigated. A total of 63 cases based on eight TAOG models of realistic EOL products from the literature are generated as the benchmark. The results show that the TAOG and parallel disassembly not only decrease the cycle time, but also dramatically reduce the energy consumption of MDLB-MR. Moreover, the chapter has provided a comparative study of the PBEA and five representative EAs. The computational results have been evaluated with the HV metric, and the comparison results have demonstrated that the PBEA outperformed all the other EAs, especially the three versions of the MOEA/D, in terms of convergence, extensity and uniformity of Pareto-optimal solution set in the cases of the medium- and large-sized MDLB-MR. This chapter shows that a combination of non-Pareto based EAs with the Pareto selection criterion could help solve complex multi-objective MDLB-MR problems. In addition, the effectiveness of the PBEA has also been verified, including the encoding/decoding scheme, the solution initialisation approach and problem-specific variation operators.

180

11 Solutions for Mixed-Model Disassembly Line Balancing …

References 1. Fattahi P, Roshani A, Roshani A (2011) A mathematical model and ant colony algorithm for multi-manned assembly line balancing problem. Int J Adv Manuf Technol 53:363–378 2. Barutcuoglu A, Azizoglu M (2011) Flexible assembly line design problem with fixed number of workstations. Int J Prod Res 49(12):3691–3714 3. Koc A, Sabuncuoglu I, Erel E (2009) Two exact formulations for disassembly line balancing problems with task precedence diagram construction using and AND/OR graph. IIE Trans 41(10):866-881 4. Li Z X, Tang Q H, Zhang LP (2016) Minimizing energy consumption and cycle time in twosided robotic assembly line systems using restarted simulated annealing algorithm. J Cleaner Prod 135:508–522 5. Nilakantan JM, Li ZX, Tang QH, Nielsen P (2017) Multi-objective co-operative co-evolutionary algorithm for minimizing carbon footprint and maximizing line efficiency in robotic assembly line systems. J Cleaner Prod 156:124–136 6. Roshani A, Giglio D (2017) Simulated annealing algorithms for the multi-manned assembly line balancing problem: minimising cycle time. Int J Prod Res 55(10):2731–2751 7. Giagkiozis I, Fleming PJ (2015) Methods for multi-objective optimization: an analysis. Inform Sci 293:338–350 8. Li H, Zhang QF (2009) Multiobjective optimization problems with complicated Pareto sets, MOEA/D and NSGA-II. IEEE Trans Evolut Comput 13(2):284–302 9. Yuan Y, Xu H (2015) Multiobjective flexible job shop scheduling using memetic algorithms. IEEE Trans Evolut Comput 12(1):336–353 10. Lambert AJD (1997) Optimal disassembly of complex products. Int J Prod Res 35(9):2509– 2524 11. Tang Y, Zhou M C, Zussman E, Caudill R (2002) Disassembly modeling, planning and application. J Manuf Sys 21(3):200–217 12. Lambert AJD (2007) Optimizing disassembly processes subjected to sequence-dependent cost. Comput Oper Res 34(2):536–551 13. Lambert AJD (1999) Linear programming in disassembly/clustering sequence generation. Comput Ind Eng 36:723–738 14. Ma YS, Jun HB, Kim HW, Lee DH (2011) Disassembly process planning algorithms for end-oflife product recovery and environmentally conscious disposal. Int J Prod Res 49(23):7007–7027 15. Deb K, Pratap A, Agarwal S, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evolut Comput 6(2):182–197 16. Zitzler E, Kunzli S (2004) Indicator-based selection in multiobjective search. International conference on parallel problem solving from nature, Birmingham, U.K., 832–842

Index

A AND/OR Graph, xiii, 28, 31–34, 47, 74, 132 Auxiliary matrix, 37 Auxiliary recovery action, 66, 113, 114

B Backup actions, vi, 61, 66, 67, 112–116, 119–121, 125, 128, 129 Backup strategy, 99, 100, 102, 120 Bees Algorithm, xiii, xiv, 85, 89, 132–134, 136–138, 141, 142 Binary encoding, 102

C Carbon dioxide, 1, 2, 64, 76 Circular economy, v, 1 Circular model, 1 Cobalt, 7 Collision detection, 9, 10 Complete disassembly, 21, 42, 52, 57, 59, 60, 64, 76, 124, 142, 154 Compliance, 15, 66, 111, 113, 132 Component and subassembly detection, 57, 135 Component-based product representation, 61 Component-fastener graph, xiii, 28, 35, 38 Connector-based precedence graph, xiii, 28, 34 Constraint matrix, 38, 39 Contact constraint matrix, 38 Contact constraints, 35, 38, 39

Crossover, xiv, 87, 88, 99, 112, 136, 140, 147, 162, 163, 167, 168, 170 Cycle time, 72, 73, 75, 77, 78, 143, 153, 154, 157, 158, 160, 166, 167, 170, 179 Cycle time constraint, 77, 78, 158, 160, 167

D Decision variable, 60, 71–73, 77, 97, 100– 102, 106, 114, 119, 132, 142–145 Decoding, 86, 94, 101, 102, 105, 106, 133, 145, 163–165, 169, 179 Decomposition-based algorithm, 118 Direction change action, 66, 67, 100, 113, 114, 116 Disassembly constraint graph, xiii, 28, 35 Disassembly cost, 62, 63, 75, 136 Disassembly failure, 67, 112 Disassembly hybrid graph model, xiii, 28, 39 Disassembly line balancing, vi, xiii, xiv, 31, 32, 42, 44, 71, 85–87, 89, 91, 97, 102–106, 108, 111, 143, 151, 153 Disassembly line balancing problems, vi, 31, 32, 85, 86, 111, 151 Disassembly operations, vi, 7, 9, 11–21, 30, 33–35, 40, 47, 59–63, 67, 68, 99–101, 111–113, 124, 129, 154 Disassembly optimisation, 42, 43, 87–89, 91, 97, 108 Disassembly optimisation problems, 28, 42, 43, 97, 108 Disassembly Petri net, xiii, 28, 40, 41 Disassembly plans, v, vi, 4, 11, 15–18, 27, 47, 57, 59, 61, 68, 111, 129, 131–134

© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 Y. Laili et al., Optimisation of Robotic Disassembly for Remanufacturing, Springer Series in Advanced Manufacturing, https://doi.org/10.1007/978-3-030-81799-2

181

182 Disassembly precedence matrix, xiii, 28, 30, 31, 77 Disassembly revenue, 62, 63 Disassembly sequence planning, vi, xiii, 42, 44, 57, 59–62, 64, 65, 68, 85–89, 91, 97–102, 105, 106, 108, 111, 112, 115, 116, 128, 132, 134, 136 Disassembly sequence structure graph, xiii, 28, 38 Disassembly sequencing planning, xiii, 40 Disassembly time, 47, 60–63, 67, 68, 79, 80, 87, 97, 102, 111–116, 119, 124–126, 128, 132, 133, 138 Disassembly tools, 7, 61, 79, 101, 111 Disassembly tree, xiii, 38, 155, 158 Dual-selection strategy, 118, 121

E Electronic products, 1 Encoding scheme, vi, 85, 87, 97, 98, 100– 103, 105, 106, 108 Environmental impact, 1, 2, 59, 63, 64, 76 EOL products, 1–4, 15, 42, 55, 66, 77, 111, 131, 132, 141, 143, 153, 155, 157, 164, 169, 171, 179 ε-indicator, 96, 97, 118, 119, 121, 122, 128, 129 Evolutionary algorithms, vi, xiii, xiv, 85–87, 91, 92, 97, 106–108, 112, 116, 162, 171 Evolutionary operator, 85, 88, 89, 97, 102, 103, 106, 108, 134, 136, 138

F Failure probability, 63, 64, 66, 67, 112, 114, 124, 133 Feedback force and torque, 113 Fitness indicator, 96 Fitness value, 85, 118, 134, 136, 139 Flexible assembly systems, 15 F-task, 79, 103, 104, 144

G Genetic algorithm, vi, xiii, xiv, 85, 87, 87, 92, 112, 122, 146 Global search operator, 107, 134, 136, 138 Greedy search, 136, 138, 140–142

H Heuristic, 91, 103, 133, 141

Index Human-robot collaboration, 9, 11, 16, 18, 60, 111 I Immediate preceded matrix, xiv, 28, 30 Indicator-based algorithm, 118 Indicator-based MOEAs, 91, 92 Industrial automation systems, 111 Integer coding, 97, 99 Integer encoding, 98, 102–105 Interference constraint, 65, 136 Interference matrix, xiii, 27–30, 48, 50–52, 57, 65, 97, 103, 131–133 Interlock, vi, 47, 48, 50–52, 57, 61 Inverted generational distance, xiii, 122, 147 J Joint precedence graph, xiv, 28, 32, 33 L Layered candidate set, 52, 57, 97, 101, 103, 116, 122, 133, 136, 138 Liaison graph, 27, 28 Linear model, 1 Local optimum, 136, 138, 141, 149 Local search operator, 91, 134, 136, 138, 142 M Manipulations, 9, 13 Mass production, 15 Metaheuristics, 133 Motion constraint matrix, 38 Movement constraint, 65 Multi-objective evolutionary algorithm, xiii, xiv, 86, 91, 92, 112, 116 Mutation, 87, 88, 93, 99, 102, 105, 112, 119–122, 136, 138, 147, 164, 170 N Niche-preservation, 118, 121 Non-dominated individuals, 86, 162 Non-dominated solutions, 107, 122, 124, 125, 147, 171, 172, 178 Non-dominated sorting genetic algorithm, xiv, 92, 112, 122, 146 O Offspring population, 85, 86, 91, 93, 94, 96, 107, 117, 121

Index OR operator, 29, 48 P Parent population, 91–93, 95, 96 Pareto-based algorithm, 118 Pareto-based MOEAs, 91 Pareto front, 86, 107, 108, 147, 163, 170, 171, 178, 179 Pareto front set, 86, 107, 108 Pareto solutions, 116, 170 Partial disassembly, 42, 57, 59, 60, 61, 64, 73, 76, 142 Particle swarm optimisation, xiv, 85, 88 Point-to-point movements, 9, 62 Population size, 138, 139, 141, 147, 163, 170 Precedence constraints, 34, 52, 77, 78, 97, 102, 119, 133, 136, 148, 160, 162 Predefined program, 8 Press-fit, 15, 18, 19 Priority rank, 72, 75, 144 Probabilistic distribution, 79 Problem-dependent heuristics, 103 Projection matrix, 38 R Random initialisation, 106, 134 Real-number encoding, 101, 102, 105 Rebalancing, 71 Recondition, 2, 3 Recycling robots, 7 Refurbish, 2, 3 Relation matrix, 39 Reliability, 15, 63, 64, 128 Remanufacturing industry, v, 2, 4, 15 Remanufacturing market, 1, 2, 4 Removable components and subassemblies, vi, 47, 51, 57 Re-planning, 15, 52, 53, 128, 131–133, 138, 141, 142 Reprocessing, 3 Repurposing, 2 Reverse logistics, 4 Robotic disassembly, v, vi, 7, 8, 10–13, 15, 20–24, 47, 57, 59, 60, 62, 65, 66, 68, 71, 81, 97, 108, 111, 112, 115, 116, 128, 129, 131, 133, 141, 151

183 Round-off operator, 101

S Selection scheme, 116, 118, 144 Selective disassembly, 11, 35, 39, 40, 42, 52, 59, 60, 64, 142 Sequencing variables, 88, 89 Single-objective evolutionary algorithm, xiv, 86, 87 Site abandonment, 91, 134, 136 Spatial condition, 47 Spatial information, 24 Standard deviation, 79, 80, 147, 171, 173, 174, 176 Stochastic algorithm, 85 Strength pareto evolutionary algorithm-2, xiv, 92 Swapping, 88, 91, 99, 105, 120

T Task precedence diagram, xiii, xiv, 28, 31 Task selection, 75, 79, 144 Tchebycheff, xiv, 95, 147, 169 Tool change action, 66, 67, 100, 113 Transformed AND/OR graph, xiv, 28, 34 Triangular fuzzy number, xiv, 79, 80 Tungsten, 7 Two-pointer detection strategy, 47, 48, 53, 57, 134 Two-pointer strategy, 48, 51–53, 55, 57, 138

U Unscrewing, 11–14, 18, 113

V Variable constraint, 77–79, 161, 162 Velocity matrix, 88 Vision system, 7, 8, 10

W Workstation efficiency, 75, 76, 143