Vous êtes sur la page 1sur 329

b e am s

Genetic Algorithm Applied to


Generalized Cell Formation Problems

Faculté des Sciences Appliquées

Année académique 2009 - 2010

Thèse présentée par


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 Cell Formation Problem 11


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.2 Mathematical Programming . . . . . . . . . . . . . . . . . . . . 32


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 Annexe - The Promethee Method 193


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 Annexe - Multi-Criteria Grouping Problems 199


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.5.4 Pareto-based Approaches . . . . . . . . . . . . . . . . . . . . 223


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 Annexe - Algorithm Simogga 229


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

D Annexe - Search Space 245

E Complete tables of results 251

F Annexe - Case studies 261


F.1 CS without alternativity . . . . . . . . . . . . . . . . . . . . . . . . . . 261
F.2 CS with alternativity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

G Acronyms 281
vi CONTENTS
List of Figures

1.1 Job Shop Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2


1.2 Flow Shop Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Cellular Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.1 Dendrogram based on Jaccard similarity coefficient illustrated for


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.1 Normal use of a machine; overfilled machine; underfilled machine. . . . 67


4.2 Spanning tree enumerating the possible instance for a repartition of
three free places in 4 groups (nR = 3) . . . . . . . . . . . . . . . . . . 80

5.1 Flowchart of the Grouping Genetic Algorithm. . . . . . . . . . . . . . 90


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.1 Data used to illustrate the encoding . . . . . . . . . . . . . . . . . . . 105


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

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


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

7.1 Evolution of the intra-cellular flows for 4 different CF heuristics applied


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

A.1 An example of a preference function. . . . . . . . . . . . . . . . . . . . 194

B.1 Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201


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.7 A simple mutation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209


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.1 Flowchart of the 2PMOGGA . . . . . . . . . . . . . . . . . . . . . . . 229


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.1 Problem Pb1 from [140] . . . . . . . . . . . . . . . . . . . . . . . . . . 261


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.19 Problem Pb19 from [139] . . . . . . . . . . . . . . . . . . . . . . . . . . 266


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

1.1 Reading suggestions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1 Summary of the different notions of alternative routings and processes


for a part k. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Machine-Part Matrix Notations. . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Machine-Part Matrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4 Cell Formation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.1 Initial Machine-Part matrix. . . . . . . . . . . . . . . . . . . . . . . . . 27


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.1 Parameters used in the Simogga. . . . . . . . . . . . . . . . . . . . . 100


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.1 Size of the search spaces RP and CF. . . . . . . . . . . . . . . . . . . . 132


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.1 Tested problems without alternativity. . . . . . . . . . . . . . . . . . . 175


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.1 Evaluation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193


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.1 Initial Population for f (x) = x2 . . . . . . . . . . . . . . . . . . . . . . 205


B.2 Proportional selection using the example. . . . . . . . . . . . . . . . . 206
xiv LIST OF TABLES

B.3 An example of a tournament. . . . . . . . . . . . . . . . . . . . . . . . 208


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

I would like to express my gratitude to my supervisor, Professor Alain Delchambre,


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

The objective of the cellular manufacturing is to simplify the management of the


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:

• the allocation of each operation on a machine: each part is defined by one or


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

1.1 Cellular Manufacturing


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

Lathe Milling Grinding


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

Figure 1.1: Job Shop Layout.

In contrast to job shops, flow shop is based on a line layout. Depending on


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

Figure 1.2: Flow Shop Layout.

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 Benefits and Drawbacks of CM


1.2.1 Advantages
Once manufacturing cells are formed, the following advantages are highlighted [72,
152, 302]:

• Reduction of setup time [12]: A manufacturing cell is designed to produce


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.

• Reduction of work-in-process (WIP) and finished goods inventories: Askin and


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

Figure 1.3: Cellular Layout.

• 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.

• Reduction of tooling requirements: Parts produced in a cell have same shape,


size and composition and generally require same tools.

• Reduction in space required: Reductions in WIP, finished good inventories and


lot sizes permit to reduce the space required.

• Reduction throughput times: In a job shop, parts are transferred between


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.

• Difficulty to manage machine breakdown, overload, under-load and balancing:


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.

• Specialised labour: In grouping different functional machines in a cell, the ob-


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.

• Synchronisation of parts for subsequent assembly: Parts or sub-assemblies that


are manufactured in different cells may have to undergo further assembly and it
may prove difficult to synchronise their completion before they are assembled.

• Difficulty to manage the out-of-cell operations: In most practical applications


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.

• Lower utilisation of the machines: In increasing the number of machines to


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.

As shown these advantages and disadvantages, the cellular manufacturing is dif-


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

1.3 Problem Statement


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:

1. To group the different machines into manufacturing cells.

2. To invest in new machines if necessary.

3. To determine the part family according to their processing requirements.

4. To associate each part family to a specific cell.

5. To modify physically the location of all machines.

6. To train the employees.

After these transformation steps, the classical management of the enterprise is


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:

• Part families are formed according to their processing requirements;

• Machines are grouped into manufacturing cells;

• Part families are assigned to cells.

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

part-machine grouping algorithms), operational issues (e.g. planning and scheduling


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).

1.4 Research Objective


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

• choosing the right process for each part;

• allocating operations (belonging to the chosen processes) to a specific machine;

• grouping machines into manufacturing cells;

• assigning parts into manufacturing cells.


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.

1.5 Structure of the Thesis


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).

1.6 Reading Suggestion


The chapters and sections listed below are essential for a good understanding of this
thesis:
10 CHAPTER 1. INTRODUCTION

Chapter/Section Title Page


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

Table 1.1: Reading suggestions


Chapter 2

Cell Formation Problem

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.

2.1.1.1 Production volume - Demand


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.

• Lot splitting: Lot splitting is a process used primarily in batch manufacturing


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.

2.1.1.3 Multi-Period of the data - Dynamic reconfiguration of cells


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.

2.1.2 Operational Data


• 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.

• Processing times/Unit operation time: It is an interval during which a part is


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.

2.1.2.1 Operation Sequence


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].

2.1.2.2 Alternative processes


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”.

• A process plan is characterised by a sequence of machine types (lathe, etc.)


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.

• A process route or routing represents the sequence of specific machines or work


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:

1. Fixed routing (process route)

2. Routing with replicate machines

3. Routing with alternate machines for operations

4. Several fixed routings


14 CHAPTER 2. CELL FORMATION PROBLEM

5. Fixed process plan

6. Alternative process plans

