4 views

Original Title: Genetic_Algorithm_Applied_to_Generalized (2).pdf

Uploaded by Cem Savaş Aydın

- 142011
- Tutoriel Algorithmes génétiques
- Les Algorithmes génétiques
- Les Algorithmes Génétiques
- Programme_MQ14_2015_0218 Programme_MQ14_2015sdf_0218
- Controle Des Connaissances (2)
- Recherche Operationnelle
- Programme Architectural Technique Et Détaillé
- optimisationEA1
- TRA2014_Fpaper_29026
- MINIMISATION DU CONTENU HARMONIQUE DES MACHINES A BOBINAGES DENTAIRES
- 7569_presentation.pdf
- Algo Rep
- Correction BacBlanc STI STL Avril2013
- AG.docx
- A0.2.2010.12
- Club Ravel 031213 Final
- ALGOGEN3
- Cours DEA Supelec LMI 2006
- 11optimisation1

You are on page 1of 329

Generalized Cell Formation Problems

Emmanuelle VIN

Directeur de thèse : en vue de l’obtention du Titre de

Alain DELCHAMBRE Docteur en Sciences de l’Ingénieur

À tous ceux qui n’y croyaient plus...

et aux quelques-uns qui m’ont soutenue !

Contents

Acknowledgments xv

Preface xvii

1 Introduction 1

1.1 Cellular Manufacturing . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Benefits and Drawbacks of CM . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2 Disadvantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Research Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.5 Structure of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.6 Reading Suggestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.1 Part and Production Data . . . . . . . . . . . . . . . . . . . . . 11

2.1.2 Operational Data . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1.3 Machine Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.1.4 Cost Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.2 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2.1 Constraints about Machines . . . . . . . . . . . . . . . . . . . . 18

2.2.2 Constraints about Cells . . . . . . . . . . . . . . . . . . . . . . 18

2.3 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3.2 Grouping Efficiency . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3.3 Grouping Efficacy . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.3.4 Grouping Capability Index . . . . . . . . . . . . . . . . . . . . 21

2.3.5 Grouping Capability Index . . . . . . . . . . . . . . . . . . . . 21

2.3.6 In Practice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3.7 To Conclude . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.4 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Literature Review 25

3.1 Classification of Methods . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.1.1 Cluster Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 26

i

ii CONTENTS

3.1.3 Graph Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.1.4 Computational Intelligence . . . . . . . . . . . . . . . . . . . . 34

3.1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.2 Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.2.1 Why a GA? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.2.2 State of the art for GA . . . . . . . . . . . . . . . . . . . . . . . 40

3.2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.3 Criteria / Multi-Objectives . . . . . . . . . . . . . . . . . . . . . . . . 42

3.3.1 Why multi-criteria? . . . . . . . . . . . . . . . . . . . . . . . . 42

3.3.2 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.3.3 Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.3.4 Multi-criteria and Genetic Algorithms . . . . . . . . . . . . . . 47

3.3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.4 Hybrid Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.4.1 Why Hybrid Methods? . . . . . . . . . . . . . . . . . . . . . . . 49

3.4.2 State of the Art . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.4.3 Comparative Table to Conclude . . . . . . . . . . . . . . . . . . 56

3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4 Problem Formulation 61

4.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.1.1 Generally Assumptions . . . . . . . . . . . . . . . . . . . . . . . 62

4.1.2 Particular Assumptions . . . . . . . . . . . . . . . . . . . . . . 62

4.2 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.2.1 Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.2.2 Mandatory Input Parameters . . . . . . . . . . . . . . . . . . . 64

4.2.3 Complementary Input Parameters . . . . . . . . . . . . . . . . 66

4.3 Mathematical Formulation . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.3.1 Decision variables . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.3.2 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.3.3 Evaluation Parameters . . . . . . . . . . . . . . . . . . . . . . . 70

4.3.4 Mathematical Model . . . . . . . . . . . . . . . . . . . . . . . . 75

4.4 Size of Search Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.4.1 Size of Search Space for the Resource Planning Problem . . . . 76

4.4.2 Size of Search Space for the Cell Formation Problem . . . . . . 78

4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

5 Methodology 87

5.1 Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.1.1 Definition of Genetic Algorithm . . . . . . . . . . . . . . . . . . 87

5.2 Grouping Genetic algorithm (Gga) . . . . . . . . . . . . . . . . . . . . 89

5.3 Multiple Objective Grouping Genetic algorithm (Mogga) . . . . . . . 90

5.4 Proposed solutions - Methodology . . . . . . . . . . . . . . . . . . . . . 92

5.4.1 Mogga with an integrated module . . . . . . . . . . . . . . . . 92

5.4.2 Simogga: an hybrid Mogga for GCFP . . . . . . . . . . . . . 98

5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

CONTENTS iii

6 Implementation 103

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6.2 Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6.2.1 Coding of Chromosomes . . . . . . . . . . . . . . . . . . . . . . 103

6.2.2 Operator Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

6.3 Initialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.4 Heuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.4.1 Random Heuristic . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.4.2 Flow Heuristic CF . . . . . . . . . . . . . . . . . . . . . . . . . 110

6.4.3 Process Heuristic RP . . . . . . . . . . . . . . . . . . . . . . . . 113

6.4.4 Process Selection . . . . . . . . . . . . . . . . . . . . . . . . . . 117

6.4.5 Harhalakis Heuristic CF . . . . . . . . . . . . . . . . . . . . 117

6.4.6 CF-Mogga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

6.4.7 RP-Mogga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

6.5 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

6.5.1 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

6.5.2 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

6.5.3 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

6.5.4 Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

6.6 Improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

6.6.1 Local optimisation . . . . . . . . . . . . . . . . . . . . . . . . . 128

6.6.2 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

6.7 Stopping condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

6.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

7 Validation 131

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

7.2 Separated Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

7.2.1 Heuristic CF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

7.2.2 Heuristic RP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

7.2.3 Process Selection . . . . . . . . . . . . . . . . . . . . . . . . . . 140

7.2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

7.3 Simultaneous Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 145

7.4 Adaptation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

7.5 Efficiency of the Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 150

7.5.1 Huge Number of Generations . . . . . . . . . . . . . . . . . . . 150

7.5.2 Efficiency of the Crossover . . . . . . . . . . . . . . . . . . . . . 151

7.5.3 Large Population . . . . . . . . . . . . . . . . . . . . . . . . . . 152

7.5.4 Comparison with the Successive Resolution . . . . . . . . . . . 153

7.6 Adaptation of Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 157

7.6.1 Number of Generations . . . . . . . . . . . . . . . . . . . . . . 157

7.6.2 Population Size . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

7.6.3 Initialisation Rate . . . . . . . . . . . . . . . . . . . . . . . . . 161

7.6.4 Operators Rates . . . . . . . . . . . . . . . . . . . . . . . . . . 162

7.6.5 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

7.6.6 Final Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

7.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

iv CONTENTS

8 Applications 173

8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

8.2 CS without Alternativity . . . . . . . . . . . . . . . . . . . . . . . . . . 173

8.3 CS with Alternative Routings and Processes . . . . . . . . . . . . . . . 179

8.4 Conclusion for Literature Case Studies . . . . . . . . . . . . . . . . . . 183

9 Conclusions 187

9.1 Summary of the Results . . . . . . . . . . . . . . . . . . . . . . . . . . 187

9.2 Further Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

9.2.1 Transformation of the Sigga in a Simogga . . . . . . . . . . . 189

9.2.2 Sensitive of the Algorithm in Adding some Constraints . . . . . 189

9.2.3 Extension in the Cellular Manufacturing . . . . . . . . . . . . . 190

9.2.4 Another Application? . . . . . . . . . . . . . . . . . . . . . . . 190

A.1 Enrichment of the Preference Structure . . . . . . . . . . . . . . . . . . 193

A.2 Enrichment of the Dominance Relation . . . . . . . . . . . . . . . . . . 194

A.3 Exploitation for Decision Aid . . . . . . . . . . . . . . . . . . . . . . . 195

A.4 Promethee I Ranking . . . . . . . . . . . . . . . . . . . . . . . . . . 195

A.5 Promethee II Ranking . . . . . . . . . . . . . . . . . . . . . . . . . . 196

A.6 An example of Promethee . . . . . . . . . . . . . . . . . . . . . . . . 196

B.1 Algorithms, Heuristics and Meta-Heuristics . . . . . . . . . . . . . . . 199

B.1.1 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

B.1.2 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

B.1.3 Heuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

B.1.4 Meta-heuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

B.2 What are Genetic Algorithms? . . . . . . . . . . . . . . . . . . . . . . 202

B.2.1 Definition of a Genetic Algorithm . . . . . . . . . . . . . . . . . 202

B.2.2 Origin of Genetic Algorithms . . . . . . . . . . . . . . . . . . . 203

B.2.3 Genetic Algorithms and other Methods . . . . . . . . . . . . . 203

B.2.4 Paradigm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

B.2.5 Theoretical Grounds . . . . . . . . . . . . . . . . . . . . . . . . 211

B.3 Grouping Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

B.3.1 Partitional Algorithms . . . . . . . . . . . . . . . . . . . . . . . 214

B.3.2 Nearest Neighbor Clustering . . . . . . . . . . . . . . . . . . . . 216

B.4 Grouping Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . 217

B.4.1 Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

B.4.2 Identical Solutions but Different Chromosomes . . . . . . . . . 218

B.4.3 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

B.4.4 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

B.4.5 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

B.4.6 Inversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

B.5 Multiple Objective Problems . . . . . . . . . . . . . . . . . . . . . . . 221

B.5.1 Pareto Fronts . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

B.5.2 Use of Aggregating Functions . . . . . . . . . . . . . . . . . . . 222

B.5.3 Non-Pareto Approaches . . . . . . . . . . . . . . . . . . . . . 223

CONTENTS v

B.6 Multiple Objective Grouping Genetic Algorithms . . . . . . . . . . . . 223

B.6.1 Philosophy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

B.6.2 Control Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . 225

B.6.3 Branching on Populations. . . . . . . . . . . . . . . . . . . . . . 227

B.6.4 Verification of the Best Solutions . . . . . . . . . . . . . . . . . 227

B.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

C.1 Initialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

C.1.1 Rand Group Heuristic . . . . . . . . . . . . . . . . . . . . . . . 229

C.1.2 Flow Heuristic CF . . . . . . . . . . . . . . . . . . . . . . . . . 232

C.1.3 Process Heuristic RP . . . . . . . . . . . . . . . . . . . . . . . . 234

C.2 Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

C.2.1 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

C.2.2 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

C.2.3 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

C.2.4 Inversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

C.2.5 Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

C.3 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

C.4 Stopping condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

C.5 Local search heuristic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

F.1 CS without alternativity . . . . . . . . . . . . . . . . . . . . . . . . . . 261

F.2 CS with alternativity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

G Acronyms 281

vi CONTENTS

List of Figures

1.2 Flow Shop Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Cellular Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

the example of Table 3.1. . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.2 Graph theory based on Jaccard similarity coefficient illustrated for

the example of Table 3.1. . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2 Spanning tree enumerating the possible instance for a repartition of

three free places in 4 groups (nR = 3) . . . . . . . . . . . . . . . . . . 80

5.2 Solution selection for multiple objectives: classical Gga versus Mogga

integrating search and decision making. . . . . . . . . . . . . . . . . . 91

5.3 The integration of the CF module in the RP-Mogga. . . . . . . . . . 93

5.4 RP-Mogga: Adapted Mogga with embedded CF module. . . . . . . 93

5.5 Detailed RP-Mogga: Adapted Mogga with embedded CF module . 95

5.6 Detailed CF-Mogga integrated in the RP-Mogga. . . . . . . . . . . 96

5.7 Simogga: Adapted Mogga to solve simultaneously two interdepen-

dent problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

5.8 Detailed Simogga: Adapted Mogga to solve simultaneously two in-

terdependent problems. . . . . . . . . . . . . . . . . . . . . . . . . . . 99

6.2 Visual representation of the chromosome . . . . . . . . . . . . . . . . . 106

6.3 Application of the operator rate set to 70%. . . . . . . . . . . . . . . . 107

6.4 RP-part constructed by the Random Heuristic RP . . . . . . . . . . . 111

6.5 List of randomized objects/machines to group into cells. . . . . . . . . 112

6.6 Assignment of three first objects/machines by the Flow Heuristic CF. . 112

6.7 Final assignment of objects/machines into cells by the Flow Heuristic

CF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

6.8 CF-part constructed by the Random Heuristic CF. . . . . . . . . . . . 114

6.9 Computation of the priority cell for each process and selection of the

process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

6.10 List of randomized objects/machines to group into cells. . . . . . . . . 115

6.11 Assignment of three first objects/machines by the Flow Heuristic CF. . 115

vii

viii LIST OF FIGURES

CF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

6.13 Computation of the priority cell for each process and selection of the

process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

6.14 List of randomized objects/machines to group into cells. . . . . . . . . 116

6.15 Final assignment of objects/machines into cells by the Flow Heuristic

CF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

6.16 Parent 1 for a crossover on RP-part. . . . . . . . . . . . . . . . . . . . 119

6.17 Parent 2 for a crossover on RP-part. . . . . . . . . . . . . . . . . . . . 120

6.18 Crossing sites on RP-part. . . . . . . . . . . . . . . . . . . . . . . . . . 120

6.19 Injection of the crossing site from parent 1 in parent 2. . . . . . . . . . 121

6.20 Removed similar groups after injection of the crossing site from parent

1 in parent 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

6.21 Removed not selected processes from the solution. . . . . . . . . . . . . 122

6.22 Chrild1 before the RP-reconstruction. . . . . . . . . . . . . . . . . . . 122

6.23 Child C1 issue from the first crossover and reconstructed by the Pro-

cess Heuristic RP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

6.24 Final child C1 issued from the first crossover and reconstructed by the

Flow Heuristic CF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

6.25 Parent for hard mutation, group A is removed. . . . . . . . . . . . . . 125

6.26 Selection of processes after removing group A. . . . . . . . . . . . . . . 126

6.27 child after reconstruction with RP heuristic. . . . . . . . . . . . . . . . 127

6.28 Final child after reconstruction with CF heuristic. . . . . . . . . . . . . 127

to a same initial population. . . . . . . . . . . . . . . . . . . . . . . . . 136

7.2 Evolution of the intra-cellular flow for the best solution constructed

with RP heuristics applied to a same initial population. . . . . . . . . 139

7.3 Evolution of the best intra-cellular flow for a same initialisation with

the random heuristic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

7.4 Evolution of the best intra-cellular flow for an similar initialisation

with the random heuristic for cases with RA = 100 and P A = 100. . . 144

7.5 Intra-cellular flow and percentage of solution reaching 100% in function

of the number of generations and search space size for a population

size of 64 chromosomes. . . . . . . . . . . . . . . . . . . . . . . . . . . 159

7.6 Intra-cellular flow and average resolution time to find the best solution

in function of the search space size and the population size. . . . . . . 161

7.7 Intra-cellular flow and percentage of solution reaching 100% in function

of the search space size and the population size. . . . . . . . . . . . . . 162

B.2 Tabu search. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

B.3 Structure of a genetic algorithm. . . . . . . . . . . . . . . . . . . . . . 204

B.4 Roulette wheel strategy. . . . . . . . . . . . . . . . . . . . . . . . . . . 206

B.5 Tournament selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

B.6 A simple crossover. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

LIST OF FIGURES ix

B.8 A simple inversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

B.9 k-Means clustering algorithm. . . . . . . . . . . . . . . . . . . . . . . . 215

B.10 An edge-weighted undirected graph (a) and its minimum spanning tree

(b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

B.11 Minimum spanning tree used to group objects. . . . . . . . . . . . . . 216

B.12 Nearest Neighbor clustering. . . . . . . . . . . . . . . . . . . . . . . . . 217

B.13 Example of solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

B.14 Problem of identical solutions. . . . . . . . . . . . . . . . . . . . . . . . 218

B.15 GGA Crossover. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

B.16 GGA Mutation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

B.17 GGA Inversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

B.18 The Pareto optimal front (a) and dominance relations in objective

space (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

B.19 Multiple Objective Grouping Genetic Algorithm. . . . . . . . . . . . . 224

B.20 Control Strategy of the MOGGA. . . . . . . . . . . . . . . . . . . . . . 226

C.2 Flowchart of the initialisation in the Simogga . . . . . . . . . . . . . 230

C.3 Flowchart of the random heuristic used for the RP and CF problem . . 230

C.4 Flowchart of the heuristic used for the CF problem . . . . . . . . . . . 232

C.5 Flowchart of the heuristic used for the RP problem . . . . . . . . . . . 234

C.6 Flowchart of the generation in the Simogga . . . . . . . . . . . . . . . 236

C.7 Flowchart of the selection in the Simogga . . . . . . . . . . . . . . . . 236

C.8 Flowchart of the crossover in the Simogga . . . . . . . . . . . . . . . 237

C.9 Basic circular crossover applied to RP-parts in the Simogga . . . . . 238

C.10 Flowchart of the basis crossover in the Simogga . . . . . . . . . . . . 239

C.11 Evaluation of the Simogga . . . . . . . . . . . . . . . . . . . . . . . . 242

C.12 Flowchart of the Analye Population of the Simogga . . . . . . . . . . 243

F.2 Problem Pb2 from [296] . . . . . . . . . . . . . . . . . . . . . . . . . . 261

F.3 Problem Pb3 from [236] . . . . . . . . . . . . . . . . . . . . . . . . . . 261

F.4 Problem Pb4 from [151] . . . . . . . . . . . . . . . . . . . . . . . . . . 262

F.5 Problem Pb5 from [12] . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

F.6 Problem Pb6 from [323] . . . . . . . . . . . . . . . . . . . . . . . . . . 262

F.7 Problem Pb7 from [151] . . . . . . . . . . . . . . . . . . . . . . . . . . 262

F.8 Problem Pb8 from [25] . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

F.9 Problem Pb9 from [237] . . . . . . . . . . . . . . . . . . . . . . . . . . 263

F.10 Problem Pb10 from [41] . . . . . . . . . . . . . . . . . . . . . . . . . . 263

F.11 Problem Pb11 from [42] . . . . . . . . . . . . . . . . . . . . . . . . . . 263

F.12 Problem Pb12 from [186] . . . . . . . . . . . . . . . . . . . . . . . . . . 263

F.13 Problem Pb13 from [39] . . . . . . . . . . . . . . . . . . . . . . . . . . 264

F.14 Problem Pb14 from [53] . . . . . . . . . . . . . . . . . . . . . . . . . . 264

F.15 Problem Pb15 from [8] . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

F.16 Problem Pb16 from [259] . . . . . . . . . . . . . . . . . . . . . . . . . . 265

F.17 Problem Pb17 from [173] . . . . . . . . . . . . . . . . . . . . . . . . . . 265

F.18 Problem Pb18 from [258] . . . . . . . . . . . . . . . . . . . . . . . . . . 265

x LIST OF FIGURES

F.20 Problem Pb20 from [33] . . . . . . . . . . . . . . . . . . . . . . . . . . 267

F.21 Problem PA1 from [146] . . . . . . . . . . . . . . . . . . . . . . . . . . 268

F.22 Problem PA2 from [308] . . . . . . . . . . . . . . . . . . . . . . . . . . 268

F.23 Problem PA3 from [88, 317] . . . . . . . . . . . . . . . . . . . . . . . . 268

F.24 Problem PA4 from [317] . . . . . . . . . . . . . . . . . . . . . . . . . . 269

F.25 Problem PA5 from [183] . . . . . . . . . . . . . . . . . . . . . . . . . . 269

F.26 Problem PA6 from [224] . . . . . . . . . . . . . . . . . . . . . . . . . . 269

F.27 Problem PA7 from [308] . . . . . . . . . . . . . . . . . . . . . . . . . . 269

F.28 Problem PA8 from [163] . . . . . . . . . . . . . . . . . . . . . . . . . . 269

F.29 Problem PA9 from [133] . . . . . . . . . . . . . . . . . . . . . . . . . . 270

F.30 Problem PA10 from [3] . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

F.31 Problem PA11 from [308] . . . . . . . . . . . . . . . . . . . . . . . . . 270

F.32 Problem PA12 from [250] . . . . . . . . . . . . . . . . . . . . . . . . . 271

F.33 Problem PA13 from [192] . . . . . . . . . . . . . . . . . . . . . . . . . 271

F.34 Problem PA15 from [308] (continued) . . . . . . . . . . . . . . . . . . . 272

F.35 Problem PA15 from [308] . . . . . . . . . . . . . . . . . . . . . . . . . 273

F.36 Problem PA16 from [133] (continued) . . . . . . . . . . . . . . . . . . . 274

F.37 Problem PA16 from [133] . . . . . . . . . . . . . . . . . . . . . . . . . 275

F.38 Problem RA1 from [92] . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

F.39 Problem RA2 from [97] . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

F.40 Problem RA3 from [11] . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

F.41 Problem RA4 from [250] . . . . . . . . . . . . . . . . . . . . . . . . . . 277

F.42 Problem RA5 from [250] . . . . . . . . . . . . . . . . . . . . . . . . . . 277

F.43 Problem RA6 from [192] . . . . . . . . . . . . . . . . . . . . . . . . . . 278

F.44 Problem RA7 from [263] . . . . . . . . . . . . . . . . . . . . . . . . . . 279

F.45 Problem RAPA1 from [294] . . . . . . . . . . . . . . . . . . . . . . . . 279

F.46 Problem RAPA2 from [132] . . . . . . . . . . . . . . . . . . . . . . . . 280

F.47 Problem RAPA3 from [88] . . . . . . . . . . . . . . . . . . . . . . . . . 280

List of Tables

for a part k. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2 Machine-Part Matrix Notations. . . . . . . . . . . . . . . . . . . . . . . 19

2.3 Machine-Part Matrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.4 Cell Formation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2 ROC solution after first rows rearranging. . . . . . . . . . . . . . . . . 28

3.3 ROC solution after first iteration. . . . . . . . . . . . . . . . . . . . . . 28

3.4 ROC solution after second rows rearranging. . . . . . . . . . . . . . . . 29

3.5 final block diagonal structure, after two iterations. . . . . . . . . . . . 29

3.6 Coefficient Jaccard similarity coefficient applied to the Machine-Part

matrix from Table 3.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.7 Attributes used in the present study and in a sample of recently pub-

lished articles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.2 Comparison of the characteristics of algorithms. . . . . . . . . . . . . . 101

6.1 Flow matrix for the RP-solution found by the Random Heuristic RP. . 112

7.2 Value of parameters, RA and PA, to test the three individually problems.132

7.3 Value of parameters for each case study used to validate the heuristics. 133

7.4 Best values with a same initialisation after 100 generations using 4 CF

heuristics for the cases RA = 0 and P A = 0. . . . . . . . . . . . . . . . 135

7.5 Best values after 100 generations using 4 CF heuristics for the cases

RA = 0 and P A = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

7.6 Best values with a same initialisation after 100 generations using 4 RP

heuristics for the cases RA = 100 and P A = 0. . . . . . . . . . . . . . 138

7.7 Best values after 100 generations using 4 RP heuristics for the cases

RA = 100 and P A = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . 140

7.8 Best values after 100 generations for two process selections. . . . . . . 142

7.9 Best values with a same initialisation after 100 generations using 4 RP

heuristics for the cases RA = 100 and P A = 100. . . . . . . . . . . . . 142

xi

xii LIST OF TABLES

7.10 Best values after 100 generations using 4 RP heuristics for the cases

RA = 100 and P A = 100. . . . . . . . . . . . . . . . . . . . . . . . . . 143

7.11 Values of the intra-cellular flow for ideal case studies (Average for

different values of RA and P A) - Complete value in Tables E.1, E.2

and E.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

7.12 Comparative table with best values for a population of 32 chromo-

somes after 100 generations (Average of four sets of alternativity). See

complete Table E.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

7.13 Comparative table with best values for a population of 32 chromosomes

after 100 generations (Average of cases). See complete Table E.4. . . . 147

7.14 Best evolution values without and with the local optimisation. . . . . . 148

7.15 Comparative table with best values for the algorithm without and

with the local optimisation after 100 generations and 32 chromosomes

(average of four sets of alternativity). See complete Table E.5. . . . . . 149

7.16 Average best values for the algorithm with the local optimisation after

1000 generations (32 and 64 chromosomes) for four sets of alternativity.

See complete Tables E.6 and E.7 . . . . . . . . . . . . . . . . . . . . . 151

7.17 Average best values for the algorithm with the local optimisation after

1000 generations (32 and 64 chromosomes) for four each of 20 cases.

See complete Tables E.6 and E.7 . . . . . . . . . . . . . . . . . . . . . 151

7.18 Best flows when the Simogga is run with and without crossover. . . . 152

7.19 Best flows when the Simogga is run with a large population without

generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

7.20 Average values (on 4 cases) found with the Simogga and the Mogga

with an integrated module (RP and CF). See complete Table E.8 . . . 155

7.21 Average values (on RA and P A) found with the Simogga and the

Mogga with an integrated module (RP and CF). See complete Table

E.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

7.22 Average values found with the Mogga with an integrated heuristic

(RP and CF). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

7.23 Values (Average, minimum and maximum) for the percentage of cases

reaching 100% and the best generation for different generations and

two population sizes (32 and 64). . . . . . . . . . . . . . . . . . . . . . 157

7.24 Percentage of the number of cases reaching 100% and the average

best flow for different generations and a population size of 32 and 64

chromosomes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

7.25 Values of the percentage of cases and the generation for the cases

reaching 100% of intra-cellular flow and the best flow found after 100

generations (Average of 10 runs for 80 cases). . . . . . . . . . . . . . . 160

7.26 Values of the percentage of cases and the generation for the cases

reaching 100% of intra-cellular flow and the best flow found after 100

generations for different values of initialisation rate. . . . . . . . . . . . 162

7.27 Best values found after 100 generations for different values of operator

rates (Continued). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

7.28 Best values found after 100 generations for different values of operator

rates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

LIST OF TABLES xiii

7.29 Comparative table with average values based on the four sets of alter-

nativity for the algorithm after 100 generations for two operator rates

(80 and 100). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

7.30 Average values by set of alternativity for the algorithm after 100 gen-

erations for two operator rates (80 and 100). . . . . . . . . . . . . . . . 165

7.31 Evolution parameters (average values based on the four sets of alter-

nativity) for the algorithm after 100 generations for two operator rates

(80 and 100). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

7.32 Probability to apply a mutation depending on the mutation frequency

and mutation rate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

7.33 Best average values by set of alternativity for different mutation pa-

rameters (RA = 100). . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

7.34 Best average values for large mutation frequencies with Mut. Rate= 1

and Mut. Int.= 0.2 (RA = 100). . . . . . . . . . . . . . . . . . . . . . 167

7.35 Comparative table with best values for the final algorithm after all

adaptations after 100 generations for four sets of alternativity. . . . . . 168

7.36 Comparative table with best values for the final algorithm after all

adaptations after 100 generations for four sets of alternativity. . . . . . 169

7.37 Comparative table with average values (RA = 100) before and after

local optimisation and after adaptation of parameters after 100 gener-

ations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

7.38 Average (on RA and P A) best values found with the final Simogga

and the Mogga with an integrated module (RP and CF). See com-

plete Table E.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

7.39 Best values found with the final Simogga and the Mogga with an

integrated module (RP and CF). See complete Table E.10 . . . . . . . 171

8.2 Compared method for case studies without alternativity. . . . . . . . . 176

8.3 Comparative table with the group efficacy for cell formation problem

without alternativity (continued). . . . . . . . . . . . . . . . . . . . . . 177

8.4 Comparative table with the group efficacy for cell formation problems

without alternativity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

8.5 Tested problems with alternativity (continued). . . . . . . . . . . . . . 180

8.6 Tested problems with alternativity. . . . . . . . . . . . . . . . . . . . . 181

8.7 Methods used to compare the problem with alternativity. . . . . . . . 182

8.8 Comparative table for problems with alternativity with the number of

Exceptional Elements (EEs) (continued). . . . . . . . . . . . . . . . . . 184

8.9 Comparative table for problems with alternativity with the number of

Exceptional Elements (EEs), GE and best flow. . . . . . . . . . . . . . 185

A.2 Evaluation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

A.3 Promethee ranking when the weights of all the criteria are 1. . . . . 197

A.4 Promethee ranking when the weight of the power criterion is 4 . . . 197

B.2 Proportional selection using the example. . . . . . . . . . . . . . . . . 206

xiv LIST OF TABLES

B.4 Crossover on the example. . . . . . . . . . . . . . . . . . . . . . . . . . 209

B.5 Mutation on the example. . . . . . . . . . . . . . . . . . . . . . . . . . 209

B.6 Example of multi-criteria decision problem . . . . . . . . . . . . . . . . 221

B.7 Evaluation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

B.8 Transforming ranking into a cost function. . . . . . . . . . . . . . . . . 226

E.1 Average values of the intra-cellular flow for ideal case studies (RA=0

and PA=100). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

E.2 Average values of the intra-cellular flow for ideal case studies (RA=100

and PA=0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

E.3 Average values of the intra-cellular flow for ideal case studies (RA=100

and PA=100). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

E.4 Comparative table with best values for a population of 32 chromosomes

after 100 generations for four sets of alternativity. . . . . . . . . . . . . 254

E.5 Comparative table with best values for the algorithm with the local

optimisation after 100 generations and 32 chromosomes for four sets

of alternativity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

E.6 Comparative table with best values for the algorithm with the local

optimisation after 1000 generations and 32 chromosomes for four sets

of alternativity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

E.7 Values of the generation and the percentage of cases reaching 100% of

intra-cellular flow and the best intra-cellular flows after 1000 genera-

tions of the Simogga and a population of 64 chromosomes. . . . . . . 257

E.8 Best values found with the Simogga and the Mogga with an inte-

grated module (RP and CF). . . . . . . . . . . . . . . . . . . . . . . . 258

E.9 Comparative table with best values for the final algorithm after all

adaptations after 100 generations for four sets of alternativity. . . . . . 259

E.10 Best values found with the final Simogga and the Mogga with an

integrated module (RP and CF). . . . . . . . . . . . . . . . . . . . . . 260

Acknowledgments

for his help and encouragement. I would like to thank Professor Pascal Francq, first

colleague on my arrival at the department. The present work would not exist without

the development of his open source library. His patience and his help during all these

years have permitted to finish this thesis. Thanks also for reading this work. I

want acknowledge Graham and Arianna too for their careful reading and corrections

despite the short time. A great grateful to Xavier for his patience and his help in

troubleshooting computer and linux systems.

All the members of the Beams department indirectly contributed to this work by

ensuring an enjoyable working environment: Nicolas for your following and encour-

agements, Jean-Baptiste for our competition that has accelerated the finishing of this

thesis, Aliénor for your new application, Séverine for the tea breaks, Anne-Cécile for

our long discussions, and all the others.

I must also thank all the members of my family, my husband for his support and

his encouragement, my parents for the support they provided me through my entire

life and in particular during this thesis in stressing more than me, and all friends

without whom my life would not have any sense.

I would like to thank all the members of my committee, namely Professors Alas-

sane Ballé Ndiaye who accept the presidence of the jury after Pierre Gaspart

retired, Hugues Bersini, Alain Delchambre, Alexandre Dolgui (Ecole Nationale

Supérieur des Mines de Saint Etienne, France), Fouad Riane (Université Catholique

de Mons), Emanuel Falkenauer and doctor Mauro Birattari. This committee has

gone with me in this experience for several years.

xv

xvi ACKNOWLEDGMENTS

Preface

manufacturing industries. In regrouping the production of different parts into clus-

ters, the management of the manufacturing is reduced to manage different small

entities. One of the most important problems in the cellular manufacturing is the

design of these entities called cells. These cells represent a cluster of machines that

can be dedicated to the production of one or several parts. The ideal design of a

cellular manufacturing is to make these cells totally independent from one another,

i.e. that each part is dedicated to only one cell (i.e. if it can be achieved completely

inside this cell). The reality is a little more complex. Once the cells are created,

there exists still some traffic between them. This traffic corresponds to a transfer of

a part between two machines belonging to different cells. The final objective is to

reduce this traffic between the cells (called inter-cellular traffic).

Different methods exist to produce these cells and dedicated them to parts. To

create independent cells, the choice can be done between different ways to produce

each part. Two interdependent problems must be solved:

several sequences of operations and each of them can be achieved by a set of

machines. A final sequence of machines must be chosen to produce each part.

• the grouping of each machine in cells producing traffic inside and outside the

cells.

In function of the solution to the first problem, different clusters will be created to

minimise the inter-cellular traffic.

In this thesis, an original method based on the grouping genetic algorithm (Gga)

is proposed to solve simultaneously these two interdependent problems. The efficiency

of the method is highlighted compared to the methods based on two integrated al-

gorithms or heuristics. Indeed, to form these cells of machines with the allocation

of operations on the machines, the used methods permitting to solve large scale

problems are generally composed by two nested algorithms. The main one calls the

secondary one to complete the first part of the solution. The application domain goes

beyond the manufacturing industry and can for example be applied to the design of

the electronic systems as explained in the future research.

All the algorithms and methods described in this thesis are implemented in a

ready-to-use system. The development platform chosen is a Kubuntu/Linux operat-

ing system running the graphical environment KDE, using the GNU developments

tools and Eclipse. The developed softwares currently consists of about 10.440 lines

xvii

xviii PREFACE

of C++ source code, developed by the author and based on 29.360 lines of the code

open source developed by Pascal Francq.

Chapter 1

Introduction

Manufacturing industries are under intense pressure from the increasingly-competitive

global marketplace. All manufacturers are challenged by time-to-market, lead-time

(shorter part life-cycle), and diverse customer needs to improve the efficiency and

productivity of their production activities. They must be able to deliver parts to

customers on time while maintaining low production costs and high quality. The

manufacturing systems should be able to adjust or respond quickly to changes in

part design and part demand without major investment.

Not too long ago, the layout of production systems was based on two traditional

concepts:

• job shop layout is functional and used for high part variety and low volume;

• flow shop layout is based on a line layout and dedicated to parts with low

variety and high volume.

In general, functional job shops are designed to achieve maximum flexibility such

that a wide variety of parts with small lot sizes can be manufactured. Parts manu-

factured in job shops usually require different operations and have different operation

sequences. Operating time for each operation can vary significantly. Parts are re-

leased to the shops in batches (jobs). The objective is to locate similar machines,

and labour with similar skills, together. So, the machines are grouped functionally

according to the type of manufacturing process: drills in one department, lathes in

another, and so forth. In job shops, jobs spend 95% of their time in non-productive

activity waiting a machines queue. The remaining 5% is split between lot setup and

processing [12]. Generally, the distance between machines belonging to the process of

a part is large which produces a lot of traffic between all the machines and through-

out the company as we can see in Figure 1.1. When the part mix demands change or

when a new part is ordered, the part is allocated to free machines without respecting

part families1 or minimising moves. So production planning, scheduling and control

of production are very difficult.

1

In the group technology concept, the part family is a set of related parts that can be produced by

the same sequence of machining operations because of similarity in shape and geometry or similarity

in production operation processes

1

2 CHAPTER 1. INTRODUCTION

department department department

M M M G

L L

M M M

G G

L L

M M Painting

department

A A A

P

L L D D

P

A A A

D D

L L Drilling P

department

Assembly

Receiving and Shipping department

the sequence of operations required for a part, different specialised machines are

organised in line and dedicated to a part or a part family as shown in Figure 1.2.

Generally, these specialised machines are expensive and such investment is justified

when a large volume of the part must be produced. The major limitation of flow

lines is the lack of flexibility to manufacture parts for which they are not designed.

Indeed, the specialised machines are setup to perform limited operations and are not

allowed to be reconfigured.

To avoid the drawbacks of these two layouts, an alternative manufacturing system

was developed by Burbidge in 1975: cellular manufacturing system (CM) [32]. This

system is an application of the group technology (GT) developed in the Soviet Union

in the late 1940s and early 1950s [178]. Group technology is a theory of manage-

ment based on the principle that similar things should be done similarly. Burbidge

adapted this systematic planning approach according to which parts needing similar

operations and a common set of resources are grouped into families, and the resources

are grouped into small-sized production subsystems, the cells.

The main goal of the cellular manufacturing system is to bring together the

advantages of flow shop and job shop production and to reduce the complexity of

control [146]. According to Kusiak, a 20% to 88% reduction in material handling

efforts can be achieved by implementing machine cells. Machines are located in close

proximity to one another and dedicated to a part family (as shown in Figure 1.3).

This provides the efficient flow and high production rate similar to a flow line. The

use of general-purpose machines and equipment in CM allows machines to be changed

in order to handle new part designs and part demand with little efforts in terms of

cost and time. So it provides great flexibility in producing a variety of parts [188]. In

short, a cell represents a hybrid production system, a mixture of a job shop producing

a large variety of parts and flow shop dedicated to mass production of one product.

CM is a manufacturing system that can produce medium-volume/medium-variety

1.2. BENEFITS AND DRAWBACKS OF CM 3

L M D L M G A

L M D P A A

L M M D G G A

Receiving Shipping

L L M M P A

L L M D P A

part types more economically than other types of manufacturing systems [188]. If

volumes are very large, pure item flow lines are preferred; if volumes are small and

part types are varied to the point of only slight similarities between jobs, it is preferred

to use a job shop layout.

Cellular manufacturing has been one of the most successful ways that companies

have coped with the challenge of today’s global competitive environment. The ap-

proach has been applied in a variety of industries over the past three decades, such

as machinery and tools, aerospace and defence, automotive, and electrical [303].

1.2.1 Advantages

Once manufacturing cells are formed, the following advantages are highlighted [72,

152, 302]:

same parts (similar shape, size, etc) in a unique entity. For this reason, the

manufacture of many of the parts can employ the same tools and the time

required to change fixtures and tools is decreased.

• Reduction of lot sizes: The reduction of setup time permits working with

smaller lot sizes that are more economical. Small lot sizes also smooth the

production flow.

Standridge showed that WIP could be reduced by 50% when setup time is

cut in half. This reduction enables reduction of the order time delivery [12].

4 CHAPTER 1. INTRODUCTION

M D D D

P

L

M M

D A

P

M

L M

M A

G Left over

L M process

A

L P

L A

L G

Cell 2

Cell 1 G

Cell 3

Receiving and shipping A L

• Reduction of material handling cost and time: In CM, each part is processed

completely in an independent cell as much as possible. Part travel time and

distance between machines is minimal. Thus, all flows are concentrated into

the cells, reducing flow time.

size and composition and generally require same tools.

lot sizes permit to reduce the space required.

machines in batches. In CM, each part is transferred immediately to the next

machine after it has been processed.

• Reduction in control effort: It is easier to follow the parts in small entities like

the cells than in a job shop layout where parts travel through the entire shop.

Localised and specialised cells dedicated to similar parts cause the expertise to

be concentrated.

• Ease in scheduling and production planning: Scheduling and planning are com-

plicated when the number of machines and parts are high. In CM, the manu-

facturing facility is broken down into manufacturing cells and each part travels

in a single cell. The system to analyse is reduced and easier to plan.

• Improvement in product quality: Parts are produced in a small area and the

feedback is immediate. Thus, the process can be stopped quickly when things

go wrong.

1.2. BENEFITS AND DRAWBACKS OF CM 5

1.2.2 Disadvantages

• High implementation cost: Reorganisation of an existing layout can be expen-

sive task. Costs comprise the determination of manufacturing cells and part

families; the physical reorganisation; the training and specialisation of employ-

ment.

In a manufacturing cell, each machine is critical to the proper functioning of

the cell. Breakdown of a machine causes the entire cell to be non functional.

To avoid stopping the production, the process can be transferred to an under-

loaded machine in another cell, but this solution generates moves between the

cells. The selection of an alternative machine is more difficult than in the

functional layout where the flexibility is highest.

jective is to minimise the movement of parts and dedicate cells to part families.

With this objective, it is necessary to avoid increasing human movement. In a

functional layout, the labour is highly specialised to manage a functional entity.

In CM, the labour needs to be trained for the set of machines belonging to the

cell. Thus the labour may prove to be expensive.

are manufactured in different cells may have to undergo further assembly and it

may prove difficult to synchronise their completion before they are assembled.

it is generally not possible to confine all the operations for each part within its

respective manufacturing cell. Thus some parts have to visit foreign cells for

some operations. This presents problems with material handling.

generate independent cells, the average machine utilisation is lower.

• Lack of flexibility: Ideally, the cells should be designed with the maximum of

flexibility to handle the maximum number of different part types. However, to

realistically obtain the benefits of the cellular manufacturing, the real flexibility

of the cells is limited.

• Change in part range and mix: With changing part ranges, it is not possible to

continually change the layout or the manufacturing cells; as a result, it might

be possible that some work-centres become bottlenecks, while others remain

under-used. There is a lack of flexibility compared to the job shop layout.

ficult to implement but these advantages lead directly to an improving productivity.

However, cellular manufacturing cannot maximises the productivity without effective

capacity planning, production and inventory controls.

6 CHAPTER 1. INTRODUCTION

The transformation of the layout of an enterprise is a long process. In our case, we

want to convert a job shop layout to a cellular layout with independent cells that can

be managed individually. These cells can be viewed as small job shop systems. In an

ideal cellular environment, parts should be manufactured completely within a cell.

One major problem in CM is the design of the manufacturing system. This design

process is composed of several steps:

applied. Once the cells are created, a planification step is necessary to manage the

production. It is only at this level that the decision of cell production planning is

defined. This work is out of the scope of this thesis. The difficulty to manage a large

job shop system with a high variety of parts is avoided with a cellular manufacturing

system. This difficulty is reduced to the management of several “quasi” independent

identities. The management of each cell is left to the employee allocated to the cell.

The cell formation problem (CFP) is situated at the first level of the reorganisa-

tion. The CFP consists in decomposing a manufacturing system into cells of machines

and identify part families such that operations of a given part family can be processed

within an independent cell. During the last years, the cell formation problem has

been addressed in numerous works because designing cellular manufacturing systems

(CMSs) is known as a difficult problem (it is actually NP-hard). In the CFP, three

objectives are followed:

The order in which these steps will be accomplished determines the cell formation

strategies. The resolution of the cell formation problem stops after those three design

steps. The physical arrangement of machines into cells, the disposition of each cell

and the production planning and scheduling does not belong to the CFP but to the

layout design problem.

In summary, to solve a cell formation problem, it is necessary to firstly identify

the strategic issues in specifying the awaited solution for the production. The

desired solution can be oriented to the machine or cell flexibility, cell layout, machine

type, etc. Much research has been published addressing either technical issues (e.g.

1.4. RESEARCH OBJECTIVE 7

in the CMS) or cell formation design issue (e.g. linkage and relationships between

specific cell design). It is demonstrated that cell formation design decisions must be

addressed in alignment with the firm’s strategic plan and manufacturing competitive

priorities [313].

Secondly, the different objectives in the resolution must be defined to attempt

the strategic issue. In the literature, different objectives are found such as minimising

inter-cellular moves, distances between machines or cells, number of exceptional parts

generating inter-cellular moves, number of bottleneck machines used by more than

one cell, or costs. This last objective is conflicting with the creation of independent

machine cells. Indeed, to decrease the inter-cellular moves, a solution consists on

adding required machines in each cell. However equipment cost increases in this

case. Generally, all these objectives are conflicting with others. The problem can

be solved on the basis of one criterion or several of them. In this last case, different

tools are used to take into account several conflicting criteria (see section 3.3).

The last element that orients the CFP is the operational constraints. These

constraints will be the machine use, the production volume and processing required

by the parts, the number of manufacturing cells, the cell sizes, etc. Depending on the

used data and constraints, the problem to treat will be increased in complexity as

described in section 2.1.1. When the alternative part routings (sequence of machines)

and/or the alternative processes (sequence of operations) are used, the CFP is called

Generalised Cell Formation Problem (GCFP).

The main objective of this research was to develop an integrated approach using the

genetic algorithm to solve the generalised cell formation problem with alternative

part routings (sequence of machines) and processes (sequence of operations), taking

into account machine capacity constraints. Given processes, machine capacities and

quantities of parts to produce, the problem consists in defining the preferential routing

for each part optimising the grouping of machines into independent manufacturing

cells. The principal objective is to minimise the inter-cellular traffic, while respecting

capacity and availability constraints.

The treated problem is a multi-criteria problem and the objective is to develop

an approach permitting to manage all different criteria such as cost, flexibility, inter-

cellular moves, balancing, similarity, etc. We will provide a means to allow the user

to select any criteria he wants to evaluate; he could then modify all their weights and

evaluate the impact of the changes.

Starting with the parts defined by their processes on the one hand, the machines

in the other hand, the problem consists on

8 CHAPTER 1. INTRODUCTION

These three first objectives must be treated simultaneously. The last objective is a

consequence of solutions of the three first problems.

To solve this problem, a new integrated approach (Simogga) based on an adapted

Multiple Objective Grouping Genetic Algorithm (Mogga) is proposed to solve si-

multaneously the preferential routing selection of each part including the process

selection (by solving an associated resource planning problem), and the machine

grouping (cell formation problem).

The Multiple Objective Grouping Genetic Algorithm was developed in previous

works and allows to include a multi-criteria aided tool inside the evaluation process

of Grouping Genetic Algorithm. This algorithm has proved itself in different areas

(structured search or assembly line design). The multi-criteria methodology pre-

sented in this thesis is similar as for the Mogga. Different criteria needed to opti-

mise the GCFP are explained and these are developed in the coding of the Simogga.

However, the validation phase of the Simogga is presented only with one criterion:

the minimisation of the traffic between the cells of machines. Through lack of time

and multi-criteria case studies, the validation of the proposed hybrid algorithm with

all criteria is included in the perspective.

The originality of this thesis does not lie with the multi-criteria methodology but

with a new use of Mogga to solve simultaneously two interdependent problems.

The classical approaches to solve two interdependent problems works sequentially

i.e. an algorithm is used to solve the first problem and another method, fast and

non-optimal, is applied to solve the second embedded problem. Iterations can be

made to optimise the solutions. The hybrid approach proposed in this thesis makes

it possible to treat both problems at the same level and simultaneously. To the

best of our knowledge, this resolution method has never been applied to solve two

interdependent problems.

Chapter 2 presents the data and the concept necessary to understand the next chap-

ters. The definition of the process plan and process route is given. With these two

concepts, the alternative routings and alternative processes found in the literature

are explained and categorised.

Chapter 3 describes the principal methods existing in the literature and treating

the CFP or the GCFP. These methods can be classified into the following categories:

part code analysis, clustering techniques, similarity coefficients, graph partitioning,

mathematical programming, heuristic search and computational intelligence based

approaches. Next, the chapter focalises on the genetic algorithm and the multi-

criteria decision methods found in the CFP literature. A large list of all encountered

criteria is given. A comparative table is then proposed to classify all authors treating

the Generalised Cell Formation Problems and to lie this work among the existing

methods.

In the chapter 4, the problem is formulated in terms of mathematic. The data

are exposed, followed by the constraints and some criteria met in the cell formation

problem and included in the Simogga. This chapter closes with an originality of

this thesis, the count of the existing solutions in the cell formation problem. A new

formula is proposed. This formula allows quantifying the complexity of the problem.

1.6. READING SUGGESTION 9

The chapter 5 begins with an briefly explanation of the tools used in the Simogga

including the Genetic Algorithm (Ga), the Grouping Genetic Algorithm (Gga) and

the Multiple Objective Grouping Genetic Algorithm (Mogga). Next, the different

reasonings and evolutions of the Mogga that are allows the creation of the Simogga

are described.

The complete description of the Simogga is given in the chapter 6. The particular

encoding is firstly explained. Next, the different used heuristics are presented with

some illustrations. This chapter finishes with the description of the local optimisation

applied to improve the results of the Simogga.

The chapter 7 is devoted to the validation of the algorithm. A large set of ideal

case studies were created for this target. To begin, the choice of the best heuristics are

validated treating each of the three problems (process selection, operations allocation

and machines grouping) individually. Next, the different parameters of the Simogga

as population size, operator rates, mutation rate, etc. are fixed. The efficiency of the

algorithm is finally proved and compared to the successive resolution.

The case studies found in the literature are treated and compared in the chapter

8. The final chapter 9 concludes this thesis in summarizing the previous chapters

and proposing the perspectives.

The appendices are related to: an overview of the multi-criteria decision-aid

method PROMETHEE (appendix A); a general introduction to grouping and multi-

criteria problems (appendix B) containing useful information to fully understand

chapters 5 and 6; a coding description of the proposed algorithm Simogga (appendix

C); a detailed of the application of the formula defined in section 4.4.2.5 (appendix

D); the complete tables used for the validation phase (appendix E); a description of

the case studies found in the literature (appendix F); a list of the acronyms (appendix

G).

The chapters and sections listed below are essential for a good understanding of this

thesis:

10 CHAPTER 1. INTRODUCTION

1.1 Cellular Manufacturing 1

1.3 Problem Statement 6

1.4 Research Objective 7

2.1.2.2 Alternative processes 13

3.4.3 Hybrid Methods 56

4.1 Assumptions 62

4.4.2 Size of Search Space for the Cell Formation Problem 78

(for mathematical reader)

5.2 Grouping genetic algorithm (Gga) 89

5.3 Multiple objective grouping genetic algorithm (Mogga) 90

5.4.2 Simogga: an hybrid Mogga 98

6.2 Encoding 103

6.2.2 Operator Rates 106

7.3 Simultaneous Resolution 145

7.6.3 Initialisation Rate 161

7.6.4 Operator Rates 162

7.6.6 Final Solutions 167

8.4 Conclusion for Literature Case Studies 183

9 Conclusions and Perspectives 187

Chapter 2

Many researchers have recognised the need to take into account different parameters

like the process sequence, the production volume and the alternative process to solve

a cell formation problem. In this chapter, a classification of the data found in the cell

formation literature is described. These parameters used to solve a cell formation

problem are separated into data (including the part, operational, machine and cost

data), constraints and classical evaluation parameters used to compare the results of

grouping. The chapter closes on the encountered difficulties with a case study found

in the literature. This chapter has to be seen as the definition of all parameters that

are used in the next chapter about the literature review.

2.1 Data

2.1.1 Part and Production Data

The simplest way to characterise a part is to define a set of operations and a set of

machines. These machines permit to achieve the set of operations to produce the

final part. This is the minimum data need for a cell formation problem. In addition

to these data, several other parameters can be used to solve a cell formation problem.

The production volumes may significantly influence cell formation. In defining this

parameter, the required time to achieve each operation on a machine can be com-

puted. The traffic and movements between cells is proportional to the production

volumes. Moreover this parameter is necessary, for instance, to compute the cost of

transportation.

2.1.1.2 Batches

• Batch size: The distinction must be done between process batch size and trans-

fer batch size. The first one concerns the number of parts processed on a re-

source without intervening setup. The transfer batch size meanwhile defines

the number of parts that can be transported from one resource to the next dur-

ing production. This last size is used to compute the movement between cells

and quantify the cost of transportation. For instance, if manufactured parts

11

12 CHAPTER 2. CELL FORMATION PROBLEM

are small, the part will not be transported one by one between two machines.

Therefore, the cost of transportation will be distributed on each part. In the

cell formation problem, it is most of time the transfer batch size that be used

behind the term of batch size.

scheduling. Splitting large orders into smaller batches can provide the opportu-

nity for simultaneously processing orders on more than one work center. This

may result in reduced flow time and better due date performance [112, 297].

• Pallet Capacity: The pallet capacity can be useful to define the batch size

transfer and automatically split a batch too large.

To generate a new configuration of cells, several authors consider the previous or-

ganisation as an input. In the presence of mix variations, cell reconfiguration is a

promising strategy. At each studied period a new configuration will be proposed.

The demand fluctuation between each period can be deterministic or probabilistic.

In this case, the problem is treated on two or three periods and a solution of machines

grouping is proposed for each period. The cell construction can then be made, for

instance, in minimising the changing cost.

• Required machines: The operation must be achieved by the required machine.

• Required tools: Defining the required tool to achieve the operation permits to

define a set of machines that has the tools to achieve this operation.

changed from one form to another through assembly, compounding, machining,

or other operations.

• Setup times: The setup time defines the period required to prepare the machine

or system for it to be ready to function or accept a job.

The operation sequence of a part is defined as the ordering of the manufacturing

operations required to construct sequentially the part. The consideration of process

sequences complicates the cell formation problem and many algorithms for the cell

formation do not deal with this issue. However, the consideration of process sequences

permits to calculate the inter-cellular material movements. Cell formation methods,

without using operation sequence data, may compute inter-cellular movement based

on the number of cells that a part will visit in the manufacturing process. How-

ever, the number of cells visited by the part can be less than the current number of

inter-cellular movements. Indeed, the part may travel back and forth between cells.

Without using information about operation sequence, the count of these movements

will not be accurate.

2.1. DATA 13

The use of the sequence of operations can be used as explained above to compute

the movements between cells. But the sequence of operations can also be used as

similarity measure between parts and identify which parts can be grouped together

[251, 22].

Numerous cell formation methods have appeared in the literature. But at this time,

it is necessary to specify the distinction between a “process plan” and a “process

route”.

required in order to transform raw material into some finished goods. This

sequence is based on the operation sequence where each operation is charac-

terised by a machine type regrouping all the machine capable achieving this

operation.

centers on which a part passes through to complete its processing, as defined

by the process plan.

A vast majority of the solution procedures used the Product Flow Analysis (PFA,

see section 3.1) approach and assumed that each part has only one process route. In

this case, the cell formation problem corresponds to a simple grouping problem of

machines. Ignoring the alternative process may reduce the possibility of forming inde-

pendent manufacturing cells. Taking into account these alternative process plans offer

several benefits, such as allowing for a smaller number of machines, higher machine

use, a reduced interdependence between cells, and an improved system throughput

rate [146, 126]. Advantages and possibility of having multiple process routes are

discussed by Nagi et al. [192].

The cell formation problem incorporating alternative process plans is called the

generalised group technology problem. Kusiak (1987) was one of the first to

consider these alternative processes [146].

The presence of alternative routings is typical in many discrete, multi-batch, small

lot size production environments [55]. This routing flexibility increases the number

of ways to form manufacturing cells.

Different approaches permit to take into account the alternative processes or

routings. But not all authors have the same specification in the definition of an

alternative process. Alternatives may exist in any level of a process plan. The

manner to take into account the processes or routings can be represented by the

following six cases:

14 CHAPTER 2. CELL FORMATION PROBLEM

operations {ok1 − ok2 − ok3 − ok4 − ok5 }. Following each case, the ith process P ri (pk )

will be represented by a sequence of machine(s), mi , or a sequence of machine type(s),

tmi .

machines: In this case, the operation sequence is considered but there is no

alternative routing or process [41, 82, 260].

Example: P r(pk ) = {m1 − m2 − m3 − m4 − m5 }. There is just one way to

manufacture each part.

machines in presence of replicate machines: In certain studies, authors do not

define machine types for the entire park of machines but propose few double

or triple machines. These machines are functionally identical. This case is the

same than the case 5 presented here below with all machine types containing

just one machine except a few machines with their replicate ones that can be

done as different type machines [192, 214].

Example: P r(pk ) = {m1 −(m2 or m3 )−m4 −(m2 or m3 )−m5 }. The operations

ok2 and ok4 can be achieved by the machines m2 and m3 . In this case, we can

group all machines into machine types. We can define four machine types

(tm1 = {m1 }, tm2 = {m2 and m3 }, tm3 = {m4 } and tm4 = {m5 }). The

number of possibilities to manufacture the part amounts to 4 (1×2×1×2×1 =

4).

machines: In this case, we cannot group all machines into machine types. There

is no coherence between machines assigned to operations. During the allocation

of operations on specific machines, all combinations are possible following the

choice of machines for each operation [294, 188].

Example: P r(pk ) = {(m1 or m3 ) − m2 − (m2 or m3 ) − m4 − (m5 or m3 )}. The

machine m1 and m3 cannot be defined like belonging to the same type because

they do not appear together for the next operations. It is impossible to correctly

define any machine types dedicated to any operation types. In this example,

there are 8 possible combinations to manufacture this part (2×1×2×1×2 = 8).

cific machines: Some researches take these alternative processes into account

by considering several possible machining sequences for each part [146, 88, 163,

155, 250, 38, 1, 169]. In this case, the number of machines used in the se-

quences can vary and each part has one or more process plans. The problem is

summarised by the research of the good routing among those proposed.

Example: The part pk has different possible routings: P r1 (pk ) = {m1 − m2 −

m3 − m4 − m5 }, P r2 (pk ) = {m3 − m2 − m6 − m4 − m5 } and P r3 (pk ) =

2.1. DATA 15

{m6 − m5 − m3 − m4 }. The part can have two different routings with the same

number of operations like P r1 (pk ) and P r2 (pk ), but it is not mandatory like

shown by P r3 (pk ). In this example, the problem can be seen as the choice

between the three routings for the proposed part to optimise the complete

problem.

types: The operation is defined by its tooling requirements. If the tool is

available on more than one machine, these machines are considered as belonging

to the same type. Each machine type is capable of doing a specific operation.

In this case, the problem is to find for each operation the good machine among

all those belonging to the required type. The algorithm has more liberty in the

choice of the preferential routing in these studies [146, 11, 21, 57, 263, 317, 55].

Example: The part pk has one process: P r(pk ) = {tm1 − tm2 − tm3 − tm4 −

tm5 }. In this case, the problem consists on the choice of the best machine for

each operation. There are many possible combinations. If all machine types

tmi containing ni machines, the number of allowed combinations is equal to

n1 × n2 × n3 × n4 × n5 .

types: This case is the combination of the case 4 and 5. The number of machine

types used in each process may be different. Each machine type comprises all

machines able to perform the operation of its type. The number of possible

combinations for each part explodes in this case. The literature about these

alternative processes is poor [224, 179, 250, 274].

Example: The part pk has three alternative processes: P r1 (pk ) = {tm1 −

tm2 − tm3 − tm4 − tm5 }, P r2 (pk ) = {tm1 − tm5 − tm6 − tm4 − tm2 } and

P r3 (pk ) = {tm1 − tm3 − tm6 − tm5 }. In this case, for each part, the problem is

resumed with the choice among the allowed processes of the best combination

of machines (routing) for each part. The number of possible combinations is

the three times higher than in case 5 ((n1 × n2 × n3 × n4 × n5 )+(n1 × n5 × n6 ×

n4 × n2 )+(n1 × n3 × n6 × n5 )).

All cases are summarised in Table 2.1 here below. In case 1, we do not speak

about alternative routing or process. There is only one available sequence of machines

(routing). In cases 2 to 5, we have alternative routings to different degrees. The cases

are classified by increasing order of alternative character. It is only in the last case

(6) that we could consider an alternative process in term of sequence of machine

types. The use of these alternative processes is limited. Suresh and Slomp precise

that in most firms no more than one process plan, and one set of tooling exist

for each operation [263]. Inclusion of alternative process plans for each part type

requires a major re-examination of process plans and shop floor practices, and major

investments in tooling.

The flexibility allowed by the alternative routing and process can be used in two

ways. The majority of authors used alternative routings and alternative process to

16 CHAPTER 2. CELL FORMATION PROBLEM

Case 1 P r(pk ) m1 m2 m3 m4 m5

Case 2 P r(pk ) m1 m2 or m3 m4 m2 or m3 m5

Case 3 P r(pk ) m1 or m3 m2 m2 or m3 m4 m5 or m3

Case 4 P r1 (pk ) m1 m2 m3 m4 m5

P r2 (pk ) m3 m2 m6 m4 m5

P r3 (pk ) m6 m5 m3 m4

Case 5 P r(pk ) tm1 tm2 tm3 tm4 tm5

Case 6 P r1 (pk ) tm1 tm2 tm3 tm4 tm5

P r2 (pk ) tm1 tm5 tm6 tm4 tm2

P r3 (pk ) tm1 tm3 tm6 tm5

Table 2.1: Summary of the different notions of alternative routings and processes for

a part k.

optimise the cell configuration in choosing the best route [250, 188, 38, 6, 22, 117].

Several authors preferred to use to the flexibility of the routings and processes in

allowing alternative routing to coexist. This coexistence is possible when the batches

of parts are split, or when the problem is solved on different periods like in dynamic

reconfiguration cells [224, 88, 95, 55].

machines need to be sufficient to satisfy the production volume required by parts.

Some authors introduce the production volumes at the final stage, once the cells

have been determined [30, 31, 53, 187]. The quantity of machines are then adapted

in each cell to be able to manufacture all the production.

When the machine grouping is achieved under the capacity limitation, the prob-

lem is called Capacitated Cell Formation Problem (CCFP).

Without considering alternative routings, an evaluation of the capacity can be

done a priori. Nevertheless, when the alternative routings are taken into account,

it is generally impossible to calculate the correct number of machines to assign to

each machine type before solving the cell formation problem (see [317]). Indeed,

the routing selection for each part is unknown. The different routings of a part use

different machines. In two different routings, the operating time may be different

on the same machine. These problems without capacity constraints are called un-

capacitated cell formation problems (UCFP).

In presence of alternative process and when the route selection is not known, the

(CCFP) deals with the capacity limitation and the selection of the routing for each

part and the machine grouping in cells.

Different studies are available on this capacitated machine constraint [264, 300,

126].

2.1. DATA 17

Previous studies supposed that the number of machines for each machine type must

be known a priori. Other authors such as Heragu, proposed a method determining

the number of machines for each machine type if the exact number of machines

required has not been provided [94, 96].

Some authors consider the cell formation problem as a reorganisation of an ex-

isting shop into a Group Technology shop or cellular layout [3]. In this idea, several

possibilities can be explored:

• If the considered machines are composed by all the machines existing in the

organisation, the problem is a capacitated cell formation problem.

• In the same manner, if a purchase of machines is defined a priori, the reorgan-

isation of the system must take into account this capacity limitation.

Other authors consider the existing system and permit the purchase of specific

machines. These purchases can reduce the sum of inter-cellular traffic and can be

very interesting to optimise the organisation. This method has a sense if the cost of

these acquisitions is taken into account.

Therefore, it is important to take into account different inputs relative to the

machines:

• Number of machines of each type

• Acquisition machine

• Acquisition cost

Other characteristics can be defined for each machine:

• Operation cost : Each operation can have a specific cost on different machines.

• Available tools: A machine can be characterised by one or several tools if it is a

multi-functional machine. These tools permit to achieve particular operations

belonging to the process of a part. Depending on these available tools, one or

more types of the machine can be defined.

• Space requirements: This data defining the space required by the machine and

its use, permit to fix a constraint by example in term of maximum size of cells.

• Machine proximity preferences: Separation and collocation preferences are used

to specify if it is better to place two machines near each other or not.

The cost data are often used in the literature to treat a cell formation problem. These

costs can be grouped into different categories depending on their type. The major

problems of the cost are the difficulties to take it correctly into account (amortisation,

linearisation, estimation of cost) and the difficulties to collect all information relative

to the cost in the enterprise. All these costs found in the literature can be separated

into two categories:

18 CHAPTER 2. CELL FORMATION PROBLEM

• Part Cost Data including unit operation time, operation cost, set-up cost,

direct production cost, tool consumption cost, subcontract cost and inter-

cellular/intra-cellular transportation cost.

• Machine Cost Data including tool usage cost, operator wage, subcontract cost,

space cost and machine investment cost.

2.2 Constraints

2.2.1 Constraints about Machines

• Machine capacity. It is obvious that, in the design of CMSs, one of the basic

requirements is that there should be adequate capacity to process all the parts.

If the operating times are defined for all operations, it is necessary to limit the

capacity of all machines to solve a capacited cell formation problem.

Separation constraints and Collocation constraints. Such constraints exist since

some machines must be separated from each other while other machines must

be placed together due to the technical and safety considerations. For example,

machines that produce noise, dust, vibration, emanation, or high temperatures

may need to be separated from electronic assembly and final testing requiring

calm and precision. In the other hand, machines sharing common resource or a

particular operator’s skill may also be placed in the same cell. Several authors

deal with these constraints [1, 204, 250, 95].

• Use levels. Two levels of machine use are normally used. Maximum use is

specified to ensure that machines are not overloaded. Minimum use for a new

machine ensures that it is economically justifiable to include the new machine

in a cell. These constraints allow dealing with the obligation of use expensive

machines without treating the costs [156, 263].

Working with large cells makes production planning, scheduling and control difficult.

On the other hand, decomposing a system into smaller cells may generate more

inter-cellular traffic. Therefore coordinating efforts may be required.

parameters such as the size of worker teams, span of supervisory authority, etc.

Several options are possible in term of number of cells. The maximum number

of cells can be fixed a priori before the treatment defining a fixed number of

wanted cells, or defining upper and lower bound. Given a range of cell sizes,

the number of cells is determined and the solutions can be compared.

• Cell size. The size of a cell is mostly measured by the number of machines in

the cell, but the cell size can also be expressed in terms of number of operators,

space available or number of outputs. The cell size limit criterion is necessary

for several reasons: available space might limit the number of machines in a

2.3. EVALUATION 19

cell. If a cell is run by operators, the size of the cell should not be too large to

be controlled visually by the operator. Instead of a single value of cell size, the

cell size can be fixed by a maximum value or/and by a minimum value. This

would allow more flexibility in the design process.

2.3 Evaluation

In the literature, there are many measures of goodness of machine-part grouping in

cellular manufacturing. The two following ones are the most frequently used because

they are easy to implement. They evaluate the quality of block diagonal forms of

binary matrices containing only binary data (1 and 0). There are quantitative criteria

of goodness of block diagonal forms of binary matrices containing only with binary

data (1 and 0).

2.3.1 Definitions

• A block is a sub matrix of a machine-part matrix where the rows represent the

machine cell and the columns represent a part-family associated to the cell.

• A void is a zero element that appears in the diagonal blocks.

one that appears outside the diagonal blocks. An exceptional element creates

an inter-cellular movement between one cell to another for processing.

The notations for the evaluation of incidence matrix are presented in Table 2.2.

Number of 1s Number of 0s

In the diagonal blocks e1 ev

In the off-diagonal blocks e0 eh

Total in matrix e o

where

e1 is the number of ones in the diagonal block

e0 is the total number of exceptional elements outside the diagonal blocks

ev is the total number of voids in the diagonal blocks

eh is the total number of zeros outside the diagonal blocks

e is the total number of ones in the machine-part matrix

o is the total number of zeros in the machine-part matrix

In this section, the most popular of them are presented.

Chandrasekharan and Rajagopalan are the first to propose a quantitative mea-

sure of goodness of a cell solution [42]. The grouping efficiency η is defined as

follows:

η = qη1 + (1 − q)η2

20 CHAPTER 2. CELL FORMATION PROBLEM

where

• η1 is the ratio of the number of 1s in the diagonal blocks to the total number

of elements in the diagonal blocks of the final matrix

e1

η1 =

e1 + ev

in the off-diagonal blocks of the final matrix (both 0s and 1s)

e0

η2 =

e0 + eh

• q is a weight factor (0 ≤ q ≤ 1)

This expression can be also expressed as follows:

e1 e0

η=q + (1 − q)

e1 + ev (o − ev ) + (e − e1 )

where e is the total number of ones in the matrix.

This efficiency function is non-negative (0 ≤ η ≤ 1). The weighted parameter q

lets the choice to put more importance on the void elements or on the inter-cellular

movement (exceptional elements). If q = 0, 5, both have the same impact. It is

difficult to assign a good value to this parameter. Kumar and Chandrasekharan

analysed 100 randomly chosen data sets and concluded that, even though an algo-

rithm produces the best possible block diagonal form in all the cases, the range of

grouping efficiency varies practically from about 75 to 100% [142]. So it is difficult

to assign a value of q to correctly weigh voids and exceptional elements in a block

diagonal matrix.

The main problem is encountered with large matrices where a lower value of q

should be assigned instead of one with an equal impact on the number of voids and

exceptional elements. Otherwise the second term (1 − q) will obtain a diminishing

form and be less effective, and thus the overall measure will be less effective [42].

Therefore, Kumar and Chandrasekharan suggested that it is necessary to choose

a very low value of q to have equal weights on the voids and exceptional elements

[142]. It is also desirable to have a common denominator for both quantities in order

to choose a good weight factor q.

To avoid the difficulties to fix the previous parameter q, Kumar and Chandrasekha-

ran [142] introduced a new measure putting an equal weight on the number of ex-

ceptional elements and number of voids. The grouping efficacy Γ is defined as:

e − e0

Γ=

e + ev

In this equation, the numerator represents the number of ones in the diagonal

blocks. The denominator increases with the number of voids. Grouping efficacy

ranges from 1 to 0, with 1 being the perfect grouping.

The advantages of this measure are:

2.3. EVALUATION 21

• It is able to incorporate both the with-in cell machine use and the inter-cell

movement.

matrices (high discriminating power when the blocks diagonal contain a lot of

voids).

• the built in mechanism assign weights to voids and exceptional elements which

are unknown to the user;

• grouping efficacy is more sensitive to changes in the number of voids than that

of the exceptional elements;

• in case of grouping efficacy, the user has no freedom to assign the weights for

voids and exceptional elements.

To these limitations, I can add an important one for this work. The objective of

the cell formation problem is to define independent cells. The number of exceptional

elements is then primary. But the number of voids characterized the utilization of

the cell by the part. A part is penalized if it does not use all the machines belonging

to the cell. As we can see in Table 2.4, part 4 is assigned to cell 2 but the part

uses only the machine 1. The solution is penalized because this part requires only

one machine. Those voids are important when the grouping formation is based on a

diagonalisation matrix as we will see in section 3.1.1.

These measures are available for each case study whatever the set of used data.

Indeed, the used parameters depend on the cell in which each machine and each part

are assigned and nothing else. When the set of data is more extended, these basic

values are always available. This is the reason why these basic measures are always

used in the literature to compare the performance between several methods.

Hsu defined a grouping capability index (GCI) [105]. Contrary to the previous

measures, this measure including zero entries of machine-part incidence matrix is

defined as:

e0

GCI = 1 −

e

where e0 and e are the exceptional elements and the total number of ones (operations)

respectively.

To evaluate the grouping effect in presence of alternative routings, Sarker and Li

proposed a generalized group efficiency measure [229]. This alternative routing

22 CHAPTER 2. CELL FORMATION PROBLEM

Parts

Machines 1 2 3 4 5

1 1 1 1

2 1 1 1

3 1 1

4 1 1

Parts

Machines 5 2 3 1 4

2 1 1 1

4 1 1

1 1 1 1

3 1 1 0

1 − e0 /e 1 − ev /o e − e0 o − ev

ηARG = · = ·

1 + e0 /e 1 + ev /o e + e0 o + ev

where e is the number of ones in an original machine-part incidence matrix with

multiple process plans; ev is the number of voids in the diagonal blocks in the final

machine-part incidence matrix and e0 is the number of exceptional elements in off-

diagonal blocks of final incidence matrix. Thanks to the ratios e0 /e and ev /o, the

measure is independent of the size of the problem.

2.3.6 In Practice

These measures are illustrated in the example here below from Kusiak [147]. Five

parts and four machines must be grouped into cells. A machine-part matrix is one

way to represent the processing requirements of a part on the machine as shown in

Table 2.3. This structure matrix is explained in section 3.1.1. A 1 entry on row i

and column j indicates that part j has one or more operations on machine i. In

our example, part 1 has operations on machines 1 and 3. In Table 2.4, a solution of

cells is presented. Two clusters are formed. Cell 1 regroups machines 2 and 4 and

produces parts 5, 2 and 3. Cell 2 groups machines 1 and 3 and produce part 1, 4 and

3.

In this matrix, the 1 off-diagonal represents an exceptional part or a bottleneck

machine. Part 3 is an exceptional part because it needs to be processed on machine

1 and 3 in cell 2, and also on machine 2 which is assigned in cell 1. While machine 2

is a bottleneck machine because it is one that processes parts belonging to two cells.

The 0 represents a void in cell 2. This void indicates that the machine 3 assigned

to the second cell is not required for the processing of part 4 in this cell. “The

presence of voids leads to inefficient large cells, which in turn could lead to additional

intra-cellular material handling costs and complex control requirements.” [188]

For this example, the grouping efficacy and the grouping efficiency can be com-

puted on the diagonal form of Table 2.4 where e = 10, e0 = 1, ev = 1, η1 = 9/10 and

2.4. CASE STUDY 23

η2 = 1/10.

e − e0

Γ= = 0, 81

e + ev

2.3.7 To Conclude

In conclusion, these parameters are often used in the literature to compare the results

of cell formation problem and to construct some comparative tables. However, several

limitations can be highlighted:

• These parameters are applicable only with an incidence matrix with 0 and 1.

• The operation sequences are not taken into account in these evaluations.

• The traffic between cells cannot be computed as the operation sequence is not

used.

• All the combination issue from the alternative process must be enumerated into

alternative routings to use the generalised parameter.

The complexity of the problem is computed amongst other factors by the size of the

problem.

The instance size is denoted by m×n, where m is the number of machines, n is the

number of parts. The reason for this choice of size is the use of the incidence matrix,

referred to as the machine-part matrix (see section 3.1.1). The authors defined the

problem size as the incidence matrix size (number of lines × number of columns). The

test instances are classified into three categories: small, medium, and large problems

depending on the number of entries in the incidence matrix. More than 30 machines,

the problem is considered as large-size. Less than 12 machines, it is a small-size

problem.

The complexity of the problem depends also on the quantity of treated data. In

the literature, several types of case studies can be found:

• incidence matrix with the indication of the use of each machines by all parts

(1 defines that the machine is used by the part, 0 other else)

• incidence matrix with the indication of the operating sequence where each one

is replaced by the identificator i for the ith operation of the part.

• incidence matrix where the ones are replaced by the operating time on the

associated machine.

• incidence matrix with the presence of alternative routings where the column

defining the part is duplicated with the other proposed routing.

24 CHAPTER 2. CELL FORMATION PROBLEM

All case studies based on these matrices do not take into account the operating

sequencing or the process plans.

If the incidence matrix is not used, the problem is described by tables with dif-

ferent parameters:

• tables with parts, demands.

• tables with operating sequence with the sequence of machines and the process-

ing time associated.

• tables with alternative routings or process plans.

• tables with machine capacity.

• tables with different costs.

To use and compare the data found in the literature, several difficulties are en-

countered:

• The case studies are small and without alternativity.

• The case studies are often defined with 0-1 incidence matrix.

• The operating sequences are not always described.

• There are a lot of existing definition of alternative routings and processes (as

shown in section 2.1.2.2)

• The large cases are not detailed except some cases with incidence matrix.

• The industrial cases are complex and difficult to obtain from the author owing

to private and confidentiality issues.

• The multi-criteria are not often used in the literature and/or the cases are not

completely described with all data.

In this study, we use a lot of case studies found in the literature. Depending on the

data set, they are completed to be used by the proposed algorithm. The algorithm

is adapted with a specific heuristic and cost function (without flow computing) to

test the case studies with incidence matrix 0-1 and compare the results. The case

is also adapted to take into account the sequence of operations and to compute flow

between cells. When the data are completed with the sequence of operations, the

solution significantly depends on the chosen sequence. In this last case, the result

cannot be compared with the best solution found in the literature because the data

set is changed. All basic cases found in the literature and the completed cases used

for the test are presented in appendix F. To validate the proposed method, a great

number of ideal cases have been created. These ideal cases can be treated and solved

to create completely independent cells.

2.5 Conclusion

In this chapter, all notions and parameters used to solve a cell formation problem

have been explained. Depending on the resolution methods, all parameters will not be

employed. The reader has all information necessary to understand the next chapter.

Chapter 3

Literature Review

The objective of this thesis is to use genetic algorithm (GA) to solve a generalized cell

formation problem (GCFP) including multi-criteria evaluation. For this reason, after

having presented in the previous chapter all the notions and parameters used by the

cell formation problems (CFP), the current chapter proposes firstly a classification

of the cell manufacturing methods.

This classification permits to position the GA among the other methods, and

is followed by the state of the art of the GA applied to the cell formation problem

(CFP). The next section is dedicated to the multi-criteria methods. All the criteria

found in the literature review are classified and the state of the art is devoted to the

use of genetic algorithm including multi-criteria. This chapter finishes with the utility

to develop a hybrid method to solve a generalized cell formation problem (GCFP).

A comparative table is presented to position this work relatively to others.

In the last three decades, a large number of research papers and practical reports

have been published in the field of Cellular Manufacturing (CM), seeking effective

methods for designing cellular manufacturing systems (CMSs). Reviews of existing

CM literature can be found in [140, 85, 247, 201, 194, 120, 4, 239, 170].

According to those reviews, the existing CFP methods in the CMSs can be clas-

sified into two main different categories:

An overview of the first methods is presented by Askin and Vakharia [13]. The

part/design oriented methods are based on relational databases, classification and

coding systems. Two main approaches are described here under:

and cell formation based on his or her experience. This method is the least

sophisticated, the least expensive and the least accurate. It is not a systematic

approach and cannot be applied if the number of parts is huge [146].

25

26 CHAPTER 3. LITERATURE REVIEW

to assign a weight to part characteristics in relation to geometric shape, size

and dimensions, production features, type of materials, etc. Based on the part

codes, part families can be formed. With this analysis, only part families are

formed and the cell formation is a secondary process [178].

• the Part families’ identification (PFI) begins the cell formation process by first

identifying the families of parts and allocates then machines to the families;

machine groups based on information available in part routings before identi-

fying the part families and allocating them to the machine groups [52];

• the part families/machine grouping (PF/MG) determines the part families and

machine groups simultaneously [19]. Burbidge defined one of the earliest

PF/MG descriptive methods for the cell formation problem [31]. Its Production

Flow Analysis method (PFA) analyses the information given in route cards to

form cells. In the same time, El-Essaway developed a Component Flow Anal-

ysis (CFA) [64]. Burbidge partitions first the problem while El-Assaway

does not.

All other resolution methods presented in this chapter are classified into process-

oriented methods and based on the production flow analysis [298].

Cluster analysis is composed of many diverse techniques for recognizing structure in

a complex data set. The main objective is to group together objects, entities or their

attributes in such a way that they have a high degree of “natural association”. Clus-

tering procedures can be classified as: array-based clustering techniques, hierarchical

clustering techniques and non-hierarchical clustering techniques.

Array-based clustering is one of the simplest classes of production-oriented cell forma-

tion methods. The array-based clustering is the most used cell formation technique.

The problem is resumed as block diagonalisation problems. A 0 − 1 incidence matrix,

referred to as the machine-part matrix, represents the processing requirements of

parts on machines. Columns (representing the machines) and rows (representing the

parts) of the matrix are rearranged until a block-diagonal structure emerged. The

machine/part incidence matrix, A, consists of elements aij = 1 if part j requires to

be processed on machine i, and aij = 0 otherwise. Each clustered block represents

the candidate part families and machine cells, which are formed simultaneously.

An overview on array based methods is presented by several authors [48, 247, 242].

The literature yields at least eight array-based clustering algorithms:

3.1. CLASSIFICATION OF METHODS 27

The best known, rank order clustering (ROC), is an iteration of two phases.

Firstly, the rowsPof the incidence matrix are rearranged in decreasing order of binary

value rm (rm = N j=1 2

N −j a

mj where amj is the incidence matrix and N , the number

of columns). Secondly, the columns

P ofMthe matrix are rearranged likewise in decreasing

order of binary value cp (cp = N i=1 2 −i a where a is the incidence matrix and M ,

ip ip

the number of rows). The advantage of this method is the saving of computational

time because the procedure is simple. However ROC generates bad solutions for even

middle-sized problems. ROC is illustrated on an example composed by 7 machines

and 9 parts. The initial incidence matrix is presented at Table 3.1. The first step

consists on rearranging the rows in decreasing order on the basis of the first column.

The rows with machine 3 and 7 are put at the top, following by the row 2, 4, 6, 5

and 1 (see Table 3.2). Next, the columns are rearrange likewise and columns with

part 1, 3, 5 and 9 are put at the left side, following by column 2, 4, 7 and 6 to finish

by column 9 (see Table 3.3). The process is begun again with the rows to find the

final matrix with diagonal blocks (see Table 3.4).

Parts

Machines 1 2 3 4 5 6 7 8 9 rm

1 1 1 1 26

2 1 1 1 1 172

3 1 1 1 1 337

4 1 1 1 164

5 1 1 1 81

6 1 1 1 1 166

7 1 1 1 1 337

cp 17 42 21 42 85 96 42 66 21

are both efficient and simple to apply to the machine/part matrix. The array-based

methods have the disadvantage of being dependent on the initial configuration of

the matrix and not being able to provide disjoint part families and machine cells for

ill-structured matrices1 . As explained in section 2.3, the clustering is often evaluated

in terms of void elements (VE: zero on a block-diagonal) and exceptional elements

1

Matrix with an excessive number of exceptional elements (EE)

28 CHAPTER 3. LITERATURE REVIEW

Parts

Machines 1 2 3 4 5 6 7 8 9 rm

3 1 1 1 1 337

7 1 1 1 1 337

2 1 1 1 1 172

6 1 1 1 1 166

4 1 1 1 164

5 1 1 1 81

1 1 1 1 26

cp 96 28 98 28 99 17 28 9 98

Parts

Machines 5 3 9 1 2 4 7 6 8 rm

3 1 1 1 1 577

7 1 1 1 1 577

2 1 1 1 1 172

4 1 1 1 1 166

6 1 1 1 164

5 1 1 1 321

1 1 1 1 266

cp 99 98 98 96 28 28 28 17 9

(EE: value outside block-diagonal). A part that requires a machine in another cell

creates en exceptional element. The method tries to minimise the number of these

particular elements. This final solution of Table 3.4 contains one EE and 8 VEs.

An important critic against resolutions based on binary incidence matrices is that

they do not take other information into account, such as production volumes, cost of

machines, maximum cell size, that may significantly influence cell formation. It is not

possible to show the routing of a part or operation sequences in an incidence matrix.

This is because an entry in a machine-part incidence matrix only indicates whether

a machine is used to process a part, and does not express the number of times a

machine is needed, and in which order machines need to be used. The movements

between cells depend on these routings, operation sequences and production volumes.

This information is also necessary for instance to compute the cost of transportation

[139, 42, 257, 256, 230].

Moreover these methods usually require visual inspection of the output to de-

termine the composition of the manufacturing cells. This visual inspection can give

much information [148], by example:

the lower limit for the minimum of number of cells.

the complexity of the problem.

3.1. CLASSIFICATION OF METHODS 29

Parts

Machines 5 3 9 1 2 4 7 6 8 rm

3 1 1 1 1 577

7 1 1 1 1 577

5 1 1 1 321

1 1 1 1 266

2 1 1 1 1 172

4 1 1 1 1 166

6 1 1 1 164

cp 120 112 112 96 7 7 7 12 10

Parts

Machines 5 3 9 1 6 8 2 4 7 rm

3 1 1 1 1 577

7 1 1 1 1 577

5 1 1 1 321

1 1 1 1 266

2 1 1 1 1 172

4 1 1 1 1 166

6 1 1 1 164

cp 120 112 112 96 12 10 7 7 7

• Feasibility of the cell formation. The blocks on the diagonal can be identified

and the question about the maximum of machines by cell can be defined.

In hierarchical clustering methods, the partition of the machines or parts into groups

or cells is made in several steps. First, the set of machines are partitioned into few

large cells. Secondly, each of these cells is separated into smaller groups. The proce-

dure is applied until the final group cannot be subdivided. Hierarchical techniques

may be categorized into two methods:

machines (P parts) into groups. The agglomerative hierarchical techniques ul-

timately reduce the data to a single cluster containing all the machines (parts).

into finer groups. The divisive techniques will finally split the entire set of

machines (parts) into M (P ) cells each containing a single machine (part).

tree structures. Those dendrograms are two-dimensional diagrams illustrating the

fusions or divisions which have been made at each successive stage of the analy-

sis. In the context of cell formation, only agglomerative clustering techniques have

30 CHAPTER 3. LITERATURE REVIEW

been used. Most of the methods based on a similarity measure are classified in this

category.

The approaches with similarity coefficient require a measure of similarity between

each pair of machines, parts, tools and design features. Fusions are based on these

similarities. In the literature, a large diversity of similarity coefficients are defined

between machines [161, 312], parts [34, 278], or sequence of operations [149, 243].

Several authors ([244, 245, 228]) present a complete overview on the similarity and

dissimilarity measures applicable to cellular manufacturing.

To illustrate the method on the example presented at Table 3.1, a similarity co-

efficient has to be defined. The Jaccard coefficient measures the similarity between

sample sets, and is defined as the size of the intersection of the sample sets divided

by the size of the union. This coefficient applied to between two machines computes

the number of parts that visit both machines divided by the number of parts that

visit at least one of both machines. McAuley was the first author who applied the

Jaccard similarity coefficient in his method (Single Linkage Cluster Analysis) to

solve cell formation problems [172].

The Jaccard similarity coefficient is defined as follows:

p

Sij = (3.1)

p+q+r

where

P

( k aik × ajk )

Sij = P (3.2)

( k dk )

where dk indicates if the part k is not processed by machine i and machine j

(

0 if (aik = ajk = 0)

dk =

1 otherwise

In Table 3.6, the Jaccard similarity coefficient Sij is computed for each pair of

machines i and j for the example presented at Table 3.1. On the basis of this matrix,

the dendrogram can be constructed.

During the second stage, the cells are formed by grouping machines based on

different methods: Single Linkage Cluster (SLC) Analysis ([172, 37]), Average Linkage

Method [89], Set Merging algorithm [280], etc. Generally this second stage determines

how the pairs with equivalent similarity levels are to be merged into clusters of

parts or machines. The designer must decide on an appropriate similarity level to

select and construct the groups. It is precisely one disadvantage of this method.

3.1. CLASSIFICATION OF METHODS 31

M1 M2 M3 M4 M5 M6 M7

M1 0 0,33 0,14 0,17 0,17 0,17 0,14

M2 0,33 0 0 0,75 0 0,4 0

M3 0,14 0 0 0 0,75 0 1

M4 0,17 0,75 0 0 0 0,5 0

M5 0,17 0 0,75 0 0 0 0,75

M6 0,17 0,4 0 0,5 0 0 0

M7 0,14 0 1 0 0,75 0 0

matrix from Table 3.1.

2 4 6 1 3 7 5

1.0

C2

0.75

0.5

C1

0.25

Figure 3.1: Dendrogram based on Jaccard similarity coefficient illustrated for the

example of Table 3.1.

In small applications, this is not a problem since the designer can visually evaluate

the dendrogram (see Figure 3.1). However, when the application is too large to

be analysed in the form of a dendrogram, other techniques must be used, such as

minimum spanning trees.

The SLC method, applied to the previous example, groups two machines (or a

machine and a machine group, or two machine groups) with the highest similarity.

This process continues until the predefined number of machine groups has been ob-

tained or when all machines have been combined into one group. This method does

not require further revision calculation because the similarity between a machine or a

group and another group is equal to the maximum of similarity between the machine

and all machines belonging to the group. In the example presented in Figure 3.1, the

machines 3 and 7 are grouped together because the coefficient S37 = 1. The next

similarity level is 0.75 and machines 2 and 4 are grouped together when machine 5

is regrouped with the machine 3 and 7. Machine 6 and 1 are not yet inserted in a

cluster, then a new level is defined (0.5). Machine 6 is added to cluster 1, and finally,

machine 1 completes this cluster with the level 0.33.

Hierarchical clustering methods do not form machine cells and part families simul-

taneously. After computing the similarity coefficient for all pairs of machines, only

machine groups are constructed. However, the parts families can be easily defined

by allocating parts to cells where they visit the maximum number of machines.

32 CHAPTER 3. LITERATURE REVIEW

tend to be very demanding of computational resources. They have the flexibility

to incorporate manufacturing data other than the binary machine/part incidence

matrix. This is an advantage compared to array-based clustering. The duplication

of bottleneck machines is not treated by most algorithms.

A systematic evaluation of all possible partitions is quite infeasible. Non-hierarchical

clustering methods are iterative methods. These methods generate a classification

by partitioning a dataset, giving a set of groups with no hierarchical relationships

between them. They begin with an initial partition of the data set or the choice of a

few seed points. The initial seed selections can be arbitrary, artificial, representative,

or natural and are no longer limited to an arbitrary choice like a classical cluster

analysis. In all cases, the number of clusters must be defined a priori that is an

obvious disadvantage of this method. This choice potentially forces some natural

clusters to be merged or partitioned. However, different number of clusters can be

tested. Many different heuristics have thus been described to allow the identification

of good, but possibly sub-optimal, partitions. These techniques produce a single

partition of the data. Contrary to the hierarchical clustering, the non-hierarchical

clustering does not need to compute and store a similarity or distance matrix.

Non-hierarchical method can be divided in three main categories:

• Single-pass methods (such as Leader, [318]) produce clusters that are dependent

upon the order in which the machines or parts are treated.

defined number of seed clusters and then iteratively reassign machines or parts

to optimise the result. Such methods are prone to reaching local optima rather

than a global optimum, and it is generally not possible to determine when or

whether the global optimum solution has been reached.

machines or parts to the same cluster as their nearest neighbours. A list with

nearest neighbours and the level of similarity between them needs to be defined.

Chandrasekharan and Rajagopalan proposed a non-hierarchical technique

ISNC (Ideal Seed Non-hierarchical Clustering) based on the evaluation criterion

“grouping efficiency” [41]. As explained in section 2.3, this parameter measures inter-

cellular movement and within-cell machine use. The same authors developed in 1987

a new algorithm: ZODIAC (Zero-One Data-Ideal seed Algorithm for Clustering)

which is a much more improved and expanded version of ISNC [43]. Srinivasan and

Narendran developed the GRAFICS method that generates initial seeds from an

assignment problem, which maximises the similarity between machines [257]. These

techniques generates not proper clustering criterion for ill-structured problems.

In the preceding approaches, many practical constraints that are important for a good

system design are not taken into account (e.g. the number of machines and parts in

3.1. CLASSIFICATION OF METHODS 33

a cell, capacities constraints, production volume, etc.). One of the possible reasons

for this situation is that the technique applied to solve the problem does not easily

allow consideration of many factors. Mathematical programming formulation is a

good alternative for the cell formation problem, because such problems can integrate

many important factors in the cost function and constraints [249].

Amongst these factors, we can cite operation sequences [224], alternative process

plans [146, 246, 211], cost [211], machine capacities [211], new equipment [243], lot

splitting [241], bottleneck cost [300] and exceptional elements [241].

These approaches are widely employed in the design of CMSs since they are capa-

ble of incorporating certain design requirements in the design procedure. The general

objective is to minimise or maximise a function subject to equality and inequality

constraints. Purcheck first applied linear programming techniques to solve a group

technology problem [207].

Mathematical programming methods can be further classified into four major

groups based on the type of formulation:

2. Linear and quadratic integer programming (LQP) ([146, 153, 47, 246, 131, 277,

300, 25, 306]).

Three critical limitations can be highlighted. First, because of the resulting non-

linear form of the objective function, most methods do not simultaneously group

machines into cells and parts into families. Second, the number of machine cells

must be specified in advance. Third, the variables are constrained to integer values.

Moreover, most of these models are computationally intractable for realistically sized

problems.

This approach treats the machines and/or parts as nodes (vertices) and the processing

of parts as arcs (edges) connecting these nodes. These models aim at obtaining

disconnected sub-graphs from a machine-machine or machine-part graph to identify

manufacturing cells and allocate parts to cells. The limitation of this method is that

machine cells and part families are not formed simultaneously.

Different methods are developed on the basis of graph theory. Rajagopalan

and Barta were the first to use graph theory to solve the cell formation problem

[210]. They used a machine graph where each node represents a machine and the

arcs specify the similarity (Jaccard’s similarity coefficient) among the machines.

An arc connecting nodes j and k is introduced in the graph only if the “similarity”

between the machines is greater than a pre-specified threshold value. This similarity

is evaluated depending on the number of parts using both machines. After all edges

have been computed, sub-graphs (cliques) are formed. These small cliques are then

merged to create machine cells minimising inter-cellular movements.

34 CHAPTER 3. LITERATURE REVIEW

0.14

3

1

0.14

1

0.17 7

0.75

0.17

0.33 0.17

6 5 0.75

0.5

0.4

2 0.75 4 C2

C1

Figure 3.2: Graph theory based on Jaccard similarity coefficient illustrated for the

example of Table 3.1.

heuristic solution for the CF problem. They adapted the Kernighan and Lin ([135])

graph partitioning method. They applied it in a two phases partitioning algorithm.

The first phase assigns parts to specific machines. The second phase groups machines

into cells. Kumar et al. solved the partitioning graph problem for a defined number

of groups and with a limit (minimal and maximal) on the cell size [143]. Askin et

al. used the graph theory after finding a solution based on the travelling salesman

problem [10]. The method used is the Hamiltonian chain. Srinivasan included the

minimum spanning tree in its resolution [256]. In the same idea, Chandrasekharan

and Rajagopalan demonstrated that the existence of independent machine cells and

part families could be represented by the disjoint components of the bipartite graph.

They determined the maximum number of disjoint components (clusters) that can

exist for any given bipartite graph [41, 43].

The limitation of these methods is that the cell and the family are not formed

simultaneously. With the graph theory, natural clusters can be formed since there is

not a a priori specification of the required number of clusters, and the approach is

more computationally and memory efficient [123].

For NP-hard optimisation problems, it is often impossible to apply exact methods

to large instances in order to obtain optimal solutions in acceptable time. Heuristic

search approaches have been introduced in designing CMSs as alternatives to math-

ematical programming approaches when computational time is prohibitive and/or

linear objective cannot be formulated. Metaheuristics are general frameworks for

heuristics for solving difficult optimisation problems (NP-hard problems). Meta-

heuristics are highly promising choices for obtaining nearly-optimal solutions quality

in reasonable time.

The term metaheuristic was first introduced by Glover and refers to a number

of high-level strategies or concepts of how to solve optimisation problems [75]. It

3.1. CLASSIFICATION OF METHODS 35

is somewhat difficult to specify the exact boundaries of this term. Voss gives the

following definition: A metaheuristic is an iterative master process that guides and

modifies the operations of subordinate heuristics to efficiently produce high quality

solutions. It may manipulate a complete (or incomplete) single solution or a collection

of solutions at each iteration. The subordinate heuristics may be high (or low) level

procedures, or a simple local search, or just a construction method [295].

The distinction can be done between constructive heuristics and local heuris-

tics. Constructive or construction heuristics are mostly used for creating initial

solutions in a very short time. These solutions can be used with other algorithms

which improve them iteratively, or even for exact algorithms as bounds. Constructive

heuristics usually work straightforward, i.e. once they make a decision to build up

a partial solution, and they never reconsider it. Because of their simple nature, the

computational complexity can usually be evaluated accurately. In many cases, not

only the complexity, but also the solution quality can be estimated [104].

In contrast to constructive heuristics which generate initial solutions for Combi-

natorial optimisation Problems (COPs), Local Search (LS) algorithms improve

existing solutions further by applying local changes. A local search algorithm starts

from a candidate solution and then iteratively moves to a neighbour solution. This

is only possible if a neighbourhood relation is defined on the search space. The final

goal is to reach the optimal solution, measured by an objective function. There is no

guarantee that the global optimum will be found. Basic local search terminates after

reaching the first local optimum in the optimisation process. It highly depends on the

initial solutions whether the global optimum can be found or not. Different methods

can be cited without describing: Variable Neighbourhood Search (VNS), Iterated

Local Search (ILS), Estimation of Distribution Algorithms (EDAs), Variable Depth

Search, Greedy Randomized Adaptive Search (GRASP), Very Large Neighbourhood

Search (VLNS), Scatter Search, and others [91].

There are many kinds of metaheuristics that are explained below: tabu search, al-

gorithms based on the processes of evolution in nature (including genetic algorithms,

simulated annealing, ant colony optimisation ...), etc. Neural network, memetic al-

gorithms, fuzzy logic, expert systems, formal logic are in the category of artificial

intelligence.

3.1.4.1 Metaheuristics

The metaheuristics includes different approaches:

• Tabu Search (TS) can be seen as a popular extension of local search [98, 163,

1, 299, 234]. TS is an heuristic approach that starts from an initial solution. At

each step the neighbourhood of the given solution is searched to find the “best”

neighbour. The new solution is set to be the primal for the next step. The

central component of TS is the Tabu List (TL). This TL enables to prevent

cycling, and to lead the search to “good” regions of the search space. The TL

contains a history of which solutions have been already considered in the past

with the attributes of forbidden solutions that have already been covered. The

new solution is usually chosen via a best improvement strategy, and in contrast

to classical Local Search, inferior ones are accepted as well as superior ones.

There are two ways to store information of the solutions in tabu list:

36 CHAPTER 3. LITERATURE REVIEW

tions are certainly not visited again. However, the drawbacks are the high

memory requirement which grows with parameter TL and the computa-

tional effort of verifying if a solution is in TL or not.

– Store solution attributes only: The more common strategy is to only store

solution attributes in TL. All neighbour solutions which contain a tabu

attribute are forbidden. To be precise, when moving from a position to

its neighbour, the changed attribute is stored in TL and thus a revert-

ing move is tabu for the next TL iterations. In contrast to the previous

approach, memory consumption and computational effort are significant

lower. However, a tabu attribute forbids lots of solutions, some of them

have possibly not considered at all. This makes the decision of choosing

the right TL more difficult.

species [283, 254, 120, 248, 322, 56, 38, 171, 193]. The basic techniques of the

GAs are designed to simulate the process of natural evolution, particularly the

principle exposed by Darwin of “survival of the fittest” [51]. Since in nature,

competition among individuals for poor resources involves the survival of the

fittest individuals and the extinction of the weaker ones. GAs solve linear and

nonlinear problems by exploring all regions of the search space and exponen-

tially exploiting promising areas thanks to mutation, crossover, and selection

operations. GAs represent an intelligent exploitation of a random search used

to solve optimisation problems. Indeed, GAs are randomised but the search is

not random. GAs exploit historical information to direct the search into the

region of better performances within the search space.

in annealed metals [262, 250, 222, 311]. SA mimics the process of cooling a

physical system slowly in order to reach a state of globally minimum potential

energy [176]. The stochastic nature of the algorithm allows it to escape local

minimum, explores the state space, and find optimal or near-optimal solutions.

In SA, a problem starts from an initial solution, and a series of moves (changes

in the values of the decision variable) are made according to a user-defined

annealing schedule. The energy level is brought down gradually by a slow

cooling process. To avoid freezing at a local optimum, the algorithm moves

slowly (with respect to the objective value) through the solution space. This

controlled improvement of the objective value is accomplished by accepting non-

improving moves with a certain probability, which decreases as the algorithm

progresses. It terminates when either the optimal solution is attained or the

problem becomes frozen at a local optimum, which cannot be improved.

The principal weakness of SAs is their easy convergence at local optima imply-

ing that they may not be able to explore the solution space and find the global

optima.

gorithm (MA) where he viewed MA as being close to a form of population-based

3.1. CLASSIFICATION OF METHODS 37

ble of performing local refinements. The term “meme” corresponds to a unit of

imitation in cultural transmission. MAs attempts to mimic cultural evolution.

MAs are EAs that apply a separate local search process to improve individuals

(i.e., improve their fitness by tabu search algorithm). Quite often, MAs are

also referred to in the literature as Baldwinian EAs, Lamarckian EAs, cultural

algorithms or genetic local search [190, 269, 111].

304].

[265, 271].

swarms [202, 129, 130].

sion, where objects within a neighbourhood of radius Re are hit by the shrapnel

[5].

erated and randomly sent to explore the feasible search space. Then a part (or all) of

these individuals are modified according to some predefined logic, in hope that they

collectively move toward the optimal point. These methods exploits neighbourhood

search. Consequently, definition of neighbourhood function affects the performance

of the method. Evolutionary algorithms use some kind of random search. This ran-

domness keeps the algorithm from being trapped in undesired local minima and lets

it explore the whole search domain for probable high-fitted areas.

The objective function may have several global optima, i.e. several points in which

the values of the objective function are equal to the global optimum value. Moreover,

it may have some local optima in which the values of the objective function are close

to the global optimum value. The rules to make involve the population of individuals

must orient the search to the global optimum.

These metaheuristics can easily be parallelised. That often makes possible highly

efficient optimisation algorithms for many areas of application.

A common drawback of these metaheuristics is that there is no guarantee for the

global best solution to be even local optimal. Therefore, many successful metaheuris-

tics for complex combinatorial optimisation problems additionally use hybridisation

to improve solution quality and/or running time. Metaheuristic are especially ef-

ficient when algorithms are combined with problem-specific heuristics, local-search

based techniques, approximation methods and exact techniques.

• Neural Network: Application of artificial neural networks to CF problems

has been proposed by Rao and Gu [215]. The artificial neural network mimics

the properties of human brain. The neural network is composed by processing

elements (neurons), highly interconnected, that process information by their

38 CHAPTER 3. LITERATURE REVIEW

steps: watch the organisation of the central nervous system, understand the

principle of its functioning (in the cell and the network of cells) and finally

simulate the organisation and the mechanisms observed in the functioning of

the central nervous system to develop learning algorithms.

Depending on the training methods used, these networks can be divided into

two categories: supervised and unsupervised learning. The learning is called

supervised when the feedback is external to the organism and the network

is forced to converge to a specific final state. For the cell formation, earlier

groupings need to be specified or presented during the training stage. These

networks can then be used as the basis for classifying new inputs. Several

researchers have applied a supervised learning approach to the classification and

coding problem based on the back-propagation learning algorithm [127, 124].

This method can be also applied to a production-oriented method to determine

the machine cells and part families.

In contrast, in an unsupervised learning, the network is allowed to converge

to any state. Without using existing classified data, unsupervised learning can

self-organize the presented data to discover common properties. Unsupervised

learning techniques are better suited for the general clustering problem. It is

not necessary to specify a priori the number of clusters or the representative

members of these clusters. Adaptive resonance theory (ART) [36] and its vari-

ants as Fuzzy-ART [284, 182] are unsupervised learning techniques and can be

classified as non-hierarchical clustering methods. Once the part families and

machine cells are determined, a supervised model can be trained to assign new

parts to the existing cells.

The advantages of using an ART network over other conventional methods are

its fast computation and the outstanding ability to handle large scale industrial

problems (10,000 parts and 100 machine types [158]). Kaparthi and Suresh

applied ART technique to three data sets in the literature as well as several

larger data sets. The artificial neural network technique executed quickly and

obtained good clusters [128].

• Fuzzy logic: The fuzzy logic (FL) is a form of multi-valued logic derived

from fuzzy set theory to deal with reasoning that is approximate rather than

precise. The FL provides a simple way to arrive at a definite conclusion based

upon vague, ambiguous, imprecise, noisy, or missing input information. FL’s

approach to control problems mimics how a person would make decisions, only

much faster. The FL was introduced in 1965 by Zadeh and used to solve cell

formation problems [319, 61, 209, 314, 320].

on the geometric features of the parts, characteristics of formed manufacturing

cells, parts functional characteristics and attributes, as well as domain specific

manufacturing knowledge. Elmaghraby and Gu presented an approach for

using domain specific knowledge rules and a prototype feature based modelling

system to automate the process of identifying parts attributes and assigning

the parts to the most appropriate manufacturing cell [65, 152, 20, 235].

3.2. GENETIC ALGORITHMS 39

language theory [309], complex patterns (routing sequences) are represented

as strings of primitive characters (machine identifiers). The grammar of the

language provides a set of rules for constructing complex sub-patterns and

patterns out of the primitives (simple primitives or prime sub-patterns) and for

identifying relations between these patterns. Given a set of complex patterns

and rules, the recognition process, i.e., the assignment of new parts to cells,

involves parsing the primitives. Advantages of syntactic pattern recognition

include cell formation taking into account material flow patterns, operation

precedence relations, and non-uniform importance of machines [266].

3.1.5 Conclusion

There is an extensive literature devoted to heuristic cell formation techniques however

most of them do not guarantee optimality and typically work exclusively with a part

machine incidence matrix. While some of these clustering algorithms offer superior

results for specific applications, no single technique has been shown to provide the

best solution for a broad range of applications [122].

Genetic Algorithms are very well known metaheuristics able to be applied to NP-

hard problems. As all metaheuristics, GAs are highly promising choice for obtaining

nearly-optimal solutions quality in reasonable time. As SAs, GAs are abundantly

applied in the literature to solve cell formation problems and industrial manufacturing

problems. In contrast to other stochastic search methods, GAs search the feasibility

space by searching feasible solutions simultaneously in order to find optimal or near

optimal solutions.

The followings section is devoted to genetic algorithm especially with a listing of

advantages and the state of the art of the GA applied to the cell formation problem.

3.2.1 Why a GA?

Goldberg [79] provides an interesting survey of some of the practical work carried

out in this era, e.g. mathematics, engineering, biology, and social science. GAs

having several applications to general optimisation and combinatorial optimisation

problems including set covering [23], Very-large-scale integration (VLSI) design [44],

flow-shop sequencing [216], facility layout [267], bin packing [107] and cell formation

problems [120].

The GA approach offers several advantages missing in many of the more tradi-

tional methods. The interested reader is referred to the comprehensive reviews by

Selim et al. and Joines et al. for more details [238, 123]. The main advantages are:

face, a genetic algorithm may offer significant benefits over more typical search

of optimisation techniques (linear programming, heuristic, depth-first, breath-

first, and praxis).

40 CHAPTER 3. LITERATURE REVIEW

problems and has a great contribution capability to generate good results. GAs

are better than conventional AI in that it is more robust [123].

variables used in the GA reduce the size of each problem.

• GAs do not make strong assumptions about the form of the objective function

as do many other optimisation techniques. Also, the objective function is in-

dependent of the algorithm, i.e. the stochastic decision rules. This offers the

flexibility to interchange various objective functions and to use multi-criteria

objective functions. The integer-based GA approach allows the system de-

signer freedom to substitute various types of evaluation functions, permitting

alternative designs to be generated and reviewed quickly.

• Contrary to the cluster methods requiring a visual analysis of the data and the

solution, the GA can group the parts and machines into families and into cells

(depending of the used coding).

• Most clustering algorithms cannot identify all naturally occurring clusters and

find solutions with a constrained number of clusters. In the GA, the designer

can incorporate or remove constraints on the number of permissible cells or part

families selectively. Unconstrained solutions containing the naturally occurring

clusters can be generated as well as constrained solutions.

multiple attributes such as machine cost, processing times, redundant machines,

alternative routings, etc. It eliminates the restriction imposed by most existing

methods that operate strictly on the machine/part incidence matrix.

• Industrial data sets are often too large for visual methods to associate machine

cells and part families effectively. GA capabilities make practical solutions to

industrial scale problems more realistic.

Genetic algorithms (GAs) are used to study the transformation of organisms in natu-

ral evolution to follow their adaptability to the environment. GAs were first developed

by Holland. GAs are abundantly applied in the literature to solve cell formation

problems [100].

Venugopal and Narendran were the first to apply GAs in solving an integer

programming formulation for a machine component grouping problem with multiple

objectives [283].

Joines [119] developed non-classical, array-based clustering techniques using

order-based genetic algorithms. The GA solves integer programming formulations

of the cell design problem, allowing multi-criteria objective functions and constraints

on the number of permissible cells. The algorithm was tested on 17 data sets from

the literature and was able to find as good solutions as, if not better than, those in

the literature.

3.2. GENETIC ALGORITHMS 41

movements in cellular manufacturing. They took into account the sequence of opera-

tions and compared single row and double row layouts. They focused on the minimum

acceptable level of machine utilization while selecting an assignment of parts to a cell.

Machine-cell-part-grouping problems are solved for two, three and four cells [90].

Joines et al. worked out an integer programming manufacturing model em-

ploying GAs. The formulation uses a unique representation scheme for individuals

(machine/part partitions) that reduces the size of the cell formation problem and

increases the scale of problems that can be solved. The process requirements are

described by the machine/part incidence matrix. The objective is to minimise the

inter-cellular movement of parts i.e. the number of exceptional elements [120].

Cheng et al. formulated the CF problem as a travelling salesman problem (TSP)

and proposed a method based on genetic algorithm [46].

Gravel et al. developed a GA for forming cells for parts with multiple routings.

Their approach used bi-criteria evaluation that considered the minimisation of inter-

cellular movements and within cell load variation. Their results were based upon a

case study that considered 15 machines and 30 parts [84].

Moon and Gen proposed a GA-based approach for designing independent cells

for parts with alternative process plans and took into account machine duplication.

This work formulated the problem as a 0-1 integer programming model, which iden-

tified part families and machine cells simultaneously and determined the process plan

for each part. A workshop with ten machines and seven parts was considered [180].

Plaquin and Pierreval developed a GA approach that considered four types

of constraint: maximum cell size; machines that must be located closely; machines

that must be separated; and key machines around which cells must be formed. Their

examples considered the organisation of 61 machines into seven cells [204].

Zhao and Wu presented a genetic algorithm for cell formation with multiple

routes and objectives [322].

De Lit and Falkenauer first solved the CF problem by a grouping genetic

algorithm (GGA) developed by Falkenauer. This GGA is an extension of general

GAs and is developed for grouping problems [56, 67, 28, 175].

Dimopoulos and Mort proposed a hierarchical clustering approach based on

genetic programming for the solution of simple cell-formation problems [60].

Onwubulo and Mutingi developed a genetic algorithm, which accounts for

inter-cellular movements and the cell-load variation [196].

Uddin and Shanker addressed a generalized grouping problem, where each part

has more than one process route. The problem is formulated as an integer program-

ming problem and a procedure based on a genetic algorithm is suggested as a solution

methodology. Uddin and Shanker (2002) used a similar approach than Moon and

Gen (1999) which was tested using three examples (4 machines with 5 parts, 6 with

10 and 20 with 20) [274].

Gonçalves and Resende presented a hybrid algorithm combining a local search

heuristic with a genetic algorithm. The genetic algorithm uses a random keys alpha-

bet, an elitist selection strategy, and a parameterized uniform crossover. They apply

the algorithm to a set of 35 GT problems and compare the “Group Efficacy” parame-

ter used to evaluate the diagonalisation of incidence matrix. The algorithm obtained

solutions that were at least as good as the ones found in the literature [83].

42 CHAPTER 3. LITERATURE REVIEW

Hu and Yasuda used a grouping genetic algorithm (GGA) to solve cell formation

problem minimising material handing cost with alternative processing routes [106,

315].

Chan et al. proposed a method to solve the machine-part grouping and the cell

layout in two stages. Two mathematical models are solved by a GA with the con-

sideration of machining sequence and production volume of each part. The objective

for machine-part grouping problem is to minimise both the inter-cellular and intra-

cellular part movements. While the objective for cell layout problems is to minimise

inter-cellular part travelling distance unit in macro-aspect. In the first problem, ma-

chine cells, part families and routing selection have been considered simultaneously

in cell formation process [40].

Tariq et al. developed a genetic algorithm to maximise the “Group Efficacy” for

a cell formation problem expressed by a incidence matrix [268].

Mahdavia et al. proposed a model based on a GA. They deal with the min-

imisation of EEs and number of voids in cells to achieve the higher performance of

cell use. The cell use concept is considered as the number of non-zero elements of

block-diagonal divided by the block-diagonal matrix size of each cell [167].

3.2.3 Conclusion

As explained here above, GAs have numerous advantages (as other metaheuristiques).

Despite their prevalence in the literature, the advantage of using GAs has been

questioned by Hicks [99]. The “No Free Lunch” (NFL) theorem of Wolpert and

Macready suggests that, on average, no stochastic search algorithm can outperform

another (including random search) when run over all problem instances. According

to this theorem, GAs are as efficient as other metaheuristic. The NFL theorem sug-

gests that it is important for researchers to compare their results with those obtained

using random search, it will be done in chapter 7 [305].

The GGA developed by Falkenauer is particularly adapted to solve the specific

structure of the grouping problems [67]. He used the GGA to produce highly efficient

solutions to a variety of sample problems from the literature. More details on this

choice are given in section 5.2.

3.3.1 Why multi-criteria?

Single-criteria objective functions limit the usefulness of the method. They assist the

cell designer in the conception rather than autonomously forming the system. To

move toward a satisfactory algorithmic result, multi-criteria objective functions that

include setup time requirements, tooling and crewing requirements, alternative rout-

ings, cost of machines, inter-cellular transfers, and reduced machine use are needed.

Different methods known to treat a multi-criteria problem are briefly described

here below following by an enumeration of all criteria found in the literature for the

cell formation problem. A review of the literature focused on the use of multi-criteria

methods in the genetic algorithm applied to the cell formation problem is presented.

For more information about the multi-criteria methods, the reader can read appendix

B.

3.3. CRITERIA / MULTI-OBJECTIVES 43

3.3.2 Methods

The purpose of all multi-criteria methods is to enrich the dominance graph, i.e. to

reduce the number of incomparability’s. When an utility function 2 is built, the multi-

criteria problem is reduced to a single criterion problem for which an optimal solution

exists [27].

One of the techniques used to aggregate the different objectives to form a single

one, is to compute a linear combination of the criteria values based on weights

and penalty functions (per instance, the weighted sum approach where the

values of the weights are generally difficult to determine and the results are

sensitive to these weights [70]). Once this cost function has been constructed,

a method is used to solve the problem by optimising this single function. This

type of solution works when the objectives do not compete, i.e. an improvement

of one criterion does not lead to the negative influence of any other criteria. This

technique is abundantly used in the literature, specifically when the function to

minimise is based on costs [163, 55]. In this case, the criteria are less conflicting

and a pondered sum is easy to apply.

• Goal programming:

The goal programming (GP) tries to minimise the set of deviations from pre-

specified multiple goals, which are considered simultaneously but are weighted

according to their relative importance. The method permits to reduce the prob-

lem to a single objective minimisation problem that can be solved by the tradi-

tional techniques of linear, non-linear, integer, or mixed integer programming.

Shafer and Rogers presented a goal programming model for dealing with

three objectives: minimising inter-cellular movements, minimising the invest-

ment in new equipment, and maintaining an acceptable use level. The proposed

goal programming model composes with the p-median method to specify part

families and the travelling salesman method to identify the optimal sequence

of parts. They also applied heuristic to solve real world problems [243].

The non-dominated points are solutions that are superior to the rest, when all

objectives are considered [255]. Dahel and Smith presented two bi-criteria

models (0-1 integer program) to group parts and machines simultaneously into

the number of cells selected by the cell designer. The objectives are the max-

imisation of the flexibility and the minimisation of the inter-cellular movements

[50]. The flexibility of a cell is measured based on the number of different parts

which could be managed by the cell. The constraint method is used for finding

locally Pareto-optimal frontier (introduced theoretically by Goldberg [79] and

succinctly explicated in appendix B.5.1). To group machines into cells, Pier-

reval and Plaquin [203] developed a niched pareto evolutionary algorithm

so as to optimise several criteria simultaneously. They use a new evolution-

ary operator for the recombination of solutions. Criteria can be minimised or

2

A mathematical expression that assigns a value to all possible choices [27]

44 CHAPTER 3. LITERATURE REVIEW

maximised. This new method has also the advantage of providing several solu-

tions, so that the final choice can be made by the decision makers. Mansouri

et al. developed a comprehensive mathematical model for the multi-objective

cell formation problem that considers simultaneous criteria: minimisation of

inter-cellular part movements, total cost of machine duplication and subcon-

tracting, overall machine under-use and deviation among cell-use. Solutions

were generated with a Pareto-ranking technique called XGA [170]. Bajestani

et al. developed a new multi-objective scatter search (MOSS) for finding locally

Pareto-optimal frontier. They solved a multi-objective dynamic cell formation

problem where the total cell load variation and sum of the miscellaneous costs

(machine cost, inter-cellular material handling cost, and machine relocation

cost) are to be minimised simultaneously [16].

Many methods are presented in the literature to help the designer to find a com-

promise between different proposed alternatives. When considering a discrete

set of alternatives described by some criteria, three strategies can be applied in

order to provide significant support to decision-makers [221]:

1. To identify the best alternative or to select a limited set of the best alter-

natives (choice strategy).

2. To construct a rank-ordering of the alternatives from the best to the worst

ones (ranking strategy).

3. To classify or sort the alternatives into predefined homogeneous groups

(classification strategy).

specific evaluation outcome. Both choice and ranking are based on relative

judgments and, therefore, the evaluation result depends on the set of studied

alternatives. In contrast, the decision-maker needs to perform absolute judg-

ments in taking a classification/sorting method. The classification/sorting of

the alternatives requires their comparison to some reference profiles that dis-

tinguish the groups.

In their complete review, Zopounidis and Doumpos presented a classification

of the models belonging to the three first strategies of MCDA [325]. Todd

[270] presented a good review of Multiple Attribute Decision Making (MADM)

methods which can be used to reduce the solution set to a single one (by

example UTA, TOPSIS, CODASID, etc.). Brans and Mareschal developed

a multi-criteria decision-aid method (Promethee) based on the principle of

the dominance relation proposed by Roy [27, 221].

The use of multiple objectives increases the complexity of the problem, limiting

the application of traditional optimisation methodologies to small-sized problems.

In addition, these methodologies (analytic and heuristics) do not provide a natural

mechanism for the simultaneous generation of multiple solutions.

Based on their reviews, Mansouri et al. and Dimopoulos clearly specify that

the majority of reported methods try to unify the various objectives in the form of

3.3. CRITERIA / MULTI-OBJECTIVES 45

a single objective [170, 58]. The final result of such an approach is a compromise

solution, but non-dominance is not guaranteed. Mansouri et al. proposed to explore

pareto optimisation through simultaneous consideration of various objectives, and

the ability to provide the decision-maker with a set of non-dominated solutions in a

reasonable computation time.

3.3.3 Criteria

Mansouri et al. presented a complete review of the modern approach to multi-

criteria cell design. They analyse a large panel of multi-criteria used for decision-

making. They made a comparison of inputs, criteria, solution approaches and outputs

across selected models [170]. In the following section, the set of different criteria found

in the cell design literature are classified. Different authors using at least two criteria

are cited as example for each category.

3.3.3.1 Cost

All costs are to minimise: fixed machine costs, material handling costs, work-in-

process inventory costs, production cycle inventory costs, variable production costs

and setup costs [8, 55], cost associated to machine duplication [8, 55] or investment

in new equipment [2, 243], cost associated to part subcontracting [144], material

handling cost (inter-cellular or intra-cellular movements of parts) [55], operation or

processing cost [2], bottleneck cost [144, 300], the spatial cost/Space usage, the an-

nual amortisation cost [163], the penalty cost for those operations that need to be

performed in cells other than the ones that they have been assigned, etc.

3.3.3.2 Similarities

based on their needed machines or based on their needed tools [279, 226], or sys-

tem efficiency (measure based on the degree of part similarities). Conversely, other

authors minimise the dissimilarity of parts based on the design and manufacturing

attributes or the dissimilarity based on the operation sequences [316].

3.3.3.3 Movements

The movements between machines and cells can be quantified when the sequence

of operations is used in the resolution. In this case, the grouping objectives can be

the maximisation of the cell independence by minimising inter-cellular movements

[162, 50] and/or maximising intra-cellular movements [162]. To simplify the transport

of parts between cells, the movements between cells can be preferred unidirectional

(criterion to maximise).

On the contrary, if the sequence of operations is not taken into account (with

incidence matrix by example), the maximisation of the cell independence will be

obtained in minimising the number of exceptional elements [142, 3, 171, 241] and/or

minimising the number of void elements [142].

46 CHAPTER 3. LITERATURE REVIEW

Workload balancing contributes to a smooth running of the system and better perfor-

mances in terms of throughput, makespan, flow time, and tardiness [137]. Balancing

workload reduces work-in-process inventory, improves material flow through the sys-

tem and prevents heavy use of some cells and lower use of others [22]. In the cell

formation problems, several authors try to minimise the intra-cellular and/or inter-

cellular load unbalances [162]. This criterion permits to maximise the average cell

use by minimising the sum of the workload variability in each cell and/or between

different cells [300].

3.3.3.5 Machines

When the authors work with the alternative routings, where the choice of machines

has to be done for each operation, several criteria can be minimise: the set-up times

(through parts sequencing) or the deviation between set-up time inside cells, the

deviation between operating cost inside cells, the deviation between machine use.

The objective can also be to maintain an acceptable machine use level, by minimising

the non-respect of the lower limit of machine use and by minimising the overstepping

of high limit of machine use [250, 55].

3.3.3.6 Flexibility

In cell formation problems, authors deal with four types of flexibility to maximise:

• the machine type flexibility corresponds to the ability of the machines grouped

into cells to process a large number of distinct operations types [240];

• the routing flexibility is the ability of the cell system to process parts completely

in multiple cells [11, 224, 50];

• the part volume flexibility corresponds to the ability of the cell system to deal

with volume changes in the current part mix (it is computed as the maximum

percentage increase in volume for all parts that can be handled without chang-

ing the system configuration [11]);

• the part mix flexibility represents the ability of the cell system to handle different

product mixes with minimum disruption [225].

3.3.3.7 Conclusion

A large diversity of criteria exists, and their use depends on the multi-criteria method

and the resolution method for the cell formation problem. The similarity coefficients

permit the grouping of similar elements together. All costs can be combined with

pondered sum for the mathematical programming methods. However, these data are

not always known. The movement evaluation and the workload balance are often

used in the same time with a multi-criteria decision aided method. If the objective

is the conception of a new factory with the less traffic as possible between the cells,

the use of movement and workload is really pertinent. These different criteria can

be improved by the use of alternative routings and process plans. Flexibility of

3.3. CRITERIA / MULTI-OBJECTIVES 47

it would be essential to quantify alternative process routes and flexible machining

processes. The flexibility of the system is highly preferred but having a maximum

of flexibility means a maximum of machines in each cell or double same machines in

each cells. This option is not realistic for the costs. However, from the viewpoint

of industrials, they want results in term of costs. So, it is interesting to include the

costs or a part of the costs in the resolution. But it is important to produce new

factory easy to manage and to be able to quantify the cost and the saved cost of

new installations. It is also important to maximise the use of machines for higher

efficiency considering the operation cost of machines. By minimising the non-respect

of use level fixed on the machines, flexibility and costs can be taken into account

without increasing strongly the data collecting from the industrial.

As explained in the advantages of GA in section 3.2.1, the approach of population in

GAs makes them highly suitable to be used in multi-objective optimisation. Schaf-

fer is the first one to use Genetic Algorithm with a multi-criteria function. After

his pioneering work, a number of studies on multi-objective genetic algorithms (GAs)

have been made since the year 1992 [231, 232]. Most of these studies are inspired

by the work from Goldberg[79, 103, 255, 70]. Later, a number of other researchers

have used implementations proposed in these studies in various multi-objective opti-

misation applications with success [49, 63, 177, 200, 301].

More recently, van Veldhuizen and Lamont[281] have made a survey of test

problems that exist in the literature. Deb [54] highlights a number of problem features

that may cause a multi-objective GA difficulty. He shows procedures of constructing

multi-objective test problems with controlled difficulty.

Fonseca and Fleming and Horn have presented overviews of different multi-

objective GA implementations [70, 101]. In the last years, we can cite many use of

multi-objective GA:

model (integer programming formulation) of the cell formation problem. The

volume of inter-cellular movements and the total within-cell load variation are

minimised. Multi-objective optimisation was performed manually by selecting

satisfactory solutions from the different sub-populations of solutions evolved

for each of the objectives [283].

GA to the block layout problem. The chromosome-coding scheme was based

on the slicing tree concept. The best solution is the one which minimises the

objective function [267].

• Gupta et al. developed a GA for machine part grouping problem with more

than one objective, which attempts to minimise total inter-cellular, intra-cellular

part movement as well as minimising cell load variation [90].

misation criteria [184]. They minimise total moves and cell-load variation like

48 CHAPTER 3. LITERATURE REVIEW

Venugopal and Narendran but they maximise also the machine similarity

[283].

• Gravel et al. proposed a bi-criteria model solved by a GA to find solutions

to cell formation problems with the presence of multiple routings [84]. They

worked with two objectives functions using a weighted-sum approach: minimi-

sation of the volume of inter-cellular movements and balancing of load among

machines in a cell.

• Moon and Gen used also a sum approach (minimising the sum of the ma-

chining and duplication costs) to evaluate the solution in their proposed GA

[180].

• A study dealing with multiple objectives, sequencing of operations and multi-

ple routes was made by Zhao and Wu. They presented a GA using special

operators to group machines into manufacturing cells. Several objectives have

been used: minimising the cost due to inter-cellular and intra-cellular part

movements; minimising the total cell load variation; and minimising excep-

tional elements. An evolutionary multi-objective optimisation algorithm with

typical real-valued representation attempted the simultaneous optimisation of

objectives through the use of a weighted-sum approach [322].

• Onwubolu and Mutingi used a GA to simultaneously group machines and

part into cells by minimising the inter-cellular movements and the cell load

variation. The designer is allowed to introduce a constraint in term of number

of cells required a priori and the lower and upper bounds on cell size [196].

• The Machine-Part Cell Formation (MPCF) developed by Filho and Lorena

is modeled as a bi-objective problem that guides the construction of feasible as-

signments of machines and parts to specify clusters, and provides an evaluation

of solutions [69].

• Mansouri et al. employed a multi-objective GA called XGA to provide the

decision-makers with Pareto optimal solutions. Their model aims to decide

which parts to subcontract and which machines to duplicate in a CMS where

some exceptional elements exist. The set of objectives are: minimising inter-

cellular movements; minimising the total cost of machine duplication and part

subcontracting; minimising the under-use of machines in the system; and min-

imising the unbalance of the workloads among the cells [171].

• Yasuda et al. presented a grouping GA to solve the multi-objective cell for-

mation problem. Processing time, production requirements, and available time

on machine in a given period have been considered for two objectives: inter-

cellular movements and cell load variation. The number of cells is not known

in advance [315].

• Dimopoulos developed a GP-SLCA, a hybrid genetic programming algorithm

for the solution of single-objective cell-formation problems. This methodology

provides to the decision maker a range of non-dominated solutions instead of

a single compromise solution. The methodology is illustrated on a large-sized

test problem taken from the literature [59].

3.4. HYBRID METHODS 49

3.3.5 Conclusion

As explained here above, it is recommended to include several criteria in the evalu-

ation process of a methodology. A lot of criteria exist and it is interesting to create

a method for which criteria can be easily changed and adaptable according to the

designer’s wish. If the multi-criteria decision aided method is included in the evalua-

tion process of the genetic algorithm, the method must order the solution to compare

them and apply the genetic operators. Because the method is called upon each time,

an evaluation of a population is needed; it is important for the method to be rapid. At

the end of the resolution process, several solutions could be presented to the designer

to let him a selection choice.

In this study, the Multi-Criteria Decision-Aid (MCDA) Method used is Promethee

that responds to this demand. This method completely described in appendix A will

be integrated in the Genetic Algorithm. The efficiency of this method has been proved

by Rekiek and Francq [217, 71]. The important feature proposed by Rekiek is

the integration of the (MCDA) method in the evaluation phase of the Grouping Ge-

netic Algorithm (Gga). Indeed, the Gga enables to scan all the interesting parts

of the search space. Rekiek used this method to solve a problem of assembly line

design. The same integrated method has been used and validated by Francq for a

structured search.

3.4.1 Why Hybrid Methods?

Most often, researchers have been focused on using machine-part incidence matrix

that provides only one fixed single route for each part which indicates the sequence

of machines used to process each part. This assumption obviously ignores real situa-

tions for which each operation of a particular part may be performed on alternative

machines. Parts always have more than one production routes. Moreover, the ex-

istence of functionally similar/identical machines leads to alternative routings that

can be used to obtain better cell design. Thus machine flexibility must be considered

while forming cells in order to make the problem more realistic.

Generally, the design of independent manufacturing cells may not be possible

without duplication of bottleneck machines, but at the same time, the duplication

requires additional capital investment. Although the design of independent manufac-

turing cells requires additional investment, the more simplified production planning

and scheduling functions might provide enough savings to justify them. Considering

that a part has two or more process plans and that each operation associated with a

part can be processed on alternative machines, it may be possible to design indepen-

dent manufacturing cells without much additional investments. Also, consideration

of alternative process plans may greatly improve the flexibility and the efficiency of

the grouping [146].

Kim et al. consider three types of flexibility in process planning in term of data

[138]:

• Operation or routing flexibility relates to the possibility of performing an oper-

ation on alternative machines, with possibly distinct processing times and costs

[159].

50 CHAPTER 3. LITERATURE REVIEW

quence in which manufacturing operations are performed.

manufacturing feature with alternative operations or sequences of operations

[24].

The first and the second type, respectively, involve alternative machines and al-

ternative sequences, but the operations to be performed are fixed. Allowing these

flexibilities can provide better performance in mean flow time, throughput, and ma-

chine use [159]. We can make the correspondence between these three flexibilities and

the definitions of alternativity presented in section 2.1.2.2. The operation flexibility

corresponds to the definition of a type of machine containing the set of machines

able to achieve the operation, i.e. the alternative process routes. The two other ones

require the use of the alternative process plans. If there are several ways to design

a product, different sequences of distinct operations can be proposed. Moreover, if

the precedence constraints in the product conception allow it, several sequences of

operations can be defined in switching the order of operations. The use of alternative

process plans does not make distinction between sequencing and processing flexibil-

ity. As explain in section 2.1.2.2, these routing and process alternativities increase

the number of ways to form manufacturing cells.

The choice of the good process for each part and the allocation of operations

(belonging to the chosen processes) to a specific machine represent a specific problem

of resource planning. The grouping of machines and parts into cells represents the

cell formation problem. With both problems, a question arises: how to solve these

two groupings and in which order? The resolution can be sequential, iteratively or

simultaneously. The sequential resolution finds a solution for the second problem

based on the result found for the first problem or conversely. When two problems are

inter-dependent, a good solution for the first problem does not imply a good solution

for the second problem. To avoid the inconvenient of the sequential resolution, the

iteratively resolution is based on several iterations of the sequential resolution. But

in this case, the second solution significantly depends on the first solution. Finally,

the simultaneous resolution permits to optimise both problems simultaneously with

each iteration, but it is more complex to solve.

The cell formation problem considering multiple process routings is also called the

Generalised Cell Formation Problem (GCFP) or Generalised Group Technology Prob-

lem (GGFP) [308]. As explained here above, the Generalised Cell Formation Problem

can be decomposed into two distinct sub-problems: Resource Planning Problem and

Cell Formation Problem. Many hybrid methods to solve the two sub-problems are

found in the literature. Different authors have discussed the necessity for considering

alternative process plans in designing manufacturing cells [146, 87, 213, 224].

The methods described in this section are separately between three categories

depending on the used routings and processes.

3.4. HYBRID METHODS 51

All authors of this section work with the routing flexibility in using duplicate ma-

chines, alternative machines for operations or machine types including several ma-

chines.

Rajamani et al. proposed a mixed-integer linear programming to simultaneously

group machines into cells and to assign operations to machines. They consider budget

and machine capacity constraints as well as routing flexibility [212]. The objective is

to maximise the total number of units produced in the cells subject to the machine

capacity and the operation budget constraints. To compute the cost, it is necessary

to enumerate the routes at each iteration. The author developed a new method in

1996 to remedy this shortcoming in Rajamani et al. [213]. This time, the objective

function is a cost minimising the sum of investments, operating and material costs.

A new heuristic methodology was proposed by Kang and Wemmerlow that

incorporates the concept of reallocating operations to alternative machines while

meeting capacity constraints. They determine machine cells first and then part fam-

ilies by considering routing flexibility. They use a clustering technique based on a

new similarity index. They use a sequence of machine type to characterise the parts

[125].

Logendran et al. presented two different heuristic based on a Tabu Search

approach. They considered alternative machines to achieve an operation of a part

(alternative routing). The method is decomposed into two sequential phases. First

one deals with the problem of determining the number of machines of each type

and a unique process plan for each part. In the second phase, the assignment of all

machines and parts to each cell is determined. They minimise the total annual cost

(sum of amortized cost of machines and total annual operating cost for processing

all parts) [163].

To solve large cell formation problem, Joines et al. developed a solution tech-

nique using GA. The cell design problem is formulated as integer programming model

and they have demonstrated the flexibility and extensibility of the GA approach by

considering routing flexibility [120].

Kazerooni et al. defined a two-stage approach using GA to cell formation design

considering alternative routing. In their research, the best alternative routing of each

part is determined first, on the basis of a similarity coefficient and optimised with

a GA. Part families and machine cells are grouped in second stage by another GA.

They minimise the final cost of the solution. The total cost is the sum of material

handling costs, operation and non-operation costs of machines (non-operation like

loading and unloading of parts), fixed machine costs and machine duplication costs

[133].

Heragu and Chen proposed a model for cellular manufacturing design where

three critical aspects are incorporated: resource use, alternative routings and prac-

tical constraints (lower and upper limit of cell size, collocation and separation con-

straints). The upper limit on the number of cells is not constrained. The algorithm

proposes the optimal number of cells. In 1999, they considered a probability that

a part uses an alternative routing. This assumption implies that the routing selec-

tion is fixed and known for each part. To take into account the alternative routings

for a part, they duplicate the part: each one uses a specific process with a specific

demand [95, 45]. The difficulty relative to the alternative process is removed. His

52 CHAPTER 3. LITERATURE REVIEW

model is limited to alternative routings and the authors do not consider the operation

sequence.

Solimanpur et al. developed a multi-objective integer programming model for

the design of a cellular manufacturing system. The objectives considered are the

maximisation of total similarity between parts, the minimisation of the total pro-

cessing cost, the minimisation of the total processing time and the minimisation of

the total investment needed for the acquisition of machines. An EA-based method-

ology was proposed for the solution of the computationally intractable mathematical

programming model [252].

Defersha and Chen proposed a comprehensive mathematical model for the de-

sign of cellular manufacturing system based on tooling requirements of the parts and

tooling available on the machines. Their model includes dynamic cell configuration,

alternative routings, lot splitting, sequence of operations, multiple units of identical

machines, machine capacity, workload balancing among cells, operation cost, cost of

subcontracting part processing, tool consumption cost, setup cost, cell size limits,

and machine adjacency constraints. They minimise the sum of all precitated costs

[55].

Jeon and Leep developed a methodology which can be used to form manufac-

turing cells using a new similarity coefficient based on the number of alternative

routes during machine failure, and the demand changes for multiple periods. The

methodology is divided into two phases. A new similarity coefficient, which consid-

ers the number of available alternative routes when available during machine failure,

is suggested in phase 1. The primary objective of phase 1 is to identify part fam-

ilies based on the new similarity coefficient by using a genetic algorithm. A new

methodology for the cell formation, which considers the scheduling and operational

aspects in cell design under demand changes, is introduced in phase 2. Machines

are assigned to part families by using an optimisation technique. This optimisation

technique employs sequential and simultaneous mixed integer programming models

for a given period to minimise the total costs which are related to the scheduling and

operational aspects [118].

Wu et al. developed a hybrid SA algorithm with a GA mutation operator for the

cell formation problem considering alternative process routings (routing flexibility)

[311]. The inter-cellular movements are minimised. With the use of an incidence

matrix, this criterion is expressed by maximising the grouping efficacy. They used

the similarity coefficient defined by Won and Kim to initialise the population with

a specific choices of routings [308]. In their algorithm, the number of cells resulting

in the best objective values is generated automatically. To preserve flexibility, users

are permitted to specify the preferred number of cells.

The methods given in this section deal with the processing flexibility in using several

enumerated routings or sequence of machines.

Kusiak proposed a p-median model to form a fixed number of part families based

on a similarity coefficient between process plans. Only one process is selected for each

part in this phase. Machines are then assigned to part families as in the case of the

single process plan in minimising the number of inter-cellular movements [146].

3.4. HYBRID METHODS 53

procedures. The first procedure, or external loop, uses chromosomes representing

the allocation of machines to cells (machine-cell chromosome). Each chromosome is

evaluated by a second genetic procedure, the internal loop, in which chromosomes

represent the allocation of parts to routes (part-route chromosome). At each itera-

tion of the first procedure, each cell produced in the external loop is thus evaluated

according to the best part-routing that can be found by the internal loop [84].

Nagi et al. proposed an iterative method combining a heuristic and the simplex

method. They consider multiple routes for each part, a maximum number of machines

by cell and machine capacity constraints. The algorithm iterates between two sub-

problems: selection of one process for each part and the machine cell configuration

[192].

The p-median algorithm, a mathematical programming approach, was extended

by Kusiak and Cho to include complete fixed alternative routes (routing flexibility)

[150]. They defined a similarity coefficient between process routings of parts. This

algorithm requires the representations of process route similarities on a transition

graph and then the partitioning of this graph to obtain part families.

Hwang and Ree proposed a hierarchical method that first selects process rout-

ings and then forms the part families based on the result of routing selection [108].

Lozano et al. developed an algorithm to solve hierarchically a cell design and

loading problem in presence of alternative routings. The resolution is decomposed

into cell design phase where the cell decomposition uses fully the routing flexibility.

This decomposition is optimised to exploit all routings of the parts. In the second

phase, the cell loading, a multi period horizon with variable demands is considered.

The model computes the quantity of each part that follows each alternative routes

in each period of the planning horizon. The objective is to minimise the total of the

transportation and holding costs while the machine and cell use are balanced [164].

Won and Kim presented an assignment model to maximise the sum of similarity

coefficients between process routings in the same family. Later, they [308] defined

the generalized machine similarity coefficient and used multiple clustering criteria

to effectively form machine cells with the lowest possible number of inter-cellular

flows. Their method, however, generates singleton machine cells or requires human

judgment in the solution procedure. Won used the generalised machine similarity

coefficient between machine pairs to propose two new p-median models [306, 307].

Zhao and Wu introduced a genetic algorithm using special operators to group

machines into manufacturing cells with multiple objectives: minimising cost due

to inter-cellular and intra-cellular part movements; minimising the total cell load

variation; and minimising exceptional elements. User-defined weights are used to

convert multiple objectives into a single objective. Part alternative routings (routing

flexibility) are considered at each iteration in selecting routes that minimise the cost.

They formed a directed acyclic graph to deal with the alternative processing routes

and adopted a dynamic programming to find the best processing route [322].

Caux et al. considered alternative routings, as several sequence of specific ma-

chines. He assumed that the number of machines for each machine type is known.

This method is based on an enumeration of all possible combination of routings.

But their model is not adaptable to alternative process, and the authors recognized

themselves that this approach is not ideal for large-scale problems [38].

54 CHAPTER 3. LITERATURE REVIEW

routings for parts, to group those parts into families, and to group machines into

cells simultaneously. The objective function is the minimisation of the transportation

costs. The problem is constrained by the cell size (minimum and maximum limits)

and machine grouping constraints (separation and collocation) [1].

Baykasoglu and Gindy presented a goal programming model to convert an

existing job shop to a cellular shop layout optimising several citeria: minimising extra

capacity requirements, maximising the cell flexibility (in maximising the number of

different machine types in each cell). They deal with routing flexibility and capacity

constraints [21].

In the same idea as Gravel et al., Vin et al. proposed a double multi-criteria

grouping genetic algorithm (GGA) in presence of alternative rountings (routing flex-

ibility). The principal GGA uses chromosomes representing the allocation of part

to machines (part-machine chromosome). Each chromosome is completed before the

evaluation by a second grouping genetic algorithm in which chromosomes represent

the allocation of machines to cells (machine-cell chromosome). At each iteration of

the first GGA, the secondary GGA is called when the part-machine chromosome has

been changed to reconstruct the best machine-cell chromosome [287].

Jayaswal and Adil developed a model to solve a cell formation problem by

minimising the sum of costs of inter-cell moves, machine investment and machine

operating costs. They incorporate operation sequence in inter-cell move calculations

and alternative process routings, cell size, production volume and allocating units of

identical machines into different cells. They combine simulated annealing algorithm

with local search heuristics to change the assignment of machines to parts [117].

Wu et al. developed a three-stage decomposition algorithm to solve the cell

formation problem considering multiple process plans (routing flexibility) and de-

composed into three sub-problems: the process plan selection, the parts assignment,

and the machines assignment. Among these three sub-problems, the determination

of part assignment consumes most of the computational effort and was hence solved

by a tabu search algorithm. In contrast, for the first and third sub-problems, sim-

ple heuristic approaches have been employed. The choice of process plan is made

randomly [310]. As Uddin and Shanker, the alternative process plans are defined

by two different columns in the machine-part incidence matrix [274]. The sequence

of operations is not used. The three sub-problems are solved in a sequential way

and an interactive procedure is used until a stopping criterion is met. To explore a

neighbourhood configuration, they change the current process plan to a new one.

The GGA proposed by Hu and Yasuda uses chromosome containing the infor-

mation about cells, machines by cells and parts by cell with a random selection of

the process routing. The operators are applied only on the cells. Machines and parts

are then adapted to make a valid solution [106].

Mahdavi et al. proposed a heuristic depending on the concept of “equivalent

part of a part-family” as Mahesh and Srinivasan [169, 168]. An equivalent part

of a part-family is defined by a single part representing the whole family wherein

all the operations of the whole family are presented, and its processing sequence

implies a unidirectional flow. Their method is based on iterative partitioning of sets

of operations and workstations. They deal with routing flexibility where the part

operations can be processed on alternative machines with different processing times.

3.4. HYBRID METHODS 55

The method has the advantage of fast and accurate computations and is efficient for

large-scale industrial problems.

This section presents the methods dealing with the routing flexibility and process

flexibility.

Choobineh is the first to solve a capacitated cell formation problem where

both alternative process plans and alternative routings are explicitly considered. He

grouped a similarity coefficient method and an integer-programming model. The dif-

ficulty of using this model comes from its use of an aggregate cost of producing parts

in the objective function, defined in terms of parts to cells prior to their design [47].

Ramabhatta and Nagi presented an integrated mathematical programming for-

mulation of the cell formation problem introduced by Nagi et al. [214, 192]. The for-

mulation includes long term production requirements, resource capacity constraints,

functional identical machines and alternative process plans in the cell formation prob-

lem. They used a Branch and Bound method to improve the solutions obtained by

Nagi in 1990. Ramabhatta and Nagi as Nagi et al. solve GCFP requiring a

complete enumeration of the possible routes [214, 192].

Moon and Gen proposed an approach for designing independent manufacturing

cells by maximising the total parts flow within cells. They worked with alterna-

tive process plans (process flexibility) and machine duplication (routing flexibility).

Several manufacturing parameters, such as production volume, machine capacity,

processing time, number of cells and cell size, are considered in the process. The

problem is formulated as a 0-1 integer programming model and solved using genetic

algorithm. This approach determines the machine cell, part family and process plan

for each part simultaneously. It can provide a best solution constantly, and is ex-

tremely efficient and flexible for solving large problems for cell design [180, 181].

Sofianopoulou used sequentially a simulated annealing procedure and a LP

model to select process routings for parts and to construct machine cells. He uses

routing flexibility and processing flexibility. Motivated by previous work, Spiliopou-

los and Sofianopoulou presented a bounding scheme that examines all combi-

nations of alternate routings and solves only a few cell formation problems, thereby

reducing the complexity of the solutions space [250, 253].

Uddin and Shanker developed a procedure based on a genetic algorithm (as

[84]) to solve generalised grouping problem where each part has more than one process

routes (routing flexibility). The problem of simultaneously assigning machines and

process routes (parts) to cells is formulated as an integer-programming problem.

The process route is defined by a set of visited machines with the processing time

associated to each machine. They do not define the sequence of operations. Therefore

the objective of minimisation of inter-cellular movements is achieved by minimising

the number of visits to various cells required by a process route for processing the

corresponding part. The cell size is constrained by a lower and an upper limit. At

the initialisation, a set of process routes is chosen randomly [274].

Mahesh and Srinivasan presented two methods (Branch and Bound and a

heuristic based on a multistage programming approach) to convert a job shop layout

to a cellular manufacturing. Production volume, processing time, operation sequence

and alternative routings are taken in consideration. For small problem sizes, both

56 CHAPTER 3. LITERATURE REVIEW

techniques are efficient. For large problem sizes, the computational time increases

rapidly for first method while the quality of the solution is really poor for the second

method [169].

Nsakanda et al. presented a comprehensive model to solve the machine allo-

cation problem and the part routing problem. Multiple process plans for each part

and multiple routing alternatives for each of those process plans are considered. The

part demands and machine capacities are taken into account. They propose a so-

lution methodology based on a combination of a genetic algorithm and large-scale

optimisation techniques. The objective is to minimise the total inter-cellular and

inter-cellular movement costs and the total outsourcing cost (expressed as a linear

sum). It should be noted that the methodology provides solutions that are only local

optima, as strict optimality cannot be guaranteed [193].

The literature cited above shows that several meta-heuristic approaches have been

used to solve the cell formation problem with alternative process routings. The set

of these 34 published articles dealing with alternative routings andor processes are

summarized in Table 3.7 with their corresponding used system features3 . All features

used for this comparative table are detailed in chapter 2 or in the previous sections

and briefly described here below. They represent the principal ones to take into

account when solving a Generalized Cell Formation Problem. These parameters are

separated into three categories: data parameters, flexibility parameters and resolution

methods:

1. Data

Machine Capacities (MC) Available capacities of the machines.

Operating Time (OT) Required time to achieve an operation on a ma-

chine.

Operation Sequences (OS) Sequence of operations required to construct a part.

2. Flexibility

machine type or a sequence of machines with ma-

chines replicated to define the process routes of

each part.

Process Flexibility (PF) Alternative process plans to produce each part.

Sequencing Flexibility (SF) Alternative sequence with different arrangements

of defined operations.

Routing Coexistence (RC) Alternative routing can exist in the same solution

(routing flexibility).

3

The reviews of Mansouri et al. and Defersha and Chen incorporate a wider range of input

data and cell formation criteria [170, 55].

3.4. HYBRID METHODS 57

3. Resolution methods

Multi-Objective (MO)

Large Scale Problems (0 if the authors enumerate all alternative rout-

ings) (LS)

Authors PV MC OT OS RF PF SF RC R MO LS

[146] - - - X X - - - H

[47] X X X X X X - - H

[192] X X X X X - - - I

[224] X X - - X - - X H

[150] - - - - X - - - I X

[212] X X - - X - - - S

[125] - X - X X - - - H X

[163] X X X X X - - - H

[120] - - - X X - - - I -

[108] - - - - X - - - H - 0

[133] X - X X X - - - H -

[84] X X X - X - - - I X 0

[95] X X - - X - - - ? - 0

[214] X X X X X - - - I 0

[45] - - - - X - - X H - X

[164] X X X X X - - X H - 0

[180] X X X - X X - - S X

[250] - - - X X X - - S 0

[38] - X - - X - - - S 0

[306] - - - - X - - - I X

[322] X X X X X - - - I X

[1] - - - X X - - - S - X

[22] X X X X X - - - S X X

[169] X X X X X - - - H - 0

[274] X X X - X X - - I -

[287] X X X X X - - - I X X

[117] X X X X X - - - I -

[252] X X X X X - - - S X X

[310] - - - - X - - - I -

[106] X - - X X - - - S - X

[55] X X X X X - - X S -

[118] X X X - X - - X H - 0

[168] X X X X X - - - I - X

[193] X X - X X - - I - X

[311] - - - - X - - - S -

This study X X X X X X X - S X X

Table 3.7: Attributes used in the present study and in a sample of recently published

articles.

In taking into account the production volume, it is possible to deal with the

capacity of cell formation and to use the machine capacities as constraint. The use

of operating times allows computing the correct allocation of operations on machine

in term of time. The operations sequences permit to insert the evaluation of the

movements between machines and cells.

58 CHAPTER 3. LITERATURE REVIEW

Dealing with routing, process and sequencing flexibilities allows the design of

independent manufacturing cells without much additional investment as explained in

section 3.4.1. Allowing the coexistence of alternative routings implies working with

a lot splitting.

The effective of the algorithm significantly depends on the used resolution strategy

(hierarchically, iteratively or simultaneously). Indeed, the allocation of operations on

machines and the cell formation problem can be solved successively, in one way or

inversely. Iterations can be applied on the previous strategy to improve the solution.

Therefore, the methods based on the simultaneous strategy will be preferred to make

the solution evolved on the basis of both problems. To create a flexible method

in term of evaluation, it is interesting to propose a method associated to a multi-

criteria evaluation. It is important that the method can solve large scale problems

to be applied to an industrial case.

In the comparative table, the cell with the symbol “X” means that the authors

deal with the feature, contrary to the symbol “−” meaning that the feature is not

used by the authors. If the cell is empty, the authors do not specify this feature. If

there is a 0 in the cell for the last criterion (LS), the author(s) enumerate(s) all the

routings and/or processes to deal with all alternatives (for instance, in the incidence

matrix or a similarity coefficient). The enumeration of all solutions implies that

the method tends to be very consuming of computational resources. For this last

feature, the hypothesis that the method is not applicable to large scale problem can

be reasonably assumed.

There are a lot of papers that treat the cell formation problem and propose new

methods to solve this problem with multi-criteria evaluation that are adaptable for

large scale problem. However, papers dealing with routing flexibility and relevance

for industrial problems are not frequent. Literature proposing solutions to solve

Generalized Cell Formation Problem with routing flexibility and process flexibility

are really lacking. The reason is that the complexity of the problem increases rapidly

with the use of alternative machines and alternative process. The size of the search

space is computed in section 4.4.1.

3.5 Conclusion

In this chapter, different resolution methods applied to the cell formation problem

have been presented. The advantages of the genetic algorithm have been high-

lighted compared to other methods. One of the advantages is the independence

of the evaluation process regarding to the resolution process. That permits to use a

multi-criteria decision aided method in the evaluation phase without difficulty. The

method Promethee has the ability to insert, modify or change the weight of each

criterion very easily. A great number of sequential or iterative methods have already

been proposed. A modification of one of both problems (Resource planning and

Cell Formation Problem) implies a reconstruction of the associated problem and a

modification of the evaluation for both problems. Both grouping problems are in-

terdependent, and the resolution should be simultaneous done to deal and improve

both problems together.

To be realistic and adaptable for industrial case study, it is important to take into

account the capacity constraints for the machines. This implies the use of volume

3.5. CONCLUSION 59

of production and the processing time for each operation. To evaluate correctly the

traffic between created cells, sequence of operations has to be taken into account. If

multiple processes and multiple routings can be planned for all parts, the possibility

to create independent cells is increased.

Based on these data and in regards to Table 3.7, the model that will be presented

in this study provides a larger coverage of the attributes than the individual papers.

This tool must be seen as a design tool to transform a job shop structure to a

cell manufacturing. The environment of work is static, i.e. the data is constant and

aggregated on a long term period. Since the modification of the structure in a factory

is a long and important process, the new arrangement must be concurred for a long

period.

Finally, the feature of “coexistence of alternative routings” will not be treated in

this study. Indeed, during the cell formation, nobody can say which batches of parts

has to be split and in which proportions. It is only in a dynamic environment and

on a short term period (for the resource planning and scheduling planning) that the

alternative routings can coexist in splitting the demand. In this way, a part can be

produced with an alternative route if the selected route contains a machine breakdown

or if the delay imposes a simultaneous production of two batches of parts. For this

reason, the constant demand can not be split and the coexistence of the alternative

routings is not taken into account during the resolution, but in the evaluation only.

60 CHAPTER 3. LITERATURE REVIEW

Chapter 4

Problem Formulation

the first level of the reorganisation. The approach defined in this thesis attempts to

determine simultaneously the manufacturing cells and the part family formations in

selecting the most suitable routings with several objectives, including minimising the

inter-cellular material handling effort. The solution must respect the cell size and

the machine capacity constraints.

the notations are firstly presented. In the notation section, the data is divided into

two parts: the elementary data mandatory to solve the cell formation problem and

the complementary data used to increase the complexity of the problem by intro-

ducing more information relative to the production or to the user’s requirements.

The mathematic formulation is proposed in the next section. All the equations (con-

straint, evaluation, etc.) are explained in the text. The no-interested reader can skip

the equations.

This chapter closes with the computation of the size of the search space. The exact

count of the solution for the cell formation problem is not found in the literature. A

new formula is proposed and explained. This section intends to explain difficulties in

evaluating the number of solutions in this problem and in enumerating these solutions.

These equations are presented, explained and illustrated. This section is not essential

for the comprehension of this thesis. These formulas are used in the resolution to fix

some parameters (see chapter 6).

61

62 CHAPTER 4. PROBLEM FORMULATION

4.1 Assumptions

The mathematical model presented in this section is developed under several as-

sumptions. These following assumptions are separated between those ones relative

to the usual data needed to solve the problem and those ones depended on the chosen

resolution. In this last case, an explanation is supplied to justify the choice.

When the method is oriented towards process/production flow, the following assump-

tions are usually made by the authors:

• each machine type can perform one or more operations (machine flexibility);

• each operation can be done by only one machine type with different times

(routing flexibility);

• the operating times for all operations on different machine types are known;

• the setup times are not considered individually but they are comprised in the

operating times.

In addition to the generally assumptions, the authors vary the particular assumptions

according to the used data to solve the cell formation problem. In this work, some

additional assumptions are made:

machines capacity are aggregated on a long term period;

• the number of cells is determined by the user and fixed during the resolution;

4.1. ASSUMPTIONS 63

In this study, the physically grouping of machines into independent cells is made

in a static environment on a long fixed period. This assumption contrasts to the

dynamic environment where the machine grouping is achieved on several periods

with a demand changing during these periods. As explained in section 2, in the

dynamic environment, the cells are changing during the period and can be adapted

to the changing demands. In this study, the assumption of the static environment is

based on the fact that the design of the factory is a long and expensive process. The

cells are created and formed once for a set of data. The future data (new commands,

new production parameters) must be adapted to the new cellular environment. This

assumption implies that, to create the cells, all production data associated to the

parts (demands, batches) and machines (total use) is determined and known for the

whole period. The machines are grouped on the basis of these aggregated data. In

this study, the real setup times, inventories and machine breakdowns are considered

during the planning and scheduling phases but not in the cell conception. However,

to take into account the setup times, the part demand is slightly increased by the

user.

In the proposed approach, the user must fix the maximum number of cells and

the maximum number of machines by cells. It is an assumption generally adopted.

Several authors do not use this constraint and allow the search of independent cells

independently of the number of the cells. However, in this case, the problem is not so

large and the search space is reduced by not using all the previous data (alternative

routings and processes, for instance).

The number of machines must be known a priori. These machines correspond to

the set of machines existing in the studied period. If the user wants to find solution

with more machines, these machines must be created a priori with their capability

and their availability. These machines will be differentiated from the existing ones

by a specific parameter to use firstly the existing ones.

In this static environment, the part demands could be split to use simultaneously

different processes for different batches of the part. The choice to forbid the lot

splitting and the simultaneous processes is made for reasons of complexity.

The alternative routings and processes are used to find the preferential routings

optimising the cell formation. As explained in the last comparative Table 3.7, the

complete alternative processes and routings are not often used in the literature. An

explanation can be found in the complexity of the problem when these alternatives

are considered. However, when a part is designed, a precedence graph is often used.

In this case, the only known information is the precedence constraints between oper-

ations to achieve the part. The use of the alternative processes and routings permits

to take this information into account.

These alternative routings are used to created independent cells and not to con-

struct flexible cells allowing a reorientation in case of problems. To construct flexible

cells permitting the reorientation of the parts inside the cells, each cell must contain

more than one machine of each type necessary to produce the part families. In this

case, the part will always be reoriented to another machine in the same cell if the

dedicated machine breaks down. To simplify the management of the production sys-

tem, we must define small independent cells dedicated to part families. These two

objectives are contradictory.

64 CHAPTER 4. PROBLEM FORMULATION

The dynamic flexibility will be evaluated at the final stage on the final solution,

and not in the cell formation stage. To take into account the dynamic aspect, a

degree of flexibility is imposed at each machine in introducing the high use limit (see

section 4.2.3.1). This is the only level of dynamic flexibility found in the resolution.

4.2 Notations

4.2.1 Indices

nt Number of Machine types.

nm Number of Machines.

np Number of parts.

nc Number of cells.

1, 2, .., npri .

1, 2, .., noik and q = 1, 2, .., noik .

In this section, the mandatory parameters are described. These parameters represent

the minimum ones to solve a problem of cell formation with capacity constraints. All

complementary parameters which can refine the resolution as cost, low and high

limits, etc., will be explained in the next section.

dm Availability of machine m.

For a given manufacturing system, a set of nT machine types {T1 , T2 , ..., TnT }

is defined. The machine type represents a capability, i.e. is the ability of a machine

type to perform a given set of operations. For each machine type, different default

characteristics are defined (such as availability) and a maximum number of machines

is specified.

4.2. NOTATIONS 65

Consider a set of nM available machines {M1 , M2 ,..., MnM } that will be used

to form manufacturing cells. Each machine m, unique, is characterised by a machine

capacity dm . This parameter represents the amount of the time that a machine of this

type is available for production. This value takes the possible failures into account.

Each machine belongs to at least one machine type. This parameter characterised

the ability of the machine to achieve all operations of this type. The machine can

also belong to several types if it is a multi-functional machine.

qi Quantity of part i.

We define the part mix as a set of np parts {P1 , P2 , ..., PnP } to be produced in

the studied period. The quantity of each part (qi ) in the part mix to be produced is

defined on the concerned period.

Each part i is defined by a set of npri processes (kth process for part i = a

sequence of nOik operations {Oik1 , Oik2 ,... , OiknOik }). The operating sequence is

an ordered list of operations that the part must have performed. Each operation is

not performed on one given machine, but is defined as an operation type that can

be accomplished on one machine type Tt (lathe, grinding machine, etc.). So each

operation can be performed on all machines belonging to its type.

The operating time is the time required by a machine or a machine type to

perform an operation on a part. This operating time can be fixed for the considered

machine type (average operating time, tikp ) and available for all machines belonging

to this machine type. This use is practical if all machines of a type are identical

(same characteristics). But the operating time can also be particularized to a specific

machine (operating time, tikpm). If there is no particular operating time for the

machine m, the parameter tikpm will be equal to the default value tikp .

This possibility permits to forbid the use of a machine belonging to the type of

operation. In this case, the particular operating time (tikpm ) will be equal to zero.

Moreover, this notation allows forcing the use of a specific machine that does not

belong to the required type. This option is necessary to apply the approach to all

case studies found in the literature where different definition of process and routing

exist.

4.2.2.3 Cells

nc Maximum number of cells.

To group machines into cells, the user must define the maximum number of cells

(nc ) allowed in the system. This parameter is function of fixed objectives as, for

example, the available space. If the user has no idea a priori of the number of

cells, he has to be able to test different alternative solutions and verify the impact

66 CHAPTER 4. PROBLEM FORMULATION

of this number on the final configuration and on the evaluation criteria. The second

important parameter to group machines into cells is the maximum size of each cell.

The maximum number of machines (mU B ) by cells must also be defined by the user.

The previous data are sufficient to solve a classical cell formation problem. Our

approach must be valid only with these data. The improved formulations presented

hereunder have not to change the validity of the approach. The approach must be

able to be applied at the majority of case studies in the literature. The formulation

of the problem must not be too complex and too restrictive.

llm Low use limit of machine m.

A low and high uses can be defined for each machine to take the user’s preferences

into account. As explained in section 2.1.3, many authors consider a fixed number of

machines for each machine type. In this approach, a machine type regroups a set of

machines that have the capabilities to achieve an operation of the considered type.

All these machines can be completely identical or different in terms of productivity,

cost, etc. It is more realistic to consider a set of different machines because the

acquisition of all machines is not done in a same time but results from a long period

of evolution and changes. All machines used in the actual job shop production are

considered with their characteristics.

The default data of each machine type permits to specify the characteristic once

for all machines belonging to the type. Indeed, when a value is needed for a machine

and this value is not determined for this specific machine, the value used will be the

one from the machine type. Depending on the maximum number of machines defined

for each machine type, the program generates the exact number of allowed machines.

Each of these created machines is only characterised by its machine type and all data

of this type. During the resolution, all machines are not used mandatory and their

uses are adjusted to improve the quality of the solution of the cell formation problem.

To treat a product needing more than one machine to achieve a particular op-

eration of its process, the proposed approach does not consider that two machines

are used to achieve one operation. When it is the case in the reality, the decision is

taken to use another machine grouped in the same cell or to make several shifts. As

the part demand is not split, the availability of a machine belonging to the required

type will be doubled or tripled to be able to achieve the operation.

To circumvent the difficulty of data collection, costs are taken into account

through a lower use limit (llm ) for each machine Mm . It is a fraction of the ma-

chine availability dm . The limit will be set near 100% if the machine is expensive

and its use mandatory. On the other hand, this limit will be lower than 50% if:

4.2. NOTATIONS 67

dm dm dm

um

dm.hlm dm .hl m d m.hlm

um

um

highly the cost (this helps creating independent cells).

A higher use limit (hlm ) is also defined for each machine. It is used to impose

some flexibility to the system: if there is a failure on a machine, the production can

be reoriented to non-fully loaded resources. If the user wants a high flexibility, he or

she will fix hlm at a relatively low value (70% for instance).

These two limits are not considered as hard constraints and may not be respected,

as illustrated in Figure 4.1. dm is the actual machine use, and a non-respect of these

limits is used in the evaluation of a proposed solution. The first drawing represents

an ideal case when the use is comprised between the low and high limits. The two

following cases are less preferable. The first represents a situation where the machine

has flexibility less than desired and the second illustrates the case of a non-profitable

machine. This machine will have a high non-use cost. If the user does not want to

work with these two limits, the default value will be used (hlm = 100%, llm = 0%).

bsi Batch size of part i.

The batch size of a part represents the quantity of parts to be transferred. This

parameter is used to quantify the transport of the parts (in batches) between machines

or cells. By default, the value is equal to the part demand.

To quantify the difficulty to transport a part between two machines or two cells,

we introduce a transport factor based on the Muther’s search [191]. This factor can

be specified for each part and must contain all difficulties relative to the transport

such as the size, shape, state, quantity, fragility, price, etc. This factor is comprised

between 0 and 1. The higher the factor, the greater the difficulty or the risk to move

the part.

To orient the grouping, the user can use a similarity coefficient (sij ) between parts

i and j. The approach uses a similarity coefficient between parts but does not specify

which coefficient must be used. So the user can define his or her specific similarity

coefficient depending on the wanted results (based on the process, shape, size, etc).

This coefficient will be used for the evaluation of the similarity between all parts

assigned to a machine.

68 CHAPTER 4. PROBLEM FORMULATION

4.2.3.3 Cells

lbc Lower bound use in cell c.

ubc Upper bound use in cell c.

An upper bound use can be defined specifically for each cell. By default, this value

is equal to parameter mub characterising all cells. The same way, a lower bound use

can be defined differently for each cell. The default value of lbc is equal to zero.

Both parameters lbc and ubc characterised the size of the cell. By default, this size

corresponds to the number of machines inside the cell. However, this maximum and

minimum size of each cell can be defined by different manners:

• the maximum number of machines by cells;

• the maximum number of employees dedicated to each cell;

• the maximum space available for each cell.

According to his or her wish, the user will chose the size adapted to his situation.

4.3.1 Decision variables

∗

yikpm = 1 if operation Oikp can be achieved on machine m (= 0 otherwise).

xik = 1 if process k of part i is used (= 0 otherwise).

yikpm = 1 if operation Oikp is achieved on machine m (= 0 otherwise).

zmc = 1 if machine m is in cell c (= 0 otherwise).

∗ =1

zic if part i is in cell c (= 0 otherwise).

These decision variables are illustrated with the following instance. When the

algorithm assigns an operation O123 to a specific machine M5 , variable x12 is put at

1 to specify that process 2 of part 1 is used in the solution. This variable implies

that all other variables x1j6=2 of the same part (P1 ) are put at 0. In this case, all

operations belonging to P1j6=2 cannot be used in the grouping solution. To complete

this notation, decision variable y1235 is also equal to 1. Decision variable zmc is used

to compute moves between cells as a function of the assignment of machines in each

cell.

The use (um ) of the machine m is updated during all the design process:

nP npr nOik

X Xi X

um = xik yikpm (qi · tikpm ) (4.1)

i=0 k=0 p=0

4.3.2 Constraints

The following constraints imposed in the model are presented in three categories: con-

straints on the data set and the input parameters, constraints during the treatment

and constraints on the final solution.

4.3. MATHEMATICAL FORMULATION 69

1. The cell size and the number of cells introduced by the user must be adequate

to contain all machines:

n C · mU B ≥ n M (4.2)

2. There must be sufficient machine capacity to produce the specified part mix.

3. The cell size must be specified. Upper and lower bounds can be used instead

of a specific number. These parameters can be different for each cell.

4. The number of cells nC in the system must be specified a priori. If the user

does not know exactly the number of cells and their size he or she wants, the

algorithm can propose different options of grouping by varying the number of

cells between nC − 2 and nC + 2.

erating time. Indeed, if a machine cannot achieve an operation, the operating

time tijkm of the operation Oikp on the machine m will be null:

∗

if(yikpm = 0) ⇒ tikpm = 0 ∀i, k, p, m

∗

if((yikpm = 1) and (tikpm = 0)) ⇒ tikpm = tikp > 0 ∀i, k, p, m (4.3)

∗

if(yikpm = 1) ⇒ tikpm > 0 ∀i, k, p, m

nP npr n

Oik

X Xi X

qi · tikpm · yikpm ≤ dm ∀m (4.4)

i=1 k=1 p=1

npr

Xk

xik = 1 ∀i (4.5)

k=1

3. The total number of machines allocated inside cell c must respect the lower and

upper limits:

nM

X

lbc ≤ zmc ≤ ubc ∀c (4.6)

m=1

70 CHAPTER 4. PROBLEM FORMULATION

The final solutions must satisfy the processing constraints and the last ones presented

here below.

nM

X

if (xik = 1) ⇒ yikpm = 1 ∀i, k, p (4.7)

m=1

nC

X

zmc = 1 ∀m (4.8)

c=1

nC

X

∗

zic =1 ∀i (4.9)

c=1

4.3.3.1 Traffic Inter and Intra Cellular

φ1mn Traffic from machine m to machine n expressed in terms of quantity to

produce on arrival machine n. For all used processes, the operating se-

quence of each parts is analysed and the traffic is sum if two consecutive

operations are assigned respectively to the machines m and n. Therefore:

nP npr nOik −1

X Xi X

φ1mn = xik · yikpm · yik(p+1)n qi · tik(p+1)n (4.10)

m6=n

i=1 k=1 p=1

batches pondered by the transport factor. For all used processes, the

operating sequence of each parts is analysed and the traffic is sum if two

consecutive operations are assigned respectively to the machines m and

n. We have:

nP npr nOik −1

X Xi X qi

φ2mn = xik · yikpm · yik(p+1)n · f ti (4.11)

m6=n

p=1

bsi

i=1 k=1

For the following expressions (traffic between cells, traffic intra and inter-cellular

and total traffic), the basic traffic between machines can be φ1mn or φ2mn according to

4.3. MATHEMATICAL FORMULATION 71

the designer’s wish. For all these expressions, a index i specify which traffic between

machines is used:

Φicd Traffic from cell c to cell d. This traffic is computed as the sum of all

traffics from a machine belonging to the cell c to a machine in cell d:

nM X

X nM

Φi cd = (zmc · znd ) φimn (4.12)

c6=d

m=1 n=1

Φiintra Intra-cellular traffic computed as the sum of the traffic between all ma-

chines belonging to the same cell:

nC nM nM

!

X X X

ΦiIntra = (zmc · znc ) (φimn + φinm ) (4.13)

c=1 m=1 n=m+1

Φiinter Inter-cellular traffic computed as the sum of the traffic between all ma-

chines belonging to different cells:

nC X

nC nM nM

!

X X X

ΦiInter = (zmc · znd ) (φimn + φinm ) (4.14)

c=1 d=c+1 m=1 n=m+1

Φitot Total traffic in the system computed as the sum of the traffic between

machines allocated to all cells:

nM

X nM

X

ΦiT ot = (φimn + φinm ) (4.15)

m=1 n=m+1

The matrices φi is of dimension nM , while the matrices ΦiIntra , ΦiInter and ΦiT otal

are of dimension nC .

1 if machine m is used by part i, 0 otherwise;

72 CHAPTER 4. PROBLEM FORMULATION

( P Pn

npri Oik

1 if k=1 x ik · p=1 y ikpm >0

Imi = (4.16)

0 otherwise

nM X

X nP

e= Imi (4.17)

m=1 i=1

matrix I. The element Imi is on the diagonal if machine m and part i

belong to the same cell c. Therefore:

nC

" nM X

nP

!#

X X

∗

e1 = (zmc · zic ) · Imi (4.18)

c=1 m=1 i=1

diagonal blocks of incidence matrix I). This number is equal to the num-

ber of elements (0 and 1) on the diagonal blocks minus the number of

ones on the diagonal blocks (e1 ):

nC

" nP

! nM

!# nC

" nM X

nP

!#

X X X X X

∗ ∗

ev = zic zmc − (zmc · zic ) Imi (4.19)

c=1 i=1 m=1 c=1 m=1 i=1

outside the diagonal blocks of incidence matrix I). This number is equal

to the total number of ones in the matrix (e) minus the number of ones

on the diagonal blocks (e1 ):

e0 = e − e1

"n n # nC

" n n !#

XM XP X XM XP

∗

e0 = Imi − (zmc · zic ) Iim (4.20)

m=1 i=1 c=1 m=1 i=1

Γ Group Efficacy:

e − e0

Γ= (4.21)

e + ev

4.3. MATHEMATICAL FORMULATION 73

4.3.3.3 Similarity

N Om Number of operations assigned on machine m:

nP npr nOik

X Xi X

N Om = xik yikpm (4.22)

i=1 k=1 p=1

Smn Similarity between machine m and machine n based on the similarity be-

tween parts. This coefficient is high if the parts assigned to both machines

are similar. We have:

PnP Pnpri Oik nP Pnprj

i=1 k=1 xik p=1 yikpm j=1 l=1 xik q=1

jl

yjlqn · Sij

Smn = (4.23)

N Om · N On

on the parts assigned to both machines (computed with the incidence

matrix):

PnP

i=1 Imi · Ini

SJmn = P nP mn (4.24)

i=1 ai

where

(

0 if Imi = Ini = 0

amn

i =

1 otherwise

between parts. This coefficient is high if all parts assigned to this machine

are similar. We have:

(Smm · N Om − 1) N Om

Sm = PN Om −1 (4.25)

2 · p=1 p

all machines allocated to this cell:

PnM PnM

(zmc · znc ) · Smn

Sc = m=1 n=m+1

Pn M (4.26)

m=1 zmc

74 CHAPTER 4. PROBLEM FORMULATION

the similarity between all machines inside the cells:

PnC

c=1 Sc

S= (4.27)

nC

W Lc Workload of the cell c evaluating the total charge assigned to this cell:

nM nP npr nOik −1

X X Xi X

W Lc = zmc · xik · yikpm · qi · tik(p+1)n (4.28)

m=1 i=1 k=1 p=1

W L∗c Workload of the cell c evaluating the total number of operations assigned

to this cell:

nM nP npr nOik −1

X X Xi X

W L∗c = zmc · xik · yikpm (4.29)

m=1 i=1 k=1 p=1

UW L Unbalance workload between the cell with maximum workload and the

cell with minimum workload:

U W L∗ Unbalance workload between the cell with maximum workload and the

cell with minimum workload in term of number of operations:

4.3. MATHEMATICAL FORMULATION 75

4.3.3.5 Flexibility

OHLm Overstepping the high limit of use for machine m:

um − dm · hlm

OHLm = max 0; (4.32)

dm − dm · hlm

PnM

m=1 OHLm

OHL = (4.33)

nM

4.3.3.6 Costs

U LLm Under-filled the low limit of use for machine m:

dm · llm − um

U LLm = max 0; (4.34)

dm · llm

PnM

m=1 U LLm

U LL = (4.35)

nM

A decision aided model will be used to solve these following objectives:

Minimise 4.31, 4.33 and 4.35

subject to 4.4, 4.5, 4.6, 4.7, 4.8 and 4.9.

In this model, the objectives to maximise are:

• the similarity between parts assign to a machine (in order to minimise the setup

time).

76 CHAPTER 4. PROBLEM FORMULATION

These objectives are reached under the capacity constraints (4.4 and 4.6) and

assignment constraints (one process by part (4.5), one machine by allowed operation

(4.7), one cell by machine (4.8) and one cell by part (4.9)).

If N SRP and N SCF represent respectively the number of solutions for the resource

planning problem and for the cell formation problem, the size of the complete search

space, N S, containing both problems is the part of both:

4.4.1.1 Notations

nM Number of machines.

nP Number of parts.

nOik Number of operations belonging to kth process of part i.

nMikp Number of machines that can achieve the pth operation belonging to kth

process of part i.

4.4.1.2 Definitions

To evaluate the search space, it is necessary to enumerate the number of possible ways

to assign all operations to a specific machine. Depending on the level of alternativity,

low or high, the number of ways can be counted. Based on the values found in the

literature, several hypotheses are made:

• For all parts, there are between one and three alternative processes (npri ).

four machines.

• The number of machines belonging to each machine type is on average equal

to nM /nT .

Without the knowledge of the exact number of machines by machine type, the number

of solutions can be approached with the following formula:

nP npr

!

Y Xi nM nOik

N SRP = (4.37)

nT

i=1 k=1

4.4. SIZE OF SEARCH SPACE 77

The formula 4.37 expresses the average number of solutions in considering that

each operation can be achieved by nnM T

machines. In this case, the number of solutions

is computed for each part in summing the number of solutions for each process

belonging to the part because the choice must be made between each process. The

total of solution is the part of the solution for each part because all the solutions of

a part can be associated with all the solutions for the other parts.

If the number of machines that can achieve each operation (nMikp ) is known, the

exact formula (4.38) can be computed:

nP npr nOik

Y Xi Y

N SRP = nMikp (4.38)

i=1 k=1 p=1

For each process, the part of the number of ways to achieve each operation is

computed.

4.4.1.3 Applications

Formula 4.37 is applied on a medium case study containing 30 parts, 21 machines

that are to be grouped into 3 or 4 cells. Each process is formed by 6 operations.

Different situations are presented from low to high of alternativity.

machine type and each part is defined by only one process. There is just one

way to allocate each operation on a specific machine.

30

Y

N SRP = (1)6 = 1 (4.39)

i=1

2. In presence of alternative process, each machine type contains just one machine.

But each part is characterised by two processes. For each part, the choice

between these two processes must be done.

30 2

!

Y X 6

N SRP = (1) = (2)30 = 1.0737 × 109 (4.40)

i=1 k=1

For each part, the choice must be done between two machines for each of the 6

operations belonging to the process.

30

Y 30

N SRP = (2)6 = (2)6 = 1.5325 × 1054 (4.41)

i=1

machine type, the number of ways to solve the resource planning problem is

30 2

!

Y X 30

N SRP = 26 = 2 × 26 = 1.6455 × 1063 (4.42)

i=1 k=1

78 CHAPTER 4. PROBLEM FORMULATION

by machine type, the number of ways explodes to

30 3

!

Y X 30

6

N SRP = 4 = 3 × 26 = 4.8454 × 10122 (4.43)

i=1 k=1

As shown by this instance, the number of ways to solve this problem is really

huge. The situations given as example are computed with the average formula 4.37

where each process has the same number of operations (6). If this is not the case,

this formula gives a good approximation of the number of solutions.

To evaluate the exact number of alternatives for the Resource Planning Problem,

it is necessary to count the number of alternative machines available to achieve each

operation and the number of operations for each process. The size of the search space

presented in the chapter of case studies (8) is evaluated in checking all processes and

all operations for each part. The formula 4.38 is then used.

4.4.2.1 Notations

nM Number of objects to group.

nC Number of groups.

mU B Maximum number of objects to group into cells.

nR Number of free places into the cells (nR = nC × mU B − nM ).

The mathematical model presented in the previous section 4.3 incorporates pre-

determined constraints on the number of cells, nC . Venugapal and Narendran

showed that the number of ways to group nM machines inside exact n cells is given

by the Stirling number of the second kind [282]:

Pc

c−j c nM

nn o j=1 (−1) j j

M

= S (nM , c) = (4.44)

c c!

where jc is the combination Cjc = (c−j)! c!

j!

However, the number of cells is usually not known in advance. If the number is

not defined a priori, the total number of ways to group nM machines in any number

of cells (between 1 if every machine is assigned to the same cell to nM if each cell has

only 1 machine) explodes to:

P

n n C c−j c nM

C

X nM n o X C

j=1 (−1) j j

= (4.45)

c c!

c=1 c=1

For instance, to allocate 10 machines into 4 cells, there are only 34,105 distinct

partitions. This number increases to 45,232,115,901 approximately, if 20 machines

are to be partitioned into 4 cells, which is a combinatorial explosion.

4.4. SIZE OF SEARCH SPACE 79

order to maintain tractability. This decision can be based on several factors such as

total number of machines to be assigned into cells, physical constraints on the shop

floor such as the available space, and labour relation issues [90]. Wemmerlov and

Hyer studied 32 US manufacturing firms. They reported that the average size of

the cells managed by men was 6.2 machines. The second largest size of a cell was 15

machines (the largest is 40 machines). The smallest typical cell size for a cell was 2

machines. These values can orient the user in the choice of the cell size [302].

In this study, the number of cells (nC ) must be introduced a priori, but the maximum

cell size (mU B ) must be also specified. With these constraints the precedence formula

is not correct. There is no formula in the literature permitting to count the number

of solutions to group nM machines in nC cells with a maximum cell size mU B .

To count the number of available solutions, the combination operator is used.

The binomial coefficient Cnp defines the number of p-combinations (each of size p)

from a set with n elements (size n). In other words, this coefficient represents the

number of ways to select p objects in a set of n objects without taking into account

the order of selection.

n Apn n!

= Cnp = = (4.46)

p p! (n − p)! p!

This combination operator is used to select mU B machines for each of nC cells. If

nM is equal to the maximum availability of the cells (mU B × nC ), the number of ways

to group nM machines into nC cells containing maximum mU B machines is given by:

QnC −1 mU B

i=0 C(n M −i×mU B )

(4.47)

nC !

The factor nC ! at the denominator represents the number of permutations of

the nC groups if all groups contain the same number of machines. However, if the

constraint about the number of machines (nM = mU B × nC ) is not respected, this

formula is not correct. There are two problems in using this formula.

Firstly, if nM < mU B × nC , all cells will not be identical. In this case, the number

of combinations in the formula 4.47 must not be divided by “nC !” representing

all the permutation of nC groups. Indeed, if mU B × nC − nM = 1, one cell will

contain mU B − 1 machines and nC − 1 cells will contain mU B machines. The total of

combinations will be divided by (nC − 1)! to compute the number of permutations

of the nC − 1 cells containing the same number of machines. The term to use at the

denominator will depend on the size of the different groups.

Secondly, in using the formula 4.47, the last group will contain the minimum of

the objects. Indeed, in the part of combination, a group of mU B objects is created

with the leaving objects. For instance, if 21 (nM ) machines must be grouped in 4

(nC ) cells with maximum 6 (mU B ) machines, the formula will be:

Q4 6

i=0 C(21−i×6)

6 × C6 × C6 × C6

C21 15 9 3

= (4.48)

4! 4!

80 CHAPTER 4. PROBLEM FORMULATION

1 1 0

1

2 0 0

nR=3 2

1 0 0

3 0 0 0

Duplicated

Group 1 Group 2 Group 3 Group 4 combination

Figure 4.2: Spanning tree enumerating the possible instance for a repartition of three

free places in 4 groups (nR = 3)

This formula gives the number of solutions to group 21 machines in 4 cells with

one cell of 3 machines. This is limited and not correct because the denominator

would have to be “3!”. The solutions where two or more cells have one or more free

places are not included in this count. It is also important to note that the term C63

has no solution because it is impossible to make a group of 6 objects with 3 objects.

But in this equation, this term must be equal to “1”.

To define a generalised formula, it is necessary to enumerate the number of pos-

sibilities to distribute the machines through all the cells without filling the first cells.

To make this repartition and to write a formula available for all number of ma-

chines, a new parameter is introduced: nR . This parameter defines the number of

free places in the cell configuration. nR is equal to the difference between the to-

tal capacity of the cells and the number of machines. For the previous instance,

nR = mU B × nC − nM = 6 × 4 − 21 = 3.

Working with the nR free places rather than with the nM machines permits to

generalised the formula for any number of cells (nC ) and for any maximum cell

size defined by the number of machines (mU B ). For each distribution, the number

of possible combinations to assign nM machines to nC cells can be computed by

following the repartition of nR free places.

Figure 4.2 illustrates the set of possible distributions for nR = 3 with a simply

graph tree. The nR elements are distributed from 1 to 3 in the first cell. For the

next cell, the remaining free places are assessed until all nR elements are assigned to

a cell. The next cells are then completely filled up with mU B machines.

There are three ways to distribute the 3 nR elements of the instance:

1. The first cell contains 1 free places: In this case, the first cell contain 6 − 1 = 5

machines while two ways can be met for the last two free places.

• The second cell contains 1 free place: The second cell will contain 5 ma-

chines as for the third cell containing also 1 free place. The vector rep-

resenting the number of machines by cell is equal (5, 5, 5, 6). This vector

can be written in term of free places as on Figure (1, 1, 1, 0)

• The second cell contain 2 free places: The second cell will contain 4 ma-

chines. All free places are distributed and the last two cells will contain

4.4. SIZE OF SEARCH SPACE 81

6 machines. The vector of machines by cell is (5, 4, 6, 6). This vector can

be written in term of free places (1, 2, 0, 0).

2. The first cell contain 2 free places: The first cell contains 5 machines while the

second cell will contain the left free place (4 machines) and the two last ones

will contain 6 machines. The vector of machines is (4, 5, 6, 6) while the vector

of free places is (2, 1, 0, 0).

3. The first cell contains 3 free places: the first cell contains 6 − 3 = 3 machines

while the three other cells contain 6 machines. The vector of machines is

(3, 6, 6, 6) while the vector of free places is (3, 0, 0, 0).

mU B , the vector of free places is available for any of these parameters. The number

of grouping combinations is just function of the repartition of the nR elements.

In analysing the graph and the vectors of free places, three observations can be

made.

1. If the number of cells (nC ) is lower than nR , several repartitions are not al-

lowed. In the example, if the number of cells is limited at 2 (nC = 2), the first

repartition (1 1 1 0) must be eliminated.

empty cells are allowed. Thus, the fourth distribution is available only if nR

is lower than mU B (nR < mU B ). On the contrary if nR ≥ mU B , the fourth

distribution allows a solution with a number of cells equal to nC − 1.

(2 1 0 0). One of them must be eliminated from the set of solutions. Thus,

the following rule must be respected: the enumeration of the solutions can not

contain an increasing repartition of the nR elements. A valid repartition is

defined as an ordered decreasing list of the nR elements.

Indeed, the repartition of the nR elements will define the factorial term to di-

vide the total of combinations. The Qmdenominator composed by the total number of

permutations is equal to the part k=0 ñCk ! where ñCk defines the number of cells

UB

Before writing the generalised formula, the enumeration of the solutions for the

instance of 21 machines to group in 4 cells of 6 machines can be made. The use of the

tree with the different repartitions of the free places permits to write enough easily

the number of ways to group the machines following these repartition. If the cell size

is limited to 6 machines with 4 cells, nR = 3. On the basis of the spanning tree of

Figure 4.2, the different possible repartitions of the three free places are:

• 1110

• 2100

• 3000

82 CHAPTER 4. PROBLEM FORMULATION

The formula to count the number of ways to group 21 machines in 4 cells with

maximum 6 machines would have to give:

5 × C5 × C5 × C6

4 × C5 × C6 × C6

C21 16 11 6 C21 17 12 6

NS = +

3! (1110) 2! (2100)

3 × C6 × C6 × C6

C21 18 12 6

+

3! (3000)

4.4.2.4 Definitions

The equation 4.46 is available only when p ≤ n because the factorial of a negative

number does not exist. A new parameter, C̃np , is introduced to take into account

this last constraint. Indeed, in the enumeration of all combinations, the last term

computed for the last group can be considered as a not full group. In this case, the

number of ways to chose p objects among n (n < p) to create this last group is equal

to 1.

p

p Cn if (p ≤ n)

C̃n = (4.49)

1 if (p > n)

To take the different distribution of the free places into account, a recursive formula

must be written. A new grouping combination parameter must be defined. This

parameter must take into account:

• the previous left free places to respect the rule of the valid repartition.

(n ,m )

The grouping combination parameter, G(n,n

C UB

R ,nR− )

, defines the number of combi-

nations to group nM objects into maximum nC groups with a maximum size of mU B

objects by group. The grouping combination parameter is computed recursively.

mU B −1

min nR ,n − !

R (m −i)

(nC ,mU B )

X C̃nMU B (nC −1,mU B )

G(nM ,nR ,nR− )

= × G(nM −(mU B −i),nR −i,i)

(4.50)

ηi

i=1

In the formula 4.50, nR represents the number of free places to distribute among

the cells. nR− corresponds to the number of free places in the previous cell (used for

the recursivity in creating a repartition of the nR elements in a decreasing order).

nM

The term C̃(m U B −i)

represents the number of ways to create the first group with

4.4. SIZE OF SEARCH SPACE 83

(mU B − i) objects, i.e. containing i free places. The right term computes all the

combinations to group the nM − (mU B − i) remaining objects into nC − 1 groups

with the same maximum size. The nR − i left free places will be distributed among

the next cells remembering that the structure of free places is decreasing (nR− = i

to keep the information on the number of free places used in the actual cell). The

sum is made from 1 to the minimum between mU B − 1, nR and nR− to share the nR

left free places between all groups without exceeding the maximum size of the group

(mU B − 1) and without increasing the repartition of free places. If the term mU B − 1

is replaced by mU B , the empty cells are allowed in the enumeration of all possible

combinations. The term ηi is a parameter without value to specify that the cell is

created with i free places.

The number of solutions available for the cell formation problem search space

containing nC cells, nM machines and a maximum cell size equal to mU B (nR =

nC × mU B − nM ) is:

(n ,m )

C

N SCF = G(nM UB

,nR ,nR ) (4.51)

In the formula 4.51, nR− is equal to nR because the repartition of the nR free

places is made in a decreasing order in beginning by the a cell with the maximum

nR . The decomposition with the recursive formula 4.50 must be done until all nR

(n ,mU B )

elements are assigned into a cell. The final term of the recursive function (G(nCM ,0,n −)

R

(1,m )

or G(nM ,n

UB

R ,nR− )

) can be computed by the properties defined here below. When

decomposition is completed, the parameters ηi can be transformed by the following

formula:

(ηi )k = k! ∀i (4.52)

This notation permits to use the recursivity without computing a factorial term

before the end of the decomposition.

4.4.2.6 Properties

• if nR = 0 ⇒ nM = nC × mU B and ∀nR−

QnC −1 mU B

(nC ,mU B ) i=0 C̃(n M −i×mU B )

G(nM ,0,nR− ) = (4.53)

(η0 )nC

• if nC = 1 and nM ≤ mU B

(1,m )

UB

G(nM ,n R ,n

= C̃nmMU B = 1 (4.54)

R− )

• if nC = 1 and ( nM > mU B or nR ≥ mU B )

(1,m )

UB

G(nM ,n R ,n

=0 (4.55)

R− )

The first property defines the recursive formula 4.50 in the particular case where

there is no free place to distribute among the cells. In this case, the formula 4.47 is

84 CHAPTER 4. PROBLEM FORMULATION

available. This formula defines the number of ways to group nM machines into nC

full cells with mU B machines.

The second property defines the only way to select mU B machines among nM

machines (nM ≤ mU B ).

The last properties specifies the impossibility to group nM machines in the last

cell if this number nM or the number of nR elements exceed the maximum size of

the cell.

4.4.2.7 Applications

The Generalised Formula 4.51 is developed for the cases where nR = 0 to nR = 3 in

appendix D. In this section, the Generalised Formula 4.51 is applied for the example

used in section 4.4.1 with 21 machines.

If the number of cells is set to 3 and the cell size is limited to 5 machines, nR = 0

and the number of ways to group 21 machines into 3 groups of 7 machines is:

Q3−1 7 ! !

i=0 C̃(21−i×7)

7 · C̃ 7 · C̃ 7

C̃21 14 7

N S(nR = 0) = =

3! 3!

(0000)

!

21! 14!

· · 1

= 14!7! 7!7! = 3.99 · 108

3!

If the cell size is limited to 6 machines with 4 cells, the number of free places is

equal to 3. Following the repartitions of Figure 4.2, the different possible repartitions

of the three free places are (1 1 1 0), (2 1 0 0) and (3 0 0 0). The number of ways to

group 21 machines into 4 groups of 6 machines is:

3

!

(6−i)

(nC ,mU B ) (4,6)

X C̃21 (3,6)

N S(nR = 3) = G(nM ,nR ,nR− ) = G(21,3,3) = × G(21−(6−i),3−i,i)

ηi

i=1

! !

5

C̃21 4

C̃21 3

(3,6) (3,6) C̃21 (3,6)

= · G(21−5,2,1) + · G(21−4,1,2) + · G(21−3,0,3)

η1 η2 η3 | {z }

(1...) (2...)

nR =0 (3...)

! Q2 6

!

i=0 C̃((18)−i · 6)

5 C̃ 5

C̃21 (2,6) C̃ 4 C̃ 5 (2,6)

3

C̃21

= · 16 · G(11,1,1) + 21 · 17 · G(12,0,1) + ·

η1 η1 η2 η1 | {z } η3 (η0 )3

(11..) (3000)

nR =0 (21..)

Q1 6

!

C̃ (5) C̃ 5 C̃ 5

i=0 C̃(12−i · 6)

4

C̃21 C̃ 5

(1,6)

= 21 · 16 · 11 · G(6,0,1) · 17 ·

+

η1 η1 η1 | {z } η2 η1 (η0 )2

(2100)

=C̃66 (nR =0)

(1110)

Q2 6

! !

i=0 C̃(18−i · 6)

3

C̃21 5 · C̃ 5 · C̃ 5

C̃21 16 11

+ · = · C̃66

η3 (η0 )3 3!

(3000) (1110)

4.5. CONCLUSION 85

! !

6 · C̃ 6

C̃12 6 · C̃ 6 · C̃ 6

C̃18

4 5 6 3 12 6

+ C̃21 · C̃17 · + C̃21 ·

2! 3!

(2100) (3000)

! !

21! 16! 11! 21! 17! 12!

16!5! · 11!5! · 5!6! 17!4! · 12!5! · 6!6!

N S(nR = 3) = +

3! 2!

(1110) (2100)

!

21! 18! 12!

· ·

+ 18!3! 12!6! 6!6!

= 2.776 · 1010

3!

(3000)

For this example, the size of the cell formation search space is equal or really lower

than the size of the resource planning search space (equation 4.40 to 4.43) depending

on the rate of alternativity used in the case study. The proportion of these two search

spaces will be used in the resolution (see chapter 6).

4.5 Conclusion

In this chapter, the mathematical model proposed in this thesis is presented. Different

assumptions and notations are described in order to understand the next section.

The mathematical formulation is presented after detailing the decision variables, the

constraints and the evaluation functions. The two main criteria used in the next

chapters are the maximisation of the intra-cellular flow and the maximisation of

the group efficacy. This parameter permits to evaluate the diagonalisation of an

incidence matrix in computing the number of elements outside the diagonal blocks

and the number of voids (holes) inside the diagonal blocks. Finally, the size of the

search space is evaluated and a generalised formula is provided to enumerate the

number of solutions to group nM machines to nC cells with a capacity constraints

for the cell size.

86 CHAPTER 4. PROBLEM FORMULATION

Chapter 5

Methodology

In this chapter, the methodology used to solve simultaneously the three problems (the

process selection, the resource planning problem and the cell formation problem) is

presented. This method is based on the genetic algorithm. For this reason, the main

components of the genetic algorithm are firstly presented to make the reader familiar

with the different concepts. The Ga adapted to the grouping problem and using

multi-criteria is succinctly described. A complete description is available in appendix

B.5. Next, the evolution of the methodology is explained through three different

methods. Only the final method will be completely described in the next chapter

6. However, these three methods will be compared in the chapter 8 presenting the

results, so it is necessary to explain these methods in this chapter.

5.1.1 Definition of Genetic Algorithm

The genetic algorithms (GAs) are an optimisation technique inspired by the process

of evolution of living organisms [100]. The basic idea is to maintain a population of

chromosomes, each chromosome being the encoding (a description or genotype) of

a solution (phenotype) of the problem to solve. The worth of each chromosome is

measured by its fitness, which is often simply the value of the objective function of

the corresponding point in the search space defined by the (decoded) chromosome.

GAs are a successful optimisation method for three main reasons [79]:

1. Their flexibility to combine them with specific heuristics adapted to the given

problem.

rather than a local one in the solutions space.

to any kind of cost functions (continuous, discrete, single criterion or multiple

objectives).

As explained in section 3.2.1, Genetic Algorithms have become popular for finding

“good” solutions. These good solutions can be sub-optimal to many types of problems.

87

88 CHAPTER 5. METHODOLOGY

The main components of Genetic Algorithms defined by Aytug et al. are pre-

sented here below [14]:

cluding binary digits, lists of integers, floating points and strings. Gas use a

parameter coding rather than the parameters themselves, i.e. Gas do not have

to know the meaning of the parameters.

somes may be generated randomly or problem specific knowledge can be used

to construct the chromosomes. In using a specific heuristic to construct the

population, the probability to generate good solutions in the initial population

is increased. Gas work on a population of solutions and not on a single solution

in order to explore a larger portion of the search space.

measure the fitness (the worth) of each chromosome. The function does not

need to have any special analytical properties.

select chromosomes to expose to genetic operations. Several approaches have

been used:

This approach also called fitness proportionate selection selects chromo-

somes in accordance with their fitness. A pocket of the wheel is assigned

to each chromosome. The size of this pocket is proportional to the prob-

ability of selection of the solution. The chromosomes with a high fitness

have relatively high probability to be selected, whereas chromosomes with

low fitness have small probability.

• The “tournament” approach.

An alternative is the “tournament” approach that proceeds by comparison.

k individuals (k ≥ 2) are randomly set against each other; the chromosome

with the highest fitness survives to the next generation while all others

return to the old population. This process is applied until the wanted

number of chromosomes has been selected.

• The “elitist strategy”.

This strategy always selects a specified number of the fittest chromosomes

through to the next generation.

• The adaptive strategies.

The values of the Ga parameters change during the generations, for ex-

ample, the level of mutation may be increased to augment the diversity of

the population [109].

• The random selection.

A random selection has also been used widely.

5.2. GROUPING GENETIC ALGORITHM ( GGA) 89

Mutation the “exploration operator”, which tends to move the search to a new

neighbourhood;

Crossover the “focusing operator”, which helps the Ga move towards a local

or global optimum.

Crossover tends to make the individuals within the population more similar,

whereas mutation tends to make them more diverse [109].

Pongcharoen et al. described sixteen different crossover operators and eight

alternative mutation operators that were used for scheduling the production of

complex products in the capital goods industry [205].

• a defined level of fitness is reached;

• a fixed duration of time is elapsed;

• the diversity of the population goes down below a specified level;

• the solutions of the population are not improved during t generations.

7. Ga parameter settings.

Gas depend on a number of parameters, including the probabilities of crossover

and mutation, the population size and the number of generations. These pa-

rameters can have a large influence on the performance of Gas. Aytug et

al. specified that most of the research has failed to explore systematically the

settings of Ga parameters [14].

Gas use probabilistic transitions and not deterministic ones. For the same

instance of a problem (same initial conditions and data), the results may be

different after two different runs, except if a similar generator of random values

is used.

Falkenauer pointed out the weaknesses of standard Gas when applied to grouping

problems, and introduced the Gga, which is a Ga heavily modified to match the

structure of grouping problems. Those are the problems where the aim is to group

together members of a set (i.e. find a good partition of the set) [67]. The Gga

operators (crossover, mutation, and inversion) are group-oriented. A description of

the Gga encoding and operators is available in appendix B.4.

In the literature, his technique has been applied to problems such as bin pack-

ing [66], machine-part cell formation [28], and line balancing [68]. These successful

applications of Gga demonstrate the potential of this solution methodology. How-

ever the fact that other researchers have solved similar problems with a standard Ga

raises questions regarding which type of algorithm performs better when faced with

a grouping problem.

Brown and Sumichrast analysed 10 machine-part cell formation (MPCF) test

problems and compared the performance of Ga and Gga. They showed that the

90 CHAPTER 5. METHODOLOGY

Population

initialisation

Evaluation :

Cost function

Genetic operators

no

Stop condition

GGA yes

One solution

Gga finds solutions that are as good as the best known solution to eight out of the

10 MPCF problems. For all test problems, the Gga finds solutions within 1.5% of

the best known. These high-quality solutions are found quickly (slightly more than 2

min for the largest problems) after at most 50 generations. For comparable solution

times, the Ga solutions are much lower in quality. Even when the Ga is allowed to

run 30 min, solution quality is consistently inferior. The largest problems imply the

greatest difference between the qualities of the solutions [29].

The algorithm presented in this thesis is completely inspired by the Gga. How-

ever, the method is adapted to solve several problems simultaneously. The flowchart

of the Gga is represented in Figure 5.1. The basis is exactly the same as for the Ga

but the coding and the operator are adapted and group oriented.

Applying Gas to multi-objective problems addresses two difficult topics: searching

large and complex solution spaces and deciding among multiple objectives. The

selection of a solution from a set of possible ones on the basis of several criteria can

be considered itself as a delicate and intriguing problem. A discussion on this topic

is available in appendix B.5.

As explained in the state of the art (see chapter 3), the basic idea and the most

popular approach consists in using a pondered function for the evaluation. This

method presents some limitations if the criteria are contradictory. To avoid this issue,

some searchers proposed methods based on a uni-criterion function and providing

a set of solutions. A multi-criteria decision aided method is then applied to the

set of solutions to isolate the best compromise as shown right of Figure 5.2. The

disadvantage of this method is that the set of solutions is produced on the basis of

a simple criterion. Nothing permits to assert that these solutions would provide the

best possible compromise. A reject solution might have given a better compromise.

To come out of the multiple objectives problem stated by the cost function and

5.3. MULTIPLE OBJECTIVE GROUPING GENETIC ALGORITHM ( MOGGA)91

Population Population

initialisation initialisation

Evaluation:

Evaluation:

Multi-criteria

Cost function

Decision aided

Integration

no

no

Stop condition Stop condition

Multi-criteria

Decision aided

Solution

Figure 5.2: Solution selection for multiple objectives: classical Gga versus Mogga

integrating search and decision making.

to merge the search and the multi-criteria decisions, the idea proposed by Rekiek

[217] was to insert a multi-criteria decision aided method inside the Gga, in the

evaluation module. The proposed selection approach gave birth to Mogga as il-

lustrated in Figure 5.2. The multi-criteria decision-aid method used by the author

is called Promethee II [27]. This method permits the building of an outranking

between different alternatives. Thanks to Promethee, the population evolves at

each generation to the best compromise between all criteria.

The principle of the integration developed by Rekiek is used in this thesis in the

same way as the Mogga. The multi-criteria decision aided method inserted in the

evaluation module is Promethee as Rekiek and Francq [217, 71].

The complete description of this method is out of the scope of this thesis and

detailed in appendix B.6 . It is however important to know that it computes a net

flow φ which is a kind of relative fitness for each solution. This “fitness” yields a

ranking, called the Promethee II complete ranking, among the different solutions

in the population. The relative importance of the different objectives is set thanks

to weights associated with each criterion. An essential feature of these weights is

that their influence is independent from the evaluation of each criterion. Indeed, the

outranking or outranked character of each solution is computed thanks to a mapping

of the criteria evaluations onto [0, 1], through preference functions used to establish

in-two comparisons between alternatives for each criterion. So for a given set of

preference functions, weights set to (0.5, 0.5), for a problem with two criteria, means

that both criteria are given the same importance, irrespective of the exact nature of

their underlying evaluations.

92 CHAPTER 5. METHODOLOGY

Thus, the solutions are not compared according to a cost function yielding an

absolute fitness of the individuals as in a classical Ga, but are compared with each

other thanks to flows, depending on the current population. The use of Promethee

in the Gga permits to order all the chromosomes according to their quality. The

selection method used in the Mogga is the tournament selection. This method is

especially effective when the solutions are ordered. The Simogga developed in this

thesis is strongly inspired from the Mogga developed by Rekiek.

The cell formation problem defined in the previous chapter is broken down into three

distinct sub-problems:

• The selection of the preferential process for each part (process selection prob-

lem, P S);

with several constraints and several criteria, RP );

• The grouping of machines into independent cells (cell formation problem with

several constraints and several criteria, CF ).

The objective of this research is to adapt a Gga to solve these three sub-problems.

Two principles have been tested.

CF-module to complete the RP solution with a CF solution;

planning problem and the cell formation problem.

The selection process problem is included in the resource planning problem for

the first method. These methods will be analysed and the results will be compared

in the chapter 8.

As explained in the state of the art (section 3.4), the basic method to solve two

dependently problems was to solve the first problem and then apply a heuristic on

a set of found solutions. As presented in the previous section for the Mogga, the

method applied a posteriori on a set of solutions can be inserted in the algorithm

and applied at each iteration (see Figure 5.3).

The embedded module inserted in the Mogga is the first method developed in

this work. In the integrated module, several solutions are possible. Two methods

have been developed and will be used to compare the results:

CF-heuristic to complete the RP solution with a CF solution;

5.4. PROPOSED SOLUTIONS - METHODOLOGY 93

Population Population

initialisation initialisation

Evaluation : CF

Multi-criteria embedded module

Decision aided

Evaluation:

Multi-criteria

Genetic operators

Decision aided

Integration

no

Stop condition Genetic operators

RPMOGGA yes

no

Stop condition

Set of solutions

RPMOGGA

with integrated CF yes

CF-module Solution

Solution

RP-Population

CF-Heuristic initialisation

CF-embedded

module

CF-Population

initialisation Evaluation :

Multi-criteria

Decision aided

Evaluation:

Multi-criteria

Decision aided

RP

Genetic operators

CF CF-embedded

Genetic operators module

no

no

Stop condition Stop condition

CF-MOGGA yes RP-MOGGA yes

Solution Solution

94 CHAPTER 5. METHODOLOGY

CF-Mogga to complete the RP solution with a CF solution;

There are two different ways to embed these two sub-problems. The first solution

consists of allocating the operations on a machine and in embedding a module to

group the machines into cells. The second solution consists of grouping the machines

into cells and then in embedding a module to allocate operations on these machines.

The size of the search space between both problems has directed this choice. The

cell formation problem is easier to solve with a heuristic compared to the resource

planning problem whose search space is broader. The proposed algorithm is then

based on the first solution. It allocates all generic operations on specific machines,

which yields flows between them, and then, searches for a grouping of these machines

to minimise the inter-cellular traffic. This is also the method that will be manually

chosen by the designer, as it is more visual. The whole problem is solved with an

adapted Mogga (RP-Mogga), whose flowchart is illustrated in Figure 5.4, with an

embedded cell formation module.

The complete process of the RP-Mogga with an embedded CF module is pre-

sented in Figure 5.5. During the initialisation phase of the RP-Mogga, a population

of N RP-chromosomes is created. Each RP-chromosome represents a valid solution

for the resource planning problem i.e. a solution of allocation of operations on specific

machines, including the choice of processes. The embedded CF module is run for each

RP-chromosome to complete it with a CF-solution. At the end of the initialisation

phase of the RP-Mogga, each RP-chromosome includes solutions for both prob-

lems (RP and CF). The associated CF-solution will be used to evaluate the complete

solution. However the RP-Mogga works only with the RP-chromosomes.

The population of valid solutions is evaluated based on several criteria. Each

chromosome composed by a solution for both problems can be evaluated with any

criteria relative to the RP solution (e.g. similarity criterion) or CF solution (e.g.

flow criterion) because the integration of the embedded module is done before the

evaluation. All the RP-chromosomes are ranked using the multi-criteria decision-aid

algorithm (Promethee II) (see appendix A).

At each iteration of the main loop (RP), the Mogga evolves the solutions in using

the genetic operators on the RP-chromosomes. A sort is applied on the chromosomes

to order them. With the tournament selection, the best chromosome will be always at

the top of the list. The top 50% chromosomes will be used as parents for the crossovers

and the resulting children (offspring) will replace the bottom 50% chromosomes.

The mutation is used to explore the search space. The new individuals are then

incorporated into the original population. When a RP-chromosome is altered by the

genetic operators, the CF-module is called to reconstruct an adapted CF-solution to

complete the RP-chromosome with a new solution of machines grouping into cells.

If the RP-chromosome is not changed, the CF-solution will not be replaced. The

loop of RP-Mogga finishes when the termination criterion defined by the user is

reached.

The embedded CF module is a cell formation heuristic. This module completes

each RP-chromosome with a “good” grouping of machines into cells. This approach

5.4. PROPOSED SOLUTIONS - METHODOLOGY 95

RP-MOGGA

RP-population

RP-initialisation

RP-chromosome 1 CF CF-solution 1

RP-chromosome 2 CF CF-solution 2

......

......

RP-chromosome i CF CF-solution i

......

......

RP-chromosome N CF CF-solution N

RP-Evaluation

Multi-criteria decision

aided

RP-crossover

RP-parent i RP-offspring i CF CF-offspring i

x

RP-parent j RP-offspring j CF CF-offspring j

RP-mutation

RP-chromosome k RP-offspring k CF CF-offspring k

no Stop condition

yes

generation. However, the CF-heuristic will not complete the RP-chromosome with

the best CF-solution in terms of flow criterion but only with a good CF-solution.

Moreover, if the CF-heuristic is really efficient in terms of flow, the RP-Mogga

will not propose a good compromise with all other criteria if those are antagonist.

For example, defining the best CF-solution in terms of flow, the complete solution

(RP+CF) will not be the best compromise for the cost or flexible criterion. To

complete the RP-chromosome with the CF-solution providing the best compromise

between all criteria used in the RP-Mogga, the cost function used in the CF module

must include the same criteria as in the Mogga.

96 CHAPTER 5. METHODOLOGY

Input:

RP-chromosome ii CF

CF-MOGGA

CF-population

CF-initialisation

CF-chromosome 1

CF-chromosome 2

......

CF-chromosome j

......

CF-chromosome N

CF-evaluation

Multi-criteria decision

aided

CF-genetic operators

CF-crossover

CF-parent 1 CF-offspring 1

x

CF-parent 2 CF-offspring 2

CF-mutation

CF-chromosome CF-offspring 2

CF-reconstruction

Stop condition no

yes

Best CF-chromosome

Copy

Best CF-chromosome

In CF-solution i

5.4. PROPOSED SOLUTIONS - METHODOLOGY 97

not really efficient. However, this method permits to have a good idea of the future

solution in a very short time.

The objective is to construct a method to solve two interdependent problems opti-

mising several criteria based on both solutions. As concluded in the previous section,

the embedded module must include an evaluation with the same criteria as the main

loop of RP-Mogga to construct a CF-solution optimised for the set of criteria. The

second solution to solve this problem is to use another Mogga in the embedded

module. This solution can be seen as a double loop Mogga. The first loop (main

loop) treats the RP problem. The second loop (embedded loop) completes each

RP-chromosome with the best CF-solution found by the CF-Mogga.

The embedded module CF, the CF-Mogga detailed in Figure 5.6, is run for each

RP-chromosome to complete it with the “best” solution found for the CF problem. In

the embedded CF-Mogga, a population of CF-chromosomes is created during the

initialisation phase. Each CF-chromosome is generated on the basis of the solution

encoded in the treated RP-chromosome. From this information, the flows between

machines can be computed. For instance, the CF-chromosomes can be initialised in

minimising the flow. The evaluation module is exactly the same one with the same

criteria as in the RP-Mogga. The CF genetic operator can then be applied to cross

these CF-chromosomes and evolve the CF solution. The best CF-solution found by

the CF-Mogga is copied in the RP-Mogga for the treated RP-chromosome. If the

population size in the CF-Mogga is big enough and the number of generations is

high enough to find the best solution, each RP-chromosome will be completed with

the best CF-solution possible.

In this way, the CF-Mogga can optimise the CF-solution on the basis of the

RP-solution and all criteria used by the RP-Mogga. The CF-Mogga does not

modify the RP-chromosome but only uses the information in this RP-chromosome to

generate the population of CF-chromosomes. The best compromise of CF-solution is

found for each RP-solution.

The integration of a second Mogga in the first one implies a long resolution time

but the quality of the solution will be very good. Indeed, to find the best solution for

the CF problem, the CF-Mogga must run a number of times depending of the size of

the problem. A good compromise must be found between the number of generations

and the population size for this integrated Mogga to control the resolution time.

This integrated Mogga will be called each time that a RP-chromosome is created or

modified, i.e. as much as the size of the population (P opSize) for the initialisation

phases and during the generations, at least P opSize

2 ×N bGen and maximum P opSize×

N bGen (N bGen, number of generations).

For this solution, both Moggas are similar in terms of chromosomes and eval-

uation. In both Moggas, the chromosome defines the RP-solution (respectively

CF-solution) but it is completed by the CF-solution (respectively RP-solution). In-

formation for both problems is included in the chromosome. In the first Mogga, the

genetic operators work on the RP-part of the chromosome improving the RP-solution

while the genetic operators work on the CF-part of the chromosome improving the

CF-solution in the second Mogga.

98 CHAPTER 5. METHODOLOGY

To avoid the inconvenience of the previous method in terms of considerable compu-

tational time with the integrated CF-Mogga or the bad quality of the solution with

the integrated CF-heuristic, the Mogga is adapted to solve simultaneously the RP

and CF problems (Simogga, presented in Figure 5.7).

Population initialisation

PS & RP & CF

Evaluation:

Multi-criteria

Decision aided

Genetic operators

PS & RP & CF

no

Stop condition

SIMOGGA yes

Solution

problems.

In the previous method, two similar Mogga are used with the same criteria, but

the operators are applied on each problem independently for RP-Mogga and for

CF-Mogga. Instead of using an embedded module to complete a RP-solution with

a CF-solution in a main Mogga, the Simogga deals with a chromosome containing

the double solution. The chromosome is composed by one part defining the operation

grouping into machines (RP-part), including the allocation of the operations on a

specific machine and the choice of the process, and another part defining the machine

grouping into cells (CF-part). The choice of the process for each product in the RP-

part is specific to each chromosome.

The Simogga is detailed in Figure 5.8. An initialisation phase permits to con-

struct the chromosomes on the basis of several heuristics. This initialisation can

be done randomly where each part of the chromosome is constructed independently.

The initialisation can also be done sequentially where one part of the chromosome

(RP or CF) is randomly constructed and the second part (respectively, CF or RP)

is constructed on the basis of the first solution. The CF module or the RP module,

composed by a specific heuristic, is run to complete the chromosome with the missing

part. In this way, some criteria (like the flow between cells) can be optimised during

the initialisation process.

5.4. PROPOSED SOLUTIONS - METHODOLOGY 99

SIMOGGA

Population

Initialisation

Chromosome 1

RP-part CF CF-part

Chromosome 2

RP-part RP CF-part

......

Chromosome i

RP-part CF CF-part

......

Chromosome N

RP-part RP CF-part

Evaluation

Multi-criteria decision

aided

Crossover

Parent i Offspring i

RP-part CF-part RP-part CF-part

x RP

Parent j Offspring j

RP-part CF-part RP-part CF-part

Parent k Offspring k

RP-part CF-part RP-part CF-part

x CF

Parent l Offspring l

RP-part CF-part RP-part CF-part

Mutation

Chromosome m Chromosome m

RP-part CF-part RP-part CF-part

no Stop condition

yes

Best chromosome

RP-part CF-part

Figure 5.8: Detailed Simogga: Adapted Mogga to solve simultaneously two inter-

dependent problems.

100 CHAPTER 5. METHODOLOGY

solution is evaluated for each criterion. The multi-criteria decision aided method,

Promethee, is applied to order the chromosomes and save the best one.

The specificity of this algorithm is that the genetic operators operate on the

whole chromosome. During the same phase, the operators are applied on the RP-

part and/or CF-part according to defined parameters (crossover and mutation rate

for RP and CF problems, see section 6.2.2). If the parents are crossed only on the

RP-part, the good RP characteristics will be transmitted. The modifications applied

on the RP-part can change the machine use. If a machine is longer used, this one

cannot be included in the solution of machines grouped into cells. For this reason,

after an RP modification, the CF module must be applied to correct the CF-part.

This CF-part is not completely recreated but only corrected based on the new RP-

part. In the same way, if the CF-part of two parents is crossed, the RP-part of the

children will be corrected and reconstructed with a RP-module.

Thanks to these specific operators, the population of chromosomes evolves at

each generation for both problems. Different heuristics are used in the RP-module

and CF-module to reconstruct the chromosomes after using genetic operators and to

complete them with the best associated part.

Table 5.1 presents the different cases met in the Simogga. The initialisation

process must be chosen: two independent constructions, the RP construction followed

by the CF construction or the CF construction followed by the RP construction. In

each ones of these three cases, the heuristics used to initialise both problems will

be different. The first problem is always constructed randomly while the second

one can be constructed with the specific heuristic (Flow for CF part and Process

for RP part). All these heuristics will be described in the following chapter 6. As

shown in this table, the reconstruction heuristic is always the specific heuristic (Flow

or Process). The operator rates are variable depending on the complexity of both

problems. These rates are also specified in section 6.2.2. Thanks to these parameters,

only one algorithm is developed to test all the approaches described in this chapter.

Simogga initialisation RP ⇔ CF RP ⇒ CF RP ⇐ CF

Initialisation

RP Heuristic Random Random Process

CF Heuristic Random Flow Random

Operator rates

RP RP

CF CF

Reconstruction

RP Heuristic Process

CF Heuristic Flow

The other advantage of this algorithm is its flexibility. Modifying some parame-

ters, this algorithm can be used as an algorithm with a sequential resolution (Problem

1 with an integrated module to solve problem 2). Table 5.2 presents the different

parameters that must be used to transform the Simogga in a RP-Mogga with an

5.4. PROPOSED SOLUTIONS - METHODOLOGY 101

RP-module (heuristic or Mogga).

In the sequential mode (RP following by CF, or inversely), the heuristic used in

the Simogga to construct problem 1 is always a random heuristic. Indeed, both

problems are treated independently. When problem 1 is initialised, problem 2 is not

yet constructed. The specific heuristics are only used in the integrated modules to

solve problem 2.

RP-Mogga CF-Mogga

Algorithms with an integrated CF- with an integrated RP-

heuristic Mogga heuristic Mogga

Sequential RP ⇒ CF RP ⇐ CF

Initialisation

RP Heuristic Random Process RP-Mogga

CF Heuristic Harhalakis CF-Mogga Random

Operator rates

RP 100 0

CF 0 100

Reconstruction

RP Heuristic Process

CF Heuristic Flow

heuristic, the problems are solved sequentially. Firstly, RP-part is constructed with

a random heuristic. Secondly, the CF-part is constructed with a specific heuristic

(Harhalakis) according to the solution for the RP-part. Since the CF-part is not

yet constructed when the RP-part must be initialised, the RP-Heuristic cannot be de-

pendent on the flow. The same is valid for the reconstruction heuristic. The random

heuristic is used to reconstruct the modified RP-parts. The integrated module with

the specific heuristic is then called to completely reconstruct the associated solution.

In the Simogga, the part not modified by the operators are just corrected but never

reconstructed from scratch.

Moreover, if there is an integrated module (problem 2), the application rate of

the operators for problem 2 will be equal to zero while those for problem 1 are 100

%. The Simogga will evolve the chromosomes only in working on problem 1. When

an operator, crossover, mutation or inversion, is applied to problem 1, problem 2

must be reconstructed completely with the specific heuristic (Harhalakis for the

CF-part and Process for the RP-part) according to this new solution.

For the previous example (RP-Mogga with an integrated CF heuristic), after a

modification of the RP-part, the CF-part will be always constructed or reconstructed

with the specific Harhalakis heuristic. The operators will not be applied to this

CF-part.

In the case of the integrated CF-Mogga, the CF-module used to construct the

CF-part will be a CF-Mogga. In place of the Harhalakis heuristic, a new Mogga

is created and run to generate the best CF-solution for the RP-part. As for the

integrated heuristic, the operators are only applied on the RP-part and the CF-part

102 CHAPTER 5. METHODOLOGY

5.5 Conclusion

In this chapter, a brief description of the Ga characteristics has been presented. The

adaptation of the genetic algorithm (GA) for the grouping problem and the inclusion

of the multi-criteria decision aided method in the grouping genetic algorithm (Gga)

have been succinctly described. The evolution in the resolution method has been

explained to understand the proposed adapted Simogga. Finally, the fitting of the

algorithm to adapt the Simogga to the sequential resolutions was presented. This

algorithm will be described in details in the following chapter.

Chapter 6

Implementation

6.1 Introduction

The Simogga is based on the Mogga structure. All similar components are pre-

sented in appendix C. The distinct structures and specificities of the Simogga are

described in details in this chapter.

Firstly, the coding based on the Gga coding is presented and illustrated. Then,

the rates used for the genetic operators are computed on the basis of the data.

Secondly, the initialisation phase is described with the different heuristics used. In

this section, the complementary heuristics are also described to adapt the Simogga

to the Mogga with an integrated module. Each of these heuristics are specifically

adapted for the reconstruction phase.

The operators are then detailed to explain the adaptation of the crossover and

the mutation to the simultaneous resolution of the two problems. The inversion, as

in the Mogga, is only described in appendix.

This chapter closes with some modifications of the Simogga to improve the

results following by the stop condition specific to the Simogga.

6.2 Encoding

6.2.1 Coding of Chromosomes

6.2.1.1 Coding in a Gga

In a classic GA applied to the cell formation problem, the position of the gene (locus)

in the chromosome represents the identifier of the machine. The information included

in the gene represents the group (cell) in which the machine is allocated. Numbering

the objects from 0 to 7, the object part of the chromosome can be explicitly written:

0 1 2 3 4 5 6 7

A D B C E B D E

meaning the object 0 is in the group labelled (named) A, 1 and 6 in the group D, 2

and 5 in B, 3 in C and finally 4 and 7 in group E.

The Gga coding augments the standard chromosome with a group part, encoding

the groups on a one gene for one group basis. Considering the previous example, a

chromosome in a Gga can be encoded as follows:

103

104 CHAPTER 6. IMPLEMENTATION

A D B C E B D E : A D B C E

The first part of the coding is exactly similar to the GA coding. Each object is

allocated to a group.

0 1 2 3 4 5 6 7 :

A D B C E B D E : ...

The group part of the chromosome represents only the groups. Thus

... : A D B C E

expresses the fact that there are five groups in the solution. This chromosome repre-

sents the following solution:

Based on the Grouping Genetic Algorithm (Gga) coding, the coding of the chromo-

some used in the Simogga is adapted to solve two grouping problems and to take

into account the process selection. The chromosome is defined with three parts as

followed:

used). This part defines which process is used for each part.

group is associated to a specific machine with specific characteristics like ca-

pacity, capabilities to produce operations, etc. However two similar machines

correspond to two identical groups. To distinguish the solutions where these

duplicate machines are inversed, the group encoding is necessary. In the solu-

tion xij , not all operations are used and the grouping solution includes some

coded 0 to indicate that the operation does not belong to a used process.

A D B 0 0 C B E 0 0 E C : A D B C E

3. A group encoding to define the machine grouping into cell. Each cell can be

completed with specific information about its size, location, etc.

p q q p q : p q

6.2. ENCODING 105

(with one or two processes), 5 machines types and 6 machines (MA , MB , MC , MD ,

ME and MF ). Machines MA and MC belonging to the same type. Part P1 is

defined by two processes (operation sequences O0(A/C) − O1(D) − O2(B) or O3(C/A) −

O4(F ) ). Part P2 can be processed in two ways (operation sequences O5(C/A) − O6(B) −

O7(E) or O8(D) − O9(A/C) ). Part P3 has just one process (operations sequence

O10(E) − O11(C/A) ). The letters in brackets represent the machines that can achieve

the operations. For this example, each machine type includes only one machine,

except the machines MA and MC that belong to the same type. The operations

must be allocated to the machines and these machines must be grouped into 2 cells

(C1 and C2 ). The data are represented in Figure 6.1.

Parts Machines

O0 O1 O2 MA MB MC

P1

O3 O4

O5 O6 O7

P2 MD ME MF

O8 O9

P3 O10 O 11

Cells

C1 C2

This solution corresponds to the following string defining the process selection:

1 0 1 0 1

The chromosome encodes the solution for the double grouping problem where the so-

lution of the first problem, composed by 12 objects/operations and 5 groups/machines,

can be depicted as:

106 CHAPTER 6. IMPLEMENTATION

Objects/operations 3 and 4 are not used in this solution, as are objects 8 and 9. The

first process has been chosen for part 1 and part 2. The second problem solution

composed of 5 objects/machines (equivalent to the groups for the first problem) and

2 groups/cells, is:

{0}A {1}D {2, 6}B {5, 11}C {7, 10}E : {A, D}p {B, C, E}q .

or visually

Mach. MA MD MB MC ME : Cells C1 C2

Oper. 0 1 2, 6 5, 11 7, 10 : Mach. A, D B, C, E

This solution is shown in Figure 6.2. In this figure, the cells can easily be iden-

tified. Two processes are not used in the solution, thus the operations belonging

to these processes do not appear in the cell design. Following the arrows between

machines, the flows between machines and between cells could be easily computed.

This encoding allows us to apply the genetic operators to the groups rather than

the objects.

MC

MB

O5 MD MA

O 11 O2

O6

O1 O0

ME

O10

O7

C1 C2

O3 O4

O8 O9

The chromosomes are composed of two parts (RP-part and CF-part). The genetic

operators defined in section C.2 can be applied between RP-parts, between CF-parts

or between both parts. The operator rates define the level of the operator appli-

cation on the RP-part and CF-part of the chromosomes. There are six parameters

CrossRP , M utRP , InvRP , CrossCF , M utCF and InvCF . These parameters can

take all values between 0 and 100. For instance, the parameter CrossRP defines the

probability to apply the crossover on the RP-parts of two chromosomes.

6.2. ENCODING 107

tion or inversion) will never be applied on the corresponding part. For instance, if

CrossCF = 0, the CF-part of the chromosomes will never be crossed. If CrossRP +

CrossCF ≤ 100, the operators will be applied on one part (RP or CF) of the chro-

mosomes at each generation for each crossover. However, this value (CrossRP +

CrossCF ) can be greater than 100%. In this case, the operators can be applied

simultaneously on both parts (RP and CF) with a probability equal to (CrossRP +

CrossCF ) − 100. An instance is shown in Figure 6.3 where both operator rates

are set to 70%. The operator will be applied on the RP-part if a random number

(∈ [0, 100]) is smaller than 70, while the operator will be applied on the CF-part if

this number is greater than 30. Thus, there is a probability of 60% to apply the

operator on both parts simultaneously.

100

RP=70%

CF=70%

• the Simogga oriented RP: Simogga used as a RP-Mogga with an integrated

module (CF-heuristic or CF-Mogga);

• the Simogga oriented CF: Simogga used as a CF-Mogga with an integrated

module (RP-heuristic or RP-Mogga);

• the Simogga.

In the first case, CrossRP , M utRP and InvRP are set to 100% while CrossCF ,

M utCF and InvCF are set to 0%. In this way, the Simogga evolves only on the

basis of the RP-part. CF-parts are just constructed with a specialized heuristic or a

new CF-Mogga. The second case is the opposite of the first. CrossCF , M utCF

and InvCF are set to 100% while CrossRP , M utRP and InvRP are set to 0%. In

this way, the Simogga operates as a classic CF-Mogga where all chromosomes are

completed by a RP-part constructed with a specific heuristic or a new RP-Mogga.

The Simogga is treating both problems simultaneously; operators are applied

with a different probability on the first and second parts of the chromosomes. These

probabilities are computed by the program according to the number of possible so-

lutions for both problems. To define the application rates of these genetic operators,

the size of the search spaces is computed for both problems (N SRP and N SCF ).

The ratio between the number of solutions for RP problem and the total number of

solutions (N SRP + N SCF ) is used to compute these application rates.

If there is no alternativity in the routings and processes, there is only one solution

for the RP problem. In this case, the operators are only applied to the CF-part of

the chromosomes.

In this way, if the RP problem includes only a few duplicate machines, the ge-

netic operators can be focused on the CF-part of chromosomes. The choice of these

parameters is explained in chapter 8.

108 CHAPTER 6. IMPLEMENTATION

6.3 Initialisation

The objective for both problems is to explore the space without limiting the search. It

means that we need to test the solution with and without all the groups.For example,

the best solution producing the minimal inter-cellular moves can be the one with two

non used machines.

To accelerate the search for the best solution, the initialisation can be based on a

specific heuristic optimising the flow between cells. In this case, the created solutions

will be good in terms of flow but not other criteria. For this reason, and to ensure a

population sufficiently diversified, the initialisation is decomposed as followed:

below) applied to the RP problem. The CF problem is then constructed with

a specific heuristic oriented to the flow.

basis of random solution CF.

RP => CF or CF => RP . In this way, the information about the construction

process is always saved and preserved.

In the following section, different heuristics are described as well as the specific

heuristics used for the Simogga as a sequential algorithm. For a completed descrip-

tion of the algorithm, the reader can read appendix C.

6.4 Heuristics

All the heuristics used are described in this section. Some of them are illustrated with

an example. For each heuristic, an adaptation is proposed to use the heuristic during

the reconstruction phase. Indeed, after the crossover and mutation operators, it is

necessary to reinsert all the non assigned objects. During the reconstruction phase,

the chromosome contains already a partial solution for one part or for both parts.

Some objects are already included into some groups. Some groups can be unused.

The heuristics used to reconstruct the chromosomes must take these assigned objects

into account.

If only one part of the chromosome is modified, the specialized heuristic (Flow

Heuristic RP or CF) is applied to reconstruct the modified part. If both parts are

crossed and/or mutated, one part is randomly selected and reconstructed with the

Rand Group Heuristic, and the specialized heuristic is then applied to reconstruct

the second part of the chromosome.

6.4.1.1 Introduction

The Random Heuristic is based on a first fit heuristic with a first random part to

avoid all the solutions being created with a minimal number of groups.

In a first fit heuristic, the different objects to group are treated in random order.

For each object, the used groups are randomly visited. The object is inserted in

6.4. HEURISTICS 109

the first group able to accept the object (respecting the capacity and acceptable

constraints of the group). If no group is able to accept the object, a new group is

created in the system. Following this process, the number of used groups is always

minimal.

RP-Random Heuristic. This heuristic is used to group the operations onto ma-

chines to solve the Resource Planning problem (RP). In the RP-Random Heuristic,

all the objects to group are connected to an operation and own all characteristics of

this operation:

• the processing time (an average operating time for all machines belonging to

the machine type and/or a specific operating time to each machine able to

achieve the operation).

CF-Random Heuristic. This heuristic is applied to group the machines into cells

and to solve the cell formation problem (CF). In the CF-Random Heuristic, each

group is connected to a specific cell with a maximum size, while each object is con-

nected to a specific machine with all characteristics associated:

As for the first fit heuristic, each object is treated in a random order. However in

the RP-Random heuristic, a probability p is used to create a new group before the

search of an acceptable group for the object.

M axGroups − N bGroups

p=

M axGroups

where: M axGroups = maximum of allowed groups and N bGroups = actual number

of used groups.

This probability is used to authorize the creation of solutions with different num-

bers of groups. The probability to create a new group before assigning the object

in a group, p, decreases with the number of created groups. The number of used

groups will not necessarily be minimal. Randomly, solutions will not contain the

same number of groups except if the capacity requires it.

With this new group, the list of used groups is randomized. After this step, the

search of a group is achieved as for the first fit heuristic.

110 CHAPTER 6. IMPLEMENTATION

RP Random Heuristic. Each group/machine is visited to test the first object/operation

of the list. The group/machine must have the same type as the object/operation or

a specific operating time must be defined for the object/operation on the tested

group/machine. The object/operation is assigned to the first group/machine able to

accept it.

If, the last group/machine is visited and can not accept the object/operation, a

new group is inserted in the system.

When an object/operation is inserted in a group/machine, the use of the group/machine

is updated and the next object/operation of the list is treated.

CF Random Heuristic. After randomizing the list of used groups/cells, each

group/cell is visited by the object/machine to treat. The only constraint in this

case is the maximum size defined for the group/cell. The object/machine is inserted

without other constraint in the first group/cell found.

6.4.1.4 Reconstruction

The Random heuristics (RP or CF) are the basic heuristics always available, for

the initialisation or the reconstruction. The Cell Formation Problem is a simple

grouping problem. The Random Heuristic CF can be used to assign randomly the

objects/machines letf unassigned respecting the hard constraints (limit the cell size

and the maximum number of available cells). For the Resource Planning Problem,

the objects/operations left unassigned are allocated to specific groups/machines re-

specting the vector of selected processes of the chromosome and the capacity and

availability constraints.

To construct the CF-part, a flow heuristic based on the previous Random Heuristic

is used. This heuristic is called when the RP-part has been constructed and all

operations are allocated to a specific machine. As the RP problem is solved, the

traffic between machines can be computed and the machine grouping can be based

on this traffic.

6.4.2.1 Initialisation

During the initialisation phase, the flow matrix φmn (see section 4.3.3) is computed

to assign the operations onto the machines recorded in the RP-part. On the basis of

the RP-solution, the traffic between machines can be evaluated following the selected

process of each part.

All machines used in the RP-part are put in the randomized list of object/machine.

Each object/machine is treated following the order of this list.

Before beginning the search of an acceptable group/cell for the first object/machine

of the list, a new group is created following the same principle as for the Random

Heuristic.

6.4. HEURISTICS 111

Two parameters are computed to find the best group/cell to assign to the ob-

ject/machine:

• Find the cell c̃ with which the current object/machine has the maximum flow

φmaxCell .

• Find the machine ñ not yet assigned with which the current object/machine

has the maximum flow φmaxM ach .

If the current object/machine has a greater flow with a cell (c̃) than with a

not yet assigned machine (ñ), the object/machine is assigned to the cell c̃. On the

contrary, if the greater flow is one with the not yet assigned machine (ñ), the current

object/machine is assigned in a new group/cell. This assignment is available only if

the maximum number of groups/cells is not reached. If it is not possible to create a

new group/cell, the object/machine is grouped randomly with the Random Heuristic.

The priority will be given to a group/cell with two free places. Thanks to this priority,

the not yet assigned object/machine could be assigned later in the same cell.

6.4.2.3 Illustration

The Flow heuristic CF is illustrated with the instance presented in the encoding

section 6.2. This heuristic is applied to construct the CF-part when the RP-part

has been constructed with the Random Heuristic RP. The RP-part is schematized in

Figure 6.4. The proposed solution is composed by the first process of each part. In

this solution, the machine MF is not used and operations O5 and O11 are allocated

on machine MC , operations O2 and O6 on machines MB , operations O7 and O10 on

machine ME , operation O1 on machine MD and finally the operation O0 is allocated

on machine MA . The operations O3 , O4 , O8 and O9 are left unassigned because they

belong to a non used process.

Parts RP-solution

P1

O3:C-A O4:F O5 O2

O11 O6 O1 O0

O5:C-A O6:B O 7:E

P2 ME MF

O8:D O 9:A-C

O10

P3 O 10:E O 11:C-A O7

O3 O4

O8 O9

To simplify the problem, all operating times are equal to 1 and the production

volume for each part is also equal to 1. In this way, each arrow represents a flow,

a transfer of the part between two machines. The flow matrix can be computed for

this RP-solution (see Table 6.1).

112 CHAPTER 6. IMPLEMENTATION

φmn A B C D E F

A 1

B 1

C 1

D 1

E 1

F

Table 6.1: Flow matrix for the RP-solution found by the Random Heuristic RP.

group into cells. The objects/machines will be allocated in a way corresponding to

the order of this list.

MD ME MC MB MA

O 10 O5 O2

O1 O7 O 11 O6 O0

All objects are treated following a randomized list. The first object/machine MD

is studied. There is no flow between this machine and the cells while there is one flow

with machine MA and one with the machine MB . Machine MD is put in a new cell

C1 . The next object/machine ME is selected and inserted in a new cell C2 because

there is no flow between machine ME and cell C1 . However there is a flow between

machine ME and machines MB and MC . Figure 6.6 shows this configuration.

MC MB MA

O5 O2

O 11 O6 O0

MD ME

O 10

O1 O7

C1 C2

Figure 6.6: Assignment of three first objects/machines by the Flow Heuristic CF.

Machine MC is added to cell C2 because there is one flow between machine MC and

no more cell can be created. Machine MB is put in cell C2 because there are two

flows with cell C2 and only one with cell C1 . Machine MA is finally placed in cell

C1 because it includes a flow with machine MA . This final RP-solution of Figure 6.7

presents one inter-cellular flow.

6.4. HEURISTICS 113

MA MB

O2 MC

O0 O6

O5

O11

MD ME

O10

O1 O7

C1 C2

Figure 6.7: Final assignment of objects/machines into cells by the Flow Heuristic

CF.

6.4.2.4 Reconstruction

To apply the Flow Heuristic CF to reconstruct a CF-part of the chromosome, the

flow matrix is computed on the basis of the RP-solution. The objects/machines left

unassigned are reinserted as if the assignment process has been interrupted. The

objects/machines left unassigned are put in a randomized list. The object/machine

is assigned to the cell maximising the flow or in a new cell if the maximum flow is

found with a object/machine not yet assigned.

For Process Heuristic RP, the flow matrix φmn cannot be computed because the op-

erations are not yet allocated to machines. The solution of the CF problem proposes

a machine grouping into cells, created by the Random Heuristic CF.

6.4.3.1 Initialisation

During the initialisation phase, the process selection is done. All operations belonging

to the selected processes are put in a list. The object/operation in this list will be

treated randomly.

Next, a vector of priority cells is defined. A priority cell Ck is assigned to each

process k. This priority cell corresponds to the cell that can achieve the maximum

of operations belonging to the process.

For each object/operation, the search of an acceptable group/machine will begin

with the priority cell. All groups/machines belonging to the priority cell are vis-

ited. The object/operation is inserted in the first group/machine able to achieve the

object/operation. If no group/machine is found among the groups/machines belong-

ing to the priority cell, the search is done as in the Random Heuristic. All used

groups/machines are visited randomly. The object/operation is inserted in the first

group/machine found. If no group/machine is found among the used machines, a

new group/machine is created if the capacity constraints are respected.

114 CHAPTER 6. IMPLEMENTATION

This heuristic is applied during the initialisation phases because the choice of

processes is based on the machine grouping. As explained in section 6.5.2, when the

heuristic is called to reconstruct the chromosome, the process selection is already

done.

6.4.3.3 Illustration

As for the Flow Heuristic CF, the Process Heuristic RP can be illustrated. Figure 6.8

represents an available grouping given by the Random Heuristic CF. This assignment

is completely random and respects the constraints in terms of the maximum number

of groups/cells and the maximum size of the groups (3 in this case).

MC

MB MD MA

ME MF

C1 C2

For each process, the priority cell is computed in maximising the proportion of

the operations that the cell can achieve (#operations in cell/#operations) as shown

in Figure 6.9. The processes are selected randomly. The operations belonging to the

selected processes are put in a randomized list (Figure 6.10).

From this randomized list of objects/operations to insert in some specific ma-

chines, the search can start. For the first object/operation (O10 ) of this list, the

search of an acceptable group/machine begins for all machines included in the pri-

ority cell, C1 . No machines included in cell C1 can accept this object/machine, so

the search continues to cell C2 to find machine ME . A similar search is done for

P1

O3:C-A O4:F 1/2 2/2 2

P2

O8:D O 9:A-C 1/2 2/2 2

Figure 6.9: Computation of the priority cell for each process and selection of the

process.

6.4. HEURISTICS 115

shows the intermediary assignment of the three first objects/operations.

MC

MB MD MA

O 2:B O 9:A-C

ME MF

O10:E

C1 C2

Figure 6.11: Assignment of three first objects/machines by the Flow Heuristic CF.

MC

MB MD MA

O 2:B O1:D O9:A-C

ME

MF

O10:E

C1 C2

Figure 6.12: Final assignment of objects/machines into cells by the Flow Heuristic

CF.

Figure 6.12 represents the final assignment found by the Process Heuristic RP.

This RP-solution contains one inter-cellular flow from cell C2 to cell C1 . Machine

MF is not used. This one will be removed from the final CF-solution. Indeed, a valid

solution for both problems cannot include an empty cell or an empty machine. This

choice is made because there is no reason to put this machine in cell C2 rather than in

another cell. A possible reason to put a machine into a cell will be that the machine

increases the flexibility of the cells to reorient the production in case of failure. This

choice can be made at the end of the problem in computing a flexibility parameter.

With a different process selection (Figure 6.13) and another arrangement of the

116 CHAPTER 6. IMPLEMENTATION

list of objects/operations (Figure 6.14), the final solution can be completely different.

In this case (Figure 6.15), the solution contains no inter-cellular flow.

P1

O3:C-A O4:F 1/2 2/2 2

P2

O8:D O 9:A-C 1/2 2/2 2

Figure 6.13: Computation of the priority cell for each process and selection of the

process.

MC

MB MD MA

O5:C-A

O11:C-A

O 6:B O3:C-A

ME

MF

O7:E

O10:E O 4:F

C1 C2

Figure 6.15: Final assignment of objects/machines into cells by the Flow Heuristic

CF.

6.4.3.4 Reconstruction

The specialized heuristic for RP-part of the chromosome is slightly different in this

reconstruction phase. The process selection for the chromosome depends on the

crossover (explained in section 6.5). After a crossover, the vector of selected processes

is completed. There is one selected process for each part. After a mutation, on the

other hand, the vector of selected processes can contain some parts without a selected

process.

In these cases, the reconstruction phase for the RP-part begins with a verification

of the selected processes. All assigned objects/operations must belonging to a selected

process. If not, the object/operation is removed from the solution before the re-

assignment phase. If there is no selected process for a part, the priority cell (presented

6.4. HEURISTICS 117

here above) is computed to choose the best process for the CF configuration given

by the CF-part.

As in the heuristic used for the initialisation, each object/operation is also prefer-

ably assigned to a machine belonging to the priority cell of the treated process.

The process selection is based on the priority cells as computed in the previous

section. If the RP-part is partially constructed, all the operations allocated on a

specific machine imply the use of the concerned process. If a part has no selected

process, the choice falls on the process having the maximum of operations able to be

achieved inside a same cell.

This heuristic is used to construct the CF-part in a Simogga using a sequential

algorithm. The initialisation is the same as for the Flow Heuristic CF. During this

initialisation phase, the flow matrix φmn is computed for the RP assignment (opera-

tions on machines) recorded in the RP-part. This flow between machines is evaluated

following the selected process of each part.

The principle of the Harhalakis heuristic is to consider each machine as be-

longing to a separate cell. The grouping of these cells into aggregation is based on

the Normalized Traffic between cells. This Normalized Traffic corresponds to the

traffic between two cells φij divided by the sum of the machines included in both

cells (ni + nj ) [93]. This heuristic is often used in the literature to solve the cell

formation problem.

The two cells (ci and cj ) presenting the maximum of normalized traffic (Tij ) are

aggregated if the maximum cell size N is not reached. After each aggregation, the

Normalized Traffic is updated. These groupings are made until the maximum number

of cells is reached.

6.4.5.1 Reconstruction

The Harhalakis Heuristic is used in the RP-Mogga with an integrated CF heuris-

tic. In this case, the CF-part of the chromosome is always completely emptied before

reassigning all objects/machines.

6.4.6 CF-Mogga

To construct the CF-part of a chromosome with the SImogga oriented CF, a new

Simogga is run with the following parameters:

1. The population will consist of 8 or 16 chromosomes depending on the problem

size.

2. The number of generations is set to 30.

3. The RP operators are put at 0% and the CF operators are put at 100%.

4. During the initialisation, the RP-parts are copied from the treated chromosome

of the principal Simogga.

118 CHAPTER 6. IMPLEMENTATION

5. During the initialisation, the CF-parts are constructed with the Flow Heuristic

CF.

copied in the CF-part of the treated chromosome in the principal Simogga.

6.4.6.1 Reconstruction

In the same way for the previous integrated heuristic, the CF-part is canceled before

running a new Simogga oriented CF to reassign all objects/machines.

6.4.7 RP-Mogga

To construct the RP-part of a chromosome with the Simogga oriented RP, a new

Simogga is run with the following parameters:

size.

3. The RP operators are put at 100% and the CF operators are put at 0%.

4. During the initialisation, the CF-parts are copied from the treated chromosome

of the principal Simogga.

5. During the initialisation, the RP-parts are constructed with the Process Heuris-

tic RP.

copied in the RP-part of the treated chromosome in the principal Simogga.

6.4.7.1 Reconstruction

As the RP-Mogga, the RP-part is deleted before running a new Simogga oriented

RP to reassign all objects/operations.

6.5 Operators

The important point of the genetic operators is that they will work with the group

part of the chromosomes. The standard object part of the chromosomes serves to

identify which objects actually form which group. In particular, this implies that

operators will have to handle chromosomes of variable length with genes representing

the groups.

6.5. OPERATORS 119

6.5.1 Selection

The tournament strategy is chosen to select the chromosome for the application of op-

erators. The idea is to create an ordered list of the individuals with the best solution

always at the top, and the others ordered according to a specific method described

below. The upper part of the list will further be used when "good" chromosomes

are needed, while the lower part for "bad" chromosomes. An initial set of all the

individual identifiers is established. Two identifiers of this set are chosen randomly,

and their fitness values are compared. The best of the two - the one corresponding to

the individual with the best fitness value - is reinserted into the set, while the other

is pushed into the list. This method is repeated until all the identifiers in the set

are in the list; this process leads to the construction of an ordered list of individuals,

with the best one at the top of the list. The operator can then presume that the

chromosomes ranked in the top half will be used as parents for the crossovers and

the resulting children will replace the chromosomes in the bottom half.

6.5.2 Crossover

At each generation, the crossover is applied after tournament selection. The half of

the chromosomes are crossed and replace the worst ones. The process of crossover

is the following: two parents are selected in the half top of the list. Then, the basic

circular crossover (explained below) is applied between both parents to create two

childs E1 and E2. This process is applied until half of the chromosomes top of the

list have been crossed.

The basic circular crossover will be applied on the RP problem and CF problem

with a probability of respectively CrossRP % and CrossCF %. In this way, if the

sum of CrossRP and CrossCF is greater than 100% the crossover can be applied

simultaneously on both parts as explained in section 6.2.2. In practical, for each

child, a random number is selected (rand ∈ [0 − 100]). If (rand < CrossRP ), the

basic circular crossover is applied between the RP-parts and the CF-parts are just

copied. Then, if (rand > (100 − CrossCF )), the basic crossover is again applied

between the CF-parts.

P1 C D E A F : p q

9, 11 8 10 3 4 C, F A, D, E

MC MB

MD MA

O 9:A-C

O 11:C-A

O8:D O3:C-A

MF

ME

O4:F

O10:E

C1 C2

120 CHAPTER 6. IMPLEMENTATION

P2 C D B E A : q p

9 1, 8 2 10 0, 11 A, E B, C, D

MA MF

MD MC

O0:A-C

O11:C-A O 1:D

O 8:D O 9:A-C

ME MB

O 10:E O2:B

C1 C2

The basic circular crossover is explained below and illustrated with two parents

P 1 and P 2 (shown in Figures 6.16 and 6.17). The parent 1 owns the following process

vector: 1 0 0 1 1 while the process selection for parent 2 is the vector: 0 1 0 1 1.

This example is a small case with alternative processes and alternative routings. The

number of cells limited to 2 implies that the illustration of the crossover on the CF-

part will not be relevant or significant. In this example, the basic circular crossover

is applied between the RP-part of P 1 and P 2.

The complete coding for this crossover is detailed in the appendix C. The different

steps for the basic circular crossover are the followings:

Step 1 A crossing site is selected in each parent (see Figure 6.18). This crossing

site is defined by a two-point crossover (two crossing sections). This site

can include internal groups as well as groups located at the extremities of

the chromosome.

1 2

P1 C D E A F : p q

9, 11 8 10 3 4 C, F A, D, E

2 1

P2 D C B E A : q p

9 1, 8 2 10 0, 11 B, C, D A, E

Step 2 Groups selected by the crossing site of the parent 1 are inserted at the

second parent crossing site (see Figure 6.20). At this stage, some objects

may appear in more than one group.

In Figure 6.19, the group A (in bold) in parent 1 is inserted in parent 2.

Group/Machine MA is initially in cell C1 in parent 2. The cell arrange-

ment is not modified by a crossover between the RP-parts. At this stage,

the machine MA appears twice.

6.5. OPERATORS 121

2 1

E1 D C A B E A : q p

9 1,8 3 2 10 0,11 B, C, D A, E

MA MF

MD MC

O0:A-C

O11:C-A O 1:D

O 8:D O 9:A-C

MA ME

MB

O 3:C-A O10:E

O2:B

C1 C2

Step 3 The objects cannot appear twice in one solution. The new injected objects

have the priority. So, the existing groups containing objects that are

already in the inserted groups are eliminated. If some groups are empty,

they are also removed from the solution.

The machine MA initially in parent 2 is removed from the solution (see

Figure 6.20). The objects (operation O11 and O0 ) contained in this group

are left unassigned, and must be reinserted in the solution.

2 1

E1 D C A B E A : q p

9 1,8 3 2 10 0,11 B, C, D A, E

MA MF

MD MC

O0:A-C

O11:C-A O 1:D

O 8:D O 9:A-C

MA ME

MB O0:A-C

O11:C-A

O 3:C-A O10:E

O2:B

C1 C2

Figure 6.20: Removed similar groups after injection of the crossing site from parent

1 in parent 2.

Step 4 The validity of the solution is verified according to the hard constraints of

the cell formation problem. The process used can be different for the two

parents. Two processes on the same part cannot coexist in the solution.

Moreover, a specific machine cannot appear twice. Compatibility is tested

between inserted groups and existing groups. If the existing groups con-

tain operations belonging to another process or the groups corresponding

122 CHAPTER 6. IMPLEMENTATION

2 1

E1 D C A B E : q p 11

9 1,8 3 2 10 B, C, D A, E

MF

MD MC

O 1:D

O 8:D O 9:A-C

MA ME

MB O0:A-C

O11:C-A

O 3:C-A O10:E

O2:B O4:F

C1 C2

As shown in Figure 6.21, the objects/operations contained in the new

group/machine MA have the priority in terms of chosen process. The

inserted machine MA implies the following process selection: 0 1 ∗ ∗ ∗.

This selection of processes is completed by the processes of parent 2. The

final vector of the child C1 is: 0 1 0 1 0.

Operation O3 belongs to the second process of part P1 . All operations

(operation O4 ) associated to this process are left unassigned from the con-

figuration while operations O0 , O1 and O2 belonging to the first process

are removed from the solution. Figure 6.22 represents the child E1 after

the step 4.

2 1

E1 D C A E : q p 11, 4

9 8 3 10 B, C, D A, E

MF

MD MC

O 8:D O 9:A-C

MA ME

MB

O11:C-A

O 3:C-A O10:E

O4:F

C1 C2

Step 5 The objects left unassigned are reinserted into the solution in the recon-

struction phase (explained in section 6.4.3.4).

6.5. OPERATORS 123

object/operation O11 left unassigned and the object/operation O4 issued

from the new selected process. This heuristic tries to minimise the flow.

The reconstructed child is presented in Figure 6.23.

necessary.

The machine MB , empty, is removed from the CF-solution. Machine MF

is reinserted into a cell to complete the CF-solution. This final solution

(see Figure 6.24) respects all constraints for this problem:

• operations are allocated on an available machine;

• charge on the machine does not exceed the availability;

• the maximum number of cells is two;

• maximum 3 machines can be grouped into a cell.

2 1

E1 D C A E F : q p

9 8 3 ,11 10 4 B, C, D A, E

MA MF

MD MC

O11:C-A

O 3:C-A O4:F

O8:D O 9:A-C

ME MB

O 10:E

C1 C2

Figure 6.23: Child C1 issue from the first crossover and reconstructed by the Process

Heuristic RP.

crossing site of parent 2 to be injected in parent 1 at section point "|1 ".

6.5.3 Mutation

The role of the mutation operator is to insert new characteristics into the population

to enhance the search space of the genetic algorithm. But the operator must be

defined as the smallest possible modification with respect to the encoding, and it must

be applied as minimally as possible to let the population evolve with the crossover

[67].

To respect these considerations, the mutation is not applied as in classic genetic

algorithm with a probability between 1% and 5%. The mutation is applied when there

124 CHAPTER 6. IMPLEMENTATION

2 1

E1 D C A E F : q p

9 8 3 ,11 10 4 C, D A, E, F

MA

O11:C-A MD MC

O 3:C-A

O8:D O9:A-C

MF ME

O 4:F O10:E

C1 C2

Figure 6.24: Final child C1 issued from the first crossover and reconstructed by the

Flow Heuristic CF.

has not changed during a specific number of generations (the age of a solution is

the number of generations during which the solution has not been modified). This

number defines the best chromosome age in the population. The mutation is applied

when this age is reached. The best chromosome is mutated and replaces the worst

one. In the classic genetic algorithm with binary coding, a bit is transformed. With

our grouping coding, it makes no sense to remove one group of the solution. To apply

a modification in the grouping, minimum two groups must be treated to reassign some

objects.

This mutation is also applied at each generation to diversify the population if

there are too many similar chromosomes. The similar chromosomes are mutated

with a probability of 90%.

Different parameters are used to define the mutation:

• The mutation frequency is set to 10 by default. It defines the number of gener-

ations before applying a mutation on the best chromosome of the population.

• Best mutation frequency is set to 2× Mutation frequency. It defines the number

of generations before applying a mutation on the best chromosome ever found.

• The mutation rate is set to 1 by default. It defines the number of chromosomes

to mutate.

• The mutation intensity is set to 20% by default. It defines the percentage of

the groups to remove from the solution.

The choice of these parameters will be justified in section 7. To adapt this operator

to the Simogga, two parameters (M utRP % and M utCF %) are defined as for the

crossover. These parameters determine the probabilities to apply the mutation on the

first and/or the second part of the chromosome. On each part of the chromosome, the

mutation operator of the Gga can be applied. A few groups are randomly chosen and

removed from the solution. The objects attached to these groups are then reinserted

into the solution.

6.5. OPERATORS 125

This mutation implies that the objects removed from the groups are reinserted

to construct a new solution. For the CF-part, the problem is a classical group-

ing problem. However, for the RP-part, the problem is more complex because the

process selection is made at the same time as the grouping of operations on ma-

chines. The classical mutation operator does not modify the process selection. The

objects/operations belonging to the selected processes are reinserted after being re-

moved from their groups/machines.

The mutation operator is then adapted to take into account this feature and to

force the use of another process for a few parts. This feature is just applied when

the RP-part is touched by the mutation. When a group/machine is removed from

the RP-solution, the selected process is deleted from the process selection. The

process including a removed object/operation is put to 0 in the selected process

vector. This modification implies the suppression of all objects/operations belonging

to these removed processes. The specific heuristic used to reconstruct the RP-part

will start with choosing a new process for these parts without selected process.

For this hard mutation, no limitation exists on the number of groups to re-

move. The hard mutation is illustrated with the instance of Figure 6.25 where the

group/machine MA is removed from the RP-part (Figure 6.26).

P A D B C E : p q

0, 9 1, 8 2 11 10 B, C, E A, D

MC

MB MD MA

O 2:B O1:D O 9:A-C

ME MF

O10:E

C1 C2

(O0 and O9 ) belonging to this group/machine are removed from the solution. All

objects/operations included in the processes of removed operations are also removed

(operations O1 and O2 belonging to part P1 and operation O8 belonging to part P2 ).

As there are no operations belonging to part P1 and P2 in the solution, the Process

Heuristic RP begins with a new process selection. The priority cell is computed for

each process. When a process can be achieved completely in a cell, this process is

selected. It is the case for the second process for part P2 . The priority cell computed

for second process of the part P1 presents a characteristic: the machine MF is not

already included in a cell. To compute the percentage of operations acceptable in a

cell, it is necessary to consider the machine MF as a machine able to be grouped in

cell 2 because the size limit is not reached. The size limit for cell C1 is reached with

the three machines. Taking into account this characteristic, the second process could

126 CHAPTER 6. IMPLEMENTATION

P D B C E : p q 5, 3, 6, 7, 4

11 10 B, C, E A, D

MC

MB MD MA

O11:C-A

ME MF

O10:E

C1 C2

C1 C2 Cell prior

P1

O 3:C-A O4:F 1/2 2/2 2

P2

O8:D O9:A-C 1/2 2/2 2

The objects/operations belonging to the selected processes are put randomly in

a list (object O5 , O3 , O6 , O7 and O4 ). Then, the Process Heuristic RP can insert

these objects in the solution. The solution after the RP assignment is presented in

Figure 6.27.

To finish the reconstruction phase, the CF-part of the child must be reconstructed

with the Flow Heuristic CF. Objects/machines not used in the RP-parts are elimi-

nated from the solution (object/machine MD ) and remaining objects/machines are

reinserted (object/machine MF is reinserted in the group/cell C2 ) in minimising the

flow inter-cellular. This final solution (Figure 6.28) contains three flows inside the

cells and no flows between cells.

This illustration shows the impact of the number of removed groups in the hard

mutation. Removing one group in the RP-part, the chromosome is strongly modified.

The importance of the modification of the chromosome is function of the number of

different parts allocated to the removed machines.

6.5.4 Reconstruction

The reconstruction process depends on the construction property of the chromosome

(RP => CF or CF => RP ). A mutated chromosome keeps its property. A

mutation of the best chromosome cannot just copy the construction property because

6.5. OPERATORS 127

P D B C E A F : p q F

6 11, 5 10, 7 3 4 B, C, E A, D

MC

MB MD MA

O5:C-A

O11:C-A

O 6:B O 3:C-A

ME MF

O 7:E

O10:E O4:F

C1 C2

P B C E A F : p q

6 11, 5 10, 7 3 4 B, C, E A, F

MC

MB MA MD

O5:C-A

O11:C-A

O 6:B O 3:C-A

ME MF

O 7:E

O10:E O4:F

C1 C2

the reconstruction of this chromosome will be always in the same order. For this

reason, when a mutation of the best chromosome is made, the construction property

is copied with a probability of 50%. Otherwise, the value of this parameter can take

randomly the value RP => CF or CF => RP . Moreover, at the end of each

generation, the population is analyzed. If more than 80% of the population has the

same property then, the property of each chromosome has a probability of 50% to

be changed.

For the crossover, a crossed chromosome depends on the used parent. The created

child corresponds to the parent 2 in which the section site of parent 1 is inserted.

The construction property of parent 2 is copied.

For the reconstruction process, if the chromosome has the RP => CF property,

the heuristic RP is run. If the CF-part has been modified, the Random Heuristic

RP is applied; otherwise the Process Heuristic RP is used. The CF-part is then

reconstructed with the Flow heuristic CF.

On the other hand if the chromosome has the CF => RP property, the heuristic

CF is run to reconstruct firstly the CF-part. As for the previous case, if the RP-part

has been modified, the Random Heuristic CF is used, while the Flow Heuristic CF

128 CHAPTER 6. IMPLEMENTATION

6.6 Improvements

Different modifications and optimisations have been applied to improve the results

found in section 7.3. A local optimisation has been developed to optimise the use of

the priority process (process that can be achieved completely inside a cell). Moreover,

several modifications are proposed for the mutation.

A local optimisation is applied after each operator (crossover and mutation) before

the reconstruction. The local optimisation is based on the computation of priority

cells like the Process heuristic RP. A priority cell is defined for a process if all its

operations can be achieved inside this cell. If there are several possible priority cells

for a process, the priority is given to the cell containing the most operations of the

process (already assigned). If there is none or an equal number of operations assigned

to each cells, the selection is made randomly.

The different steps are:

1. If the CF-part is constructed, the vector of priority cells for each process is

computed. Another vector containing the number of cells able to completely

achieve each part is already completed.

2. For all parts, the verification is made: if the priority cell is not the used cell,

the operations allocated to another cell than the priority cell are removed from

their machine.

3. The process selection must contain the processes owning a priority cell able to

achieve completely the part.

The Process Heuristic RP is then run to complete the RP-solution. For all parts

which have no priority process defined, the classic process selection is achieved. This

local optimisation improves the search for the best solution. It increases the efficacy

of the algorithm and decreases in the same way the resolution time.

6.6.2 Mutation

In the mutation used to modify the chromosomes to increase the diversity of the

population, the following changes have been made:

• Probability of 50% to modify the mutation rate for the operator: 90% on RP-

part and 90% on CF-part

• If the diversity of the population is less than 50% or less than 70% (with a

probability of 50%), a strong mutation is applied, otherwise, a simple mutation

is made.

6.7. STOPPING CONDITION 129

(probability of 70%) or 100% (probability of 30%). The mutation intensity

defines the percentage of groups that will be released by the mutation. In

the strong mutation, the chromosomes are reconstructed with the Random

Heuristic RP and CF with a probability of 50% and with the specific heuristic

otherwise.

In the mutation of the best chromosome, when the best chromosome has not

changed for 10 generations, the strong mutation is applied as described above. This

strong mutation permits to reinsert a random solution in the population.

Sometimes, the best solution stagnates into a local optimum without evolving.

To force the change of the best solution, an analysis is made before the mutation

(=PreMutation). Before running the mutation, the vector of priority processes is

updated. If each part has a priority process, the CF-part permits to construct the

ideal RP-part. In this case, the mutation is applied only on the RP-part.

The improvement of the results with these modifications is shown in Table 7.15

in the next chapter (section 7.4).

The stop condition must determine when a GA stops. When the problem to be

optimised is well defined, a particular value of the cost function can be used as

exit condition. But such a value is unknown for our grouping problem. Another

exit criterion must therefore be defined. The simple approach used is to run the

Simogga for a fixed number of generations. Another possible idea could be to let

the Simogga run until the age of the best solution ever computed is greater than a

given threshold. The number of generations influences the quality of the solution. In

fact, the number of generations has a double effect on a Genetic Algorithm (GA):

1. When the number of generations increases, the quality of the GA should also

increase (because a larger portion of the search space is analysed).

2. When the number of generations decreases, the computational time needed also

decreases.

two effects one against the other. In the Simogga, the maximum number of genera-

tions is fixed according to the problem size. Moreover, if the Simogga runs with one

criterion (percentage of intra-cellular flow), the algorithm stops also when the ideal

solution is achieved (100% of traffics is met inside the cells, and 0% between cells).

6.8 Conclusion

The Simogga has the advantage to solve simultaneously two problems. The principle

of the algorithm is based on the Mogga. The main modifications of the Mogga

are explained in this chapter while the flowchart of each step of the algorithm is

presented in appendix C.

130 CHAPTER 6. IMPLEMENTATION

This chapter describes in details the main characteristics inherent to the Simogga:

encoding, heuristics for the initialisation and the reconstruction phase, operators and

stop condition. In the section for the heuristics, some of them concern the adapta-

tion of the Simogga in the limited versions of the algorithm presented in chapter

5. These explanations permits to transform the Simogga in a RP-Mogga with an

integrated CF module or a CF-Mogga with an integrated RP module.

In this chapter, a lot of parameters are used: operator rates, probability to used

heuristics during the initialisation phases, etc. All these parameters are justified in

the following chapter which presents the validation phase.

Chapter 7

Validation

7.1 Introduction

This chapter is dedicated to the validation of the algorithm. Firstly, the best heuris-

tics are selected analysing of each problem individually. On the basis of these selected

heuristics, the algorithm Simogga is validated with one criterion: the maximisation

of the traffic within cells. After these comparisons, some adaptations are proposed

to optimise the algorithm. This simultaneous resolution is then compared with the

sequential or successive resolution with an integrated module (an heuristic or another

Gga). The study and the explanation of all parameters are finally presented.

It is known that a genetic algorithm contains a lot of random parts. To evaluate

the effect of the parameters or heuristics and not the random part, the algorithm is

always run 10 times. All figures and comparative tables in this section are based on

the average results computed on these 10 runs.

A set of ideal case studies have been created to validate and optimise the heuris-

tics, the operators and all the fixed parameters in the Simogga. All these cases

are ideal and can be grouped into completely independent cells without inter-cellular

traffic. 20 cases including between 4 and 40 machines compose the set of ideal case

studies. Several variants of these cases have been constructed taking the rate of al-

ternative routing (RA) and the rate of alternative process (P A) into account. These

parameters, RA and P A, vary between 0% and 100% to generate cases with less or

more alternativities. All combinations of these parameters’ have been used to create

a large variety of different cases (RA and P A taking respectively the values 0, 20,

60, 100). For instance, a case with RA = 20 and P A = 60 means that 20% of the

machine types include more than one machine and that 60% of the parts have more

than one process route available. For such cases, the RP problem will deal with

the search of the best process for this 60% of parts and with the search of the best

machine among the 20% of machine types. A total of 320 cases (20 cases with 16

variants RA-PA) have been used to validate all the parameters of the Simogga.

Table 7.1 gives the size of the RP-search space and CF-search space for all the

ideal case studies corresponding to the four sets of alternativity ((0 − 0), (0 − 100),

(100 − 0) and (100 − 100)). All the results presented in this thesis are based on these

cases.

131

132 CHAPTER 7. VALIDATION

(RA, P A)

(0 − 0) (0 − 100) (100 − 0) (100 − 100)

RP CF RP CF RP CF RP CF

CI1 1 3 × 1000 3 × 1002 3 × 1000 1 × 1002 3 × 1000 1 × 1004 3 × 1000

CI2 1 1 × 1001 1 × 1003 1 × 1001 2 × 1006 1 × 1001 1 × 1009 1 × 1001

CI3 1 2 × 1001 4 × 1003 2 × 1001 4 × 1006 2 × 1001 4 × 10 10

2 × 1001

CI4 1 3 × 1002 1 × 1005 3 × 1002 8 × 1006 3 × 1002 1 × 1016 3 × 1002

CI5 1 6 × 1003 5 × 1005 6 × 1003 1 × 1011 6 × 1003 2 × 10 19

6 × 1003

CI6 1 1 × 1005 2 × 1007 1 × 1005 1 × 1028 1 × 1005 3 × 10 38

1 × 1005

CI7 1 2 × 1004 8 × 1006 2 × 1004 9 × 1018 2 × 1004 1 × 10 24

2 × 1004

CI8 1 3 × 1006 3 × 1007 3 × 1006 6 × 1030 3 × 1006 8 × 1044 3 × 1006

CI9 1 5 × 1008 9 × 1009 5 × 1008 4 × 1041 5 × 1008 1 × 10 50

5 × 1008

CI10 1 1 × 1011 4 × 1012 1 × 1011 6 × 1052 1 × 1011 3 × 10 62

1 × 1011

CI11 1 2 × 1013 7 × 1013 2 × 1013 6 × 1065 2 × 1013 2 × 10 82

2 × 1013

CI12 1 1 × 1006 8 × 1006 1 × 1006 2 × 1038 1 × 1006 3 × 1045 1 × 1006

CI13 1 3 × 1009 3 × 1007 3 × 1009 5 × 1048 3 × 1009 2 × 10 64

3 × 1009

CI14 1 5 × 1012 7 × 1010 5 × 1012 7 × 1060 5 × 1012 3 × 10 78

5 × 1012

CI15 1 1 × 1016 7 × 1013 1 × 1016 2 × 1065 1 × 1016 3 × 10 88

1 × 1016

CI16 1 3 × 1019 4 × 1016 3 × 1019 3 × 1074 3 × 1019 2 × 10101 3 × 1019

CI17 1 3 × 1012 2 × 1010 3 × 1012 2 × 1054 3 × 1012 2 × 1069 3 × 1012

CI18 1 7 × 1016 7 × 1013 7 × 1016 7 × 1063 7 × 1016 4 × 10 78

7 × 1016

CI19 1 2 × 1021 7 × 1016 2 × 1021 1 × 1081 2 × 1021 5 × 10110 2 × 1021

CI20 1 7 × 1025 6 × 1020 7 × 1025 6 × 1089 7 × 1025 6 × 10114 7 × 1025

In the previous chapter, different heuristics were described. These heuristics have

been validated by treating each of the three problems individually:

• The selection of good process for each part (process selection - PS).

lem - RP).

• The grouping of all machines into independent cells (cell formation problem -

CF).

To test these three problems separately, Table 7.2 presents the values used for

the parameters RA and P A to test and to validate each heuristic separately.

RA PA

Cell formation problem (CF) 0 0

Process selection (PS) 0 100

Resource planning problem (RP) 100 0

Table 7.2: Value of parameters, RA and PA, to test the three individually problems.

in the case. There is no process selection problem and each operation can be achieved

only by one machine. The RP problem owns a unique solution. The problem is a

simple grouping problem of machine into cells (CF problem). If the parameter RA

is equal to 100 and the parameter P A maintains the value 0, the RP problem deals

7.2. SEPARATED RESOLUTION 133

with the search of the best machine for each operation to generate independently

cells. On the contrary, if it is the parameter P A that is equal to 100, the RP problem

must solve a process selection problem. The search will be on the choice of the best

process for each part to generate independently cells.

To reach these separately objectives, four ideal case studies are used. The char-

acteristics of these cases are presented in Table 7.3.

RA = 0, P A = 0 CI5 CI10 CI15 CI20

No machine types 11 23 29 40

No machines 11 23 29 40

No parts 19 41 45 63

No process 19 41 45 63

No operations 81 183 194 286

No cells 3 4 5 6

Cell size 4 6 6 7

No solution RP 1 1 1 1

No solution CF 5775 9.62 × 1010 1.14 × 1016 6.82 × 1025

RA = 0, P A = 100 CI5 CI10 CI15 CI20

No machine types 11 23 29 40

No machines 11 23 29 40

No parts 19 41 45 63

No process 38 82 90 126

No operations 169 335 387 597

No cells 3 4 5 6

Cell size 4 6 6 7

No solution RP 5.24 × 105 4.40 × 1012 7.04 × 1013 5.90 × 1020

No solution CF 5775 9.62 × 1010 1.14 × 1016 6.82 × 1025

RA = 100, P A = 0 CI5 CI10 CI15 CI20

No machine types 8 11 15 19

No machines 11 23 29 40

No parts 18 36 47 58

No process 36 72 94 116

No operations 81 158 209 260

No cells 3 4 5 6

Cell size 4 6 6 7

Nb solution RP 1.38 × 1011 6.49 × 1052 1.76 × 1065 6.14 × 1089

Nb solution CF 5775 9.62 × 1010 1.14 × 1016 6.82 × 1025

RA = 100, P A = 100 CI5 CI10 CI15 CI20

No machine types 8 11 15 19

No machines 11 23 29 40

No parts 18 33 46 63

No process 36 66 92 126

No operations 136 282 405 519

No cells 3 4 5 6

Cell size 4 6 6 7

No solution RP 2.32 × 1019 2.61 × 1062 3.01 × 1088 5.82 × 10114

No solution CF 5775 9.62 × 1010 1.14 × 1016 6.82 × 1025

Table 7.3: Value of parameters for each case study used to validate the heuristics.

The parameters used for the validation of the Simogga in separate resolutions

are the following:

1. The number of generations is set to 100. The objective is to find the solution

within a minimum of generations to limit the time to search.

2. The population size is set to 16. It is a small population size to solve small and

134 CHAPTER 7. VALIDATION

3. The mutation rate is set to 10. One chromosome is mutated when the best

chromosome is not changed after 10 generations.

7.2.1 Heuristic CF

As explained below, to validate the CF heuristic, it is necessary that the heuristic

can solve a simple grouping problem without alternativity. Setting the parameters

RA and P A equal to zero, the Simogga will solve only the CF problem. The case

studies used for the validation of the CF heuristic are the four cases (CI5, CI10,

CI15 and CI20) with RA = 0 and P A = 0 presented in Table 7.3. All the operator

rates are equal to 0% for the RP problem. The Simogga will work exactly as a

simple Mogga that solves a CF problem.

Respecting the description of the data in chapter 4, all heuristics tested in this

section try to group nM machines into nC cells respecting the cell size limit (mU B ).

A number of cells inferior to nC can be used. If the capacity constraints permits

the use of less than nM machines, the proposed solution does not need to use all the

machines.

Four heuristics have been analysed and compared to validate the final heuristic,

the Flow Heuristic CF. The different heuristics are succinctly described here under:

are put randomly in a list. Visiting randomly the cells, the first machine

of the list is placed into the first cell found and able to accept the machine

(respecting the hard constraints about the cell size).

Heur2 The Max Flow Cell Heuristic CF. Using the same principle as for the

Random Heuristic CF, the machine m is allocated into the cell c maximising

the intra-cellular traffic (φm−c ).

6.4.2). Following the same principle as the Random Heuristic CF, the ma-

chine m is allocated into the cell maximising the total intra-cellular traffic

(φm−c ), taking the machine not yet assigned (n) into account. If there is

a flow between the machine and another not yet assigned (φm−n ) machine,

a new cell is added to the system if the maximum number of cells is not

reached.

Heur4 The Random Harhalakis Heuristic CF. For each machine (m), the traf-

fic is computed with all used cells and with all unassigned machines. The

machine with the maximum flow with a machine n (φm−n ) or with a cell

c (φm−c ) is treated. If φm−n > φm−c , the machine m is grouped with the

other machine n in a new group. Otherwise, the machine m is injected in

the cell c with the maximum flow.

With a similar initial population (randomly constructed by heuristic 1), the four

heuristics are analysed and compared. Figure 7.1 represents the evolution of the

7.2. SEPARATED RESOLUTION 135

intra-cellular flow for the best solution during the 15 first generations. One colour is

used for each of the four tested heuristics. Four cases (CI5, CI10, CI15 and CI20)

without alternativity represented respectively by the symbols (∆,O,×, ⋄) are drawn

with the four heuristics. As shown the figure, the third heuristic (continuous line)

presents the best evolution for the 4 cases.

Table 7.4 shows the number of generations needed to find 100% of intra-cellular

flow and the intra-cellular flow for the best solution found after 100 generations

with different heuristics. The symbol “-” in the first column signifies that 100%

of intra-cellular flow is not reached before 100 generations. The Random Heuristic

(Heur1) presents a continual evolution, but the ideal solution is not found after 100

generations. The heuristics 2, 3 and 4 are different mainly regarding the rapidity to

find the best solution.

Gen Flow Gen Flow Gen Flow Gen Flow

Heur. 1 30 100 - 98 - 88 - 69

Heur. 2 5 100 16 100 18 100 26 100

Heur. 3 3 100 8 100 16 100 20 100

Heur. 4 4 100 14 100 17 100 27 100

Table 7.4: Best values with a same initialisation after 100 generations using 4 CF

heuristics for the cases RA = 0 and P A = 0.

In this paragraph, the use with a specific heuristic is studied. For the four heuristics

applied to the 4 cases (CI5, CI10, CI15 and CI20 with RA = P A = 0), Table 7.5

presents the best flow obtained at the initialisation as well as the generation to reach

100% of intra-cellular flow and the best intra-cellular flow found after 100 generations.

As shown in the table, the third heuristic always generates a better set of solutions

at the initialisation and the optimum is reached faster than for the other heuristics.

The greater the case, the more important the efficiency of the third heuristic.

CI5 CI10

Heur. 1 73 32 100 51 - 94

Heur. 2 100 1 100 99 2 100

Heur. 3 100 1 100 100 1 100

Heur. 4 100 1 100 97 4 100

CI15 CI20

Heur. 1 44 - 84 39 - 67

Heur. 2 99 4 100 92 10 100

Heur. 3 100 1 100 99 4 100

Heur. 4 97 5 100 90 12 100

Table 7.5: Best values after 100 generations using 4 CF heuristics for the cases

RA = 0 and P A = 0.

136

100,00

90,00

CI5_Heur1

CI5_Heur2

CI5_Heur3

80,00

CI5_Heur4

CI10_Heur1

Intra-cellular flow

CI10_Heur2

70,00

CI10_Heur3

CI10_Heur4

CI15_Heur1

60,00

CI15_Heur2

CI15_Heur3

CI15_Heur4

50,00

CI20_Heur1

CI20_Heur2

CI20_Heur3

CHAPTER 7. VALIDATION

40,00

CI20_Heur4

30,00

0 5 10 15

Generations

Figure 7.1: Evolution of the intra-cellular flows for 4 different CF heuristics applied to a same initial population.

7.2. SEPARATED RESOLUTION 137

The third CF heuristic based on the intra-cellular flow will be used for the Simogga

to initialise the chromosome when the RP-part has been created. This heuristic

is also used to reconstruct all chromosomes after the genetic operators when the

chromosome must be constructed firstly by the RP-part. The random CF heuristic

is used in all the other cases.

7.2.2 Heuristic RP

To validate the RP heuristic as the CF heuristic has validated, it is necessary to run

the Simogga as a simple Mogga solving the RP problem. To reach this objective,

the parameters RA is set to 100% while the parameter P A is set to 0. Moreover, it

is necessary to give the best solution for the CF problem. The operator rates for the

CF problem are set to 0.

To validate this RP heuristic, the initialisation phase is slightly different compared

to the Simogga. A copy heuristic CF is used. This heuristic just copies the best

solution CF (given as a data of the problem) rather than constructing the CF solution

with a random or a specialised heuristic. 100% of the population is constructed with

the Process Heuristic RP after the copy of the best CF-solution.

Respecting the description of the data in chapter 4, all heuristics compared in

this section try to allocate nO operations onto nM machines respecting the capability

and the capacity constraints. Four heuristics have been analysed and compared to

validate the final heuristic, the Process Heuristic RP. The different heuristics are

succinctly described below:

are put randomly in a list. Visiting randomly the used machines, the first

operation of the list is placed onto the first machine found and able to accept

the machine (respecting the hard constraints about capacity and capability

of the machine). A new machine is added to the system if the maximum

number of machines is not reached.

Heur2 The Max Flow Cell Heuristic RP. Using the same principle as for the

Random Heuristic RP, the operation is allocated onto the machine maximis-

ing the traffic between the previous operation and the next operation.

Heur3 The Cell Flow Heuristic RP. A flow matrix is computed at the initial-

isation and updated after each assignment of an operation on a specific

machine. The search of a machine to allocate the first operation belonging

to the random list proceeds as follows: each machine is tested and the intra-

cellular flow generated by this assignment is computed. The operation will

be allocated to the machine maximising the total intra-cellular flow.

tion 6.4.3). The vector of priority cells is computed at the initialisation. This

vector contains the identification of the cells that can achieve the maximum

of the operations for each part. Using the same principle as for the Random

138 CHAPTER 7. VALIDATION

Heuristic RP, the first operation of the random list is selected and all ma-

chines belonging to the priority cell are visited. The operation is allocated

to the first machine able to accept the operation.

The second and third heuristics are based on the matrix flow, while the fourth

one is based on the priority cell and the number of operations achievable by a cell.

All these last three heuristics can be used only if the machine/cell grouping is already

made.

Figure 7.2 shows the evolution of the best intra-cellular flow during the 15 first

generations. The four heuristics are represented for the four cases (CI5, CI10, CI15

and CI20) with RA = 100 and P A = 0 of Table 7.3. As shown in Figure, the fourth

heuristic goes very quickly to the optimal solution. On the contrary, the second

heuristic presents an evolution more similar to the random heuristic (heuristic 1).

Table 7.6 contains the main solutions (number of generations needed to find the

100% of intra-cellular flow and the value of the best flow found after 100 generations)

for a similar initialisation with the random heuristic 1. The results show that the two

first heuristics do not find the optimal solution within 100 generations. The result

is similar for the third heuristic except for the smallest case CI5. The last heuristic

based on the computation of a priority cell is the only heuristic that finds the optimal

solution in a very small number of generations.

RA = 100, P A = 0 CI5 CI10 CI15 CI20

Gen Flow Gen Flow Gen Flow Gen Flow

Heur. 1 - 94 - 84 - 79 - 76

Heur. 2 - 94 - 84 - 80 - 77

Heur. 3 61 100 - 97 - 99 - 98

Heur. 4 12 100 35 100 18 100 21 100

Table 7.6: Best values with a same initialisation after 100 generations using 4 RP

heuristics for the cases RA = 100 and P A = 0.

The table 7.7 presents different parameters (initialisation flow, number of generations

needed to achieve 100% and best flow after 100 generations) to compare the four

heuristics. The heuristic 4 is the best. While the three first heuristics do not reach

100% of intra-cellular flow in 100 generation, the fourth heuristic finds this level at

the initialisation.

As shown by all the previous results, the fourth RP heuristic with the use of the

priority cells is the most efficient whatever the complexity of the treated case. This

fourth heuristic will be used for the Simogga to initialise the chromosome when

the CF-part has been already created. This heuristic is also used to reconstruct all

chromosomes after the genetic operators when the chromosome must be constructed

firstly by the CF-part. The random RP heuristic is used, in all the other cases.

7.2. SEPARATED RESOLUTION

100,00

90,00

CI5_Heur1

CI5_Heur2

CI5_Heur3

80,00

CI5_Heur4

CI10_Heur1

Intra-cellular flow

CI10_Heur2

70,00

CI10_Heur3

CI10_Heur4

CI15_Heur1

60,00

CI15_Heur2

CI15_Heur3

CI15_Heur4

50,00

CI20_Heur1

CI20_Heur2

40,00 CI20_Heur3

CI20_Heur4

30,00

0 5 10 15

Generations

Figure 7.2: Evolution of the intra-cellular flow for the best solution constructed with RP heuristics applied to a same initial population.

139

140 CHAPTER 7. VALIDATION

CI5 CI10

Heur. 1 78 - 95 48 - 83

Heur. 2 78 - 94 48 - 82

Heur. 3 87 71 100 70 - 97

Heur. 4 100 0 100 100 0 100

CI15 CI20

Heur. 1 51 - 80 46 - 74

Heur. 2 52 - 80 47 - 76

Heur. 3 74 - 98 70 - 97

Heur. 4 100 0 100 100 0 100

Table 7.7: Best values after 100 generations using 4 RP heuristics for the cases

RA = 100 and P A = 0.

To validate the chosen process selection, the procedure is similar to that the RP

heuristic. The best CF-solution is transmitted to the Simogga as a data of the

problem. The parameter P A is worth 100% while the parameter RA is equal to

zero. The initialisation phase is modified the same way for the validation of the

RP-heuristic.

Before running the Process Heuristic RP, a process selection must be done. In-

deed, the Process Heuristic RP treats all operations belonging to the selected process.

There are no changes in the process selection after the initialisation, when the allo-

cation of operations starts.

Two process selections have been tested. The first one consists of choosing ran-

domly one available process for each part without a selected process. If the actual

solution contains no operation from a part, there is no selected process for this part.

As shown in the previous section, the best heuristic RP is a heuristic based on the

priority cell. The process selection will be based on the same principle. If there

is no selected process for a part, the process containing the maximum number of

operations, achievable inside the same cell, will be selected. A checkout is done for

all selected processes. If a process can be completely achieved inside a cell and is

not selected, the process selection imposes this process and removes all operations

belonging to another process.

Figure 7.3 presents the evolution of the intra-cellular flow for four cases (CI5,

CI10, CI15 and CI20) with RA = 0 and P A = 100 of Table 7.3. This figure

presents the two process selections.

As shown by the curves for the specific process selection in Figure 7.3, the result

of the specific process selection is reached as fast as for the random selection. This

result can be explained by the reduced number of solutions. Another reason that

explains these similar curves is the reduced number of generations (10) represented

on the figure. The difference between both process selections is found in the next

generations. In the random process selection, the evolution of the best intra-cellular

flow is fast during the first generations but very slow to reach the optimal solution

after 95% as shown in Table 7.8.

7.2. SEPARATED RESOLUTION

100,00

95,00

90,00

CI5_Pr1

CI5_Pr2

85,00

Intra-cellular flow

CI10_Pr1

CI10_Pr2

80,00 CI15_Pr1

CI15_Pr2

CI20_Pr1

75,00

CI20_Pr2

CI21_Pr1

70,00 CI21_Pr2

65,00

60,00

0 5 10

Generations

Figure 7.3: Evolution of the best intra-cellular flow for a same initialisation with the random heuristic.

141

142 CHAPTER 7. VALIDATION

Table 7.8 permits to study the complete evolution during 100 generations. This

table gives the initial flow, the number of generations needed to find 100% of intra-

cellular flows and the best flow found after 100 generations. The first row shows the

results of the random process selection while the second and third rows are based on

the specific process selection. The random process selection is used to initialise the

population in the second row. This row permits to compare the evolution between

the two process selections from a similar population. On the other hand, for the third

row, the specific process selection is used to construct and to make the population

evolve.

RA = 0, P A = 100 Init Gen Flow Init Gen Flow

CI5 CI10

Proc. 1 76 14 100 76 25 100

Proc. 2 with init. 1 76 7 100 76 12 100

Proc. 2 100 0 100 100 0 100

CI15 CI20

Proc. 1 75 39 100 67 37 100

Proc. 2 with init. 1 75 15 100 67 21 100

Proc. 2 100 0 100 100 0 100

Table 7.8: Best values after 100 generations for two process selections.

For a similar initialisation, the best intra-cellular flow is found after half the

number of generations. It is interesting to see that when the best CF-solution is

found (here, a copy of the best CF-solution is used), the best process selection is

found immediately by the Process Heuristic RP with the specific process selection

based on the priority cell. The choice of the RP heuristic has been done on the basis

of cases with RA = 100 and P A = 0 while the process selection has been validated

on the basis of the cases with RA = 0 and P A = 100.

To evaluate the efficiency of the process selection, the cases (RA = 100 and

P A = 100) are used. Table 7.9 and Figure 7.4 presents the best intra-cellular flow

for the cases with a large alternativity (CI5, CI10, CI15 and CI20 with RA = 100

and P A = 100). The Process Heuristic RP selected in section 7.2.2 is combined

with the specific process selection and compared with the RP heuristic 1 (Random

Heuristic), 2 and 3 with the Random Process Selection.

Gen Flow Gen Flow Gen Flow Gen Flow

Heur. 1 - 97.5 - 76.1 - 73.7 - 69.4

Heur. 2 - 97.6 - 77.4 - 74.3 - 77.4

Heur. 3 - 99 - 95.6 - 96.9 - 94.8

Heur. 4 10 100 - 98.6 40 100 50 100

Table 7.9: Best values with a same initialisation after 100 generations using 4 RP

heuristics for the cases RA = 100 and P A = 100.

Figure 7.4 and Table 7.9 show that the result for the four case studies are always

good when the alternative routings and the alternative processes exist in the case.

The fourth heuristic combined to the process selection is optimum as soon as the

optimal CF-solution is known, except for the case CI10. Indeed, this case is initialised

at 45.5% and the population evolves until 98.5% is found at the 61st generation. The

population does not evolve during the last 40 generations.

7.2. SEPARATED RESOLUTION 143

Table 7.10 shows the values of the initialisation flow, the best number of gener-

ations to find 100% and the best flow found after 100 generations when the specific

heuristics are used for the initialisation. The best value (97.7%) found at the initiali-

sation of the case CI10 evolves until the same optimum as the previous test (98.5%).

The solution stays blocking in a local optimum.

CI5 CI10

Heur. 1 65 - 99.1 45 - 81.5

Heur. 2 68 - 97.7 45 - 79.2

Heur. 3 79 - 99.6 63 - 96.6

Heur. 4 100 0 100 97.7 - 98.5

CI15 CI20

Heur. 1 39 - 75.2 36 - 74.6

Heur. 2 38 - 76.1 37 - 78.5

Heur. 3 58 - 97.5 55 - 96.6

Heur. 4 100 0 100 100 0 100

Table 7.10: Best values after 100 generations using 4 RP heuristics for the cases

RA = 100 and P A = 100.

The test has been made on a last case (CI21) composed by twice the elements

of the case CI20. In grouping 80 machines in 12 cells, the results are similar for the

four heuristics (67, 73, 93 and 100% of intra-cellular flow with the heuristics 1, 2, 3

and 4). The fourth heuristic finds still the best solution at the initialisation.

The fourth RP heuristic with the specific process selection will be used for the

Simogga to initialise the chromosome when the CF-part has been already created.

Using the forced process selection with the priority process, this RP heuristic is op-

timum when the best CF-part is transmitted and the RP-part must be completely

constructed. This heuristic is also available when a part of the RP-part is already

constructed (after a genetic operator) as shown in Table 7.9. With a random pop-

ulation, this heuristic always finds the optimum solution in a reduced number of

generations.

7.2.4 Conclusion

Four heuristics for each problem, RP and CF, and two different process selections have

been tested and compared in this section. All these heuristics have been validated on

a specific part of the problem. The selected heuristics have different characteristics.

The best heuristic CF is based on a maximisation of the intra-cellular flow. The

best heuristic RP is based on the maximisation of the number of operations by part

assigned inside the same cell, in computing a priority cell for each process. The

process selection is based on the best heuristic RP and on the maximisation for each

part of the number of operations inside the priority cell.

In the next section, these chosen heuristics are analysed on the complete problem,

process selection (PS), resource planning problem (RP) and cell formation problem

(CF).

144

100,00

90,00

CI5_Heur1

CI5_Heur2

CI5_Heur3

80,00

CI5_Heur4

CI10_Heur1

Intra-cellular flow

CI10_Heur2

70,00

CI10_Heur3

CI10_Heur4

CI15_Heur1

60,00

CI15_Heur2

CI15_Heur3

CI15_Heur4

50,00

CI20_Heur1

CI20_Heur2

40,00 CI20_Heur3

CHAPTER 7. VALIDATION

CI20_Heur4

30,00

0 5 10 15

Generations

Figure 7.4: Evolution of the best intra-cellular flow for an similar initialisation with the random heuristic for cases with RA = 100 and

P A = 100.

7.3. SIMULTANEOUS RESOLUTION 145

In this section, the Simogga is validated on the basis of one criterion: the max-

imisation of the percentage of intra-cellular flow. All heuristics have been validated

individually in the previous section. The objective of this validation is to prove that

these chosen heuristics continue to give the optimal solution when the three problems

are treated simultaneously. Several adaptations will be proposed to optimise the re-

sults. The Simogga will next be compared with the successive methods (Mogga

with integrated module).

To validate the Simogga with the specific validate heuristics (Flow Heuristic CF

and Process Heuristic RP with the specific process selection), the ideal case studies

used in this section are the CI1 to CI20 with three set of values for parameters

RA and P A (100 − 0, 0 − 100 and 100 − 100). In testing these three set of cases,

the sensitivity of the algorithm relative to the three parts of the resolution can be

analysed.

The parameters used for the validation of the Simogga are the following:

1. The number of generations is set to 100. The objective is to find the best

solution in a reduced time.

medium to large cases without taking too much time.

3. The mutation rate is set to 10: one chromosome is mutated when the best

chromosome is not changed after 10 generations.

4. The crossover rate is set to 80%. For RP and for CF problem, the operators

are fixed to 80%. In this way, at each use of operators, there is a probability

of 20% to apply the crossover only between the RP-part, 20% on RP-part and

60% on both problems (as explained in section 6.2.2).

the Flow heuristic CF and 45% of the population is constructed with the Ran-

dom Heuristic CF following by the Process Heuristic RP. The last 10% of the

population is initialised completely randomly.

flow % gen % gen % gen % gen flow

RA = 0, P A = 100 71.25 100 7 100 9 100 11 100 14 100

RA = 100, P A = 0 77.4 83 33 61.5 42 51 53 44.5 60 95

RA = 100, P A = 100 82.95 73 38 55 51 45.5 63 36.5 78 93

Table 7.11: Values of the intra-cellular flow for ideal case studies (Average for different

values of RA and P A) - Complete value in Tables E.1, E.2 and E.3.

Table 7.11 presents the average results of the Simogga applied to the 20 cases for

the different sets of alternativity RA and P A ((0 − 100), (100 − 0) and (100 − 100)).

The first column shows the best intra-cellular flow found at the initialisation of the

population. The next columns show the percentage of cases and the average number

of generations to reach 90%, 95%, 98% and 100% of intra-cellular flow. The last

146 CHAPTER 7. VALIDATION

column gives the best flow found after 100 generations. The average number of

generations is computed only with the cases reaching the studied level. The symbol

“-” for a case signifies that none of the 10 runs reached this level.

Table 7.12 summarizes the best average values for each cases (average for each

case of all the four sets of alternativities). The first column contains the percentage

of cases reaching 100% of intra-cellular flow (%), the second one defines the number

of generations to reach this value (Gen) and the last one shows the maximum intra-

cellular flow found after 100 generations (Flow). The last column gives an idea of

the resolution time. This resolution time is defined in seconds. These values are

just written as an indication. Indeed, this value is not usable to make comparison

because the algorithm stops when the complete grouping is reached with 100% of

intra-cellular flow. The resolution time will be very different if the value of 100% is

found or not. For instance, if a case reaches 100% after 30 generations and another

one does not reach 100% after 100 generations, the resolution time for the first case

will be three times less than for the second case.

Average of RA, P A

% Gen Max Time

CI1 100 0 100 0.1

CI2 100 0.35 100 0.1

CI3 100 0.53 100 0.1

CI4 100 4.6 100 0.4

CI5 100 16.28 100 1.1

CI6 75 25.15 98.88 2.8

CI7 97.5 15.53 99.93 1.6

CI8 77.5 23.8 99.08 4.3

CI9 77.5 36.58 98.6 5.9

CI10 50 7.6 95.03 10

CI11 50 12 94.83 16

CI12 60 12.13 97.43 4.8

CI13 52.5 21.07 98.03 8

CI14 50 9.35 94.58 13.1

CI15 60 35.2 94.25 18.8

CI16 50 14.2 96.68 25.2

CI17 52.5 23.53 97.88 9.3

CI18 52.5 31.3 94.93 15.2

CI19 50 15.1 92.25 27.5

CI20 50 19.05 92.45 35.4

Aver. 70.25 18.98 97.23 10

Table 7.12: Comparative table with best values for a population of 32 chromosomes

after 100 generations (Average of four sets of alternativity). See complete Table E.4.

Different observations can be made looking at the resolution of these case studies

(see complete Tables E.1, E.2, E.3 and E.4 in appendix E):

The maximum values (383s) are found for the case CI12 with complete al-

ternativity. In average, the resolution time passes from 0.3s for RA = 0 and

P A = 0 to 6.4s (0 − 100), 9s (100 − 0) and 24.2 for the last set of alternativity

(100 − 100).

7.3. SIMULTANEOUS RESOLUTION 147

The mutation is used in the Simogga to modify one chromosome when the

population is not diversified enough. The transformation made by the mutation

modifies the grouping just a little bit, without touching the selected process.

Analysing the mutation in details, when it is applied on the best chromosome

of the population, the modifications are not efficient. If the best solution does

not contain all machines, the mutated chromosome is almost never modified in

terms of the number of machines.

3. A good CF-solution does not always imply the best RP-solution.

If the CF-part permits to achieve some parts completely inside a cell, the

Simogga does not find the best solution for the RP-part. As observed in

section 7.2.3, the heuristic RP was optimal as a first construction. For a re-

construction after genetic operators, several generations were necessary to find

the optimal. When the three problems must be solved simultaneously, the

Simogga can find the best CF-part without concentrating on this solution.

All the solutions continue to evolve during the next generations.

4. The solutions can stay in a local optimum.

In running 10 tests for each set of parameters, some tests do not achieve the

best solution. The best found solution stagnates at a value inferior to 100%.

5. A capacity limitation can limit the search space.

When there is a great alternativity in the case, some part can have more than

one priority cell, i.e. a cell able to achieve all the operations of the process for

the part. Depending on the choice for the priority cells for these parts, other

parts can not be inserted in their priority cell because the capacity limit is

reached.

An optimisation could consist of inserting first the operations whose the part

has one priority cell. The operations belonging to the parts having more priority

cells can be assigned next. If there is a problem of capacity, the process can be

changed.

Average of cases

% Gen Max

RA = 0, P A = 0 100 0.1 100

RA = 0, P A = 100 100 14.4 100

RA = 100, P A = 0 44.5 34.7 95.2

RA = 100, P A = 100 36.5 26.7 93.7

Aver. 70.25 18.98 97.23

Table 7.13: Comparative table with best values for a population of 32 chromosomes

after 100 generations (Average of cases). See complete Table E.4.

Table 7.13 summarizes the best average values for each set of alternativity (aver-

age of all the cases). From these results different conclusions can be made:

1. The algorithm Simogga finds the optimal solution in 70.25% of the ideal case

studies.

148 CHAPTER 7. VALIDATION

2. The Simogga solves easily all cases without alternativity or with alternative

processes (0 − 100). These cases correspond to a search space of maximum

10 × 1046 solutions.

3. The optimal solution is found for the first five cases with 100% of alternative

routings. The size of search space for these cases is maximum 10×1043 solutions.

4. Between 10 × 1043 and 10 × 1060 solutions, the optimal solution is found in 50%

of the cases.

7.4 Adaptation

In section 6.6, different improvements, with a local optimisation, have been explained.

These modifications have been made to respond to the observations in section 7.3.

The algorithm with the local optimisation is run for all cases (CI1 to CI20 with

four sets of alternativity RA and P A ((0 − 0), (0 − 100), (100 − 0) and (100 − 100)).

The results of Table 7.14 present for each set of alternativity the average values

on the 20 case studies for different parameters: the percentage of cases and the

number of generations needed to reach 90%, 95%, 98% and 100% of intra-cellular

flow. The last row defines the average values of the best intra-cellular flow found

after 100 generations. For each set of alternativity, the first column gives the results

without the local optimisation and the second column with local optimisation. The

percentage of cases is evaluated on 200 tests (10 runs for the 20 cases corresponding

to 200 tests). The average percentages of the number generations include only the

cases that reached the level.

/ OL / OL / OL / OL / OL

% 90 100 100 100 100 83 100 73 93 89 98.13

Gen 90 0 0 8 8 33 9 32 17 18.38 8.26

% 95 100 100 100 100 62 99 55 81 79.13 94.88

Gen 95 0 0 10 10 36 13 27 21 18.42 11.02

% 98 100 100 100 100 51 94 46 75 74.13 92.13

Gen 98 0 0 12 11 29 19 34 33 18.77 15.84

% 100 100 100 100 100 45 87 37 61 70.25 86.88

Gen 100 0 0 14 13 24 22 12 32 12.69 16.65

Best flow 100 100 100 100 95 99 93 97 97.24 99.29

Time 0.2 0.2 6.4 11.2 9 9.4 24.1 36.6 9.97 14.4

Table 7.14: Best evolution values without and with the local optimisation.

Table 7.15 presents the final average results for the algorithm without and with

the local optimisation after 100 generations for each of the 20 cases (average of the

four sets of alternativity). The shown values are the percentages of cases reaching

100% of intra-cellular flow, the best generation number to achieve this level, and the

best flow found. The last row defines the average of 20 cases while the three last

columns present the average for each case on the four sets of alternativity.

7.4. ADAPTATION 149

% Gen Max Time % Gen Max Time

CI1 100 0 100 0.1 100 0 100 0.1

CI2 100 0.35 100 0.1 100 0.33 100 0.2

CI3 100 0.53 100 0.1 100 0.35 100 0.1

CI4 100 4.6 100 0.4 100 2.58 100 0.5

CI5 100 16.28 100 1.1 100 4.13 100 0.7

CI6 75 25.15 98.88 2.8 100 6.63 100 1.2

CI7 97.5 15.53 99.93 1.6 100 4.73 100 1

CI8 77.5 23.8 99.08 4.3 100 11.55 100 3

CI9 77.5 36.58 98.6 5.9 97.5 12.78 99.93 4.9

CI10 50 7.6 95.03 10 70 23.28 99.13 15.3

CI11 50 12 94.83 16 67.5 40.58 98.8 26.6

CI12 60 12.13 97.43 4.8 80 16.8 99.5 6.3

CI13 52.5 21.07 98.03 8 90 21.08 99.85 8.8

CI14 50 9.35 94.58 13.1 80 26.85 98.28 17.6

CI15 60 35.2 94.25 18.8 80 34.58 97.95 27.1

CI16 50 14.2 96.68 25.2 75 31.8 99.18 39.3

CI17 52.5 23.53 97.88 9.3 92.5 21.78 99.73 10

CI18 52.5 31.3 94.93 15.2 80 28.58 98.68 21.7

CI19 50 15.1 92.25 27.5 65 29.46 97.5 47.1

CI20 50 19.05 92.45 35.4 60 30.18 97.35 56.4

Aver. 70.25 18.98 97.23 10 86.88 17.53 99.28 14.4

Table 7.15: Comparative table with best values for the algorithm without and with

the local optimisation after 100 generations and 32 chromosomes (average of four sets

of alternativity). See complete Table E.5.

lection. There is no influence on the cases without alternativity (0 − 0). If the

algorithm is run on a larger case without alternativity (80 machines, 10 × 1072

solutions), the resolution time is greater with the local optimisation.

• On the cases (0 − 100), the best flow is always found, without or with local

optimisation. However, the number of generations to find this best flow is

slightly reduced. The best improvement is observed on the case CI20 with a

reduction of 8 generations out of 36 to find the optimal solution.

• A great improvement is noticed on the cases (100 − 0). All cases are improved

in terms of the number of generations and/or the best found flow. Because of

the local optimisation, the optimal solution is found for 87% of the cases while

99% of the cases reach 95% of intra-cellular flow. This improvement represents

an increasing of 37%. The evolution to find the best flow is quicker with the

local optimisation than without. In average, the best flow passes from 95.2%

to 99.6% with the local optimisation. The maximum average increase of total

intra-cellular flow is seen in CI10 with 11.4% more and CI20 with 11.2% more.

find the best flow. Moreover, the optimal solution is found for 24% cases more,

and the average best flow increases from 93.7 to 97.7%. The maximum average

150 CHAPTER 7. VALIDATION

flow.

• As explained previously, the average time is just given for information because

the algorithm stops when 100% of intra-cellular flow is reached. It shows that

the algorithm with local optimisation finds the best solution in a lower number

of generations but takes more time.

• In taking the 20 cases for the four sets of alternativity (a total of 800 tests)

into account, the percentage of cases reaching 100% of grouping passes from

70.25% to 86.88% with the local optimisation.

The parameters used for the validation of the Simogga are the following ones:

1. The population size is set to 32. It is a medium size of population to solve

medium to large cases without taking too much time.

2. The mutation rate is set to 10. One chromosome is mutated when the best

chromosome is not changed after 10 generations.

3. The crossover rate is set to 80%. If a random number (∈ [0, 100]) is smaller

than 80, the operator is applied on the RP-part and if this number is greater

than 20, the operator will be applied on the CF-part. Thus, the operators are

applied with a probability of 20% only between the RP-part, 20% on RP-part

and 60% on both problems.

by the Flow heuristic CF and 45% of the population is constructed with the

Random Heuristic CF following by the Process Heuristic RP. The last 10% of

the population is initialised completely randomly.

To evaluate the efficiency of the algorithm, the number of generations is fixed to

1000. In this section, the objective is to find the best solution whatever the number

of generations. The time will be optimised later.

If the number of generations is increased, the optimal solution is found almost for

all of the 320 ideal case studies. The algorithm is run during 1000 generations with

a population of 32 and 64 chromosomes. Table 7.16 presents the average (on the 20

cases) of best values for four sets of alternativity RA and P A ((0 − 0), (0 − 100),

(100 − 0) and (100 − 100)), while Table 7.17 presents the average best values (on

four sets of alternativity) for the 20 cases. The first column exposes the percentages

of cases reaching 100% of intra-cellular flow. The second one defines the average

number of generations needed to reach this solution (100% of grouping) while the

third one indicates the best intra-cellular flow found after 1000 generations.

In taking the 20 cases for the four sets of alternativity (a total of 800 tests) into

account, the percentage of cases reaching 100% of grouping gets to 94.38% for 1000

generations in comparison to the 88.1% for 100 generations. The average best flow

7.5. EFFICIENCY OF THE ALGORITHM 151

% Gen Max % Gen Max

RA=0,PA=0 100 0.5 100 100 0.4 100

RA=0,PA=100 100 13.8 100 100 11.5 100

RA=100,PA=0 98 42.3 100 97.5 44.2 100

RA=100,PA=100 84.5 139.6 99.6 92.5 58.2 99.8

Average 95.63 49.05 99.9 97.5 28.58 99.95

Table 7.16: Average best values for the algorithm with the local optimisation after

1000 generations (32 and 64 chromosomes) for four sets of alternativity. See complete

Tables E.6 and E.7

(RA − P A) Pop. size=32 Pop. size=64

% Gen Max % Gen Max

CI1 100 4.33 100 100 2.6 100

CI2 100 0.08 100 100 0 100

CI3 100 0.3 100 100 0.05 100

CI4 100 2.38 100 100 0.88 100

CI5 100 3.33 100 100 2.78 100

CI6 100 14.1 100 100 7 100

CI7 100 8.33 100 100 3.5 100

CI8 100 17.13 100 100 6.43 100

CI9 100 11.7 100 100 9.8 100

CI10 80 70.68 99.73 95 73.63 99.95

CI11 87.5 81.25 99.73 87.5 69.13 99.75

CI12 97.5 37.88 99.95 97.5 11.2 99.95

CI13 97.5 37.5 99.98 100 19.5 100

CI14 95 93 99.78 95 27.75 99.73

CI15 90 92.33 99.3 100 51.98 100

CI16 92.5 98.75 99.93 92.5 51.68 99.9

CI17 87.5 38.15 99.73 95 24.53 99.93

CI18 95 65.58 99.95 100 54.33 100

CI19 95 148 99.83 97.5 71.03 99.9

CI20 95 155.93 99.9 90 83.6 99.6

Average 95.63 49.05 99.9 97.5 28.58 99.95

Table 7.17: Average best values for the algorithm with the local optimisation after

1000 generations (32 and 64 chromosomes) for four each of 20 cases. See complete

Tables E.6 and E.7

is greater than 98.65% for all cases except one. The average best flow for the case

CI15 with RA = 100 and P A = 100 is equal to 97.2%.

For a population of 64 chromosomes, the results are similar in terms of the av-

erage best flow found after 1000 generations. In terms of the percentage of cases

reaching 100% of intra-cellular flow, this quantity passes from 95.63% to 97.5% with

a population of 64 chromosomes. Moreover, the minimum flow found after 1000 gen-

erations is 98.7%. This result is observed for the most complex case (CI20) with a

complete alternativity (100 − 100).

To evaluate the efficiency of the crossover, the algorithm is run without a crossover for

100 generations. Only the mutation operator is applied at each generation (Mutation

frequency= 1). The mutation is applied on 100% of the population (Mutation rate=

152 CHAPTER 7. VALIDATION

1× Population size). Table 7.18 presents the results of the test made on four cases

(CI5, CI10, CI15 and CI20) with four variants for the alternativity parameters RA

and P A ((0 − 0), (0 − 100), (100 − 0) and (100 − 100)). The algorithm is tested for

a population size of 32 chromosomes. The number of generations is fixed to 100. In

comparing the best flow found after 100 generations, this table permits to compare

the speed of the evolution with and without crossover. Without the crossover, the

search corresponds to a random search only done by mutation.

Init With crossover Without crossover

flow % Gen Max Time % Gen Max Time

RA = 0 and P A = 0

CI5 100 100 0 100 0.18 100 0 100 0.1

CI10 100 100 0 100 0.27 100 0 100 0.3

CI15 100 100 0.3 100 0.36 100 0 100 0.4

CI20 88 100 1.8 100 0.91 100 0.9 100 1.2

RA = 0 and P A = 100

CI5 79 100 6.5 100 1.27 100 23.4 100 5.3

CI10 64 100 15.2 100 10.82 0 - 97.8 100.2

CI15 64 100 23.5 100 17 0 - 95.4 132.9

CI20 52 100 36.3 100 55.36 0 - 88.3 320.8

RA = 100 and P A = 0

CI5 79 100 24.2 100 0.27 100 8.8 100 1

CI10 66 50 38.8 99.1 14.91 0 - 93.7 33.3

CI15 69 100 81.75 100 13.36 0 - 95 51.8

CI20 59 40 60.3 97.6 43.55 0 - 94.2 76.9

RA = 100 and P A = 100

CI5 83 100 34.4 100 1.18 50 16 99.2 10.3

CI10 78 30 37 97.4 35.36 0 - 93.3 73

CI15 70 20 80 91.8 77.55 0 - 86.6 146

CI20 66 0 - 91.8 125.91 0 - 85.6 239.2

Table 7.18: Best flows when the Simogga is run with and without crossover.

This table shows that the simple cases without alternativity are solved as effi-

ciently as the Simogga with crossover. On the other side, as soon as the case has

a little alternativity, the optimal solution is no longer found, in particular for the

cases (0 − 100). The best solution without crossover is always less good for all cases

with 100% of alternative routings. Moreover, the resolution time is especially long

without crossover. The results are not so bad because before each reconstruction of

the chromosome (during the mutation), the local optimisation is applied.

To evaluate the efficiency of the genetic operators and distinguish the random search

part and the oriented search part, the algorithm is used to create a huge number of

chromosomes without generation. The algorithm used without crossover permits to

evolve a population in applying mutations. The chromosomes are modified from an

existing solution. This test differs from the previous one because all the chromosomes

created are generated randomly for the first part and the specific heuristics are used

to construct the second part.

Table 7.19 shows the best intra-cellular flows in creating a large population (100,

1000 and 10000 chromosomes). The algorithm is run to initialise and evaluate the

population. No generation is done. To facilitate the comparison, the first two columns

7.5. EFFICIENCY OF THE ALGORITHM 153

remind the best results found with a population of 32 chromosomes and after 100

generations. Each time the population size is multiplied by 10, the resolution time

is also multiply by 10. Analysing the best flows found for each population size, the

increase of the values can be watched. The greater the population size, the better

the intra-cellular flow. A population size of 10000 chromosomes permits to solve the

small cases. The best flows found are always largely worse than the best flow found by

the Simogga. To find a better solution for the last case (CI20) containing 10× 10140

solutions, the population size should be significantly increased. The random search

is completely not efficiency.

Pop=32 Pop=100 Pop=1000 Pop=10000

Max Time Max Time Max Time Max Time

RA=0 and P A=0

CI5 100 0.1 100 0.2 100 1.8 100 22.9

CI10 100 0.3 100 0.8 100 7.2 100 81.1

CI15 100 0.4 100 0.9 100 8.5 100 94.1

CI20 100 2.7 98.9 1.8 100 17.1 100 181.1

RA=0 and P A=100

CI5 100 1.7 82.7 0.4 89.2 4.1 97.1 52

CI10 100 12.8 72 1.7 77.7 15.6 83 168.5

CI15 100 22.3 65.5 2.3 75 21.2 81.8 224.4

CI20 100 84 58.4 5 64.2 48.9 69.1 497.9

RA=100 and P A=0

CI5 100 0.2 85 0.2 98.3 2 100 30

CI10 99.8 9.5 69.9 0.6 75.7 6.5 82.1 74.4

CI15 100 11 69.8 1.1 74 10.3 79.5 105.9

CI20 97.6 42.6 64.7 1.6 69.3 14.8 73.4 158.2

RA=100 and P A=100

CI5 100 1.2 92.1 0.3 98.7 3.2 100 39.3

CI10 97.5 43.8 84.9 1.1 91 10.9 93.8 126.8

CI15 94.3 88 76 2.4 81.6 24.8 85 258

CI20 95.4 131.7 70.8 4.3 73.3 41.7 78.1 424

Table 7.19: Best flows when the Simogga is run with a large population without

generation.

As explained in the state of the art in chapter 3, the successive resolutions are often

used to solve two interdependent problems. In this section, the Simogga is used

as an algorithm of successive resolution. To adapt the algorithm, the parameters of

the Simogga have already been defined in chapter 6 in Table 5.2. The tests done

to compare the proposed algorithm with the successive resolution used the following

parameters:

interesting to analyse the speed to find the best solution.

resolution time.

154 CHAPTER 7. VALIDATION

3. The mutation rate is not modified relative to the previous tests: one chromo-

some is mutated after 10 generation without a new best solution.

The classical approach consists of generating a set of RP-solutions and combining

each RP-solution with a good CF-solution created with the integrated module. If

the operator rates are set to 100% for RP and 0% for CF, the Simogga works

like an RP-Mogga. It will evolve the population in crossing only the RP-parts of

the chromosomes. Each time, the RP-part is modified; the CF-part is completely

reconstructed with the integrated module.

The heuristic used to construct the RP-part of the chromosome must be the

Random Heuristic RP because the other heuristics are based on the CF-solution, not

yet constructed in this case.

Integrated CF Heuristic. The integrated heuristic is the Flow Heuristic RP val-

idated in the previous section. The heuristic is not perfect so the CF-solution that

completes the RP-solution will not be the optimum.

CF-Mogga Integrated. The integrated CF-Mogga will run with the specific

Flow Heuristic CF validated in section 7.2.1. The parameters of the integrated

Mogga are the following:

the resolution time.

2. The population size is set to 16. This size limits the resolution time.

3. The operator rates are set to 0% for the RP and 100% for the CF. The Simogga

focalises on the CF problem like a CF-Mogga solving the CF problem only.

In the CF-Mogga, the RP-part is constructed with the Copy Heuristic RP. The

RP-solution is provided by the main Simogga.

Like for the CF integrated module, the heuristic used to construct the CF-part in

the main Simogga must be the Random Heuristic CF because the RP-part is not

yet created. The heuristic CF can be based on the flows between machines because

the operations are not allocated to the machines.

RP Heuristic Integrated. The RP integrated heuristic is the Process Heuristic RP

validated in the previous section. The heuristic is not perfect but it gives a good

solution for the RP-part based on the CF-part constructed randomly.

RP-Mogga Integrated. The integrated RP-Mogga will run with the specific

Process Heuristic RP validated in section 7.2.2. The parameters of the integrated

RP-Mogga are the following:

1. The number of generations is set to 30. Too great a number increases strongly

the resolution time.

2. The population size is set to 16. This size permits to limit the resolution time.

7.5. EFFICIENCY OF THE ALGORITHM 155

3. The operator rates are set to 100% for the RP and 0% for the CF problem.

The Simogga focuses on the RP problem like a RP-Mogga solving the RP

problem only.

In the CF-Mogga, the RP-part is constructed with the Copy Heuristic RP. The

RP-solution is provided by the main Simogga.

7.5.4.3 Results

Table 7.20 and Table 7.21 present some comparative results for the Simogga, the

RP-Mogga with an integrated module CF and the CF-Mogga with an integrated

module RP (an integrated heuristic and another integrated Mogga). The results

are organised as follows: Table 7.20 gives the average values for the three sets of

alternativity RA and P A ((0 − 100), (100 − 0) and (100 − 100)), while Table 7.21

gives the average values for each of cases (CI5, CI10, CI15 and CI20).

% flow Time % flow Time % flow Time

Aver. Simogga 100 100 14.6 40 92.2 15.3 32.5 89.5 41.1

HeurRP 77.5 97.8 28.6 77.5 99.2 8.4 27.5 95.1 29.9

RPGGA 97.5 99.9 1437.4 70 99 1452.9 40 98 5188.8

HeurCF 100 100 23.2 52.5 98.1 15.4 27.5 87.8 48

CFGGA 32.5 85.7 8776 27.5 89.5 3670.5 27.5 87.7 9212.3

Table 7.20: Average values (on 4 cases) found with the Simogga and the Mogga

with an integrated module (RP and CF). See complete Table E.8

For each case, the results contain the average percentage of cases reaching 100%

of intra-cellular flow, the average best intra-cellular flow after 100 generations as well

as the resolution time. These values are given for the proposed algorithm (Simogga)

in the first row. The second row addresses the value relative to the (Mogga) with

an integrated RP heuristic while the third one the value relative to the (Mogga)

with another integrated (RP-Mogga). The fourth and fifth rows present the results

for the integrated CF module (heuristic and CF-Mogga). These tables permit to

compare the proposed method to the successive resolutions.

The successive resolutions should never be more efficient than the Simogga be-

cause there are a lot of random parts in the successive resolution. The main Mogga

is always based on the Random heuristic RP or CF. The crossover and the mutation

are applied on this random part. To find the best solution, the main Mogga with an

other integrated Mogga must be run for a high number of generations. In this way,

the main grouping could approach the best grouping and the integrated Mogga will

find the best complementary solution.

1. The average best flow found by the four first methods is close for each case

(above 95%). The Mogga with the integrated CF-Mogga is the only method

that always gives inferior results to the other tested methods. For the case

CI15, the optimal solution is never found. The reasons for this difference are

found in the size of the search space and the efficiency of the heuristics. The

156 CHAPTER 7. VALIDATION

%

Simogga 100 40 50 40 57.5

HeurRP 100 56.7 60 26.7 60.8

RPGGA 100 50 60 66.7 69.2

HeurCF 100 46.7 60 33.3 60

CFGGA 100 16.7 0 0 29.2

Flow

Simogga 100 93.4 92.3 89.9 93.9

HeurRP 100 99.4 97.2 92.9 97.4

RPGGA 100 98.5 97.9 99.7 99

HeurCF 100 95.8 94.6 90.8 95.3

CFGGA 100 96.6 85.9 67.9 87.6

Time

Simogga 1.5 14.4 27.3 51.5 23.7

HeurRP 1.1 12.8 23.6 51.6 22.3

RPGGA 72.6 1746.6 3126 5826.9 2693

HeurCF 0.9 17.5 29.3 67.8 28.9

CFGGA 110.5 3466.5 6127.7 19173.7 7219.6

Table 7.21: Average values (on RA and P A) found with the Simogga and the

Mogga with an integrated module (RP and CF). See complete Table E.8

search space of the RP problem is greater than for the cell formation problem.

The main Mogga does a random search, thus the search will be faster if

the search space is reduced (for CF problem). Moreover, the specific Process

heuristic RP includes the process selection and the best solution will be quickly

found. For the integrated heuristic CF, the main Mogga used the random

heuristic RP with the random process selection. Thus, the search for the best

solution will be longer than with the integrated heuristic RP.

2. The CF-Mogga with an integrated RP-Mogga gives very good results, better

than the Simogga but the resolution time is always much longer. An adapta-

tion of the Simogga would permit to improve its results without significantly

increasing the resolution time.

3. The results of the Mogga with an integrated heuristic are always better than

the Simogga. With an integrated heuristic, the main problem is always solved

by a random search in the main Mogga. But the heuristics are efficient enough

to find a good solution, almost optimal. The more complex the case studied,

the worse the solution. With the complete alternativity, the optimal solution

is almost never found.

Contrary to the Mogga with another integrated Mogga, the resolution time

of the Mogga with an integrated heuristic is lower as the Simogga. Thus,

the number of generations could be increased to 200 generations and the popu-

lation size could be increased to 32 chromosomes. Increasing these parameters,

the results of Table 7.22 are found (average of four cases and three sets of al-

ternativity). These results stay below the 70% of cases reaching the optimal

solution for an increased resolution time. However, these results are slightly

different in terms of the best flow found.

To conclude, the Simogga with these actual parameters (32 chromosomes, 100

7.6. ADAPTATION OF PARAMETERS 157

% flow Time % flow Time

HeurRP 70 99.3 54.9 62.5 99.5 110.8

HeurCF 68.3 98.9 75 65 99.4 157.3

Table 7.22: Average values found with the Mogga with an integrated heuristic (RP

and CF).

Gen % Gen % Gen

Aver. Min Aver. Max Aver. Min Aver. Max

100 85.2 0 17.4 99 92.2 30 14 58.5

150 88 0 22.1 114.5 94.6 50 16.9 85.4

200 89.9 0 25 152.8 95.3 50 18.1 99.7

300 92.2 20 34.6 256 95.9 50 19.2 116.7

500 94.3 30 41.1 319.2 96.7 50 22 214.2

750 95.2 30 44.2 468.1 97.2 70 25.4 214.2

1000 95.7 30 48.9 468.1 97.5 70 28.5 237.1

Table 7.23: Values (Average, minimum and maximum) for the percentage of cases

reaching 100% and the best generation for different generations and two population

sizes (32 and 64).

generations, mutation rate (10), Operator rates (80%) and 45%-45%-10% for the

initialisation, see the beginning of section 7.5) is not efficient enough to overcome the

performance of the Mogga with an integrated heuristic. The CF-Mogga with an

integrated RP-Mogga has shown its efficiency but the resolution time is excessive.

Thus the idea to nest two Mogga is good but not usable.

7.6.1 Number of Generations

The number of generations is previously fixed to 100. The previous results prove

that after 100 generations, the optimal solution is found for the classic cases without

alternativity or with 100% of alternative processes. For the ideal case studies with

RA = 100, the average optimal number of generations varies depending on the search

space size.

Table 7.23 presents the averages of the number of cases reaching 100% of intra-

cellular flow. These values are completed by the minimum percentage found. This

value corresponds generally to the greater case. The next values correspond to the

average number of generations needed to reach 100%. Only the cases reaching 100%

are taken into account in this average number. These values are completed by the

maximum of generations found. The table is written for two different population

sizes of 32 or 64 chromosomes. All these values are computed on the basis of 10 runs

for the 20 cases with the four sets of alternativity. Different remarks can be made

based on Table 7.23:

• With 100 generations, the optimal solution is never found for some cases. On

the contrary, from 500 generations, a minimum of 3 runs out of 10 gives the

158 CHAPTER 7. VALIDATION

Generations

log10(Size) # cases 100 150 200 300 500 750 1000

Pop.size=32 Percentage of cases reaching 100%

0-40 53 100 100 100 100 100 100 100

40-80 15 95.4 96.3 96.8 97.8 98.4 98.4 98.4

80-120 10 88.2 90.8 92.6 94.5 95.8 95.8 96.2

120-160 3 85.2 88 89.9 92.2 94.3 95.2 95.7

Pop.size=32 Average intra-cellular flow

0-40 53 100 100 100 100 100 100 100

40-80 15 99.4 99.7 99.8 99.8 99.9 99.9 99.9

80-120 10 96.9 97.8 98.2 98.7 99 99.2 99.4

120-160 3 92.8 94.4 95.7 97.6 98.5 99.7 99.7

Pop.size=64 Percentage of cases reaching 100%

0-40 53 100 100 100 100 100 100 100

40-80 15 97.9 98.4 98.5 98.5 98.5 98.8 99.1

80-120 10 94.4 96.3 96.8 97.4 97.7 97.9 98.3

120-160 3 92.2 94.6 95.3 95.9 96.7 97.2 97.5

Pop.size=64 Average intra-cellular flow

0-40 53 100 100 100 100 100 100 100

40-80 15 99.8 99.9 99.9 99.9 99.9 99.9 99.9

80-120 10 98.7 99.3 99.5 99.7 99.8 99.8 99.8

120-160 3 95.5 96.9 97.5 98.2 99.2 99.3 99.3

Table 7.24: Percentage of the number of cases reaching 100% and the average best

flow for different generations and a population size of 32 and 64 chromosomes.

optimal solution for each case. With a population size of 64 chromosomes, this

ratio is obtained for 100 generations. Moreover this ratio rises to 50% (5 runs

out of 10) for 150 generations.

double the number of generations to find the optimum compared to a population

size of 64.

There is a correlation between the number of generations and the size of the

search space. Table 7.24 presents the percentage of the cases reaching 100% and the

average flow found after different maximum numbers of generations. The logarithm

(log10) is used to group the cases according to their size. Four categories are used

based on five levels: 0, 10 × 1040 , 10 × 1080 , 10 × 10120 and 10 × 10160 . The first

column defines the number of cases belonging to each category.

In Table 7.24, the first percentage of cases reaching 100% above 95% is high-

lighted. The same thing is done for the first average flow above 99%. The values

show that the greater the size of the search space, the greater the number of genera-

tions necessary to obtain a good result. Compared with the values for a population

size of 32, all the highlighted values are moved to the left. A reduced number of

generations is necessary to find the same results.

These tables are just written for information. Indeed, no choice can be made

from these results because the number of generations must be editable by the user

to run different tests.

To guide the user in this choice, Figure 7.5 shows, for the four categories of size,

the evolution of the average best intra-cellular flow from 100 to 1000 generations.

In the same graphic, the percentage of cases reaching 100% of intra-cellular flow is

7.6. ADAPTATION OF PARAMETERS 159

100 100

99 99

% of cases reaching 100%

98

98

97

97

96

95 96

94

95

93

94

92

91 93

90 92

100 150 200 300 500 750 1000

Generations

% 0-40 % 40-80 % 80-120 % 120-160

Flow 0-40 Flow 40-80 Flow 80-120 Flow 120-160

Figure 7.5: Intra-cellular flow and percentage of solution reaching 100% in func-

tion of the number of generations and search space size for a population size of 64

chromosomes.

represented. The evolution of the graphic is very similar for the population size of

32 chromosomes.

If a very good solution for an ideal case study is found in maximum 100 gen-

erations, a good assumption is that to solve some non ideal case, the solution will

be found after maximum 100 generations. If there is still an evolution of the best

solution near the 100th generation, the algorithm can be run with a greater number

of generations.

The number of solutions can be exactly enumerated. For this reason, the population

can be defined depending on the search space size. A bigger population size will

always permit to solve the problem in a lower number of generations. However,

the resolution time is longer in this case. When the population size is fixed at 8

chromosomes, the search is really slow. On the contrary, when the population size is

fixed at 128 chromosomes, the best solution is found quicker in terms of generations

but the resolution time is greater. To be optimal, the population size must be fixed

between 16 and 64 chromosomes. The algorithm imposes a constraint about this

number. Because of the crossover coding, the population size must be a multiple of

2.

Using the values about the search spaces given in Table 7.1 in the introduction

of this chapter, some correlations appear according to the problem size. Table 7.25

shows different average values in function of the population size (varying between

16 and 128 chromosomes) and in function of the size of the search space. Different

categories are represented for this size corresponding to the level: 0, 10 × 1020 , 10 ×

160 CHAPTER 7. VALIDATION

Size of search space < 10 × 1020

16 38 100 0 5 100 0.4

32 38 100 0 2.2 100 0.7

64 38 100 0 1.8 100 0

128 38 100 0 1.5 100 1

10 × 1020 < Size of search space < 10 × 1060

16 23 86.1 0 30.8 99.3 6.1

32 23 99.1 0 16.5 100 11.6

64 23 99.1 0 14.1 100 0

128 23 100 0 9.1 100 10.7

10 × 1060 < Size of search space < 10 × 10100

16 13 26.2 38.5 34.9 93.2 10

32 13 69.2 7.7 40.7 98.6 47.3

64 13 83.8 0 34.2 99.2 0

128 13 87.7 0 28.2 99.8 34.6

10 × 10100 < Size of search space < 10 × 10160

16 6 0 100 0 85.1 22.3

32 6 50 33.3 74.8 95.6 149.6

64 6 50 0 49.7 97.1 0

128 6 61.7 0 51.5 99 123.2

Table 7.25: Values of the percentage of cases and the generation for the cases reaching

100% of intra-cellular flow and the best flow found after 100 generations (Average of

10 runs for 80 cases).

1060 , 10 × 10100 and 10 × 10160 . The values are organised by category of size. In the

first column, the number of concerned cases is defined (#). The second one defines

the percentage of cases reaching 100% of intra-cellular flow (%). This average is

evaluated with the 10 runs for each case. The next column is a new one with the

percentage of cases where the optimal solution is never found after 10 runs (%(0)).

Zero in this column expresses that the case is solved for at least one run. The

next columns are the classical values: the average number of generations to find the

optimal solution (Gen), the average best flow found after 100 generations (Flow) and

the resolution time (Time).

This table permits to determine the ideal population size in function of the size of

the case. If the case has a number of solutions inferior to 10×1020 , the Simogga with

a population size of 16 chromosomes finds the optimal solution in all cases. Between

10 × 1020 and 10 × 1060 , 99.1% of the cases are solved with the optimal solution

with a population size of 32 chromosomes. For all cases above 10 × 1060 solutions,

the optimal solution is found for at least one of the 10 runs with 64 chromosomes.

However, the average best flow of the cases with a size greater than 10×10100 solutions

goes from 97.1% to 99% with a population size of 128 chromosomes compared to 32

chromosomes.

Thanks to these results, the population size is previously fixed to 16, 32 and 64

chromosomes in function of the size of search space (respectively for the intervals

[0 , 10 × 1020 ], [10 × 1020 , 10 × 1060 ] and [10 × 1060 , ...]).

The two following figures (7.6 and 7.7) are given for information for the reader.

The evolution of the best flow in function of the size of the search space is represented.

The first figure also gives the resolution time. The values on the secondary axis X

gives the maximum of the resolution time found for each population size while the

7.6. ADAPTATION OF PARAMETERS 161

Maximum time

0,3 2,7 1 0,5 1,3 2,6 20,8 2,8 36,5 107 29,2 64 34 263 116 349

100 100

90 98

% Resolution time (Pop/Pop128)

80 96

70 94

Intra-cellular flow

60 92

50 90

40 88

30 86

20 84

10 82

0 80

4 9 11 15 16 23 24 26 30 47 64 73 81 105 116 141

Size of the search space (log10)

16 32 64 128

Flow16 Flow32 Flow64 Flow128

Figure 7.6: Intra-cellular flow and average resolution time to find the best solution

in function of the search space size and the population size.

column defines the proportion of the resolution time compared to this maximum

value. The column of the second figure defines the proportion of cases whose optimal

solution is found. These figures can guide the user in his choices if he wants to change

the population size.

During the validation stage, 45% of the chromosome were constructed in the order

RP (randomly) following by CF (Flow Heuristic CF). Conversely, 45% of the chro-

mosomes were constructed first by the CF-part (randomly), and then by the RP-part

(Process heuristic RP). The last 10% of chromosomes is completely randomly con-

structed.

Figure 7.26 gives the average of all the cases and all the sets of alternativity for

different rate of initialisation. The rate used for the validation stage was not the

best. Indeed, when the population is initialised with 50% RP => CF and 50%

CF => RP , the best flow found after 100 generations and the best percentage of

cases reaching the optimal solution are the best.

The rate (50−0−50) will be used for the next sections. This rate implies that the

search is directly very oriented to minimise the flow. However, the mutation reinserts

some random solutions in the population.

162 CHAPTER 7. VALIDATION

100 100

90 98

70 94

Intra-cellular flow

60 92

50 90

40 88

30 86

20 84

10 82

0 80

4 9 11 15 16 23 24 26 30 47 64 73 81 105 116 141

Size of the search space (log10)

16 32 64 128

Flow16 Flow32 Flow64 Flow128

Figure 7.7: Intra-cellular flow and percentage of solution reaching 100% in function

of the search space size and the population size.

50-0-50 85.6 24.1 99.5

45-10-45 82.5 29.8 99.4

35-30-35 80 26.9 98.7

Table 7.26: Values of the percentage of cases and the generation for the cases reaching

100% of intra-cellular flow and the best flow found after 100 generations for different

values of initialisation rate.

During the validation phase, the operator rates were defined at 80% for RP-problem

and 80% for the CF problem. In this way, the operators were applied with a probabil-

ity of 60% on both problems. But the operators could be applied also individually on

each problem. Tables 7.27 and 7.28 present the average results with different values

of the operator rates applied to the four cases (CI5, CI10, CI15 and CI20) with

four sets of alternativity ((0 − 0), (0 − 100), (100 − 0) and (100 − 100)). The first

objective is to define the percentage of simultaneous applications of the operators.

For this verification, both operator RP and CF will be applied with the same rate

between 50 and 100. In this way, the simultaneous applications vary between 0 and

100%.

Tables 7.27 and 7.28 show that the values are optimum for the operator rates

equal to 100%. In this case, the operators are applied on both parts of the solution

(RP and CF) at each generation and for each operator. The final objective is to

find a very good solution for the maximum number of cases. As soon as there is

a simultaneous application (from 60-60), the average best flow passes above 99.4%

of intra-cellular flow. On the contrary, the percentage of cases reaching 100% of

intra-cellular flow passes from 75% to 90% with an operator rate equal to 100%.

7.6. ADAPTATION OF PARAMETERS 163

Cases % Gen Flow % Gen Flow % Gen Flow

RA = 0 and P A = 0

CI5 100 0 100 100 0 100 100 0 100

CI10 100 0 100 100 0.3 100 100 0 100

CI15 100 2.3 100 100 0.8 100 100 1.6 100

CI20 100 2 100 100 0.9 100 100 0.6 100

RA = 0 and P A = 100

CI5 100 18.6 100 100 11.5 100 100 16.6 100

CI10 100 20.6 100 100 19.7 100 100 20.4 100

CI15 100 18.4 100 100 24.7 100 100 20.9 100

CI20 100 36.2 100 100 36.1 100 100 37.9 100

RA = 100 and P A = 0

CI5 100 3.2 100 100 3.5 100 100 3.5 100

CI10 40 34.3 99.4 70 32.7 99.8 60 69.3 99.4

CI15 90 22.7 99.5 80 33 99.7 100 26.1 100

CI20 20 53 96.6 50 41.8 98.1 40 54 97.4

RA = 100 and P A = 100

CI5 100 11.1 100 100 10.8 100 100 9.9 100

CI10 20 36.5 97.3 50 36.6 98.2 60 32.5 98.6

CI15 10 64 94.4 60 60 98.4 50 57.8 98.4

CI20 20 52.5 95.5 50 72.6 99.1 50 45.2 97.5

Aver. 75 23.5 98.9 85 24.1 99.6 85 24.8 99.5

Table 7.27: Best values found after 100 generations for different values of operator

rates (Continued).

To verify this result, this rate is applied on the 80 cases (20 cases with four set

of alternativity). The results are written in Table 7.29. The averages of four sets

of alternativity are presented for two operator rates equal to 80% and 100%. The

results are still better. The number of cases reaching 100% rises to 94.2% while the

average best flow found after 100 generations rises to 99.87%.

Table 7.30 shows that for the two first sets of alternativity, there is no change.

For the cases with alternative routings, the results are slightly worse. But for the

cases with complete alternativity, the percentage of solved cases passes from 76.5%

to 84% with the operator rate equal to 100%.

In watching the evolution of the solutions in Table 7.31, the number of cases

reaching 90%, 95%, 98% and 100% is always improved between 0.13% and 1.61%.

The number of generations needed to find these levels is very similar with the two

operator rates. The resolution time is reduced. This reduction is explained by the

increasing number of cases reaching 100% of intra-cellular flow. Indeed, the algorithm

finishes as soon as this level is reached and thus the resolution time decreases.

7.6.5 Mutation

Over 1000 generations, the average number of generations without evolution is equal

to 21.9 for 32 chromosomes and 14.5 for 64 chromosomes with a maximum of 188

(average of 10 runs). It is interesting to decrease this number. The objective is

to obtain an algorithm that permits to evolve regularly the quality of population

without having a high number of generations between two best found solutions. The

mutation parameters will be adapted to reach this objective.

164 CHAPTER 7. VALIDATION

Cases % Gen Flow % Gen Flow % Gen Flow

RA = 0 and P A = 0

CI5 100 0 100 100 0 100 100 0 100

CI10 100 0 100 100 0.6 100 100 0 100

CI15 100 0 100 100 0.4 100 100 0 100

CI20 100 0.7 100 100 3.5 100 100 0.2 100

RA = 0 and P A = 100

CI5 100 10.8 100 100 10.5 100 100 12.2 100

CI10 100 20.2 100 100 13.9 100 100 16.3 100

CI15 100 17.4 100 100 17.8 100 100 21.4 100

CI20 100 41 100 100 27.5 100 100 41.9 100

RA = 100 and P A = 0

CI5 100 4.7 100 100 4.2 100 100 4.4 100

CI10 50 33.4 99.3 20 22 98.9 60 38.8 99.8

CI15 100 21.1 100 100 33.5 100 100 37.8 100

CI20 40 59.5 98.4 60 62 98.6 70 58.4 99.1

RA = 100 and P A = 100

CI5 100 9.8 100 100 8.9 100 100 6.4 100

CI10 70 23.6 98.8 70 29.3 99.1 90 47.2 99.9

CI15 50 40.8 97.8 50 45.2 98.6 70 62.6 99.5

CI20 40 84.3 98 40 71.8 95.8 50 75.6 97.7

Aver. 84.4 23 99.5 83.8 21.9 99.4 90 26.5 99.8

Table 7.28: Best values found after 100 generations for different values of operator

rates.

% Gen Max % Gen Max

CI1 100 0 100 100 0 100

CI2 100 1.08 100 100 0.83 100

CI3 100 1.4 100 100 1.33 100

CI4 100 2.95 100 100 2.98 100

CI5 100 5.43 100 100 4.58 100

CI6 100 8.83 100 100 7.38 100

CI7 100 5.98 100 100 5.28 100

CI8 97.5 11.43 99.98 100 11.7 100

CI9 100 13.85 100 100 12.38 100

CI10 87.5 24.28 99.83 97.5 19.58 99.98

CI11 85 23.35 99.83 82.5 23.65 99.63

CI12 87.5 9.35 99.63 85 13.85 99.68

CI13 95 18.83 99.98 87.5 20.88 99.95

CI14 92.5 19.78 99.63 95 22.35 99.8

CI15 90 21.93 99.68 97.5 23.95 99.93

CI16 80 29.35 99.43 92.5 31.65 99.83

CI17 90 23.3 99.88 100 18.95 100

CI18 92.5 22.1 99.7 85 19.43 99.58

CI19 85 33.4 98.58 82.5 33.13 99.35

CI20 75 39.58 99.45 85 38.73 99.63

Aver. 92.88 15.81 99.78 94.5 15.63 99.87

Table 7.29: Comparative table with average values based on the four sets of alterna-

tivity for the algorithm after 100 generations for two operator rates (80 and 100).

7.6. ADAPTATION OF PARAMETERS 165

80 100 80 100 80 100 80 100

% 100 100 100 100 95 94 76.5 84

Gen 0.26 0.26 15.76 16.19 16.13 17.97 31.09 28.1

Max 100 100 100 100 99.93 99.86 99.19 99.61

Table 7.30: Average values by set of alternativity for the algorithm after 100 gener-

ations for two operator rates (80 and 100).

% Gen

80 100 80 100

90 99.75 99.88 7 6.45

95 98.52 99.51 9.78 9.55

98 96.91 97.53 12.72 12.23

100 92.96 94.57 15.79 15.62

flow Time

Best 99,78 99,87 22,29 19,53

Table 7.31: Evolution parameters (average values based on the four sets of alterna-

tivity) for the algorithm after 100 generations for two operator rates (80 and 100).

1. The mutation frequency is set to 10. When the best solution in the population

has not evolved for 10 generations, a mutation of this solution is performed.

2. The best mutation frequency is set to 20. When the best solution ever found

has not evolved for 10 generations, a mutation of this best solution is made.

3. The mutation rate is set to 1. When a mutation is applied, only one chromosome

is mutated.

4. The mutation intensity is set to 20%. 20% of the groups existing in the best

solution is removed. The unassigned objects are reinserted.

with this mutation rate (1)) correspond to a mutation applied on one chromosome

on 320, i.e. a final mutation rate equals to 1/320=0.003. With 64 chromosomes,

the defined parameters are equivalent to 1/640=0.00156. Now, the population size

is function of the problem size, it will be necessary to define these parameters to

have a final mutation rate equivalent for all case whatever the population size. To

compare the results with similar values for the final mutation rate, the mutation rate

is first equal to the population size divided by 16. In this way, for a similar mutation

frequency, the mutation rate will be equivalent for all cases:

P opSize/16 1

=

M utF req ∗ P opSize M utF req ∗ 16

In the literature, the mutation rate is generally included between 0.001 et 0.05

(0.001 for [81, 155], 0.002 for [233, 326], 0.02 for [324], 0.025 for [121], 0.05 for [220]).

This mutation rate corresponds to the probability that an arbitrary gene in a genetic

sequence will be changed from its original state.

166 CHAPTER 7. VALIDATION

To validate the choice of the mutation parameters, different values can be tested:

5 or 10 for the mutation frequency and the mutation rate multiplied by 1 or 2. Table

7.32 gives the final mutation rate for these sets of values. These values must be in

the interval [0.001, 0.05].

Mutation rate

Prob. Mut ×1 ×2

Mut freq.=5 0.0125 0.025

Mut freq.=10 0.00625 0.0125

and mutation rate.

The results found for the 20 cases and the sets of alternativity with RA = 100

gives Table 7.33. The results are given for two values of mutation intensity (0.2 and

0.4), i.e. that 20% and 40% of the groups are removed (with a minimum of 2 groups).

The results for RA = 0, with alternative processes, are similar whatever the chosen

mutation parameters. Indeed, the solutions are found for 100% of the cases and in

less than 30 generations. The mutation is almost never applied for these cases.

Mutation parameters

Mut. int. 0.2 0.4

Mut. rate 1 2 1 2

Mut. freq. 5 10 5 10 5 10 5 10

Percentage of cases reaching 100%

PA = 0 95.5 93.5 94.5 96.5 92.5 93 95.5 93.5

P A = 100 77 76.5 72.5 78.5 73 77.5 79 77.5

Aver. 86.25 85 83.5 87.5 82.75 85.25 87.25 85.5

Average flow after 100 generations

PA = 0 99.9 99.9 99.9 99.9 99.9 99.9 99.9 99.9

P A = 100 99.3 99.1 99.1 99.2 99.1 99.4 99.4 99.4

Aver. 99.62 99.49 99.49 99.58 99.49 99.65 99.65 99.65

Table 7.33: Best average values by set of alternativity for different mutation param-

eters (RA = 100).

The maximum of best flow and percentage of cases reaching 100% of intra-cellular

flow are not found for the similar choice of parameters. All sets of parameters give

very similar values. But in average, the set of parameters given the best average

percentage is (0.2, 2, 10) with 87.5% following by (0.4, 2, 5) with 87.25%. For the

best flow, the sets of parameters (0.4, 1, 10), (0.4, 2, 5) and (0.4, 2, 10) give the same

results (99.65%). Between these four selected set of parameters, two are good (not

ideal) for both results (0.4, 2, 5) and (0.2, 2, 10). Both sets of parameters are good.

Depending on the studied case, one or the other set will be better. As the sensitivity

of the parameters is not important, the mutation parameters are fixed on the basis

of the second set (0.2, 2, 10). The mutation intensity is set to 0.2 and the mutation

rate to 2 for the following tests.

The values of Table 7.34 show the results with a low mutation frequency (20, 40

and 100). For a number of generations equal to 100, a mutation frequency equal to

100 is equivalent to a Simogga without mutation applied to the best solutions. The

results are unexpected. The results without mutation are the best one. The optimal

solution is found for 90.6% of the cases with RA = 100. And the average best flow

7.6. ADAPTATION OF PARAMETERS 167

Mutation frequency

RA = 100 100 40 20 10

% of found optimal solutions

PA = 0 95.5 96.2 95.2 93.8

P A = 100 85.8 81.6 84.2 75.3

Aver. 90.6 88.9 89.7 84.5

Average best flow

PA = 0 99.93 99.92 99.91 99.88

P A = 100 99.65 99.42 99.63 99.05

Aver. 99.79 99.67 99.77 99.46

# generations without evolution

PA = 0 6 5.6 5.8 4.4

P A = 100 8.7 10.5 8.4 9.6

Aver. 7.3 8 7.1 7

Table 7.34: Best average values for large mutation frequencies with Mut. Rate= 1

and Mut. Int.= 0.2 (RA = 100).

found after 100 generations is 99.79%. These results decrease when the mutation

frequency decreases.

The average number of generations without a new best solution is equal to 7.34.

The average values for all tests made are included in the interval [7.08, 8.03]. Without

mutation, the average number of generations without evolution of the best solution is

completely included in this interval. Moreover, the maximum number of generations

without new best solution is equal to 53 without mutation. This value is at the lower

limit of all tests in this section (the results are included in the interval [50, 86]).

It is important to note that the mutation is applied to modify the similar chro-

mosomes with a probability of 90%. The problem of the local optimum is not met

because these modified chromosomes permit to explore another parts of the search

space. The missing element is the mutation of the best solution.

The final results presented in this section are obtained with the final parameters of

the Simogga that are summarized below:

1. The number of generations is fixed at 100. However the user can easily change

this number in function of Figure 7.5.

2. Three categories of problems are defined in function of the size of the search

space (0, 10 × 1020 , 10 × 1060 , and greater). The population is respectively

defined at 16, 32 and 64 chromosomes.

Heuristic RP when the CF-part has been constructed randomly. The other 50%

of the population is constructed with the Flow Heuristic CF when the RP-part

has been constructed randomly.

5. No mutation is applied on the best solutions but the mutation modifies the

similar chromosomes with a probability of 90%.

168 CHAPTER 7. VALIDATION

CI1 100 1.5 100 0.2

CI2 100 1.5 100 0.3

CI3 100 2.33 100 0.3

CI4 100 5.13 100 0.5

CI5 100 4.95 100 0.7

CI6 100 8.68 100 1.5

CI7 100 8.03 100 1.4

CI8 100 12.65 100 2.7

CI9 97.5 16.43 99.98 4.6

CI10 85 26.68 99.9 16.9

CI11 80 25.59 99.83 31.2

CI12 92.5 10.73 99.8 3.3

CI13 97.5 16.98 99.95 5.9

CI14 95 20.75 99.83 19.7

CI15 100 19.6 100 20.6

CI16 90 26.68 99.93 45.4

CI17 97.5 16.9 99.98 13

CI18 87.5 21.17 99.8 25.1

CI19 82.5 36.37 99.55 65.3

CI20 75 41.93 99.38 84.5

Aver. 94 16.23 99.9 17,2

Table 7.35: Comparative table with best values for the final algorithm after all adap-

tations after 100 generations for four sets of alternativity.

6. The Process Heuristic RP is used to reconstruct the RP-part when the CF-part

is already constructed while the Flow Heuristic CF is used to reconstruct the

CF-part when the RP-part is already constructed.

Tables 7.35 and 7.36 summarize Table E.9 in appendix E with all values for the

80 cases used in this chapter to validate the method. The first table gives the average

(on RA and P A) best values obtained by the final Simogga for each case (CI1 to

CI20).

The optimal solution is found for 100% of the cases with RA = 0 and without the

analysis of the parameters and without the local optimisation. The modifications of

the Simogga implies an improvement of the results for the cases with RA = 100. For

the cases with complete alternativity, the optimal solution is found for a minimum of

30% of the cases (3 cases on 10). Moreover, the majority of cases are solved with a

flow greater than 98% except for 7.8% (25/320) of the cases that are included between

92% and 98%.

To facilitate the comparisons, Table 7.36 gives the average (on 20 cases) best

values for the final Simogga, the final Simogga with the specific Process Heuristic

RP for the initialisation of the RP-part, and the Simogga before the adaptation of all

parameters after 1000 generations with a population size of 32 and 64 chromosomes.

The values are presented for each set of alternativity. These results approach the

results of the Simogga after 1000 generations (see Tables E.6 and E.7).

The final results of previous table were obtained with a invalid set of parameters.

In section 7.6.3, the initialisation was defined in two parts: 50% of the population

was constructed by the Random Heuristic CF following by the Process Heuristic RP

while the remained 50% was constructed by a Random Heuristic RP following by the

Flow Heuristic CF.

7.6. ADAPTATION OF PARAMETERS 169

Init.

Rand. Heur. Init.

Specific Heur.

% Gen Max % Gen Max

RA = 0, P A = 0 100 0.4 100 100 0.4 100

RA = 0, P A = 100 100 15.8 100 100 16.3 100

RA = 100, P A = 0 90 18.9 99.9 94.5 19.6 99.9

RA = 100, P A = 100 86 29.8 99.7 76.5 28.2 99.3

Aver. 94 16.23 99.9 92.75 16.13 99.8

Aver. Time 17.2 19

1000 Gen, Pop. Size=32 1000 Gen, Pop. Size=64

RA = 0, P A = 0 100 0.5 100 100 0.4 100

RA = 0, P A = 100 100 13.8 100 100 11.5 100

RA = 100, P A = 0 98 42.3 100 97.5 44.2 100

RA = 100, P A = 100 84.5 139.6 99.6 92.5 58.2 99.8

Aver. 95.63 49.05 99.9 97.5 28.58 99.95

Aver. Time 54.78 66.63

Table 7.36: Comparative table with best values for the final algorithm after all adap-

tations after 100 generations for four sets of alternativity.

The characteristic of these results is the use of the random heuristic to construct

50% of the population for the CF-part following by the RP-part. The final per-

centage was equal to 92.5% with the specific Process heuristic RP used during the

initialisation phase while 94% of cases reaches the optimal solution with the random

initialisation for RP-part. The major difference is situated at the case RA = 100 and

P A = 100 with an increasing of 10% of the cases reaching 100% of intra-cellular flow.

Table 7.36 presents the solutions with the random initialisation for the RP-part.

Table 7.37 gives the best solutions for the 20 cases (CI1 to CI20) with RA = 100

for the Simogga before and after the local optimisation, and after the specification

of all parameters. The average best flow found after 100 generations goes from 94.5%

without local optimisation up to 99.8% after the adaptations. The largest difference

is between the number of cases reaching the optimal solution, 40.5% at the basis,

73.8% with the optimisations and 88% with the adaptation of all parameters.

Now that all the parameters are correctly set, the Simogga is very efficient.

Tables 7.38 and 7.39 give the average performances of the Simogga compared to

the Mogga with an integrated module (heuristic or Mogga). Table E.9 with all

the values is given in appendix E. The results given for the Mogga with another

integrated Mogga are the ones of Table E.8 in appendix E. The results for the

Mogga with an integrated heuristic are found with a population of 32 chromosomes

and 200 generations to approach the parameters of the Simogga.

Table 7.38 gives the average (on alternativity) values for the four cases while

Table 7.39 gives the average (on the four cases) values for each set of alternativity.

These tables show that the Simogga is always more efficient than the successive

resolution. This observation is applicable for all sizes of case studied. The three

cases presented here are a good representation of different sizes of problems that can

be met with or without alternative routings and processes. The resolution time is

the shortest whatever the treated case. The Simogga has also the best percentage

of cases reaching the optimal solution. The cases with full alternativity (RA = 100

and P A = 100) present the most differences. The optimal values is found for 85%

of cases with the Simogga compared to maximum 40% for the other methods. This

efficiency is observed for the best intra-cellular flow found after 100 generations while

170 CHAPTER 7. VALIDATION

% Gen Max Time % Gen Max Time % Gen Max Time

CI1 100 0 100 0.1 100 0 100 0.1 100 1.5 100 0.2

CI2 100 0.1 100 0.1 100 0.1 100 0.1 100 2 100 0.3

CI3 100 0.6 100 0.1 100 0.1 100 0.1 100 1.6 100 0.3

CI4 100 6.1 100 0.4 100 2.5 100 0.4 100 6 100 0.5

CI5 100 29.3 100 1.7 100 5.1 100 0.7 100 4.4 100 0.8

CI6 50 46.5 97.8 4.8 100 9.4 100 1.3 100 11.7 100 1.9

CI7 95 27.1 99.9 2.6 100 6.3 100 1.1 100 10 100 2

CI8 55 43.2 98.2 7.7 100 19.2 100 4.8 100 19.6 100 4.5

CI9 55 65.4 97.2 9.9 95 17.7 99.9 6.4 95 20.6 100 6.5

CI10 0 - 90.1 17.4 40 37.9 98.3 25.1 70 45.3 99.8 29

CI11 0 - 89.7 26.8 35 70.5 97.6 44.5 60 42.8 99.7 56.1

CI12 20 26.5 94.9 8.9 60 30 99 11.6 85 13.8 99.6 5.5

CI13 5 49 96.1 14.7 80 34.4 99.7 15.3 95 22.6 99.9 10

CI14 0 - 89.2 23.5 60 45.4 96.6 30.6 90 30.3 99.7 33.9

CI15 20 81.8 88.5 32.2 60 59 95.9 45.5 100 29.3 100 33.9

CI16 0 - 93.4 42 50 49 98.4 61.9 80 36.6 99.9 74

CI17 5 56 95.8 16.8 85 36.9 99.5 16.7 95 27.7 100 23.1

CI18 5 76 89.9 25.9 60 47.9 97.4 35 75 32.4 99.6 41.8

CI19 0 - 84.5 44.8 30 58.7 95 75 65 60.3 99.1 116

CI20 0 - 84.9 51.7 20 60.3 94.7 84.7 50 68.4 98.8 142.8

Aver. 40.5 30.7 94.5 16.6 73.8 28.3 98.6 23.1 88 24.4 99.8 29.2

Table 7.37: Comparative table with average values (RA = 100) before and after local

optimisation and after adaptation of parameters after 100 generations.

The Simogga is finally run on a last case containing 80 machines (38 types of

machine) and 126 parts (1038 operations). If the cell size is limited to 15, 6 cells

can be created. The size of the search space is approximately 10 × 10289 solutions

(10×1058 for the search space CF and 10×10229 for RP). The best found intra-cellular

flow is 100%. If the cell size is limited to 7 machines by cell, 12 cells are used and

the size of the search space CF is 10 × 1072 solutions. The maximum intra-cellular

flow found after 100 generation is 94.8%.

7.7 Conclusion

The proposed algorithm, Simogga, has been validated in this chapter. Firstly the

choices of the best CF heuristic, RP heuristic and process selection are made in

solving each of the three problems individually (Cell formation, Resource planning

and process selection).

The heuristic solving the cell formation problem is based on the intra-cellular

flow to maximise. The heuristic used for the resource planning problem is based on

the minimisation of the different cells visited by each part. The process selection is

included in the initialisation of this heuristic.

All the choices made on the three problems separately continue to be efficient

when the three problems are solved simultaneously. Because the results were not

optimal, different modifications have been proposed. In particular, a local optimi-

sation applied before the reconstruction phases of the genetic operators significantly

improves the solutions. This optimisation is based on the computation of a priority

7.7. CONCLUSION 171

%

2P 100 80 100 66.7 86.7

HeurRP 100 53.3 73.3 53.3 70

RPGGA 100 50 60 66.7 69.2

HeurCF 100 56.7 73.3 43.3 68.3

CFGGA 100 16.7 0 0 29.2

Flow

2P 100 99.9 100 99.2 99.8

HeurRP 100 99.7 99 98.5 99.3

RPGGA 100 98.5 97.9 99.7 99

HeurCF 100 99.1 99.2 97.4 98.9

CFGGA 100 96.6 82.9 67.9 86.9

Time

2P 0.9 22.4 27.2 112 40.7

HeurRP 1.3 27.3 58.3 132.5 54.9

RPGGA 72.6 1746.6 3126 5826.9 2693

HeurCF 1.1 48.4 74.2 176.2 75

CFGGA 110.5 3466.5 5853.7 19173.7 7151.1

Table 7.38: Average (on RA and P A) best values found with the final Simogga and

the Mogga with an integrated module (RP and CF). See complete Table E.10

Cases Methods % flow Time % flow Time % flow Time

Aver. 2P 100 100 18.8 75 99.5 28.1 85 99.8 75.1

HeurRP 95 100 37.8 75 99.7 18.5 40 98.2 108.3

RPGGA 97.5 99.9 1437.4 70 99 1452.9 40 98 5188.8

HeurCF 100 100 20.3 65 99.7 38 40 97.1 166.8

CFGGA 32.5 85.7 8776 27.5 89.5 3670.5 27.5 85.4 9006.8

Table 7.39: Best values found with the final Simogga and the Mogga with an

integrated module (RP and CF). See complete Table E.10

Next, the efficiency of the algorithm is proved. When the algorithm is run for

1000 generations, the optimal solution is found for 97.5% of the tested cases and

the average best flow is equal to 99.95%. Moreover, the results of the Simogga are

compared with:

• a random research during 100 generations without crossover, to show the effi-

ciency of crossover;

Mogga.

The results of these different tests were always inferior to the best solution found

by the Simogga. Strongly increasing the resolution time and for medium cases,

these three methods can approach to the optimal solution without reaching it. But

the optimal solution is never found when the size of the search space increases.

Finally, all the parameters are fixed after testing different values. A last list is

given with the best parameters. The population size is based on the size of the search

172 CHAPTER 7. VALIDATION

space. The mutation is not applied for the best solution but only to modify some

similar solutions. The most important parameter is the operator rate defining the

rate to apply the operators on each part of the chromosome representing each prob-

lem. Initially, these parameters were set to 80% to let the solution evolve sometimes

separately on each problem. The analysis in this chapter concludes that this rate

must be set to 100% for both problems, i.e. the genetic operators are applied each

time on both problems. Thus the idea to construct a chromosome including both

problems was a good concept to solve simultaneously two interdependent problems.

Chapter 8

Applications

8.1 Introduction

Now that the Simogga is validated, it is applied on all case studies (CS) found in

the literature and its results are compared. In the previous chapter, all the case

studies used for the validation of the Simogga were ideal. There was always an

optimal solution without inter-cellular flow. The construction of independent cells

was possible. The literature case studies are not ideal cases. The objective is to

construct cells as independent as possible.

In this chapter, the found case studies are sorted in two categories. The first

section presents the algorithm applied to the cases without alternativity, while the

second one compares the cases with alternative processes (RA = 0 and P A = 100)

and/or with alternative routings (RA = 100 and P A = 0) and (RA = 100 and

P A = 100). All case studies analyzed in this section are described as an incidence

matrix in appendix F.

The case studies found in the literature are small to medium cases with often a

basic coding with the incidence matrix. The use of the incidence matrix implies the

evaluation of the matrix diagonalisation. The parameter of group efficacy is used to

compare the cases. As explained in chapter 3, an important criticism of resolutions

based on binary incidence matrices is that they do not take other information into

account, such as production volumes, cost of machines, maximum cell size, that may

significantly influence cell formation [230]. Moreover, these methods are not usable

for large scale problems. This chapter only permits to compare the results without

comparing the efficiency of the methods.

The majority of the case studies found in the literature and used to compare different

approaches are without alternativity. Moreover, these cases are treated as incidence

matrices and the objective function is to minimise the group efficacy presented in

chapter 4. These case studies are described with the incidence matrix machine-part

without any information relative to the sequence of operations.

Tables 8.3 and 8.4 compare the group efficacy found by different authors for 20

case studies without alternativity. The results are based on [276]. Table 8.1 gives the

information about the tested problems and Table 8.2 gives the information about the

173

174 CHAPTER 8. APPLICATIONS

compared methods used for the cases without alternativity. The compared value is

the group efficacy parameter. The final method (25) addresses the proposed method

developed in this thesis.

The first column of the Simogga gives the number of exceptional elements. The

best value for the group efficacy parameter and the maximum associated intra-cellular

flow is given when the evaluation function of the Simogga is the maximisation of

the group efficacy (max GE) and the maximisation of the intra-cellular flow (max

flow). The last column gives the CPU time in second. The used heuristic for the

cell formation problem is based on the flow. The maximum flow found in this case

is often greater than those with the maximisation of the group efficacy.

The results of the Simogga presented in Table 8.4 are similar to the optimal

values given by the other authors except for five problems (2, 11, 14, 15 and 16).

These results can be explained since the used heuristic is oriented to the flow and

not to the group efficacy. Despite this heuristic, the optimal solution is frequently

found, particularly for the largest cases. Another remark can be made about the best

flow found in maximising the intra-cellular flow. This flow is equal or greater than

the flow found in maximising the group efficacy. In function of the used evaluation

function, the best found intra-cellular flow will be different. It is important to note

that to compute the flow between cells for these cases; the operation sequences must

be given. As this information is not described in the incidence matrix, the used

sequence of operations is the sequence of the data, generally written in the ascending

order of machines. If the case is encoded differently, the best flow found will be also

different while the group efficacy will be always similar.

8.2. CS WITHOUT ALTERNATIVITY

Pb Number of 1-19;22-25 20-21

no Source Year Mach. Parts Op. Sol. Number of Cells

Pb1 King and Nakornchai [140] 1982 5 7 14 10 2 2

Pb2 Waghodekar and Sahu [296] 1984 5 7 20 10 2 2

Pb3 Seifoddini [236] 1989 5 18 46 10 2 3

Pb4 Kusiak [151] 1987 6 8 22 10 2 2

Pb5 Askin and Standrige [12] 1993 6 8 18 85 3 *

Pb6 Zolfaghari and Liang [323] 2002 7 8 21 175 3 *

Pb7 Kusiak and Chow [151] 1987 7 11 23 175 3 5

Pb8 Boctor [25] 1991 7 11 21 175 3 4

Pb9 Seiffodini and Wolfe [237] 1986 8 12 35 280 3 4

Pb10 Chandrasekharan and Rajagopalan [41] 1986 8 20 61 805 3 3

Pb11 Chandrasekharan and Rajagopalan [42] 1986 8 20 91 35 2 2

Pb12 Moiser and Taube [186] 1985 10 10 24 3.7 × 1003 3 5

Pb13 Chan and Milner [39] 1982 10 15 46 3.7 × 1003 3 3

Pb14 deWitte [53] 1980 12 19 76 5.8 × 1003 3 *

Pb15 Askin and Subramanian [8] 1987 14 24 59 1.4 × 1006 5 7

Pb16 Stanfel [259] 1985 14 24 61 1.4 × 1006 5 7

Pb17 McCormic et al. [173] 1972 16 24 86 1.1 × 1008 6 8

Pb18 Srinivasan et al. [258] 1990 16 30 116 1.2 × 1008 4 6

Pb19 King [139] 1980 16 43 124 7.7 × 1008 5 8

Pb20 Burbidge [33] 1979 16 43 123 7.7 × 1008 5 *

175

176 CHAPTER 8. APPLICATIONS

1 Chandrasekharan and Rajagopalan [41] 1987 ZODIAC

2 Srinivasan and Narendran [257] 1991 GRAFICS

3 Srinivasan [256] 1994 Clustering Algorithm

4 Joines et al. [120] 1996 Genetic Algorithm

5 Cheng et al. [46] 1998 Genetic Algorithm

6 Dimopoulus and Mort [60] 2001 Genetic Algorithm

7 Onwubalu and Mutingi [196] 2001 Genetic Algorithm

8 Brown and Sumichrost [28] 2001 Genetic Algorithm

9 Zolfaghari and Liangs [324] 2003 Simulated Annealing

10 Zolfaghari and Liangs [324] 2003 Genetic Algorithm

11 Zolfaghari and Liangs [324] 2003 Tabu Search

12 Goncalves and Resende [83] 2004 Evolutionary Algorithm

13 Yasuda et al. [315] 2005 Genetic Algorithm

14 Islier [110] 2005 Ant System Algorithm

15 Islier [110] 2005 Genetic Algorithm

16 Islier [110] 2005 Simulated Annealing

17 Islier [110] 2005 Tabu Search

18 Stawowy [260] 2006 Evolutionary Algorithm

19 Ozturk et al. [197] 2006 Neural Network

20 James et al. [115] 2007 Genetic Algorithm

21 James et al. [115] 2007 Genetic Algorithm

22 Tunnukij and Hicks [272] 2008 Genetic Algorithm

23 Ulutas and Islier [275] 2009 Clonal Selection

24 Tariq et al. [268] 2009 Genetic Algorithm

25 Proposed method, Simogga 2010 Genetic Algorithm

a: Solutions where singletons occur.

b: Data reported in [83] was inconsistent with data in the original reference.

c: Data reported are inconsistent with other sources.

d: Best solution is given without digit.

8.2. CS WITHOUT ALTERNATIVITY

Methods

no 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Pb1 73.68 73.68 * * * * * * * * * 73.68 b * * *

Pb2 56.52 60.87 * * 68 * 62.5 * * * * 62.5 * 73.68 c 73.68 c

Pb3 77.36 * * * 77.36 * 77.36 * * * * 79.59 * * *

Pb4 76.92 * * * 76.92 * 76.92 * * * * 76.92 * * *

Pb5 * * * * * * * * * * * * * 88.89 88.89

Pb6 * * * * * * * * * * * * * 73.91 73.91

Pb7 39.13 53.12 * * 46.88 * 50 * 58.62 58.62 58.62 53.13 * * *

Pb8 70.37 * * * 70.37 * 70.37 * * * * 70.37 * * *

Pb9 68.3 68.3 * * * * * 68.29 68.29 68.29 68.3 b * * *

Pb10 85.24 85.24 85.24 85.25 85.24 85.24 85.24 85.25 85.25 85.25 85.25 85.25 * * *

Pb11 58.33 58.13 58.72 * 58.33 58.72 55.91 56.88 * * * 58.72 * * *

Pb12 70.59 70.59 70.59 * 70.59 * 72.79 * * * * 70.59 * * *

Pb13 92 92 * * 92 * 92 * * * * 92 * 81.82 78.57

Pb14 * * * * * * * * * * * * * 55 52.88

Pb15 64.36 64.36 64.36 * * * * * * * * 69.86 b * * *

Pb16 65.55 65.55 * * 67.44 * 63.48 * * * * 69.33 * * *

Pb17 32.09 45.52 48.7 * * * * * * * * 52.58 b * * *

Pb18 67.83 67.83 67.83 * * * * * * * * 67.83 b * * *

Pb19 53.76 54.39 54.44 * 53.89 * * 53.7 53.93 53.93 52.25 54.86 55.43 * *

Pb20 * * * * * * * * * * * * * 39.25 29.25

Table 8.3: Comparative table with the group efficacy for cell formation problem without alternativity (continued).

177

178

Methods 25: 2PMogga

Pb Max GE Max Flow

no 16 17 18 19 20 21 22 23 24 GE Flow Flow GE CPU(s)

1 * * 73.68 * 82.35 82.35 82.35 82.35 73.68 82.35 100 100 82.35 0.4

2 73.68 c 54.55 c 60.87 73.7 c 69.57 69.57 69.57 69.57 69.57 62.5 46.15 53.85 69.57 0.4

3 * * 79.59 * 79.59 79.69 79.59 79.59 79.59 79.59 50 82.14 79.69 1

4 * * * * 76.92 76.92 76.92 76.92 76.92 76.92 78.57 78.57 76.92 0.5

5 61.9 52.17 * 88.9 * * * 88.9 * 88.89 70 70 88.9 0.4

6 60 44.4 * 62.1 * * * 73.91 * 73.91 69.23 69.23 73.91 0.4

7 * * 53.13 * 60.87 a 60.87 a 60.87 a 58.62 58.62 58.62 50 58.33 58.62 0.4

8 * * 70.37 * 70.83 a 70.83 a 70.83 a 70.37 70.37 70.37 80 80 70.37 0.5

9 * * 68.29 * 69.44 a 69.44 a 69.44 a 68.29 68.3 68.29 73.91 73.91 68.3 0.7

10 * * 85.25 * 85.25 85.25 85.25 85.25 85.25 85.25 70.73 75.61 85.25 1.2

11 * * 58.72 * 58.72 55.32 58.72 58.72 58.72 56.88 47.89 71.83 58.72 2.6

12 * * 70.59 * 75 a 75 * 70.59 70.59 70.59 100 100 75 0.6

13 37.84 38.46 92 81.8 92 92 * 81.8 92 92 100 100 92 0.9

14 35.71 34.55 * 57 d * * * 56.57 * 50.88 63.16 56.57 1.9

CHAPTER 8. APPLICATIONS

53.54

15 * * 69.86 * 72.06 a 72.06 * 68.92 70.83 68.83 72.97 72.97 72.06 1.3

16 * * 69.33 * 71.83 a 71.83 * 69.33 70.51 68.83 72.97 75.68 71.83 1.3

17 * * 51.96 * 52.75 a 51.58 53.26 a 52.58 51.96 51.02 38.71 45.16 52.58 1.7

18 * * 67.83 * 68.99 68.61 68.99 a 67.83 67.83 67.83 67.44 73.26 68.99 2.6

19 * * 54.86 * 57.53 a 55.48 57.53 a 54.91 54.86 55.49 62.96 62.96 55.49 2.9

20 17.57 21.1 * 51.1 * * * 51.15 * 51.15 43.75 55 51.15 3.2

Table 8.4: Comparative table with the group efficacy for cell formation problems without alternativity.

8.3. CS WITH ALTERNATIVE ROUTINGS AND PROCESSES 179

The results described by Wu et al. are used to compare the proposed approach

[311]. All these cases are presented as cases with alternative processes. However, the

alternative processes are in actual fact alternative routings. These cases are described

as incidence matrices and each part is described by 1, 2 or 3 process routes. Each

process route corresponds to a set of used machines, without sequencing. When there

are one or more machine types containing 2 or more machines, the possible routings

are detailed.

To solve the generalized cell formation problem, the methods must choose one

process route for each part. From the choice of this process results the assignment of

each operation on a specific machine. With these case studies, two of three problems

are solved: the selection of process and the cell formation.

The cases used in [311] are analysed to identify the machine types generating

alternative routings and the alternative processes when the sequences of machines

defined for a part are completely different.

The authors used a data set with machine types. All these case studies contain

some duplicated machines, or each machine type contains between 1 and 3 machines.

The resolution problem is resumed by the assignment of each operation on a specific

machine (RP) and the machine grouping into cells (CF).

The tested problems and the compared methods are reported from [311] and com-

pleted. Tables 8.5 and 8.6 present the characteristics of the tested problems. These

tested problems are organized in three categories: cases with alternative processes,

cases with alternative routings and cases with both alternativities. The literature

case studies concerning simultaneously alternative routings (machine types) and al-

ternative processes (operation sequences) are poor. Only three detailed cases are

found. The compared methods are detailed with their authors in Table 8.7. All

authors used a number of cells defined in Table 8.5. It is important to note that all

authors presented in this table use different methods with different criterion: Yin

and Yasuda try to minimise the cost of investments and allow the addition of du-

plicate machines; Suresh and Slomp assign the machines to the cells including a

labour grouping; Aksin et al. maximise the flexibility of the cells, etc. Because of

the large variety of methods and case studies, the results are not easy to compare.

However, these cases are used to test the proposed method and to compare them on

the basis of the number of exceptional elements.

180

Pb Number of # Cell Number of solutions

Id Source types machines parts operation cells size RP CF

Alternative processes

PA1 Kusiak [146] 4 4 5 21 2 2 4.8 × 1001 3.0 × 1000

PA2 Won and Kim [308] 4 4 4 16 2 2 1.6 × 1001 3.0 × 1000

PA3 Gupta [88, 317] 5 5 7 27 3 3 1.6 × 1001 3.5 × 1001

PA4 Gupta [317] 6 6 8 44 2 3 7.2 × 1001 1.5 × 1001

PA5 Moon and Chi [183] 6 6 6 30 3 3 9.6 × 1001 8.5 × 1001

PA6 Sankaran and Kasinlingam [224] 6 6 10 56 4 2 5.1 × 1002 2.5 × 1001

PA7 Won [308] 7 7 10 57 3 3 3.1 × 1003 1.8 × 1002

PA8 Logendran [163] 7 7 14 78 3 3 6.2 × 1004 1.8 × 1002

PA9 Kazerooni [133] 8 8 13 80 4 3 8.2 × 1003 8.1 × 1002

PA10 Adil [3] 10 10 10 75 5 3 5.2 × 1003 7.6 × 1003

PA11 Won [308] 11 11 10 59 3 4 2.3 × 1003 9.6 × 1004

CHAPTER 8. APPLICATIONS

PA12 Sofianopoulou [250] 12 12 20 109 4 3 4.8 × 1001 5.8 × 1003

PA13 Nagi [192] 15 15 15 190 4 4 4.1 × 1003 2.6 × 1006

PA14 Nagi [192] 15 15 15 190 5 3 4.1 × 1003 1.3 × 1005

PA15 Won [308] 26 26 28 301 7 5 7.0 × 1010 5.0 × 1015

PA16 Kazerooni [133] 30 30 40 344 7 5 3.3 × 1012 8.8 × 1017

PA17 Kazerooni [133] 10 10 16 144 7 6 3.3 × 1012 1.2 × 1020

8.3. CS WITH ALTERNATIVE ROUTINGS AND PROCESSES

Number of # Cell Number of solutions

Id Source types mach. parts oper. cells size RP CF

Alternative routings

RA1 Harhalakis [92] 5 7 6 20 3 3 2.6 × 1002 1.8 × 1002

RA2 Heragu [97] 10 12 19 79 3 4 2.7 × 1001 5.8 × 1003

RA3 Askin [11] 10 17 19 79 4 5 1.8 × 1019 1.4 × 1008

RA4 Sofianopoulou [250] 12 14 20 85 3 5 2.1 × 1006 1.3 × 1005

RA5 Sofianopoulou [250] 16 18 30 154 7 3 3.5 × 1006 2.3 × 1007

RA6 Nagi [192] 17 20 20 67 5 4 1.0 × 1007 4.9 × 1008

RA7 Suresh [263] 30 47 10 50 3 16 1.5 × 1010 2.3 × 1020

Alternative rountings and processes

RAPA1 Vivekanand [294] 6 6 12 41 2 3 1.4 × 1018 1.0 × 1001

RAPA2 Kasilingham [132] 10 13 15 86 5 3 7.4 × 1008 8.1 × 1004

RAPA3 Gupta [88, 317] 10 16 16 144 4 5 2.8 × 1018 5.5 × 1007

181

182

Id Authors Year Methods

1 Kusiak [146] 1987 Clustering algorithm,

2 Gupta [88] 1993 Algorithm based on similarity coefficient,

3 Kazerooni et al. [134] 1996 Genetic algorithm,

4 Kazerooni et al. [133] 1997 Genetic algorithm, Minimise the cost

5 Vivekanand and Narendran [294] 1998 Heuristic procedure, maximise the flexibility

6 Sofianopoulou [250] 1999 Simulated annealing,

7 Won [306] 2000 p-median approach, Maximise a similarity coefficient

8 Won [306] 2000 p-median approach, Maximise a similarity coefficient

9 Adenso-Diaz et al. [1] 2001 Tabu Search

10 Suresh and Slomp [263] 2001 A Multi-objective Procedure

11 Yin and Yasuda [317] 2002 Two-stage algorithm, Minimise the cost (new machines)

12 Wu et al. [310] 2004 Tabu Search, Minimise the number of exceptional elements

13 Lei and Wu [157] 2005 Tabu Search,

CHAPTER 8. APPLICATIONS

14 Spiliopoulos and Sofianopoulou [253] 2007 Bouding scheme,

15 Wu et al. [311] 2009 Simulated annealing, Minimise the number of exceptional elements

16 Proposed method, Simogga 2010 Genetic algorithm, Minimise the intra-cellular flow

8.4. CONCLUSION FOR LITERATURE CASE STUDIES 183

Table 8.8 gives the number of exceptional elements to quantify the inter-cellular

traffic while Table 8.9 presents some more detailed results for [311] and the Simogga.

The results of the Simogga are composed of different values: the number of excep-

tional elements (to compare the methods), the group efficacy and the best intra-

cellular flow associated are separated in two parts: when the group efficacy (Max

GE) is maximised and when the intra-cellular flow is maximised (Max Flow). The

last column gives the computational time (CPU, in second).

Some of these cases are described with the sequence of operations, the production

volume and the machine capacity as Kazerooni et al. or Gupta [134, 133]. These

case studies are treated with the proposed sequence of operation and production

volume. For the other case studies, only described by an incidence matrix, the used

sequence is defined by an ascending order as explained in the previous section for the

cases without alternativity.

The results of Wu et al. [311] are the only ones which permit a real comparison.

They found the best results of all previous methods. However, they treat only the

alternative process routes, without combining the alternative processes with alterna-

tive routings. The maximum cases that they treat are composed by 100 parts and 198

routings. The hypothesis of two process routes by part can be made. This hypothesis

implies that the RP size of the case is 1.27 × 1030 . There is no more information

about their capacity to treat large scale problems. Their results are better than those

given by the Simogga. However, the Simogga is able to solve more complex cases

containing all type of alternativity.

The algorithm is run with the cell constraints specified in the literature. However,

the Simogga can run with variable cells. In this case, the algorithm is run iteratively

with different cell constraints from the initial constraints. If the data are consistent,

the number of cells is increased of two cells, and decreased of two cells. The cell size

is then computed to permit the allocation of all machines.

The proposed algorithm, Simogga, finds good results for all the case studies from

the literature. The results are not the best regarding the criteria used to evaluate

the solutions, but they approach the optimal solution given by the authors. The

Simogga is firstly constructed to solve case studies with sequences of operations.

The Flow heuristic CF is not the best heuristic in the case without sequence because

the flow between machines cannot be computed. These cases are solved by the authors

with the diagonalisation of the incidence matrix. The objective with the incidence

matrix is the maximisation of one criterion: the group efficacy. Computing the

number of voids (zero on the diagonal blocks) and exceptional elements (ones outside

the diagonal blocks), the group efficacy can be evaluated (see section 4.3.3.2). In the

Simogga, the Flow heuristic CF considers a sequence between the operations and

tries to group all the operations belonging to a part inside the same cell. The solution

will be different from the solution of the authors because the objective function is

not similar.

To optimise these cases, a specific heuristic must be created to limit the number

of voids and exceptional elements. If the Simogga is not optimal with the cases

solved by an incidence matrix, the algorithm is very efficient on complex cases as

184 CHAPTER 8. APPLICATIONS

PA1 0 * * * * 0 0 0 0 * * 0 0 0

PA2 0 * * * * * 0 0 * * * * * *

PA3 * 1(30) * * * * * * * * 0 * * *

PA4 * 2(50) * * * * * * * * 1(10) * * *

PA5 0 * * * * * 0 0 * * * 0 * *

PA6 4 * * * * * 2 2 * * * 2 * *

PA7 3 * * * * 3 3 3 3 * * 3 3 *

PA8 8 * * * * * 7 5 * * * 5 * *

PA9 * * * 0 * * * * * * * * * *

PA10 5 * * * * * 2 4 * * * * * *

PA11 3 * * * * 4 3 3 4 * * 3 4 4

PA12 * * * * * 29 * * 29 * * * 29 29

PA13 * * * * * * * * * * * * * *

PA14 6 * * * * 7 7 3 1 * * * 1 1

PA15 * * * * * 34 25 22 23 * * * 23 *

PA16 * * * (0) * * * * * * * * * *

PA17 * * * * * * * * * * 2 * * *

RA1 * * * * * * * * * * * * * *

RA2 * * * * * * * * * * * * * *

RA3 * * * * * * * * * * * * * *

RA4 * * * * * * * * * * * * * *

RA5 * * * * * 29 * * 25 * * * 25 25

RA6 * * * * * 35 * * 33 * * * 33 32

RA7 * * * * * * * * * * * * *

RAPA1 * * * * * * * * * * * * * *

RAPA2 11 * * * * * 12 11 * * * * * *

RAPA3 * * * * * * * * * * (30) * * *

Table 8.8: Comparative table for problems with alternativity with the number of

Exceptional Elements (EEs) (continued).

8.4. CONCLUSION FOR LITERATURE CASE STUDIES 185

Pb 16 - Simogga

Pb 15 Max GE Max flow

PA1 0 90 0.003 0 90 100 100 90 0.4

PA2 0 100 0.013 0 100 100 100 100 0

PA3 * * * 0 93.33 64 100 88.89 0.5

PA4 * * * 0 66.67 34.9 55.7 58.33 0.8

PA5 5 83.33 0.031 0 80 85.71 100 77.78 0.4

PA6 2 72.22 0.05 0 72.22 88.89 88.89 72.22 1

PA7 3 81.48 0.034 6 81.48 76.92 76.92 77.78 0.9

PA8 5 69.44 0.048 1 70.27 64.71 73.33 67.57 1.4

PA9 * * * 5 73.81 97.39 97.39 73.81 1.5

PA10 2 82.86 0.102 6 83.33 82.61 90.48 82.86 1.4

PA11 3 80.65 0.105 11 80.65 77.78 77.78 77.42 1.1

PA12 29 49.47 0.216 3 49.12 46.15 55.38 44.26 3

PA13 * * * 7 49.15 39.71 53.86 42.06 6.4

PA14 1 79.52 0.528 6 50 41.16 53.86 42.06 6.5

PA15 13 72.48 0.569 12 54.12 61.54 70.93 41.46 24.3

PA16 * * * 10 55.11 91.26 89.26 100 56.5

PA17 * * * 0 83.84 72.17 0 0 95.71

RA1 * * * 5 72.73 66 68.67 63.64 0.3

RA2 * * * 25 53.47 67 67 53.47 2.4

RA3 * * * 20 73.33 81.17 85.6 68.82 4

RA4 24 54.29 0.313 27 50.85 58.46 61.54 49.17 2.3

RA5 26 47.45 0.506 35 43 53.49 61.63 39.64 5.2

RA6 * * * 10 60.4 89.42 90.88 59.05 2

RA7 * * * 8 39.47 92.5 97.5 36.84 3.8

RAPA1 * * * 14 63.83 100 100 48.08 0.7

RAPA2 10 61.9 0.134 9 64.52 75.76 85.29 61.43 1.7

RAPA3 * * * 17 73.81 90.8 93.53 72.41 4

Table 8.9: Comparative table for problems with alternativity with the number of

Exceptional Elements (EEs), GE and best flow.

186 CHAPTER 8. APPLICATIONS

shown in the chapter 7. These cases cannot be solved by all the methods based on

the incidence matrix.

It is precisely in analysing the difficulty to minimise the group efficacy parameters

that the Process heuristic RP is developed. This heuristic permits to minimise the

group efficacy in allocating all the operations to concentrate them inside a unique

cell. The Simogga can solve a problem with alternative routing and processes better

thanks to this heuristic. On the contrary for problems without alternativity, only the

Flow heuristic CF is applied and the results are not so good. They approach the

results found in the literature, but the solution is sometimes not as good as the

optimal solution proposed by the authors.

Chapter 9

Conclusions

This chapter closes this work. The main results are presented in the following section.

The next and last sections are devoted to the open perspectives.

The aim of this thesis was to propose a new method based on a grouping genetic

algorithms to solve a generalized cell formation problem. A generalized cell formation

problem is a cell formation problem including the selection of the process and the

routing for each part. In this thesis, a process is defined as a sequence of operations

where each operation is characterized by a type or machine type. Each machine type

includes several machines. A routing is then defined as the sequence of machines to

manufacture a part. As soon as each part is defined by different processes and each

machine type includes more than one machine, the problem quickly becomes very

complex.

In this generalized cell formation problem, three distinct sub-problems are taken

into account: the choice of the best process for each part, the choice of the best routing

for the selected process and the grouping of machines into cells. The final objective

of the generalized cell formation problem is to create cells that are as independent as

possible, i.e. without traffic or transfer of parts between cells.

The proposed algorithm is based on the concept that two interdependent prob-

lems cannot be solved separately, and that the solution should evolve through the

search space of both problems. The first problem (Resource Planning Problem, RP)

incorporates the process selection as well as the routing selection while the second

problem (Cell Formation Problem, CF) addresses the machine grouping into cells.

As both problems can be considered as grouping problems (operation grouping on

the machines and machine grouping in the cells), a grouping genetic algorithm was

used. Moreover, to solve both problems simultaneously, a chromosome encodes both

problems. It is composed by two parts: a RP-part and a CF-part.

Different data is used by the proposed algorithm: the sequence of operations

defining the flows between machines; the production volume allowing computing the

real material moves between machines and between cells and the alternative routings

allowing to optimise the cell formation and to evaluate the flexibility into each cell.

Several constraints for each problem are included in the resolution. The capacity

constraints are composed by a limit of the size group and a maximum number of

187

188 CHAPTER 9. CONCLUSIONS

groups. The availability constraints are essentially used in the RP problem to define

the availability of each machine to perform each operation.

The main characteristics of the Sigga are the following:

on a random base for the RP-part, then by a specific heuristic to construct

the CF-part by minimising the traffic between cells. The other half of the

population is constructed inversely with a specific heuristic to construct the

RP-part by maximising, for each part, the number of operations inside a same

cell.

problems.

3. The main genetic operator is the crossover that is applied on both parts of the

chromosomes.

4. The second genetic operator, the mutation has been determined as useless:

the results are better without mutation. However, the mutation is indirectly

applied. Indeed, when the population contains too similar solutions, the same

solutions are modified with the operator of mutation.

several criteria. However, the presented results have been tested with one criterion:

the maximisation of the intra-cellular traffic. The maximisation of the group efficacy

parameter (evaluating the diagonalisation of an incidence matrix) has also been used

for the application of the algorithm on all cases found in the literature. The difficulty

to compare the cases with multi-criteria found in the literature explains this choice.

The validation of the algorithms has been done with a sets of ideal case studies

created for the occasion. The Simogga is really efficient on all the types of cases with

alternative routings and/or alternative processes. An advantage of this algorithm is

the management of the data. In defining each part by several processes and each

process as a sequence of operations (characterized by a type of machine), all data

found in the literature can be used and treated. In the literature, many methods

are proposed to solve small to medium cases without alternativity or with a weak

alternativity. The proposed algorithm is effective for all types of alternativity. More-

over the Simogga is efficient for medium cases but it continues to find the optimal

solution for large scale problems, when the search space is composed by 10 × 10289

solutions.

An important validation of this thesis is the efficiency of the Simogga compared

to the iterative methods (to solve the main problem) with integrated heuristic or

algorithm (to solve the secondary problem). Moreover, the logical sequence of reso-

lution, i.e. the grouping of machine in cells and then the allocation of operations on

the machines by minimising the traffic between cells, is not the best one. With the

proposed heuristic to solve the RP problem, the construction of the CF-part followed

by the RP-part is more efficient.

Finally, the formula developed in chapter 4, suggesting to count the number of

solutions of the search space CF, is a innovation in this work. This recursive formula

takes into account the number of machines to group into a determined number of

9.2. FURTHER RESEARCH 189

cells with a maximum cell size, defined by the maximum number of machines that

can be grouped in a cell. Thanks to this formula, a real evaluation of the size of the

search space can be done. This size permits to compare the case studies in terms of

the number of solutions and not in function of the number of parts, machines, etc.

This section proposes some improvements that can be made on this algorithm.

As explained in the previous section, the algorithm has been developed to treat

multi-criteria problems in using the Promethee II method to order the solutions.

Firstly, to adapt the Simogga, case studies should be created to test the algo-

rithm. The cases treating multi-criteria cell formation problems found in the lit-

erature are never complete. It is very difficult to obtain all the necessary data to

compare the results. Moreover, in function of the used multi-criteria aided method,

the solutions will not be similar.

Secondly, the developed heuristics will have to be adapted to let the solutions

evolve based on contradictory criteria. Indeed, the Process heuristic RP gives a very

good solution (in term of intra-cellular flow) for the Resource Planning Problem

when the machine grouping is done. If the user chooses a cost criterion, the solution

without intra-cellular flow (with duplicate machines, for example) will not be the

best one for this new criterion. The introduction of a random part in the Process

Heuristic RP could solve this problem. Another solution could be to create other

heuristics oriented to these other criteria. Depending on the weight given to each

criterion, one of these heuristics could be chosen. The Promethee method used in

the algorithm permits to insert or remove some criterion very easily.

The actual algorithm is developed with capacity constraints and availability con-

straints to define if an operation can be allocated to a machine or not. It will be

interesting to add some constraints about the user’s preference. There is no difficulty

to add this type of constraints. Data could be added to specify if two machines must

be together in the same cell or not. Similar cohabitation and separation constraints

could be added between parts or operations. These added constraints permit to deal

with different machines that must remain grouped for different reasons (functional,

human competence, etc.). The separation constraints are interesting for the ma-

chines that must be placed in different cells such as a painting machine generating

gas emanations, which cannot be placed beside another one generating sparks.

The resolution time of the algorithm will increase probably because more verifi-

cation will have to be done before assigning a new operation on a machine or a new

machine in a cell. On the other hand, these constraints will reduce the size of the

search space.

190 CHAPTER 9. CONCLUSIONS

Three main extensions are possible follow-up of this work:

1. When the machines are grouped in cells and all the operations are allocated

to a specific machine, the allocation of the machine operators can be done. As

the allocation of the operators in the cells represents also a grouping problem,

the algorithm could be adapted to solve three interdependent problems. There

would be some constraints about the different qualification and capabilities of

the machine operators. The cost of training could be taken into account.

2. The next step in the use of the alternative processes and routings is to allow lot

splitting. By this way, the capacity constraints would be respected in selecting

two different routings for two parts of the production volume.

3. The alternative processes and routings can be used when the cell formation

problem is solved on multi-periods. The proposed algorithm is so fast that it

could be used to reassign the production for each new period, when there are

different production volumes, or when parts are added and/or removed during

this period.

When two grouping problems are interdependent, we prove that simultaneous resolu-

tion is more efficient and quicker than the sequential resolution with two integrated

methods. A good extension of this work would be to find another application and

validate this approach for all its interdependent problems. This represents a great

work, because all the data must be collected and the algorithm must be adapted for

these new problems.

The design of electronic systems would be a good application for the Simogga.

The design of electronic systems (typically, embedded system-on-chip) consists of

finding a solution satisfying multiple constraints (execution time, energy consump-

tion, area, etc.) for a given application. An optimal solution should be based on the

joint design of the two interdependent parts composing an electronic system, i.e. the

functionality (application) required in the specifications and the architecture of the

platform that will execute this functionality. Indeed, the final performances of the

system will depend on the architecture choice, but also on the way the architecture

will execute the functionality, which depends on their respective descriptions.

However, the design space of both parts is huge : the same function can be

described in different ways, composed of different kind or number of tasks ; several

circuit families exist (ASIC, FPGA, processors, multi-processors, ASIP, etc.) and

a platform can be created based on different composition of these circuits. Due

to the complexity of the problem, designers work sequentially, fixing a priori some

choices for one part of the system, and taking decisions by exploring more deeply the

second part of the system. Most of the time, it leads to non-satisfying sub-optimal

solutions and a lot of costly iterations that should be avoided due to time-to-market

constraints. Clearly, the electronic system design problem (in particular embedded

SoC’s) would gain by having tools able to quickly and jointly explore the functionality

9.2. FURTHER RESEARCH 191

Nothing else remains than to apply the Simogga to this and other interdependent

problems...

192 CHAPTER 9. CONCLUSIONS

Appendix A

This appendix contains a short introduction to the multi-criteria decision aid system

Promethee. For a full description, [27],[293] should be consulted. The Promethee

method permits the building of an outranking between different alternatives.

Let A be a set of solutions, each a ∈ A, fj (a) represents the evaluation of a

solution, a, to a given criterion, fj . Table A.1 represents a generic evaluation table.

The notion of generalized criteria is introduced in order to take into account the

extent of the deviations between the evaluations.

For this purpose we define preference function Pj (a, b) as giving the degree of

preference of solution a over solution b for a given criteria, fj . In most cases, we can

assume that Pj (a, b) is a function of the deviation d = f (a) − f (b). We consider that

the function Pj (a, b) is normalized, so that:

• 0 ≤ Pj (a, b) ≤ 1;

a1 f1 (a1 ) f2 (a1 ) ··· fj (a1 ) ··· fk (a1 )

a2 f1 (a2 ) f2 (a2 ) ··· fj (a2 ) ··· fk (a2 )

..

.

ai f1 (ai ) f2 (ai ) ··· fj (ai ) ··· fk (ai )

..

.

an f1 (an ) f2 (an ) ··· fj (an ) ··· fk (an )

193

194 APPENDIX A. ANNEXE - THE PROMETHEE METHOD

P(a,b)

d = f(a) - f(b)

-p -q 0 q p

to that in Figure A.1. Parameters q and p are known respectively as the indifference

and the preference threshold.

The generalized criterion associated with f (.) is then defined by the pair (f (.), P (., .)).

The Promethee method requires a generalized criterion to be associated with each

criterion, fj .

A valued outranking relation is built up that takes all the criteria into account. Let

us now suppose that a generalized criterion (fj (.), Pj (., .)) is associated with each

criterion fj (.).

The p and q values are the indifference and preference thresholds respectively.

When the difference between the evaluations of a and b is lower than q it is not

significant, and the preference of a over b is thus equal to zero. When the difference

between the evaluations of a and b is greater than p it is considered to be very

significant, and the corresponding preference is thus equal to one.

A multi-criteria preference index π(a, b) of a over b can then be defined, that

takes all the criteria into account with the expression (A.1).

k

X

π(a, b) = wj Pj (a, b) (A.1)

j=1

where wj > 0 are weights associated with each criterion. These weights are positive

real numbers that do not depend on the scales of the criteria.

It is interesting to note that if all the weights are equal, π(a, b) will simply be the

arithmetical average of all the Pj (a, b) degrees.

π(a, b) expresses how, and to what extend, a is preferred to b, while π(b, a) ex-

presses how b is preferred to a over all the criteria. The values π(a, b) and π(b, a) are

computed for each pair of alternatives a, b ∈ A. In this way, a complete and valued

outranking relation is constructed on A.

A.3. EXPLOITATION FOR DECISION AID 195

Let us considered how each alternative, a ∈ A, faces the n − 1 others and therefore

defines the two following outranking flows:

1 X

Φ+ (a) = π(a, b)

n−1

b∈A,b6=a

1 X

Φ− (a) = π(b, a)

n−1

b∈A,b6=a

The positive outranking flow expresses to what extent each alternative outranks

all the others. The higher Φ+ (a) is, the better the alternative will be. Φ+ (a) repre-

sents the power of a, i.e. its outranking character.

The negative outranking flow expresses to what extend each alternative is out-

ranked by all the others. The smaller Φ− (a) is, the better the alternative will be.

Φ− (a) represents the power of a, i.e. its outranked character.

Two rankings of the alternatives can be deduced naturally from the positive and the

negative outranking flows. Let us denote them (S + , I + ) and (S − , I − ) respectively:

aS + b if f Φ+ (a) > Φ+ (b) aS − b if f Φ− (a) < Φ− (b)

aI + b if f Φ+ (a) = Φ+ (b) aI − b if f Φ− (a) = Φ− (b)

+ −

aS + b and aS− b

aS b and aI b

aP I b if f aI + b and aS − b

aI I b

if f aI + b and aI − b

aRb otherwise

where the index I denotes that the ranking concerns the Promethee I method.

Let us denote with P , I and R the preference, the indifference and the incompati-

bility respectively between two alternatives. The results of the pairwise Promethee

I comparisons are the following:

lowest level of weakness of b. The information given by both outranking

flows is consistent and can be considered to be viable.

aI I b a and b are indifferent. The positive and the negative outranking flows of

a and b are equal.

196 APPENDIX A. ANNEXE - THE PROMETHEE METHOD

Car 1 8.75 6.2 Good (1) 30

Car 2 13.75 7.5 Good (1) 50

Car 3 25 8 Excellent (3) 80

Car 4 62.5 20 Very good (2) 120

aRI b a and b cannot be compared. In this case, a higher power of one alterna-

tive is associated to a lower level of weakness of the other. This usually

happens when a is good on a set of criteria on which b is weak, and

vice-versa. As the information corresponding to the alternatives is not

consistent, it seems natural that the method would not decide which one

of the alternatives is better. In such a case, it is up to the decision-maker

to assume the responsibility and to decided.

net outranking flow can be considered: Φ(a) = Φ+ (a) − Φ− (a). This is the balance

between the positive and the negative outranking flows. The higher the net flow is,

the better the alternative will be.

Complete Promethee II ranking is defined by:

aP II b if f Φ(a) > Φ(b)

aI II b if f Φ(a) = Φ(b)

Let us illustrate the Promethee method with the problem of choosing a car. Differ-

ent criteria can be laid down, i.e. the price (as low as possible), the fuel consumption

(as low as possible), the comfort, given as a number between 0 and 3 (as high as

possible) and the power (as high as possible).

Table A.2 shows the values for different cars, with the best value for each criterion

in bold: no one solution seems to be any better than any other. Moreover, each

person may have his or her own preference, for example power may be very important

compared to the other criteria.

The preference threshold, p, is set 0.2 for each criterion, i.e. if two solutions have a

relative difference greater than 20% for one criterion, one solution is always preferred

to the other for this criterion. Furthermore, the indifference threshold, q, is set at

0.05 for each criterion, i.e. if two solutions have a relative difference below 0.5% for

one criterion, the two solutions will be considered to be equal for this criterion.

Let us first compute the Promethee ranking of these solutions when all the

criteria weights are set at 1 (Table A.3).

A.6. AN EXAMPLE OF PROMETHEE 197

Φ+ Φ− Φ

Car 3 0.583 0.417 0.166

Car 1 0.417 0.417 0.000

Car 2 0.417 0.417 0.000

Car 4 0.417 0.583 −0.166

Table A.3: Promethee ranking when the weights of all the criteria are 1

Φ+ Φ− Φ

Car 4 0.666 0.333 0.333

Car 3 0.619 0.381 0.238

Car 2 0.381 0.524 −0.143

Car 1 0.238 0.667 −0.429

Table A.4: Promethee ranking when the weight of the power criterion is 4

The results show that the best solution is Car 3, and that the worst is Car 4.

The method cannot rank Car 1 and Car 2 differently. Let us now compute the

Promethee ranking of these solutions when the weight of the power criterion is

set at 4 (Table A.4).

The effect of this change is clearly to seen in the results, because, as expected,

the Car 4 turns out to be the best solution.

198 APPENDIX A. ANNEXE - THE PROMETHEE METHOD

Appendix B

Problems

the algorithm used to solve two inter-dependent problems is proposed in chapter 5.4.2.

Section B.1 presents the concepts of heuristics and meta-heuristics. A particular

set of meta-heuristics, the Genetic Algorithm (GA) are described in section B.2. Sec-

tion B.3 proposes an introduction to grouping problems. One of the meta-heuristic

used to solve this kind of problems is the Grouping Genetic Algorithm (GGA) de-

scribed in section B.4. An overview of multi-criteria problems is presented in section

B.5. A specific GGA, the Multiple Objective Genetic Algorithm (MO-GGA), was

developed to solve these problems and is described in section B.6. Finally, section

B.7 concludes this appendix.

B.1.1 Problems

The area of interest of applied computer science is the solving of problems. There are

different kinds of problems, but the ones that we are interested in are the optimization

problems where the aim is to find the best solution among all possible ones. For

example, in the Bin Packing Problem the aim is to find the right number of boxes

of a given size to store a set of objects of given sizes; optimization involves, for

example, finding the smallest number of boxes. It is important to make the distinction

between a problem which refers to a general class, e.g. Bin Packing, and an instance

representing a special type of a problem, e.g. the Bin Packing problem involving size

5 boxes for 25 objects of different sizes.

An optimization problem can be defined as a finite set of variables, where the

correct values for the variables specify the optimal solution. If the variables range

over real numbers, the problem is called continuous, and if they can only take a finite

set of distinct values, the problem is called combinatorial. In the case of the grouping

of subprofiles, we are dealing with combinatorial optimization problems because the

number of virtual communities is finite.

A combinatorial optimization problem is defined [198] as the set of all the in-

stances of the problem, with each instance, I, being defined by a pair (F, c), where

199

200 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

F is called the search space, i.e. the set of all possible solutions for an instance,

and c is a cost function calculated for each solution of F and used to determine the

performances of each solution.

B.1.2 Algorithms

To solve problems it is necessary to develop methods, often called algorithms in

computer science, that describe the set of actions to be performed under given cir-

cumstances. In one of the definitions found in the literature [73], an algorithm is

stated as the list of precise rules that specify what to do under all possible condi-

tions. This definition includes the one of the Turing Machine [273], which is an

abstract representation of a computing device. Another definition is to describe an

algorithm as a finite set of instructions (evaluations and assignations), which leads

to a solution.

The complexity, O, of an algorithm defines a relationship between the size of an

instance, such as the number of objects in the Bin Packing Problem, and the necessary

resources to solve it, i.e. the amount of memory and number of CPU cycles required.

A complexity of O(n2 ) for example signifies that the resources required evolutes as the

square of the size of the instance, i.e. an instance two times larger than another one

needs four times more resources. An important category of problems consists of the

NP-hard ones, for which no polynomial time algorithm has been found so far. With

these problems, the CPU time increases exponentially with the size of an instance.

In other words, when the size of the problem increases, it becomes impossible to

compute all the valid solutions. For example, in a Bin Packing Problem involving

5 objects it is possible to compute all the different solutions to determine the best

one. Whereas for 500 objects, it is no longer possible. NP-hard problems can only

be solved by specific algorithms which try to reach an optimal solution, or at least a

solution as close as possible to one optimal in a reasonable time.

B.1.3 Heuristics

When dealing with NP-hard problems it is often necessary to use algorithms that do

not guarantee an optimal solution. This class of algorithms is known as heuristics.

A heuristic is an intuitive way to find a valid and often reasonably good solution

for a given problem in a reasonable lapse of time, i.e. a heuristic is based on rules-

of-thumb, ideas that seem to be helpful in some typical instances though, without

providing any guarantee of the quality of the solution.

For example, in the Bin Packing Problem, the first-fit descending heuristic which

consists in treating objects in descending order of size and putting one into the

first group that can take it, is a well-known heuristic giving good results in such

cases (depending on the sizes of the bins), though not necessary the optimal one.

The biggest problem about heuristics is that it is strongly instance- and problem-

dependent, and that the results may be very poor.

When the essential factor is the time of execution, heuristics is the best solution.

For example, a first-fit heuristic is used in an operating system to find a memory

zone when a program allocates a given amount of data. In this case, the fact that the

solution proposed is not the best one is less important than the time needed. But,

because of their drawback, heuristics rarely reach the status of being able to provide

B.1. ALGORITHMS, HEURISTICS AND META-HEURISTICS 201

Modifications equals zero?

Solution

dsL0

Accept

Temperature

decreases

Evaluation

Accept

dsG0 with probability

a solution when the quality of the solution is important, and cannot be considered

as a general approach.

B.1.4 Meta-heuristics

The two disadvantages of heuristics are that the solutions proposed can often be very

low-quality and are strongly instance- and problem-dependent. Computer science has

developed several methods to work-around these disadvantages. All these methods

use heuristics in some way or another, but enable the entire search space to be

search in; this is the reason why the term meta-heuristics is employed. Most meta-

heuristics need cost functions which are, most of the time, a mathematical expression

that represents the quality of a solution for a given problem. A brief introduction

to simulated annealing and tabu search ends this section. Another meta-heuristic

known as the genetic algorithms will be presented in the next sections.

A first type of meta-heuristics is the simulated annealing algorithm [141, 154]. The

idea is to start both from a given solution that can be obtained by a heuristic and

from the corresponding value of the cost function, which has to be minimized. This

solution is altered by making minor modifications, such as switching two objects

between boxes in the Bin Packing Problem. The resulting intermediate solution is

evaluated, and the difference, δs, of the cost functions is computed.

If δs < 0, which represents a lower energy level, the modification is accepted. If

δs

δs ≥ 0, the modification is accepted with a probability of e− t ; so the probability to

accept an increase of the cost function, decreases with an increase in temperature, t

The temperature is decreased at each iteration until it reaches zero, this is known as

the cooling schedule.

This feature enables the simulated annealing algorithm to climb out of local op-

tima and to search for a global optimum. Figure B.1 illustrates the paradigm of the

simulated annealing algorithm.

The quality of the results depends on the initial temperature and the cooling

schedule. The higher the initial temperature and the slower the cooling schedule are,

the better the final result will be. But the time required to reach the optimal solution

increases with these two parameters.

202 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

Initial Solution

List of Modifications

Verify Yes

In Tabu List?

Tabu List No

Worser Worser

Evaluate Solutions

Continue

Best Solution Hold

Stop

Final Solution

A second type of meta-heuristic is the tabu search [77, 76]. It is based on the idea

that making the same mistakes twice in searching for an optimal solution, cannot

be acceptable. As in the case of the simulated annealing, this method effects local

improvements to an initial solution obtained by a heuristic. The best solution in

selected in the whole neighborhood of the current one. The tabu list, a list of fixed

length contains all the modifications carried out so far without producing any im-

provements. When a specific modification is close to one on the list it is excluded and

the next best one is adopted. Of course, the tabu list is updated at each iteration

by removing the oldest modification and inserting a more recent one. Figure B.2

illustrates the paradigm of the tabu search.

The efficiency of this meta-heuristic depends of the local improvements chosen

for a given problem and of the size of the tabu list.

B.2.1 Definition of a Genetic Algorithm

Before studying the different elements of a Genetic Algorithm (GA) introduced by

Holland [100], it may be interesting first of all to define what GAs are. GAs [80]

can be defined as an exploration algorithm based on the mechanisms of natural se-

lection and the genetic science. GAs use the survival of the best adapted structure

and an exchange of pseudo-random information to search the solution space. At each

generation a new set of artificial artifacts is constructed by using parts of the best

elements of the previous generation and, sometimes, by adding new characteristics.

GAs are not only based on random exploration but also use information obtained

from the past to evaluate the best position to explore in the future. The population

is evaluated at each generation against an objective function to determine its adap-

tation. GAs are constructed to be more robust than conventional methods and, in

particular the other meta-heuristics described in section B.1.4.

B.2. WHAT ARE GENETIC ALGORITHMS? 203

GAs are based of the natural evolution of species as described by Darwin [51]: in any

population, the best adapted (fitted) individuals have a greater chance of reproducing

than less adapted ones; this is called natural selection In nature, new characteristics

are transmitted to offsprings by crossing two individual genes. This process is not

deterministic, and some uncertainty in these characteristic s is introduced. Further-

more mutations may occur as genes are passed from parents to children implying that

a small modification occurs in the copy, i.e. the child will have a characteristic not

present in the parents. If this mutation has a positive influence on the child, the child

will be better adapted than its fellows without this mutation; this newly introduced

characteristic may thus be present in the next generation as the result of natural

selection. Natural selection is thus based on the fact that some characteristics in a

population reflects the specifications of the strongest (best adapted) individuals and

thus should lead generally speaking to a better adapted population. As in nature,

where individuals may be represented by their chromosomes alone, GA work with a

population of abstract representations of solutions called chromosomes At each iter-

ation, a generation, the chromosomes representing the best solutions. The solutions

with the best values for a given cost function. are selected and used for a crossover to

produce new solutions. Their children replace the less adapted ones. By exchanging

good information between chromosomes, GAs try to create new chromosomes with

a better value with respect to the fitness function. Note that the bad genes are not

taken into account by GAs.

They are four major differences between a GA and traditional approaches to solving

optimization problems:

1. GAs use a parameter coding rather than the parameters themselves, i.e. GAs

do not have to know the meaning of the parameters.

2. GAs work on a population of solutions and not on a single one, and so explore

a larger portion of the search space.

3. GAs use a value of the function to be optimized and not another form of this

function. The function does not need to have any special analytical properties.

4. GAs use probabilistic transitions and not deterministic ones. For the same

instance of a problem (same initial conditions and data), the results may be

different after two different runs.

In fact, this can make debugging more difficult because it is impossible to repro-

duced the bugs from one run to another. Because of this, there is generally a debug

mode in GAs, where under same initial conditions two different runs will produce the

same results. This can be done by implementing a pseudo-random generator which

reproduces the same sequence of numbers if asked.

204 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

of the initial Population

Reproduction

Crossover

No

Mutation

Inversion

Evaluation

Yes

B.2.4 Paradigm

This section describes a basic Genetic Algorithm in order to illustrate its principal

features. A well-known example [80] will be developed progressively to help the

reader to master the concepts: we will try to optimize function f (x) = x2 , where x

is a coded number using five bits (x ∈ [0, 31]). In this particular case the function,

f (x), can, of course, be used as a cost function which is maximum for the number

31, i.e. when all the bits coding the chromosome are set to 1 For the example, the

size of population is fixed as 4.

The generic structure of a GA is shown in Figure B.3

The different steps are:

known as chromosomes. Each chromosome is evaluated through a cost function

describing the optimum targeted.

replace others, statistically the worst since the size of the population has to

remain static 1 .

1

This is not necessary, but in a computer environment, memory and speed problems increase

when the size of the population increases. This is the reason why standard-size populations are

selected

B.2. WHAT ARE GENETIC ALGORITHMS? 205

affected by a mutation

affected by an inversion

7. GAs stop if and when a final condition is reached that indicates that an accept-

able solution exists; otherwise GAs make a new generation by repeating step

2.

All modern GAs hold a separate copy of the best chromosome ever computed so

as to avoid its accidental destruction when it forms part of the population. Both

the operators and the encoding scheme are equally important. The remainder of

this section is devoted to a brief introduction to each operator. We assume that the

chromosomes are represented by a string of five bits, with each bit {0, 1} representing

a gene of the chromosome.

Remark : The reader should note that the operators have to be chosen so that

they reach the optimal solution, i.e. the operators described in the next sections

cannot be used to solve every optimization problem.

The first step is to construct and evaluate an initial population. The easiest way

to construct this population is to randomly create the different chromosomes. But,

when the initial population is of poor quality, GAs need many more generations to

reach the end condition. The initialization is therefore a crucial step in GAs. In

general, problem-dependent heuristics are used to initialize these solutions. For our

example, random initialization is acceptable. Table B.1 shows the initial population

and the value of the cost function for each chromosome.

Chromosome Coding x f (x) = x2 ranking

C1 0, 1, 1, 0, 1 13 169 3

C2 1, 1, 0, 0, 0 24 576 1

C3 0, 1, 0, 0, 0 8 64 4

C4 1, 0, 0, 1, 1 19 361 2

B.2.4.3 Reproduction

Historically, the reproduction step is the re-creation of a simple copy of a set of

selected chromosomes that will replace a set of other selected chromosomes. In fact,

no modern GA does the reproduction step by really copying chromosomes. Moreover,

the role of reproduction is to select the way in which the different chromosomes will

be treated by the crossover.

Different methods exist for the construction of these sets, but only two of them

will be dealt with here:

206 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

GAs;

idea that an individual who is twice as good as another should have double the chance

of being reproduced. This selection is usually implemented using the roulette wheel

strategy. The wheel is divided into n sections, n being the number of chromosomes.

Each section is labeled from 1 through n, and has an arc length directly proportional

to the fitness value of the corresponding individual. This is demonstrated in Figure

B.4 for a population of 4 chromosomes.

4

2

A ball is run around the wheel and will stop at a random point, so determining

the section selected. When this method is applied t times, this method selects t

individuals that will be used as parents in the crossover. The individuals with high

fitness values will naturally have more chance of being selected, and those with low

fitness values have more chance of disappear in the next generation. The chromo-

somes selected are then randomly regrouped to form t/2 pairs, which are used as

the parents for the crossovers. The number, t, of chromosomes to be selected for the

crossover can be obtained by the crossover probability. For example, in a population

of 10 chromosomes and a crossover probability of 0.6, 6 chromosomes will be selected

as parents.

Let us apply proportional selection to our exampleP(Table B.2). The length of

the arc for each chromosome is computed with f (x)/ f (x). By multiplying this

length by the size of the population, it is possible to compute the number of copies

expected for each chromosome.

f (x) f (x)

C1 169 0.1444 0.5776 1

C2 576 0.4923 1.9692 2

C3 64 0.0547 0.2188 0

C4 361 0.3085 1.234 1

As expected, the result of the selection is that the chromosome with the highest

cost value function is copied twice while the chromosome with the lowest cost value

function is not copied at all. So, after the proportional selection, there are 2 copies

B.2. WHAT ARE GENETIC ALGORITHMS? 207

Population

"Good" Chromosomes

i

j 1 i

3

3

"Bad" Chromosomes

1

j i

of the chromosome stored in C2 and no copy of the chromosome which was stored in

C3 . This means that a copy of the chromosome stored in C2 is stored in C3 , i.e. at

this stage chromosomes stored in C2 and C3 are identical. The two pairs forming the

parents for the potential random crossovers are (C1 , C2 ) and (C3 , C4 ). A disadvantage

of this method is the fact that there are no guarantees that the best individual will be

reproduced because proportional selection uses a probabilistic approach. Also, if the

best chromosome ever computed is stored outside the population, it will not change

the problem for the best chromosome in the population, which may be different from

the best ever computed. The advantage is that the best solution is not always the

parent of a global optimum, but sometimes of a local one. This strategy enables the

local optimum to be overcome.

B.5. The idea is to create an ordered list of the individuals with the best solution

always at the top, and the others ordered according to a specific method described

below. The upper part of the list will further be used when good chromosomes are

needed, while the lower part for bad chromosomes.

An initial set of all the individual identifiers is established. Two identifiers of

this set are chosen randomly (step 1), and their fitness values are compared (step 2).

The best of the two (the one corresponding to the individual with the best fitness

value) is reinserted into the set, while the other is pushed into the list (step 3). This

method is repeated until all the identifiers in the set are in the list; this process leads

to the construction of an ordered list of individuals, with the best one at the top of

the list. The operator can then presume that the chromosomes ranked in the top

half will be used as parents for the crossovers and the resulting children will replace

the chromosomes in the bottom half.

Let us apply this strategy to the example in Table B.3. Initially, the set contains

all the chromosomes of the population and the list is empty.

The first two randomly compared chromosomes are C1 and C4 . Chromosome C4

has a better fitness value than C1 , so C1 goes in the list while C4 goes back into

the set. The next two randomly compared chromosomes are C2 and C3 . Because C3

has the lower fitness value it goes into the list and C2 stays in the set. Finally, the

208 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

{C1 , C2 , C3 , C4 } ∅

{C2 , C3 , C4 } (C1 , C4 ) C1 {C1 }

{C2 , C4 } (C2 , C3 ) C3 {C1 , C3 }

{C2 } (C2 , C4 ) C4 {C1 , C3 , C4 }

∅ C2 {C1 , C3 , C4 , C2 }

Parent 1 a b c d e a b C D E

Parent 2 A B C D E A B c d e

crossing site

(a) (b)

represents the best individual. The parents chosen for the crossovers are C4 and C2 ,

and chromosomes C1 and C3 will contain the results of these crossovers.

In comparison with proportional selection, with the tournament strategy:

1. The chromosomes are not copied but just ordered, i.e. there is always only one

copy of each chromosome. In fact, for well-designed operators the population

must be as diversified as possible.

2. The last inserted chromosome in the list is the best chromosome of the pop-

ulation, i.e. in comparison with proportional selection the best individual is

always reproduced.

B.2.4.4 Crossover

The role of a crossover operator is to create new chromosomes in the population

by using characteristics of parent chromosomes. If the crossover operator copies

interesting characteristics, the corresponding new chromosomes should enjoy a better

potential of adaptation, i.e. their fitness values should increase. The basic idea is

that information, known as genes, is exchanged between two selected chromosomes

to create two new chromosomes. An example of such an exchange is shown in Figure

B.6. A position called the crossing site is selected randomly from the string. The

new chromosomes are constructed by mixing the left- and the right-hand sides of

each parent’s crossing site.

Let us apply this crossover operator to our example by choosing as parents the

result of the tournament where the randomly selected crossing site is 2 (Table B.4).

The result of the crossover shows that the newly created chromosome, C1 , has a

better fitness value than the parents. In the example, chromosome C3 however has

a very low fitness value and will probably be destroyed during the next reproduction

step.

B.2. WHAT ARE GENETIC ALGORITHMS? 209

11|000 11011 C1 27 729

10|011 10000 C3 1 1

A B C D e A B C D E

(a) (b)

B.2.4.5 Mutation

If the crossover was the only existing operator, it would be impossible for GAs to

scan the whole search space. Indeed, if we assume that, in the initial population

in our example no chromosomes has the third bit set to 1, the best solution for the

problem (corresponding to a chromosome with all the bits set to 1) would never be

found.

The role of the mutation operator is to randomly insert new characteristics in the

population to diversify it. An example of a mutation is shown in Figure B.7, where

a gene is randomly chosen and modified.

In our example, this modification could consist in transforming a bit from 1 to 0

or from 0 to 1. If chromosome C1 in our example is chosen and the randomly selected

bit is the third, C1 will be modified as 1 1 1 1 1, and the best solution to the problem

will have been found (Table B.5).

11 | 0 | 11 11111 32 1024

Even if the interest of such an operator is clear in certain cases, the probability

that a mutation occurs is very low because too many mutations would destroy the

effects of the reproduction and the crossover. So it is necessary to adopt a method

to choose the chromosome and, eventually, the gene on which the mutation must be

carried out.

Section B.2.4.7 discusses some strategies that can be used.

B.2.4.6 Inversion

The crossover and the mutation operators affect the information contained in the

chromosomes. The inversion operator does not change the information, but will

change its presentation. Again, to understand this point, it is important to know

that the position of a given gene in a chromosome has an influence on whether this

gene will, or will not, be used by the different operators. For example, in the basic

crossover presented at Figure B.6, a gene which is in the middle of a chromosome has

more chance of being involved in a crossover than the first or last gene. It is therefore

sometimes interesting to change the way information is presented. Figure B.8 shows

210 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

A B C D E A B C E D

(a) (b)

a simple inversion operator if it is assumed that the value of the corresponding fitness

function is not changed: two genes have been randomly chosen, here D and E, and

their information exchanged.

The pertinence of this operator strongly depends on the problem studied be-

cause an operator may not affect the information contained in a chromosome. This

means that this operator is not always applied in real situations. In our example, the

inversion of two bits in the chromosome will automatically change the number repre-

sented if the two bits are set to different values. In the Grouping Genetic Algorithms

presented in section B.4, the inversion operator is applied.

The mutation and inversion operators must not be used in each generation and on

each chromosome. It is therefore necessary to develop a method to choose when and

where to apply these operators.

A first strategy widely used in GAs is to assign to each operator a probability,

pcross and pinv ; values of 0.0333 are often found in the literature. In each generation,

each chromosome has a probability of pcross and pinv of being chosen for a mutation

or an inversion. Another strategy is to apply such operators only when it seems

necessary Because the mutation is used to insert diversity into the population and

the inversion to facilitate the work of the other operators, these operators are needed

when GAs seem to be stagnating. Two situations can indicate that GAs do not longer

evolute:

• A number of generations has been run through without the best chromosome

computed ever changing. When a given threshold is reached, the best chro-

mosome ever computed is chosen, a mutation is effected on it and the result

replaces a chromosome in the population.

• A given number of generations has been run through without the best chromo-

some in the population changing. When a given threshold is reached, the best

chromosome in the population is chosen, a mutation is effected on it and the

result replaces a chromosome in the population.

The following approaches can be used to choose the chromosome to be replace:

• The chromosome with the lowest fitness value is used for the mutation.

• A chromosome is chosen using the roulette wheel strategy (see section B.2.4.3.1).

In some GAs, when a mutation must be carried out on the best chromosome ever

computed, a special operator known as the strong mutation is used. In general, this

type of operator modifies the chromosome profoundly while a normal mutation only

brings about minor changes.

B.2. WHAT ARE GENETIC ALGORITHMS? 211

While it is not provable that GAs can find the optima for NP-hard problems, there

are some elements that can partially explain why GAs may work, and in particular

why the quality of the population increases through the different generations. The

effects of the different generic operators listed in the previous sections will be studied.

The reader should know that these theoretical aspects treated are not necessary to

understand the other sections treating GAs.

The central concept in the Genetic Algorithms theory is schemata. Schemata are the

parts of a chromosome defined by the constant values of some of the chromosome

genes. We assume that chromosome encoding takes the shape of strings based on

a binary alphabet {0, 1}. Each string Ai (i = 1, · · · , |A|) consists of L bits Aij

(j = 1, · · · , L), i.e. the lengths of the chromosomes are L We work with a population,

A, of |A| chromosomes. We also assume that the fitness value is to be maximized.

We also define the asterisk ∗ as a joker that may be 0 or 1 according to its position.

For example, schema H = ∗11∗, may represent the strings 0110, 1110, 0111 or 1111.

The order o(H) in schema H is the number of genes with a fixed value. In the

previous example, o(∗11∗) = 2. The usable length, δ(H), of a schema, H, is the

distance between the first and the last gene with a fixed value in the string. For

example, δ(∗11∗) = 1 and δ(1 ∗ ∗1) = 3. The effect of reproduction can easily be

explained. Let us suppose that in generation g there is a quantity, m(H, g), of schema

H in a population of size |A| During reproduction, on the basis of the roulette wheel

strategy presented in section B.2.4.3.1, a string Ai with fitness fi has its probability

of being selected given by:

fi

pi = X

fi

i

The number of times each string, Ai , should be reproduced is given by |A| · pi .

So, after reproduction, the quantity of schema H in generation g + 1 (their index

specifies that only the reproduction is involved) is given by:

m(H, g) · |A| · f (H)

mr (H, g + 1) = X

fi

i

where f (H) represents the average fitness of the strings containing the schema H in

generation g.

But, the average fitness, f , of the population is given by:

X

fi

i

f=

|A|

So the quantity of schema H can be written as:

m(H, g) · f (H)

mr (H, g + 1) =

f

212 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

It will be seen from this last expression that schemata with a better level of

adaptation than the average will have more copies in the next generation. Let us

suppose that a given schema, H, has a higher fitness value than the average for a

quantity, c · f , where c is constant, i.e. f (H) = f + c · f . The previous equation can

be rewritten as:

m(H, g) · (f + c · f )

mr (H, g + 1) = = (1 + c) · m(H, g)

f

If we assume that c has a constant value during the whole process and that we

begin with g = 0, we then have:

roulette wheel strategy are to exponentially allocate spaces to the schemata, whose

fitness is above the average. Until now, we have simply copied existing structures.

To create new types of structures, what is need is another operator in the shape of

the crossover.

A crossover is a random exchange of information between strings. The role of

the crossover is to create new structures to change the allocation strategy of the

reproduction. If the simple crossover shown in Figure B.6 is applied, it will be seen

that the schemata with a little usable length have more chance to survive than the

ones with a greater usable length. To explain this, let us consider two schemata, H1

and H2 , representing the same string, A:

A = 0 1 0 1 1

H1 = 0 ∗ ∗ ∗ 1

H2 = 0 1 ∗ ∗ ∗

It will be seen that H1 will be automatically eliminated during crossover. We

conclude that schema H1 has a zero survival probability, and that schema H2 has a

survival probability of 43 because only a crossover with a crossing site in the second

position would destroy it.

More generally, for a given schema it is possible to compute a lower value for its

probability of survival, ps , during crossover. Because it is known that the schema will

survive if the crossover is effected outside its usable length, L, the survival probability

is given by:

δ(H)

ps = 1 −

L−1

If the assume that the crossover occurs with a probability given by, pc , the survival

probability will be given by:

pc · δ(H)

ps ≥ 1 −

L−1

We know that for the two independent variables A and B it is possible to write:

P (A ∩ B) = P (A) · P (B)

So, if the assumption is made that the reproduction and crossover operators

are independent, it will be possible to compute the quantity of schema H in the

B.2. WHAT ARE GENETIC ALGORITHMS? 213

population following these operators (the rc index specifies that reproduction and

crossover are involved):

f (H) δ(H)

mrc (H, g + 1) ≥ m(H, g) [1 − pc ]

f L−1

With this latter expression it is possible to understand the effects of the two

operators. The survival of a schema depends on two factors; namely:

1. that the fitness value of a schema is above or below the average fitness value.

the o(H) fixed position must also survive. So, if pm is the probability of a mutation,

the schema will have a probability of survival of 1 − pm If the probability of survival

is multiplied o(H) times, the probability of survival after the mutation will be given

by:

ps = (1 − pm )o(H)

As already explained, the probability of mutation is very low, so if pm is low

(pm << 1), the last expression can be developed in series, and the probability of

survival can be approached by 1−o(H) · pm . The development equation that combines

the three operators can be written like B.2.5.1 (if the double products are neglected

and where the rcm index specifies that reproduction, crossover and mutation are

involved).

f (H) δ(H)

mrcm (H, g + 1) ≥ m(H, g) [1 − pc − o(H) · pm ]

f L−1

The conclusion is that a small, low-order schema showing better performances

than the average schemata, will be tested exponentially in the following generations.

This is known as the fundamental theorem of Genetic Algorithms. Of course, this

demonstration depends closely on the string and the operators used to represent the

schemata, but it illustrates the viability of this method.

Since we know that certain schemata have a higher probability of being processed, it

is useful to compute an inferior limit of the number of schemata manipulated during

the process. The standard method used to count this number of schemata is the

Holland’s O(p3 ) operator [78]. This operator explains that during the processing

of n structures in each generation a Genetic Algorithm processes n3 schemata without

a need for any more supplementary memory than that used by the population itself.

Holland called this intricit parallelism Goldberg [80] has shown that the number,

ns , of schemata processed is given by:

(L − Ls + 1) · |A|3

ns =

4

where Ls is the length of the schema and, as previously, L is the length of the

chromosomes, and |A| the size of the population.

214 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

It will be seen that the number of schemata is proportional to the cube of the size

of the population. It can be assume that this number is |A|3 , i.e. O(|A|3 ) In choosing

the size of a population it is important to remember that large populations process

more schemata and search most of the search space, but the resources needed in terms

of CPU and memory also increase. When the genetic operators are well designed, a

population of 16 or 32 can be chosen.

Schemata with little usable length and good performances enjoy such an impor-

tance in the Genetic Algorithms theory, that they are called building blocs GAs use

a juxtaposition of these building blocks to find a quasi-optimal solution. There are

many empirical results that have confirmed the importance of these building blocks

[15, 219, 86].

Grouping problems must find their solution in the clustering of a set of objects that

must respect certain constraints and optimize a cost function. An example of such

a problem is bin packing, where the aim is to find the minimum number of bins to

hold a set of objects of a given size, with each bin having a maximum capacity. Many

of the grouping problems are NP-Hard [73], which means that there are no known

algorithms that find the exact solutions in a reasonable amount of computing time.

Many clustering methods have been developed to solve grouping problems [114], but

only the methods that could be used for the local optimization of GAs or as basis of

a heuristic are described in this section.

There are two different categories of grouping problems:

• Hard: Each object is a single group.

• Fuzzy: Each object defines the degree of membership of each group [319]

In the collaborative and structured philosophy, we are faced with hard grouping

problems. One of the central questions with grouping problems is how to determine

the quality of a clustering. It is impossible to define a unique measure that would

work for all the problems. Therefore, to be effective most methods must be adapted to

the particular problem. In fact, the more information that is available on a problem

the greater the possibility will be of understanding the underlying characteristics

of the groups and of determining the quality of a clustering [113]. Moreover, this

kind of information helps to improve the quality of main parameters like similarity

computation or the representation of the groups [189].

Partitional algorithms involve the one-of partitioning of objects into groups. One of

the main problems with these algorithms is that the number of groups to be formed

must be specified. Despite the fact a lot of work has been done in this field [62], it is

still a crucial problem.

The k-Means clustering algorithm introduced by MacQueen [166] is one of the

most used clustering algorithms. Starting from an initial partitioning and based on a

B.3. GROUPING PROBLEMS 215

Random Centers based on centers centers Solution

No

similarity criteria, the algorithm tries to change the assignments of the objects until

a stop condition is met. The main steps of this method involve:

• Choosing a center for each group, this can be carried out by randomly choosing

k objects in a set.

Figure B.9 illustrates the k-Means clustering algorithm. For the stop condition,

most k-Means stop when the centers have not changed between two iterations.

Many variants of the k-Means algorithm have been developed [7] Some methods

have been proposed for choosing the initial group centers optimally, for example by

creating sub-sets from the initial set (subsampling) and by running a specific k-Means

on each set to construct the initial centers that will be used to group the whole set

[26].

As already explained, a main problem is to choose the correct number, k, of

groups. Some developments enable groups to be split or merged during the k-Means

by using conditions relative to the distances between the centers of the groups and be-

tween the centers and the objects in the same group, such as the ISODATA algorithm

[17]

As suggested in the title, these methods are based on the graph theory [74, 174] A

graph is a mathematical structure that describes a set of elements that are connected

together. A graph is defined by two sets: a set of vertices, V , which represent the

elements, and a set of edges, E, which represent the connections. The whole is

expressed as G(V, E).

When the edges and/or vertices are removed from a graph G, a subgraph of G

is obtained. When a vertex is removed during the drawing of a graph, all the edges

connected to it must also be removed.

Two vertices, u and v, are connected if there is an edge starting from vertex u

and finishing at vertex v. If all the pairs of vertices in a graph are connected, the

graph is called a connected graph. When a direction is associated with the edges of

a graph, the graph is called a directed graph, otherwise it is an undirected graph. A

path is a sequence of alternating vertices and edges which starts and finishes with a

vertex. The length of the path is the number of edges that it contains. Note that a

216 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

V2 V2

2 2

1 5 1

V3 2 V3

4 2 2

V1 V5 V1 V5

1 2 1

3 V4 V4

(a) (b)

Figure B.10: An edge-weighted undirected graph (a) and its minimum spanning tree

(b).

graph can have a zero length. When a path starts and finishes with the same vertex

and has a length greater than zero, it is called a cycle. A path or cycle not containing

two or more occurrences of the same vertex is known as a simple path or cycle.

A tree is a connected graph without cycles. A spanning tree of a connected graph

is a subgraph, which is a tree and that contains all the vertices of the corresponding

graph. In the case of edge-weighted undirected graphs there is a spanning tree with

the least total edge weight, which in fact is the minimum spanning tree. Figure B.10

shows a graph and the corresponding minimum spanning tree.

A simple algorithm proposed to solve the minimum spanning tree problem is

described by Prim [206]. The algorithm starts with an arbitrary vertex which is

considered to be the initial tree. It is assumed that a vertex has the attribute distance

and via − edge. The former is used to register the shortest distance from a vertex

not yet in the tree to a vertex already selected. The latter represents the edge

through which this shortest connection is made. In each iteration, the vertex with the

minimum distance value is added to the tree together with the edge of its via − edge

attribute. The values of the distance and via − edge attributes are then updated for

the vertices not yet in the tree.The algorithm stops, of course, when all vertices are

in the tree.

An application of the minimum spanning tree problem adapted to data clustering

has been proposed by Zahn [321]. The idea is to construct a minimum spanning tree

for the points representing the data, and then remove the edges with largest lengths

so that each set of connected points forms a group. Figure B.11 shows an illustration:

after the minimum spanning tree has been computed, the edges corresponding to the

greatest lengths of 6 and 4 are removed so that the resulting clustering consists of 3

groups.

Because the aim of forming groups is to bring similar objects together, the concept of

the proximity of objects is important when dealing with the underlying structure of

groups. Some clustering methods are therefore based on nearest-neighbor distances.

Let P be a set of points, Rd , where d is a constant denoting the dimension. For

a point, p, point q ∈ P is the nearest neighbor of p in P if dist(p, q) ≤ dist(p, q ′ ),

B.4. GROUPING GENETIC ALGORITHMS 217

No

Next Object Group with At least Insert in Group with All Objects Yes Final

to Insert Minimum Dist one Nearest Neighbor Inserted? Solution

No one

Insert in

New Group

E C F A H D

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

C1 C2

∀q ′ ∈ P .

An interactive clustering method has been proposed by Lu and Fu [165]. Each

unassigned object is inserted into the group of its nearest neighbor if the correspond-

ing distance is below a given threshold. Figure B.12 illustrated this algorithm.

The Grouping Genetic Algorithm (GGA) were developed by Falkenauer [67] to

solve clustering problems. In fact, GGA are a genetic framework for grouping prob-

lems, i.e. each particular problem needs its own customization. As the name suggests,

GGA are an extension of the conventional Genetic Algorithms adapted to grouping

problems.

B.4.1 Encoding

There are other applications of Genetic Algorithms to solve grouping problems, but

what makes GGA a well-designed solution is the coding used by Falkenauer. To

illustrate the encoding scheme used in GGA, let us consider the example in Figure

B.13 where letters represent the groups and the numbers represent the objects.

Most GAs dealing with grouping problems will choose the objects assignation as

the information to store in a gene. Such chromosomes could be written:

C1 = F C E E C F E F

C2 = D H A D A D H H

For C1 , the first object is assigned to group F , the second object to group C,

the third and the fourth objects to group E and so on. Each group is different,

which explains why other letters are used for both chromosomes. Assuming that

a conventional crossover with the crossing site take at 3 is applied, the resulting

chromosomes will be:

218 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

E C F A H D

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

C1 | C2 = F C E | D A D H H

C2 | C1 = D H A | E C F E F

It is evident that these newly created chromosomes have no sense. Moreover, if

some constraints on the groups exist, the resulting chromosomes will certainly contain

many illegal groups. In GGA, the chromosomes are enhanced with a group element

containing the group composition:

C1 = F C E E C F E F : F C E

C2 = D H A D A D H H : D H A

All the operators work on the group element of the chromosomes. This coding

respects the spirit of the building blocs because GGA always manipulate groups. This

coding has however a technical consequence, namely that the different chromosomes

in the same population have different lengths.

One of the problems associated with the coding of grouping problems, is the fact

that identical solutions can be coded with different chromosomes. Figure B.14 illus-

trates this; the solutions are identical but, they are coded differently. The fact that

the same groups have different letters is because the chromosomes were constructed

independently so a chromosome cannot know that such a group already exists in

another chromosome.

A simple method can be used to identify these identical solutions. The idea is to

construct a new object element like that of the chromosome, but using numbers for

the groups rather than letters. The first object is always considered to be in group 1

If the second object is in a different group from the first one, it is put into group 2.

Let us apply this method to the object element given by:

F C E E C F E F → 1 2 3 3 2 1 2 1

The first object is in group 1 = F The second object has been put into group

2 = C because it is not grouped with the first object. The third object is put into

group 3 = E because it is not grouped with the first or the second object. The fourth

object is put into the same group 3 as the third one. The other objects are handled

identically.

When the same method is employed with the second chromosome, the new object

element becomes:

H A D D A H D H → 1 2 3 3 2 1 2 1

The two newly created objects elements are identical, i.e. the groups are identical.

When GGA identifies the same solution on numerous occasions in the same popu-

lation, it decides to keep only one chromosome coding this solution. All the other

B.4. GROUPING GENETIC ALGORITHMS 219

E F G B E A C D

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

B A C D Appear_twice

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

1._Select_Crossing_Section 2._Inject_CS_Bin(s)

B E D 2 B E H

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

3._Eliminate_Empty_Bins 4._Reinsert_Missing_Objects

and_bins_with_doubles

generally can just consist in the mutation of the corresponding chromosome.

B.4.3 Initialization

Once the coding has been defined, the Grouping Genetic Algorithms must initialize

the population. The method used depends on the particular problem because the dif-

ferent solutions must satisfy the hard constraints. Because GGA are meta-heuristic,

heuristics are used most of the time to initialize the population. For example, Falke-

nauer suggests a first-fit heuristic for the bin packing.

An important point concerning GGA is the diversity of the population, i.e. the

heuristic must be adapted to produce different solutions each time it is called upon.

If the objects are treated in random order in the case of the first-fit heuristic, the

diversity of the population will be saved. Some heuristics cannot therefore be used for

the initialization. In the bin packing problem the first-fit descending heuristic, where

the objects are processed in descending order of size, is not used for initialization

because if all the objects have different sizes, the heuristic will always produce the

same solution and construct a population with identical chromosomes. This is of no

particular interest.

B.4.4 Crossover

Crossover is one of the most important operators in genetic algorithms. The crossover

paradigm used for the Grouping Genetic Algorithms is shown in Figure B.15.

The crossover consists of four steps:

2. The bins selected by the crossing site of one parent are inserted at the crossing

site of the second parent. At this stage, some objects may appear in more than

one bin.

220 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

B A C D E C F B C 1,4,6,8

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

1. Choose randomly a few groups 3._Reinsert missing objects 2. Eliminate them from the solution

B A C D B D C A

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

3. The existing bins containing objects that are already in the inserted bins are

eliminated, i.e. some objects are no longer in a bin. If some bins are empty,

they are also removed from the solution.

With two parents it is possible to create two children by inserting the selected

bins of the first parent into the second one, and by doing the reverse. Concerning this

latter step, a method must be used for the insertion. This method in fact depends on

the problem to be solved because the operator must construct some valid solutions.

Falkenauer suggests a first-fit descending heuristic for example for the bin packing

problem.

B.4.5 Mutation

The role of a mutation operator is to insert new characteristics into a population

to enhance the search space of the Genetic Algorithm. In the case of the Grouping

Genetic Algorithms, the operator proposed is illustrated in Figure B.16.

The idea is to randomly choose a few bins and to remove them from the solution.

The objects attached to these bins are then reinserted into the solution. The method

used for the insertion of the objects is generally the same as the one used for the

crossover operator.

B.4.6 Inversion

The role of the inversion operator is to propose the same solution to the Grouping

Genetic Algorithm, but differently. As pointed out in B.3, a single solution may have

different presentations, and because crossovers work through crossing sites, the way

in which a solution is presented influences the crossover operator’s results. The first

group appearing in the group element of a chromosome is likely less probability to

be chosen than the other groups. It is therefore important to include this operator

in the Grouping Genetic Algorithms. Figure B.17 gives the philosophy behind the

inversion.

Two groups are randomly selected and their positions are switched in the solution.

In the example, when the crossing site selected is between the second and third

B.5. MULTIPLE OBJECTIVE PROBLEMS 221

Car1 8.75 6.2 Good 30

Car2 13.75 7.5 Good 50

Car3 25 8 Excellent 80

Car4 62.5 20 Very good 120

positions, the bins inserted will be A and C in the first solution and D and C in the

second.

Many real-world problems to be optimized depend on multiple objectives to reach.

Increasing the performance of a solution for one objective usually leads to a decrease

in the performances for the others. In such situations, it is not possible to construct

a suitable mathematical model to represent the problem, i.e. it is not possible to

find a cost function representing a single measure of quality for a solution. But, a

value for each criterion to be optimized can be computed and the difficulty is to

choose a solution which is good for each criterion In fact, a solution which optimizes

one criterion may be the worst possible one for the others. Moreover, each criterion

may have a particular importance which is expressed through a weight assigned to

it. These types of problems are known as multi-criteria decision problems.

An example of a multi-criteria problem is the choice of a car. Different criteria

are defined, the price (to be minimized), the consumption (to be minimized), the

comfort (to be maximized) and the power (to be maximized). Table B.6 shows the

values for different cars; the best value for each criterion is in bold: no solution seems

to be better than any other. Moreover, each person may have his or her preferences,

for example the power may be very important while the comfort is not.

The use of GA to solve multiple objective problems has been tried again and

again since the beginning of the history of GAs. The basic idea is to introduced

multiple objective techniques as a ranking method for the GAs. Rekiek [217] has

identified different categories for these ranking methods:

• non-Pareto approaches;

• Pareto-based approaches;

The few methods proposed here have been chosen to illustrate the different tech-

niques used to combine GAs and multiple objective optimization. But the widely

used concept of Pareto fronts will be described first at all.

A simple approach to solving multiple objective problems is to transform a multi-

criteria decision in a single-criterion problem by aggregating the different objectives

to form a single one. One of the techniques used is to compute a linear combination

222 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

f1 f1 dominated by A

PARETO−optimal

D front D

O O

A A

C C

B B

f2 f2

(a) (b)

Figure B.18: The Pareto optimal front (a) and dominance relations in objective

space (b).

of the criteria values. Once this cost function has been constructed, a method is

used to solve the problem by optimizing this single function. This type of solution

works when the objectives do not compete, i.e. an improvement of one criterion does

not lead to the negative influence of any other criteria. Moreover, it is impossible to

apply this approach when the criteria do not have the same physical existence, i.e.

when the price criterion is expressed in keand the power criterion in kW .

Another approach widely used in research into multiple objective optimization is

due to Pareto [199]: given a set of solutions, a multi-objective decision is used to

select a solution in this reduced space search. The concept of the Pareto front is

illustrated in Figure B.18, where five solutions A, B, C, D and O are represented for

a problem with two criteria, f1 and f2 . The solution, O, is not dominated by any

other solution, i.e. it is not possible to improve one criterion without downgrading

another. This solution is called a Pareto optimal. All the Pareto optimum form

the so-called Pareto-optimal front.

As explained in the previous section, these techniques try to combine the different

criteria into a single cost function. The simplest method is to use a weighted-sum

approach [70], but the values of the weights are generally difficult to determine.

Another method is to run a GA several times with, in each run, the problem

optimized as a single-objective problem for one of the criteria and the others left

constant [218] The main disadvantage is the time needed to run all GAs and this

makes the method unusable for problems associated with large search spaces.

Penalty functions are often used to express some constraints. The idea is to

downgrade the solutions violating any of the constraints. But, finding the right

penalty functions is not an easy task. Moreover, it is possible to imagine that all

the solutions offered by GAs do not respect at least one constraint, i.e. GAs cannot

produce a valid solution.

B.6. MULTIPLE OBJECTIVE GROUPING GENETIC ALGORITHMS 223

One of the first non-Pareto approaches was proposed by Schaffer [232]. The idea

was to replace the standard genetic selection operator by an operator selecting mul-

tiple sub-populations, with each sub-population chosen based on one of the criteria

to be optimized. The disadvantage of this method is that the population contains

chromosomes which are very good for one criterion but which could easily be very

bad for the others. The result is that there are only a few chromosomes that are

good for all the criteria.

An idea which is close to the previous one is the one proposed by Kursawe [145],

where he defines a new selection strategy working in as many steps as the number

of criteria defined. At each step, a criterion is chosen randomly according to the

amount of importance assigned to each criterion, and some solutions are removed

from the population. At the end, all the remaining solutions are chosen as parents

for the crossover operator.

Goldberg [79] proposes a ranking method based on the concept of domination.

To begin with, all the non-dominated solutions of the population are assigned the

highest rank and are not used for the following steps. In the remaining solutions

all the non-dominated solutions are again computed and assigned the second highest

rank. The procedure stops when the whole population has been ranked.

Goldberg also suggests introducing a function to make GAs converging toward

a single point on the Pareto front. The niched Pareto GA [102] are another

method and are based on a selection operator called the Pareto domination tour-

nament First of all a subset of tdom_pres individuals is randomly chosen from the

population. When two individuals are picked for the tournament, they are compare

to the subset. If one of the individuals is non-dominated while the other is dominated

by the individuals in the population, the first individual will be selected. If both are

either non-dominated or dominated the operator computes a niche count, which is

the number of individuals in the population at a given distance in the search space

from the two selected individuals. The individual with the lowest niche count will be

selected.

B.6.1 Philosophy

Most of the approaches merging multiple objective optimization and GAs are illus-

trated in Figure B.19a: GA computes a set of Pareto solutions and a multi-criteria

decision-aid method is then used to choose the best one as the final solution. Be-

cause most Pareto-based methods focus on a single point on the Pareto front,

some potentially interesting solutions fail to be studied.

To tackle grouping problems with multiple objective optimization Rekiek devel-

oped the Mogga [217] which is an extension of the GGA that uses a multi-criteria

decision-aid method for ranking (Figure B.19b). The important feature proposed by

Rekiek is integration because it enables the GGA to scan all the interesting parts

224 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

population population

initialisation initialisation

cost

function

evaluation evaluation

stop criterion stop criterion

genetic multi−criteria

operators decision−aid

integration genetic

operators

set of solutions

multi−criteria

decision−aid

solution

solution

(a) (b)

B.6. MULTIPLE OBJECTIVE GROUPING GENETIC ALGORITHMS 225

C1 f1 (C1 ) f2 (C1 ) ··· fj (C1 ) ··· fk (C1 )

C2 f1 (C2 ) f2 (C2 ) ··· fj (C2 ) ··· fk (C2 )

..

.

Cc f1 (Cc ) f2 (Cc ) ··· fj (Cc ) ··· fk (Cc )

..

.

C|A| f1 (C|A| ) f2 (C|A| ) ··· fj (C|A| ) ··· fk (C|A| )

CBest f1 (CBest ) f2 (CBest ) ··· fj (CBest ) ··· fk (CBest )

Φ1 Φ2 ··· Φj ··· Φk

of the search space. Because the method is called upon each time an evaluation of a

population is needed, it is important for the method to be rapid. The Promethee

method [27, 293] is the multi-criteria decision-aid used by Rekiek.

A brief introduction to the Promethee multi-criteria decision aid system is given

in appendix A. At each generation all the chromosomes are considered to be a set of

solutions to be ranked with regard to the criteria, i.e. at each generation a multiple

objective problem must be solved. Each problem is defined by a set solutions C1 ,

C2 , · · · , C|A| and CBest consisting of the |A| chromosomes of a population, the best

chromosome ever computed CBest , and a set of |O| objectives.

An evaluation criterion, fo , and a weight, wo , are associated with each objective,

o. An evaluation fo (Cc ) corresponds to each couple of chromosome Cc and evaluation

criterion fo . This evaluation fo (Cc ) is given as a real number and representing the

quality of the chromosome for the given criterion. All these evaluations make up the

evaluation table used as input by the Promethee method (Table B.7).

Promethee computes a net flow φi for each chromosome. The net flow is the

result of comparisons with all the other chromosomes for all the criteria. Using net

flows it is possible to establish an inter-chromosomes ranking order from the highest

to the lowest values of φi

At each generation, the Promethee method enables the MOGGA to rank all the

chromosomes in a population, and the best chromosome ever found (Figure B.20).

Subsequent to this step the MOGGA can compare two chromosomes and deter-

mine which one is the best. If the best chromosome ever found is not the top-ranking,

it will be replaced by the top-ranking one.

From the GGA, the MOGGA inherits the tournament as a selection operator, but

when two solutions are chosen for comparison, it is their ranking which determines

the best one rather than the result of a fitness function. Because conventional GGA

need a fitness function to work, it is interesting to transform the ranking of the

chromosomes into a fitness function.

A first idea is to choose the net flow φi as the value for the fitness function for

each chromosome. The problem is that the computing of the net flow is the result

of comparisons, i.e. between two generations the net flow of the best chromosome

ever computed may change. It is therefore impossible to use the net flow as fitness

226 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

old individuals

new individuals

better solutions

PROMETHEE

s1 C1 1.1 CBest 1.1 C3 3.1

s2 C3 1 C2 1.0 C1 1

2 2

s3 C2 4 C3 4 CBest 1.1

1 1 1

s4 C4 4 C1 4 C4 4

s5 CBest 0 C4 0 C2 0

function.

The method used in this thesis to determine the value of the cost function depends

on a case to case basis. Let us suppose that at generation g the chromosomes were

ranked as s1 , · · · , s|A|+1 where s1 was the best ranked chromosome and s|A|+1 the

worst ranked one. Let us also assign to each chromosome a cost function, cg (Cc ). The

cost functions can then be computed using the ranking obtained with Promethee:

g + 1.1 Cc = s1 and s1 6= CBest

c

Best,g−1 Cc = s1 and s1 = CBest

cg (Cc ) = 1 Cc = s2 and s1 6= CBest

|A|+1−r Cc = sr 6= CBest and o > 2

|A|

The value of the cost function of the highest ranked chromosome is set to g +1.1 if

it is not the best chromosome ever computed, else the cost function remains identical.

The value of the cost function for the second highest ranked chromosome is set to

1. The values of the cost function for the other chromosomes are proportional to the

corresponding ranking.

Let us illustrate the method on the example given in Table B.8 for a population of

4 chromosomes and the first 2 generations. The ranking is shown for each generation

and the cost function is computed.

The best chromosome was not computed after initialization, and is therefore

ranked as the worst one. Chromosome C1 is ranked as the best one and also has

the greatest cost value function and will be chosen as the best chromosome. After

B.6. MULTIPLE OBJECTIVE GROUPING GENETIC ALGORITHMS 227

the first generation, the ranking leaves the best chromosome in its position as the

best ranked one, i.e. its cost function has not changed and is still better than that

of the others. After the second generation, the best ranked chromosome is no longer

CBest but C3 The cost function of C3 becomes 2 + 1.1 and is then better than that

of the best chromosome. Chromosome C3 will be chosen as the best chromosome

ever computed. The fact that C1 is better ranked than CBest and has worse cost

function is not important because CBest will be replaced by C3 and disappear from

the Genetic Algorithm.

The advantage of the described method is that the GGA operators do not know

anything about the multi-criteria decision-aid method used for ranking the chromo-

somes. Integration into standard GGA is therefore facilitated.

As explained previously, a weight is assigned to each objective. In fact, in the

Promethee method, a triplet of values (po , qo , wo ) must be assigned to each eval-

uation criterion associated to an objective, where p is the preference threshold, q

the indifference threshold and w the weight. Finding the right values for all these

parameters is not an easy task. Moreover, different values in these parameters may

produce different results because the ranking has changed. Good practice for a deci-

sion maker is therefore to run several GAs with different values in these parameters

and to choose the best solution produced.

Another method suggested by Rekiek is a branching on populations technique

inspired by an optimizing method involving searching a population tree [261]. The

basic idea is to work on a population tree where, at each node, n, a Genetic Algorithm

(n) (n) (n)

is running with specific values for the triplets (po , qo , wo ) for the different criteria

used in Promethee. With methods like branching and backtracking it is possible

to construct such trees. Using this method the decision-maker runs the Genetic

Algorithm for a number of generations with a given set of value for the triplets. If he

is not satisfied with the population P (0) computed, he can change some of the values

of the triplets and run the Genetic Algorithm again for a number of generations. If

the new results, P (1) , are worse, the decision-maker can go back to the population,

P (0) If the new results are better, he can change some triplets again and rerun the

Genetic Algorithm.

While this seems a promising proposition, it is difficult to implement such a

solution automatically, i.e. a decision-maker is generally needed to change the values

of the triplets and to check the improvement or the deterioration of the different

populations while the tree is under construction. Moreover, this method transforms

GAs, which are unsupervised clustering methods, i.e. methods that can produce

results without any human interactions, into supervised clustering methods where

some human interventions are necessary.

Promethee is a ranking method based on a comparison of the solutions to each

criterion, i.e. the ranking of each solution is dependent on the other solutions com-

228 APPENDIX B. ANNEXE - MULTI-CRITERIA GROUPING PROBLEMS

pared. When dealing with approximate multi-criteria problems2 , the values of the

criteria for each solution are just an approximation of the quality of the solution. It

can be added that when comparing two solutions, S1 and S2 , where S1 is a better

solution than S2 , the values of the other solutions relative to the population lead S2

as the best to be ranked, i.e. the actual best solution is replaced. This can be seen

as a problem where a local optimum hides the global optimum.

To avoid this problem, an idea could be to store in a separate set all the dif-

ferent solutions that the MO-GGA has ranked as the best solution on an occasion.

At the end of the Genetic Algorithm, these best solutions are checked by applying

Promethee to this set. The solution ranked as first is then return as the result of

the Genetic Algorithm. This solution has been successfully applied to a cell formu-

lation problem where an application of MO-GGA was used [286]. While this method

decrease the probability that a local optimum hides the global optimum, it does not

avoid it. In fact, the ranking done after the run of the Genetic Algorithm can also

be incorrect.

B.7 Conclusions

One field of Computer Science involves the development of algorithms to solve opti-

mization problems. An important category of these problems consists of the NP-hard

ones, for which no polynomial time algorithm has been found so far. When dealing

with NP-hard problems it is, most of the time, necessary to use meta-heuristics.

One set of the meta-heuristics are the Genetic Algorithms (GAs) which are based on

the natural evolution of a population of individual. Grouping problems must find a

optimal clustering of a given set of objects that must respect constraints. Most of

the grouping problems are NP-hard, it is therefore necessary to use meta-heuristics.

The Grouping Genetic Algorithms (GGA) are a class of GAs suited for these group-

ing problems. Sometimes, it is impossible to find a cost function that represent the

quality of a solution but several criteria are needed. In these cases, the problems are

multiple objective problems. Some grouping problems are multiple objective prob-

lems, and a set of algorithms known as the Multiple Objective Grouping Genetic

Algorithms (MO-GGA) were developed to solve these problems.

2

An approximate multi-criteria problem is a problem where the aim cannot be accurately char-

acterized in any way. A set of criteria is defined to approximate the characteristics of the target

without guaranteeing an exact match between the criteria and the characteristics. Each criterion

defines a function that must either be maximized or minimized

Appendix C

This appendix details the coding of heuristics and operators used in the algorithm

Simogga while the chapter 6 details the encoding and illustrates the method with

some examples.

The guideline of this appendix follows the flowchart presented in the figure C.1.

Firstly, the coding based on the GGA coding is presented and illustrated. The rate

used for the genetic operators are computed on the basis of the data. Secondly, the

initialisation phase is described with the different used heuristics. The generation is

then completely detailed with the selection process and the different genetic operators

following by the evaluation phases and the stopping condition. This chapter finishes

with a study of all used parameters.

Analyze

Compute Initialisation :

Population –

Begin 2PMOGGA Problem Encoding Operator Create initial

Fitness

Rate population

Evaluation

Stop Condition :

End 2PMOGGA Problem Decoding Final Solution Y 200 Gen or Intracell Generation

flow=100

C.1 Initialisation

C.1.1 Rand Group Heuristic

Our Rand Group Heuristic is based on a first fit with a first random part. In a first

fit heuristic, the different objects are treated in random order. The different objects

are inserted in the first group able to accept the object (respecting the capacity and

acceptable constraints of the group). The search of an acceptable group is made

among the used group. If no group is found, a new group is inserted in the system.

By this process, the number of used group is always minimal.

To authorize the creation of solutions with different numbers of groups, a proba-

bility p is used to create a new group before the search of a acceptable group for the

object.

229

230 APPENDIX C. ANNEXE - ALGORITHM SIMOGGA

Begin

specialized Heuristic for CF RP is done ?

Initialisation

heuristic problem

Y N N

Run Initialization

Random

Init1<50 ? Init2<50 ? Y Heuristic for RP Y

Value(100) = init1

problem

End Initialisation

heuristic Value(100) = init2

Initialisation:

Begin - Delete not allowed objects

Heuristic - Put allowed objects not

grouped in a random list

Free to put group All objects are PostRun:

Y

object => Adapt the charge of grouped? - Release all empty groups

group with the size of object

Y

N N

Find a group

Select next object

Group is for Next

to insert End Heuristic

founded? object

= CurObj

=FindGroup

Figure C.3: Flowchart of the random heuristic used for the RP and CF problem

C.1. INITIALISATION 231

Step H0 Initialisation:

2. Put in a list all objects that can be used in order to respect the

hard constraints with the actual solution in construction (One used

process by product (RP), only not empty machine can be grouped

(CF)).

3. If some objects are grouped but can not be used (operations belong-

ing to a process not selected (RP) or machine empty (CF)), they are

eliminated from their group.

4. Randomize the list of objects to group:

2. If the list is empty, go to step H5.

M axGroups − N bGroups

p=

M axGroups

where:

M axGroups= maximum of allowed groups for the problem,

N bGroups = actual number of used groups.

The probability p to create a new group before the assignment of the ob-

ject in a group decreases with the number of created groups. The number

of used groups will not necessary be minimal. Randomly, solutions will

not contain the same number of groups except if the capacity requires it.

2. Find the first group able to accept the current object in order to re-

spect the hard constraints about capacity or compatibility (Capacity

not exceeded (RP and CF), machine able to achieve the operation

(RP), co-location and exclusion constraints (RP and CF)).

3. If no group is found and the maximum of groups is not reached, a

new group is created to accept the object.

4. If no group is found, a procedure to free place is run: replace 1, 2

or 3 objects by current object in a acceptable group. If it is not

possible, release a group to accept the current object. If it is always

not possible, release all groups able to accept the current object.

232 APPENDIX C. ANNEXE - ALGORITHM SIMOGGA

Initialisation:

- Compute flow matrix

Begin

- Delete not allowed objects

CF Heuristic

- Put allowed objects not

Grouped in a random list

- Release all empty groups All objects are group

Y Y

- UsedObjects = vector of idp of grouped ? => Adapt the charge of

group for each idp of object group with the size of object

Find a group

for Next Group is

End CF Heuristic RP is done? N N

Y object founded ?

=FindGroup

Find

Find MaxCell = cell with Find MaxObj with

max(MaxCell,MaxObj)

maximum flow from and maximum flow from and

in creating a new cell for

to CurObj/machine to CurObj/operation

MaxObj

2. The charge of the group is adapted in function of the object size.

3. Go to step H1 to insert the next object.

2. Update the coding of the chromosome with the identificator of each

group assigned to the identificator of each object.

The flow heuristics are based on the precedent Rand Group Heuristic. This heuristic

is called when the RP part has been constructed and all operations are allocated to

a specific machine. As the RP problem is solved, the traffic between machines can

be computed and the machine grouping can be based on these traffics.

For Flow Heuristic CF, the different steps of the Rand Group Heuristic are com-

pleted as followed:

2. If the RP problem is done, this initial step is completed with the

computation of the flow matrix φmn . On the basis of the RP-solution,

the traffic between machines can be evaluated following the selected

process of each part.

C.1. INITIALISATION 233

2. If the list is empty, go to step CF5.

3. Verify if the RP problem is solved. If it is not solved, go to step

CF3.5.

1. Find the cell c̃ with which the current object/machine has the max-

imum flow φmaxCell . φ̃1mc represents the total flow between the ma-

chine m and all machines belonging to the cell c.

nM

X

φ̃1mc = znd · φimn (C.1)

n=1

φmaxCell = φ̃1mc̃ c̃ = maxc φ̃1mc

(C.2)

P C

2. Find the machine ñ not yet assigned ( nc=1 znc = 0) with which the

current object/machine has the maximum flow φmaxM ach .

n !

X C

φ̃1mñ φ̃1mn

φmaxM ach = ñ = maxn znc = 0 (C.3)

c=1

PnM are respected

(maximum size of the cell is not reached: z

m=1 mc̃ < ubc ), assign

the current object/machine to the cell c̃.

Go to step CF4

4. If ΦmaxCell < ΦmaxM ach , and if capacity constraints are respected

(maximum number of cells is not reached < nC ), create a new cell.

The current object/machine will be assigned to the new cell with the

machine ñ.

Go to step CF4.

5. If not group is founded, apply step H3 of the Rand Group Heuristic.

2. The charge of the group is adapted in function of the object size.

3. Go To Step CF1 to insert the next object.

2. Update the coding of the chromosome with the identificator of each

group assigned to the identificator of each object.

234 APPENDIX C. ANNEXE - ALGORITHM SIMOGGA

Initialisation :

- Processes selection

Begin

- Delete not allowed objects

RP Heuristic

- Put allowed objects not

grouped in a random list

group All objects are - Release all empty groups

Y Y

=> Adapt the charge of grouped ? - UsedObjects = vector of idp of

group with the size of object group for each idp of object

Group is N

founded ?

Find a group

Select next object

for Next

N to insert End RP Heuristic

object

= CurObj

=FindGroup

Find a group/machine for

containing the maximum

CurObj/operation Y CF is done?

of grouped operation of

belonging to the max cell

current product

For Process Heuristic RP, the flow matrix φmn can not be computed because the op-

erations are not yet allocated to machines. The solution of the CF problem proposes

a machine grouping into cell, created by the Rand group Heuristic CF.

When the process is selected for each part, the heuristic can be applied with the

object treated in a random order. The steps of Rand Group heuristic are adapted as

followed:

putation:

The parameter nijc for process j (of part i) represents the number

of operations that can be achieved in cell c.

XX

∗

ñijc = yijkm · zmc (C.4)

m k

the process j (of part i) that can be achieved in the same cell c̃.

The selected process for part i will be the one with the maximum

value m̃ij . If there are several processes with the same value m̃ij , a

draw is made.

C.2. GENERATION 235

2. If the list is empty, go to step RP5.

3. Verify if the CF is solved. If CF is not solved, go to step RP3.2.

current object/operation (if capacity constraints are respected i.e.

maximum charge of the machine is not reached).

2. If not group is founded, apply step H3 of the Rand Group Heuristic.

2. The charge of the group is adapted in function of the object size.

3. Go To Step RP1 to insert the next object.

2. Update the coding of the chromosome with the identificator of each

group assigned to the identificator of each object.

This heuristic is applied during the initialisation phases because the choice of pro-

cesses is based on the machine grouping. As explained in the section C.2.2 here below,

when the heuristic is called to reconstruct the chromosome, the process selection is

already done.

C.2 Generation

This section details the different step in a generation. Firstly, the selection is de-

scribed, followed by the operators (crossover, mutation and inversion). This section

closes with the reconstruction phases applied after the operators.

The important point is that the genetic operators will work with the group part

of the chromosomes. The standard object part of the chromosomes serves to identify

which objects actually form which group. Note in particular that this implies that

operators will have to handle chromosomes of variable length with genes representing

the groups.

Operators defined here below are applied with a different probability on the first

or second part of the chromosome. These probabilities are computed by the program

during the encoding process and described in section 6.2.2.

236 APPENDIX C. ANNEXE - ALGORITHM SIMOGGA

Selection :

Tournament

Crossover AnalysePop Inversion

strategy=>

Ordered List

N N AnalysePop

Generation AgeNextMut AgeNextInv

AnalysePop Mutation

End Generation

Begin Set of

empty list for C1 C2 randomly in the set

Selection chromosomes

chromsomes of chromsomes

Y

the set list

Set of

C1->Fitness >

End Selection Y chromsomes is

C2->Fitness

empty

N

the set list

C.2. GENERATION 237

Begin parents P1 and P2 crossover cross<Cross1 N

(100-Cross2)

Crossover at top half of the between parent N

ordered list P1 and P2

N Y Y

End Crossover Y

are treated? value(100)=cross

crossover er on PartRP er on PartCF

E2 is done ? N

between parent

between P1 between P1

P2 and P1

and P2 and P2

C.2.1 Selection

The tournament strategy is chosen to select the chromosome for the application of op-

erators. The idea is to create an ordered list of the individuals with the best solution

always at the top, and the others ordered according to a specific method described

below. The upper part of the list will further be used when "good" chromosomes

are needed, while the lower part for "bad" chromosomes. An initial set of all the

individual identifiers is established. Two identifiers of this set are chosen randomly,

and their fitness values are compared. The best of the two - the one corresponding to

the individual with the best fitness value - is reinserted into the set, while the other

is pushed into the list. This method is repeated until all the identifiers in the set

are in the list; this process leads to the construction of an ordered list of individuals,

with the best one at the top of the list. The operator can then presume that the

chromosomes ranked in the top half will be used as parents for the crossovers and

the resulting children will replace the chromosomes in the bottom half.

C.2.2 Crossover

The crossover (illustrated in figure C.8) is applied at each generation. After tour-

nament selection, half chromosomes are crossed and overwrite the worse half. The

process of crossover is the following: two parents are selected in the half top of the

list. Then, the basic circular crossover (explained here below) is applied between both

parents to create two children E1 and E2. The children E1 is created in injecting the

crossing sections from parent P1 in the crossing site of parent P2. The children E2

is created in reversing the process: in injecting the crossing sections from parent P2

in the crossing site of parent P1. This process is applied until half chromosomes at

the top of the list have been crossed.

The basic circular crossover will be applied on the RP problem and CF problem

with a probability of respectively CrossRP % and CrossCF %. In this way, if

the sum of CrossRP and CrossCF is greater than 100 % the crossover can be

applied simultaneously on both parts. In practical, for each children, a random

number is selected (rand ∈ [0 − 100]). If (rand < CrossRP ), the basic circular

crossover is applied between the RP-parts in copying the CF-parts. Then, if (rand >

(100 − CrossCF )), the basic crossover is again applied between the CF-parts.

238 APPENDIX C. ANNEXE - ALGORITHM SIMOGGA

2 1 1

P1 A1 B1 C1 : D1 E1 A2 C1 A1 B2 C2 : D2

P2 A2

1

B2

2

C2 : D2

→ E2 A1 B1

1

B2 C1 : D1

The basic circular crossover (schematized in figure C.10) will fit the following

pattern:

Step 1 A crossing site is randomly selected in each parent. Each part of chromo-

some is represented by a ring. In this case, the crossing site defined by

two-point crossover can include intern groups as well as groups located at

the extremities of the chromosome.

Step 2 Groups selected by the crossing site of one parent are inserted at the

second parent crossing site. At this stage, some objects may appear in

more than one group.

Step 3 The objects cannot appear twice in one solution. The new injected objects

have the priority. So, the existing groups containing objects that are

already in the inserted groups are eliminated. If some groups are empty,

they are also removed from the solution.

Step 4 The validity of the solution is verified according to the hard constraints

relative to the cell formation problem. The used process can be differed in

two parents. Two process of a same product cannot coexist in the solution.

Moreover, a specific machine cannot appear twice. Compatibility is tested

between inserted groups and existing groups. If the existing groups con-

tain operations belonging to another process or the groups corresponding

to an inserted machine, these groups are also eliminated.

Step 5 The objects left aside are reinserted into the solution. It is the reconstruc-

tion phases (explained in section C.2.5).

necessary.

in the section of coding. The second parent uses the following string for the process

selection: 0 1 1 0 1.

Parent 1: A D B 0 0 C B E 0 0 E C : A D B C E :: p q q p q 0 : p q

P1 A D B C E : p q

0 1 2, 6 5, 11 7, 10 A, D B, C, E

Parent 2: 0 0 0 A F A B E 0 0 E C : A F B E C :: q p p 0 p q : q p

C.2. GENERATION 239

Begin End

BasicCrossover BasicCrossover

: Pos1 and Len1 of P1 reinserted missing

inserted in P2 at Pos2 objects

Local Optimisation

P2 can be inserted ?

Y N

Copy all objects before Copy all groups before Copy all objects after Copy all groups after

pos2 and compatible with pos2 and compatible with pos2 and compatible with pos2 and compatible with

inserted groups from P1 inserted groups from P1 inserted groups from P1 inserted groups from P1

Y N

groups from P1 P2 can be inserted ?

P2 A F B E C : q p

3, 5 4 6 7, 10 11 A, F B, C, E

The crossover is applied to the first part of the chromosome. The crossing sites

are defined.

1 2

P1 A D B C E : p q

0 1 2, 6 5, 11 7, 10 A, D B, C, E

2 1

P2 A F B E C : q p

3, 5 4 6 7, 10 11 A, F B, C, E

The groups A and D belonging to the crossing site from parent 1 will be injected

in the crossing section 1 to parent 2. The objects/operations 0 and 1, belonging to

the first process of part 1, must be inserted in parent 2 and have the priority for the

process selection. The process selection of the new children 1 (C1) will be defined by

the processes used by parts in the crossing site (1 0 ∗ ∗ ∗). This string is completed

with the process selection from parent 2 for the missing parts (1 0 1 0 1). The inserted

groups are in bold to distinguish them from the existing groups.

2 1

C1 A F B E A D C : q p

3, 5 4 6 7, 10 0 1 11 A, F B, C, E

240 APPENDIX C. ANNEXE - ALGORITHM SIMOGGA

Objects 3 and 4 must be eliminated from the solution because they belong to a

not used process. Groups are adapted, and empty groups are eliminated from the

RP-part of the chromosome. Group A appearing twice. Group A from parent 2 is

deleted because it is already included in the inserted section site that has the priority.

C1 B E A D C : q p 2,5

6 7, 10 0 1 11 A, F B, C, E

The left object/operation 2 and 5 belonging to the used processes must be rein-

serted by the RP heuristic, respecting capability and capacity constraints.

C1 B E A D C : q p

6,2 7, 10 0, 5 1 11 A, F B, C, E

After the reconstruction phases of the RP-part, the CF-part of the chromosome

must be adapted and reconstructed. The CF heuristic is applied to regroup new

groups/machines inserted by the crossover or created by the reconstruction RP heuris-

tic. Object/machine F not used in the RP-part of the chromosome is eliminated from

the solution. Object/machine D used in the RP-part must be reinserted.

C1 B E A D C : q p D

6,2 7, 10 0, 5 1 11 A B, C, E

The CF heuristic is applied to reinsert the left object/machine D.

C1 B E A D C : q p

6,2 7, 10 0, 5 1 11 A, D B, C, E

The same procedure is applied to groups B and A included in the crossing site of

parent 2 to be injected in parent 1 at section point "|1 ".

C.2.3 Mutation

The role of a mutation operator is to insert new characteristics into a population to

enhance the search space of Genetic Algorithm. But the operator must be defined as

the smallest possible modification with respect to the encoding. And this operator

must be applied as small as possible to let the population evolve with the crossover

([67]).

To respect these considerations, the mutation is not applied as classic genetic

algorithm with a probability between 1 and 5 %. The mutation is applied when there

is no more evolution of the population and the best chromosome of the population is

no changed since a specific number of generations (=AgeBest, The age of a solution

is the number of generations during which the solution is not modified). This number

defines the best chromosome age in the population. The mutation is applied when

this age is reached. The best chromosome is mutated and replaces the worst one.

In the classic genetic algorithm with binary coding, a bit is transformed. With our

grouping coding, there is no sense to remove one group of the solution. To apply a

modification in the grouping, minimum of two groups must be treated to reassigned

differently removed objects.

As defined for the crossover, two parameters, M utRP % and M utCF %, defined

probabilities to apply mutation on first and/or second part of the chromosome. In

our case, the mutation is based on two principal aspects:

C.2. GENERATION 241

• The first idea is to randomly choose a few groups and to remove them from

the solution. The objects attached to these groups are then reinserted into the

solution.

• The second idea is specialized for the cell formation problem. It is to force the

use of another process for a few products. All operations of selected process

are eliminated and the reconstruction phases is applied to the objects belong

to the new process.

P1: A D B 0 0 C B E 0 0 E C : A D B C E :: p q q p q 0 : p q

P1 A D B C E : p q

0 1 2, 6 5, 11 7, 10 A, D B, C, E

could be mutated into

P1: ∗ D ∗ 0 0 C ∗ E 0 0 E C : D C E :: p q q p q 0 : p q

P1 D C E : p q 0, 2, 6, A, B

1 5, 11 7, 10 A, D B, C, E

The process selection string is not changed because there is at least one operation

belonging to each part in the actual solution (1 0 1 0 1). On the contrary way, the

process would be changed.

The chromosome is reconstructed into:

P1: C D B 0 0 C B E 0 0 E C : D C E B :: p q q p q 0 : p q

P1 D C E B : p q A

1 0, 5, 11 7, 10 2, 6 A, D B, C, E

The method used in the reconstruction phases is the same as the one used for the

crossover operator. Objects/machines not used in the RP-part are eliminated from

the solution and left objects/machines are reinserted.

P1: C D B 0 0 C B E 0 0 E C : D C E B :: 0 q q p q 0 : p q

P1 D C E B : p q A

1 0, 5, 11 7, 10 2, 6 D B, C, E

C.2.4 Inversion

The role of the inversion operator is to propose the same solution to the Grouping

Genetic Algorithm, but differently. As pointed out in 6.1, a single solution may

have different presentations, and because crossovers work through crossing sites, the

way in which a solution is presented influences the crossover operator’s results. The

groups appearing close to each other in the group element of a chromosome has likely

more probability to be chosen and transmitted together to the children (offspring). It

is therefore important to include this operator in the Grouping Genetic Algorithms.

This operator changes the position of the groups on the chromosome without changing

the solution. Thus for instance, the chromosome

242 APPENDIX C. ANNEXE - ALGORITHM SIMOGGA

Post Evaluation :

Evaluation of each

Begin Run Promethee II

chromsome (with

Evaluation algorithm to class

several criteria)

all chromosomes

End Evaluation chromosome for each

founded chromsome

is better than Best chromosome in

Chromsome ? current population

Parent 1: A D B 0 0 C B E 0 0 E C : A D B C E :: p q q p q 0 : p q

P1 A D B C E : p q

0 1 2, 6 5, 11 7, 10 A, D B, C, E

could be inverted into

Parent 1: A D B 0 0 C B E 0 0 E C : A B D C E :: p q q p q 0 : p q

P1 A B D C E : p q

0 2, 6 1 5, 11 7, 10 A, D B, C, E

The object part of the chromosome stays unchanged. Indeed, the groups are still

composed if same objects. Only the position of the representation of the groups

is changed. In this case, if groups D and C represent well performing groups, the

probability of transmitting both of them during the next crossover is improved after

the inversion, since there are closer together.

C.2.5 Reconstruction

After operators of crossover and mutation, it is necessary to reinsert all the objects

not assigned. If only one part of the chromosome is modified, the specialized heuristic

(Flow Heuristic RP or CF) is applied to reconstructed the modified part. If both parts

are crossed and/or mutated, one part is randomly selected and reconstructed with

the Rand Group Heuristic. And the specialized heuristic is applied to reconstruct

the second part of the chromosome. The specialized heuristic for part RP of the

chromosome is lightly different in this reconstruction phases. The process selection

for the chromosome depends on the crossover. In this case, the reconstruction phases

for the part RP is based on the computation of maximum flow between the object

to insert and the existing cells.

C.3 Evaluation

After the initialisation and during all generations after the operators, the population

is evaluated and sorted (illustrated in the flowchart C.11). On the basis of all criteria

C.4. STOPPING CONDITION 243

Begin Evaluation of

population d(% of different chromosome two

AnalysePop population

chromosomes in population) by two

Y Rand1<90 ? Y

value (100)=rand2 value (100)=rand1 are similar ?

N

N

Y HardModify N

&& rand2>80 Population ? chromosome

Evaluation of

N Modify End AnalysePop

Population

presented in chapter 4.3.3, each chromosome is evaluated and the parameters (ΦIntra ,

Γ, S, OHL, U W L and U LL) are completed. Once these parameters are evaluated

for each chromosome, Promethee ranks all the chromosome of the population (C1 to

CN ) and the best chromosome (CBest ) ever found. At gth generation, this ordered

list of chromosomes (s1 for the best ranked chromosome to sN + 1 for the worst

ranked one) permits to specify the fitness (Cg (Cc )) of each chromosome c following

the notations:

g + 1.1, Cc = s1 and s1 6= CBest

Best ), Cc = s1 and s1 = CBest

C (C

g−1

Cg (Cc ) = (C.7)

1,

Cc = s2 and s1 6= CBest

|N |+1−r ,

Cc = sr 6= CBest and c > 2

|N |

this fitness and Promethee is given in appendix A.

If the best of the population at the gth generation is better than the best ever

found, this chromosome is written over the last best one and saved in a list of best

solutions.

This evaluation process is included in another one called "Analyse Population"

described in the flowchart C.12.

The stop condition must determine when a GA stops. When the problem to be

optimized is well defined, a particular value of the cost function can be used as exit

condition. But such a value is unknown for our grouping problem. Another exit

criterion must therefore be defined. The trivial idea used is to run the Simogga

a fixed number of generations. Another possible idea could be to let the Simogga

running until the age of the best solution ever computed is greater than a given

244 APPENDIX C. ANNEXE - ALGORITHM SIMOGGA

threshold. The number of generations influences the quality of the solution. In fact,

the number of generations has a double effect on a Genetic Algorithm (GA):

• When the number of generations increases, the quality of the GA should also

increase.

• When the number of generations decreases, the computational time needed also

decreases.

two effects one against the other.

The local search heuristic is applied to the sets of machine cells generated by the

genetic algorithm. When the machine cells are known, it is customary to assign a

product to the cell where it visits the maximum number of machines. This is optimal

to minimize inter-cell movement. However, it does not guarantee good utilization

of the machines within a cell. To overcome this problem, a local search heuristic,

which takes into consideration both inter-cell movement and machine utilization, is

developed. The local search heuristic has proved, in simulations, to produce better

assignments than the customary rule mentioned above (see Figure 8).

Appendix D

In the section, the Generalized Formula 4.51 is applied for the cases where nR = 0 to

nR = 3. In these following instances, the number (in bracket) put in index indicates

the studied repartition of nR elements and the level of the decomposition.

• if nR = 0

QnC −1 mU B !

(nC ,mU B ) i=0 C̃(n M −i×mU B )

N S(nR = 0) = G(nM ,0,0) =

| {z } (η0 )nC

(000...)

nR =0

QnC −1 mU B !

i=0 C̃(n M −i×mU B )

= (D.1)

nC !

(000...)

• if nR = 1

(mU B −1)

(n ,m

C UB ) C̃nM (nC −1,mU B )

N S(nR = 1) = G(nM ,1,1) = × G(nM −(mU B −1),0,1)

η1 | {z }

nR =0 (1...)

QnC −2 mU B !

(m −1) C̃(n

C̃nMU B i=0 M −i×mU B )

= ×

η1 (η0 )nC −1

(100...)

QnC −2 mU B !

i=0 C̃(n M −i×mU B )

N S(nR = 1) = C̃n(mU B −1)

× (D.2)

M

(nC − 1) !

(100...)

• if nR = 2

245

246 APPENDIX D. ANNEXE - SEARCH SPACE

2

!

(m −i)

(nC ,mU B )

X C̃nMU B (nC −1,mU B )

N S(nR = 2) = G(nM ,2,2) = × G(nM −(mU B −i),2−i,i)

ηi

i=1

!

(m −1) (mU B −2)

C̃nMU B C(n −1,m

UB ) C̃nM (nC −1,mU B )

= × G(nM −(mU B −1),1,1) + × G(nM −(mU B −2),0,2)

η1 η2 | {z }

(1...)

nR =0 (2...)

(mU B −1) (mU B −1)

C̃n C̃n −(mU B −1) (nC −2,mU B )

= M × M × G(nM −2×(m −1),0,1)

η1 η1 | {z U B

}

nR =0 (11...)

QnC −2 mU B !

(m −2) C((n

C̃nMU B i=0 M −(mUB −2))−i×mUB )

+ ×

η2 (η0 )nC −1

(2000...)

QnC −3

(mU B −1) (m −1) mU B

C̃nMU−(m

B

C̃(n

= C̃nM × U B −1)

×

i=0 M −2×(mU B −1)−i×mU B )

η1 η1 (η0 )nC −2

(1100...)

QnC −2 mU B !

(m −2) C̃((n

C̃nMU B i=0 M −(mU B −2))−i×mU B )

+ ×

η2 (η0 )nC −1

(2000...)

N S(nR = 2) =

QnC −3 mU B

(m −1) (m −1)

CnMU B × C̃nMU−(m

B

U B −1) i=0 C̃((nM −2×(mU B −1)−i×mU B ))

×

2! (nC − 2) !

(1100...)

QnC −2 mU B !

i=0 C̃((n M −(mU B −2))−i×mU B )

+ Cn(mU B −2)

× (D.3)

M

(nC − 1) !

(2000...)

• if nR = 3

3

!

(m −i)

(nC ,mU B )

X C̃nMU B (nC −1,mU B )

N S(nR = 3) = G(nM ,3,3) = × G(nM −(mU B −i),3−i,i)

ηi

i=1

! !

(m −1) (m −2)

C̃nMU B (nC −1,mU B ) C̃nMU B (nC −1,mU B )

= × G(nM −(mU B −1),2,1) + × G(nM −(mU B −2),1,2)

η1 η2

(1...) (2...)

(mU B −3)

C̃n (nC −1,mU B )

+ M × G(nM −(mU B −3),0,3)

η3 | {z }

nR =0 (3...)

247

(mU B −1) (m −1)

C̃nMU−(m

B

C

× G(nM UB )

η1 η1 −2×(mU B −1),1,1)

(11...)

(mU B −2) (mU B −1)

C̃nM C̃n −(mU B −2) (nC −2,mU B )

× M × G(nM −(m −2)−(m −1),0,1)

η2 η1 | U B

{z U B

}

nR =0 (21...)

QnC −2 mU B !

(m −3) C̃((n

C̃nMU B i=0 M −(mU B −3))−i×mU B )

+ ×

η3 (η0 )nC −1

(300...)

(mU B −1) (mU B −1) (m B −1)

C̃nM C̃nM −(mU B −1) C̃nMU−2×(m U B −1) (nC −3,mU B )

= × × × G(nM −3×(mU B −1),0,1)

η1 η1 η1 | {z }

nR =0 (111...)

QnC −3

(m −2) (m −1) mU B

C̃n U B C̃nMU−(m

B

U B −2) i=0 C̃((n M −(mU B −2)−(mU B −1))−i×mU B )

+ M × ×

η2 η1 (η0 )nC −2

(2100...)

QnC −2 mU B !

(m −3) C̃((n

C̃nMU B i=0 M −(mU B −3))−i×mU B )

+ ×

η3 (η0 )nC −1

(3000...)

QnC −4

(m −1) (m −1) (m −1) mU B

C̃n U B C̃nMU−(m

B

U B −1)

C̃nMU−2×(m

B

U B −1) i=0 C̃((n M −3×(mU B −1))−i×mU B )

= M × × ×

η1 η1 η1 (η0 )nC −3

(11100...)

QnC −2

(mU B −2) (m −1) mU B

C̃nMU−(m

B

C̃((n

+ C̃nM × U B −2)

×

i=0 M −(mU B −2)−(mU B −1))−i×mU B )

η2 η1 (η0 )nC −2

(2100...)

QnC −2 mU B !

(m −3) C̃((n

C̃nMU B i=0 M −(mU B −3))−i×mU B )

+ ×

η3 (η0 )nC −1

(3000...)

QnC −4

(m −1) (m −1) (m −1) mU B

C̃nMU B × C̃nMU−(m

B

U B −1)

× C̃nMU−2×(m

B

U B −1) i=0 C̃((n M −3×(mU B −1))−i×mU B )

= ×

3! (nC − 3) !

(11100...)

QnC −3 mU B !

(m B −1) i=0 C̃((n M −(mU B −2)−(mU B −1))−i×mU B )

+ C̃n(mU B −2)

× C̃nMU−(mU B −2)

×

M

(nC − 2) !

(2100...)

QnC −2 mU B !

i=0 C̃((n M −(mU B −3))−i×mU B )

+ C̃n(mU B −3)

×

M

(nC − 1) !

(3000...)

248 APPENDIX D. ANNEXE - SEARCH SPACE

4

!

(m −i)

(nC ,mU B )

X C̃nMU B (nC −1,mU B )

N S(nR = 4) = G(nM ,4,4) = × G(nM −(mU B −i),4−i,i)

ηi

i=1

! !

(m −1) (m −2)

C̃nMU B (nC −1,mU B ) C̃nMU B (nC −1,mU B )

= × G(nM −(mU B −1),3,1) + × G(nM −(mU B −2),2,2)

η1 η2

(1...) (2...)

!

(m −3)

C̃nMU B C (n −1,m

UB )

+ × G(nM −(mU B −3),1,3)

η3

(3...)

(mU B −4)

C̃n (nC −1,mU B )

+ M × G(nM −(mU B −4),0,4)

η4 | {z }

nR =0 (4...)

(m −1) (m −1) (m −1) (m −1)

C̃n U B C̃nMU−(m

B

U B −1)

C̃nMU−2×(m

B

U B −1)

C̃nMU−3×(m

B

U B −1)

= M × × × ×

η1 η1 η1 η1

(nC −4,mU B )

G(nM −4×(mU B −1),0,1)

| {z }

nR =0 (11110)

(mU B −2) (m −1) (m −1)

C̃nMU−(m

B

C̃nMU−(m

B

C̃nM × U B −2)

× U B −2)−(mU B −1)

×

η2 η1 η1

(nC −3,mU B )

G(nM −(mU B −2)−2×(mU B −1),0,1)

| {z }

nR =0 (21100)

(mU B −2) (m B −2)

C̃nM C̃nMU−(mU B −2) (nC −2,mU B )

× × G(nM −(mU B −2)−(mU B −1),0,2)

η2 η2 | {z }

nR =0 (22000)

(mU B −3) (m −1)

C̃n C̃nMU B (n −2,m )

+ M × × G(nCM −(mUUBB−3)−(mU B −1),0,1)

η3 η1 | {z }

nR =0 (31000)

QnC −2 mU B !

(m −4) C̃((n

C̃nMU B i=0 M −(mU B −4))−i×mU B )

+ ×

η4 (η0 )nC −1

(40000)

(mU B −1) (m −1) (m −1) (m −1)

C̃n C̃nMU−(m

B

U B −1)

C̃nMU−2×(m

B

U B −1)

C̃nMU−3×(m

B

U B −1)

= M × × ×

η1 η1 η1 η1

249

QnC −5 mU B !

i=0 C̃((n M −(4×mU B −4))−i×mU B )

×

(η0 )nC −4

(11110)

(m −2) (m −1) (m −1)

UB C̃nMU−(m

B

C̃nMU−2×m

B

C̃nM × U B −2)

× U B −3)

η2 η1 η1

QnC −4 mU B !

i=0 C̃((n M −(3×mU B −4))−i×mU B )

×

(η0 )nC −3

(21100)

QnC −3

(m −2) (m −2) mU B

UB C̃nMU−(m

B

C̃((n

C̃nM × U B −2)

××

i=0 M −(2×mU B −4))−i×mU B )

η2 η2 (η0 )nC −2

(22000)

QnC −3 mU B !

(m −3) (m −1) C̃((n

C̃nMU B C̃nMU B i=0 M −(2×mU B −4))−i×mU B )

+ × ×

η3 η1 (η0 )nC −2

(31000)

QnC −2 mU B !

(m −4) C̃((n

C̃nMU B i=0 M −(mU B −4))−i×mU B )

+ ×

η4 (η0 )nC −1

(40000)

(m −1) (m −1) (m −1) (m −1)

C̃nMU B × C̃nMU−(m

B

U B −1)

× C̃nMU−2×(m

B

U B −1)

× C̃nMU−3×(m

B

U B −1)

=

4!

QnC −5 mU B !

i=0 C̃((n M −(4×mU B −4))−i×mU B )

×

(nC − 4)!

(11110)

QnC −4

(m −2) (m −1) (m −1) mU B

C̃nMU B × C̃nMU−(m

B

U B −2)

× C̃nMU−(2×m

B

U B −3) i=0 C̃((n M −(3×mU B −4))−i×mU B )

×

2! (nC − 3)!

(21100)

QnC −3

(m −2) (m B −2) mU B

C̃nMU B × C̃nMU−(mU B −2) i=0 C̃((n M −(2×mU B −4))−i×mU B )

×

2! (nC − 2)!

(22000)

QnC −3 mU B !

i=0 C̃((n M −(2×mU B −4))−i×mU B )

+ C̃n(mU B −3)

× C̃n(mU B −1)

×

M M

(nC − 2)!

(31000)

QnC −2 mU B !

i=0 C̃((n M −(mU B −4))−i×mU B )

+ C̃n(mU B −4)

×

M

(nC − 1)!

(40000)

250 APPENDIX D. ANNEXE - SEARCH SPACE

Appendix E

This appendix contains all the complete tables used for the chapter 7.

Table E.4 resumes the best values for each cases of all the four sets of alterna-

tivities. For each set of alternativities, the first column contains the percentage of

cases reaching 100% of intra-cellular flow (%), the second one defines the number of

generations to reach this value (Gen) and the last one shows the maximum intra-

cellular flow found after 100 generations. The four last columns present the average

for each case while the last row, the average values for each set of alternativities. The

last column gives an idea of the resolution time. This resolution time is defined in

seconds.

Table E.5 presents the final results for the algorithm with the local optimisation

after 100 generations for each of the 80 cases (20 cases for each set of alternativity).

The shown values are the percentages of cases reaching 100% of intra-cellular flow,

the best generation number to achieve this level, and the best flow found. The last

row defines the average on 20 cases while the three last columns present the average

for each case on the four sets of alternativity.

Tables E.6 and E.7 presents for all 20 cases of four sets of alternativity RA and

P A ((0, 0), (0, 100), (100, 0) and (100, 100)) the best values after 1000 generations

(with 32 and 64 chromosomes). All values are the average computed for 10 successive

runs. The first column exposes the percentage of cases reaching 100% of intra-cellular

flow. The second one defines the average generation to reach this solution (100% of

grouping) while the third one indicates the best intra-cellular flow found after 1000

generations.

Table E.8 presents the results for the RP-Mogga with an integrated module CF

and the CF-Mogga with an integrated module RP. The results are organised as

follow: for each cases (CI5, CI10, CI15 and CI20), the three sets of alternativity

RA and P A ((0, 100), (100, 0) and (100, 100)) are placed in columns. For each case,

the results contain the percentage of cases reaching 100% of intra-cellular flow, the

average (on 10 runs) of the best intra-cellular flow after 100 generations as well as

the resolution time. These values are given for the proposed algorithm (Simogga)

in the first row. The second row adresses the value relative to the Mogga with an

integrated RP heuristic while the third one the value relative to the Mogga with

another integrated RPMogga. The fourth and fifth rows present the results for the

integrated CF module (heuristic and CFMogga). Theses tables permits to compare

the proposed method to the successive resolutions.

251

252 APPENDIX E. COMPLETE TABLES OF RESULTS

flow % gen % gen % gen % gen flow

CI01 100 100 0 100 0 100 0 100 0 100

CI02 88 100 0 100 0 100 1 100 1 100

CI03 100 100 0 100 0 100 1 100 1 100

CI04 87 100 1 100 3 100 4 100 6 100

CI05 79 100 2 100 5 100 6 100 6 100

CI06 81 100 3 100 5 100 6 100 7 100

CI07 72 100 2 100 5 100 7 100 8 100

CI08 67 100 4 100 6 100 6 100 8 100

CI09 64 100 9 100 11 100 13 100 15 100

CI10 64 100 9 100 10 100 13 100 15 100

CI11 59 100 12 100 15 100 17 100 24 100

CI12 68 100 5 100 7 100 9 100 9 100

CI13 74 100 8 100 10 100 12 100 14 100

CI14 66 100 9 100 12 100 15 100 18 100

CI15 64 100 13 100 17 100 20 100 23 100

CI16 56 100 18 100 19 100 23 100 28 100

CI17 63 100 6 100 8 100 10 100 14 100

CI18 61 100 11 100 14 100 17 100 17 100

CI19 60 100 14 100 17 100 19 100 30 100

CI20 52 100 20 100 23 100 25 100 36 100

Average 71.25 100 7 100 9 100 11 100 14 100

Table E.1: Average values of the intra-cellular flow for ideal case studies (RA=0 and

PA=100).

flow % gen % gen % gen % gen flow

CI01 100 100 0 100 0 100 0 100 0 100

CI02 100 100 0 100 0 100 0 100 0 100

CI03 100 100 0 100 1 100 1 100 1 100

CI04 86 100 0 100 3 100 4 100 5 100

CI05 79 100 8 100 18 100 21 100 24 100

CI06 82 100 16 60 18 60 30 50 36 96

CI07 81 100 11 100 20 100 22 100 23 100

CI08 78 100 21 80 29 80 32 80 34 98

CI09 85 100 31 60 47 50 58 50 70 96

CI10 66 40 66 10 47 10 53 0 - 87

CI11 64 70 75 10 91 0 - 0 - 89

CI12 80 90 16 50 18 40 23 40 26 95

CI13 80 100 23 60 36 30 62 10 49 95

CI14 67 70 59 20 73 0 - 0 - 90

CI15 69 70 44 60 65 50 66 40 81 94

CI16 75 100 39 70 52 30 84 0 - 95

CI17 71 100 26 90 43 40 47 10 56 96

CI18 61 70 57 50 62 30 78 10 76 93

CI19 65 30 75 10 99 0 - 0 - 87

CI20 59 20 91 0 - 0 - 0 - 86

Average 77.4 83 33 61.5 42 51 53 44.5 60 95

Table E.2: Average values of the intra-cellular flow for ideal case studies (RA=100

and PA=0).

253

flow % gen % gen % gen % gen flow

CI01 100 100 0 100 0 100 0 100 0 100

CI02 100 100 0 100 0 100 0 100 0 100

CI03 100 100 0 100 0 100 0 100 0 100

CI04 100 100 4 100 4 100 6 100 6 100

CI05 83 100 9 100 19 100 25 100 34 100

CI06 94 100 0 100 15 60 50 50 56 98

CI07 68 100 18 100 23 90 28 90 30 99

CI08 85 100 14 70 30 70 41 30 52 97

CI09 85 100 27 80 44 60 53 60 60 97

CI10 78 90 67 20 51 10 98 0 - 92

CI11 87 70 37 20 64 0 - 0 - 90

CI12 87 90 19 50 51 30 56 0 - 94

CI13 85 100 24 70 32 50 80 0 - 96

CI14 78 30 59 0 - 0 - 0 - 87

CI15 70 0 - 0 - 0 - 0 - 82

CI16 73 50 63 30 60 20 66 0 - 91

CI17 87 100 32 50 63 10 85 0 - 94

CI18 67 10 74 10 88 10 88 0 - 86

CI19 66 10 97 0 - 0 - 0 - 81

CI20 66 10 99 0 - 0 - 0 - 83

Average 82.95 73 38 55 51 45.5 63 36.5 78 93

Table E.3: Average values of the intra-cellular flow for ideal case studies (RA=100

and PA=100).

254

(RA,P A) (0, 0) (0, 100) (100, 0) (100, 100) Average

% Gen Max % Gen Max % Gen Max % Gen Max % Gen Max Time

CI1 100 0 100 100 0 100 100 0 100 100 0 100 100 0 100 0.1

CI2 100 0 100 100 1.2 100 100 0.2 100 100 0 100 100 0.35 100 0.1

CI3 100 0 100 100 1 100 100 1.1 100 100 0 100 100 0.53 100 0.1

CI4 100 0 100 100 6.3 100 100 5.9 100 100 6.2 100 100 4.6 100 0.4

CI5 100 0 100 100 6.5 100 100 24.2 100 100 34.4 100 100 16.28 100 1.1

CI6 100 0 100 100 7.6 100 50 36.6 96.9 50 56.4 98.6 75 25.15 98.88 2.8

CI7 100 0 100 100 8 100 100 23.8 100 90 30.3 99.7 97.5 15.53 99.93 1.6

CI8 100 0 100 100 8.9 100 80 34.3 98.7 30 52 97.6 77.5 23.8 99.08 4.3

CI9 100 0 100 100 15.5 100 50 70 96.8 60 60.8 97.6 77.5 36.58 98.6 5.9

CI10 100 0 100 100 15.2 100 0 - 87.7 0 - 92.4 50 7.6 95.03 10

CI11 100 0 100 100 24 100 0 - 89 0 - 90.3 50 12 94.83 16

CI12 100 0 100 100 9.9 100 40 26.5 95.1 0 - 94.6 60 12.13 97.43 4.8

CI13 100 0 100 100 14.2 100 10 49 95.9 0 - 96.2 52.5 21.07 98.03 8

CI14 100 0 100 100 18.7 100 0 - 90.5 0 - 87.8 50 9.35 94.58 13.1

CI15 100 0.3 100 100 23.5 100 40 81.8 94.8 0 - 82.2 60 35.2 94.25 18.8

CI16 100 0 100 100 28.4 100 0 - 95.5 0 - 91.2 50 14.2 96.68 25.2

CI17 100 0 100 100 14.6 100 10 56 96.6 0 - 94.9 52.5 23.53 97.88 9.3

CI18 100 0.2 100 100 17.7 100 10 76 93.1 0 - 86.6 52.5 31.3 94.93 15.2

CI19 100 0 100 100 30.2 100 0 - 87.4 0 - 81.6 50 15.1 92.25 27.5

CI20 100 1.8 100 100 36.3 100 0 - 86.4 0 - 83.4 50 19.05 92.45 35.4

Aver. 100 0.1 100 100 14.4 100 44.5 34.7 95.2 36.5 26.7 93.7 70.25 18.98 97.23 10

Table E.4: Comparative table with best values for a population of 32 chromosomes after 100 generations for four sets of alternativity.

(RA,P A) (0, 0) (0, 100) (100, 0) (100, 100) Average

% Gen Max % Gen Max % Gen Max % Gen Max % Gen Max Time

CI1 100 0 100 100 0 100 100 0 100 100 0 100 100 0 100 0.1

CI2 100 0 100 100 1.2 100 100 0.1 100 100 0 100 100 0.33 100 0.2

CI3 100 0 100 100 1.2 100 100 0.2 100 100 0 100 100 0.35 100 0.1

CI4 100 0 100 100 5.3 100 100 1 100 100 4 100 100 2.58 100 0.5

CI5 100 0 100 100 6.3 100 100 1 100 100 9.2 100 100 4.13 100 0.7

CI6 100 0 100 100 7.7 100 100 9.7 100 100 9.1 100 100 6.63 100 1.2

CI7 100 0 100 100 6.4 100 100 3.6 100 100 8.9 100 100 4.73 100 1

CI8 100 0 100 100 7.8 100 100 7 100 100 31.4 100 100 11.55 100 3

CI9 100 0 100 100 15.7 100 100 7.2 100 90 28.22 99.7 97.5 12.78 99.93 4.9

CI10 100 0 100 100 17.3 100 50 38.8 99.1 30 37 97.4 70 23.28 99.13 15.3

CI11 100 0 100 100 21.3 100 50 52 99.4 20 89 95.8 67.5 40.58 98.8 26.6

CI12 100 0 100 100 7.2 100 100 7.5 100 20 52.5 98 80 16.8 99.5 6.3

CI13 100 0 100 100 15.5 100 100 20.8 100 60 48 99.4 90 21.08 99.85 8.8

CI14 100 0 100 100 16.6 100 100 24.3 100 20 66.5 93.1 80 26.85 98.28 17.6

CI15 100 0.3 100 100 20 100 100 38 100 20 80 91.8 80 34.58 97.95 27.1

CI16 100 0 100 100 29.2 100 60 32.5 98.6 40 65.5 98.1 75 31.8 99.18 39.3

CI17 100 0 100 100 13.4 100 100 23 100 70 50.71 98.9 92.5 21.78 99.73 10

CI18 100 0.2 100 100 18.3 100 70 45.4 99.4 50 50.4 95.3 80 28.58 98.68 21.7

CI19 100 0 100 100 29.7 100 60 58.7 98.5 0 - 91.5 65 29.46 97.5 47.1

CI20 100 1.8 100 100 28.5 100 40 60.3 97.6 0 - 91.8 60 30.18 97.35 56.4

Aver. 100 0.1 100 100 13.4 100 86.5 21.6 99.6 61 35 97.5 86.88 17.53 99.28 14.4

Table E.5: Comparative table with best values for the algorithm with the local optimisation after 100 generations and 32 chromosomes

for four sets of alternativity.

255

256

(RA,P A) (0, 0) (0, 100) (100, 0) (100, 100) Average

% Gen Max % Gen Max % Gen Max % Gen Max % Gen Max

CI1 100 0 100 100 17.3 100 100 0 100 100 0 100 100 4.33 100

CI2 100 0 100 100 0 100 100 0 100 100 0.3 100 100 0.08 100

CI3 100 0 100 100 0.2 100 100 1 100 100 0 100 100 0.3 100

CI4 100 0 100 100 1.1 100 100 1.6 100 100 6.8 100 100 2.38 100

CI5 100 0 100 100 4.1 100 100 1.4 100 100 7.8 100 100 3.33 100

CI6 100 0 100 100 8.3 100 100 13.6 100 100 34.5 100 100 14.1 100

CI7 100 0 100 100 9.3 100 100 4.4 100 100 19.6 100 100 8.33 100

CI8 100 0 100 100 5.3 100 100 11.5 100 100 51.7 100 100 17.13 100

CI9 100 0 100 100 8.7 100 100 8.3 100 100 29.8 100 100 11.7 100

CI10 100 0 100 100 12.6 100 90 83.1 99.9 30 187 99 80 70.68 99.73

CI11 100 0 100 100 21.7 100 90 127.6 99.9 60 175.7 99 87.5 81.25 99.73

CI12 100 0 100 100 22.4 100 100 11.9 100 90 117.2 99.8 97.5 37.88 99.95

CI13 100 0 100 100 7.6 100 100 28.4 100 90 114 99.9 97.5 37.5 99.98

CI14 100 0 100 100 14.7 100 100 33.3 100 80 324 99.1 95 93 99.78

CI15 100 0 100 100 21.6 100 100 48 100 60 299.7 97.2 90 92.33 99.3

CI16 100 1.5 100 100 19.8 100 100 103.8 100 70 269.9 99.7 92.5 98.75 99.93

CI17 100 0 100 100 32.4 100 100 28.2 100 50 92 98.9 87.5 38.15 99.73

CI18 100 0 100 100 14.7 100 100 45.6 100 80 202 99.8 95 65.58 99.95

CI19 100 0.8 100 100 20.2 100 90 179.9 99.7 90 391.1 99.6 95 148 99.83

CI20 100 7.9 100 100 33.5 100 90 114.2 99.7 90 468.1 99.9 95 155.93 99.9

Aver. 100 0.5 100 100 13.8 100 98 42.3 100 84.5 139.6 99.6 95.63 49.05 99.9

Pop. size=64 100 0.4 100 100 11.5 100 97.5 44.2 100 92.5 58.2 99.8 97.5 28.58 99.95

Table E.6: Comparative table with best values for the algorithm with the local optimisation after 1000 generations and 32 chromosomes

for four sets of alternativity.

(RA,P A) (0, 0) (0, 100) (100, 0) (100, 100) Average

% Gen Max % Gen Max % Gen Max % Gen Max % Gen Max

CI1 100 0 100 100 10.4 100 100 0 100 100 0 100 100 2.6 100

CI2 100 0 100 100 0 100 100 0 100 100 0 100 100 0 100

CI3 100 0 100 100 0 100 100 0.2 100 100 0 100 100 0.05 100

CI4 100 0 100 100 0.1 100 100 0.8 100 100 2.6 100 100 0.88 100

CI5 100 0 100 100 3.3 100 100 1.6 100 100 6.2 100 100 2.78 100

CI6 100 0 100 100 5.9 100 100 9.7 100 100 12.4 100 100 7 100

CI7 100 0 100 100 4.9 100 100 2.5 100 100 6.6 100 100 3.5 100

CI8 100 0 100 100 6 100 100 8.6 100 100 11.1 100 100 6.43 100

CI9 100 0 100 100 6.8 100 100 8.5 100 100 23.9 100 100 9.8 100

CI10 100 0 100 100 13.8 100 90 237.1 99.9 90 43.6 99.9 95 73.63 99.95

CI11 100 0 100 100 13.4 100 70 185 99.4 80 78.1 99.6 87.5 69.13 99.75

CI12 100 0 100 100 17.4 100 100 6.3 100 90 21.1 99.8 97.5 11.2 99.95

CI13 100 0 100 100 6.3 100 100 32.4 100 100 39.3 100 100 19.5 100

CI14 100 0 100 100 15.8 100 100 19.1 100 80 76.1 98.9 95 27.75 99.73

CI15 100 0 100 100 23.2 100 100 39.5 100 100 145.2 100 100 51.98 100

CI16 100 0 100 100 16.3 100 100 46.8 100 70 143.6 99.6 92.5 51.68 99.9

CI17 100 0 100 100 28.1 100 100 18.2 100 80 51.8 99.7 95 24.53 99.93

CI18 100 0 100 100 10.9 100 100 105.9 100 100 100.5 100 100 54.33 100

CI19 100 0 100 100 21.3 100 100 48.6 100 90 214.2 99.6 97.5 71.03 99.9

CI20 100 7.4 100 100 26.3 100 90 112.8 99.7 70 187.9 98.7 90 83.6 99.6

Aver. 100 0.4 100 100 11.5 100 97.5 44.2 100 92.5 58.2 99.8 97.5 28.58 99.95

Table E.7: Values of the generation and the percentage of cases reaching 100% of intra-cellular flow and the best intra-cellular flows after

1000 generations of the Simogga and a population of 64 chromosomes.

257

258

(RA,P A) (0, 100) (100, 0) (100, 100) Average

% flow Time % flow Time % flow Time % flow Time

CI5 2P 100 100 0.9 100 100 1 100 100 2.5 100 100 1.5

HeurRP 100 100 2.2 100 100 0.1 100 100 1.1 100 100 1.1

RPGGA 100 100 112 100 100 35.5 100 100 70.2 100 100 72.6

HeurCF 100 100 1.6 100 100 0.2 100 100 0.9 100 100 0.9

CFGGA 100 100 198.3 100 100 19.8 100 100 113.3 100 100 110.5

CI10 2P 100 100 5.3 10 87.7 12.1 10 92.4 25.9 40 93.4 14.4

HeurRP 100 100 10.8 60 98.8 7.6 10 99.3 20 56.7 99.4 12.8

RPGGA 100 100 874.4 20 97.6 1618.9 30 97.8 2746.6 50 98.5 1746.6

HeurCF 100 100 10.6 40 98.4 11.7 0 89.1 30.2 46.7 95.8 17.5

CFGGA 30 96.1 4583.1 10 96.5 1889.5 10 97.3 3927 16.7 96.6 3466.5

CI15 2P 100 100 11.2 40 94.8 18.8 10 82.2 51.8 50 92.3 27.3

HeurRP 80 98.2 25.7 100 100 6.2 0 93.4 38.9 60 97.2 23.6

RPGGA 90 99.8 2106.5 60 98.6 1797.3 30 95.3 5474.2 60 97.9 3126

HeurCF 100 100 13.2 70 99.7 13.8 10 84.2 60.9 60 94.6 29.3

CFGGA 0 80.4 7105.5 0 89.5 3247.8 0 87.9 8029.9 0 85.9 6127.7

CI20 2P 100 100 40.9 10 86.4 29.2 10 83.4 84.3 40 89.9 51.5

HeurRP 30 92.9 75.8 50 97.9 19.5 0 87.9 59.5 26.7 92.9 51.6

RPGGA 100 100 2656.6 100 100 2360 0 99 12464 66.7 99.7 5826.9

HeurCF 100 100 67.5 0 94.4 35.9 0 78 100.1 33.3 90.8 67.8

CFGGA 0 66.5 23217.2 0 71.9 9525 0 65.5 24779 0 67.9 19173.7

Aver. 2P 100 100 14.6 40 92.2 15.3 32.5 89.5 41.1 57.5 93.9 23.7

HeurRP 77.5 97.8 28.6 77.5 99.2 8.4 27.5 95.1 29.9 60.8 97.4 22.3

RPGGA 97.5 99.9 1437.4 70 99 1452.9 40 98 5188.8 69.2 99 2693

HeurCF 100 100 23.2 52.5 98.1 15.4 27.5 87.8 48 60 95.3 28.9

CFGGA 32.5 85.7 8776 27.5 89.5 3670.5 27.5 87.7 9212.3 29.2 87.6 7219.6

Table E.8: Best values found with the Simogga and the Mogga with an integrated module (RP and CF).

(RA,P A) (0, 0) (0, 100) (100, 0) (100, 100) Average

% Gen Max % Gen Max % Gen Max % Gen Max % Gen Max Time

CI1 100 0 100 100 3 100 100 1 100 100 2 100 100 1.5 100 0.2

CI2 100 0 100 100 2.1 100 100 1 100 100 2.9 100 100 1.5 100 0.3

CI3 100 0 100 100 6.1 100 100 1.5 100 100 1.7 100 100 2.33 100 0.3

CI4 100 0 100 100 8.5 100 100 1.1 100 100 10.9 100 100 5.13 100 0.5

CI5 100 0 100 100 11 100 100 2.3 100 100 6.5 100 100 4.95 100 0.7

CI6 100 0 100 100 11.3 100 100 6.9 100 100 16.5 100 100 8.68 100 1.5

CI7 100 0 100 100 12.2 100 100 1.2 100 100 18.7 100 100 8.03 100 1.4

CI8 100 0 100 100 11.4 100 100 6.3 100 100 32.9 100 100 12.65 100 2.7

CI9 100 0 100 100 24.6 100 100 8 100 90 33.11 99.9 97.5 16.43 99.98 4.6

CI10 100 0.2 100 100 15.9 100 50 66.6 99.6 90 24 100 85 26.68 99.9 16.9

CI11 100 0 100 100 16.7 100 60 48 99.7 60 37.67 99.6 80 25.59 99.83 31.2

CI12 100 0 100 100 15.4 100 100 7.1 100 70 20.43 99.2 92.5 10.73 99.8 3.3

CI13 100 0 100 100 22.8 100 90 23.8 99.8 100 21.3 100 97.5 16.98 99.95 5.9

CI14 100 2 100 100 20.4 100 100 17.2 100 80 43.38 99.3 95 20.75 99.83 19.7

CI15 100 1.8 100 100 18.1 100 100 21.6 100 100 36.9 100 100 19.6 100 20.6

CI16 100 2 100 100 31.5 100 80 24.6 99.8 80 48.63 99.9 90 26.68 99.93 45.4

CI17 100 0.1 100 100 12 100 100 10.7 100 90 44.78 99.9 97.5 16.9 99.98 13

CI18 100 0 100 100 19.9 100 70 32.4 99.6 80 32.38 99.6 87.5 21.17 99.8 25.1

CI19 100 0 100 100 24.8 100 100 42 100 30 78.67 98.2 82.5 36.37 99.55 65.3

CI20 100 2.4 100 100 28.5 100 50 55 98.5 50 81.8 99 75 41.93 99.38 84.5

Aver. 100 0.4 100 100 15.8 100 90 18.9 99.9 86 29.8 99.7 94 16.23 99.9 17.2

1000-32 100 0.5 100 100 13.8 100 98 42.3 100 84.5 139.6 99.6 95.63 49.05 99.9 54.78

1000-64 100 0.4 100 100 11.5 100 97.5 44.2 100 92.5 58.2 99.8 97.5 28.58 99.95 66.63

Table E.9: Comparative table with best values for the final algorithm after all adaptations after 100 generations for four sets of

alternativity.

259

260

(RA,P A) (0, 100) (100, 0) (100, 100) Average

% flow Time % flow Time % flow Time % flow Time

CI5 2P 100 100 1.2 100 100 0.3 100 100 1.2 100 100 0.9

HeurRP 100 100 2 100 100 0.3 100 100 1.7 100 100 1.3

RPGGA 100 100 112 100 100 35.5 100 100 70.2 100 100 72.6

HeurCF 100 100 2 100 100 0.2 100 100 1.1 100 100 1.1

CFGGA 100 100 198.3 100 100 19.8 100 100 113.3 100 100 110.5

CI10 2P 100 100 9.3 50 99.6 32.7 90 100 25.3 80 99.9 22.4

HeurRP 100 100 12.7 20 99.2 31.6 40 100 37.5 53.3 99.7 27.3

RPGGA 100 100 874.4 20 97.6 1618.9 30 97.8 2746.6 50 98.5 1746.6

HeurCF 100 100 12.8 30 99.3 45.4 40 98.1 87 56.7 99.1 48.4

CFGGA 30 96.1 4583.1 10 96.5 1889.5 10 97.3 3927 16.7 96.6 3466.5

CI15 2P 100 100 14 100 100 12.9 100 100 54.8 100 100 27.2

HeurRP 100 100 24.3 100 100 9.6 20 97 141.1 73.3 99 58.3

RPGGA 90 99.8 2106.5 60 98.6 1797.3 30 95.3 5474.2 60 97.9 3126

HeurCF 100 100 12.8 100 100 14.9 20 97.5 194.9 73.3 99.2 74.2

CFGGA 0 80.4 7105.5 0 89.5 3247.8 0 78.8 7207.7 0 82.9 5853.7

CI20 2P 100 100 50.5 50 98.5 66.6 50 99 219 66.7 99.2 112

HeurRP 80 100 112.2 80 99.8 32.5 0 95.7 252.7 53.3 98.5 132.5

RPGGA 100 100 2656.6 100 100 2360 0 99 12464 66.7 99.7 5826.9

HeurCF 100 100 53.4 30 99.4 91.3 0 92.7 384 43.3 97.4 176.2

CFGGA 0 66.5 23217.2 0 71.9 9525 0 65.5 24779 0 67.9 19173.7

Aver. 2P 100 100 18.8 75 99.5 28.1 85 99.8 75.1 86.7 99.8 40.7

HeurRP 95 100 37.8 75 99.7 18.5 40 98.2 108.3 70 99.3 54.9

RPGGA 97.5 99.9 1437.4 70 99 1452.9 40 98 5188.8 69.2 99 2693

HeurCF 100 100 20.3 65 99.7 38 40 97.1 166.8 68.3 98.9 75

CFGGA 32.5 85.7 8776 27.5 89.5 3670.5 27.5 85.4 9006.8 29.2 86.9 7151.1

Table E.10: Best values found with the final Simogga and the Mogga with an integrated module (RP and CF).

Appendix F

All case studies found in the literature are resumed in this appendix. The data sets

are represented by the incidence matrix. The twenty cases without alternativity (P b1

to P b20) are described with the parts in columns and the machine in rows.

P 0 0 0 0 0 0 0

M 1 2 3 4 5 6 7

1 1 1 1 1

2 1 1

3 1 1 1

4 1 1 1

5 1 1

P 0 0 0 0 0 0 0

M 1 2 3 4 5 6 7

1 1 1 1 1

2 1 1 1 1

3 1 1 1 1

4 1 1 1 1

5 1 1 1 1

P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1

M 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8

1 1 1 1 1 1 1 1 1 1 1 1 1

2 1 1 1 1 1 1 1 1 1 1 1 1

3 1 1 1 1 1

4 1 1 1 1 1 1 1 1 1 1 1 1

5 1 1 1 1 1

261

262 APPENDIX F. ANNEXE - CASE STUDIES

P 0 0 0 0 0 0 0 0

M 1 2 3 4 5 6 7 8

1 1 1 1

2 1 1 1 1 1 1 1

3 1 1 1

4 1 1

5 1 1 1 1 1

6 1 1

P 0 0 0 0 0 0 0 0

M 1 2 3 4 5 6 7 8

1 1 1 1

2 1 1

3 1 1 1 1

4 1 1

5 1 1 1 1

6 1 1 1

P 0 0 0 0 0 0 0 0

M 1 2 3 4 5 6 7 8

1 1 1 1

2 1 1

3 1 1 1 1

4 1 1 1

5 1 1 1

6 1 1

7 1 1 1 1

P 0 0 0 0 0 0 0 0 0 1 1

M 1 2 3 4 5 6 7 8 9 0 1

1 1 1 1

2 1 1 1

3 1 1

4 1 1 1

5 1 1

6 1 1 1 1 1

7 1 1 1 1 1

P 0 0 0 0 0 0 0 0 0 1 1

M 1 2 3 4 5 6 7 8 9 0 1

1 1 1 1

2 1 1 1

3 1 1 1 1

4 1 1

5 1 1 1

6 1 1 1

7 1 1 1

F.1. CS WITHOUT ALTERNATIVITY 263

P 0 0 0 0 0 0 0 0 0 1 1 1

M 1 2 3 4 5 6 7 8 9 0 1 2

1 1 1 1 1

2 1 1 1 1 1 1 1

3 1 1 1 1 1 1 1

4 1 1 1 1 1

5 1 1 1 1

6 1 1 1 1

7 1 1

8 1 1

P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2

M 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0

1 1 1 1 1 1 1 1 1 1 1

2 1 1 1 1 1 1 1

3 1 1 1 1 1 1 1 1 1

4 1 1 1 1 1 1 1

5 1 1 1 1 1 1 1

6 1 1 1 1 1 1 1

7 1 1 1 1 1 1 1 1

8 1 1 1 1 1 1

P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2

M 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0

1 1 1 1 1 1 1 1 1 1 1

2 1 1 1 1 1 1 1 1 1

3 1 1 1 1 1 1 1 1 1 1 1

4 1 1 1 1 1 1 1 1 1 1 1 1 1

5 1 1 1 1 1 1 1 1 1 1 1 1

6 1 1 1 1 1 1 1 1 1 1 1 1 1

7 1 1 1 1 1 1 1 1 1 1 1

8 1 1 1 1 1 1 1 1 1 1 1 1

P 0 0 0 0 0 0 0 0 0 1

M 1 2 3 4 5 6 7 8 9 0

1 1 1

2 1 1 1

3 1 1

4 1

5 1 1

6 1 1 1

7 1 1

8 1 1

9 1 1 1 1

10 1 1 1

264 APPENDIX F. ANNEXE - CASE STUDIES

P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1

M 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

1 1 1 1 1

2 1 1 1 1 1

3 1 1 1 1

4 1 1 1 1

5 1 1 1 1 1

6 1 1 1 1 1

7 1 1 1 1 1

8 1 1 1 1 1

9 1 1 1 1

10 1 1 1 1 1

P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

M 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9

1 1 1 1 1 1

2 1 1 1

3 1 1 1

4 1 1 1 1 1 1 1 1

5 1 1 1

6 1 1 1 1 1 1 1 1 1

7 1 1 1 1 1 1 1 1 1 1 1

8 1 1 1 1 1 1 1 1

9 1 1 1 1 1 1 1 1

10 1 1 1 1 1 1 1

11 1 1 1 1 1 1

12 1 1 1 1 1

P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2

M 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4

1 1 1

2 1 1

3 1 1 1

4 1 1 1 1 1 1

5 1 1 1 1 1

6 1 1 1 1 1 1 1

7 1 1 1 1 1

8 1 1 1 1 1 1 1

9 1 1 1 1 1

10 1 1

11 1 1 1

12 1 1

13 1 1 1 1 1

14 1 1 1 1

F.1. CS WITHOUT ALTERNATIVITY 265

P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2

M 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4

1 1 1

2 1 1

3 1 1 1

4 1 1 1 1 1 1

5 1 1 1 1 1

6 1 1 1 1 1 1 1 1

7 1 1 1 1 1

8 1 1 1 1 1 1 1 1

9 1 1 1 1 1

10 1 1

11 1 1 1 1

12 1 1

13 1 1 1 1 1

14 1 1 1 1

P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2

M 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4

1 1 1 1 1 1 1 1 1 1 1 1 1

2 1 1 1 1 1

3 1 1 1 1 1 1 1

4 1 1

5 1

6 1 1 1 1 1 1 1

7 1 1 1

8 1 1 1 1 1 1 1

9 1 1

10 1 1 1 1 1 1

11 1 1 1 1 1 1 1 1

12 1 1 1 1 1 1

13 1 1 1 1 1

14 1 1 1 1 1 1

15 1 1 1 1

16 1 1 1 1 1

P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3

M 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0

1 1 1 1 1 1 1 1 1

2 1 1 1 1 1 1

3 1 1 1 1 1 1 1

4 1 1 1 1 1 1 1

5 1 1 1 1 1 1 1 1 1

6 1 1 1 1

7 1 1 1 1 1 1 1 1

8 1 1 1 1 1 1 1

9 1 1 1 1 1 1

10 1 1 1 1 1 1 1 1 1

11 1 1 1 1 1 1 1 1

12 1 1 1 1 1 1 1 1

13 1 1 1 1 1 1

14 1 1 1 1 1 1 1 1

15 1 1 1 1 1 1 1

16 1 1 1 1 1 1 1 1

266

P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4

M 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3

1 1 1 1

2 1 1 1 1 1 1 1 1

3 1 1 1 1 1

4 1 1 1 1 1 1 1

5 1 1 1 1 1 1 1 1 1 1 1 1 1

6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

7 1 1 1

8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

9 1 1 1 1 1 1 1 1 1 1

10 1 1 1 1 1 1 1

11 1 1 1 1 1 1

12 1 1 1 1 1

13 1 1

14 1 1 1 1

15 1 1 1 1 1 1 1

16 1 1 1 1 1 1 1

F.1. CS WITHOUT ALTERNATIVITY

P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4

M 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3

1 1 1

2 1 1 1 1 1 1 1

3 1 1 1 1 1

4 1 1 1 1 1 1 1

5 1 1 1 1 1 1 1 1 1 1 1 1 1

6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

7 1 1 1

8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

9 1 1 1 1 1 1 1 1 1 1

10 1 1 1 1 1 1 1

11 1 1 1 1 1 1

12 1 1 1 1 1

13 1 1

14 1 1 1 1

15 1 1 1 1 1 1 1

16 1 1 1 1 1 1 1 1

267

268 APPENDIX F. ANNEXE - CASE STUDIES

The cases with alternative processes (P A1 to P A16) contain the information about

the process. A column is dedicated to each process. The cases with alternati