Each case is illustrated by an example of processes for a part pk requiring five


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 .

• Case 1. The process of each part is represented by one sequence of specific


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.

• Case 2. The process of each part is represented by one sequence of specific


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).

• Case 3. The process of each part is represented by one sequence of alternative


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).

• Case 4. The process of each part is represented by several sequences of spe-


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.

• Case 5. The process of each part is represented by one sequence of machine


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 .

• Case 6. The process of each part is represented by several sequences of machine


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.

2.1.2.3 Routing flexibility


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 Process Ok1 Ok2 Ok3 Ok4 Ok5


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].

2.1.3 Machine Data

2.1.3.1 Production capacity

In the design of Cellular Manufacturing Systems (CMSs), available capacities of


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

2.1.3.2 Number of machines


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

2.1.3.3 Characteristics of machines


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.

2.1.4 Cost Data


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.

• proximity constraints. The machine proximity constraints can be of two types:


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].

2.2.2 Constraints about Cells


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.

• Number of cells. In practice, the number of cells would be set by organisational


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.

• An exceptional element (or exception, exceptional part or bottleneck part) is a


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

Table 2.2: Machine-Part Matrix Notations.

Sarker presented a review about the different parameters of evaluation [227].


In this section, the most popular of them are presented.

2.3.2 Grouping Efficiency


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

• η2 is number of 0s in the off-diagonal blocks to the total number of elements


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.

2.3.3 Grouping Efficacy


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.

• It has a high capability to differentiate between well-structured and ill-structured


matrices (high discriminating power when the blocks diagonal contain a lot of
voids).

• It generates block diagonal matrices which are attractive in practice.

• It does not require a weight factor.

Sarker highlighted some limitations [227]:

• 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.

2.3.4 Grouping Capability Index


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.

2.3.5 Grouping Capability Index


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

Table 2.3: Machine-Part Matrix.


Parts
Machines 5 2 3 1 4
2 1 1 1
4 1 1
1 1 1 1
3 1 1 0

Table 2.4: Cell Formation.

grouping efficiency (ARG efficiency ) is defined as followed:


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

η = qη1 + (1 − q)η2 = 0, 9q + 0, 1(1 − q)

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.

2.4 Case Study


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.

3.1 Classification of Methods


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:

• part/design oriented methods and descriptive procedures [72];

• process/Production flow oriented methods [35];

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:

• Visual Inspection Method. In this approach, an expert forms part families


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

• Part Coding Analysis (PCA). In this approach, a coding system is used


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].

These descriptive procedures can be classified into three categories:

• the Part families’ identification (PFI) begins the cell formation process by first
identifying the families of parts and allocates then machines to the families;

• the machine groups identification (MGI) proceeds to the identification of the


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].

3.1.1 Cluster Procedures


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.

3.1.1.1 Array-Based Clustering


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:

• Bond Energy Analysis (BEA) [173]


3.1. CLASSIFICATION OF METHODS 27

• Rank Order Clustering (ROC) [139]

• Improved ROC (ROC2) [140],

• Modified Rank Order Clustering (MODROC) [42]

• Direct Clustering Analysis (DCA) [39]

• Occupancy Value method [136]

• Cluster Identification method [152]

• Hamiltonian Path Heuristic [10].

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

Table 3.1: Initial Machine-Part matrix.

The array-based clustering techniques used in the design of manufacturing cells


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

Table 3.2: ROC solution after first rows rearranging.

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

Table 3.3: ROC solution after first iteration.

(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:

• Range/Scope of number of cells. The number of blocks on the diagonal defines


the lower limit for the minimum of number of cells.

• Complexity of the cell. The quantity of exceptional elements gives an idea of


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

Table 3.4: ROC solution after second rows rearranging.

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

Table 3.5: final block diagonal structure, after two iterations.

• 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.

3.1.1.2 Hierarchical Clustering Methods


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:

• Agglomerative methods which proceed by a series of successive fusions of the M


machines (P parts) into groups. The agglomerative hierarchical techniques ul-
timately reduce the data to a single cluster containing all the machines (parts).

• Divisive methods which partition the set of M machines (P parts) successively


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).

Hierarchical classifications are generally represented by dendrograms or inverted


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

Sij is the similarity between machine i and machine j

p is the number of parts processed by both machines i and j

q is the number of parts processed by machine i and not j

r is the number of parts processed by machine j and not i

This coefficient can be rewritten depending on the incidence matrix (aik ).


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

Table 3.6: Coefficient Jaccard similarity coefficient applied to the Machine-Part


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

Hierarchical clustering methods can be implemented easily but these methods


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.

3.1.1.3 Non-Hierarchical Clustering Methods


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.

• Relocation methods (such as k-means, [160]) assign machines or parts to a


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.

• Nearest neighbour methods (such as the Jarvis-Patrick method, [116]) assign


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.

3.1.2 Mathematical Programming


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:

1. Linear programming (LP) ([208, 207, 195]).

2. Linear and quadratic integer programming (LQP) ([146, 153, 47, 246, 131, 277,
300, 25, 306]).

3. Dynamic programming (DP) ([18, 19]).

4. Goal programming (GP) ([223, 243]).

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.

3.1.3 Graph Theory


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.

Askin and Chiu ([9]) proposed a cost-based mathematical formulation and a


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].

3.1.4 Computational Intelligence


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

– Store complete solutions: The principal advantage is that previously solu-


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.

• Genetic Algorithms (GAs), inspired by the biological evolution of live


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.

• Simulated Annealing, inspired by the homogenization of material properties


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.

• Memetic Algorithms: P. Moscato [185] introduced the term Memetic Al-


gorithm (MA) where he viewed MA as being close to a form of population-based
3.1. CLASSIFICATION OF METHODS 37

hybrid genetic algorithm coupled with an individual learning procedure capa-


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].

• Ant Colony optimisation, inspired by the foraging behaviour of ants [251,


304].

• Particle Swarm optimisation, inspired by the choreography of bird flocks


[265, 271].

• Bee Colony optimisation, inspired by the intelligent behaviour of honey bee


swarms [202, 129, 130].

• Grenade Explosion Method, inspired by the mechanism of a grenade explo-


sion, where objects within a neighbourhood of radius Re are hit by the shrapnel
[5].

In all these algorithms, a population of individuals (concurrent solutions) is gen-


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.

3.1.4.2 Artificial Intelligence


• 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

dynamic state response to external inputs. The processing is based on three


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].

• Expert Systems/Knowledge Base: The expert assignment system is based


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

• Formal Logic/Language Theory: Utilizing analytic methods from formal


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 Genetic Algorithms


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:

• In searching a large state-space, multi-modal state-space, or n-dimensional sur-


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

• It is reported that GA has the capability to handle complex combinatorial


problems and has a great contribution capability to generate good results. GAs
are better than conventional AI in that it is more robust [123].

• Compared to the use of binary machine-part incidence variables, the integer


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.

• Additional information for cell formation can be considered on the basis of


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.

3.2.2 State of the art for GA


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

Gupta et al. proposed a GA for minimising total inter-cellular and intra-cellular


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 Criteria / Multi-Objectives


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].

• Pondered sum - weighted method:


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].

• Constraint method to obtain non-dominated solutions


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].

• Multi-objective decision making:


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).

The three first approaches (choice, ranking, classification/sorting) lead to a


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

Different authors work in maximising machines similarities [89], parts 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

3.3.3.4 Workload balance


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

manufacturing is becoming a significant importance in modern manufacturing, so


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.

3.3.4 Multi-criteria and Genetic Algorithms


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:

• Venugopal and Narendran used a GA to solve a bi-criteria mathematical


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].

• Tam presented one of the first research projects describing an application of


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].

• Morad and Zalzala used a typical weighted-sum combination of the opti-


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 Hybrid Methods


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

• Sequencing flexibility corresponds to the possibility of interchanging the se-


quence in which manufacturing operations are performed.

• Processing flexibility is determined by the possibility of producing the same


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.

3.4.2 State of the Art

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

3.4.2.1 Alternative Machines


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.

3.4.2.2 Alternative Processes

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

In their multi-objective model, Gravel et al. proposed a double loop of genetic


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

Adenso-Díaz et al. proposed an efficient tabu search algorithm to select process


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.

3.4.2.3 Alternative Machines and Processes


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].

3.4.3 Comparative Table to Conclude


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

Production Volume (PV) Volume of each parts to produce.


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

Routing Flexibility (RF) Alternative sequence of machines, a sequence of


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

Resolution (R) hierarchical (H), iterative (I) or simultaneous (S)


Multi-Objective (MO)
Large Scale Problems (0 if the authors enumerate all alternative rout-
ings) (LS)

Data Flexibility Resolution


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

As explained in the introduction (1.3), the objective of this research is situated at


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 following decisions must be made during the design process:

1. The process selection for each part.

2. The assignment of operations of each selected process to specific machines.

3. The assignment of each machine to cells.

4. The assignment of each part to cells.

In this chapter, the problem is mathematically explained. The assumptions and


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.

4.1.1 Generally Assumptions


When the method is oriented towards process/production flow, the following assump-
tions are usually made by the authors:

• the capabilities of each machine type are known;

• the availability of each machine is specified;

• each machine type can perform one or more operations (machine flexibility);

• the part mix and demand for each part is fixed;

• parts are moved between cells in batches;

• the batch size is constant for all parts;

• 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.

4.1.2 Particular Assumptions


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:

• the environment is static with a deterministic demand: parts demand and


machines capacity are aggregated on a long term period;

• the number of machines is determined and fixed a priori ;

• the number of cells is determined by the user and fixed during the resolution;

• the number of machines allowed in each cell is specified;

• alternate process plans for each part are known;

• the part mix and demand can not be split;

• alternate process plans can not coexist in a solution;

• no inventories are considered;


4.1. ASSUMPTIONS 63

• machine breakdowns are not considered.

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.

npri Number of processes for part i.

noik Number of operations belonging to kth process of part i.

nc Number of cells.

t Machine types index (T Mt =Machine type t) t = 1, 2, .., nt .

m, n Machine indices (Mm =Machine m) m = 1, 2, .., nm and n = 1, 2, .., nm .

i,j Part indices (Pi =Part i) i = 1, 2, .., np and j = 1, 2, .., np .

k,l Process indices (P rik =Process k of part i) k = 1, 2, .., npri and l =


1, 2, .., npri .

p,q Operation indices (Oikp = pth operation of kth process of part i) p=


1, 2, .., noik and q = 1, 2, .., noik .

c, d Cell index (Cc =Cell c) c = 1, 2, .., nc and d = 1, 2, .., nc .

4.2.2 Mandatory Input Parameters


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.

4.2.2.1 Machine Types and Machines


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.

4.2.2.2 Parts and Operations


qi Quantity of part i.

tikp Average operating time of operation Oikp .

tikpm Operating time of Oikp on machine m.

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.

mU B Maximum number of machines by cell (U B: Upper bound limit).

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.

4.2.3 Complementary Input Parameters


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.

4.2.3.1 Machine Types and Machines


llm Low use limit of machine m.

hlm High 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:

• the machine is cheap;

• it must not be highly loaded to be profit-earning;


4.2. NOTATIONS 67

dm dm dm
um
dm.hlm dm .hl m d m.hlm
um

dm.llm dm .llm dm.llm


um

Figure 4.1: Normal use of a machine; overfilled machine; underfilled machine.

• a new similar machine could be introduced in the system without increasing


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%).

4.2.3.2 Parts and Operations


bsi Batch size of part i.

f ti Transport factor evaluating the difficulty to move part i.

sij Similarity between two parts i and j.

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 Mathematical Formulation


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

4.3.2.1 Initial Constraints

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.

5. An operation assigned to a specific machine must have a strictly positive op-


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

4.3.2.2 Processing Constraints

1. The machine charge cannot exceed the machine availability/capacity:

nP npr n
Oik
X Xi X
qi · tikpm · yikpm ≤ dm ∀m (4.4)
i=1 k=1 p=1

2. In the process selection, only one process can be chosen by part:

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

4.3.2.3 Final Constraints


The final solutions must satisfy the processing constraints and the last ones presented
here below.

1. Each operation belonging to a used process must be assigned to one machine:

nM
X
if (xik = 1) ⇒ yikpm = 1 ∀i, k, p (4.7)
m=1

2. Each used machine must be allocated in one cell:

nC
X
zmc = 1 ∀m (4.8)
c=1

3. All parts in the part mix must be assigned to a cell:

nC
X

zic =1 ∀i (4.9)
c=1

4.3.3 Evaluation Parameters


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

φ2mn Traffic from machine m to machine n expressed in terms of number of


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:

ΦiT ot = ΦiInter + ΦiIntra


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 .

4.3.3.2 Incidence Matrix and Group Efficacy

Imi Incidence matrix machine-part (binary matrix). Element Imi is equal to


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

e Number of one elements in the incidence matrix I:

nM X
X nP
e= Imi (4.17)
m=1 i=1

e1 Number of one elements that appears in the diagonal blocks of incidence


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

ev Number of void elements (number of zero elements that appears in the


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

e0 Number of exceptional elements (number of one elements that appears


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:

Pn P PnO 


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

SJmn Jaccard similarity coefficient between machines m and machine n based


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

Sm Similarity between parts assigned to machines m based on the similarity


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

Sc Average cell similarity. This coefficient evaluates the similarity between


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

Sc Average intra-cellular similarity. This coefficient evaluates the average of


the similarity between all machines inside the cells:

PnC
c=1 Sc
S= (4.27)
nC

4.3.3.4 Workload Balance

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 = maxc (W Lc ) − minc (W Lc ) (4.30)

U W L∗ Unbalance workload between the cell with maximum workload and the
cell with minimum workload in term of number of operations:

U W L∗ = maxc (W L∗c ) − minc (W L∗c ) (4.31)


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

OHL Total overstepping the high limit of use:

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

U LL Total under-filled the low limit of use:

PnM
m=1 U LLm
U LL = (4.35)
nM

4.3.4 Mathematical Model


A decision aided model will be used to solve these following objectives:

Maximise 4.15, 4.21 and 4.27


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 intra-cellular traffic;

• the group efficacy;

• the similarity between parts assign to a machine (in order to minimise the setup
time).

The objectives to minimise are

• the number of overfilled machines to maximise the flexibility of the solution;


76 CHAPTER 4. PROBLEM FORMULATION

• the workload unbalance (in order to maximise the workload balance);

• the number of under-filled machines to minimise the cost of the solution.


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)).

4.4 Size of Search Space


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:

N S = N SCF · N SRP (4.36)

4.4.1 Size of Search Space for the Resource Planning Problem


4.4.1.1 Notations
nM Number of machines.

nT Number of machine types.


nP Number of parts.

npri Number of processes for part i.


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 ).

• For each alternative process, each operation can be achieved on a maximum of


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.

1. If there is no routing and process alternativities, each machine belongs to one


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

3. In presence of alternative routings, each machine type contains two machines.


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

4. In the case of high alternativity with 2 processes by part and 2 machines by


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

5. In the case of maximum alternativity with 3 processes by part and 4 machines


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 Size of Search Space for the Cell Formation Problem


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 ).

4.4.2.2 First Definition - without Maximum Size of Groups


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

Thus, in the problem formulation, the number of cells needs to be pre-specified in


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].

4.4.2.3 Problem with Maximum Size of Groups


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).

While the vectors of machine by cell depend on the parameters nM , nC and


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.

2. If the number of mandatory cells is equal to the maximum number of cells, no


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.

3. The second branch (1 2 0 0) is already included in the third distribution


(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

containing k machines for a particular instance (k ∈ [0, mU B ]).


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)

4.4.2.5 Generalised Formula


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 number of machines to group;

• the number of cells;

• the maximum size of cells;

• the number of left free places;

• 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 Genetic Algorithm


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.

2. Good chosen genetic operations on the chromosomes perform a global search


rather than a local one in the solutions space.

3. Their ability to be adapted to many kind of constraints (linear or not) and


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]:

1. Genetic representation. A large variety of approaches have been used in-


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.

2. A method for generating the initial population. Populations of chromo-


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.

3. An evaluation function. The evaluation function assigns a real number to


measure the fitness (the worth) of each chromosome. The function does not
need to have any special analytical properties.

4. A Reproduction selection scheme. The reproduction selection is used to


select chromosomes to expose to genetic operations. Several approaches have
been used:

• The “roulette wheel” approach.


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. Genetic operators. There are two main types:


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].

6. Stopping criteria. Different approaches can be met. The Ga stops when:

• a fixed number of generations has been reached;


• 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.

5.2 Grouping Genetic algorithm (Gga)


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

Figure 5.1: Flowchart of the Grouping Genetic Algorithm.

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.

5.3 Multiple Objective Grouping Genetic algorithm (Mogga)


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

Genetic operators Genetic operators

Integration
no
no
Stop condition Stop condition

GGA yes MOGGA yes

Set of solutions Solution

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.

5.4 Proposed solutions - Methodology


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);

• The allocation of operations on a specific machine (resource planning problem


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.

• An RP-Mogga to solve the resource planning problem with an integrated


CF-module to complete the RP solution with a CF solution;

• A Simogga to solve simultaneously the selection process problem, the resource


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.

5.4.1 Mogga with an integrated module


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:

• An RP-Mogga to solve the resource planning problem with an integrated


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

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

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

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


94 CHAPTER 5. METHODOLOGY

• An RP-Mogga to solve the resource planning problem with an integrated


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.

5.4.1.1 RP-Mogga with an integrated CF heuristic


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-genetic operators + Reconstruction

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

Best RP-chromosome CF-solution

Figure 5.5: Detailed RP-Mogga: Adapted Mogga with embedded CF module

allows to simultaneously tackle the two distinct sub-problems at each RP-Mogga


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

Figure 5.6: Detailed CF-Mogga integrated in the RP-Mogga.


5.4. PROPOSED SOLUTIONS - METHODOLOGY 97

A RP-Mogga with a CF heuristic in the embedded module will be fast but


not really efficient. However, this method permits to have a good idea of the future
solution in a very short time.

5.4.1.2 RP-Mogga with an integrated CF-Mogga


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

5.4.2 Simogga: an hybrid Mogga for GCFP


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

Figure 5.7: Simogga: Adapted Mogga to solve simultaneously two interdependent


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

Genetic operators + Reconstruction


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

The evaluation process is essentially the same as a classical Mogga. Each


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

Table 5.1: Parameters used in the Simogga.

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

integrated CF-module (heuristic or Mogga) or a CF-Mogga with an integrated


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

Table 5.2: Comparison of the characteristics of algorithms.

For instance, to adapt the Simogga to the RP-Mogga with an integrated CF


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

is always constructed from scratch.

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

with the group part written after the semicolon.


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:

A = {0}, B = {2, 5}, C = {3}, D = {1, 6} and E = {4, 7}.

In fact, the chromosome could also be written in a less visual way as

{0}A {2, 5}B {3}C {1, 6}D {4, 7}E .

6.2.1.2 Adapted Coding


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:

1. A string 0 − 1 with the parameter xij (xij = 1 if the j th process of part i is


used). This part defines which process is used for each part.

2. A group encoding to define the allocation of operations into machines. Each


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

More concretely, let us consider an example. The system is composed by 3 parts


(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

Figure 6.1: Data used to illustrate the encoding

The following chromosome represents a possible solution:

A D B 0 0 C B E 0 0 E C:A D B C E:: p q q p q:p q

This solution corresponds to the following string defining the process selection:

x00 x01 x10 x11 x20


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:

A = {0}, B = {2, 6}, C = {5, 11}, D = {1} and E = {7, 10}.


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:

C1 = {A, D}, C2 = {B, C, E}.

The encoding can be written as follows:

{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

Figure 6.2: Visual representation of the chromosome

6.2.2 Operator Rates


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

In case one of these parameters is equal to 0, the operators (crossover, muta-


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%

Figure 6.3: Application of the operator rate set to 70%.

To fix these parameters, three cases can be encountered:


• 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:

• 50% of the population is first initialized by the random heuristic (illustrated


below) applied to the RP problem. The CF problem is then constructed with
a specific heuristic oriented to the flow.

• 50% of the population is constructed conversely with a flow heuristic on the


basis of random solution CF.

According to the construction process, the chromosome owns a characteristic


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 Random Heuristic


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 part and process that it belongs to;

• the machine type corresponding to the operation type;

• 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).

Each group is connected to a specific machine with all characteristics associated:

• availability of the machine;

• machine type that it belongs to.

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:

• availability of the machine;

• machine type that it belongs to.

6.4.1.2 Creation of New Group


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

6.4.1.3 Search of Acceptable Group


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.

6.4.2 Flow Heuristic CF


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.

6.4.2.2 Search of acceptable group


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

O0:A-C O 1:D O 2:B MC MB MD MA


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

Operations left aside


O3 O4

O8 O9

Figure 6.4: RP-part constructed by the Random Heuristic RP

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.

Figure 6.5 presents an instance of the randomized list of objects/machines to


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

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

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.

For the following objects/machines, the maximum number of cells is reached.


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.

6.4.3 Process Heuristic RP


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.

6.4.3.2 Search of Acceptable Group


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

Figure 6.8: CF-part constructed by the Random Heuristic CF.

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

Parts C1 C2 Cell prior

O0:A-C O 1:D O 2:B 2/3 2/3 1-2


P1
O3:C-A O4:F 1/2 2/2 2

O5:C-A O6:B O 7:E 3/3 1/3 1


P2
O8:D O 9:A-C 1/2 2/2 2

P3 O 10:E O 11:C-A 2/2 1/2 1

Figure 6.9: Computation of the priority cell for each process and selection of the
process.
6.4. HEURISTICS 115

O 10:E O 9:A-C O 2:B O1:D O 11:C-A O8:D O 0:A-C

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

object/operation O9 to allocate it in machine MA in its priority cell. Figure 6.11


shows the intermediary assignment of the three first objects/operations.

O 0:A-C O8:D O 11:C-A O1:D

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

O11:C-A O8:D O0:A-C


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.

Parts C1 C2 Cell prior

O0:A-C O 1:D O 2:B 2/3 2/3 1-2


P1
O3:C-A O4:F 1/2 2/2 2

O5:C-A O6:B O 7:E 3/3 1/3 1


P2
O8:D O 9:A-C 1/2 2/2 2

P3 O 10:E O 11:C-A 2/2 1/2 1

Figure 6.13: Computation of the priority cell for each process and selection of the
process.

O3:C-A O7:E O5:C-A O11:C-A O6:B O 10:E O 4:F

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

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.

6.4.4 Process Selection


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.

6.4.5 Harhalakis Heuristic CF


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.

6. The stop condition is defined by the maximum number of generations.

The CF-part of the best chromosome found by the Simogga oriented CF is


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:

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 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.

6. The stop condition is defined by the maximum number of generations.

The RP-part of the best chromosome found by the Simogga oriented RP is


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

Figure 6.16: Parent 1 for a crossover on RP-part.


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

Figure 6.17: Parent 2 for a crossover on RP-part.

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

Figure 6.18: Crossing sites on RP-part.

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

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

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

Figure 6.21: Removed not selected processes from the solution.

to an inserted machine, these groups are also eliminated.


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

Figure 6.22: Chrild1 before the RP-reconstruction.

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

The specific heuristic (Process Heuristic RP) is used to reinserted the


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.

Step 6 The other part of the chromosome is adapted and reconstructed if it is


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:

• one process is selected by part;


• 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.

The same procedure is applied to groups/Machines MD and MC included in the


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.

is no more evolution of the population or if the best chromosome of the population


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

O11:C-A O8:D O 0:A-C


O 2:B O1:D O 9:A-C

ME MF

O10:E
C1 C2

Figure 6.25: Parent for hard mutation, group A is removed.

The group/machine MA is selected for the hard mutation. All objects/operations


(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

O 0:A-C O 1:D O2:B 2/3 2/3 1-2


P1
O 3:C-A O4:F 1/2 2/2 2

O 5:C-A O 6:B O7:E 3/3 1/3 1


P2
O8:D O9:A-C 1/2 2/2 2

O5:C-A O3:C-A O6:B O 7:E O4:F

Figure 6.26: Selection of processes after removing group A.

be achieved completely by machines belonging to cell C2 .


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

Figure 6.27: child after reconstruction with RP heuristic.

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

Figure 6.28: Final child after reconstruction with CF heuristic.

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

is applied if the RP-part has not been modified.

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.

6.6.1 Local optimisation


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

• The strong mutation is the application of a mutation with an intensity of 70%


(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).

6.7 Stopping condition


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.

The maximum number of generations must always be chosen by balancing these


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

Table 7.1: Size of the search spaces RP and CF.

7.2 Separated Resolution


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).

• The allocation of each operation on a specific machine (resource planning prob-


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.

If the parameters RA and P A take the value 0, there is no alternativity existing


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

medium 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.

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:

Heur1 The Random Heuristic CF (explained in section 6.4.1). All machines


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 ).

Heur3 The Flow Heuristic CF (completely described and illustrated in section


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.

7.2.1.1 Similar Initialisation


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.

RA = 0, P A = 0 CI5 CI10 CI15 CI20


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.

7.2.1.2 Initialisation with the Specific Heuristics


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.

RA = 0, P A = 0 Init Gen Flow Init Gen Flow


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

7.2.1.3 Conclusion for Heuristic CF

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:

Heur1 The Random Heuristic RP (explained in section 6.4.1). All operations


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.

Heur4 The Process Heuristic RP (completely described and illustrated in sec-


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.

7.2.2.1 Similar Initialisation


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.

7.2.2.2 Initialisation with the Specific Heuristics


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.

7.2.2.3 Conclusion for Heuristic RP


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

RA=100, PA=0 Init Gen Flow Init Gen Flow


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.

7.2.3 Process Selection


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.

RA = 100, P A = 100 CI5 CI10 CI15 CI20


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.

RA = 100, P A = 100 Init Gen Flow Init Gen Flow


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.

7.2.3.1 Conclusion for Process Selection


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

7.3 Simultaneous Resolution


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.

2. 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.

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).

5. 45% of the population is initialised with a Random Heuristic RP followed by


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.

Init 90% 95% 98% 100% Best


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):

1. The resolution time is sometimes a little long.


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

2. The mutation is too light.


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.

5. Above 10 × 1060 solutions, the optimal solution is rarely found.

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.

(RA − P A) (0 − 0) (0 − 100) (100 − 0) (100 − 100) Average


/ 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

(RA, P A) Without OL With OL


% 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.

The following observations can be made:

• The local optimisation is based on an optimisation applied to the process se-


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.

• For the most complex cases (100−100), a reduction of 35 generations is made to


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

improvement is observed for CI19 with an increase of 9.9% of the intra-cellular


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.

7.5 Efficiency of the Algorithm


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.

4. 45% of the population is initialised with a Random Heuristic RP following


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.

7.5.1 Huge Number of Generations


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

(RA − P A) Pop. size=32 Pop. size=64


% 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).

7.5.2 Efficiency of the Crossover


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.

7.5.3 Large Population


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.

Best Without generation


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.

7.5.4 Comparison with the Successive Resolution


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:

1. The number of generations is limited to 100. To compare the algorithms, it is


interesting to analyse the speed to find the best solution.

2. The population size is fixed at 16 chromosomes in order not to explode the


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.

7.5.4.1 CF Integrated in the RP Resolution


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:

1. The number of generations is set to 30. A larger number significantly impacts


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.

7.5.4.2 RP integrated in the CF Resolution


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).

(RA − P A) (0 − 100) (100 − 0) (100 − 100)


% 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.

Different observations can be made:

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

Methods CI5 CI10 CI15 CI20 Aver.


%
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

Heur. Pop=32; Gen=200 Pop=16; Gen=1000


% 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).

Pop. size=32 Pop. size=64


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 Adaptation of Parameters


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.

• With a population size of 32 chromosomes, it is necessary to wait a maximum of


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

Average best flow


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.

7.6.2 Population Size


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

Pop. size # % %(0) Gen Flow Time


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.

7.6.3 Initialisation Rate

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

% of cases reaching 100% 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.7: Intra-cellular flow and percentage of solution reaching 100% in function
of the search space size and the population size.

Init. rate % Gen Flow


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.

7.6.4 Operators Rates


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

Op. rates 50-50 60-60 70-70


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

Op. rates 80-80 90-90 100-100


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.

Op. Rate 80-80 100-100


% 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

(RA − P A) (0 − 0) (0 − 100) (100 − 0) (100 − 100)


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).

The parameters used for the validation phase are as follows:

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 a population of 32 chromosomes, these parameters (mutation frequency (10)


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

Table 7.32: Probability to apply a mutation depending on the mutation frequency


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.

7.6.6 Final Solutions


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.

3. At the initialisation, 50% of the population is constructed with the Random


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.

4. All the operators are applied at each use on both problems.

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

% Gen Max Time


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

Without local opt. With local opt. After adaptation of param.


% 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 resolution time stays largely lower than for others.


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

Methods CI5 CI10 CI15 CI20 Aver.


%
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

(RA − P A) (0 − 100) (100 − 0) (100 − 100)


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

cell for each part.


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;

• a random construct of a high population;

• the successive resolution in including an heuristic or another Gga in the main


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.

8.2 CS without Alternativity


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 *

Table 8.1: Tested problems without alternativity.

175
176 CHAPTER 8. APPLICATIONS

Id Authors Year Methods


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.

Table 8.2: Compared method for case studies without alternativity.


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

8.3 CS with Alternative Routings and Processes


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

Table 8.5: Tested problems with alternativity (continued).


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

Table 8.6: Tested problems with alternativity.

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

Table 8.7: Methods used to compare the problem with alternativity.


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.

8.4 Conclusion for Literature Case Studies


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

Pb Number of Exceptionnel Elements (EE)


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.

9.1 Summary of the Results


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:

1. During the initialisation of the population, half of the population is constructed


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.

2. The population of solutions is evolved by applying genetic operators on both


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.

The proposed algorithm was defined with an evaluation function composed by


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.

9.2 Further Research


This section proposes some improvements that can be made on this algorithm.

9.2.1 Transformation of the Sigga in a Simogga


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.

9.2.2 Sensitive of the Algorithm in Adding some Constraints


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

9.2.3 Extension in the Cellular Manufacturing


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.

9.2.4 Another Application?


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

and architecture composing the final system according to multiple criteria.


Nothing else remains than to apply the Simogga to this and other interdependent
problems...
192 CHAPTER 9. CONCLUSIONS
Appendix A

Annexe - The Promethee Method

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.

A.1 Enrichment of the Preference Structure


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;

• P (a, b) = 0, if d ≤ 0, no preference or indifference;

• P (a, b) ≈ 0, if d > 0, weak preference;

• P (a, b) ≈ 1, if d >> 0, strong preference;

• P (a, b) = 1, if d >>> 0, strict preference.

f1 (.) f2 (.) ··· fj (.) ··· fk (.)


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 )

Table A.1: Evaluation Table

193
194 APPENDIX A. ANNEXE - THE PROMETHEE METHOD

P(a,b)

d = f(a) - f(b)
-p -q 0 q p

Figure A.1: An example of a preference function.

It is clear that P has to be a non-decreasing function of d, with a shape similar


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.2 Enrichment of the Dominance Relation


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

A.3 Exploitation for Decision Aid


Let us considered how each alternative, a ∈ A, faces the n − 1 others and therefore
defines the two following outranking flows:

• the positive outranking flow is given by:

1 X
Φ+ (a) = π(a, b)
n−1
b∈A,b6=a

• the negative outranking flow is given by:

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.

A.4 Promethee I Ranking


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)

Partial Promethee I ranking is the intersection of these two rankings:


  + −


  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:

aP I b a is preferred to b. In this case, the higher power of a is associated with the


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

Price (k e) Cons. (1/100km) Comfort Power (CV)


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

Table A.2: Evaluation Table

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.

If a complete ranking of the alternatives is requested by the decision-maker, the


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.

A.5 Promethee II Ranking


Complete Promethee II ranking is defined by:

aP II b if f Φ(a) > Φ(b)
aI II b if f Φ(a) = Φ(b)

All the alternatives are now comparable.

A.6 An example of Promethee


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

Annexe - Multi-Criteria Grouping


Problems

This appendix is a general introduction to grouping and multi-criteria problems, while


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 Algorithms, Heuristics and Meta-Heuristics


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

Initial No Temperature Yes Final Solution


Modifications equals zero?
Solution

dsL0
Accept
Temperature
decreases
Evaluation

Accept
dsG0 with probability

Figure B.1: Simulated Annealing

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.

B.1.4.1 Simulated Annealing


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

Figure B.2: Tabu search.

B.1.4.2 Tabu Search

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 What are Genetic Algorithms?


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

B.2.2 Origin of Genetic Algorithms


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.

B.2.3 Genetic Algorithms and other Methods


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

Construction and Evaluation


of the initial Population

Reproduction

Crossover
No

Mutation

Inversion

Evaluation

End condition reached?


Yes

Figure B.3: Structure of a genetic algorithm.

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.

B.2.4.1 The Structure of Genetic Algorithms


The generic structure of a GA is shown in Figure B.3
The different steps are:

1. A population is constructed which is made up of a fixed number of solutions,


known as chromosomes. Each chromosome is evaluated through a cost function
describing the optimum targeted.

2. GAs reproduce some of the statistically best chromosomes. These chromosomes


replace others, statistically the worst since the size of the population has to
remain static 1 .

3. GAs construct new chromosomes by making a crossover between existing ones.


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

4. There is a level of given probability that some of the chromosomes will be


affected by a mutation

5. There is a level of given probability that some of the chromosomes will be


affected by an inversion

6. Each newly created chromosome is evaluated by means of the cost function.

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.

B.2.4.2 Initial Construction and Evaluation


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

Table B.1: Initial Population for f (x) = x2 .

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

• proportional selection, which is the standard approach in the history of the


GAs;

• the tournament adopted in the GGA.

B.2.4.3.1 Proportional Selection Proportional selection [100] is based on the


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

Figure B.4: Roulette wheel strategy.

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.

Chromosome f (x) = x2 Pf (x) 4 · Pf (x) Copies


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

Table B.2: Proportional selection using the example.

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

2 "j" better than "i"

Figure B.5: Tournament selection.

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.2.4.3.2 Tournament The tournament strategy [81] is illustrated in Figure


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

Set Test Put in the list List


{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 }

Table B.3: An example of a tournament.

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)

Figure B.6: A simple crossover.

chromosomes are ordered as {C1 , C3 , C4 , C2 }, where the last inserted chromosomes


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

Parent Children Chromosome Replaced x f (x) = x2


11|000 11011 C1 27 729
10|011 10000 C3 1 1

Table B.4: Crossover on the example.

A B C D e A B C D E

(a) (b)

Figure B.7: A simple mutation.

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).

Before Mutation After Mutation x f (x) = x2


11 | 0 | 11 11111 32 1024

Table B.5: Mutation on the example.

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)

Figure B.8: A simple inversion.

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.

B.2.4.7 Mutation and Inversion Frequencies


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

B.2.5 Theoretical Grounds


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.

B.2.5.1 Schemata Theorem


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:

mr (H, g) = m(H, 0) · (1 + c)g

This equation is a geometric progression. The effects of reproduction when using


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.

2. that the usable length of the schema is short or long.

The final operator to be treated is mutation. To have a schema, H, that survives,


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.

B.2.5.2 Schemata and Building Blocks


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].

B.3 Grouping Problems


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].

B.3.1 Partitional Algorithms


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.

B.3.1.1 k-Means Clustering Algorithm


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

k Initial Allocate to group Re−compute Stops? Yes Final


Random Centers based on centers centers Solution

No

Figure B.9: k-Means clustering algorithm.

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:

• Determining the number of groups, k, to form.

• Choosing a center for each group, this can be carried out by randomly choosing
k objects in a set.

• Assigning each object to the group with the closest center.

• Recomputing the group centers.

• If a given condition is met, stop the method; if not go to step 3

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]

B.3.1.2 Graph-related Theoretical Clustering


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).

Figure B.11: Minimum spanning tree used to group objects.

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.

B.3.2 Nearest Neighbor Clustering


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

Figure B.12: Nearest Neighbor clustering.

E C F A H D
3,7,4 2,5 1,6,8 3,5 2,7,8 1,4,6

C1 C2

Figure B.13: Example of solutions.

∀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.

B.4 Grouping Genetic Algorithms


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

Figure B.14: Problem of identical solutions.

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.

B.4.2 Identical Solutions but Different Chromosomes


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

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


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

Figure B.15: GGA Crossover.

chromosomes are modified by means of a special operator, modify. This operator


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:

1. A crossing site is chosen in each parent.

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

Figure B.16: GGA Mutation.

B A C D B D C A
3,7 1,4 2,5 6,8 3,7 6,8 2,5 1,4

1. Choose randomly two groups 2. Exchange their positions

Figure B.17: GGA Inversion.

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.

4. The objects left aside are reinserted into 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

Price (ke) Cons. (1/100km) Comfort Power (kW)


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

Table B.6: Example of multi-criteria decision problem

positions, the bins inserted will be A and C in the first solution and D and C in the
second.

B.5 Multiple Objective Problems


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:

• the use of aggregating functions;

• 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.

B.5.1 Pareto Fronts


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

feasible space dominate 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.

B.5.2 Use of Aggregating Functions


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

B.5.3 Non-Pareto Approaches


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.

B.5.4 Pareto-based Approaches


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 Multiple Objective Grouping Genetic Algorithms


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)

Figure B.19: Multiple Objective Grouping Genetic Algorithm.


B.6. MULTIPLE OBJECTIVE GROUPING GENETIC ALGORITHMS 225

f1 (.) f2 (.) ··· fj (.) ··· fk (.)


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

Table B.7: Evaluation Table

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

B.6.2 Control Strategy


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

current best solution


old individuals
new individuals

better solutions
PROMETHEE

ranking at generation g ranking at generation g+1

Figure B.20: Control Strategy of the MOGGA.

Cc c0 (Cc ) Cc c2 (Cc ) Cc c2 (Cc )


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

Table B.8: Transforming ranking into a cost function.

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.

B.6.3 Branching on Populations.


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.

B.6.4 Verification of the Best Solutions


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

Annexe - Algorithm Simogga

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

Figure C.1: Flowchart of the 2PMOGGA

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

Use the Run Initialization


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

Use the random Random


End Initialisation
heuristic Value(100) = init2

Figure C.2: Flowchart of the initialisation in the Simogga

Initialisation:
Begin - Delete not allowed objects
Heuristic - Put allowed objects not
grouped in a random list

Insert CurObj in founded


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

The Rand Group heuristic is decomposed in several steps:

Step H0 Initialisation:

1. For RP: Select randomly a process for each part.


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:

Step H1 Select the current object:

1. Take the first object to insert from the list (CurObj).


2. If the list is empty, go to step H5.

Step H2 Create a new group with a variable probability equal to

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.

Step H3 Find a group to insert the current object:

1. Randomize the set of used groups.


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.

Step H4 Insert the 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

PostRun : Insert CurObj in founded


- 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

Figure C.4: Flowchart of the heuristic used for the CF problem

1. The object is inserted in the founded group.


2. The charge of the group is adapted in function of the object size.
3. Go to step H1 to insert the next object.

Step H5 Post run:

1. All objects are grouped, release all empty groups.


2. Update the coding of the chromosome with the identificator of each
group assigned to the identificator of each object.

C.1.2 Flow Heuristic CF


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:

Step CF0 Initialisation:

1. Step H0 of Rand Group Heuristic.


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.

Step CF1 Selection of the current object


C.1. INITIALISATION 233

1. Take the first object to insert from the list (CurObj).


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.

Step CF2 Create a new group: H2 of Rand Group Heuristic.

Step CF3 Find a group to insert the current object:

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

3. If φmaxCell > φmaxM ach and if capacity constraints


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.

Step CF4 Insert the object:

1. The object is inserted in the founded group.


2. The charge of the group is adapted in function of the object size.
3. Go To Step CF1 to insert the next object.

Step CF5 Post run:

1. All objects are grouped, release all empty groups.


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

Insert CurObj in founded PostRun :


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 the max cell


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

Figure C.5: Flowchart of the heuristic used for the RP problem

C.1.3 Process Heuristic RP


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:

Step RP0 Initialisation:

1. The selection of the product process is based on the following com-


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 parameter m̃ij defines the maximum of operations belonging to


the process j (of part i) that can be achieved in the same cell c̃.

m̃ij = nijc̃ | c̃ = maxc ((nijc )) (C.5)

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.

x̃ij̃ = 1 | c̃ = maxj (m̃ij ) (C.6)

2. Step H0 of Rand Group Heuristic.


C.2. GENERATION 235

Step RP1 Selection of the current object

1. Take the first object to insert from the list (CurObj).


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.

Step RP2 Create a new group: Step H2 of Rand Group Heuristic.

Step RP3 Find a group:

1. Find a group/machine m belonging to the cell c̃ able to achieve the


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.

Step RP4 Insert the object:

1. The object is inserted in the founded group.


2. The charge of the group is adapted in function of the object size.
3. Go To Step RP1 to insert the next object.

Step CF5 Post run:

1. All objects are grouped, release all empty groups.


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

Begin FreqMut = FreqInv =


N N AnalysePop
Generation AgeNextMut AgeNextInv

AnalysePop Mutation
End Generation

Figure C.6: Flowchart of the generation in the Simogga

Create an new Take two chromosomes


Begin Set of
empty list for C1 C2 randomly in the set
Selection chromosomes
chromsomes of chromsomes

Reinsert C1 into Push C2 into the


Y
the set list

Set of
C1->Fitness >
End Selection Y chromsomes is
C2->Fitness
empty

Resinsert C2 into Push C1 into the


N
the set list

Figure C.7: Flowchart of the selection in the Simogga


C.2. GENERATION 237

Selection next Children E1 = Cross>


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

Half top list Random Copy P2->PartCF Copy P2->PartRP


End Crossover Y
are treated? value(100)=cross

Children E2 = BasicCrossov BasicCrossov


crossover er on PartRP er on PartCF
E2 is done ? N
between parent
between P1 between P1
P2 and P1
and P2 and P2

Figure C.8: Flowchart of the crossover in the Simogga

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

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

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).

Step 6 The other part of the chromosome is adapted and reconstructed if it is


necessary.

Here below, an illustration of the crossover is presented. First parent is defined


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

Selection of crossing site Run Heuristic to


: Pos1 and Len1 of P1 reinserted missing
inserted in P2 at Pos2 objects

Objects compatible from


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

Copy all groups inserted Objects compatible from


groups from P1 P2 can be inserted ?

Figure C.10: Flowchart of the basis crossover in the Simogga

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.

Thus for instance, the chromosome

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

Save Best Compute Fitness


End Evaluation chromosome for each
founded chromsome

N Best in population Save Best


is better than Best chromosome in
Chromsome ? current population

Figure C.11: Evaluation of the Simogga

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

Compute Diversity of Compare all


Begin Evaluation of
population d(% of different chromosome two
AnalysePop population
chromosomes in population) by two

Compute Random Compute Random Chromsomes


Y Rand1<90 ? Y
value (100)=rand2 value (100)=rand1 are similar ?

N
N

Diversity < 70% End of Select next


Y HardModify N
&& rand2>80 Population ? chromosome

Evaluation of
N Modify End AnalysePop
Population

Figure C.12: Flowchart of the Analye Population of the Simogga

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 |

where N is the number of chromosome in the population. A detailed description of


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.

C.4 Stopping condition


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.

The maximum number of generations must always be chosen by balancing these


two effects one against the other.

C.5 Local search heuristic


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

Annexe - Search Space

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̃nM × U B −1) (n −2,m


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

Complete tables of results

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

Init 90% 95% 98% 100% Best


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).

Init 90% 95% 98% 100% Best


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

Init 90% 95% 98% 100% Best


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

APPENDIX E. COMPLETE TABLES OF RESULTS


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

APPENDIX E. COMPLETE TABLES OF RESULTS


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

APPENDIX E. COMPLETE TABLES OF RESULTS


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