An Adaptive Approach To Controlling Parameters of Evolutionary Algorithms

Download as pdf or txt
Download as pdf or txt
You are on page 1of 365

An Adaptive Approach to Controlling Parameters of Evolutionary Algorithms

Aldeida Aleti

Submitted in fullment of the requirements for the degree of Doctor of Philosophy Swinburne University of Technology 2012

abstract
The majority of stochastic optimisation methods such as Simulated Annealing (SA), Evolutionary Algorithms (EA), Ant Colony Optimisation (ACO) and Estimation of Distribution Algorithms (EDA) have a range of adjustable parameters like learning rates, crossover probabilities, pheromone evaporation rates and weighting factors. Poor algorithm parameterisation hinders the discovery of good solutions. The parameter values required for optimal algorithm performance are known to be problemspecic, often even specic to the problem instance at hand. Practitioners often apply stochastic methods with parameter values chosen on the basis of few tuning iterations, in which various parameter settings are explored in an attempt to ne-tune the algorithm to their particular problem. Depending on the number of parameters and their plausible value ranges, investigative trials for parameter optimisations can themselves be attempts to solve a combinatorially complex problem. Moreover, it has also been established that some of the parameter values ought to vary during the search process for best algorithm performance. Acknowledging these facts, many researchers have shifted their focus to parameter control methods, where parameter values are optimised based on algorithm performance. This thesis presents an adaptive parameter control method which redenes parameter values repeatedly based on a separate optimisation process that receives its feedback from the primary optimisation algorithm. The feedback is used for a projection of the value performing well in the future. The method uses an evaluation of the recent performance of previously applied parameter values and predicts how likely each of the parameter values is to produce optimal outcomes in the next i

cycle of the algorithm. The parameter values are sampled from intervals which are adapted dynamically, a method which has proven particularly eective and outperforms all existing adaptive parameter controls signicantly. To test the applicability of the approach to a real-world problem, the adaptive parameter control method is applied to a case-study from the automotive industry.

ii

Acknowledgements
I dedicate this work to my family, Torgeir, Meli, Ari, Riza, Eva & Trond. I am deeply grateful to my two supervisors Dr. Irene Moser and Dr. Lars Grunske, whom I was lucky to have as my mentors. I would also like to thank Indika Meedeniya, Dr. Antony Tang, and Dr. Sanaz Mostaghim for their valuable advice and help and my friends Nargiza, Tharindu and Iman for their support.

iii

iv

Declaration
This thesis contains no material which has been accepted for the award of any other degree or diploma, except where due reference is made. To the best of my knowledge, this thesis contains no material previously published or written by another person except where due reference is made in the text of the thesis.

Melbourne, July 23, 2012

Aldeida Aleti

vi

Publications
Parts of the material in this thesis have previously appeared in the following publications: Chapter 4

] A. Aleti, Quality Assessment of Multiobjective Optimisation Algorithms in


Component Deployment, in the Doctoral Symposium, European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), pp. 39-40, ACM Digital Libraries, 2009.

] A. Aleti, L. Grunske, I. Meedeniya, I. Moser, Let the ants deploy your software
- An ACO based deployment optimisation strategy, in the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE) pp. 505 509, IEEE Digital Libraries, 2009. Chapter 5

] A. Aleti and I. Meedeniya, Component Deployment Optimisation with Bayesian


Learning , in Component Based Software Engineering (CBSE), pp. 11-20, ACM Digital Libraries, 2011. Chapter 6

] A. Aleti and I. Moser, Predictive Parameter Control, in Genetic and Evolutionary Computation Conference (GECCO), pp 561-568, ACM Digital Libraries, 2011. Chapter 7

] A. Aleti, I. Moser and S. Mostaghim, Adaptive Range Parameter Control, In


vii

IEEE World Congress on Computational Intelligence (WCCI), to appear, 2012. Chapter 8

] I. Meedeniya, A. Aleti, and L. Grunske, Architecture-Driven Reliability Optimization with Uncertain Model Parameters, in Journal of Systems and Software (JSS), 2012, to appear.

] I. Meedeniya, A. Aleti, I. Avazpour and A. Amin, Robust ArcheOpterix: Architecture Optimization of Embedded Systems under Uncertainty, International Workshop on Software Engineering for Embedded Systems (SEES), International Conference on Software Engineering (ICSE), to appear, 2012.

] I. Meedeniya, B. Zimmerova, A. Aleti and L. Grunske, Architecture Driven


Reliability and Energy Optimization for Complex Embedded Systems, in Quality of Software Architectures (QoSA), Lecture Notes in Computer Science, Vol. 6093, pp. 52-67, Springer, 2010.

] A. Aleti, Stefan Bjornander, L. Grunske, and I. Meedeniya, Acheopterix: An


extendable tool for architecture optimisation of aadl models, in Model-based Methodologies for Pervasive and Embedded Software (MOMPES), pp. 61-71, ACM and IEEE Digital Libraries, 2009.

] I. Meedeniya, A. Aleti and B. Zimmerova, Redundancy Allocation in Automotive Systems using Multiobjective Optimisation, in the Symposium on Automotive/Avionics Systems Engineering (SAASE), 2009.

] I. Meedeniya, I. Moser, A. Aleti and L. Grunske, Software Architecture Evaluation under Uncertainty, in Quality of Software Architectures (QoSA), pp. 85-94, ACM, 2011.

] I. Meedeniya, B. Buhnova, A. Aleti and L. Grunske, Reliability-Driven Deployment Optimization for Embedded Systems, in Journal of Systems and Software (JSS), 84(5), pp. 835-846, 2011. viii

Contents
I Introduction, Background and Methodology 1
3 11

1 Introduction 2 Background 2.1 2.2 2.3

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Evolutionary Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.1 2.3.2 2.3.3 2.3.4 Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 16 Evolution Strategies . . . . . . . . . . . . . . . . . . . . . . . 17 Genetic Programming . . . . . . . . . . . . . . . . . . . . . . 19 Evolutionary Programming . . . . . . . . . . . . . . . . . . . 19

2.4

Methods for Conguring Parameters of Evolutionary Algorithms . . . 20 2.4.1 2.4.2 Parameter Tuning . . . . . . . . . . . . . . . . . . . . . . . . . 20 Parameter Control . . . . . . . . . . . . . . . . . . . . . . . . 24

2.5

Parameters to Congure . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 Population Size . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Selection Procedure . . . . . . . . . . . . . . . . . . . . . . . . 44 Variation Procedure . . . . . . . . . . . . . . . . . . . . . . . 47 Replacement Procedure . . . . . . . . . . . . . . . . . . . . . 50

Number of Ospring . . . . . . . . . . . . . . . . . . . . . . . 51

2.6

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 ix

3 Methodology 3.1 3.2

55

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Research Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2.1 3.2.2 3.2.3 3.2.4 Feedback Collection Strategy . . . . . . . . . . . . . . . . . . 59 Parameter Eect Assessment Strategy . . . . . . . . . . . . . 60 Parameter Quality Attribution Strategy . . . . . . . . . . . . 62 Parameter Value Selection Strategy . . . . . . . . . . . . . . . 63

3.3

Research Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.3.1 3.3.2 3.3.3 3.3.4 Experimental Settings . . . . . . . . . . . . . . . . . . . . . . 66 Benchmark Problems . . . . . . . . . . . . . . . . . . . . . . . 67 Benchmark Methods . . . . . . . . . . . . . . . . . . . . . . . 73 Comparative Measures . . . . . . . . . . . . . . . . . . . . . . 74

II

Contribution

77
81

4 Feedback Collection Strategy 4.1 4.2 4.3

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Performance Aspects in Multiobjective Optimisation . . . . . . . . . 83 Multiobjective Performance Metrics . . . . . . . . . . . . . . . . . . . 85 4.3.1 4.3.2 4.3.3 Binary Hypervolume Indicator . . . . . . . . . . . . . . . . . . 89 Binary Epsilon Indicator . . . . . . . . . . . . . . . . . . . . . 91 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

4.4

Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.4.1 4.4.2 Experimental Settings . . . . . . . . . . . . . . . . . . . . . . 95 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

4.5

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 x

5 Parameter Eect Assessment Strategy 5.1 5.2 5.3 5.4

99

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Bayesian Eect Assessment Strategy . . . . . . . . . . . . . . . . . . 101 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Analysis of the Threshold Value . . . . . . . . . . . . . . . . . . . . . 110 5.4.1 5.4.2 Experimental Settings . . . . . . . . . . . . . . . . . . . . . . 110 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

5.5

Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.5.1 5.5.2 5.5.3 Benchmark Eect Assessment Strategy . . . . . . . . . . . . . 114 Experimental Settings . . . . . . . . . . . . . . . . . . . . . . 115 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

5.6

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 119

6 Parameter Quality Attribution Strategy 6.1 6.2

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Predictive Quality Attribution . . . . . . . . . . . . . . . . . . . . . . 122 6.2.1 6.2.2 6.2.3 6.2.4 Linear Regression . . . . . . . . . . . . . . . . . . . . . . . . . 123 Simple Moving Average . . . . . . . . . . . . . . . . . . . . . 126 Exponentially-Weighted Moving Average . . . . . . . . . . . . 127 Autoregressive Integrated Moving Average . . . . . . . . . . . 128

6.3

Characteristics of the Parameter Eects . . . . . . . . . . . . . . . . 131 6.3.1 6.3.2 6.3.3 Experimental Settings . . . . . . . . . . . . . . . . . . . . . . 132 Statistical Analysis . . . . . . . . . . . . . . . . . . . . . . . . 133 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

6.4

Analysis of the Predictive Quality Attribution Methods . . . . . . . . 143 6.4.1 6.4.2 Experimental Settings . . . . . . . . . . . . . . . . . . . . . . 143 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 xi

6.5

Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.5.1 6.5.2 6.5.3 Benchmark Parameter Quality Attribution Strategies . . . . . 147 Experimental Settings . . . . . . . . . . . . . . . . . . . . . . 148 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

6.6

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 157

7 Parameter Value Selection Strategy 7.1 7.2 7.3

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Adaptive Range Parameter Selection . . . . . . . . . . . . . . . . . . 160 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.3.1 7.3.2 7.3.3 Benchmark Parameter Value Selection Strategies . . . . . . . 166 Experimental Settings . . . . . . . . . . . . . . . . . . . . . . 174 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

7.4

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

III

Practical Validation

185
187

8 Architecture Optimisation in Embedded Systems 8.1 8.2

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Architecture Design and Optimisation 8.2.1 8.2.2 . . . . . . . . . . . . . . . . . 190

Redundancy Allocation Optimisation . . . . . . . . . . . . . . 192 Component Deployment Optimisation . . . . . . . . . . . . . 194

8.3 8.4

ArcheOpterix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Case-Study: Automotive Embedded Systems . . . . . . . . . . . . . . 198 8.4.1 8.4.2 8.4.3 8.4.4 Hardware Architecture . . . . . . . . . . . . . . . . . . . . . . 199 Software Architecture . . . . . . . . . . . . . . . . . . . . . . . 200 Conguration of the Case-study . . . . . . . . . . . . . . . . . 202 Redundancy Allocation Optimisation . . . . . . . . . . . . . . 204 xii

8.4.5 8.4.6 8.5

Component Deployment Optimisation . . . . . . . . . . . . . 209 Results of the Optimisation Process . . . . . . . . . . . . . . . 214

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

IV

Conclusions and Future Work

221
223 229

9 Conclusions 10 Future Work

Appendix

231

xiii

xiv

List of Figures
2.1 3.1 3.2 4.1 4.2 4.3 4.4 4.5 4.6 4.7 5.1 5.2 5.3 5.4 5.5 Compass. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Steps of Evolutionary Algorithms. . . . . . . . . . . . . . . . . . . . . 57 Example of schemas dening the RRP function. . . . . . . . . . . . . 69 Properties of nondominated sets. . . . . . . . . . . . . . . . . . . . . 83 Coverage measure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 The binary hypervolume indicator . . . . . . . . . . . . . . . . . . . . 90 The binary epsilon indicator . . . . . . . . . . . . . . . . . . . . . . . 91 Example of binary hypervolume and binary epsilon indicators. . . . . 92 Example of binary hypervolume and binary epsilon indicators. . . . . 93 Example of binary hypervolume and binary epsilon indicators. . . . . 93 Parallel algorithm instances. . . . . . . . . . . . . . . . . . . . . . . . 101 An example of a Bayesian Belief Network. . . . . . . . . . . . . . . . 103 A Bayesian Belief Network for parameter eect assessment. . . . . . . 104 Annotated Bayesian Belief Network. . . . . . . . . . . . . . . . . . . . 105 Algorithm instances with parameter values selected from dierent intervals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.6 5.7 Successful algorithm instances. . . . . . . . . . . . . . . . . . . . . . . 108 Boxplots of the parameter eect assessment strategies. . . . . . . . . 117 xv

6.1

Performance improvement of the EA using dierent forecasting techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

6.2

Boxplots of parameter quality attribution schemes for controlling population size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

6.3

Boxplots of parameter quality attribution schemes for controlling EA parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

7.1 7.2 7.3 7.4 7.5 7.6 7.7

Initial division of parameter ranges. . . . . . . . . . . . . . . . . . . . 161 Success rates of parameter ranges. . . . . . . . . . . . . . . . . . . . . 161 Dividing parameter ranges based on success rates. . . . . . . . . . . . 161 New success rates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Merging parameter ranges. . . . . . . . . . . . . . . . . . . . . . . . . 162 Boxplots of parameter value selection schemes for QAP, RR and mQAP.176 Boxplots of parameter value selection schemes for the multiobjective Quadratic Assignment Problem . . . . . . . . . . . . . . . . . . . . . 177

7.8

Change of parameter ranges for the optimisation of the Royal Road Problem and the multiobjective Quadratic Assignment Problem with an EA that uses ARPS during 20 iteration. . . . . . . . . . . . . . . . 180

7.9

Change of parameter ranges for the optimisation of the Quadratic Assignment Problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

8.1 8.2 8.3 8.4 8.5 8.6 8.7

Software elements and interactions. . . . . . . . . . . . . . . . . . . . 190 Software elements and interactions. . . . . . . . . . . . . . . . . . . . 191 Hardware elements and communication network. . . . . . . . . . . . . 191 Redundancy Allocation Problem. . . . . . . . . . . . . . . . . . . . . 193 Component Deployment Problem. . . . . . . . . . . . . . . . . . . . . 195 ArcheOpterix framework. . . . . . . . . . . . . . . . . . . . . . . . . . 197 The hardware architecture. . . . . . . . . . . . . . . . . . . . . . . . . 199 xvi

8.8 8.9

The software architecture of the Brake-by-wire system. . . . . . . . . 201 The software architecture of Brake-by-wire system. . . . . . . . . . . 210

xvii

xviii

List of Tables
3.1 4.1 4.2 Hollands default Royal Road problem setting . . . . . . . . . . . . . . 71 Performance metrics. . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 The means, standard deviations (SD) and the Kolmogorov-Smirnov test values of the 30 runs of each problem instance using dierent feedback collection strategies. . . . . . . . . . . . . . . . . . . . . . . 97 5.1 5.2 5.3 Performance of algorithm instances. . . . . . . . . . . . . . . . . . . . 108 Frequencies of parameter values. . . . . . . . . . . . . . . . . . . . . . 108 Frequencies of parameter values in the successful and unsuccessful instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.4 5.5 The conditional probabilities of parameter values. . . . . . . . . . . . 109 Means and standard deviations of the optimisation schemes using dierent threshold values for BEA. . . . . . . . . . . . . . . . . . . . 112 5.6 Kolmogorov-Smirnov test for comparing the optimisation schemes using dierent threshold values for BEA. . . . . . . . . . . . . . . . . . 112 5.7 Kolmogorov-Smirnov test for the comparison of parameter eect assessment schemes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.1 6.2 6.3 Ranges/values of parameters. . . . . . . . . . . . . . . . . . . . . . . 132 Assumptions of the forecasting models. . . . . . . . . . . . . . . . . . 137 Characteristics of the success rates of dierent algorithm parameters with two ranges/values. . . . . . . . . . . . . . . . . . . . . . . . . . . 138 xix

6.4

Recommendation for using forecasting models to predict the success rates of dierent parameter values chosen from dierent ranges. . . . 141

6.5

The means and standard deviations for the 30 runs of each problem instance using dierent parameter quality attribution schemes: Average Quality Attribution (AQA), Extreme Quality Attribution (EQA) and Predictive Quality Attribution (PQA). . . . . . . . . . . . . . . . 151

6.6

The Kolmogorov-Smirnov test values for the 30 runs of each problem instance using dierent parameter quality attribution schemes: Average Quality Attribution (AQA), Extreme Quality Attribution (EQA) and Predictive Quality Attribution (PQA). . . . . . . . . . . . . . . . 152

6.7

The means and standard deviations for the 30 runs of each problem instance using dierent parameter quality attribution schemes: Average Quality Attribution (AQA), Extreme Quality Attribution (EQA) and Predictive Quality Attribution (PQA). . . . . . . . . . . . . . . . 154

6.8

The Kolmogorov-Smirnov test values for the 30 runs of each problem instance using dierent parameter quality attribution schemes: Average Quality Attribution (AQA), Extreme Quality Attribution (EQA) and Predictive Quality Attribution (PQA). . . . . . . . . . . . . . . . 155

7.1 7.2

Hyper-parameters of benchmark parameter control methods. . . . . . 174 The means and standard deviations of the 30 runs of each problem instance using dierent parameter value selection schemes. . . . . . . 178

7.3

The Kolmogorov-Smirnov test values of the 30 runs of each problem instance using dierent parameter value selection schemes. . . . . . . 179

8.1 8.2 8.3

Properties of the hardware elements. . . . . . . . . . . . . . . . . . . 200 Properties of the software elements. . . . . . . . . . . . . . . . . . . . 203 Values of hardware nodes for the BBW system. . . . . . . . . . . . . 204 xx

8.4 8.5 8.6 8.7

Values of communication links for the BBW system. . . . . . . . . . . 204 Values of software components for BBW system. . . . . . . . . . . . . 205 Values of interactions between components in the BBW system. . . . 205 Values of collocation restrictions between components in the BBW system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

8.8 8.9

Ranges of parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Tuned parameter values. . . . . . . . . . . . . . . . . . . . . . . . . . 215

8.10 Redundancy Solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . 216 8.11 Deployment Solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . 217 8.12 The results of the case-study . . . . . . . . . . . . . . . . . . . . . . . 218 10.1 Linearity test of mutation rate [0.001, 0.249] . . . . . . . . . . . . . . 233 10.2 Linearity test of mutation rate [0.25, 0.49] . . . . . . . . . . . . . . . 234 10.3 Linearity test of crossover rate [0.6, 0.79] . . . . . . . . . . . . . . . . 234 10.4 Linearity test of crossover rate [0.8, 0.99] . . . . . . . . . . . . . . . . 235 10.5 Linearity test of population size [20, 60] . . . . . . . . . . . . . . . . . 235 10.6 Linearity test of population size [61, 100] . . . . . . . . . . . . . . . . 236 10.7 Linearity test of mating pool size [0.1, 0.39] . . . . . . . . . . . . . . . 236 10.8 Linearity test of mating pool size [0.4, 0.69] . . . . . . . . . . . . . . . 237 10.9 Linearity test of single-point mutation operator. . . . . . . . . . . . . 237 10.10 Linearity test of uniform mutation operator. . . . . . . . . . . . . . . 238 10.11 Linearity test of single-point crossover operator. . . . . . . . . . . . . 238 10.12 Linearity test of uniform crossover operator. . . . . . . . . . . . . . . 239 10.13 Kolmogorov-Smirnov test of mutation rate [0.001, 0.249] . . . . . . . 239 10.14 Kolmogorov-Smirnov test of mutation rate [0.25, 0.49] . . . . . . . . 240 10.15 Kolmogorov-Smirnov test of crossover rate [0.6, 0.79] . . . . . . . . . 240 10.16 Kolmogorov-Smirnov test of crossover rate [0.8, 0.99] . . . . . . . . . 241 xxi

10.17 Kolmogorov-Smirnov test of population size [20, 60] . . . . . . . . . . 241 10.18 Kolmogorov-Smirnov test of population size [61, 100] . . . . . . . . . 242 10.19 Kolmogorov-Smirnov test of mating pool size [0.1, 0.39] . . . . . . . . 242 10.20 Kolmogorov-Smirnov test of mating pool size [0.4, 0.69] . . . . . . . . 243 10.21 Kolmogorov-Smirnov test of single-point mutation operator. . . . . . 243 10.22 Kolmogorov-Smirnov test of uniform mutation operator. . . . . . . . 244 10.23 Kolmogorov-Smirnov test of single-point crossover operator. . . . . . 244 10.24 Kolmogorov-Smirnov test of uniform crossover operator. . . . . . . . 245 10.25 Durbin-Watson test of mutation rate [0.001, 0.249] . . . . . . . . . . 245 10.26 Durbin-Watson test of mutation rate [0.25, 0.49] . . . . . . . . . . . . 246 10.27 Durbin-Watson test of crossover rate [0.6, 0.79] . . . . . . . . . . . . 246 10.28 Durbin-Watson test of crossover rate [0.8, 0.99] . . . . . . . . . . . . 247 10.29 Durbin-Watson test of population size [20, 60] . . . . . . . . . . . . . 247 10.30 Durbin-Watson test of population size [61, 100] . . . . . . . . . . . . 248 10.31 Durbin-Watson test of mating pool size [0.1, 0.39] . . . . . . . . . . . 248 10.32 Durbin-Watson test of mating pool size [0.4, 0.69] . . . . . . . . . . . 249 10.33 Durbin-Watson test of single-point mutation operator. . . . . . . . . 249 10.34 Durbin-Watson test of uniform mutation operator. . . . . . . . . . . 250 10.35 Durbin-Watson test of single-point crossover operator. . . . . . . . . 250 10.36 Durbin-Watson test of uniform crossover operator. . . . . . . . . . . 251 10.37 Breusch-Pagan test of mutation rate [0.001, 0.249] . . . . . . . . . . . 251 10.38 Breusch-Pagan test of mutation rate [0.25, 0.49] . . . . . . . . . . . . 252 10.39 Breusch-Pagan test of crossover rate [0.6, 0.79] . . . . . . . . . . . . . 252 10.40 Breusch-Pagan test of crossover rate [0.8, 0.99] . . . . . . . . . . . . . 253 10.41 Breusch-Pagan test of population size [20, 60] . . . . . . . . . . . . . 253 10.42 Breusch-Pagan test of population size [61, 100] . . . . . . . . . . . . 254 10.43 Breusch-Pagan test of mating pool size [0.1, 0.39] . . . . . . . . . . . 254 xxii

10.44 Breusch-Pagan test of mating pool size [0.4, 0.69] . . . . . . . . . . . 255 10.45 Breusch-Pagan test of single-point mutation operator. . . . . . . . . 255 10.46 Breusch-Pagan test of uniform mutation operator. . . . . . . . . . . 256 10.47 Breusch-Pagan test of single-point crossover operator. . . . . . . . . 256 10.48 Breusch-Pagan test of uniform crossover operator. . . . . . . . . . . 257 10.49 KPSS test of mutation rate [0.001, 0.249] . . . . . . . . . . . . . . . . 257 10.50 KPSS test of mutation rate [0.25, 0.49] . . . . . . . . . . . . . . . . . 258 10.51 KPSS test of crossover rate [0.6, 0.79] 10.52 KPSS test of crossover rate [0.8, 0.99] . . . . . . . . . . . . . . . . . 258 . . . . . . . . . . . . . . . . . 259

10.53 KPSS test of population size [20, 60] . . . . . . . . . . . . . . . . . . 259 10.54 KPSS test of population size [61, 100] . . . . . . . . . . . . . . . . . 260 10.55 KPSS test of mating pool size [0.1, 0.39] . . . . . . . . . . . . . . . . 260 10.56 KPSS test of mating pool size [0.4, 0.69] . . . . . . . . . . . . . . . . 261 10.57 KPSS test of single-point mutation operator. . . . . . . . . . . . . . 261 10.58 KPSS test of uniform mutation operator. . . . . . . . . . . . . . . . 262 10.59 KPSS test of single-point crossover operator. . . . . . . . . . . . . . 262 10.60 KPSS test of uniform crossover operator. . . . . . . . . . . . . . . . 263 10.61 Linearity test of the mutation rate [0.001, 0.1249] . . . . . . . . . . . 265 10.62 Linearity test of the mutation rate [0.125, 0.249] . . . . . . . . . . . . 266 10.63 Linearity test of the mutation rate [0.25, 0.3749] . . . . . . . . . . . . 266 10.64 Linearity test of the mutation rate [0.375, 0.49] . . . . . . . . . . . . 267 10.65 Linearity test of the crossover rate [0.6, 0.69] . . . . . . . . . . . . . . 267 10.66 Linearity test of the crossover rate [0.7, 0.79] . . . . . . . . . . . . . . 268 10.67 Linearity test of the crossover rate [0.8, 0.89] . . . . . . . . . . . . . . 268 10.68 Linearity test of the crossover rate [0.9, 0.99] . . . . . . . . . . . . . . 269 10.69 Linearity test of the population size [20, 40] . . . . . . . . . . . . . . 269 10.70 Linearity test of the population size [41, 60] . . . . . . . . . . . . . . 270 xxiii

10.71 Linearity test of the population size [61, 80] . . . . . . . . . . . . . . 270 10.72 Linearity test of the population size [81, 100] . . . . . . . . . . . . . 271

10.73 Linearity test of the mating pool size [0.1, 0.249] . . . . . . . . . . . 271 10.74 Linearity test of the mating pool size [0.25, 0.39] . . . . . . . . . . . 272 10.75 Linearity test of the mating pool size [0.4, 0.549] . . . . . . . . . . . 272 10.76 Linearity test of the mating pool size [0.55, 0.69] . . . . . . . . . . . 273 10.77 Kolmogorov-Smirnov test of the mutation rate [0.001, 0.1249] . . . . 273 10.78 Kolmogorov-Smirnov test of the mutation rate [0.125, 0.249] . . . . . 274 10.79 Kolmogorov-Smirnov test of the mutation rate [0.25, 0.3749] . . . . . 274 10.80 Kolmogorov-Smirnov test of the mutation rate [0.375, 0.49] . . . . . . 275 10.81 Kolmogorov-Smirnov test of the crossover rate [0.6, 0.69] . . . . . . . 275 10.82 Kolmogorov-Smirnov test of the crossover rate [0.7, 0.79] . . . . . . . 276 10.83 Kolmogorov-Smirnov test of the crossover rate [0.8, 0.89] . . . . . . . 276 10.84 Kolmogorov-Smirnov test of the crossover rate [0.9, 0.99] . . . . . . . 277 10.85 Kolmogorov-Smirnov test of the population size [20, 40] . . . . . . . 277 10.86 Kolmogorov-Smirnov test of the population size [41, 60] . . . . . . . 278 10.87 Kolmogorov-Smirnov test of the population size [61, 80] . . . . . . . 278 10.88 Kolmogorov-Smirnov test of the population size [81, 100] . . . . . . . 279 10.89 Kolmogorov-Smirnov test of the mating pool size [0.1, 0.249] . . . . . 279 10.90 Kolmogorov-Smirnov test of the mating pool size [0.25, 0.39] . . . . . 280 10.91 Kolmogorov-Smirnov test of the mating pool size [0.4, 0.549] . . . . . 280 10.92 Kolmogorov-Smirnov test of the mating pool size [0.55, 0.69] . . . . . 281 10.93 Durbin-Watson test of the mutation rate [0.001, 0.1249] . . . . . . . 281 10.94 Durbin-Watson test of the mutation rate [0.125, 0.249] . . . . . . . . 282 10.95 Durbin-Watson test of the mutation rate [0.25, 0.3749] . . . . . . . . 282 10.96 Durbin-Watson test of the mutation rate [0.375, 0.49] . . . . . . . . . 283 10.97 Durbin-Watson test of the crossover rate [0.6, 0.69] . . . . . . . . . . 283 xxiv

10.98 Durbin-Watson test of the crossover rate [0.7, 0.79] . . . . . . . . . . 284 10.99 Durbin-Watson test of the crossover rate [0.8, 0.89] . . . . . . . . . . 284 10.100 Durbin-Watson test of the crossover rate [0.9, 0.99] . . . . . . . . . . 285 10.101 Durbin-Watson test of the population size [20, 40] . . . . . . . . . . 285 10.102 Durbin-Watson test of the population size [41, 60] . . . . . . . . . . 286 10.103 Durbin-Watson test of the population size [61, 80] . . . . . . . . . . 286 10.104 Durbin-Watson test of the population size [81, 100] . . . . . . . . . . 287 10.105 Durbin-Watson test of the mating pool size [0.1, 0.249] 10.106 Durbin-Watson test of the mating pool size [0.25, 0.39] 10.107 Durbin-Watson test of the mating pool size [0.4, 0.549] 10.108 Durbin-Watson test of the mating pool size [0.55, 0.69] . . . . . . . 287 . . . . . . . 288 . . . . . . . 288 . . . . . . . 289

10.109 Breusch-Pagan test of the mutation rate [0.001, 0.1249] . . . . . . . 289 10.110 Breusch-Pagan test of the mutation rate [0.125, 0.249] . . . . . . . . 290 10.111 Breusch-Pagan test of the mutation rate [0.25, 0.3749] . . . . . . . . 290 10.112 Breusch-Pagan test of the mutation rate [0.375, 0.49] . . . . . . . . . 291 10.113 Breusch-Pagan test of the crossover rate [0.6, 0.69] . . . . . . . . . . 291 10.114 Breusch-Pagan test of the crossover rate [0.7, 0.79] . . . . . . . . . . 292 10.115 Breusch-Pagan test of the crossover rate [0.8, 0.89] . . . . . . . . . . 292 10.116 Breusch-Pagan test of the crossover rate [0.9, 0.99] . . . . . . . . . . 293 10.117 Breusch-Pagan test of the population size [20, 40] . . . . . . . . . . 293 10.118 Breusch-Pagan test of the population size [41, 60] . . . . . . . . . . 294 10.119 Breusch-Pagan test of the population size [61, 80] . . . . . . . . . . 294 10.120 Breusch-Pagan test of the population size [81, 100] . . . . . . . . . . 295 10.121 Breusch-Pagan test of the mating pool size [0.1, 0.249] . . . . . . . . 295 10.122 Breusch-Pagan test of the mating pool size [0.25, 0.39] . . . . . . . . 296 10.123 Breusch-Pagan test of the mating pool size [0.4, 0.549] . . . . . . . . 296 10.124 Breusch-Pagan test of the mating pool size [0.55, 0.69] . . . . . . . . 297 xxv

10.125 KPSS test of the mutation rate [0.001, 0.1249] . . . . . . . . . . . . 297 10.126 KPSS test of the mutation rate [0.125, 0.249] . . . . . . . . . . . . . 298 10.127 KPSS test of the mutation rate [0.25, 0.3749] . . . . . . . . . . . . . 298 10.128 KPSS test of the mutation rate [0.375, 0.49] . . . . . . . . . . . . . . 299 10.129 KPSS test of the crossover rate [0.6, 0.69] . . . . . . . . . . . . . . . 299 10.130 KPSS test of the crossover rate [0.7, 0.79] . . . . . . . . . . . . . . . 300 10.131 KPSS test of the crossover rate [0.8, 0.89] . . . . . . . . . . . . . . . 300 10.132 KPSS test of the crossover rate [0.9, 0.99] . . . . . . . . . . . . . . . 301 10.133 KPSS test of the population size [20, 40] . . . . . . . . . . . . . . . 301 10.134 KPSS test of the population size [41, 60] . . . . . . . . . . . . . . . 302 10.135 KPSS test of the population size [61, 80] . . . . . . . . . . . . . . . 302 10.136 KPSS test of the population size [81, 100] . . . . . . . . . . . . . . . 303 10.137 KPSS test of the mating pool size [0.1, 0.249] . . . . . . . . . . . . . 303 10.138 KPSS test of the mating pool size [0.25, 0.39] . . . . . . . . . . . . . 304 10.139 KPSS test of the mating pool size [0.4, 0.549] . . . . . . . . . . . . . 304 10.140 KPSS test of the mating pool size [0.55, 0.69] . . . . . . . . . . . . . 305

xxvi

List of Algorithms
1 2 3 4 5 6 7 8 Evolutionary Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 15 Bayesian Eect Assessment Strategy . . . . . . . . . . . . . . . . . . 106 Finding best and worst performing ranges. . . . . . . . . . . . . . . . 163 Adjusting parameter ranges. . . . . . . . . . . . . . . . . . . . . . . . 164 Fitness proportionate selection. . . . . . . . . . . . . . . . . . . . . . 164 Probability Matching (PM). . . . . . . . . . . . . . . . . . . . . . . . 168 Adaptive Pursuit (AP). . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Dynamic Multi-Armed Bandit (DMAB). . . . . . . . . . . . . . . . . 172

xxvii

xxviii

List of Acronyms
\ FCS: Feedback Collection Strategy \ BEA: Bayesian Eect Assessment \ QAS: Quality Attribution Strategy \ PQA: Predictive Quality Attribution \ ARPS: Adaptive Range Parameter Selection \ PM: Probability Matching \ AP: Adaptive Pursuit \ DMAB: Dynamic Multi-Armed Bandits \ EA: Evolutionary Algorithm \ EDA: Estimation of Distribution Algorithms \ ES: Evolutionary Strategies \ GA: Genetic Algorithm \ GP: Genetic Programming \ MQAP: Multiobjective Quadratic Assignment Problem \ RR: Royal Road problem \ QAP: Quadratic Assignment Problem \ RAP: Redundancy Allocation Problem \ CDP: Component Deployment Problem
xxix

xxx

Part I Introduction, Background and Methodology

Chapter 1 Introduction
Due to their general applicability, stochastic optimisers such as Evolutionary Algorithms (EAs) are popular among scientists and engineers facing dicult optimisation problems. Stochastic algorithms are not expected to deliver the optimal solutions, but to provide good approximate results where exact approaches cannot be devised and optimal solutions are hard to nd. Usually, these algorithms make no assumptions about the nature of optimisation problem, therefore they are also called black-box optimisation methods. Stochastic optimisation algorithms are often used to solve combinatorial optimisation problems, where an exhaustive search of the search space is not feasible in polynomial time. A combinatorial optimisation problem can be dened as choosing the best solutions from all possible combinations of n dierent variables. The possible solutions may include all trees of n nodes or all possible Hamilton cycles of a complete graph with n nodes. Moreover, the objective functions are often computationally expensive and non-linear. Listing all possible solutions in order to nd the best candidates is a non-deterministic polynomial-time hard (NP-hard) problem, i.e. solvable in polynomial time by a non-deterministic Turing machine. Evolutionary Algorithms (EAs) have shown good performance in solving hard optimisation problems. They maintain a population of solutions which is evolved with the help of the genetic operators: mutation, crossover, often called recombina3

tion, selection and replacement. The mutation and crossover operators are employed to produce new solutions using candidate solutions from the population. The mutation operator creates a new solution by performing a random or guided change in one of the members of the current population, whereas the crossover operator is used to combine features of existing solutions. The selection operator is used to select the solutions that will undergo the variation procedure, which is composed of the mutation and crossover operators. Finally, the replacement operator is employed to decide which solutions should survive to the next iteration. These operators and other elements of an EA that are involved in the process of variation and selection, such as the probabilities of applying these operators, the population size, the number of ospring produced, are the algorithm parameters. Formerly, EAs were seen as robust algorithms that exhibit approximately similar performance over a wide range of problems [66]. Hence, the use of these algorithms has increased over the years, especially in the Software Engineering domain [62, 97, 119]. The architecture design optimisation of embedded systems [21, 50, 62, 147, 193, 119] is one of the elds of the Software Engineering where the application of EAs has become almost a necessity. Architecture design entails making a multitude of decisions regarding the prospective system. Numerous stakeholders are interested in certain quality attributes of the system, which are dependent on the decisions made on the architecture [62, 97, 119], such as the allocation of the software architecture to the hardware resources [129, 4, 147] and the selection of the redundancy levels for the safety-critical components [73, 127]. The quality attributes are often in conict with each other and solutions which are optimal according to all quality attributes may not exist. As embedded systems get larger and more complex, the task of nding high-quality architectures becomes unmanageable for a system engineer. The use of EAs in architecture optimisation helps not only make better decisions, but also reduce the time required for the decision. 4

In recent years, it has been acknowledged that the robustness of Evolutionary Algorithms is mostly due to the numerous parameters that these algorithms have [66, 48, 135, 13], which make the optimisation procedure exible and ecient for any kind of problem, regardless of the search space diculty. The settings of the parameter values, greatly aect the performance of the algorithm [135, 13, 115, 49]. Unfortunately, practitioners usually have little expertise in the Articial Intelligence eld, and they require guidance in the application of stochastic methods to their particular problems. Even after many years of research into EAs and other stochastic approaches, there are no straightforward parametrisation guidelines for interdisciplinary users of these methods. For instance, general guidelines regarding the crossover rate recommend using a value equal to 0.6 [39], 0.95 [69], or any value in the range [0.75, 0.95] [160]. Similarly, DeJong [39] recommends a mutation rate equal to 0.001, whereas Grefenstette [69] argues that the mutation rate should be less than 0.05. The reason for these conicting guidelines, is the fact that dierent parameter values may be optimal for dierent problems. Mitchell [137] noted that it is unlikely that general principles about EA parameter congurations can be formulated, and Eiben and Smit [49] argued that setting EA parameters is an optimisation problem in itself. As a consequence, practitioners tend to choose parameter values based on few trials in which various parameter settings are explored in an attempt to ne-tune an EA to a particular problem. A conceptual framework for tuning EA parameters and an insightful analysis of state-of-the-art tuning methods is presented by Eiben and Smit [49]. However, it has been empirically and theoretically demonstrated that dierent parameter settings are required not only for dierent problem instances but also for dierent optimisation stages of that instance [13, 9, 179, 174, 77, 29, 180]. For instance, the optimal values of mutation rate in an Evolutionary Algorithm were 5

studied in a set of dierent benchmark problems [29], where it was shown that these values depend on the state of the search space and any xed mutation rate produced sub-optimal results. Similar works have proposed a time-dependency of certain algorithm parameters, such as the mutation rate [77, 38, 15], the crossover rate [38] and the population size [13, 115]. In essence, tuning parameter values before the optimisation process does not guarantee an optimal performance of the EA. This problem has been tackled by many researchers in the optimisation community [13, 45, 66, 55, 174, 43, 154, 134, 77, 9, 179, 28], who proposed to set the parameter values of an EA during the run, known as parameter control [45, 66, 55, 33, 37, 82, 84, 94, 114, 163, 183]. The intuitive motivation comes from the way the optimisation process unfolds from a more diused global search, requiring parameter values responsible for the exploration of the search space, to a more focused local optimisation process, requiring parameter values which help with the convergence of the algorithm. Dierent parameter control techniques exist in the literature. Following the classication by Eiben et al. [45], methods for controlling parameters of an EA perform this task in three dierent ways: deterministically, self-adaptively or adaptively. Deterministic parameter control can be regarded as a variation of parameter tuning, in which several parameter settings are chosen based on preliminary experiments [133], to alleviate the performance problems of parameters that are invariate throughout the optimisation process. These changes are based on time, i.e. new values are assigned after every predetermined number of iterations. One example is decreasing the mutation rate every w iterations [57]. The problem then lies in devising such a schedule, i.e. in nding the ideal value for w. This schedule depends on the total number of iterations that the optimisation algorithm will take to converge, an information that usually is not possible to know before the run. Another way of tackling this issue is using an optimisation procedure composed 6

of two levels; the top optimisation level evolves the parameters of a second level. Rechenberg [154] presents one of the rst examples of this approach, by using a nested Evolution Strategy (ES), where an ES is used to evolve the parameters of a lower-level ES. This is an example of self-adaptive parameter control. The choice of the parameter values of the top level EA still remains open. Other selfadaptive parameter control methods integrate the search for optimal parameters into the optimisation process itself - usually by encoding parameter settings into the genotype of the solution to evolve [13, 15, 53, 40]. Extending the solution size to include the parameter space obviously increases the search space and makes the search process more time-consuming [45]. In adaptive parameter control [181, 56, 33, 37, 82, 84, 94, 114, 163, 183], properties of an EA run (such as the quality of the solutions produced) are monitored and the change in the properties is used as a signal to change parameter values. The update mechanism to control the parameter values is decided by the user, rather than being part of the evolutionary cycle. Usually, an adaptive parameter control mechanism performs four main steps: (i) it measures the change in the properties of the optimisation algorithm (feedback collection ), such as the quality of the solutions produced, (ii) it employs the feedback from the search to infer the eect of parameter values on the successful performance of the optimisation process (parameter eect assessment ), such as producing solutions with quality above a certain threshold (iii) it approximates the overall quality of parameter values to use in the next iteration (parameter quality attribution ), and (iv) it adjusts the values of the parameters according to the estimated quality (parameter value selection ). This thesis investigates each of these four steps and introduces eective ways of controlling parameter values in an adaptive way. Current research in feedback collection mechanisms for parameter control methods focuses only on singleobjective optimisation, in which the relevant property that 7

indicates the performance of the algorithm is the change in tness of the best solution. Measuring the performance of multiobjective optimisation algorithms is not as straightforward, since the output is a set of solutions which constitute a trade-o between the tness functions, hence the selection of a feedback collection mechanism remains a challenge. With the aim of selecting an appropriate feedback collection mechanism to guide the control of parameter values in multiobjective optimisation, we investigate state-of-the-art multiobjective performance metrics. The analysis of the dierent multiobjective performance metrics is presented in Chapter 4 and the results of the comparison of dierent feedback collection strategies are discussed in Section 4.4. Approximating the cause of the successful performance of a stochastic algorithm is challenging, since stochastic methods generally produce dierent results for the same parameter values [43], and the performance of the algorithm may be aected by more than one parameter value. In order to deal with the noise of stochastic systems, such as Evolutionary Algorithms, we propose a new probabilistic parameter eect assessment strategy, which is based on Bayesian Belief Networks. The Bayesian Eect Assessment (BEA) strategy is described in Chapter 5 and the validation of the the approach is presented in Section 5.5. State-of-the-art parameter quality attribution methods derive parameter quality from recent performance, such as result quality in preceding iteration(s) (time t 1). One might argue that these approaches are one step behind, in that they propose the use of the parameter value which is optimal for the previous iteration. Ideally, we would use a setting optimised for the beginning iteration (time t). It follows that an ideal parameter quality attribution strategy would attempt to predict successful parameter values for time t based on previous performance. The current work explores the hypothesis that using time series prediction to forecast the success of parameter values based on previous quality improves the 8

choice of parameters, and as a result improves the performance of the algorithm. To this end, suitable forecasting techniques are explored, with the goal of achieving adequate predictions of the quality of parameter values. Dierent forecasting techniques, and the analysis of the assumptions they make regarding the time-series data are discussed in Chapter 6. An empirical evaluation of the proposed Predictive Quality Attribution Strategy (PQA) is presented in Section 6.5. The parameter value selection strategies employed in current state-of-the-art parameter control methods use predened parameter ranges to sample the continuous values from or dened discretised choices. The quality feedback and therefore the probability of use in the next iteration is allocated to these ranges, not the actually sampled values. As the ranges are xed, they remain sub-optimal throughout the optimisation process. Dening narrow ranges leads to more accuracy but increased combinatorial complexity. Leaving ranges wider entails a sampling inaccuracy as the actually sampled value may be far from the value whose success the ranges usage probability is attributable to. Ideally, the ranges should be optimised by the parameter control process. With the goal of handling parameter value ranges eciently, we investigate the use of adaptive value ranges which dynamically change during the optimisation process. The proposed parameter value selection strategy is described in Chapter 7 and is validated in Section 7.3. In essence, the goal of this thesis is to build an ecient optimisation framework which eliminates the requirement of tuning the parameters to a specic problem and that nds better solutions than state-of-the-art optimisation frameworks. Eciency in this case refers to the following attributes for the optimisation approach:

1. Achieves good solutions with respect to the objectives being optimised compared to state-of-the-art parameter control methods. 9

2. Requires minimal eort in conguring the optimisation algorithm. 3. Is robust with respect to dierent problems being optimised: i.e. the performance of the algorithm is independent of the problem and problem instance. With these goals in mind, the contributions of this thesis are empirically validated by using a case study from the automotive domain and a set of experiments designed to compare the proposed strategies with state-of-the-art parameter control approaches. The case study and the application of the adaptive parameter control for Evolutionary Algorithms are described in Chapter 8. The methodology used in this thesis is described in Chapter 3. The results and the analysis of the experiment on a set of benchmark optimisation problems are presented in each chapter. The conclusions of this work are presented in Chapter 9. A further discussion on the overall approach and possible ideas and directions about the future work are presented in Chapter 10.

10

Chapter 2 Background
2.1 Introduction

This chapter presents a general background on Evolutionary Algorithms (EA), the dierent parameters and methods for conguring EA parameters. First, we give a brief introduction to singleobjective and multiobjective optimisation, followed by a more in-depth description of how optimisation is performed in dierent classes of Evolutionary Algorithms (Genetic Algorithm, Evolution Strategies, Genetic Programming, Evolutionary Programming) and the strategy parameters that are used in each of the dierent algorithm classes. Next, we present a review of state-of-the-art methods in conguring parameters of Evolutionary Algorithm, which are categorised as parameter tuning and parameter control. We analyse conicting views in the matter of parameter tuning and parameter control and dene the scope of the work presented in this thesis. Finally, we describe how various EA parameters have been congured using the three parameter control techniques - deterministic, self-adaptive and adaptive parameter control.

11

2.2

Optimisation

The goal of optimisation is to nd the optimal solution(s) s among a set of solutions S = {s1 , s2 , ..., sn }, according to the objective function f (s), which describes the quality of each solution in S . The objective function f : S Y with Y R is a mathematical function, or algorithm for which an optimal value is sought. The domain S is the Cartesian product of domains of possible variables and the range Y of the objective function is a subset of the real numbers R. S is the problem space, also called the search space, and Y is the objective space, or tness space. In many real world applications, the optimisation problem has more than one objective to optimise, and often these objectives are conicting with each other. Multiobjective optimisation deals with conicting objectives by optimising them simultaneously. Formally, a multiobjective optimisation problem is described as follows:

Optimise : F (s) = [f1 (s), f2 (s), ..., fo (s)]

(2.1)

where s is a solution to be evaluated, fi for i = 1, 2, ...o are functions quantifying the quality of the candidate with respect to o objectives (being optimised). Often, there is a set of conditions that the candidate solutions must satisfy, which are dened as constraints. A multiobjective optimisation problem that satises a set of constraints is dened as follows: Optimise : F (s) = [f1 (s), f2 (s), ..., fo (s)] such that : i (s) = 0, j (s) 0 i = 1, 2, ..., m, j = 1, 2, ..., g where i and j are the equality and inequality constraints that have to be satised in order for the solution to be feasible. 12 (2.2)

The objective functions are often in conict with each other and solutions which are optimal according to all objectives may not exist. The optimal result is a group of solutions which represent dierent combinations of trade-o between the objectives, dened by dominance relations [195]. One solution s dominates another solution s if the values of all objective functions at s are not worse than those at s, denoted as fj (s) fj (s ), or the value of at least one objective function at s is better than the value of the same objective function at variable s, represented as fi (s) fi (s ). The set of optimal solutions is called Pareto-optimal after work by Pareto [148], dened as follows: Denition 1 Pareto optimal solution: A variable s is Pareto-optimal if there exist no other s such that fi (s) fi (s ) for all i = 1, ..., o and fj (s) fj (s ) for at least one j . In other words, if there exists no other feasible variable s which would be superior in at least one objective while being no worse in all other objectives of s , then s is said to be Pareto optimal and dominate solution s. The Pareto-optimal sets of multiobjective problem instances are most often unknown. Multiobjective optimisation approaches usually attempt to approximate the Pareto set and report nondominated sets, i.e. the set of solutions which are not dominated among the result solutions found by the algorithm.

13

2.3

Evolutionary Algorithms

Evolutionary Algorithms (EAs) [81] are nature-inspired optimisation methods that are often used for solving NP-hard optimisation problems. They can be dened as a set of steps for quickly identifying results of high-quality in a limited amount of time. EAs are usually used in cases where exact methods are not applicable, and are associated with problems for which an optimal solution cannot be computed by an exact algorithm. EAs maintain a population of solutions that evolve by means of the genetic operators: the variation procedure (V ), which is composed of the mutation operator (m ) and the crossover operator ( c), the selection procedure (S ), and the replacement procedure (R), which may also be referred to as survivor selection procedure [49]. The objective is to search the solution space in order to optimise the quality functions F : S R. The main steps of a traditional Evolutionary Algorithm are given in Algorithm 1. The optimisation process starts with a set of solutions (S0 ) as initial population, which can be randomly generated, created by applying heuristic rules (e.g. greedy algorithm), or provided by an expert. After the initialisation, EA evolves the population using crossover, mutation and selection operators. The crossover and mutation operators are applied according to predened crossover and mutation rates ( cr , m r) respectively. These operators are applied to specic solutions, which are selected according to the selection procedures (S ). The new individuals (ospring) created by the genetic operators are added to the population. The number of ospring generated every iteration t is denoted as . The replacement procedure R selects the solutions that will survive in the next generation and removes as many individuals as required to maintain the prescribed population size . 14

Algorithm 1 Evolutionary Algorithm


1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:

procedure EA(F , , , R , V , S , m ,m r, c , c r , stoppingCriteria) S0 Random() t=0 while stoppingCriteria = true do for i 1, do Evaluate(F, si ) end for St (parents) = S (St ) St+1 = V (St (parents), , m, m r, c , c r ) St+1 = R(St+1 ) t=t+1 end while Return(S ) end procedure Traditional EAs can be classied into four main categories: Genetic Algorithms

(GAs) which are usually used for discrete problems, Genetic Programming (GP), which is used for executable expressions, Evolution Strategies (ES), which were devised to optimise the design and analysis of experiments in exible systems and are used for continuous problems, and Evolutionary Programming (EP), which was conceived as a model to represent adaptive processes. Implementation of Evolutionary Algorithms can be found, that do not belong to any of the above categories, which may have a problem-specic representation and problem-specic operators. All EA variations use the same principles of the evolutionary process but are adapted with dierent strategies. They are dierent in the way the solutions are encoded, the type of selection and recombination procedure and the number of population (parent, ospring). However, all four of them use the same framework of rst generating a random initial population which is changed over time by means of genetic operators (variation, selection and replacement procedures). The genetic operators and other parameters of EAs are congured in a way that they ensure the exploration and exploitation of the search space, aecting the performance of the EA. 15

2.3.1

Genetic Algorithm

Genetic Algorithms were rst devised by Bremermann [24], and later on extended by Holland [81]. They were initially developed to model and investigate organic evolution and adaptation capabilities, but they received more attention in the eld of optimisation. In general, Genetic Algorithms are well-studied and well-understood. There is a large body of literature in the GA community regarding the role and the eects of the population size [190, 47, 115], various crossover operators and rates [181, 15, 123], and mutation operators and rates [15, 123]. In Genetic Algorithms, the solutions are represented as genomes, which are encoded using an alphabet with low cardinality, e.g. binary representation, or high cardinality, e.g. integer [22] or oating point [89] representation. Goldberg [66] argues that higher order representations perform better than lower order ones. Janikow and Michalwicz [89] performed an experimental comparison of the binary and oating point representations. The results of the experiments showed that the oating point representation is faster, and gives better results than the binary representation. Furthermore, Davis [38] points out that problem parameters are usually numeric values, hence it makes more sense to represent them as numbers (integer or oating point) rather than binary strings. The objective function determines the quality of the solution. Initially, the population is created by randomly generating solutions, which are then varied by using the crossover and mutation operators to create ospring. The rst Genetic Algorithms used a single-point crossover operator, which cuts two solutions at a randomly chosen position, and exchanges the two parts of the parents, creating two ospring. Later versions of GAs include many other crossover operators, which often have more than one crossover point. De Jong [39] analysed dierent crossover 16

operators, concluding that 2-point crossover operator is the most eective one, and that increasing this number of crossover-points reduces the performance of the algorithm. A high number of crossover points may help in better exploration of the search space, however, it can disrupt the blocks with high quality in the parents. The mutation operator is normally used with a lower rate compared to the crossover operator, which makes the recombination (i.e. the crossover of the solutions) the primary source of variation in the population. The mutation operator randomly changes the value of one or more elements of the genome. For instance, in single-point mutation, only one bit is randomly changed with a given probability. The mutation operator introduces new information into the population and is considered a random variation. Nevertheless, it is the crossover operator that is considered as the main factor for a thorough search of the possible solutions. The selection procedure chooses the solutions (or parents) that undergo variation. For example, in binary tournament selection, two solutions are picked at random as contestants in tournaments and the solution with the highest quality is changed by using the mutation operator. The replacement procedure selects the solutions that survive to the next generation. It can be performed by rst ranking the solutions and selecting the best ones, or by a tness proportionate selection, which gives each solution a chance proportional to their tness.

2.3.2

Evolution Strategies

Evolution Strategies (ESs) [155, 154] were initially devised to optimise the design and analysis of experiments in exible systems. The ES used for this purpose was composed of two simple steps: (i) random variation of the controlled variables, and (ii) if the quality of the system becomes better, the changes were accepted, otherwise the system returned to the previous state. This algorithm was later called (1+1)-ES, 17

since it has only one parent ( = 1) and one ospring ( = 1). Interestingly, this Evolution Strategy with two members was probably the rst example of parameter control, in which the mutation operator is adapted using the 1/5 success rule [155]. The 1/5 rule is formulated as follows: The ratio of successful mutations to all mutations should be 1/5. For greater ratios increase the mutation points; for smaller ratios decrease the mutation points. Rechenberg [154] added the notion of population into Evolution Strategies, by developing the ( + )-ES, in which the population size is greater than one and more than one ospring is produced every iteration. Both parents and ospring are used in the replacement procedure, in which the best of + solutions survive to the next generation. The ( + )-ES is not a widely used optimisation strategy, however, it inspired Schwefel [166] to further enhance it by introducing the (, )-ES. The only dierence from the previous one is that only the ospring () are used in the replacement procedure, in which the best of survive to the next generation. The general representation of Evolution Strategies can be dened as (, , )-ES, where is a parameter which determines the maximum number of generations that an individual can survive. In the case of (, )-ES, = 1, whereas for ( + )-ES, is unlimited. Similar to Genetic Algorithms, Evolution Strategies represent solutions with a linear data structure. ESs are usually used for numerical optimisation problems, hence the solutions are represented as real-valued vectors. Genetic Algorithms, on the other hand, are mostly used for discrete optimisation problems. Evolution Strategies are based on the principle of strong causality, which states that small variations in the solution provoke only small variations in its tness. Unlike Genetic Algorithms, in Evolution Strategies only the mutation operator is used. Beyer and Schwefel [19] present a comprehensive introduction to Evolution Strategies. One of the notable ES is the Matrix Adaptation-ES [74], which uses a 18

parameter control mechanism to adapt the mutation step-size, shape and direction.

2.3.3

Genetic Programming

The main dierence between Genetic Programming (GP) and the previously discussed Evolutionary Algorithms is the representation of solutions, in which each individual encodes an executable program. Traditionally the genotype is a tree structure, which can be evaluated in a recursive manner. The leaves of the tree represent the operands, whereas the other nodes represent the operators. Due to its applicability with programming languages that are represented as trees, GP is usually used to optimise programs written in Lisp and other functional programming languages. The variation occurs by means of crossover and mutation operators similar to GAs.

2.3.4

Evolutionary Programming

Evolutionary Programming (EP) did not start as an optimisation strategy. It was initially conceived as a model to represent adaptive processes, such as nite state automata for machine learning problems [60]. More recently, it was used as an optimisation algorithm after being adapted by Fogel [59]. Despite being developed independently from each other, some researchers argue that Evolutionary Programming is based on Genetic Algorithms and Evolution Strategies, and often consider it as a special case of ES. Evolutionary Programming does not use a crossover operator.

19

2.4

Methods for Conguring Parameters of Evolutionary Algorithms

Following the classication introduced by Eiben et al. [45] methods for conguring parameters in Evolutionary Algorithms (EAs) fall into one of two main categories: parameter tuning and parameter control. Methods that t in the rst category nd the near-optimal parameter conguration prior to the optimisation process, whereas the second category contains methods that start the optimisation process with a suboptimal parameter conguration and adapt (optimise) their values during the search process.

2.4.1

Parameter Tuning

In optimisation, approximate methods such as EAs are often used because of a lack of knowledge about the tness landscapes of the problem at hand. However, successful applications are dependent on the usage of suitable parameter values. For previously unknown solutions, only general guidelines regarding the parameter settings are usually available [42]. As a consequence, practitioners tend to choose parameter values based on few trials in which various parameter settings are explored in an attempt to ne-tune an EA to a particular problem. As the number of training instances is usually limited, parameter quality estimates can be orders of magnitude too optimistic, which may lead to strongly impaired performance. In more rigorous approaches, ANOVA or Design of Experiments have been used for parameter tuning [20, 192, 17, 144]. This can lead to a combinatorial explosion of parameter value combinations and requires extensive computation. For instance, the tuning of 5 parameters which can take 4 dierent values requires 45 = 1024 dierent experimental designs. Considering the stochastic nature of the optimisation 20

algorithms, each experimental design has to be run more than once to get more reliable results. A dierent method which requires less computations is the use of a racing technique proposed by Yuan and Gallagher [192] and Birattari et al. [20]. A conspicuous example of this technique is the F-Race algorithm [20]. F-Race uses a statistical test to discard poorly performing parameter values from the tuning process. First the parameter values are discretised into dierent ranges. At the beginning parameter values are sampled from all ranges. The method uses Friedman two-way analysis of variance by ranks test to discard ranges that perform signicantly worse than the best range. Despite being computationally less expensive than using ANOVA or Design of Experiments, F-Race still requires a large number of runs. This is due to the initial runs that have to be performed for each initial parameter conguration before starting the discarding technique. To solve this problem, Balaprakash et al. [16] proposed an improvement of the FRace technique by sampling from the whole set of congurations instead of individual parameter ranges. If available, a-priori knowledge about the search space can be incorporated into the tuning technique. This method is called Random Sampling Design F-Race (RSD/F-Race). By discretising the parameter values into ranges, the possible number of parameter range combinations becomes less than the possible number of parameter value combinations. Nevertheless, a large number of runs is required to assess all of them, since stochastic algorithms, and especially EAs have many parameters which have to be tuned. Another problem is the decision regarding the number of ranges. If parameter values are discretised into narrow ranges, the number of possible congurations increases, increasing the combinatorial complexity of the search. Dening wider ranges reduces the number of experimental runs, but reduces the sampling accuracy. Since exploring EA parameters is generally very time consuming and computa21

tionally expensive, De Jong [42] suggested that these parameter explorations should be carried out in a more general oine setting. The goal is to nd EA parameter congurations that are optimal for a class of problems, and then use these congurations in practice whenever such a problem arises [42]. The author focused mainly in Genetic Algorithms with single-point crossover and bit mutation as genetic operators. Using a set of test functions, well performing parameter values were experimentally determined as follows:

\ population size: 50 \ crossover rate: 0.6 \ mutation rate: 0.001 \ selection strategy: elitism
However, these parameter values may not have the same performance with other problems which are dierent from the test functions used by De Jong. Grefenstette [70] studied the same algorithm parameters as De Jong, in two dierent experimental settings for the evaluation of the best parameter congurations: the oine performance of the algorithms, which reports the best parameter setting, and the online performance which considers the average performance of the system over the iterations. For the same class of problems as the ones used by De Jong [42], the following parameter settings produced the best performance:

\ population size: 30 (online), 80 (oine) \ crossover rate: 0.95 (online), 0.45 (oine) \ mutation rate of 0.01(online), 0.01 (oine) \ selection strategy: elitism (online), pure replacement (oine)
Both De Jong [42] and Grefenstette [70] attempted, with conicting results, to nd the optimal parameter settings that would suit a wide range of optimisation 22

problems. The task to build a database of well performing parameter values for every possible problem or problem class would require an enormous eort and amount of time, and it might not even be possible. Some other common parameter settings for the crossover rate, which were obtained by using a Genetic Algorithm are as follows: c r = 0.6 [39], c r = 0.95 [69], c r [0.75, 0.95] [160]. Clearly, recommended values in the literature for the crossover rate and other parameter values vary from each other. This may confuse practitioners when they have to choose an appropriate value for their problem. One common agreement on the crossover rate is that its values should not be too low, and values which are below 0.6 are not used very often. An insightful survey and classication of tuning methods is presented by Eiben and Smit [49]. Parameter tuning methods are categorized into sampling methods [141, 63], iterative sampling methods [141, 1], model-based methods [51, 92], iterative model-based methods [35, 17], screening methods [164, 156, 80, 98], iterative screening methods [16], meta Evolutionary Algorithms [131, 69], enhanced meta Evolutionary Algorithms [144, 143, 172] and multiobjective meta Evolutionary Algorithms [173]. Parameter tuning is important when comparing dierent optimisation algorithms. However, one aspect that is not considered by parameter tuning approaches is the fact that the optimisation process evolves in a dynamic way from a more diuse global search, which requires parameter values suited for the exploration of the tness landscape, to a more focused local optimisation process, which requires parameter values which help with the convergence of the algorithm. Hence, dierent algorithm congurations are optimal at dierent search-stages, a fact that has been demonstrated in an empirical and theoretical way by many researchers [9, 179, 174, 77]. 23

In summary, parameter tuning has been criticised as inadequate for the following reasons:

\ Parameters are not independent and must be explored systematically in combination. This is practically impossible due to the large number of combinations.

\ Parameter tuning is time-consuming. \ It has been demonstrated that dierent values of parameters can be optimal at
dierent stages of the search [9, 179, 174, 77] As a result, instead of tuning the parameters before the run of the optimisation algorithm, methods for controlling them during the run were devised, referred to as parameter control.

2.4.2

Parameter Control

Parameter control addresses the requirement of nding optimal parameter congurations as the search proceeds. More specically, it describes a process where trials start with initially suboptimal parameter values which are improved during the run-time of the algorithm. Formally, given a set {1 , ..., n } of n algorithm parameters, where each parameter i has {i1 , ..., im } values that can be discrete numbers or intervals of continuous numbers, parameter control has the task of deriving the optimal next value ij to optimise the inuence of i on the performance of the algorithm. As an example, when the mutation rate 1 is dynamically adjusted by considering 4 intervals (m = 4), 12 stands for a mutation rate sampled from the second interval. In the discrete case of optimising the type of mutation operator 2 , 22 stands for the second operator. Dierent parameter control methods exist in the literature, which have been reviewed and classied in dierent ways [45, 174, 6, 37, 183, 174]. Following the classication proposed by Eiben et al. [45], parameter control methods can be grouped 24

into three categories: deterministic parameter control, self-adaptive parameter control and adaptive parameter control.

Deterministic parameter control The parameter values are changed according to deterministic rules which are set a priori in a fashion similar to those used in simulating annealing. Usually the rules are based on time, i.e. a new rule is used every predetermined number of iterations, and no feedback from the search is used. One example is decreasing the mutation rate every w iterations, which was introduced by Fogarty [57]. The author observed a considerable improvement in the performance of the algorithm when compared to static settings. This improvement was achieved for an initial population where all the solutions were composed of zero bits. Similarly, Davis [38] advocates the use of a time-varying schedule for operator rates. Hesser and M anner [77] theoretically calculated an optimal schedule for changing the mutation rate, which is as follows:
t ) exp( 2 L

m r =

(2.3)

where , and are constants, is the population size and t is the iteration number or time-step. This deterministic schedule increases the mutation rate exponentially in proportion to the time-step. In other words, the mutation rate has a small value at the beginning of the optimisation process and increases over time. Instead of using time, B ack [11] presents a deterministic parameter control method which decreases the mutation rate using the distance to the optimal solution. The mutation rate is calculated as follows: 1 2(f (s) f (s )) L 25

m r

(2.4)

where f (s) is the tness of the current best solution, and f (s ) is the tness of the optimal solution. B ack and Schuetz [15] improved this deterministic parameter control method by setting a minimum mutation rate value equal to
1 L

if a maximum number of

evaluations is achieved. This schedule starts with a mutation rate equal to 0.5. Deterministic parameter control is dicult to accomplish since it is not obvious how to predict the number of iterations the EA will take to converge, and set a parameter control schedule accordingly. Deterministic parameter control faces similar diculties as parameter tuning, as the parameter adaptation mechanism has to be dened a priori and does not take any notion of the actual progress of the search. One might argue that predening intervals in the optimisation process and preassigning dierent parameter settings to each interval is likely to lead to suboptimal values for some problems or instances. For example, parameter reassignment intervals will ideally be shorter when optimising smaller problems, as the search progress will be faster when the problem complexity is lower.

Self-adaptive parameter control In self-adaptive approaches [11, 53, 40, 104, 12], the parameters to be adapted are encoded in the individuals and evolved simultaneously with the traits of the solution to the problems. Individuals that have a high tness will survive and propagate these successful parameter values which are assumed to be the reason for the good performance. An insightful review of self-adaptive methods is provided by B ack [12]. Self-adaptive parameter control is acknowledged as one of the most eective approaches to adapting the parameters of EAs, especially when performing continuous parameter optimisation [43]. They were rst applied to Evolution Strategies, which are the algorithms that commonly use self-adaptation. The investigation of the relationship between the number of crossover positions in a chromosome pair 26

and the population [158] is one of the earliest approaches in this area. The study shows that increasing the number of crossover points increases the scope of the exploration of the search space. Furthermore, the importance of the adaptation of the relationship between the population and the selection pressure is stressed, and recommendations regarding the self-adaptation of the crossover rates are provided. Another self-adaptive parameter control applied to Evolution Strategies is the adaptation of the mutation step size by Rechenberg [154]. Two exemplary self-adaptive approaches in Evolution Strategies are the Covariance Matrix Self-adaptation Evolution Strategy (CMSA-ES) by Kramer [103] and Covariance Matrix Adaptation Evolution Strategy (CMA-ES) by Hansen and Ostermeier [74]. Both methods are based on the covariance computation of the dierences in tness of the best solution and the parent solution. A notable self-adaptive parameter control method for Genetic Algorithms is the work of B ack [11], in which the operator rates were adapted. This work was extended to include the population size [13] which was adjusted with an adaptive parameter control method. The self-adaptive method controls the mutation rate between 0.001 and 0.25, which is encoded in the genotype of each solution. The adaptation process starts with random values for the mutation rate of each individual within the predened range [0.001,0.25]. At every iteration, rst the bits that encode the mutation rate are mutated. Next, the new value of the mutation rate is employed to change the bits that encode the solutions. B ack et al. [13] adjusted the crossover rate in the range [0.0,1.0], by encoding the values at the end of the solutions representation, similar to the mutation rate. Initially, all crossover rates were initialised by generating random numbers in the range [0.0,1.0]. Tournament selection was employed to select the parent solutions to use in the variation procedure. A random number r was generated, which was compared with the solutions crossover rate. If r was lower than the crossover rate, 27

then the parent solution was selected for the crossover procedure, otherwise it was uniformly mutated. In essence, the study showed that the algorithm with dynamic parameter values performed better than static ones. However, the authors hypothesise that the main reason of the out-performance is the adaptation of the population size [13]. The adaptation of the mutation rate in a steady state Genetic Algorithm was introduced by Smith and Fogarty [174], in which the authors demonstrate that using a self-adaptive method outperforms xed mutation rates suggested by other authors. Since self-adaptive methods encode parameter values into the solution representation, they are generally used to adjust parameters that are applied to individual solutions, i.e. local parameters, such as mutation operator, or crossover operator. Their use for adapting global parameters, i.e. parameters that aect the whole population of solutions, such as population size, and selection procedure, is limited. One of the few approaches that employs a self-adaptive strategy to control a parameter that aects the whole population is the work presented by Eiben and Schut [48]. They investigate the self-adaptation of the selection procedure, in which the tournament size K is decomposed into local parameters that are self-adapted and employed to establish the global parameter K . The Self-Adaptive Genetic Algorithm (SAGA) presented by Hinterding et al. [78] is similar to the approach of Eiben and Schut [48] in terms of controlling local (individual-level) and global (population-level) parameters by combining selfadaptive and adaptive parameter control. The mutation rate, i.e. the local parameter, was encoded in each gene. Gaussian noise with a standard deviation equal to 0.013 was applied to change the mutation rate, which was used to mutate the rest of the genome in which it was encoded. Similar to the approach presented by Eiben and Schut [48], Hinterding et al. [78] introduced an adaptive method to adjust the population size. Three dierent pop28

ulation sizes were maintained during the optimisation process, with initial values of 50,100, and 150. During the adaptation process, the population size was varied in the range [10,1000], based on two main rules. If the tnesses of two populations became equal, the size of one of the populations was decreased and the size of the other population was increased. This rule is based on the assumption that the sizes of the populations are too similar if the tnesses converge. The second rule considers the case when the tnesses are very dierent, in which the population with the best tness was used to adjust the sizes of the other two populations. Nadi and Khader [142] propose a dierent approach called parameterless GA, which also belongs to the class of self-adaptive parameter control methods. A vector of probabilities is kept for each solution, where each probability represents the occurrence of the respective element on that solution. The probability of each element changes according to the eect of that element on the quality of that solution. Instead of encoding the parameter values into the solution, Weinberg [187] and Mercer and Samson [131] use a meta-EA, where a second EA optimises the parameters of the EA used to optimise the original problem. The meta-EA approach was also used by Fogel et al. [58] to adapt the mutation rate in Evolutionary Programming (EP). The proposed approach was robust and outperformed static parameter settings. However, the parameter values of the meta-EA are still subject to optimisation. In brief, self-adaptive parameter control methods alleviate the use of stochastic optimisation algorithms by reducing or eliminating the number of parameters that are required to be set by practitioners. However, one inherent problem faced in self-adaptive parameter control methods is that they increase the size of the search space and the complexity of the optimisation problem, since the EA has to nd parameter values which facilitate the eective transmission of the genome information in addition to searching for good solutions to the problem. Another drawback 29

of self-adaptive control in EAs is the relative slowness of adaptation [45]. It takes time before the optimal value is found [45]. Rudolph [159] explored the theoretical underpinnings of the self-adaptation of the mutation distribution nding that this method gets caught by non-global optima with positive probability even under an innite time horizon.

Adaptive parameter control Adaptive parameter control describes the application of separate meta-optimisation methods which collect feedback from the optimisation process to evaluate the eect of parameter value choices and adjust the parameter values over the iterations. The feedback collection mechanism usually involves reporting the result quality. Generally, adaptive parameter control methods keep a vector of probabilities for each parameter value ij , denoted as P = {p(11 ), p(12 ), ..., p(1m1 ), ..., p(nmn )}, which represents the selection probability for each parameter value, and a vector of the estimate of the overall quality of parameter values, denoted as Q = {q (11 ), q (12 ), ..., q (1m1 ), ..., q (nmn )}. Whenever a parameter value is used, its current quality estimate q (ij ) is updated. At each time step, the j th value of the ith parameter is selected with probability p(ij ). Its eect on the performance of the algorithm is denoted as e(ij ). The vector of all parameter eects is equal to E = {e(11 ), e(12 ), ..., e(1m1 ), ..., e(nmn )}. The main goal of adaptive parameter control strategies is to adapt the vector of probabilities P such that the expected value of the cumulative eect E [E ] = is maximised. The eld of adaptive parameter control has been researched widely [74, 56, 181]. An insightful overview and classication of dierent parameter control methods is given by Eiben et al. [45]. An empirical analysis of adaptive parameter control methods is presented by Fialho et al. [56]. 30
n i=1

e(ij )

One of the earliest works in this area is the adaptive technique by Davis [38, 37] which rewards the crossover rates that create better solutions. More specically, the eect of the parameter values on the performance of the algorithm is estimated as the tness dierence between a created solution and its parent(s). As a result, well performing parameter values are more likely to be selected in the next iteration. Giger, Keller and Ermanni [65] use the best tness frequency as a feedback collection mechanism to approximate the eect of parameter values on the performance of the algorithm. The solutions are initially divided into classes according to their tness value. Each class contains solutions with tness values between [fmin , fmin + ], where is the range size of the tness class. The tness classes are employed to

compute the best tness frequency (bf f ). Every iteration t the bf ft (si ) for each solution si is calculated as follows: 1 if |f (si ) fbest | fbest 0 otherwise

bf ft (si ) =

where f (si ) is the tness of a solution si , fbest is the tness of the best solution in the population and is the width of the tness class in which solution si belongs. The

total bf ft of the current population is calculated as the average of the best tness values of all solutions, given by Equation 2.5.

1 bf ft = N

bf ft (si )
i

(2.5)

A low value of the bf f measure indicates that the tness of the solutions are very similar. This may mean that the search has stagnated into a local or global optimum, or that the tness space is at. On the other hand, a high bf f value indicates that the tness landscape is characterised with steep uni-modal or multimodal peak(s), in which it is very likely to improve the quality of the solutions 31

as the search progresses. The best tness frequency is employed to calculate the adaptation rate for parameter values as follows: max (bf f th) if bf f th th max (bf f th) th otherwise

where max and the threshold value th control the proportion between exploration and exploitation of parameter values. A rank proportional mutation is introduced in the study of Sewell et al. [167] and an extension of this work was proposed by Cervantes and Stephens [29]. The algorithm [29] uses equal value intervals for the mutation rate to sample from in the range [m r (min), m r (max)]. Next, the population is ranked according to the tness function, and the mutation rate is selected according to these ranks, as shown in Equation 2.6. The better the solution is, the lower the rank.

m r (s) = m r (min) + (m r (max) m r (min))

rank (s) 1 1

(2.6)

where m r (s) is the mutation rate applied to solution s, rank (s) is the rank of solution s and is the size of the population. The worse an individuals rank is, the higher is the eects on future values of the mutation rate used to produce that individual. As a result, the genes of low-tness individuals have a lower probability of being propagated to the next iteration, since they become more likely to mutate as their viability decreases. A similar approach is taken by Srinivas and Patnaik [177], who calculate the eect of the variation operators (mutation rate and crossover rate) based on the maximum tness fmax and the average tness f of the population. The crossover rate c r and mutation rate m r are computed as follows: 32

c r =

k2 (fmax f (sm k1 (fmax f (sc r )) r )) , m r = fmax f fmax f

(2.7)

where k1 and k2 are two constants selected in the range [0.0, 1.0] and f (sc r ) f (sm r ) are the tness gain of solutions created by applying cr and mr compared to their parents. The operator rates calculated by Equation 5.5 are inversely proportional to the dierence between the maximum tness and the average tness of the population. The operator rates are increased if the dierence between the maximum tness in the population and the tness of the solution created by applying the operator rate (fmax f ) is low, i.e. lower values of operator rates are applied to high tness solutions, and higher values of operator rates are used to change low tness solutions. A low dierence means that the tnesses of the solutions are too similar, hence the operator rates are increased to introduce more diversity in the population. Other approaches adapt multiple parameters simultaneously [94, 112, 5]. Julstrom [94] controls the mutation and crossover rates, by adapting the ratio between them based on the relative performance. Crossover and mutation operators are used individually to create dierent solutions, and the reward is given to each of them according to the tness dierence between the created solution and their parent(s). Similarly, Lis and Lis [112] control three dierent parameters simultaneously: mutation rate, crossover rate and population size. Each of the parameters could have three possible values, which were applied to parallel algorithm instances. The populations of the parallel instances were compared with each other after a certain number of iterations. The parameter values that created the population with the best tness were used more frequently in the next iterations. A self-adaptive mutation rate a self-adaptive crossover rate, and an adaptive pop33

ulation size were investigated by B ack et al. [13]. The study showed that adapting the population size signicantly improves the performance of the algorithm. The authors argue that the population size should not be constant during the optimisation process. Usually, adaptive parameter control methods [112, 94, 177, 38, 37] use the tness improvement as an indication of the eect of parameter values on the performance of the algorithm. Compass [125] uses also a diversity measure to reward parameter values. Diversity refers to the Hamming distance in the genotype of the solutions, which computes the number of genes in which the corresponding values are dierent. The overall proposed feedback collection strategy uses the weighted sum of the tness improvement and the diversity of the ospring. Compass calculates a vector o t (sij ) = (dt (sij ), ft (sij )) for every parameter, where dt (sij ) is the diversity change in solution s caused by parameter value ij at iteration t, and ft (sij ) is the tness change. Compass selects a vector c

], which represents the desired balance that has an angle dened in the interval [0, 2 between tness and diversity. If has a value closer to zero, more importance is given to the diversity of the solutions, hence favouring exploration, whereas if has a value closer to
2

the exploitation of good solutions becomes more important.


Figure 2.1 depicts an example of Compass, in which o t (si1 ) and o t (si2 ) represent the performance of the algorithm when parameter values i1 and i2 are applied. Vector c represents the desired trade-o between diversity and tness, which determines the parameter value for the next iteration. Parameter has to be specied by the user, who has to know how to dene the compromise between obtaining good results and maintaining the diversity of the solutions. The problem is that nding the appropriate value for requires insight into the given problem instance, and therefore it may not be practicable. Compass was further improved into a dierent method by Maturana et al. [124], using Pareto 34

f o t (si1 ) d c o t (si2 )

Figure 2.1: Compass. dominance [148], which enables a trade-o between the tness and diversity of the solutions and does not require the use of . A dierent diversity measure is introduced by Giger et al. [65], which estimates the distribution of the solutions in the search space, calculated as the Euclidean distance of a solution sij to the best solution so far sbest , given in Equation 2.8.
g

euct (sij ) =
r=1

sij (r)

(2.8)

where t is the current time-step (iteration), g is the number of genes of the genotype and sij (r) represents the rth gene in solution sij . The authors suggest the use of weighting factor w for each gene as follows:
g

eucw t (sij )

=
r=1

wr sij (r)

(2.9)

The diversity measure for parameter value ij at iteration t is as follows: 0

dt (sij ) =

where euct (max) is the maximum euclidean distance between the best solution and all solutions. In essence, a balance between the best tness frequency and the 35

(1 + euct (sij )/euct (max))1

if f (sij ) f (sbest ) otherwise

diversity of the solutions is sought. Most of the adaptive parameter control methods found in the literature [33, 37, 82, 84, 94, 114, 163, 183, 65] belong to the class of probability matching techniques, which update the probability vector P such that the probability of applying parameter value ij is proportional to the quality of that parameter value, i.e. the proportion of the estimated quality q (ij ) to the sum of all quality estimates
n s=1

q (is ).

For instance, Corne et al. [33] introduce an adaptive method to control mutation rate in an Evolution Strategy application, in which the selection probability for each parameter value is proportional to their usage frequency and the tness distance correlation of the solutions created by employing that parameter value. Igel and Kreutz [84] use only the tness gain of the created solution (f (sij )) with respect to the tness its parent (f (s)) or the tness of the best solution so far (f (sbest )) - as an indication of the quality of a parameter value q (ij ). The selection probability for each parameter value at time step t is calculated as follows:

pt (ij ) =

m r =1 qt (ir )

t1 r=t

where m is the number of possible values for parameter i , is the time window considered to approximate the quality of a parameter value and w (0, 1] is the weight given to each parameter value. For w equal to 1 and equal to 1 the algorithm is similar to the one proposed by Hong, Wan and Chen [82]. Igel and Kreutz [84] introduce a minimum selection probability pmin for each parameter value, to ensure that under-performing parameter values do not disappear during the optimisation, since they may be benecial in the later stages of the search. The selection probability for each parameter value is calculated using Equation 2.10. 36

w + (1 w)pt1 (ij ) m

qr (ij ) + (1 w)pt1 (ij ) if

m r=1

q (is ) > 0

otherwise

pt (ij ) = pmin + (1 mpmin )

pt (ij ) m r=1 pt (ir )

(2.10)

Dividing the selection probability by the sum of selection probabilities of all possible parameter values normalises the values in the interval [0,1]. Probability matching techniques [33, 37, 82, 84, 94, 114, 163, 183, 65] have been criticised for the fact that the probability values resulting from the reward allocations poorly reect the relative dierences in algorithm performance. Values with vastly superior performance may only be dierentiated by a marginal increase of the probability of being chosen in the next step. Adaptive Pursuit (AP) [181] is a dierent parameter control strategy, which rewards the best performing parameter values j by increasing their selection probability by pmax as shown in Equation 2.11. pt1 (ij ) + (pmax pt1 (ij )) pt (ij ) = p ( ) + (p p ( ))
t1 ij min t1 ij

if j = j otherwise

(2.11)

where pmax = 1 (m 1)pmin and m is the number of parameter values. The Adaptive Pursuit parameter control is a greedier strategy compared to Probability Matching. Increasing the selection probabilities of the best parameter values ensures an appropriate dierence in probabilities depending on experienced performance. Even though every parameter value is selected from time to time, in practice the Adaptive Pursuit algorithm would have to wait for a number of iterations before realising that some new parameter value has become the best one. To address this problem, the Dynamic Multi-Armed Bandit (DMAB) [56] was introduced, which completely recalculates the probabilities when a change in the eects distribution is detected by using a change detection test, in this case the statistical Page-Hinkley (PH) test. The PH test checks whether the quality of the parameter values has 37

changed. When a change is detected, the algorithm is restarted. As a result, DMAB can quickly identify the new best parameter value without being slowed down by old information.

38

2.5

Parameters to Congure

The rst decision made by an EA expert that aects the performance of the algorithm is the problem representation, which is a distinguishing feature not only between dierent problems, but also between dierent classes of Evolutionary Algorithms. The main dierence lies in the data structures used to represent the solutions. For example, Genetic Algorithms (GA) have a linear data structure with a xed length over time. In Evolution Strategies (ES), the data structure does not have to be xed over time. In Evolutionary Programming (EP) and Genetic Programming (GP) the data structures are in the form of nite state machines and parse trees, which are not linear and change their size and shape over time. The choice of the representation of the problem clearly aects the performance of the algorithm [43]. This parameter is not easy to dynamically congure during the run of the algorithm [43]. Delta Coding Algorithm [122] and Adaptive Representation Genetic Optimizer Technique (ARGOT) [168] are two of the few attempts to adapt the representation of the problem online, by modifying the encoding of the function parameters. The motivation behind the Delta Coding Algorithm is to ensure the trade-o between the tness and the diversity of the solutions, whereas ARGOT adapts the representation based only on the tness of the solutions. Once the choice regarding the representation of the problem has been made, a number of dierent algorithm parameters have to be adjusted, such as:

\ Population size (). \ Ospring number (). \ Selection procedure (S ). \ Replacement procedure (R). \ Variation procedure (V ):
39

] Mutation operator (m ), ] Mutation rate (m r ), ] Crossover operator ( c), ] Crossover rate ( cr ).


A comprehensive overview of the research in various parameters of Evolutionary Algorithms is presented by Eiben and Schut [48]. The study shows that the majority of the approaches were concerned with the variation procedure (approximately 46% of the publications). The second most researched topic was the population of Evolutionary Algorithms (approximately 29% of the studies). A high level description and background of the parameters of an EA that have an essential eect on the performance of the algorithm, and therefore necessitate careful conguration, is given in the next sections.

2.5.1

Population Size

Setting the population size in an EA is a dicult task. It has been argued that problems with dierent size and diculty require dierent population sizes [116]. When the problem at hand is simple and unimodal, the ideal population size () is relatively small, since not much diversity is required during the optimisation process. In this situation, the algorithm converges easily by performing a local search. One might argue that if the problem is unimodal, selecting an EA to optimise it is not a good solution. However, it is often not possible to know beforehand how the problem looks like. On the other hand, when the problem is multimodal (has more than one optimum), or when solving a multiobjective optimisation problem, the population has to be large enough to explore all the important regions of the landscape and increase the chance of discovering the optimal set of solutions. Setting the population size is 40

a non-trivial task, since dierent problems have dierent ideal population sizes [115]. When there is no information about the problem and its modality, setting the population size before the optimisation process may lead to the optimisation algorithm performing sub-optimally. Lobo [115] shows that controlling the population size during the optimisation process can be benecial in certain problems. A similar view is presented by B ack et al. [13], who demonstrate that varying the population size signicantly improves the performance of the algorithm [13]. De Jong [43] asserts that by increasing the population size, the chance of any EA nding the best solutions for any type of problem increases. His experiments show that the average performance of an Evolutionary System (m, n = 1) increases when the population size is increased. Moreover, De Jong demonstrates that during the initial iterations of the optimisation process, the performance of the algorithm is highly inuenced by a bigger population size, while this eect decreases over time. De Jong [43] states that this results can be generalized to any type of traditional EA, and suggests that the population should start with a large value and decrease during the later iterations. Other studies [175, 47, 7, 115, 78] of the same nature have focused on the efciency of controlling the population size during the run of the optimisation algorithm. An insightful review of methods for setting the population size in GAs is provided by Lobo and Lima [116], The authors also provide recommendations for further research on the adaptation of the population size, such as testing the results on problems with known requirements for appropriate population settings. Arabas, Michalewicz and Mulawka [7] proposed a Genetic Algorithm with Varying Population Size (GAVaPs), which assigns a lifetime to each solution when it is created. The lifetime variable is reduced every iteration until it becomes zero. As a result, the solution is removed from the population. The tness of the solutions is used to control the lifetime for each individual (lt(si )), determined using (i) 41

proportional allocation (ltp ), which is a tness proportionate allocation, (ii) linear allocation (ltl ), which considers the tness of the solution f (si ) in comparison with the best and the worst tness in the population f (sbest ), f (sworst ), and (iii) bilinear allocation (ltb ), which makes a trade o between proportional and linear allocation. Considering a maximisation problem, the lifetime of an individual si is calculated as follows:

ltp (si ) = arg min ((ltmin +

(ltmax ltmin )f (si ) ), ltmax ) 2f (ltmax ltmin )(f (si ) fworst ) ltl (si ) =ltmin + f (sbest ) fworst lt

(2.12)

ltb (si ) =

min

(ltmax ltmin )(f (si )f (sworst )) 2(f f (sworst )) (ltmax ltmin )(f (si )f ) 2(f (sbest )f )

where ltmax and ltmin are the maximum and minimum possible lifetime, which have to be decided before the optimisation process, and f is the average tness of the population. The experimental studies presented by Arabas, Michalewicz and Mulawka [7] show that the linear strategy has the best performance but is the most computationally expensive. The bilinear allocation, on the other hand, is the least computationally expensive methods, however the performance is the worst. The authors argue that the proportional strategy has a moderate performance and cost. Adaptive Population size Genetic Algorithm (APGA) [13] was introduced by B ack, Eiben and Van der Vaart, which is and extension of the Genetic Algorithm with Varying Population Size (GAVaPs) [7]. The main dierences between the two algorithms is that APGA considers a steady-state Genetic Algorithm and no lifetime is specied for the best solution. 42

ltmin +ltmax + 2

if f f (si ) otherwise

Hinterding et al. [78] employs an adaptive mechanism to control the population size in a Genetic Algorithm (GA) with three sub-populations (50, 100 and 200 solutions), which are optimised in parallel. After a certain number of function evaluations, the tness of the sub-populations is assessed and the size of the subpopulations is changed according to the feedback received. A lower bound of 10 and an upper bound of 1000 is maintained during the iterations. Eiben, Marchiori and Valk o [47] introduce the Population Resizing and Fitness Improvement Genetic Algorithm (PRoFIGA), in which the population size is adjusted according to the improvement of the best tness in the population. The population grows if the best tness in the population increases or if the best tness does not change for a specic number of iterations. If the best tness in the population f (sbest ) increases, the population size increases with a growth rate computed as:

= (evalmax evalt )

ft (sbest ) ft1 (sbest ) f1 (sbest )

(2.13)

where is a parameter selected from the interval (0,1), evalmax and evalt are the maximum number of tness evaluations and the current evaluation number (time step t), ft (sbest ), ft1 (sbest ) and f1 (sbest ) denote the current (time step t), the previous (time step t 1) and the initial best tness values (time step 1). If the best tness value does not improve in a certain number of evaluations, the authors propose to increase the population size by a factor y . If neither of the above situations occur, the population size is decreased. The main idea behind this approach is to use large population sizes for the exploration and small population sizes for the exploitation of the search space. The experimental study shows that adapting the population size is benecial for the performance of the algorithm. Nevertheless, there is general agreement about the diculty of adjusting the population size, since it interacts in 43

complex ways with other parameters of an EA, such as the selection and replacement procedures.

2.5.2

Selection Procedure

The selection procedure (S ) is performed when deciding on the parents which will be used to produce the ospring. The greedier the selection strategy is (i.e. the higher the demand on the quality of the solutions), the faster the algorithm converges. However, the chance of nding the optimal solution(s) may decrease, since the population is more likely to get stuck in local optima. Thus, the selection procedure should allow for the exploration of the search space, especially during the initial iterations, while focusing on the best solutions during the last iterations. This suggests that an adaptation of the selection strategy would improve the performance of the algorithm. Two aspects of selection procedure are important for the adaptation process: the type of selection procedure and the parameters of the selection procedure. Interestingly, none of them is commonly adapted at run-time. Most of the adaptive methods for the selection procedure use the Boltzmann selection strategy [14], which uses a cooling mechanism similar to Simulated Annealing to modify the selection pressure. B ack [10] provides a characterisation of the selection mechanisms. Goldberg and Deb [67] compared dierent selection mechanisms in genetic algorithms, and found that proportionate selection is signicantly slower then other selection mechanisms. Linear ranking and binary tournament selection (a type of tournament selection where only two solutions are picked at a time) showed similar performance. Vajda, Eiben and Hordijk [184] compared various selection mechanisms. The study shows that using parameter control for the selection mechanism produces better results than using a constant value. The authors argue that the selection mechanism is 44

problem dependant, however, the self-adaptive tournament selection out-performed other methods in the majority of the problems.

Proportional selection Proportional selection was rst introduced by Holland [81]. The selection probability of each solution si , i is based on probabilities assigned to individuals based on their tness (f (si )) as follows: f (si ) f (sj )

S (si ) =

j =1

(2.14)

The selection probability of each solution is directly proportional to its tness and indirectly proportional to the sum of the tnesses of all solutions. The higher the tness of a solutions, the more probable it is for it to be selected.

Tournament selection Tournament selection is a mechanism where solutions are picked at random as contestants in tournaments and the solution with the highest quality among the other members of the tournament is the winner (either to generate the next ospring, or as a survivor of the next generation). The tournament size provides a natural parameter for the adaptation process. A deterministic rule is presented by Vajda, Eiben and Hordijk [184] to adapt the tournament size k dened as follows: t(p2 p1 ) + p1 1000 p 2

kt =

if t [0, 1000] otherwise

where p1 and p2 are parameters that have to be set before the optimisation process. This deterministic rule linearly increases or decreases the tournament size from p1 to p2 for the initial 1000 iterations and keeps it constant for the rest of the optimisation. 45

Linear ranking Linear ranking was rst introduced by Grefenstette and Baker [70]. The solutions are ranked according to the tness value, and the probability of selection is determined by Equation 2.15. + ( + )
i1 1

S (si ) =

(2.15)

where is the number of solutions, + and are the maximum and minimum expected values respectively, fullling the constraints 1 + 2 and = 2 + . These two values are used to determine the slope of the linear function. + can be adapted in the interval [1,2].

Boltzmann selection Vajda, Eiben and Hordijk [184] introduce a Boltzmann selection mechanism with a Riemann-Zeta annealing schedule (BSR), which calculates the probability of selecting a solution S (si ) as follows: St (si ) = 1 et f (si ) , = t 0 f ( s ) t j k j =1 e k=1
t

(2.16)

where e is the Blotzmann distribution [118], and 0 and are parameters that have to be set before the optimisation. The annealing temperature t is is an example of a deterministic parameter control, in which the selection pressure depends on time.

Fuzzy tournament selection A Fuzzy Tournament Selection (FTS) was introduced by Vajda, Eiben and Hordijk [184], which is based on the adaptive method presented by Herrera and Lozano [76]. The approach adjusts the tournament size k as follows: 46

kt = ( + 0.5)kt1

(2.17)

where is the modication parameter computed by employing the fuzzy rules that are based on the genotypic and the phenotypic diversity of the population.

2.5.3

Variation Procedure

The majority of the work in adaptive optimisation considers the variation procedure (V ) as a parameter to control. Evolutionary Algorithms build the next solutions by using two dierent variation procedures: the mutation operator, which uses a single parent, and the crossover operator, which is carried out using two or more parents. Mutation and crossover operators make a random variation in one or more solutions in the current population to generate new solutions, without knowing if this change is going to produce better or worse candidate solutions. The replacement procedure is in charge of accepting or not the changes made and determining the solutions that survive to the next generation. Both operators change the current population by either introducing new information (mutation operator), or by recombining the existing information (crossover operator). Setting these two parameters greatly aects the way the search progresses, by ne-tuning the balance between exploration and exploitation of the search space.

Mutation operator The tuning and control of the mutation rate is one of the most researched topics [15, 123, 48, 78, 9, 5]. For instance, there are several recommendations in the literature about well-performing mutation rates. However, the recommended values are for specic problems, and the mutation rate values often vary from work to work. For example, De Jong [39] recommends a mutation rate of 0.001, whereas for the same 47

problems Schaer et al. [160] found that the mutation rate should be in the range [0.005, 0.01]. Bremermann et al. [23] propose that the mutation rate should depend on the length of the string (i.e. the number of elements in the genotype) and should be equal to
1 L

where L is the length. Smith and Fogarty [174] compared this mutation

rate with dierent xed mutation rates, demonstrating that the mutation rate equal to
1 L

outperformed other values.

One of the rst works in the adaptation of the mutation operator is the 1/5th rule of Rechenberg [154], which controls the mutation step size of Evolution Strategies (ESs). The majority of parameter control methods focus on controlling the mutation rate [5, 9]. Often, the mutation rate has been controlled in conjuction with the crossover rate [5]. An innovative way to control multiple parameter is the work introduced by B ack [9], where the interaction of mutation rate and the selection mechanism are studied and controlled with a self-adaptive Genetic Algorithm. Similarly, Hinterding et al. [78] uses a self-adaptive mechanism to control the mutation rate and an adaptive mechanism to control the population size. Apart from the mutation size and mutation rate, one can control the type of mutation operator used. Dierent types of mutation operators exist, such as singlepoint mutation, transposition mutation, and uniform mutation. Single-point mutation is the random change of a single element in one of the solutions from the population to produce a new candidate solution. Transposition mutation on the other hand randomly exchanges the values of two elements in a solution to produce a new solution. In this case information is only exchanged and no new information is introduced. Finally, uniform mutation considers all the elements of the solutions for a random change according to a probability dened by a mutation rate (m r ). Uniform mutation changes more than one element of the solution, introducing more new information than single-point mutation. 48

Crossover operator This parameter has been extensively investigated in the context of adaptive parameter control [181, 15, 123]. The work of Davis [38] is one of the rst attempts to control dierent crossover operators (c i ), with the respective crossover rates ( cr ( ci )) in the application of a Genetic Algorithm. At every iteration, several crossover rates are applied simultaneously to create the new ospring. The eect of each crossover operator is approximated using the dierence in tness gain of the ospring with respect to the best solution in the population, called local delta and denoted as di . The rate of each the crossover operator is calculated as:

c rt ( ci ) = 0.85 crt ( ci ) + di

(2.18)

where t is the current iteration and 0.85 is the weight given to the value of the crossover rate from the previous iteration. The crossover operator and its rate have also been controlled using self-adaptive parameter control mechanisms. Schaer and Morishima [161] introduced a selfadaptive method for controlling the position in a solution where the crossover occurs, called punctuated crossover, which performed better than a single-point crossover operator [161]. Spears [176] uses a self-adaptive mechanism to control the type of crossover operator. An additional bit is added at the end of the solution representation, which is used to decide if a two-point or uniform crossover operator is to be used. The increased performance of the optimisation algorithm is attributed to the diversity of the variation operators, which leads to a better exploration of the search space. Crossover rate has also been controlled in combination with other parameters such as mutation rate [5]. Another interesting multiple parameter control mechanism is oered by Lis and Lis [113]. The mutation rate, the crossover rate and the 49

population size of a parallel GA are controlled in an adaptive way. This approach uses predened possible values that the parameters can have, and based on the performance of the algorithm, the successful parameter values are used for the next iteration. Apart from the crossover rate, it is possible to control the type of crossover operator. Some options include single-point crossover and uniform crossover. Singlepoint crossover splits two parent solutions into two by choosing a random point and mixes the information from the parents to create two new solutions. Uniform crossover swaps the assignments between solutions. Unlike single-point crossover, the uniform crossover enables the parent chromosomes to contribute to the gene level rather than the segment level, by mixing ratio between two parents. The two variation procedures, mutation and crossover operators, usually make a random variation in one or more solutions in the current population to generate new solutions, without knowing if this change is going to produce better or worse candidate solutions. The replacement procedure is in charge of accepting or not the changes made and determining the solutions that survive to the next generation.

2.5.4

Replacement Procedure

The two variation operators, mutation and crossover operators, which are described in Section 2.5.3, usually make a random variation in one or more solutions in the current population to generate new solutions, without knowing if this change is going to produce better or worse candidate solutions. The replacement procedure is in charge of accepting or not the changes made and determining the solutions that survive to the next generation. The adaptation of the replacement procedure has not received as much attention as the variation operators. One of the earliest works on the eect of the replacement 50

procedure is the comparison of two replacement procedures by Grefenstette [69], pure replacement, in which the ospring substitute the current population and elitist replacement, where the best solutions survive to the next generation. The results of the experiments show that elitism improves the performance of the algorithm. It has also been proven that the replacement procedure aects the diversity of the population [7], which can cause a premature convergence of the algorithm. Arabas, Michalewicz and Mulawka [7] argue that the balance between population diversity and replacement pressure should be maintained, since population diversity is strongly related to the replacement pressure - a high replacement pressure decreases the diversity of the solutions and vice versa. To address this problem, a Genetic Algorithm with Varying Population Size (GAVaPS) [7] was introduced, which adjusts the population size and diversity based on the tness and the lifetime of the solutions calculated in Equation 2.12.

2.5.5

Number of Ospring

De Jong [43] argues that changing the number of ospring () during the optimisation process aects the performance of the algorithm. The author performed a set of experiments using a xed population size, in which the number of ospring was decreased over time. The results showed that in a multimodal problem a higher number of ospring results in a lower performance of the algorithm. The number of ospring and the population size seem to have opposite eects in the performance of the algorithm. One might ask if it is reasonable to control them individually; this question has yet to be answered. Jansen and De Jong [90] demonstrate in their study that the number of ospring is a dicult parameter to control.

51

2.6

Summary

The review of the methods concerned with setting EA parameters [33, 78, 113, 15, 123, 48, 43] shows that the way the EA parameters are congured aects the performance of the algorithm. Furthermore, empirical and theoretical evidence shows that optimal algorithm congurations are dierent not only for dierent problems and problem instances, but also for dierent stages of the optimisation process of the same problem instance [13, 9, 179, 174, 77]. Acknowledging these facts, a plethora of studies proposed adjusting algorithm parameters during the optimisation process: by changing parameter values according to a predened schedule [57, 15], by encoding parameter choices into the representation of the solutions [13, 142, 154, 174, 131, 158], or by using feedback from the search [33, 37, 82, 84, 94, 114, 163, 183, 74, 56, 181]. Self-adaptive parameter control integrates the search for optimal parameters into the optimisation process itself - usually by encoding parameter settings into the genotype of the solution to evolve. Extending the solution size to include the parameter space obviously increases the search space and makes the search process more time-consuming. Moreover, by encoding parameter values into the solution representation, the search for optimal parameter values may be subject to premature convergence, i.e. convergence towards a suboptimal solution, which is a common problem faced by the search for optimal solutions [29, 132]. Based on an empirical investigation of parameter control methods, Tuson and Ross [183] suggest that for the parameter adaptation to occur in a reliable way, the adaptation mechanism should be separated from the main algorithm, i.e. the parameters should not be encoded into the representation. Adaptive parameter control algorithms adjust parameter values in an informed way, based on the eect they have in the performance of the algorithm. Adaptive 52

strategies have successfully been employed to control various algorithm parameters, such as the type of crossover operator and its rate [5, 13, 181, 15, 123], the type of mutation operator and its rate [13, 15, 123, 48, 78, 9, 5], as well as the population size [13, 175, 47, 7, 115, 78]. A big advantage of adaptive parameter control algorithms when compared with self-adaptive methods is that they do not increase the search space. Furthermore, there is no co-evolution between solution space and parameter space, which removes the possibility that the search for optimal parameter values is subject to the problems associated with the search for optimal solutions, such as the premature convergence of the algorithm.

53

54

Chapter 3 Methodology
3.1 Introduction

In the previous chapter, we presented some implementations of Evolutionary Algorithms (EAs), various algorithm parameters and methods used to congure these parameters. The importance of conguring Evolutionary Algorithms is discussed throughout the dierent sections of the Chapter 2, and the summary of the related work (Section 2.6) highlighted the eect of parameter values on the performance of Evolutionary Algorithms and the crucial reasons for adjusting parameter values during the optimisation process. Thus far, methods for conguring Evolutionary Algorithms have been discussed at a high level and with a wide focus. This chapter presents a more conned review of the literature, with the aim of determining the gaps in current research and dening the scope of the work presented in this thesis. This leads to the discussion of the methodological aspect of the research conducted in this thesis: the research problems, the research objectives, the research questions, and the research method used to address the research objectives and validate the solutions proposed to solve the research problems.

55

3.2

Research Problems

The high-level focus of this thesis is parameter conguration of Evolutionary Algorithms. Section 2.4 described and compared two dierent methods used to congure parameter values: parameter tuning which congures parameter values before the optimisation process, and parameter control, which dynamically adjusts parameter values during the run of the optimisation algorithm. Parameter control is more eective than parameter tuning, since dierent algorithm congurations may be optimal at dierent stages of the search [9, 179, 174, 77]. Hence, the focus of this thesis is in the adaptation of parameter values during the optimisation process. Parameter control methods are classied into three groups as described in Section 2.4: deterministic, self-adaptive and adaptive. Deterministic parameter control changes parameter values based on a predened schedule composed of intervals with preassigned parameter values, e.g. decreasing mutation rate by a certain amount every iteration. Using a predened schedule is likely to lead to suboptimal values for some problems or instances, since smaller problems may require shorter intervals for the schedule, as the search progress will be faster when the problem complexity is lower. Alternatively, the search for optimal parameters can be integrated into the optimisation process itself - usually by encoding parameter settings into the genotype of the solution to evolve [15, 53, 40], i.e. self-adaptive parameter control. Extending the solution size to include the parameter space obviously increases the search space and makes the search process more time-consuming [45]. The approach proposed in this thesis falls into the category of adaptive parameter control, in which feedback from the optimisation process is collected and employed to evaluate the eect of parameter value choices and adjust the parameter values over the iterations. Adaptive parameter control does not use a predened schedule and does not extend the solution size, which makes it a more eective way for 56

controlling parameter values during the optimisation process. The main steps of the whole optimisation process using adaptive parameter control are shown in Figure 3.1. These steps are shared among all existing Evolutionary Algorithms that use adaptive parameter control.

Initial solution(s)

Evaluate solution(s)

Stopping criterion False

True

Final solution(s)

Collect feedback

Assess the effect of parameter values

Attribute quality to parameter values

Select next parameter values

Figure 3.1: The main steps of optimisation with Evolutionary Algorithms using adaptive parameter control.

The optimisation process starts with a set of solutions (initial population) which can be randomly generated, created using expert knowledge, or constructed using some heuristic, such as a greedy algorithm. This population is evolved in iterations until a stopping criterion is achieved. The new generations of solutions are created with the help of four genetic operators: the crossover operator, the mutation operator,the selection operator and the replacement operator. The genetic operators, 57

and other elements of an Evolutionary Algorithms that are involved in the optimisation process, such as the probabilities of applying the genetic operators, the size of the population, the number of new solutions produced every iteration, etc. are the parameters of the algorithm which can be adapted by the parameter control method. Every iteration, the solutions created are evaluated using the tness function(s). The output from the evaluation process provides valuable information for the adaptive parameter control methods, since it can be used to asses the eect of the parameter values on the performance of the optimisation algorithm. This information is processed by the feedback collection strategy, which measures certain properties of an optimisation run, such as the tness and the diversity of the solutions. The feedback collection mechanism records the change in these properties as the performance of the algorithm. The feedback from the search is used by the parameter value eect assessment strategy to approximate the cause of the change in the properties of the solutions during the optimisation process. Parameter control methods utilise the approximated eect for a projection of the parameter values performing well to the next iterations, based on certain rules, such as the average eect in the last n iterations, instantaneous eect, the total usage frequency of parameter values, etc. This set of rules composes the parameter quality attribution strategy. The quality values assigned to the algorithm parameters are used to select the next parameter values, which are employed to create the next generation of solution(s). The selection mechanism congures the components of an Evolutionary Algorithm (variation, selection and replacement operators). The main challenge faced at this step is the trade-o that has to be made between the choice of current best conguration(s) and the search for new good settings. The overall approach to adaptive parameter control consists of the four steps 58

shown by the highlighted boxes in Figure 3.1, namely the feedback collection strategy, the parameter eect assessment strategy, the parameter quality attribution strategy, and the parameter selection strategy. All four steps are executed automatically during the optimisation process. This thesis makes a contribution to each of the four steps of parameter control. In the next sections, we determine the gaps in each of the four steps of adaptive parameter control which leads to four research problems addressed in this thesis.

3.2.1

Feedback Collection Strategy

The feedback collection strategy is a distinguishing feature of adaptive parameter control, since other parameter control methods either do not consider any feedback from the search (deterministic parameter control) or the feedback is implicit (selfadaptive parameter control). The feedback is a measure of certain properties of an Evolutionary Algorithm (EA), which are an indication of the algorithms performance. It has been shown by previous research [66, 43] that the performance of EAs is aected by algorithm parameters, which determine the search strategy. Hence, the change in algorithm properties, i.e. the change in the performance of an EA, can be used as an indication for understanding if the EA parameters are being successful. The decision regarding the quality of the parameter values depends on the information provided by the feedback collection strategy, which makes it a very important step of adaptive parameter control. However, deciding on what performance properties of an optimisation algorithm to use as a feedback is a critical task. This is particularly challenging in multiobjective optimisation, since the output of multiobjective runs is usually a set of nondominated solutions, which make a trade-o between the tness functions. The main challenge regarding the feedback collection 59

mechanism in multiobjective optimisation is assigning a single value to this set of solutions to represents the overall performance of the algorithm. Known parameter control methods use feedback collection mechanisms appropriate only for singleobjective optimisation [56, 181, 37], in which the relevant property is the change in tness of a single best solution. These feedback collection mechanisms are not appropriate to be applied in parameter control for multiobjective optimisation. This problem leads to the following research question:

\ What is an eective feedback collection strategy to use in adaptive


parameter control for multiobjective Evolutionary Algorithms? To answer this question, we rst analyse performance aspects that should be considered in multiobjective optimisation. We employ these performance aspects to investigate metrics for measuring the performance of multiobjective optimisation algorithms, and perform an experimental evaluation of the feedback collection strategy using recommended performance metrics. The problem and recommendations regarding the multiobjective feedback collection strategy are described in Chapter 4.

3.2.2

Parameter Eect Assessment Strategy

Parameter values often have a dierent eect at dierent stages of the search [9, 179, 174, 77]. The information about the performance of the optimisation algorithm measured at every iteration can be used to determine if the parameter values have a positive eect in that iteration. This process is performed by the parameter eect assessment strategy, which derives the eect of parameter values based on the output from the feedback collection strategy. The aim is to determine successful parameter values, i.e. parameter values that have a positive eect on the performance of the optimisation algorithm. The main dierence of available parameter eect assessment methods is how they 60

dene the success of parameter values. The majority of the methods calculate the eect of parameter values using directly the improvement in the performance of the algorithm, measured as the quality dierence of the generated solutions with respect to their parents [183, 191, 79, 85, 83], the overall best solution [37, 114, 65], or a specied quantile (e.g. the median) [94, 95]. Whitacre et al. [189] instead considers outlier solutions as an indication of the success of parameter values used to generate them. An outlier in this approach is a solution with a quality which is statistically dierent from that of other solutions. In essence, parameter eect assessment strategies found in the literature assume that the improvement in the quality of the solutions, or the quality of the outliers, is directly related to the use of certain parameter values. For instance, if a mutation rate of 0.01 produces a solution which improves the quality of its parent by q , the quality improvement q is considered as the eect of this mutation rate. If more than one solution is created, the sum or average of the quality improvement of all solutions is assigned as the overall eect. However, the performance of Evolutionary Algorithms is aected by more than one parameter value, hence using the performance of the algorithm directly as an indication of parameter success may be misleading. Moreover, Evolutionary Algorithms are stochastic systems, which may produce dierent results for the same parameter values [43]. This randomness should be taken care of by the parameter eect assessment strategy. To address this problem, the research question is formulated as follows: What is an eective method for assessing the stochastic eect of EA parameters? We propose a probabilistic approach to measure the eect of parameter values, which is conditional on the usage of the parameter values and the successful perfor61

mance of the algorithm instances. The performance of an instance is successful if it is above a certain threshold. We dene a success measure to represent the eect of parameter values, calculated as the number of successful instances that use a parameter value divided by the total number of instances that use that parameter value. This research problem, the proposed solution and the validation are discussed in Chapter 5.

3.2.3

Parameter Quality Attribution Strategy

The parameter eect assessment strategy described in Section 3.2.2 determines the eect of parameter values at every iteration, i.e. classies each parameter value as a successful or unsuccessful choice for the current iteration. The eect of parameter values in the current iteration is used to make decisions about the parameter values to use in the next iteration. However, the eect of parameter values may not be the same for the next iteration, since dierent parameter values are optimal for dierent stages of the search [9, 179, 174, 77]. To make a better judgement on what would be a successful parameter value for the next iteration(s), current adaptive parameter control methods dene a quality measure, which is calculated based on predened rules that use the eect measured in the previous iterations. The quality of parameter values is calculated either as the average eect [83, 85] or as the best eect in the last W iterations [55]. In essence, notable parameter quality attribution mechanisms calculate the quality of parameter values from past performance (time t 1). One might argue that the quality of parameter values calculated by these methods represents their eect in the previous iterations. Ideally, one would use a prediction of the eect for time t based on previous performance. Acknowledging this fact, we formulate the following research question: 62

\ What is an eective parameter quality attribution method for projecting successful parameter values to the next iteration of the optimisation process? To answer this question we use a Predictive Quality Assessment (PQA) strategy that combines a measure of past performance with time series prediction to calculate the quality of parameter values. We investigate various forecasting techniques to use for time series prediction and provide recommendations on the adequacy of these methods in forecasting the quality of dierent parameter types. Furthermore, PQA is compared to two notable parameter quality attribution strategies - Average Quality Attribution (AQA) and Extreme Quality Attribution (EQA) - to understand if using Predictive Quality Attribution improves the performance of the algorithm. A detailed discussion of Predictive Quality Attribution and the validation of the approach are given in Chapter 6.

3.2.4

Parameter Value Selection Strategy

The nal stage of adaptive parameter control is the selection of parameter values to use in the next iteration. The selection is based on the trade-o between using parameter values with high quality and exploring new parameter values. When controlling parameters with discrete values such as the type of mutation operator, the possible choices are not too many (e.g. single-point, uniform or transposition mutation operator), hence their exploration is attainable. In the case of real-valued parameter assignments, such as the mutation rate and the crossover rate, the possible values are too many to explore during the optimisation run. Generally, parameter value selection strategies [182, 181, 56] optimise parameter values by choosing from predened values or ranges. The quality feedback and therefore the probability of use in the next iteration is allocated to these ranges, not 63

the actually sampled values. Normally, parameter ranges are xed and not optimised by the optimisation process. As a result, the number and the size of the ranges has to be decided by the user, who has to compromise either on the accuracy of the intervals or the low number of computations, i.e. low search complexity. More specically, if narrow parameter ranges are selected, the accuracy in attributing to that interval the quality achieved by values sampled from that interval is higher. However, there are more intervals to sample from, which may lead to a non-exploration of some of the ranges or a slow identication of the ones performing well. If wider ranges are selected, the sampling inaccuracy increases since the actually sampled value may be far from the value whose success the ranges usage probability is attributable to. Hence, the initial discretisation may lead to values which are suboptimal for some problems or their instances [9]. It follows that an ideal parameter value selection strategy would adapt parameter ranges during optimisation process. The research question is dened as follows:

\ What is an eective method for conguring real-valued parameters


during the optimisation process? To address this problem we introduce the Adaptive Range Parameter Selection strategy (ARPS). ARPS dynamically changes the ranges of parameter values during the optimisation process based on their quality. Successful ranges are divided into smaller ranges to increase their selection probability and the accuracy of the parameter quality attribution strategy, whereas unsuccessful parameter value ranges are merged to decrease the selection probably. The Adaptive Range Parameter Selection strategy (ARPS) and the validation of the approach are presented in Chapter 7.

64

3.3

Research Method

This thesis introduces a new adaptive parameter control method which automatically adjusts parameter values of Evolutionary Algorithms during the optimisation process. The main objective is related to the ultimate goal of optimisation, i.e. answering the question of which method gives fast and high-quality solutions. More specically, the objective is to build a parameter control method that improves choices of parameter values, which result in better algorithm performance. To evaluate the proposed contributions of the thesis we design a set of experiments. The design of experiment describes the steps performed in order to run a set of test runs under controlled conditions to examine the performance of the EA when using Adaptive Parameter Control (APC). An experiment consists of solving a series of problem instances, some of which are well-studied benchmark problems, whereas others are obtained by using a problem generator. All problems are solved by an EA whose parameters are controlled by dierent adaptive parameter control approaches. Selected performance measures are used to report and compare the results from all methods. In general, performing an experimental comparison between algorithms, in particular, between Evolutionary Algorithms that use dierent parameter control methods implies a number of methodological questions: What are the experimental settings? Which benchmark problems and problem instances are used? Which benchmark parameter control methods are used? Which comparative measures are employed? The design of experiments is based on the research objectives, which help in identifying the questions to ask, the hypothesis to test, the tests to run, the factors to explore, and the measures to use. 65

3.3.1

Experimental Settings

The validation of the approach is based on the statistical design of the experiments. Optimisation trials are treated as experiments with many degrees of freedom. In the rst step of the design of an experiment we determine the design factors, which are the elements that can be changed during the experiment. These design factors or variables can be either problem-specic or algorithm-specic. Problem-specic factors are the objective function(s), the problem instances, the constraints, etc. The problem-specic design factors are not changed during the experiments. The algorithm-specic factors are the parameters that are controlled during the optimisation process and the values of the parameters that are tuned before the run of the algorithm. The design of parameter control methods consists of the conguration of the hyperparameters, which have to be determined before the algorithm is executed. Both problem-specic and algorithm-specic design factors are determined before each experiment. Evolutionary Algorithms are not expected to deliver exact and repeatable results, but to provide good approximate solutions where exact approaches cannot be devised. Hence, results concerning the performance of approximate algorithms such as EAs, are usually reported as mean values over repeated trials. To obtain a fair comparison, the generally accepted approach is to allow the same number of function evaluations for each trial [152]. Therefore, for the current comparison, all algorithms trials were repeated 30 times for each optimisation scheme. These values were decided after running the algorithm once for every problem and choosing the value where the quality of the solutions seemed to not improve any more. Nevertheless there are indications that all algorithms still make small but steady improvements after these numbers of evaluations. 66

3.3.2

Benchmark Problems

According to Lin et al. [153], dierences in performance among approximate algorithms are more likely to be detected statistically if all algorithmic approaches solve the same problem instances. Along this line, four problems were chosen: the generally accepted Royal Road Problem (RRP), the Quadratic Assessment Problem (QAP), and the multiobjective Quadratic Assignment Problem (mQAP) which were especially designed for testing EAs. The problems were chosen due to their dissimilarity, which enables a more informed judgement as to the portability of the approach when applied to an EA. Moreover, all four problems are NP-hard, which makes them dicult to be solved by an exact algorithm and justies the use of EAs to optimise them. The problems we have selected can be categorized into two main groups: repository (benchmark) problems and randomly generated problems. The repository problems are the Quadratic Assignment Problem (QAP), the multiobjective Quadratic Assignment Problem (mQAP) and the Royal Road problem. For the Quadratic Assignment Problem (QAP) we have used problem instances published at http: //www.seas.upenn.edu/qaplib/inst.html. The multiobjective Quadratic Assignment Problem (mQAP) [99], which is described in Section 3.3.2, is a well-known problem and instances of considerable diculty have been made available as benchmarks at http://dbkgroup.org/knowles/ mQAP/. Four dierent problem instances are used in the experiments: one uniform triobjective instance of dimension n=30 (KC30-3-3uni), two triobjective problems of dimension n=30 (KC30-3-2rl and KC30-3-3rl) and a biobjective problem of dimension n=20 (KC30-2-5rl). The four problems are NP-hard, and their Pareto fronts are not known. MQAP and QAP as assignment problems map N tasks to M resources. Hence 67

the solution representation for both problems is a simple array which describes the numbered locations and the values of the array represent the items. The problems are optimised using an Evolutionary Algorithm with string-based representation and customised crossover and mutation operators with their respective probabilities of being applied. Multipoint crossover swaps the assignments between solutions. The mutation operator changes the assigned item of a single location. As we are solving the MQAP and QAP, singularity of item occurrence is mandatory and the solutions are validated after the operators have been applied.

The Royal Road problem is optimised using an EA with string-based representation and multipoint crossover. The component deployment problem is multiobjective in nature and requires a more specialised approach. One notable multiobjective EA implementations is Debs [41]. Its distinctive feature is nondominated sorting, which lters the population into layers of nondominated fronts and ranks the solutions according to the level of front they are a member of. These EA implementations use customised crossover and mutation operators with their respective probabilities of being applied.

The advantage in using published problem instances relies on the fact that they have already been investigated by other researchers and their characteristics are well-known. However, we also use a problem generator, which can be downloaded from http://mercury.it.swin.edu.au/g_archeopterix/. The problem generator produces problems by taking as input problem specic parameters. This is an advantage, since the problem specic parameters can be used to tune the diculty of the problem, which help in oering insight into how specic components of parameter control methods deal with dierent problem diculties and provide knowledge on the reasons for the performance of the dierent parameter control methods. 68

The Royal Road Problem The Royal Road functions are parametrized landscapes, rst introduced by Mitchell, Forrest, and Holland [93]. They are especially devised to demonstrate that there exist problems which are easier to solve using a Genetic Algorithm than a hill climber. The function of the form F : {0, 1}l

R is used to dene a search task in

which one wants to locate strings that produce high tness values. The string is composed of 2k non-overlapping contiguous sections each of length b + g , where b is known as the block and g is known as the gap. These sections form the rstlevel schemata, composed of short, low-order, highly t schemas, which are called the building blocks. A schema si is a combination of ones, zeros and the special character * which is interpreted as do not care. Lower-level schemas are used to form intermediate-level higher-tness schemas, which in turn are combined to create even higher-tness schemas. A set of schemas which dene the Royal Road Fitness function RRF are depicted in Figure 3.2. The set of schemas is denoted as S = {s1 , s2 , ...s9 }. Each si is assigned a specic coecient ci which is used in the tness calculation.
s1 = [11111111] c1 = 8 s2 = [11111111] c1 = 8 s3 = [11111111] c1 = 8 s4 = [11111111] c1 = 8 s5 = [11111111] c1 = 8 s6 = [11111111] c1 = 8 s7 = [11111111] c1 = 8 s8 = [11111111] c1 = 8 soptimal = [1111111111111111111111111111111111111111111111111111111111111111]

Figure 3.2: Example of schemas dening the RRP function.

The schemas in Figure 3.2 are created by breaking up the optimal string soptimal into eight building blocks. Strings are represented by using the same alphabet as schemas (0,1,*) where 0 and 1 are called dened bits, and * means dont care. For 69

example, the pattern [0] requires that the rst bit be set to 0 and the second bit can be either 0 or 1. A bit string x is an instance of a schema s if it follows the same pattern of that schema. For example, both [010] and [000] are instances of [0 0]. The tness calculation of a string x proceeds in two steps, the part calculation and the bonus calculation. The overall tness assigned to that string is the sum of these two calculations. The part calculation considers each block individually and assigns a tness according to the number of 1s. The block tnesses are later summed to form the total tness of the part calculation. The tness function RRP (x) for the part calculation of a string x is dened as:

RRP (x) =
i

ci i (x)

(3.1)

where 1 if x si 0 otherwise

i (x) =

For example, if x = 11111111 11111111, i.e. it corresponds to exactly two schemas, RRP (x) = 16. In Hollands Royal Road function the tness of each block is based entirely on the number of 1 bits it contains. The aim is to reward bits equal to 1 up to m consecutive bits. For each bit equal to 1 the blocks tness is rewarded by v . For example, a block with three 1 s has a tness of 3 v . If a block contains more than m 1s, but less than b 1s, it receives v for each 1 over the limit. Finally, if a block has only 1s and no 0s, it is considered to be complete. This block receives nothing from the part calculation and will be rewarded in the bonus calculation. 70

Table 3.1: Hollands default Royal Road problem setting Variable k b g m v u u Value 4 8 7 4 0.02 1.0 0.3

The aim of the bonus calculation is to reward complete blocks and some combinations of complete blocks. Holland gives rewards for attaining a certain level. At the lowest level, rewards are given for complete blocks. If such a block exists, it receives a tness equal to u . Any additional complete blocks receive a tness of u. In general, a Royal Road function is dened by the variables used in the part and bonus calculation (e.g. v , b, g , etc). The values used by Holland, which are also used in our experiments, are depicted in Figure 3.1. The Quadratic Assignment Problem The Quadratic Assignment Problem (QAP) was rst introduced by Koopmans and Beckmann [101], who used this mathematical model to solve the problem of assigning economical activities to resources. In QAP, n facilities have to be allocated to n locations, such that the total cost is minimised and every resource has only one economical activity. The total cost is calculated as the ow between the facilities multiplied by the costs for placing the facilities at their respective locations. QAP is considered to be a very challenging combinatorial optimisation problem. More formally, the problem is modelled with two n n, representing the cost and the ow. The aim is to assign n utilities to n locations with minimal cost. The candidate 71

assignments are evaluated according to equation 3.2.


n

C=
ij

Bij uij +

ij,k,l

Cij,k,l uik ujl

(3.2)

where n is the number of facilities and locations. Bik is the cost of assigning utility i to location k Cij,k,l is the cost of the ow between neighbouring utilities (given utility i is assigned to location k and utility j is assigned to location l uik is 1 if utility i is assigned to location k , 0 otherwise QAP does not allow for multiple assignments to the same location, hence solutions are subject to the following constraints: The assignments are subject to constraints regarding the
n

uij =1,
j =1 n

i = {1, 2, ..., n} j = {1, 2, ..., n}

(3.3) (3.4) (3.5)

uij =1,
i=1

uij {0, 1}, i, j = {1, 2, ..., n} The Multiobjective Quadratic Assignment Problem

MQAP is the multiobjective version of the Quadratic Assignment Problem (QAP). MQAP is a dicult problem, where even relatively small problem instances (of dimension n=20) cannot be solved to optimality. The aim in mQAP is to assign n utilities to n locations with minimal cost, which is similar to singleobjective QAP. However, in mQAP, we are concerned with the ow of more than one type of item. 72

For instance, in a hospital layout problem, dierent aspects have to be considered, such as minimising the travel distance of the doctors to patient, of the patients to their rooms, of hospital visitors to the patients, and of pharmaceuticals or other equipments from storage rooms to operation or patient rooms. Similar to QAP, the overall cost of assigning all facilities to locations is evaluated according to Equation 3.6.
n

Cs =
ij

Bij uij +

ij,k,l

Cij,k,l uik ujl

(3.6)

The mQAP is formulated as:

minimise : C = [C1 , C2 , ..., Cm ] where m is the number of objectives to be minimised.

(3.7)

This problem and its tness landscapes have been carefully investigated by Knowles and Corne [99] and a set of benchmark problems are published at http: //dbkgroup.org/knowles/mQAP/.

3.3.3

Benchmark Methods

The main goal of the thesis is to build a parameter control method that improves choices of parameter values, which result in better algorithm performance. To determine if the goal is achieved, we compare the approaches introduced in this thesis with state-of-the-art methods. For each of the four contributions, we have selected distinguished benchmark methods against which we compare the achieved results. Benchmark methods are described in the validation section of each contribution chapter. 73

3.3.4

Comparative Measures

In order to compare two or more Evolutionary Algorithms, suitable performance measures have to be identied. If the optimal solutions of the problems considered are known, a Success Measure (SM) can be dened as nding the optimal solutions(s). SM can be used to dene a performance measure as the percentage of runs terminating with success [46]. The class of problems we consider are mostly NP-hard, and often the optimal solutions are not known. In this case, SM is not appropriate. The performance of algorithms when solving problems where the optimal solution(s) are not known can be assessed by using the computation time (CPU time) required to achieve results of certain quality. This measure is not very accurate, since it depends on dierent factors, such as the programmers abilities, the hardware used, the operating system, compiler, etc. If the algorithms are implemented by dierent programmers, the comparison using the computation time is ill-suited since more experienced programmers are capable of implementing programs which execute faster. Using the computation time may give dierent results if the same experiment is executed in dierent computers, due to the hardware, operating system, compiler, etc. Other more eective ways to evaluate Evolutionary Algorithms are the quality of the nal solutions in a predened number of function evaluations, called the Mean of Solutions Quality (MSQ) or the number of function evaluations used to achieve a certain quality, called the Average number of Evaluations to a Solution (AES) [46]. The AES can give a fair comparison of the algorithms if the each function evaluation takes the same amount of computation time, and that they consume most of the time of the algorithm run. The Average number of Evaluations to a Solution can be misleading if this is not the case. We use the MSQ and allow for all our experiment a xed number of function eval74

uations. This measure considers the stochastic nature of Evolutionary Algorithms, which leads to dierent results for dierent runs, by expressing the performance measure as the mean of the nal quality of the solutions over a number of independent runs. Altogether 30 independent runs are performed per EA and test problem in order to restrict the inuence of random eects. A dierent initial population is randomly created each time, and for each test problem all EAs operate on the same 30 initial populations. The MFQ can always be used to measure the performance of stochastic optimisers, since it does not require the optimal solutions. In order to check for a statistical dierence in the outperformance of the optimisation schemes, results are validated using the Kolmogorov-Smirnov (KS) non-parametric test [149].

75

76

Part II Contribution

77

Overview
This thesis makes four main contributions related to each of the four steps of adaptive parameter control: the feedback strategy, the eect assessment strategy, the quality assessment strategy and the parameter selection strategy. First, we investigate dierent performance metrics for reporting the feedback in multiobjective optimisation problems and provide recommendations on successful strategies. The second contribution is related to the estimation of the stochastic eect of parameter values on the performance of the optimisation algorithm. We propose a Bayesian model which approximates the relationship between the parameter values and the algorithms performance probabilistically. This probabilistic relationship represents the eect of parameter values on the successful performance of the algorithm. The third contribution is in the estimation of the overall quality of the parameter values. The eect of parameter values measured in the past iterations is used to predict their quality for the next iteration. The quality of parameter values is employed to select the parameter values to use in the next iteration choices, in which parameter values with a high quality are more likely to be selected. The nal contribution is related to the selection of parameter values when adapting real-valued parameters, for which the discretisation of the value intervals into ranges is required. We propose a new parameter selection strategy which adapts ranges of real-valued parameters during the optimisation process. 79

In essence, in this thesis we propose four strategies for performing each of the steps in adaptive parameter control: a Multiobjective Feedback Collection (MFC) strategy, presented in Chapter 4, a Bayesian Eect Assessment (BEA) strategy, described in Chapter 5, a Predictive Quality Attribution strategy (PQA), given in Chapter 6 and an Adaptive Range Parameter Selection strategy (ARPS), described in Chapter 7.

80

Chapter 4 Feedback Collection Strategy


4.1 Introduction

Adaptive parameter control derives the probabilities of parameter values to choose for the next iteration from the algorithms performance, which is part of the feedback collection strategy. The main aspect of the performance of an optimisation algorithm is the current tness of the solution(s), where the aim is to minimise/maximise its value. This is usually the way performance is measured in a singleobjective algorithm, in which the solution with the best tness value (smallest value in minimisation problems and largest value in maximisation problems) is reported for each run of the algorithm. Hence, noting the achieved tness as a measure of the performance of a singleobjective algorithm is agreeable. In a multiobjective problem, and in the absence of a preference for certain objectives, the optimisation process produces a set of nondominated solutions, which make a trade-o between the tness functions. Measuring the performance of a multiobjective algorithm is not straightforward, since the output of the algorithm is more than one value. The success of measuring the performance of a multiobjective optimisation algorithm relies on the ability to express the quality of multiple data points with a single value to use as a feedback for the adaptive parameter control method. State-of-the-art adaptive parameter control methods typically consider singleob81

jective optimisation problems and use the tness of the solutions (f (s)) as an indication of the performance of the algorithm [47, 56, 181, 37, 38, 94, 84, 7]. In typical approaches the tness is employed directly, i.e. a high tness indicates a good performance of the algorithm. These feedback collection collection mechanisms are not suitable to use in adaptive parameter control for multiobjective optimisation algorithms, which usually produce more than one solution as output. Recommendations regarding appropriate feedback collection mechanisms to use in adaptive parameter control for multiobjective optimisation are not available. Acknowledging these facts, in this chapter, we investigate the following research question:

\ What is an eective feedback collection strategy to use in adaptive


parameter control for multiobjective optimisation? With the aim of selecting an adequate performance metric for the feedback collection strategy to use in adaptive parameter control for multiobjective Evolutionary Algorithms, we discuss dierent performance aspects in multiobjective optimisation. These performance aspects are employed to examine state-of-the-art performance metrics for multiobjective optimisation algorithms and to provide recommendations for successful strategies to use in multiobjective feedback estimation. This step is a precondition for the following main contribution chapters, which employ the information from the feedback collection strategy to decide on the successful applications of parameter values and adjust them accordingly.

82

4.2

Performance Aspects in Multiobjective Optimisation

In singleobjective optimisation, the output of an optimisation run is a single solution, which has the best objective value (i.e. tness of the solution). Hence, the performance of the algorithm can be directly assessed by using the achieved tness of the best solution, which pertains to the quality of that solution. In multiobjective optimisation, the output of the optimisation process is the set of nondominated solutions that guarantee a trade-o among the objective values. As a result, multiple data points should be used to calculate the performance of a multiobjective optimisation algorithm. In this section, we discuss the quality aspects of nondominated solutions that should be considered when measuring the performance of the algorithm. Zitzler et al. [195] suggest that a performance metric for multiobjective optimisation algorithms should consider three aspects: (i) the distance of the nondominated solutions to the Pareto front, (ii) the distribution of the nondominated solutions, and (iii) the extent of the obtained nondominated front.

f2

Pareto-optimal front S1 S2 S3

f1

Figure 4.1: Properties of nondominated sets.

83

The rst criterion pertains to the tness of a nondominated set. The closer the nondominated solutions to the Pareto front, the better they are. The other two properties measure how the solutions are distributed, which describes the diversity of the solutions. An even distribution of the solutions and a large coverage of the Pareto front is desirable. Consider the outcome of three hypothetical optimisation algorithms in a maximisation problem and the Pareto-optimal front depicted in Figure 4.1. The three nondominated sets dier from each other with respect to three performance aspects.
The nondominated set S2 has a more uniform distribution of the solutions than the other nondominated sets, the nondominated set S3 has a smaller distance to the Pareto-optimal front, i.e. has a better tness, whereas the nondominated set S1 has

a larger extent, i.e. has a better coverage property. In essence, the key question when selecting a performance metric for multiobjective optimisation is how to summarize the nondominated solutions with a single value. The underlying idea is to quantify the quality of nondominated solutions, which describes the performance of the optimisation algorithm. We investigate state-of-the-art performance metric for multiobjective optimisation with respect to the performance properties described in this section. The goal is to select an appropriate performance measure that quanties the change in the properties of nondominated fronts and accurately guides the parameter control strategy.

84

4.3

Multiobjective Performance Metrics

Performance metrics for multiobjective optimisation have been widely studied in the optimisation community. A review of state-of-the-art performance metrics for multiobjective optimisation is depicted in Table 4.1. The majority of performance metrics assign a nondominated set a value which represents a certain property, such as diversity or tness. They are usually referred to as unary measures, since they consider only one set of solutions. Binary metrics, such as binary hypervolume indicator [197, 198] and the binary epsilon indicator [198] can be used to assign property measures to pairs of nondominated sets. Unary measures assess the performance of multiobjective optimisation algorithms by using the tness of the nondominated solutions only, the diversity of the results exclusively or both tness and diversity. In terms of the diversity property, unary metrics calculate the total number of solutions in a nondominated set (front occupation indicator [185]), the spread of the solutions (front spread indicator [194]) or the relative distance between solutions (spacing indicator [165]). However, the diversity property alone is not very useful if the tness of the solutions is unkown. The solutions in the nondominated set may have a high diversity, however the ultimate goal of optimisation is to nd solutions that have a good tness as well. Unary tness metrics found in the literature measure the distance of the nondominated solutions to the Pareto-optimal front, such as the proximity indicator [185] and the generation distance [8]. The optimal solutions often are not known, especially when solving previously unknown NP-hard problems. This is particularly true when using parameter control techniques to adapt algorithm parameters during the optimisation of problems which most probably have not been optimised beforehand, and whose Pareto-optimal front is not known. Hence, performance measures which calculate the quality of nondominated sets with respect to the Pareto-optimal front 85

Table 4.1: Performance metrics for multiobjective optimisation algorithms.


Metric Cluster [109] Property Diversity Description Numbers of clusters in solution space represent diversity. Measures the size of the dominated area in the objective space. Measures the range variance of neighbouring solutions in the nondominated set. Divides the whole nondominated region into sub-regions. Measures Euclidean distances between solutions and two additional extreme solutions. Indicates the size of the objective space covered by an approximation set. Indicates the number of points available in the nondominated set. Euclidean distance of the nondominated solutions to the Pareto front. Measures the coverage of the Pareto front. Comment Unary measure. Very sensitive to the parameters. Unary/binary measure.

Binary Hypervolume [197] Spacing [165]

Diversity, tness Diversity

Unary measure. Fails if all the solutions are located in the same point. Unary measure. Fails in multiobjective optimisation and is sensitive to the division. Unary measure. Requires some prior knowledge of the Pareto front. Unary measure. Does not consider the number of points. Unary measure. Does not measure how far these points are from each other. Binary measure. Requires prior knowledge of the Pareto Front. Binary measure. Requires some prior knowledge of the Pareto Front. Unary measure. Nonconvex points of a set are not considered. Binary measure. Works only for comparing nondominated solutions.

Chi-squarelike deviation [178] [41]

Diversity

Diversity

Front Spread [194]

Diversity

Front Occupation [185]

Fitness

Generation Distance [8]

Fitness

Proximity [185]

Fitness, diversity

Average best weight combination [52] Binary Epsilon

Fitness

Fitness.

Measures the desirable properties of a set using user preferences. Measures the minimum factor between two nondominated solutions

86

are a poor choice, in particular when used as a feedback collection mechanism in adaptive parameter control methods. Other unary metrics employ user preferences to evaluate the quality of nondominated points. One example is the average best weight combination [52]. The user species a goal and feasibility vector (g, c) G, where G is the set of all preference vectors. Each goal value gi species a user preference for the value of tness function fi and ci species the limit beyond which solutions are of no interest. In a minimisation problem, the quality of a nondominated point s i is calculated using the goal vector as follows:

k j

wj =1 fj (s i) wj gj max(cj , gj )
2 gj max(cj , gj ) wj

if fj (s i ) gj gj fj (s i ) cj otherwise

q ( s i) =

k j =1 k j =1

where wj represents the weight for objective function fj . This metric does not require the Pareto-optimal front to calculate the tness of the solutions. However, the average best weight combination requires that the user denes the goal and feasibility vector, which is dierent for every problem and objective functions being optimised. This limits the applicability of the metric to problems in which a goal and feasibility vector does not exist or cannot be generated. Furthermore, in order to use this method as a feedback collection strategy in parameter control the goal and feasibility vector has to be dened for every iteration, which is impractical. Despite the variety of performance metrics in the literature, the majority of these methods do not indicate how well a multiobjective optimisation algorithm performs with respect to both diversity and tness properties. The proximity indicator [185] is one of the few examples of performance metrics that measure both tness and diversity of nondominated solutions. However, this metric assumes that the Pareto87

optimal front is known or can be generated. Zitzler et al. [196] investigated dierent unary and binary performance metrics for multiobjective optimisation. The goal of the study was to understand if it is possible to conclude from a performance metric that a nondominated set is undoubtedly better than another nondominated set, and to what extent that metric helps in making precise statements about how much better it is. The study concludes that there exist no unary performance metric capable of achieving this and their use is discouraged. In essence, the authors argue that binary performance metrics are superior to unary ones. One of the recommended metrics is the coverage measure [197], which is a binary performance metric usually used for comparison and interpretation of results from dierent runs or algorithms. The coverage measure calculates the number of solutions in a results set that are dominated by the other results set, and reports it as a percentage. In the maximisation problem shown in Figure 4.2, the coverage mea ) = 0.25 , S1 ) = 0.75 and C (S2 , S2 are C (S1 and S2 sures for nondominated sets S1

respectively.
f1

S1

S2

f2

Figure 4.2: Coverage measure.

Despite being an accurate metric in measuring if a nondominated set is better 88

then another one [196] coverage measure does not calculate how much better are the solutions. Two other metrics recommended by this study are the binary hypervolume indicator [197, 198] and the binary epsilon indicator [198]. Both metrics are capable of detecting whether a nondominated set is better than another nondominated set. The binary hypervolume indicator and the binary epsilon indicator provide additional information about how much better a nondominated set is compared to the other. Instead of using the Pareto-optimal front as a reference set to measure the quality of nondominated solutions, both metrics assign quality measures to pairs of nondominated sets, hence the term binary. In the case of binary epsilon indicator, quality refers to the tness of the solutions, whereas for the binary hypervolume indicator quality is measured as the diversity and the tness of the solutions. The binary hypervolume indicator considers the dominated area (volume or hyperspace) in the objective space as a measure of the quality of the nondominated set. The epsilon indicator calculates the smallest value that is needed to add to the objective values of all solutions in one nondominated set, such that it dominates the other nondominated set. These two metrics are described in more details in the next sections.

4.3.1

Binary Hypervolume Indicator

) [197, 198] uses the dominated part of the The binary hypervolume indicator (h objective hyperspace to measure the dierence between two nondominated solutions with respect to diversity and tness. It was rst devised by Zitzler and Thiele [197], dened as the hypervolume in the objective space that is dominated by one of the nondominated sets but not by the other, e.g. Figure 4.3. Formally, the hypervolume indicator can be dened by using volumes of poly89

f1

S1

S2

f2

Figure 4.3: The binary hypervolume indicator is the area (volume or hyperspace) between two nondominated sets. It is measured as the dierence of the hypervolume values of the two sets.

topes [197]. Let F = {f1 , f2 , ..., fo } be the set of objective functions, and S =
{ s 1 , s2 , ...sn } be the set of nondominated solutions. For each axis in the objective

space F and for each nondominated solution s i there exists a hyperplane perpendicular to the axis and passing through the point (f1 (xi ), f2 (xi ), ..., fo (xi )). A polytope pi is formed by the intersection of the hyperplanes that arise out of s i along with (S ) calculates the area, volume or hyperthe axes. The hypervolume indicator h space enclosed by the union of the polytopes p1 , p2 , ..., pn . For instance, in the two-dimensional case, i.e. when optimising two objectives functions f1 and f2 , each polytope pi represents a rectangle dened by the origin (0.0) and the data point
(f1 (s i ), f2 (si )).

The binary hypervolume indicator has shown to be very sensitive to small improvements of the nondominated solutions [198]. For instance, if a nondominated set dominates another nondominated set, the binary hypervolume indicator will reect this dierence of the quality of the two nondominated solutions [198]. 90

4.3.2

Binary Epsilon Indicator

The binary epsilon indicator ( ) [198] calculates the dierence by which one nondominated set of solutions is worse than another nondominated set with respect to all objective functions. More specically, the value of is equal to the smallest value that is needed to add to each objective value of the solutions in one nondominated set, such that it dominates all solutions in the other nondominated set. An example of the -indicator in a maximisation problem is shown in Figure 4.4.

f2

S1

S2

f1

Figure 4.4: The binary epsilon indicator is the smallest value that is needed to add to the objective values of one nondominated set, such that it dominates all points in the other nondominated set.

Formally, in a maximisation problem, given two sets of nondominated solutions


S1 and S2 , the objective vector F (S1 ) is said to -dominate the objective vector F (S2 ), denoted as S1 S2 , if and only if f F, s 1 S1 , s2 S2 : + f (s1 ) f (s2 ).

4.3.3

Example

To illustrate the dierence between these two metrics consider the results from a maximisation problem shown in Figure 4.5, in which both the binary hypervolume and the binary epsilon indicators are employed to measure the change in the quality 91

of the solutions after an optimisation run. Figure 4.5a and 4.5b depict the same
nondominated solutions, where S1 is the initial nondominated set and S2 is the

output of the optimisation process, i.e. the optimised nondominated solutions.


f2
7 6 5 4 3 2 1 0 1 S1 2 3 4 S2 5 6 7

=1

f2
7 6 5 4 3 2 1
= 8.25 h

f1

(a) Binary epsilon.

1 2 3 4 5 6 7 S1 S2 (b) Binary hypervolume.

f1

Figure 4.5: Example of binary hypervolume and binary epsilon indicators.

The quality improvement is measured using the binary epsilon indicator, graphically shown in Figure 4.5a and the binary hypervolume indicator depicted in Figure 4.5b. The binary hypervolume indicator, represented by the shaded area in Figure 4.5b, is equal to 8.25, and the binary epsilon indicator, represented by the biggest dierence among the objective values of the two nondominated sets in Figure 4.5a, is equal to 1.
Figure 4.6 shows a dierent scenario. The nondominated set S1 is similar to the one showed in Figure 4.5, whereas the nondominated set S3 is similar to S2 , but

has one solution (the solution highlighted with a circle) which is better in quality, i.e. both tness values are bigger. The binary hypervolume indicator in this case is equal to 9.75 and the binary epsilon indicator is 2. Comparing the two examples in Figure 4.5 and 4.6, it can be observed that by improving the tness of a single solutions the binary epsilon indicator value doubled, i.e. the binary hypervolume value of the nondominated set in Figure 4.6b is 100% more than the binary hyper92

f2
7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 S1 S3 (a) Binary epsilon.

=2

f2
7 6 5 4 3 2 1
= 9.75 h

f1

3 4 5 6 7 S3 (b) Binary hypervolume. 1 S1 2

f1

Figure 4.6: Example of binary hypervolume and binary epsilon indicators.

volume value of the nondominated set in Figure 4.5. The value of the binary epsilon indicator, on the other hand, increased by only 18%. Lets consider a third scenario depicted in Figure 4.7, in which the circled solutions
in the nondominated set S4 are better in quality compared to the solutions of the nondominated set S3 .

f2
7 6 5 4 3 2 1 0 1 S1 3 4 5 6 7 S4 (a) Binary epsilon. 2

=2

f2
7 6 5 4 3 2 1
= 16.36 h

f1

1 2 3 4 5 6 7 S1 S4 (b) Binary hypervolume.

f1

Figure 4.7: Example of binary hypervolume and binary epsilon indicators.

In this example, the binary hypervolume indicator is equal to 16.36, i.e. approximately 68% better than the original value in the example shown in Figure 4.6. The binary epsilon indicator instead is the same as the original value ( = 2) despite the 93

fact that three solutions in S4 have better quality.

This example shows that the binary hypervolume indicator is more sensitive to the diversity of the solutions compared to the binary epsilon indicator. On the other hand, the binary epsilon indicator is more sensitive to improvements in the quality of the solutions. In summary, the binary hypervolume indicator measures both tness and diversity of nondominated sets, whereas the binary epsilon indicator is aected more by the tness property.

94

4.4

Validation

Both binary hypervolume indicator and binary epsilon indicator are possible choices for the multiobjective feedback collection strategy. In this section, we investigate the use of these two metrics as a feedback collection mechanism for parameter control in multiobjective optimisation. The main objective is to select an appropriate feedback collection strategy that improves the search for high-quality solutions. We employ the binary hypervolume indicator and the binary epsilon indicator as feedback collection mechanisms for parameter control, and compare the outcomes of the optimisation runs using these feedback collection strategies. In essence, in this section, we aim at nding an answer to the following research question:

\ What is an eective feedback collection strategy to use in adaptive


parameter control for multiobjective Evolutionary Algorithms? To compare the results we use dominance ranking, proposed by Knowles et al. [100]. Dominance ranking is based on ranking the nondominated sets by means of the dominance relation described in Section 2.2. In essence, each nondominated set generated by one optimisation scheme is assigned a rank representing the number of nondominated sets generated from the other optimisation scheme that are not dominated by it. The lower the rank, the better the nondominated set. A nonparametric statistical test is used to verify if the rank distributions for the two optimisation schemes are signicantly dierent or not.

4.4.1

Experimental Settings

Both performance assessment methods (binary hypervolume indicator and binary epsilon indicator) are used as a feedback collection mechanism during parameter control in a multiobjective Evolutionary Algorithm. We use a quality-proportionate selection mechanism to select the parameter values for the next iteration. Quality95

proportionate selection assigns each parameter value a selection probability proportional to their quality. For the purpose of this experiment, the quality of the parameter values is equal to the performance of the algorithm instance measured by the two performance assessment methods. The crossover and mutation operators and their rates are probably the most conspicuous control parameters to optimise in stochastic optimisation [13]. Hence, for the benet of these experiments the crossover and mutation rates were varied. For the crossover and mutation rates we use dierent value intervals to sample from. Preliminary trials have shown that a cardinality of two intervals or levels with ranges of {[0.6, 0.799], [0.8, 1.0]} produced the best results among several cardinalities with even spreads between 0.2 and 1 for crossover rate, and two intervals of {[0.0010, 0.25], [0.2505, 0.5]} for mutation rate. We use six instances of the multiobjective Quadratic Assignment Problem obtained from the database of benchmark problems published at http://dbkgroup. org/knowles/mQAP/: a uniform biobjective instance of dimension n=20 (KC202-3uni), a uniform triobjective instance of dimension n=30 (KC30-3-2uni), two triobjective real instances of dimension n=30 (KC30-3-2rl and KC30-3-3rl), two biobjective real problem of dimension n=10 (KC10-2-5rl) and n=20 (KC20-2-5rl). All problems are NP-hard, and their Pareto fronts are not known. The solution representation of the Quadratic Assignment problem is an array which describes the numbered locations and the values of the array represent the items. The problem is optimised using an Evolutionary Algorithm with stringbased representation and customised crossover and mutation operators with their respective probabilities of being applied. Multipoint crossover swaps the assignments between solutions. The mutation operator changes the assigned item of a single location. Every optimisation instance is granted 30000 function evaluations. To obtain a 96

fair comparison among the dierent eect assessment schemes we repeat each run 30 times, and report the results as boxplots. Furthermore, to check for a statistical dierence of the results, the dierent eect assessment schemes of the optimisation methods are validated using the Kolmogorov-Smirnov (KS) nonparametric test [149].

4.4.2

Results

The means and standard deviations of the dominance rankings of the 30 repeated trials are reported in Table 4.2. The means show a signicant dierence between indicator and the binary the result groups of the binary h indicator.

Table 4.2: The means, standard deviations (SD) and the Kolmogorov-Smirnov test values of the 30 runs of each problem instance using dierent feedback collection strategies. Mean Problem KC10-2-1rl KC10-2-5rl KC20-2-5rl KC20-2-3uni KC30-3-2rl KC30-3-2uni h 3.233 3.667 5.000 13.41 2.667 5.500 4.600 4.967 6.300 18.45 4.500 8.900 h 0.12 0.66 0.50 0.60 0.88 0.95 0.30 0.44 0.09 0.22 0.30 0.73 SD KS test d 0.3667 0.4333 0.3529 0.3793 0.3333 0.4000 p 0.026 0.005 0.021 0.022 0.047 0.011

The results show that means of the binary hypervolume indicator are above the respective values of the binary epsilon indicator. The least benet the binary hypervolume indicator provides for the triobjective problem instance KC30-3-2rl. This is an inherent feature of the binary hypervolume indicator, whose accuracy decreases with the increase of the number of the objectives. The results of a statistical analysis, depicted in Table 4.2, clearly show a signicant dierence between the result groups of the binary hypervolume indicator and the binary epsilon indicator. 97

All KS tests, used for establishing dierences between independent datasets under the assumption that they are not normally distributed, result in a conrmation of the null hypothesis with a minimum d-value of 0.3333 at a 95% condence level. Hence we conclude that the superior performance of the feedback collection mechanism using the binary hypervolume indicator is statistically signicant.

4.5

Summary

In this chapter we investigated dierent feedback collection mechanisms for multiobjective Evolutionary Algorithms and performed an empirical evaluation of two recommended metrics: the binary hypervolume indicator and the binary epsilon indicator. When employed by the feedback collection mechanism, the binary hypervolume indicator produced better results quality compared to the binary epsilon indicator. The calculation of binary hypervolume indicator becomes computationally expensive with the number of objectives. Previous works recommend that binary hypervolume indicator should be used with problems that have less than four objectives. The binary epsilon indicator, on the other hand, is easy to calculate. In the next chapters, we employ the binary hypervolume indicator as a feedback collection mechanism in adaptive parameter control for multiobjective Evolutionary Algorithms.

98

Chapter 5 Parameter Effect Assessment Strategy


5.1 Introduction

The performance of the optimisation algorithm, measured as described in Chapter 4, is used as evidence to approximate the eect of parameter values. This step determines the relationship between the solution space and the parameter space. The most common way of assessing the eect of parameters is by using the improvement in specic properties of the generated solutions with respect to a reference solution sref . This reference point can be either the parents of the generated solutions [94, 183, 191, 79, 85, 83, 84, 56, 177], the best solution so far [37, 114, 65, 47], or a specied quantile, e.g. the median [94, 95]. For example, if a mutation rate 0.01 is applied to create a solution s from its parent s, the eect of the mutation rate on the performance of the algorithm is equal to the tness gain f = f (s ) f (s). In the approach of Srinivas and Patnaik [177], the operator rates are inversely proportional to the dierence between the maximum tness and the average tness of the population. A low dierence is associated with solutions with similar tness, hence the operator rates are increased to introduce more diversity in the population. As a result, lower values of operator rates are applied to high-tness solutions, and 99

higher values of operator rates are used to change low-tness solutions. In essence, state-of-the-art parameter eect assessment methods associate specic properties of an EA with particular parameters, and vary the parameter settings according to the changes in these properties. However, Evolutionary Algorithms are stochastic systems, which may produce dierent results quality for the same parameter values [43]. Moreover, the performance of the algorithm can be aected by more than one parameter value. Hence using the performance improvement reported by the feedback strategy directly as an indication of the eect of parameter values may be misleading. The uncertainty regarding the real cause of the algorithm performance improvement and the stochastic nature of the EAs should be taken care of by the parameter eect assessment strategy, which leads us to the following research question: What is an eective method for assessing the stochastic eect of EA parameters? To accommodate the stochastic nature of EAs we employ statistical tools which approximate the eect of parameter values based on conditional probabilities. We model the relationship between the performance of the algorithm and parameter values as a Bayesian Belief Network, and dene a probabilistic eect measure called Bayesian Eect Assessment (BEA). Instead of using the performance improvement of the EA directly, the Bayesian Eect Assessment Strategy is conditional on the usage of the parameter values, as a result calculating their relative eect on the performance of the optimisation algorithm. The same parameter values are applied to more than one solution and a success measure is dened, which counts the number of times a parameter value was used and the number of times the solutions using this value were successful. Success is dened as producing solutions with feedback above a certain threshold. The threshold value covers the uncertainty of EA outcomes. 100

5.2

Bayesian Eect Assessment Strategy

In our approach, the optimisation process is carried out in X = {x1 , x2 , ..., xk }, k parallel algorithm instances. Each algorithm instance evolves independently and every iteration reports to an algorithm manager, which coordinates all algorithm instances. At the start of the optimisation process, the algorithm manager randomly assigns each instance dierent parameter values. However, the same parameter value can be assigned to more than one instance. Figure 5.1 illustrates this process for n parameters ({1 , ..., n }).
Evolutionary Algorithm {1 , 2 , ..., n } {1 , 2 , ..., n } {1 , 2 , ..., n } {1 , 2 , ..., n } xk

x1

x2

x3

M(x1 )

M(x2 )

M(x3 )

M(xk )

Figure 5.1: Assessing the eect of parameters with parallel instances of the optimisation algorithm

Each algorithm instance has the same number of solutions, in the range [1, ], which can also be subject to optimisation. During every iteration, new solutions are created in each algorithm instance by using the parameter values assigned to them. At the end of each iteration, the algorithm instances report the performance that was achieved during that iteration to the algorithm manager. We denote the set of performance metrics used to measure the performance of an Evolutionary Algorithm as M = {m1 , m2 , ..., mp }. At each iteration, the achieved performance for each algorithm instance is measured by calculating the improvement in the properties of the current solutions, measured by these metrics, with respect to the properties of the solutions in the previous iteration, as shown in Equation 5.1. 101

t1 M(xi ) = M(xt i ) M(xi )

(5.1)

We denote the eect of parameter values on this performance change as e. This performance dierence determines if the parameter value was successful, denoted as e+ , or unsuccessful, denoted as e = e . Success is dened as producing solutions with performance values above a certain threshold th. Given an algorithm instance xi , the eect of parameter values used in that instance is calculated as: e+ e(xi ) = e

if M(xi ) > th otherwise

In other words, if the change in the performance metric of an algorithm instance in the last iteration, i.e. the dierence between current (time t) M(xt i ) and the
1 value of the performance metric at the previous iteration M(xt i ) is above th, that

instance is deemed successful (e(xi ) = e+ ), which also means that the parameter values used to produce the solutions are considered successful. The value of the threshold th determines the greediness of the algorithm. For smaller values of th (e.g. 5% of the best solutions) the focus of parameter control is narrowed to the absolute best-performing parameter values. Larger values of th (e.g. 50% of the best solutions) allow a better exploration of parameter values with a moderate performance. The eect of this hyperparameter is investigated in Section 5.4. The successful or unsuccessful performance of a parallel instance xi can be affected by dierent factors. First, Evolutionary Algorithms have more than one parameter that can aect their performances, which makes it dicult to reward specic parameters according to their merits. Second, Evolutionary Algorithms are stochastic solvers, which return dierent results for the same parameter settings. 102

An ideal parameter eect assessment strategy would consider these two kinds of uncertainties. Hence, we propose to use Bayesian Belief Network (BBN) [44] as a probabilistic parameter eect assessment strategy. BBNs measure cause-eect relationships between variables in a probabilistic way. They are considered to be eective tools in modelling systems which do not have complete information about the variables and the available data is stochastic or not completely available. BBNs are represented as directed acyclic graphs (DAGs) which have probability labels for each node as a representation of the probabilistic knowledge. The graph is dened as a triplet (V, L, P ) [44]. V = (v1 , v2 , ...vn ) is a set of n variables represented by nodes of the DAG. We think of each variable as an event which consists of a nite set of mutually exclusive states. It is also possible to represent continuous variables, representing a numerical value such as crossover probability, by discretising them into a number of intervals. L is the set of links that denote the causal relationship among the variables V , modelled as directed arcs between nodes of the DAG. The directed links between variables represent dependence relationships. A link from a variable v1 to variable v2 indicates that v2 depends on the parent node v1 , which is denoted as (v2 ). It can also be explained as a causal relationship where v1 is the cause of the event v2 . The lack of a link between two nodes means that the nodes are not dependent on each other. This relationship is represented graphically in Figure 5.2.

v1

v2

Figure 5.2: An example of a Bayesian Belief Network. 103

We use BBNs to model the relationship between algorithm parameters and their eect on the performance of the algorithm. The eect on the algorithm is represented by a child node with the name e, which takes two values: e+ for a successful eect and e for an unsuccessful eect. The child node e has many parent nodes which represent the algorithm parameters denoted as {1 , 2 , ..., n }, as shown in Figure 5.3. Each node i can take dierent values, which we denote similarly to parameter values (ranges) as {i1 , ..., imi }.
1 2 n

Figure 5.3: A BBN modelling the relationship between algorithm parameters and the performance of the algorithm.

Each of the parent nodes i is annotated with probabilities p(ij ), as shown in Figure 5.4. These represent the prior probabilities, which can be calculated as classical probabilities, to represent the probability that a certain parameter value will occur, or as Bayesian probabilities, to represent a belief that a certain parameter value will be used. In the rst iteration, we assign equal prior probabilities to each value of the parameters, calculated as: 1 mi

p(ij ) =

(5.2)

where mi is the total number of values or intervals of parameter i . This represents our belief in how frequently a certain parameter value should be used. These prior probabilities are used to select the parameter values to assign to the algorithm instances in the rst iteration. The probability that the child node e attains a certain value, in our case e+ or 104

e , depends on the probabilities of the parent nodes, i.e. the probabilities of the parameter values. This relationship is measured as a conditional probability, i.e. the probability of an event occurring given that another event has already happened, dened as: P = {p(e | (e)) | (e) V }, where (e) are the parents of node v .
p(11 ) p(12 ) p(1m1 ) 1 p(21 ) p(22 ) p(2m2 ) 2 p(n1 ) p(n2 ) p(nmn ) n

e p(e+ |11 ) p(e+ |12 ) p(e+ |1m1 ) p(e+ |21 ) p(e+ |22 ) p(e+ |2m2 ) p(e+ |n1 ) p(e+ |n2 ) p(e+ |nmn )

Figure 5.4: A Bayesian Belief Network annotated with conditional probabilities employed by the parameter eect assessment strategy.

To calculate the conditional probabilities, every iteration, we establish the number of times the value has been used, denoted as n(ij ) and the number of times the value led to a success n(ij e+ ) (the number of successful instances that use that parameter value). Then we calculate the conditional probabilities for each parameter value by using Equation 5.3. These conditional probabilities represent the success rate of each parameter value in the current iteration. n(ij e+ ) n(ij )

p(e+ |ij ) =

(5.3)

where n(ij e+ ) is the successful attempts that use ij and n(ij ) is the number of times ij was used. The conditional probabilities of all parameter values ij , i 105

n, j m describe the likelihood of the causes of the successful performance of the algorithm instances. Conditional probabilities, are calculated for all parameter values resulting in the annotated graph shown in Figure 5.4. The initial structure of the BBN and the conditional probabilities are learnt based on the data from the k parallel optimisation instances. Algorithm 2 shows the steps of the process. Algorithm 2 Bayesian Eect Assessment Strategy 1: procedure EAS 2: for all parameter i , i n do 3: for all algorithm instance xs , s k do 4: for all parameter value ij , j m do 5: if ij is used in xs then 6: n(ij ) = n(ij ) + 1 7: if M(xs ) > th then 8: n(ij e+ ) = n(ij e+ ) + 1 9: end if 10: end if 11: end for 12: end for 13: end for 14: for all i , i n do 15: for all ij , j m do n(ij e+ ) 16: p(e+ |ij ) = n( ij ) 17: end for 18: end for 19: end procedure

This probabilistic eect assessment strategy calculates the relative success rate of each parameter value with respect to other parameter values. As a result, the calculated conditional probabilities deal with the uncertainties that arise from the stochastic nature of Evolutionary Algorithms by measuring the eect of parameters probabilistically, instead of using directly the performance dierence, as other stateof-the-art methods.

106

5.3

Example

We illustrate the parameter eect assessment procedure described in Algorithm 2 with an articial data set, which has three categorical variables: two controlled parameters (1 , 2 ), each of them having two intervals: 11 , 12 and 21 , 22 respectively, and the performance increase of the algorithm e, which can take two dierent values: e+ and e . As mentioned in Section 5, when the performance of the algorithm is above a certain threshold, we consider that instance successful, denoted as e = e+ , otherwise it is deemed unsuccessful, denoted as e = e . Suppose that we have 10 parallel algorithm instances, denoted as {x1 , x2 , ...x10 }. Each instance uses parameter values for the two controlled parameters (1 and 2 ) selected from dierent intervals as shown in Figure 5.5. The dots symbolically represent the solution sets of the instances.
Evolutionary Algorithm {11 , 22 } {12 , 22 } {12 , 21 } {12 , 21 } {12 , 21 }

x1 {11 , 22 }

x2 {11 , 21 }

x3 {12 , 22 }

x4 {12 , 21 }

x5 {11 , 21 }

x6

x7

x8

x9

x10

Figure 5.5: Algorithm instances with parameter values selected from dierent intervals. After running the EA with the dierent instances, the performance of each instance is assessed separately. Suppose that instances {x1 , x2 , x7 , x10 } are deemed successful as shown in Figure 5.6 The same results are written in a table format as depicted in Table 5.1. Using the data in Table 5.1, we calculate the frequency of each parameter value in the 10 instances. Results are shown in Table 5.2. 107

Evolutionary Algorithm {11 , 22 } e = e+ {12 , 22 } e = e+ {12 , 21 } e = e {12 , 21 } e = e {12 , 21 } e = e

x1 {11 , 22 }

x2 {11 , 21 }

x3 {12 , 22 }

x4 {12 , 21 }

x5 {11 , 21 }

x6

e = e

x7

e = e+

x8

e = e

x9

e = e

x10

e = e+

Figure 5.6: Successful algorithm instances. Table 5.1: Performance of algorithm instances with dierent values for parameters 1 and 2 . Instance 1 2 e x1 11 22 e+ x2 12 22 e+ x3 12 21 e x4 12 21 e x5 12 21 e x6 11 22 e x7 11 21 e+ x8 12 22 e x9 12 21 e x10 11 21 e+

Table 5.2: Frequencies of parameter values. n(11 ) = 4 n(12 ) = 6 n(21 ) = 6 n(22 ) = 4 The next step involves calculating the frequency of each parameter value in the successful and unsuccessful instances. Results are shown in Table 5.3. Table 5.3: Frequencies of parameter values in the successful and unsuccessful instances. n(11 e+ ) = 3 n(11 e ) = 1 n(12 e ) = 5 n(21 e ) = 4 n(22 e ) = 2 108

n(22 e+ ) = 2 n(21 e+ ) = 2

n(12 e+ ) = 1

Looking at the frequencies of parameter values in the successful algorithm instances, one may think that parameter values 21 and 22 have had the same eect in the successful performance of the algorithm since they all have equal numbers in the successful class. However, these numbers do not consider the times these parameter values were unsuccessful. The conditional probabilities calculated in the nal step of the parameter eect assessment strategy using Equation 5.3 incorporate this information. Results are shown in Table 5.4. Table 5.4: The conditional probabilities of parameter values. p(e+ |11 ) = 3/4 p(e |11 ) = 1/4 p(e+ |12 ) = 1/6 p(e |12 ) = 5/6 p(e+ |21 ) = 1/3 p(e |21 ) = 4/6 p(e+ |22 ) = 1/2 p(e |22 ) = 2/4

The data in Table 5.4 shows that although parameter values 22 , 21 have the same frequency in the successful algorithm instances, they do not have the same success rates, i.e. their eect on the successful performance of the algorithm is not the same. Similarly, the conditional probabilities help in deriving conclusions about the causes of the successful or unsuccessful performance of the algorithm instances. For example, the success rate of parameter value 11 is p(e+ |11 ) = 3/4, which is higher than p(e+ |12 ) = 1/6. This means that parameter value 11 has a higher probability of being the cause of the successful performance of the algorithm instances compared to 12 .

109

5.4

Analysis of the Threshold Value

The Bayesian Eect Assessment strategy described in Section 5.2 uses a threshold value th to classify the algorithm instances into groups of high- and low-quality and determine if a parameter value has been successful. The value of th determines the greediness of the parameter eect assessment strategy. For instance, classifying only the 10% best performing algorithm instances successful (a threshold value equal to the 10th percentile), results in a fast convergence to the best parameter values. A larger value of th (e.g. the 30th percentile) allows the exploration of parameter values with a moderate performance. In this section, we investigate how this hyperparameter eects the performance of the optimisation algorithm.

5.4.1

Experimental Settings

To examine the eect of the threshold on the performance of the optimisation algorithm we test four dierent values: 10th percentile, 20th percentile, the average and the median performance gain. For the benet of these experiments, the crossover and mutation rates were varied. For the crossover and mutation rates we use dierent value intervals to sample from, with a cardinality of two intervals with ranges of {[0.6, 0.799], [0.8, 1.0]} and two intervals of {[0.0010, 0.25], [0.2505, 0.5]} for the mutation rate. For the optimisation process, we use problem instances of the Quadratic Assignment Problem (TAI30B, STE36B), the multiobjective Quadratic Assignment Problem (KC30-3-1rl, KC30-3-2rl), and the Royal Road Problem. For the multiobjective Quadratic Assignment Problem instances we record the nal hypervolume indicator value as a performance indicator. Dierent QAP instances have dierent scales of the tness values. To make the results comparable, we normalise the tness function as follows: 110

fnorm (s) =

fmax f (s) fmax fmin

(5.4)

where fmax is the maximum value and fmin is the minimum value that the tness function f can take. Since QAP is a minimisation problem, the normalisation of the results converts it into a maximisation problem. Hence, the normalised tness of the results increases over time. The solution representation of the Quadratic Assignment problem is an array which describes the numbered locations and the values of the array represent the items. The problem is optimised using an Evolutionary Algorithm with stringbased representation and customised crossover and mutation operators with their respective probabilities of being applied. Multipoint crossover swaps the assignments between solutions. The mutation operator changes the assigned item of a single location.

5.4.2

Results

The means and standard deviations of the 30 runs for each threshold value are listed in Table 5.5, which clearly show a signicant dierence between the result groups of the method using the median and the methods using the average, 10th, and 20th percentiles. The mean performance of the method using the median as a threshold value is consistently above the means of the other methods for all problems. As the threshold value using the median performance gain consistently outperforms the three other threshold values, we employ the Kolmogorov-Smirnov (KS) non-parametric test [149] to check for a statistical dierence. The 30 hypervolume indicators and normalised tness values of the repeated trials for each of the problem instances were submitted to the KS analysis. The median performance gain was compared to the other three threshold values, 111

Table 5.5: The means and the standard deviations of the optimisation schemes using dierent threshold values for the Bayesian Eect Assessment (BEA) strategy. Mean Problem Royal Road TAI30B STE36B KC30-3-1rl KC30-3-2rl Problem Royal Road TAI30B STE36B KC30-3-1rl KC30-3-2rl 10% 7.10E-03 0.5145 0.7860 0.1425 0.6004 10% 1.360E-03 1.541E-02 6.790E-03 3.936E-03 3.903E-03 20% 7.07E-03 0.5120 0.8302 0.1428 0.6003 20% 1.372E-03 1.323E-02 3.140E-02 3.809E-03 7.831E-03 Average 7.06E-03 0.5170 0.8277 0.1441 0.6009 Average 1.381E-03 1.463E-02 3.383E-02 3.727E-03 6.768E-03 Median 7.35E-03 0.5354 0.8558 0.1464 0.6072 Median 1.442E-03 2.608E-02 6.696E-03 2.809E-03 6.554E-03

Standard Deviation

Table 5.6: The Kolmogorov-Smirnov test for comparing the 30 runs of the optimisation schemes using dierent threshold values for the Bayesian Eect Assessment (BEA) strategy. Median vs. 10% Problem Royal Road TAI30B STE36B KC30-3-1rl KC30-3-2rl d 0.4333 0.5000 1.0000 0.4891 0.5375 p 0.005 0.023 0.000 0.014 0.013 Median vs. 20% d 0.4667 0.5625 0.5000 0.5625 0.4917 p 0.002 0.007 0.023 0.003 0.030 Median vs. Average d 0.4667 0.5000 0.5625 0.4375 0.6167 p 0.002 0.023 0.007 0.037 0.003

112

with a null hypothesis of no dierence between the performances (Median vs. 10%, Median vs. 20% and Median vs. Average). The KS tests resulted in a rejection of the null hypothesis with a minimum d-value of 0.4375 at a 95% condence level (see Table 5.6). Hence, we conclude that the superior performance of the Evolutionary Algorithm using the median as a threshold value is statistically signicant. These results indicate that using the median as a threshold value for the Bayesian Eect Assessment (BEA) strategy produces better results quality and is more robust than using the other threshold values. Hence, we employ the median performance gain as a threshold value in the experiments presented in the rest of the thesis.

113

5.5

Validation

The Bayesian Eect Assessment Strategy (BEA) introduced in Section 5.2 measures the eect of parameter values based on a success measure instead of using the quality gain of the generated solutions directly. We investigate if the application of the Bayesian Eect Assessment Strategy (BEA) to parameter control improves the choice of the parameters and if its use results in better algorithm performance. We compare results quality achieved by using BEA with a method that uses directly the quality gain of the solutions. In essence, the research question investigated in this section is the following: What is an eective method for assessing the stochastic eect of EA parameters?

5.5.1

Benchmark Eect Assessment Strategy

As a benchmark parameter eect assessment strategy we employ the approach of Srinivas and Patnaik (SP) [177], which calculates the eect of the variation operators (mutation rate and crossover rate) based on the maximum tness fmax and the average tness f of the population. The crossover rate c r and mutation rate m r are computed as follows:

c r =

k1 (fmax f (sc k2 (fmax f (sc r )) r )) , m r = fmax f fmax f

(5.5)

where k1 and k2 are two constants selected in the range [0.0, 1.0] and f (sc r ) is the tness gain of solutions compared to their parents. The operator rates calculated by Equation 5.5 are inversely proportional to the dierence between the maximum tness and the average tness of the population. A low dierence means that the 114

tnesses of the solutions are too similar, hence the operator rates are increased to introduce more diversity in the population. Furthermore, the operator rates are increased if the dierence between the maximum tness in the population and the tness of the solution created by applying the operator rate (fmax f ) is low, i.e. lower values of operator rates are applied to high tness solutions, and higher values of operator rates are used to change low tness solutions.

5.5.2

Experimental Settings

Bayesian Aect Assessment (BEA) is compared to the parameter eect assessment strategy introduced by Srinivas and Patnaik (SP), in which the reference points are the maximum and the average tness of the solutions. For the benet of these experiments, the crossover and mutation rates were varied. For the crossover and mutation rates we use dierent value intervals to sample from, with a cardinality of two intervals with ranges of {[0.6, 0.799], [0.8, 1.0]} for crossover rate and {[0.0010, 0.25], [0.2505, 0.5]} for mutation rate. For the optimisation process, we use problem instances from the Quadratic Assignment Problem (BUR26A, BUR26B and BUR26E) the multiobjective Quadratic Assignment Problem (KC30-3-3uni, KC20-2-5rl, KC30-3-2rl and KC30-3-3rl), and the Royal Road Problem. Every instance is granted 90000 function evaluations. To obtain a fair comparison among the dierent parameter eect assessment schemes we repeat each run 30 times, and report the results as boxplots. Furthermore, to check for a statistical dierence of the results, the dierent parameter eect assessment schemes of the optimisation methods are validated using the Kolmogorov-Smirnov (KS) non-parametric test [149]. For each parameter eect assessment scheme, we record the nal hypervolume indicator value for the multiobjective problem instances and the normalised tness (Equation 5.4) value for the 115

singleobjective problems, and compare the achieved results.

5.5.3

Results

The 30 results of the repeated trials are presented as boxplots in Figure 5.7. The empirical results are not normally distributed, but the mean and 25th percentile of the Bayesian Eect Assessment (BEA) method are consistently above the respective values of the benchmark. The means and standard deviations of the two parameter eect assessment schemes are listed in Table 5.7. The mean performance of the Bayesian Eect Assessment (BEA) strategy is consistently above the average of the benchmark parameter eect assessment method (SP) which uses the tness gain with respect to the best and average tnesses. To understand if the obtained dierence is not due to chance, the results of the optimisation methods with the two parameter eect assessment schemes are validated using the Kolmogorov-Smirnov (KS) non-parametric test [149], which checks for a statistical signicance in the outperformance. The 30 values of the tness functions and hypervolume indicators of the repeated trials for each problem instance were submitted to the KS analysis and results are shown in Table 5.7. BEA was compared to the approach of Srinivas and Patnaik (SP), with a null hypothesis of no dierence between the performances. All KS tests, used for establishing dierences between independent datasets under the assumption that they are not normally distributed, result in a rejection of the null hypothesis with a minimum d-value of 0.3448 at a 95% condence level. Hence we conclude that the superior performance of the Bayesian Eect Assessment method is statistically signicant.

116

0.2678 0.2676 0.2674 Normalised fitness Normalised fitness 0.2672 0.267 0.2668 0.2666 0.2664 0.2662 0.266 SP BEA

0.4886 0.4884 0.4882 0.488 0.4878 0.4876 0.4874 0.4872 0.487 SP BEA

(a) BUR26A
0.2678 0.2676 0.2674 Normalised fitness 0.2672 0.267 0.2668 0.2666 0.2664 SP BEA 0.005 Normalised fitness 0.0065 0.007

(b) BUR26B

0.006

0.0055

SP

BEA

(c) BUR26E
0.7 0.65 0.98 Hypervolume Hypervolume 0.6 0.55 0.5 0.45 0.4 0.35 SP BEA 0.95

(d) Royal Road

0.99

0.97

0.96

0.94 SP BEA

(e) KC30-3-3uni
0.98 0.97 0.96 0.95 0.94 0.93 0.92 0.91 0.84 0.9 SP BEA 0.94

(f) KC20-2-5rl

0.92 Hypervolume

Hypervolume

0.9

0.88

0.86

SP

BEA

(g) KC30-3-2rl

(h) KC30-3-3rl

Figure 5.7: Boxplots of the 30 trials of the two parameter eect assessment schemes.

117

Table 5.7: The means, standard deviations and Kolmogorov-Smirnov test values of tness functions for the 30 runs using dierent parameter eect assessment schemes. Mean BEA SP 6.15E-03 5.97E-03 0.2669 0.2666 0.4881 0.4876 0.2672 0.2670 0.9687 0.9619 0.9488 0.9339 0.8893 0.8702 0.5505 0.4852 Standard BEA 5.478E-04 4.794E-04 4.409E-04 4.474E-04 1.315E-02 1.484E-02 2.385E-02 8.653E-02 Deviation SP 3.616E-04 3.998E-04 3.673E-04 2.491E-04 1.053E-02 1.639E-02 1.453E-02 5.921E-02 KS test d p 0.3448 0.048 0.4381 0.006 0.5517 0.000 0.4828 0.001 0.3793 0.022 0.5517 0.000 0.4483 0.004 0.3793 0.022

Problem Royal Road BUR26A BUR26B BUR26E KC20-2-5rl KC30-3-2rl KC30-3-3rl KC30-3-3uni

5.6

Summary

This chapter presented a Bayesian Eect Assessment (BEA) strategy which measures the eect of parameter values based on conditional probabilities (success rates). Unlike state-of-the-art adaptive parameter control methods, in which the improvement of the quality of the solutions reported by the feedback strategy is considered as the eect of parameter values, BEA attempts to infer the cause of the improvement and to what extent the change in the quality of the solutions is aected by the parameter values. We performed a set of experiments on the Royal Road Problem, the Quadratic Assignment Problem and the multiobjective Quadratic Assignment Problem, in which Bayesian Eect Assessment produced better algorithm performance compared to using directly the performance improvement of the EA reported by the feedback strategy.

118

Chapter 6 Parameter Quality Attribution Strategy


6.1 Introduction

The previous chapter derived the eect of parameter values based on the performance of the optimisation algorithm. The eect, assessed at every iteration, provides new information regarding the quality of the parameter values, the estimation of which constitutes the Parameter Quality Attribution Strategy. The recorded eect of parameter values is the input to the quality estimation rule, which updates its internal state with the newly assessed eect for a projection of the performance of the value in the future. The estimated quality of the parameter values is employed to make an educated guess about the probability of the parameter values producing high quality results in the next iteration. State-of-the-art parameter quality attribution methods use a predened time window W (the W last iterations) to approximate the quality of parameter values for the preceding iteration t 1. Igel et al. [85] use this time window (adaptation cycle) to estimate the quality of parameter values as the average eect on algorithm performance. Fialho et al. [55, 54, 56] use an Extreme value-based Quality Attribution (EQA) strategy, which employs the maximum eect in W iterations to 119

approximate the quality of parameter values in the preceding iteration t 1. The Extreme value-based Quality Attribution strategy uses a normalisation scheme, which divides parameter eects by the best eect achieved so far by any parameter value. An Extreme value-based Quality Attribution strategy is also presented by Whitacre et al. [189], in which statistical tests are employed to detect outliers, i.e. parameter values that produce exceptionally good solutions. A parameter value is considered an outlier if it produces a solution which is statistically not expected in the population. The parameter eect assessment strategy calculates the probability that a solution is an outlier. The sum of all outlier probabilities of the solutions produced by a parameter value represents its quality. The main idea is to reward parameter values that generate solutions which are rare but very t compared to the other members of the population. Other parameter values that generate frequent solutions with small improvements are not regarded as important and thus they are not used in the next iteration. In general, adaptive parameter control methods [33, 85, 55, 189] use the derived parameter quality from recent or past performance, i.e. qt1 (ij ), to select the parameter values to use in the next iteration (time t). This is accomplished by considering the average (AQA) or the extreme (EQA) eects of parameter values in the preceding W iteration(s). One might argue that these approaches are one step behind, in that they represent the parameter value which is optimal for the previous iteration (time t 1). Ideally, we would use a setting optimised for the beginning iteration (time t). It follows that an ideal parameter control method would attempt to predict successful parameter values for time t based on previous performance. Acknowledging this fact, we investigate the following research question:

\ What is an eective parameter quality attribution method for projecting successful parameter values to the next iteration of the optimisation process? 120

Given the problem with deriving parameter values based on very recent, but indeed past, performance, we use a method of Predictive Quality Attribution (PQA) that combines a measure of past performance with time series prediction to predict the performance of parameter values. PQA records the eect (success rates) of every parameter value for each iteration. Instead of applying the eect in the last iteration(s), i.e. time t 1, directly as the quality for the parameter values, PQA applies time series prediction as a method of forecasting the quality (time t) to be applied in the parameter control strategy. We investigate if using Predictive Quality Attribution (PQA) improves the algorithm performance, by comparing the results with two state-of-the-art quality attribution strategies: Average Quality Attribution (AQA) and Extreme Quality Attribution (EQA).

121

6.2

Predictive Quality Attribution

Predictive Quality Attribution (PQA) applies forecasting techniques to predict the quality of parameter values to be applied in the parameter control strategy. The eect of parameter values (success rates) is recorded for each iteration. The time series data for a single parameter value ij is recorded as shown in Equation 6.1:

p1 (e+ |ij ), p2 (e+ |ij ), ..., pt1 (e+ |ij )

(6.1)

where t 1 is the current iteration and ps (e+ |ij ) is the eect (success) of the parameter value ij at iteration s, which is calculated using Equation 5.3. The success history of each parameter value/range, given by the time series in Equation 6.1, is used to forecast the success rate of that parameter value/range for the next iterations. Forecasting necessitates the use of analytical methods to predict the future values of a system, i.e. the success rates of parameter values given the evidence from the behaviour of this system in the past. In Predictive Quality Attribution, this process requires the identication of the relationship between future (predicted) success rates of parameter values and the past success rates. Forecasting methods abound in the literature, ranging from simple regression analysis to more complex and sophisticated techniques such as Autoregressive Moving Average models. The forecasting techniques we explore are Linear Regression (LR), Simple Moving Average (SMA), Exponentially-Weighted Moving Average (EWMA), and Autoregressive Moving Average (ARIMA). Linear Regression (LR) ts a linear equation to the observed data. This model works on the assumption that the success rates have a linear relationship with time. LR is one of the simplest forecasting models, yet it is a powerful model, provided that the data conforms to the assumptions that this model makes. If the time-series is not linear, other models such as Simple Moving Average (SMA), Exponentially 122

Weighted Moving Average (EWMA) or Autoregressive Integrated Moving Average (ARIMA) can be used to forecast the next parameter values. The purpose of employing a Simple Moving Average model is to measure trends by smoothing the data using the mean of the success rates. As a result, the trend in the data is extrapolated into a forecast. The assumption is that prior trend movements will continue. EWMA on the other hand focuses mostly on recent success rates and captures shorter trends in the data. As a result, an EWMA is expected to reduce any lags in the simple moving average such that the tting line is closer to the real values of the success rates compared to a simple moving average. One of the disadvantages of EWMA is that it is prone to sudden changes in the success rates, which means that it may easily be aected by noise. In order to deal with this problem, one could increase the length of the moving average term or switch from an EWMA to an SMA. The ARIMA model is a combination of moving average models and a special case of the linear regression models. The ARIMA model arguably is more powerful the LR, SMA and EWMA, however, because of its power and exibility, ARIMA is a complex technique. Using a more complex model may not necessarily lead to better results, since all models make assumptions and have their limitations. Hence, dierent forecasting methods are explored and the accuracy level in the forecast of each one using the time series data obtained from the optimisation process is measured. We check the assumptions made by each forecasting technique (e.g. linearity and normality of errors) to make a judgement of the suitability of the model.

6.2.1

Linear Regression

The linear regression model is one of the simplest forecasting models used. Linear regression builds a linear mathematical model of past observation that can be used 123

to forecast future values of a discrete time-series. This model makes an assumption about the linearity of the data and normality of the errors distribution. The assumption of the errors of linear models being normally distributed is often justied by using the central limit theorem, which states that the sum of a suciently large number of independent random variables (from any kind of distributions) is normally distributed. If the success rates of parameter values occur randomly and somewhat independently, the variations in the data can be expected to be approximately normal in distribution. This assumption facilitates the calculation of the coecient, by minimising the mean squared error, which is easy to calculate. Regression models are based on the idea of the regression to the mean, i.e. if the time step is x standard deviations from the mean, the model predicts that the next value of the success rate of a parameter value will be r x standard deviations from the mean of the time series, where r is the correlation coecient between time and success rates. This is an indication of the extent to which the linear model can be used to predict the deviation of the success rate of a parameter value p(e+ |ij ) from the mean when the deviation of time t from the mean is known. In essence, the correlation coecient measures how strongly the success rate of a parameter value and time are related to each other in a linear way, by using a scale of 1 to +1. The correlation coecient is positive if both variables vary on the same side of the respective means, i.e. the success rate increases with time, and negative if the vary on opposite sides of their means. If the success rate varies independently of the number of iterations, the correlation coecient is equal to zero. Before computing the correlation coecient, the current success rate and timestep are standardised by expressing them in units of standard deviations from their own mean. The standardised success rate Pt1 (e+ |ij ) of parameter value ij at time-step t 1 is calculated using the time-series in Equation 6.1 as follows: 124

Pt1 (e+ |ij ) =

pt1 (e+ |ij ) pt1 (e+ |ij ) (pt1 (e+ |ij ))

(6.2)

where pt1 (e+ |ij ) is the mean of the success rates in the last t 1 iterations and (pt1 (e+ |ij )) is its standard deviation at time t 1. The standardised time is calculated in Equation 6.3. tt (t)

(6.3)

The correlation coecient r is equal to the average of the product of the standardized success rate and time calculated as follows:

= P (e+ |ij ) =

(6.4)

1 P1 (e+ |ij ) + 2 P2 (e+ |ij ) + ... + t1 Pt1 (e+ |ij ) t1

where t 1 is the total number of observations. The linear model for predicting p t (e+ |ij ) from t is equal to: tt p t (e+ |ij ) pt (e+ |ij ) = r pt (e+ |ij ) t This equation is usually expressed with constant terms as follows: (6.5)

p t (e+ |ij ) = a + bt where:

(6.6)

b a

= r

pt (e+ |ij ) t

(6.7) (6.8)

= pt (e+ |ij ) b(t) 125

where a and b are the two coecients of the linear equation used for predicting the next success rates. They depend only on the mean and standard deviations of p(e+ |ij ) and t, and the correlation coecient of the two variables. The best t of the model is calculated by minimising the mean squared error ( 2 ) calculated in Equation 6.9. 1 = t
t

s=1

(ps (e+ |ij ) p s (e+ |ij ))

(6.9)

6.2.2

Simple Moving Average

Due to the stochastic nature of approximate optimisation methods, the performance of the algorithm can display random variation with time. Therefore, a smoothing method is used to cancel, or at least reduce, the eect due to random variation. Averaging and Exponential Smoothing Models, such as the Simple Moving Average (SMA) model reduce the noise in the data. These models make an assumption on the local stationarity of the time series and expect a slow-varying mean. This is because these models calculate a moving, i.e. local, average, which smoothes out the spikes in the original time series and use this average to predict the next value of the time series. As a result, a smoothed model of the original time series is produced. A simple moving average model uses equal weights for all the data points in the time series as follows: pt1 (e+ |ij ) + pt2 (e+ |ij ) + ... + ptk (e+ |ij ) k

p t (e+ |ij ) =

(6.10)

where k is the width of the moving average and denotes the number of observations used to compute the average. The forecast p t (e+ |ij ) is equal to the average of the last k data points in the time series, and is centred at t k+1 . This means that 2 the forecast will tend to lag behind turning points in the data by 126
k+1 2

time steps.

For example, if the size of the window is equal to 3, the forecasts will take 3 time steps to approach the real observations. The value of k has to be adjusted in order to t the model to the time series. If k is close to 1, the model is equivalent to a random walk. If k is suciently large, the model becomes equivalent to the mean model, which considers the mean of all data point in the time series. Similar to linear regression, the best t of the model (i.e. appropriate value for k ) is obtained by minimizing the forecast errors on average.

6.2.3

Exponentially-Weighted Moving Average

In the linear regression and simple moving average models described in the previous sections, the past observations are weighted equally. Intuitively, older data should have less weight than recent. Exponentially-Weighted Moving Average is a particular type of smoothing technique which gives exponentially decreasing weights to past observations, i.e. feedback taken from the current iteration is given more importance in forecasting the next parameter values than the earlier observations. The forecast of the future eect of parameter values is derived from the weighted sum of all observations. Mathematically, the Exponentially-Weighted Moving Average is the convolution of the data points with an exponentially smoothing weighting function dened as:

p t (e+ |ij ) =pt1 (e+ |ij ) + (1 )pt2 (e+ |ij ) +(1 )2 pt3 (e+ |ij ) + ... + (1 )k+1 pt(k+1) (e+ |ij ) (6.11)

where is the smoothing factor in the range (0,1). From Equation 6.11, it can be observed that the exponents of the data series decrease exponentially, approaching zero but never reaching it. The smoothing factor controls the closeness of the 127

interpolated value to the most recent observation. Large values of reduce the level of smoothing. To determine the value of we use the least-squares method, for which the mean of squared errors, given in Equation 6.9, is minimised. Alternatively, may be expressed in terms of t time steps, calculated as: 2 t+1

(6.12)

For example, if we have 19 data points, will be equal to 0.1. The half-life of the weights (the interval over which the weights decrease by a factor of two) is approximately N/2.8854 (within 1% if N > 5).

6.2.4

Autoregressive Integrated Moving Average

Autoregressive Integrated Moving Average (ARIMA) models are the general class of models for forecasting time series. The moving average models described in the previous sections are all special cases of the ARIMA models. In general ARIMA models are appropriate when the time series data shows a stable trend with time and does not have many outliers. ARIMA can perform better than exponential smoothing techniques, however it requires a certain number of observations, and the correlation between past observations should be stable. The ARIMA model is composed of three parts, which are calculated individually: the Integrated (I) part, the Autoregressive part (AR) and the Moving Average part (MA). The integrated part I (d) is used if the data shows evidence of non-stationarity, i.e. the time series is not stable with time and exhibits some trend, and d is the number of non-seasonal dierences. The stationarity of the time series is measured using the stationarity in mean and variance. The rst step in the identication of an appropriate ARIMA model starts by identifying the value for d, i.e. the order(s) 128

of dierencing needed to make the time series stationary, which can be one of the followings: If there is a constant trend, i.e. zero mean, d = 0. For a linear trend, i.e. linear growth behaviour, d = 1. Otherwise, if the trend is quadratic, i.e. quadratic growth behaviour, d = 2. The process of dierencing subtracts each observation at time t from the the observation at time t 1. For d = 0, this transformation is performed only once to the time series, which is also referred to as rst dierencing. As a result, the trend of a linear growth behaviour is eliminated. At this point, we have tted a random walk model, which predicts the rst dierence of the time series to be constant. When this process is repeated, the time series is second dierenced and so on. The AR(p) model is used to describe the correlation between the current value of the time series and p past values. The order p of the AR model describes the number of lags (past values) included in the model prediction, i.e. the number of the autoregressive terms. For instance, when applied to our application, AR(1) means that the prediction of the success rate p t (e+ |ij ) at time t is correlated with the immediately preceding value, i.e. pt1 (e+ |ij ) in the time series. This can be written as:

p t (e+ |ij ) = 1 pt1 (e+ |ij ) +

(6.13)
t

where 1 is the rst-lag (lag 1) autoregressive parameter, and

is the error,

which is assumed to be random and normally distributed. If the estimated value of parameter 1 is 0.25, the current value of the time series is related to 25% of its value 1 time-step ago. The current success rate pt (e+ |ij ) in the time series can be related to more than one past value. For instance: 129

p t (e+ |ij ) = 1 pt1 (e+ |ij ) + 2 pt2 (e+ |ij ) +

(6.14)

In this case, the success rate of the parameter value ij at time t is related to two immediately past success rates, pt1 (e+ |ij ) and pt2 (e+ |ij ), by considering also the random error
t.

The Moving Average (M A(q )) part of the ARIMA model considers the time series as an unevenly weighted moving average of random errors
t,

capturing the

deviation of the current success rate as a nite weighted sum of q previous deviations of the success rates, plus a random error, i.e. the current success rate of parameter values is related only to the errors that happened in the past lags, rather than to the preceding success rates as in the AR model. As an example, the rst order M A(1) means that the error of the current value is directly correlated with the error of the immediate past observation given by Equation 6.15.

p t (e+ |ij ) = where t ,


t1

t1

(6.15)

are the errors (or residuals) at times t and t 1, and 1 is the rst

order moving average coecient. Similar to the AR model, the MA model can be extended to a higher order model in order to include more than just the error of the immediate past observation.

130

6.3

Characteristics of the Parameter Eects

Each of the forecasting models described in Section 6.2 makes assumptions about the data, such as linearity and normality of the distribution of errors. In this section, we check whether the assumptions about the time series data hold to make a judgement of the suitability of the models. The time series represents the eect of parameter values during the optimisation process. The eect of the parameter values is calculated using Equation 5.3. The data examination is performed by employing statistical tests. There are four principal assumptions which justify the use of linear regression models for purposes of prediction: linearity of the relationship between dependent and independent variables, normality of the error distribution, independence of the errors (no serial correlation), and homoscedasticity, which refers to the constant variance independent of time, of the errors (i) versus time and (ii) versus the predictions. Simple Moving Average and Exponentially-Weighted Moving Average are not sensitive to normality assumptions. However, in order for SMA and EWMA to be appropriate models, two assumptions are made. First, both EWMA and SMA assume that the time series is stationary, which means that the mean and standard deviation of the time series do not change with time. Furthermore, both models assume that the variance around the mean remains constant with time, i.e. the model assumes homoscedasticity of the time series. In order to achieve best results using the ARIMA approach, ve assumptions have to be met. The rst is the generally accepted threshold of 50 data points. This is a signicant obstacle for the parameter control method, since it implies that the model will start giving appropriate results only after 50 iterations. The other four assumptions of ARIMA models are homoscedasticity, stationarity, independence and normality of residuals. 131

6.3.1

Experimental Settings

For the purpose of this analysis we test six parameters: mutation rate, crossover rate, mutation operator, crossover operator, population size and mating pool size. For the mutation rate, crossover rate, population size and mating pool size we perform the experiments twice: with a cardinality of two ranges and with a cardinally of four ranges with an even spread within a predened interval. The aim of using dierent cardinalities is to investigate if using ranges with dierent size results in dierent statistical properties. Table 6.1: Ranges/values of parameters. Parameter Mutation rate - 2 ranges Mutation rate - 4 ranges Crossover rate - 2 ranges Crossover rate - 4 ranges Population size - 2 ranges Population size - 4 ranges Mating pool size - 2 ranges Mating pool size - 4 ranges Mutation operator Crossover operator Ranges/values [0.001,0.249], [0.25,0.49] [0.001,0.1249], [0.125,0.249], [0.25,0.3749], [0.375,0.49] [0.6,0.79], [0.8,0.99] [0.6,0.69], [0.7,0.79], [0.8,0.89], [0.9,0.99] [20,60], [61,100] [20,40], [41,60], [61,80], [81,100] [0.1,0.39], [0.4,0.69] [0.1,0.249], [0.25,0.39], [0.4,0.549], [0.55,0.69] Single-point, Uniform Single-point, Uniform

To investigate the characteristics of the data, we run ten dierent experiments. In every experiment, one of the parameters is the design factor and the other parameters are kept constant. In each experiment, every parameter range/value is applied to 10 dierent instances which run in parallel. Every instance is granted 15000 function evaluations. Every 150 function evaluations the eect of the parameter ranges, i.e. the success rate approximated by Equation 5.3, is recorded. In total, each experiment produces 100 data points for each parameter range. Approximate algorithms are not expected to deliver exact and repeatable results. 132

Therefore, for the current data analysis, all algorithms trials were repeated 30 times for each parameter value.

6.3.2

Statistical Analysis

Linearity In order to justify the use of the linear regression model described in Section 6.2.1, we test the success rates of parameter values (calculated using Equation 5.3) for linearity. Linearity means that the relationship between the success rates and time is a straight line. To check for a statistical signicance of the linearity of the data, we run the optimisation algorithms 30 times for each case. After tting a linear model to the data, we report the p-value which indicates the signicance of the regression. A p value < 0.05 implies that the time series is linear with all data points having equal inuence on the tted line. The hypothesis is formulated as follows:

\ H0 : The time series is linear. \ H1 : The time series is not linear.


Normality The calculation of the condence intervals for the model coecients in linear regression is based on the assumptions of normally distributed errors. In Predictive Quality Attribution, normality of errors means that most of the success rates of parameter values are expected to fall close to the regression line and very few to fall far from the line. Since the estimation of model coecients is based on the minimisation of squared error, the presence of extreme data points can exert a disproportionate inuence on the estimates. For example, if the data contains large outliers, the error distribution becomes skewed. To check for the normality assumption, we use the Kolmogorov-Smirnov (KS) 133

test [64] to tests the null hypothesis that the errors of the success rates are normally distributed. The null hypothesis is rejected if the p-value is smaller that 0.05, which means that the data is not normally distributed. The hypothesis is formulated as follows:

\ H0 : The data follows a normal distribution \ H1 : The data does not follow a normal distribution
Independence Linear regression models make the assumption that the error terms are independent. One example of the violation of this assumption is autocorrelation, which occurs if each error term in the time series is related to its immediate predecessor ( i is related to
i 1 )

dened as follows:

t1

+ t

(6.16)

where is the coecient of the rst order autocorrelation dened in the interval [1, 1], and the constant t values are assumed to be independent. If is equal to zero, the errors are not correlated. The Durbin-Watson (DW) statistical test, measures the correlation between the error terms and their immediate predecessors as follows:
t 2 i=1 ( i i1 ) t 2 i=1 i

D=

(6.17)

The D statistic tests the null hypothesis that the errors from a least-squares regression are not autocorrelated. The values of D vary in the interval [0, 4]. For independent error terms, the value of D is expected to be close to 2. The value of D tends to be smaller than 2 for positive autocorrelation between the terms, and greater than 2 for negative autocorrelation. 134

\ H0 : The the autocorrelation of the errors is 0. \ H1 : The autocorrelation of the errors is less than 0.
The null hypothesis is rejected if p-value is less than 0.05.

Homoscedasticity Homoscedasticity refers to the assumption that the success rates of parameter values exhibit a similar variance with time. If homoscedasticity is violated, it is dicult to measure the true standard deviation of the residuals, which can result in condence intervals that are too wide or too narrow. In particular, if the variance of the errors increases with time, condence intervals for predictions will tend to be unrealistically narrow. Heteroscedasticity may also have the eect of placing too much weight on a small subset of the data, i.e. the subset where the error variance is the largest when estimating coecients. Residuals are tested for homoscedasticity using the Breusch-Pagan test, which regresses square residuals to independent variables. The null hypothesis for the Breusch-Pagan test is homosedasticity. The alternate hypothesis is that the error variance varies with a set of regressors.

\ H0 : The data exhibit a similar variance with time. \ H1 : The error variance varies with a set of regressors.
If the p-value is less than 0.05, the null hypothesis is rejected, which means that the data is not homoscedastic.

Stationarity A stationary time series uctuates around a constant long-term mean and has a constant standard deviation independent of time. In the application of the Predictive Quality Attribution, this means that it does not matter when in time the success 135

rates are observed. If the time series is non-stationary, it can be transformed into stationary by dierencing. To check for the stationarity of the success rates of parameter values we use the Kwiatkowski-Phillips-Schmidt-Shin (KPSS) [108] test, which tests the null hypothesis that the data is stationary, formulated as follows:

\ H0 : The data is stationary. \ H1 : The data is not stationary.


If p-value is less than 0.05, the null hypothesis is rejected, which means that the data is not stationary.

136

6.3.3

Results

The time series data from the optimisation process was tested against the assumptions of linearity, normality, independence, homoscedasticity, and stationarity using the statistical tests described in the precious sections. The aim was to investigate if it is conform these assumptions, which indicates the adequacy of using the forecasting techniques (LR, SMA, EWMA and ARIMA) to model and predict the eect of parameter values in the future iterations. The summary of the assumptions that each of the considered forecasting models makes about the data is sumarised in Table 6.2. Table 6.2: Assumptions of the forecasting models. Linearity Normality Independence LR SMA EWMA ARIMA + + + + + Homoscedasticity Stationarity + + + + + + +

Table 6.3 summarises the results from the statistical tests. The characteristics of the success rates of parameter values (linearity, normality, etc.) are listed based on the assumptions of the forecasting models described in Table 6.2. The percentages represent the runs among the 30 trials in which H0 was not rejected. We use these results to derive conclusions regarding the appropriateness of using forecasting techniques to predict the success rates of the parameter values. The detailed results are presented in the Appendix. The linearity test results are shown in Tables 10.1-10.12 for the experiment with two ranges/values and in Tables 10.61-10.76 for the experiment with four ranges. The results from the Kolmogorov-Smirnov (KS) test are shown in Tables 10.13-10.24 and Tables 10.7710.92. The results of the Durbin-Watson (DW) statistical test are shown in Ta137

bles 10.25-10.36 and Tables 10.93-10.108. The results from the Breusch-Pagan (BP) test are shown in Tables 10.37-10.48 and Tables 10.109-10.124. Finally, the results of the KwiatkowskiPhillipsSchmidtShin test, are shown in Tables 10.49-10.60 and Tables 10.125-10.140. Table 6.3: Characteristics of the success rates of six algorithm parameters with dierent values or ranges. The percentages represent the conrmation of H0 among the 30 trials.
Parameter Mutation rate [0.0010,0.25] Mutation rate [0.2505,0.5] Mutation rate [0.001,0.124] Mutation rate [0.125,0.249] Mutation rate [0.25,0.3749] Mutation rate [0.375,0.49] Crossover rate [0.6,0.799] Crossover rate [0.8,1.0] Crossover rate [0.6,0.69] Crossover rate [0.7,0.79] Crossover rate [0.8,0.89] Crossover rate [0.9,0.99] Population size [20,60] Population size [61,100] Population size [20,40] Population size [41,60] Population size [61,80] Population size [81,100] Mating pool [0.1,0.4] Mating pool [0.41,0.7] Mating pool [0.1,0.249] Mating pool [0.25,0.39] Mating pool [0.4,0.549] Mating pool [0.55,0.69] Single-point mutation Uniform mutation Single-point crossover Uniform crossover Linear 97% 100% 97% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 33% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% Normal 100% 100% 97% 100% 100% 90% 100% 100% 100% 100% 100% 100% 100% 73% 97% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% Independent 80% 70% 97% 100% 97% 97% 83% 83% 93% 97% 97% 100% 100% 100% 100% 100% 100% 100% 77% 80% 90% 97% 100% 97% 70% 77% 77% 77% Homoscedastic 90% 97% 90% 80% 90% 87% 90% 97% 83% 90% 87% 83% 53% 77% 40% 40% 57% 53% 93% 87% 80% 83% 80% 80% 93% 93% 87% 97% Stationary 97% 100% 80% 63% 87% 80% 93% 93% 80% 73% 80% 93% 13% 13% 10% 3% 17% 47% 97% 100% 63% 97% 70% 77% 97% 93% 93% 93%

138

In general, the time series data is linear with normally distributed errors. The lowest number of normally distributed residuals resulted from the experiment with the population size in the range [61,100], in which the null hypothesis was rejected in 27% of the cases. The population size in this range is also the only parameter range that was not linear in the majority of the cases (the null hypothesis was rejected in 77% of the runs). It follows that the use of linear regression models to forecast the success rates of the population size in this range is not appropriate. We employed the Durbin-Watson (DW) statistical test to verify the assumption of no correlation between the error terms of the time series (independence of the errors). The error terms of the success rates of parameter values are independent for the majority of the cases, with the lowest percentage for the mutation rate in the ranges [0.2505,0.5] (70% of the runs have independent errors). Nevertheless, this does not limit the applicability of the Linear Regression and ARIMA models to forecast the eect of this parameter range. The Breusch-Pagan (BP) test was used to measure the homosedasticity of the time series data. All forecasting methods require that the time series data is homoscedastic. In general, this assumption is true for the majority of the time series data, i.e. the success rates (eects of parameter values) are highly homoscedastic for the majority of the parameter values/ranges. The lowest percentages of homoscedastic runs are in the experiments with the ranges [20,40] and [41,60] of the population size, in which only 40% of the runs are homoscedastic (see column headlined Homoscedasticity in Table 6.3). Similar results were observed in the other ranges of the population size, which indicate that forecasting the eect of the population size may not be appropriate. The Kwiatkowski-Phillips-Schmidt-Shin (KPSS) test veries the null hypothesis that the data is stationary. The assumption regarding the stationarity of the timeseries data is made by three of the forecasting models shown in Table 6.2: SMA, 139

EWMA and ARIMA. It can be observed that stationarity is a common feature in the success rates (eects) of the single-point mutation, uniform mutation, single-point crossover and uniform crossover operators. Similarly, in some of the ranges of the mutation rate ([0.0010,0.25] and [0.2505,0.5]), crossover rate ([0.6,0.799], [0.8,1.0] and [0.9,0.99]) and mating pool size ([0.1,0.4], [0.41,0.7] and [0.25,0.39]) the null hypothesis was not rejected in more than 90% of the runs with the mating pool size in the range [0.41,0.7] and mutation rate in the range [0.2505,0.5] being the most stationary processes (100% of the runs are stationary). However, the crossover rate in the range [0.7,0.79], the mutation rate in the range [0.125,0.249] and the mating pool size in the ranges [0.1,0.249], [0.4,0.549] and [0.55,0.69] have a moderately low number of stationary runs. Furthermore, less than 50% of the runs in all ranges of the population size are stationary. Population size in the range [41,60] has the lowest percentage of stationary runs, with only 3% of the runs being stationary. These results indicate that stationarity, which is a prerequisite of SMA, EWMA and ARIMA, does not t perfectly the time series data we investigated. The time series can be transformed into stationary by dierencing, however that would require extra computations. Instead, Linear Regression does not make any assumption about the stationarity of the time series (see Table 6.2), hence may be a better choice than SMA, EWMA and ARIMA to predict the nonstationary eect of the parameter values. Table 6.4 shows recommendations on which models to use for forecasting the success rates of various parameter values. The + sign means that the time series data of the parameter value follows all assumptions made by the forecasting model, hence the model can be used to predict the future eect of that parameter value. On the other hand, the sign indicates that the time series data of the parameter value partially follows the assumptions made by the forecasting model, hence the use of the forecasting model to predict its eect is discouraged. 140

Table 6.4: Recommendation for using forecasting models to predict the success rates of dierent parameter values chosen from dierent ranges.
Parameter Mutation rate [0.0010,0.25] Mutation rate [0.2505,0.5] Mutation rate [0.001,0.1249] Mutation rate [0.125,0.249] Mutation rate [0.25,0.3749] Mutation rate [0.375,0.49] Crossover rate [0.6,0.799] Crossover rate [0.8,1.0] Crossover rate [0.6,0.69] Crossover rate [0.7,0.79] Crossover rate [0.8,0.89] Crossover rate [0.9,0.99] Population size [20,60] Population size [61,100] Population size [20,40] Population size [41,60] Population size [61,80] Population size [81,100] Mating pool size [10,40] Mating pool size [41,70] Mating pool size [0.1,0.249] Mating pool size [0.25,0.39] Mating pool size [0.4,0.549] Mating pool size [0.55,0.69] Single-point mutation Uniform mutation Single-point crossover Uniform crossover LR + + + + + + + + + + + + + + + + + + + + + + SMA + + + + + + + + + + + + + + + + + + + + + + EWMA + + + + + + + + + + + + + + + + + + + + + + ARIMA + + + + + + + + + + + + + + + + + + + + + +

It can be observed that any of the forecasting techniques can be used to predict the success rates of mutation rate, crossover rate, mating pool size, mutation operator and crossover operator. However, we found that the success rates of the population size do not meet the assumptions of the forecasting techniques that we investigated. As a result, none of these forecasting techniques are recommended for 141

use with this parameter. In the next sections we investigate if forecasting the eect of the population size has a negative eect on the performance of the Evolutionary Algorithm.

142

6.4

Analysis of the Predictive Quality Attribution Methods

In the previous section, we investigated various characteristics of the eects (success rates) of parameter values, such as linearity, normality of the residuals, and stationarity. The statistical tests showed that the time series data of all EA parameters, except the population size, conform to the assumptions made by the forecasting models. Recommendations on appropriate forecasting techniques for various parameter values were presented in Table 6.4. In this section, we analyse the parameter quality attribution strategy using dierent forecasting techniques - Linear Regression (LR), Simple Moving Average (SMA), Exponentially Weighted Moving Average (EWMA) and Autoregressive Integrated Moving Average (ARIMA) - to predict the success rates of parameter values. The aim is to understand which of the forecasting models is the best choice for the parameter quality attribution strategy.

6.4.1

Experimental Settings

For the purpose of this experiment we consider ve parameters: the mutation rate, crossover rate, mating pool size, crossover operator, and mutation operator. The parameter values or ranges used in this experiment are similar to the ones used in the previous section, given in Table 6.1. Population size is not controlled based on the outcome of the statistical tests, which showed that the eects of this parameter do not conform to the assumptions made by the forecasting models. We perform 30 runs for each of the optimisation schemes using dierent parameter quality attribution strategies and record the results for 9000 function evaluations. The results are presented as the mean of 30 runs over 55 iteration. 143

We employ the optimisation schemes to solve the Quadratic Assignment Problem (BUR26E), the multiobjective Quadratic Assignment Problem (KC30-3-2rl) and the Royal Road Problem. The problem instances are downloaded from the online repository of benchmark problems at http://www.seas.upenn.edu/qaplib/. Different QAP instances have dierent scales of the tness values. To make the results comparable, we normalise the tness function as follows: fmax f (s) fmax fmin

fnorm (s) =

(6.18)

where fmax is the maximum value and fmin is the minimum value that the tness function f can take. Since QAP is a minimisation problem, the normalisation of the results converts it into a maximisation problem. Hence the normalised tness of the results increases over time.

6.4.2

Results

The mean hypervolume growths of the 30 runs of the Evolutionary Algorithm using dierent forecasting techniques as parameter quality attribution strategy are presented in Figure 6.1. In the optimisation of QAP, mQAP and the Royal Road problem, the Evolutionary Algorithm using Linear Regression (LR) as a quality attribution strategy produced better results quality than the three other forecasting methods, especially in the initial iterations. The dierence between the performances of the parameter quality attribution strategies becomes smaller as the optimisation progresses. However, Linear Regression consistently outperforms SMA, EWMA and ARIMA in all iterations. The optimisation scheme using Autoregressive Moving Average (ARIMA) as a quality attribution scheme does not perform very well in the initial iterations, especially in the experiments with the Royal Road problem. This is an inherent 144

0.255 0.25 0.245 Normalised fitness 0.24 0.235 0.23 0.225 0.22 0.215 0.21 0 10 20 30 Iteration 40 LR SMA EWMA ARIMA 50

(a) BUR26E
0.56 0.54 0.52 Normalised fitness 0.5 0.48 0.46 0.44 0.42 0.4 0 10 20 30 Iteration 40 LR SMA EWMA ARIMA 50

(b) KC30-3-2rl
0.011 0.01 0.009 Normalised fitness 0.008 0.007 0.006 0.005 0.004 0 10 20 30 Iteration 40 LR SMA EWMA ARIMA 50

(c) Royal Road

Figure 6.1: Performance improvement of the EA using dierent forecasting techniques to solve the Quadratic Assignment Problem BUR26E, the multiobjective Quadratic Assignment Problem KC30-3-2rl, and the Royal Road problem.

145

problem of ARIMA, which requires more data points than the other forecasting techniques to forecast the next values accurately. The parameter quality attribution strategy using ARIMA archives good results towards the end of the optimisation process. In summary, the optimisation scheme using Linear Regression (LR) to predict the eect of the parameter values performed better than SMA, EWMA and ARIMA. Linear Regression is one of the simplest forecasting models, yet it is a powerful model, provided that the data conforms to the assumptions that this model makes. All parameter ranges that we used in this experiment meet the assumptions made by the Linear Regression. On the other hand, certain ranges of mutation rate, crossover rate and mating pool size meet the stationarity assumption, which is a prerequisite of SMA, EWMA and ARIMA (see Table 6.3), only in a moderate number of runs. As a result, these models may not t the time series data we are controlling perfectly. This explains the poor performance of SMA, EWMA and ARIMA models when compared with Linear Regression. Hence, in the rest of the thesis, we use Linear Regression to predict the eect of EA parameter values/ranges.

146

6.5

Validation

The Predictive Quality Attribution (PQA) strategy approximates the quality of parameter values by combining past performance with time series prediction. PQA records the success rates of every parameter value for each iteration and uses a forecasting technique to predict the success rate for the next iteration. The research question addressed in this section is formulated as follows:

\ What is an eective parameter quality attribution method for projecting successful parameter values to the next iteration of the optimisation process? To answer this research question we investigate if using the Predictive Quality Attribution is more benecial than using the average or extreme quality attribution schemes.

6.5.1

Benchmark Parameter Quality Attribution Strategies

We compare the proposed parameter quality attribution strategy to two notable quality attribution strategies. The rst method is the Average Quality Attribution (AQA), proposed by Igel et al. [85], which uses time window (adaptation cycle) W to approximate the quality of parameter values as the average eect on algorithm performance. The Average Quality Attribution (AQA) is given in Equation 6.19. 1 es (ij ) qt1 (ij ) = ij NW (S ) s=tW 1
t1

(6.19)

where es (ij ) is the eect of parameter value ij , assessed as the tness dierence between the solution produced by applying parameter value ij and its parent. The sum of the eect values of ij in the last W iterations (i.e.
t1 s=tW 1 es (ij ))

is di-

vided by the total number of solutions created using that parameter value (NWij (S )) 147

normalising the quality of ij . The second approach is the Extreme value-based Quality Attribution (EQA) strategy, proposed by Fialho et al. [55, 54, 56]. EQA employs the maximum eect in W iterations to approximate the quality of parameter values in the preceding iteration t 1 as follows: qt1 (ij ) = arg maxs=tW 1,...,t es (ij ) e(i ) (6.20)

where the eect es (ij ) of parameter value ij at each time-step s is measured as the dierence in tness of the ospring created by using parameter value ij and its parent(s). The extreme value-based quality attribution strategy uses a normalisation scheme, which divides parameter eects by the best eect e(i ) achieved so far by any parameter value.

6.5.2

Experimental Settings

The Predictive Quality Attribution (PQA), Average Quality Attribution (AQA) and Extreme Quality Attribution (EQA) strategies are used to control parameters of an Evolutionary Algorithm, which is employed to optimise the Royal Road Problem, described in Section 3.3.2, four instances of the Quadratic Assignment Problem (CHR20A, BUR26E, TAI30A, and STE36B), described in Section 3.3.2 and three instances of the multiobjective Quadratic Assignment Problem (KC10-2-5rl, KC303-1rl, and KC30-3-2rl), described in Section 3.3.2. For the benet of this experiment we control the mutation rate, the crossover rate, the mutation operator, the crossover operator, the population size and the mating pool size with values/ranges depicted in Table 6.1. The experimental study in Section 6.3 demonstrated that the eect of the population size during the optimisation time-steps does not adhere the assumptions 148

made by the forecasting techniques. Hence, we conduct two sets of experiment: in the rst experiment we control only the population size, whereas in the second experiment we control the mutation rate, the crossover rate, the mutation operator, the crossover operator, and the mating pool size. The aim of the rst experiment is to understand if using PQA to approximate the eect of the population size has a negative eect on the performance of the algorithms, since this parameter does not meet the assumptions made by the forecasting models. The second set of experiments is performed to examine the performance of the PQA when used to predict the quality of parameter values which conform to the assumptions of the forecasting techniques. Every instance is granted 90000 function evaluations. To obtain a fair comparison among the parameter quality attribution schemes, we repeat each run 30 times, and report the results as boxplots. To check for a statistical dierence of the results, the parameter quality attribution schemes of the optimisation methods are validated using the Kolmogorov-Smirnov (KS) non-parametric test [149]. The nal solutions of each optimisation scheme are recorded and the results are compared by using the normalised tness for the singleobjective problems and the hypervolume indicator (described in Section 3.3.4) for the multiobjective problem.

6.5.3

Results

In the rst experiment, only the population size was controlled using three parameter quality attribution schemes: AQA, EQA, and PQA. Figure 6.2 depicts the results of the 30 runs for each problem instance and parameter quality attribution scheme. The Predictive Quality Attribution (PQA) is slightly outperformed by the Extreme Quality Attribution (EQA) strategy in some of the problems. These results indicate that using forecasting techniques to predict the quality of the population choices for 149

0.474 0.472 0.47 Normalised fitness Normalised fitness 0.468 0.466 0.464 0.462 0.46 0.458 0.456 AQA EQA PQA

0.2462 0.24615 0.2461 0.24605 0.246 0.24595 0.2459 0.24585 0.2458 0.24575 AQA EQA PQA

(a) CHR20A
0.502 0.8 0.5 0.798 0.498 Normalised fitness 0.496 0.494 0.492 0.49 0.488 AQA EQA PQA Normalised fitness 0.796 0.794 0.792 0.79 0.788 0.786 AQA

(b) BUR26E

EQA

PQA

(c) TAI30B
0.00660 0.00659 0.00658 Normalised fitness Normalised fitness 0.00657 0.00656 0.00655 0.00654 0.00653 0.00652 0.00651 0.80646 AQA EQA PQA AQA 0.80654 0.80653 0.80652 0.80651 0.80650 0.80649 0.80648 0.80647

(d) STE36B

EQA

PQA

(e) Royal Road


0.585 0.205 0.58 Normalised fitness Normalised fitness 0.2

(f) KC10-2-5rl

0.575

0.195

0.19

0.57

0.185 AQA EQA PQA

0.565 AQA EQA PQA

(g) KC30-3-1rl

(h) KC30-3-2rl

Figure 6.2: Performance improvement of the EA using dierent parameter quality attribution strategies for controlling population size to solve the QAP, the mQAP and the Royal Road problem

150

the future iterations may not always be benecial. Table 6.5: The means and standard deviations for the 30 runs of each problem instance using dierent parameter quality attribution schemes: Average Quality Attribution (AQA), Extreme Quality Attribution (EQA) and Predictive Quality Attribution (PQA). Mean Problem CHR20A BUR26E TAI30A STE36B Royal Road KC10-2-5rl KC30-3-1rl KC30-3-2rl AQA 0.4660 0.2460 0.4977 0.7934 6.56E-03 0.8065 0.1936 0.5754 EQA 0.4669 0.2461 0.4982 0.8164 6.57E-03 0.8065 0.1993 0.5785 PQA 0.4651 0.2459 0.4962 0.7945 6.56E-03 0.8065 0.1974 0.5745 Standard Deviation AQA 4.85E-03 8.92E-05 3.57E-03 3.29E-03 2.14E-05 2.74E-05 5.68E-03 4.92E-03 EQA 3.51E-03 6.88E-05 3.23E-03 4.22E-02 2.27E-05 3.30E-06 4.53E-03 4.14E-03 PQA 4.26E-03 1.31E-04 5.94E-03 3.64E-03 1.82E-05 2.74E-05 6.74E-03 3.67E-03

The means and standard deviations of the three parameter quality attribution schemes are shown in Table 6.5. It can be observed that the mean performance of the Predictive Quality Attribution (PQA) is usually not higher then the other two parameter quality attribution schemes. To check for a statistical signicance of the dierence in the performances of the parameter quality attribution schemes we submitted the results from the 30 runs to the Kolmogorov-Smirnov (KS) nonparametric test [149], with the null hypothesis that there is no signicant dierence between the result sets. The null hypothesis was not rejected in any of the KS tests (see Table 6.6), which means that the superior performances of the Average Quality Attribution (AQA) and Extreme Quality Attribution (EQA) methods compared to the Predictive Quality Attribution (PQA) strategy are not statistically signicant. This indicates that using PQA to forecast the eect of teh population size does not have a negative eect in the performance of the algorithm, despite the fact that 151

Table 6.6: The Kolmogorov-Smirnov test values for the 30 runs of each problem instance using dierent parameter quality attribution schemes: Average Quality Attribution (AQA), Extreme Quality Attribution (EQA) and Predictive Quality Attribution (PQA). PQA vs. AQA Problem CHR20A BUR26E TAI30A STE36B Royal Road KC10-2-5rl KC30-3-1rl KC30-3-2rl d 0.2000 0.2000 0.3750 0.2500 0.2667 0.3750 0.3500 0.2000 p 0.537 0.537 0.162 0.633 0.200 0.162 0.121 0.890 PQA vs. EQA d 0.2667 0.3000 0.3750 0.3750 0.2667 0.3750 0.3542 0.4000 p 0.200 0.109 0.162 0.162 0.200 0.162 0.113 0.136

this parameter does not meet the assumptions made by the forecasting models. As a result, we expect that when new EA parameters are controlled, prediction can be used without a negative eect in the performance of the algorithm. In the second experiment, the mutation rate, crossover rate, mating pool size, mutation operator and crossover operator were controlled. The 30 results of the repeated trials are presented as boxplots in Figure 6.3. The empirical results are not normally distributed, but the mean and 25th percentile of the Predictive Quality Attribution (PQA) method are consistently above the respective values of the benchmarks. The means and standard deviations are listed in Table 6.7, which show a signicant dierence between the result groups of AQA, EQA and PQA. The mean performance of PQA is consistently above the averages of the benchmarks. The performance of EQA is worse than the other two parameter quality attribution strategies, which is quite the opposite from what the results from the experiment with the population size showed. 152

0.55 0.54 0.53 Normalised fitness Normalised fitness AQA EQA PQA 0.52 0.51 0.5 0.49 0.48 0.47 0.46 0.236 AQA EQA PQA 0.248 0.246 0.244 0.242 0.24 0.238

(a) CHR20A
0.52 0.51 Normalised fitness Normalised fitness 0.5 0.49 0.48 0.47 0.46 0.45 AQA EQA PQA 0.85 0.84 0.83 0.82 0.81 0.8 0.79 0.78 AQA

(b) BUR26E

EQA

PQA

(c) TAI30A
0.808 0.8075 0.807 Hypervolume 0.0064 0.0063 0.0062 0.0061 0.006 AQA EQA PQA 0.8065 0.806 0.8055 0.805 0.8045 0.804 AQA

(d) STE36B

0.0066 0.0065 Normalised fitness

EQA

PQA

(e) Royal Road

(f) KC10-2-5rl

0.53 0.205 0.525 Hypervolume 0.2 Hypervolume AQA EQA PQA

0.52

0.195

0.515

0.51 0.19 0.505 AQA EQA PQA

(g) KC30-3-1rl

(h) KC30-3-2rl

Figure 6.3: Boxplots of the 30 trials of the three dierent parameter quality attribution schemes used with an Evolutionary Algorithm optimising the QAP, the mQAP and the Royal Road problem.

153

Table 6.7: The means and standard deviations for the 30 runs of each problem instance using dierent parameter quality attribution schemes: Average Quality Attribution (AQA), Extreme Quality Attribution (EQA) and Predictive Quality Attribution (PQA). Mean Problem CHR20A BUR26E TAI30A STE36B Royal Road KC10-2-5rl KC30-3-1rl KC30-3-2rl AQA 0.4909 0.2416 0.4909 0.7978 0.0064 0.8062 0.1984 0.5199 EQA 0.4845 0.2395 0.4845 0.7984 0.0063 0.8061 0.1961 0.5175 PQA 0.4972 0.2422 0.4982 0.8308 0.0072 0.8067 0.1995 0.5223 AQA 1.627E-02 2.049E-03 1.627E-02 7.823E-03 1.537E-04 1.040E-03 3.255E-03 7.312E-03 Standard Deviation EQA 1.306E-02 1.893E-03 1.306E-02 9.038E-03 6.3723E-03 8.284E-04 3.974E-03 5.439E-03 PQA 1.920E-02 2.365E-03 1.870E-02 8.704E-03 1.473E-03 9.555E-04 3.806E-03 4.821E-03

The gap between result qualities widens in favour of PQA as the problem diculty increases. The smallest instances of the QAP (CHR20A) and mQAP (KC102-5rl) can be assumed to be the least challenging, and there the results are not as clearly in favour of Predictive Quality Assignment. The Royal Road problem and the larger instances of QAP (STE36B) and mQAP (KC30-3-1rl,KC10-2-5rl) are clearly solved to better quality using PQA, as they are more complex than the smaller problem instances. To check for a statistical signicance of the results we used the KolmogorovSmirnov (KS) non-parametric test [149]. PQA was compared with AQA and EQA with a null hypothesis of no dierence between the performances. The 30 values of the hypervolume indicators of the repeated trials for each problem instance were submitted to the KS analysis [149] and results are shown in Tables 6.8. All KS tests, used for establishing dierences between independent datasets under the assumption that they are not normally distributed, result in a rejection of the null hypothesis with a minimum d-value of 0.2333 at a 95% condence level. Hence 154

Table 6.8: The Kolmogorov-Smirnov test values for the 30 runs of each problem instance using dierent parameter quality attribution schemes: Average Quality Attribution (AQA), Extreme Quality Attribution (EQA) and Predictive Quality Attribution (PQA). PQA vs. AQA Problem CHR20A BUR26E TAI30A STE36B Royal Road KC10-2-5rl KC30-3-1rl KC30-3-2rl d 0.2333 0.3000 0.3294 0.9667 0.6333 0.3333 0.2897 0.3433 p 0.042 0.048 0.046 0.000 0.000 0.045 0.016 0.035 PQA vs. EQA d 0.3333 0.3000 0.3517 0.9667 0.7333 0.4000 0.4333 0.4333 p 0.045 0.049 0.039 0.000 0.000 0.011 0.005 0.005

we conclude that the superior performance of the Predictive Quality Attribution method is statistically signicant.

155

6.6

Summary

This chapter presented a new predictive method for estimating the probability of a parameter value producing a certain level of quality in the next iterations. The eect of parameter values were recorded at every iteration and the Predictive Quality Attribution (PQA) strategy was employed to forecast the eect of parameter values in the next iteration. Four forecasting techniques were investigated: the Linear Regression (LR), the Simple Moving Average (SMA), the Exponentially-Weighted Moving Average (EWMA), and the Autoregressive Moving Average (ARIMA). We have examined the suitability of each forecasting technique in predicting the eect of six EA parameters: the mutation rate, the crossover rate, the population size, the mating pool size, the type of crossover operator and the type of mutation operator. We have found that the population size does not conform to the assumptions made by the forecasting techniques, hence it may not be appropriate to predict its eect for the future iterations. However, the results from the experiments have shown that using the PQA strategy to control the population size does not have a negative eect on the performance of the EA. Based on the experiments with the population size, we argue that if EA parameters are controlled without prior testing for statistical properties, PQA can be used without a negative eect in the performance of the algorithm. Despite being one of the simplest forecasting strategies, Linear Regression has proven to be the most eective model to predict the eect of EA parameters. In the experimental studies we have used the PQA method with Linear Regression to adjust the mutation rate, crossover rate, mating pool size, mutation operator and crossover operator throughout the optimisation process carried out using different problem instances. The trials have demonstrated that PQA outperforms the parameter quality attribution methods currently considered most successful.

156

Chapter 7 Parameter Value Selection Strategy


7.1 Introduction

When controlling algorithm parameters, the probability of selecting parameter values from a particular interval depends on how suitable, i.e. successful, that particular parameter value has proven in the previous iterations. In the early stages of the search, there is no knowledge which parameter values perform well. At every step, when evidence becomes available, the control method faces a dilemma: using the parameter value that has the highest assigned quality or exploring new parameter values. The trade-o that has to be made between the choice of using currently best parameter values and exploring new settings has already been addressed by state-ofthe-art adaptive parameter control methods, which refer to it as the exploration vs. exploitation dilemma [182, 181, 56]. The main task is to ensure the right balance between using currently well performing parameter values and exploring unseen ones to be adopted in the future iterations. If more priority is given to the exploitation of good parameter settings, the strategy of the parameter control method focuses predominately on the short-term performance of the algorithm. If it opts for the exploration of other parameter values, the aim is to achieve long-term performance. 157

Current parameter value selection strategies handle the exploration vs. exploitation dilemma in dierent ways. Probability Matching (PM) [182, 181] and Adaptive Pursuit (AP) [182, 181] control the exploration of underperforming parameter values by assigning a lower threshold on the selection probabilities pmin . In PM, the projected probability of a parameter value providing good quality results at the next time step is based on a running average of past rewards (quality). The minimum probability pmin is enforced on values which do not receive rewards in order to maintain a non-zero probability. Adaptive Pursuit (AP) [181] was conceived with the goal of improving the performance of PM by ensuring an appropriate dierence in probabilities depending on experienced performance. AP establishes the respective rewards for the parameter values used, but only applies the maximum reward to the value of the best-performing algorithm instance. All other values have their probabilities of future use diminished. Similar to PM, a non-zero probability is enforced as a minimum probability pmin , which ensures the exploration of underperforming parameter values. Unlike PM and AP the Dynamic Multi-Armed Bandit (DMAB) [56, 123] focuses on the usage frequency of parameter values. The selection mechanism of DMAB controls the trade-o between exploitation, which favours the parameter values with best eect on the algorithm performance, and exploration, which favours the parameter values that have not been used that frequently. The selection probability of a parameter value is inversely proportionate to its usage frequency in the past. Furthermore, a change detection test is employed to check whether the quality distribution of the parameter value q (ij ) has changed. When a change is detected, the empirical quality is re-initialised. As a result, DMAB identies the new best parameter value without being slowed down by old information. In essence, parameter control methods found in the literature select the next parameter values based on dierent rules which ensure the exploration vs. exploita158

tion trade-o. These rules are composed of two parts. The rst part is concerned with the exploitation of parameter values, and assigns a selection probability to parameter values based on their quality. The second part deals with underperforming or previously unused parameter values, which are assigned a minimum selection probability (pmin ) for exploration purposes. One aspect of parameter exploration that has not been covered by current research is the choice for real-valued parameter assignments, such as the mutation rate and the crossover rate. Usually, parameter control methods [191, 78, 29, 84, 56, 182, 181] discretise the choices for parameter assignments beforehand and apply the feedback from the algorithm to the preselected choices. Based on insights oered by existing research [9] it is likely that the initial discretisation will provide values which are suboptimal for some problems or their instances. Dening narrow ranges leads to more accuracy but increased combinatorial complexity. Leaving ranges wider entails a sampling inaccuracy as the actually sampled value may be far from the value whose success the ranges usage probability is attributable to. Ideally, the ranges should be optimised by the parameter control process, which leads us to the following research question:

\ What is an eective method for conguring real-valued parameters


during the optimisation process? To address this question, we introduce an Adaptive Range Parameter Selection (ARPS) strategy, which explores the parameter-values space in an ecient way, by dynamically changing the parameter intervals during the optimisation process. The parameter control method described in this section uses an ecient way to reduce the number of observations required to explore new values of parameters and ensures a balanced trade-o between exploitation and exploration of parameter values. To validate the approach, we investigate if using dynamic ranges improves the choice of parameter values and as a result achieves better solution quality. 159

7.2

Adaptive Range Parameter Selection

Adaptive Range Parameter Selection (ARPS) adjusts parameter value ranges as the optimisation process progresses. After each iteration, the best-performing range is halved, whereas the worst-performing is merged with the worse-performing of its neighbours. This technique was rst conceived for the context of parallel computing [139] but has never been applied to the dynamic adjustment of parameter ranges. Mostaghim [139, 140] uses a self-organized Invasive Parallel Optimization (SIPO) technique to solve optimization problems in parallel. The algorithm starts with one resource and automatically divides the optimisation task stepwise into smaller tasks which are assigned to more resources. We extend this technique to the adaptation of the parameter ranges of Evolutionary Algorithms. The technique used to dynamically adapt parameter ranges is illustrated with the help of a single parameter i . Figure 7.1 shows how the parameter values are initially divided into two ranges. The rst range i1 is dened by its minimum and maximum values [i1 (min), i1 (max)], and the second range i2 represents the set of values that lie within [i2 (min), i2 (max)]. At the beginning of the search, both ranges have equal success rates, denoted as the conditional probabilities p(e+ |i1 ) and p(e+ |i2 ), with e denoting the expectation and e+ denoting a successful outcome given the usage of a value from range ij for the parameter i . This value is approximated as the ratio of the number of times the usage of the value ij was successful and the number of times it was used, denoted
n(ij e+ ) n(ij )

in the algorithmic listing 2. In Figure 7.1, an equal height of two ranges

represents the equality of the probabilities of both ranges to be selected for use in the next iteration. After applying the parameter values sampled from the ranges for the optimisation process, the conditional probabilities of each interval are recalculated based on their 160

p(e+ |i1 )

i1

[i1 (min),i1 (max)]

i2

[i2 (min),i2 (max)]

} p(e | )
+ i2

Figure 7.1: Parameter i is initially divided into two equal ranges. An equal height of two ranges represents the equality of the probabilities of both ranges to be selected for use in the next iteration.

usage and performance in the latest iteration. Assuming that the new conditional probabilities have the proportions shown in Figure 7.2, the success rate of the rst interval, i.e. p(e+ |i1 ), is greater than that of the second interval (p(e+ |i2 )).

p(e+ |i1 )

i1

i2

} p(e+|i2)

[i1 (min),i1 (max)] [i2 (min),i2 (max)]

Figure 7.2: The new success rates of the levels of parameter i after running the algorithm.

The adaptive range selection strategy divides the level with the highest success rate into two new levels, denoted as p(e+ |i11 ) and p(e+ |i12 ), as shown in Figure 7.3.
[i12 (min),i12 (max)]

p(e+ |i11 ) p(e+ |i12 )

[i11 (min),i11 (max)]

i11

i12

i2

[i2 (min),i2 (max)]

} p(e+|i2)

Figure 7.3: The level with the highest success rate is divided into two.

The conditional probabilities of both new levels are equal to the conditional probability of the level they were created from. That is: 161

p(e+ |i11 ) =p(e+ |i1 ) p(e+ |i12 ) =p(e+ |i1 ) As a result, the most successful interval is rened into smaller intervals, and the selection probability of the values that lie within these ranges is increased. This increases the exploitation of the intervals and the exploration of new values within the intervals.
p(e+ |i12 )
i2 +

[i12 (min),i12 (max)]

p(e+ |i11 )

[i11 (min),i11 (max)]

i11

i,12

} p(e }
[i2 (min),i2 (max)]

|i2 )

Figure 7.4: The new success rates adjusting the selection probabilities of the values of parameter i after running the algorithm.

The Adaptive Range Parameter Selection Strategy merges the worst performing range i12 in Figure 7.4, with the worse-performing neighbouring range. In this case, the range i12 has been merged with the range i2 forming the new value range i2 as shown in Figure 7.5.
p(e+ |i1 )

[i1 (min),i1 (max)]

i1

i2

[i2 (min),i2 (max)]

} p(e | )
+ i2

Figure 7.5: The ranges with the lowest success rates are merged to form a new range, denoted as i2 . The selection probability of the new range is set equal to the higher selection probability of the two ranges. The values that lie within the newly formed range i2 162

have a lower probability of being selected when compared to the values of the previous range i2 . As a result, the selection probability of under-performing parameter values is decreased, however there is still a possibility that they may be selected. In the future, if the value range i2 shows a successful performance, the Adaptive Range Parameter Selection strategy will divide it again into two dierent ranges. As a result the number of the parameter ranges is regulated during the optimization process dynamically. The algorithmic listings 3 and 4 demonstrate how the adaptive parameter control applies the dynamic changes to the parameter ranges. Algorithm 3 The algorithm for nding the best and worst performing ranges.
2: 4: 6: 8: 10: 12: 14: 16: 18:

procedure BestAndWorst(i ) for all parameter i , i n do p(i,best ) = 0.0 p(i,worst ) = 1.0 for all parameter value ij m do p(e+ |ij ) = QualityAssessmentStrategy(ij ) if p(e+ |ij ) > p(i,best ) then p(i,best ) p(e+ |ij ) i,best ij end if if p(e+ |ij ) < p(i,worst ) then p(i,worst ) p(e+ |ij ) i,worst ij end if end for end for AdjustLevels(i,best , i,worst ) end procedure

Every parameter vi has a number of ranges ij . After each iteration, we investigate the parameters ranges success rate using the quality assessment strategy introduced in Chapter 6. The variable p(i,best ) then holds the best ratio of all ranges of parameter i , and i,best points to the best-performing range of this parameter. Analogously, p(i,worst ) stores the success rate of the worst-performing range of parameter i . The best range i,best is subsequently split into i,best1 and 163

i,best2 , both of which are assigned the raw probability value of p(i,best ). Similarly, the worst range i,worst is expanded to cover the worse-performing of its neighbours i,worst+1 , and the new range is assigned the raw probability value p(i,worst ) of the worst-performing range. Algorithm 4 Adjusting ranges according to the best and worst performing ones.
2: 4: 6: 8: 10: 12: 14:

procedure AdjustLevels(i,best , i,worst ) range i,best (max) i,best (min) i,best1 (min) i,best (min) i,best1 (max) i,best (min) + range/2 i,best2 (min) i,best (max) range/2 i,best2 (max) i,best (max) p(e+ |i,best1 ) p(i,best ) p(e+ |i,best2 ) p(i,best ) if p(e+ |i,worst+1 ) < p(e+ |i,worst1 ) then i,worst+1 (min) = i,worst (min) end if if p(e+ |i,worst+1 ) > p(e+ |i,worst1 ) then i,worst1 (min) = i,worst (max) end if end procedure

Algorithm 5 Fitness proportionate selection. 1: procedure FitnessProportionateSelection(p(i1 ), ..., p(im )) 2: sumCP = 0.0 3: for all j 1, m do 4: sumCP + = p(ij ) 5: cumulativeij = sumCP 6: end for 7: number = Random([0, sumCP ]) 8: for all j 1, m do 9: if number < cumulativeij then 10: return j 11: end if 12: end for 13: end procedure

Adaptive parameters are set for an iteration at a time, sampling the respective values probabilistically from the distribution obtained from the parameter value se164

lection strategy. A tness-proportionate selection mechanism is applied to choose the next parameter congurations, described in the algorithm listing 5. The predicted selection probabilities are used to associate a probability of selection with each parameter conguration. This is achieved by dividing the predicted success rate of every parameter value by the total success rates of all other values of that parameter, thereby normalising them to 1. Then a random selection is made. While candidate parameter values with a higher success rate will be less likely to be eliminated, there remains a probability that they may be. With this kind of tness proportionate selection there is a chance that some weaker solutions may survive the selection process; this is an advantage, as though a parameter value may be not as successful, it may include some component which could prove useful in the following stages of the search.

165

7.3

Validation

The Adaptive Range Parameter Selection (ARPS) strategy described in this thesis adjusts the range sizes of continuous parameter values as the optimisation process progresses. Notable parameter value selection strategies such as Probability Matching (PM) [181], Adaptive Pursuit (AP) [181] and Dynamic Multi-Armed Bandit (DMAB) [56] use static ranges or specic values. In this section we investigate if using dynamic ranges improves the choice of parameter values and as a result achieves better solution quality. This motivates the following research question:

\ What is an eective method for conguring real-valued parameters


during the optimisation process? To answer the research question posed in this chapter, we have performed a set of experiments in which Adaptive Range Parameter Selection (ARPS) is compared with three parameter value selection strategies: Probability Matching (PM) [181], Adaptive Pursuit (AP) [181] and Dynamic Multi-Armed Bandit (DMAB) [56].

7.3.1

Benchmark Parameter Value Selection Strategies

The main characteristic that distinguishes dierent adaptive parameter value selection methods is how they explore the parameter space, i.e. how they calculate the probability vector P = {p(11 ), p(12 ), ..., p(1m1 ), ..., p(nmn )} over time. Vector P represents the selection probability for each parameter value, estimated based on the parameter qualities Q = {q (11 ), q (12 ), ..., q (1m1 ), ..., q (nmn )}. The quality of a parameter value is approximated from the eect of the parameter values on the performance of the algorithm. The vector of all parameter eects is denoted as E = {e(11 ), e(12 ), ..., e(1m1 ), ..., e(nmn )}. The main goal of adaptive parameter control strategies is to adapt the vector of probabilities P such that the expected value of the cumulative eect E [E ] =
n i=1

e(ij ) is maximised. 166

Probability Matching Probability Matching (PM) [181] uses reinforcement learning to project the probability of a parameter value performing well based on the previous performance of an algorithm that used this value. The projected probability of a value providing good quality results at the next time step is based on a running average of past rewards. Rewards are allocated on the basis of the outcome of the optimisation process the parameter value was used in. In essence, PM updates the probability vector P such that the probability of applying parameter value ij is proportional to the quality of that parameter value, i.e. the proportion of the estimated quality qt (ij ) to the sum of all quality estimates
n s=1 qt (is ).

The quality estimate q (ij ) is updated using an additive relaxation mechanism with adaptation rate , (0 < 1). When increases, more weight is given to the current quality. The update rule for the quality of parameters is as follows:

qt (ij ) = qt1 (ij ) + (et1 (ij ) qt1 (ij )) The selection probability for each parameter is the estimated as follows:

(7.1)

pt (ij ) =

qt (ij ) n s=1 qt (is )

(7.2)

This selection strategy may lead to the loss of some parameter values, since parameter values will no longer be selected when their quality q (ij ) becomes zero. This property is unwelcome, since the optimisation process is a non-stationary environment, which means that the parameter value may become valuable again in the future stages. To remedy this problem, i.e. ensure that parameter values do not get lost, Thierens [181] enforced a minimum selection probability pmin for every 167

parameter value. The new equation for selection probabilities is as follows: qt (ij ) n s=1 qt (is )

pt (ij ) = pmin + (1 n pmin )

(7.3)

where pmin is a minimum probability enforced on values which do not receive rewards in order to maintain a non-zero probability. The general motivation of a minimum value is the assumption that parameter values which do not perform well at present might be optimal in the future. If a parameter does not perform well, its reward is not updated. As a result, the quality estimate of this parameter converges to zero, which in turn makes the selection probability of that parameter equal to pmin . On the other hand, if only one parameter receives a reward for a long time, the selection probability of this parameter will be pmin + 1 npmin , which is equal to the maximum selection probability pmax . The main steps of Probability Matching method are described in Algorithm 6. Algorithm 6 Probability Matching (PM).
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:

procedure PM(P, Q, n, pmin , ) for i 1, n do for j 1, m do 1 p(ij ) = m q (ij ) = 1.0 end for end for while nalCriterion == False do for i 1, n do j = FitnessProportionateSelection(p(i1 ), ..., p(im )) e(ij ) = CalculateEffect(ij ) q (ij ) = q (ij ) + (e(ij ) q (ij )) q (ij ) p(ij ) = pmin + (1 n pmin ) n q s=1 (is ) end for end while end procedure PM has been criticised for the fact that the probability values resulting from the

reward allocations poorly reect the relative dierences in algorithm performance 168

when using the values due to the relaxation mechanism described by Equation 7.1. Values with vastly superior performance may only be dierentiated by a marginal increase of the probability of being chosen in the next step.

Adaptive Pursuit Adaptive Pursuit (AP) [181] was conceived with the goal of improving the performance of PM by ensuring an appropriate dierence in probabilities depending on experienced performance. After an iteration of the optimisation process, AP establishes the respective rewards for the parameter values used, but only applies the maximum reward to the value of the best-performing algorithm instance. All other values have their probabilities of future use diminished. A non-zero probability is enforced as a minimum probability. The best parameter value of the current iteration is estimated as follows:

j = arg maxj =1,...,m q (ij )

(7.4)

where q (ij ) is approximated in the same way as for PM using Equation 7.1. The selection probability of the next parameter values is obtained as follows: (1 )pt1 (ij ) + pt (ij ) = (1 )p ( )
t1 ij

if j = j otherwise

(7.5)

where is the learning rate, which controls the greediness of the winner-take-all strategy. If a parameter value is continuously the best-performing one, its selection probability will converge to one, whereas the probabilities of the other parameter values will converge to zero. This is not suitable for non-stationary environments, such as Evolutionary Algorithms, where the eect of the parameter values changes over time. In order not to lose underperforming parameter values, the selection rule 169

in Equation 7.6 is modied with a minimum and maximum selection probability as follows: pt1 (ij ) + (pmax pt1 (ij )) pt (ij ) = p ( ) + (p p ( ))
t1 ij min t1 ij

if j = j otherwise

(7.6)

under the constraint:

pmax = 1 (m 1)pmin

(7.7)

where m is the total number of parameter values. This constraint ensures that the sum of the probabilities of all parameter values is equal to 1. In order to ensure this constraint, pmin should be less than
1 , 2m 1 . m

A recommended value [181] for pmin is

which ensures that the best parameter value is selected half the time, while the

other half is allocated to all other parameter values. Similar to the PM parameter value selection strategy, in the AP approach, every parameter is selected proportionally to the probability vector P , and the quality vector Q is updated accordingly. The main steps of the Adaptive Pursuit parameter adaptation strategy are described in Algorithm 7.

Dynamic Multi-Armed Bandit The Dynamic Multi-Armed Bandit (DMAB) [56, 123], similar to AP and PM, aims at nding an optimal parameter value selection strategy which maximises a cumulative eect along time. DMAB, in the same way as other methods, keeps an empirical quality q (ij ) with every parameter value, based on the eect the parameter value has on the performance of the algorithm. Unlike other methods, DMAB records the number of times a parameter is employed, denoted as n(ij ), which is used in the calculation of the best parameter as follows: 170

Algorithm 7 Adaptive Pursuit (AP).


1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:

procedure AP(P, Q, pmin , , ) pmax = 1 (n 1)pmin for i 1, n do for j 1, m do 1 p(ij ) = m q (ij ) = 1.0 end for end for while nalCriterion == False do j = FitnessProportionateSelection(p(i1 ), ..., p(im )) e(ij ) = CalculateEffect(ij ) q (ij ) = q (ij ) + (e(ij ) q (ij )) j = arg maxs=1...n q (is ) p(ij ) = p(ij ) + (pmax p(ij )) for s 1, m do if s = j then p(is ) = p(is ) + (pmin p(is )) end if end for end while end procedure

arg maxj =1,...,m

q (ij ) + C

2log

n(is ) n(ij )

m s

(7.8)

where C is a hyperparameter, which serves as a scaling factor. This selection mechanism is called the Upper Condence Bound (UCB) and controls the trade-o between exploitation (the left term in Equation 7.8), which favours the parameter values with best eect on the algorithm performance, and exploration (the right term in Equation 7.8), which favours the parameter values that have not been used that frequently. The parameter value selection strategy in Equation 7.8 considers a static environment (the unknown eect probability of any parameter is xed along time), whereas the optimisation process is intrinsically dynamic (the quality of any operator is bound to vary along evolution). Even though every operator is selected from 171

Algorithm 8 Dynamic Multi-Armed Bandit (DMAB).


1: procedure DMAB(P, Q, N, C, ) 2: for i 1, n do 3: for j 1, m do 1 4: p(ij ) = m 5: q (ij ) = 1.0 6: n(ij ) = 0 7: m (ij ) = 0.0 8: M (ij ) = 0.0 9: end for 10: end for 11: while nalCriterion == False do 12: for i 1, n do 13: for j 1, m do 14: if n(ij ) == 0 then 15: s =FitnessProportionateSelection(p(i1 ), ..., p(im )) 16: n(is )+ = 1 17: e(is ) =CalculateEffect(is ) 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
q (is )+e(is ) q (is ) = (n(is )1) n(is ) m (is ) = m(is ) + (e(is ) q (is ) + )

M (is ) = arg maxk=1,...,t

|m (ij )k |

if M (ij ) |m (is )| > then Restart(DMAB(n, C, )) end if else j = arg maxj =1,...,m q (ij ) + C
2log
m s n(is ) n(ij )

n(ij )+ = 1 e(ij ) =CalculateEffect(ij )


ij ij ij q (ij ) = n(ij ) m(ij ) = m(ij ) + (e(ij ) q (ij ) + ) M (ij ) = arg maxk=1,...,t |m (ij )k | if M (ij ) |m (ij )| > then Restart(DMAB(P, Q, N, C, )) end if end if end for end for end while end procedure

(n(

)1)q (

)+e(

172

time to time, in practice UCB would wait too long before realising that some new parameter value has become the best-performing. To address this limitation, DMAB completely recalculates the probabilities when a change in the eects distribution is detected using a change detection test, in this case the statistical Page-Hinkley (PH) test. The PH test checks whether the quality distribution of the parameter value has changed. When a change is detected, the algorithm is restarted, i.e. the empirical quality q (ij ) and condence intervals are re-initialised. As a result, DMAB can quickly identify the new best parameter value without being slowed down by old information. Formally, the DMAB calculates the average reward over the last time steps for each parameter value, which is equal to the quality of that parameter value estimated as follows:

q (ij ) =

(n(ij ) 1)q (ij ) + e(ij ) n(ij )

(7.9)

Then it obtains the dierence between the instant and the average eect, by incorporating a tolerance factor :

m (ij ) = m (ij ) + (e(ij ) q (ij ) + ) Next it calculates the maximum value of m(ij ) in the past iterations as:
k M (ij ) = arg maxk=1,...,t |m (ij )|

(7.10)

(7.11)

Finally, the PH test is triggered when the dierence between the maximum value M (ij ) in the past and its current value |m (ij )| is greater than some user-dened threshold . The PH test is thus parametrized by , which controls the sensitivity of the test to false alarms, and , which enforces the robustness of the test in slowly varying 173

environments. Following guidelines from the original work [55], is kept xed to 0.15. The main steps of the algorithm for the Dynamic Multi-Armed Bandit are shown in Algorithm 8.

7.3.2

Experimental Settings

The Adaptive Range Parameter Selection Strategy is compared with three successful algorithms representative of adaptive parameter value selection strategies: Probability Matching (PM) [181], Adaptive Pursuit (AP) [181] and Dynamic MultiArmed Bandit (DMAB) [56]. A general description of these methods is given in Section 3.3.3. A comprehensive description and comparison of the three adaptive methods is given by Fialho et al. [56]. All adaptive algorithms involve hyper-parameters, which have to be tuned depending on the optimisation problem at hand. This denes another optimisation problem, which can become computationally expensive if we attempt an exhaustive exploration of the search space. We used recommendations from Thierens [181], Fialho et al. [56] and DaCosta et al. [36] when tuning the values of hyper-parameters for the adaptive algorithms, which are depicted in Table 7.1. Table 7.1: Hyper-parameters of the three adaptive methods: Dynamic Multi-Armed Bandit (DMAB), Adaptive Pursuit (AP) and Probability Matching (PM). Benchmark Hyperparameter DMAB DMAB AP,PM AP,PM AP,PM pmin Value 0.5 100 0.1 0.8 0.8 Description scaling factor PH threshold minimum selection probability adaptation rate adaptation rate

The four optimisation schemes are used to optimise ten problem instances which 174

vary in size and diculty: four instances of the multiobjective Quadratic Assignment Problem (KC30-3-3uni, KC20-2-5rl, KC30-3-2rl and KC30-3-3rl), the Royal Road problem and ve instances of the Quadratic Assignment Problem (BUR26A, BUR26B, BUR26E, TAI30B and STE36B). The RR function is being used here as a benchmark to match the Genetic Algorithm, whose parameters are being optimised for the experimental results presented. It has also been used by Fialho, Schoenauer and Sebag [56], whose results are being used for the comparison. We perform 30 trials for each problem and optimisation scheme. The nal solutions of each optimisation scheme are recorded and the results are compared using the normalised tness for the singleobjective problems and the hypervolume indicator, described in Section 3.3.4, for the multiobjective problems. We use the Kolmogorov-Smirnov (KS) nonparametric test [149] to check for the statistical signicance of the nal results. For the benet of these experiments, only the crossover and mutation rates were varied. For the crossover and mutation rates we use dierent value intervals to sample from, with a cardinality of two intervals or levels with ranges of {[0.6, 0.799], [0.8, 1.0]} produced the best results among several cardinalities with even spreads between 0.6 and 1 for the crossover rate, and two intervals with ranges of {[0.001, 0.25], [0.2505, 0.5]} between 0.001 and 0.5 for the mutation rate.

7.3.3

Results

The 30 results of the repeated trials are presented as boxplots in Figure 7.6 and 7.7 for the Quadratic Assignment Problem (QAP), the Royal Road problem (RR) and the multiobjective Quadratic Assignment Problem (mQAP). The empirical results are not normally distributed, but the mean and 25th percentile of ARPS are consistently above the respective values of the benchmark approaches. 175

0.268 0.2675 0.267 0.2665 0.266 0.2655 0.265 PM AP DMAB ARPS

0.489 0.4885 0.488 0.4875 0.487 0.4865 0.486 PM AP DMAB ARPS

Normalised fitness

(a) BUR26A
0.268 0.58 0.57 0.2675 Normalised fitness Normalised fitness 0.56 0.55 0.54 0.53 0.52 0.51 PM AP DMAB ARPS PM

Normalised fitness

(b) BUR26B

0.267

0.2665

0.266

0.2655

AP

DMAB

ARPS

(c) BUR26E
0.79 0.785 0.78 Normalised fitness 0.775 0.77 0.765 0.76 0.755 0.75 PM AP DMAB ARPS Normalised fitness 0.011 0.0105 0.01 0.0095 0.009 0.0085 0.008 0.0075 0.007 0.0065 0.006 PM

(d) TAI30B

AP

DMAB

ARPS

(e) STE36B
1 0.99 0.98 Hypervolume 0.97 0.96 0.95 0.55 0.94 PM AP DMAB ARPS 0.5 PM Hypervolume 0.8 0.75 0.7 0.65 0.6

(f) Royal Road

AP

DMAB

ARPS

(g) KC20-2-5rl

(h) KC30-3-3uni

Figure 7.6: Boxplots of the 30 trials of the four dierent parameter value selection schemes used with an Evolutionary Algorithm optimising the QAP, RR and mQAP. 176

0.98 0.97 0.96 Hypervolume 0.95 0.94 0.93 0.92 0.91 0.9 PM AP DMAB ARPS Hypervolume

0.96 0.94 0.92 0.9 0.88 0.86 0.84 PM AP DMAB ARPS

(a) KC30-3-2rl

(b) KC30-3-3rl

Figure 7.7: Boxplots of the 30 trials of the four dierent parameter value selection schemes used with an Evolutionary Algorithm optimising the multiobjective Quadratic Assignment Problem.

The means and standard deviations are listed in Table 7.2, which clearly show a signicant dierence between the result groups of ARPS and the benchmarks. The mean performance of ARPS is consistently above the averages of the benchmark approaches. The standard deviation of ARPS is relatively high in the singleobjective Quadratic Assignment Problem, but lower than the respective values of the other parameter value selection strategies in the multiobjective Quadratic Assignment Problem instances. The gap between result qualities widens in favour of ARPS as the problem difculty increases. The biobjective mQAP of dimension n=20 (KC20-2-5rl) can be assumed to be the least challenging, and there the results are not as clearly in favour of ARPS. The triobjective mQAP instances of dimension n=30 (KC30-3-2rl and KC30-3-3rl) are clearly solved to better quality using ARPS, as they are more complex than the smaller mQAP instances. As our method consistently outperforms the three other parameter value selection schemes, we employ the Kolmogorov-Smirnov (KS) non-parametric test [149] to check for a statistical dierence. The 30 hypervolume indicators of the repeated trials for each of the problem instances were submitted to the KS analysis. ARPS 177

Table 7.2: The means and standard deviations of the 30 runs of each problem instance using dierent parameter value selection schemes. Mean Problem Royal Road BUR26A BUR26B BUR26E TAI30B STE36B KC20-2-5rl KC30-3-2rl KC30-3-3rl KC30-3-3uni Problem Royal Road BUR26A BUR26B BUR26E TAI30B STE36B KC20-2-5rl KC30-3-2rl KC30-3-3rl KC30-3-3uni AP 0.0086 0.2666 0.4876 0.2670 0.5294 0.7704 0.9641 0.9364 0.9429 0.7253 AP 1.985E-03 3.998E-04 3.673E-04 2.491E-04 1.272E-02 9.796E-03 1.190E-02 1.759E-02 1.268E-02 5.110E-02 PM 0.0085 0.2666 0.4876 0.2669 0.5384 0.7704 0.9665 0.9339 0.9417 0.7284 PM 8.5381E-03 3.398E-04 3.401E-04 3.189E-04 1.233E-02 7.578E-03 1.561E-02 1.639E-02 1.198E-02 4.552E-02 DMAB 0.0093 0.2666 0.4865 0.2664 0.5407 0.7730 0.9684 0.9360 0.9251 0.6468 DMAB 1.835E-03 4.410E-04 3.564E-04 4.233E-04 1.178E-02 7.938E-03 1.124E-02 1.516E-02 2.062E-02 5.751E-02 ARPS 0.0096 0.2672 0.4882 0.2674 0.5483 0.7773 0.9768 0.9720 0.9530 0.7553 ARPS 1.702E-03 1.032E-03 6.286E-04 6.325E-04 1.423E-02 9.659E-03 1.123E-02 7.423E-03 1.127E-02 4.500E-02

Standard deviation

was compared to the other three parameter value selection schemes, with a null hypothesis of an insignicant dierence between the performances (ARPS vs. DMAB, ARPS vs. AP and ARPS vs. PM). The results of the tests are shown in Table 7.3. All KS tests, used for establishing that there is no dierence between independent datasets under the assumption that they are not normally distributed, result in a 178

rejection of the null hypothesis with a minimum d-value of 0.3000 at a 95% condence level. Hence we conclude that the superior performance of ARPS is statistically signicant. Table 7.3: The Kolmogorov-Smirnov test values of the 30 runs of each problem instance using dierent parameter value selection schemes. ARPS vs. DMAB Problem Royal Road BUR26A BUR26B BUR26E TAI30B STE36B KC20-2-5rl KC30-3-2rl KC30-3-3rl KC30-3-3uni d 0.4483 0.6207 0.6552 0.6552 0.3667 0.4000 0.3640 0.8966 0.6897 0.6897 p 0.004 0.000 0.000 0.000 0.026 0.011 0.036 0.000 0.000 0.000 ARPS vs. AP d 0.4138 0.8621 0.9310 0.7586 0.4000 0.3000 0.4406 0.8966 0.3793 0.3631 p 0.009 0.000 0.000 0.000 0.011 0.049 0.006 0.000 0.022 0.043 ARPS vs. PM d 0.4138 0.6539 0.6552 0.6552 0.3667 0.4667 0.3963 0.5310 0.4828 0.3308 p 0.009 0.000 0.000 0.000 0.026 0.002 0.050 0.000 0.001 0.040

The dierence in performance seems more pronounced in the trials using the Royal Road problem, the Quadratic Assignment Problem and the bigger instances of the multiobjective Quadratic Assignment problem (KC30-3-2rl, KC30-3-3rl). The least benet ARPS provides for the smallest instance of the multiobjective Quadratic Assignment problem (KC20-2-5rl). This is an easier instance to solve, hence the algorithm performance can be expected to be more robust to parameter settings. Nonetheless, the Kolmogorov-Smirnov test (Table 4.2) nds a signicantly superior performance of ARPS compared to other parameter value selection methods on all ten problems. In ARPS, the change in the ranges of the intervals of crossover and mutation rates during 20 iterations is depicted in Figures 7.8-7.9. At the beginning of the optimisation process, all intervals are equal. The selection of the parameter values 179

0.5

1 0.95

0.4

0.9 Crossover rate 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0.85 0.8 0.75 0.7 0.65

Mutation rate

0.3

0.2

0.1

0 Iterations

0.6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Iterations

(a) Mutation rate (Royal Road).


0.5 1 0.95 0.4 0.9 Crossover rate 0.85 0.8 0.75 0.7 0.65 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Iterations 0.6

(b) Crossover rate (Royal Road).

Mutation rate

0.3

0.2

0.1

9 10 11 12 13 14 15 16 17 18 19 Iterations

(c) Mutation rate (KC20-2-5rl).


0.5 1 0.95 0.4 0.9 Crossover rate 0.85 0.8 0.75 0.7 0.65 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Iterations 0.6

(d) Crossover rate (KC20-2-5rl).

Mutation rate

0.3

0.2

0.1

9 10 11 12 13 14 15 16 17 18 19 Iterations

(e) Mutation rate(KC30-3-3uni).

(f) Crossover rate (KC30-3-3uni).

Figure 7.8: Change of parameter ranges for the optimisation of the Royal Road Problem and the multiobjective Quadratic Assignment Problem with an EA that uses ARPS during 20 iteration.

180

0.5

1 0.95

0.4

0.9 Crossover rate 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0.85 0.8 0.75 0.7 0.65

Mutation rate

0.3

0.2

0.1

0 Iterations

0.6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Iterations

(a) Mutation rate (BUR26A).


0.5 1 0.95 0.4 0.9 Crossover rate 0.85 0.8 0.75 0.7 0.65 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Iterations 0.6 0

(b) Crossover rate (BUR26A).

Mutation rate

0.3

0.2

0.1

9 10 11 12 13 14 15 16 17 18 19 Iterations

(c) Mutation rate (BUR26B).


0.5 1 0.95 0.4 0.9 Crossover rate 0.85 0.8 0.75 0.7 0.65 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Iterations 0.6 0

(d) Crossover rate (BUR26B).

Mutation rate

0.3

0.2

0.1

9 10 11 12 13 14 15 16 17 18 19 Iterations

(e) Mutation rate (BUR26E).

(f) Crossover rate (BUR26E).

Figure 7.9: Change of parameter ranges for the optimisation of the Quadratic Assignment Problem with an EA that uses ARPS during 20 iteration.

181

is based on the assigned probabilities. The bigger the interval becomes, the smaller is the chance of the values in that interval to be selected. Accordingly, the most successful values for each iteration are to be placed in the smallest interval. We can clearly see that the behaviour of the adaptive range parameter value selection is dierent for dierent problems and dierent parameters. From the bar diagrams we can see that the smaller of the multiobjective Quadratic Assignment Problem instances (KC20-2-5rl) depicted in Figure 7.8c and 7.8d are best optimised with a very small mutation rate throughout the process, whereas the RR problem (Figure 7.8a and 7.8b) seems to require slightly higher mutation rates (approx. 0.2) at the start but toward the end of the process the level ranges are not as focussed. A dierent observation can be made regarding the optimal mutation rates for the QAP instances (Figure 7.9); there, the most successful mutation rates are clearly very low at the end of the optimisation process. The levels of crossover rate develop quite dierently compared to mutation rate. Higher rates are often more successful towards the end of the optimisation process which runs somewhat contrary to popular opinion that crossover rates should decrease towards the end of the optimisation process so as not to disturb solutions with high quality. For some problems, both crossover rates from the upper third and from the lower third of the overall range seem benecial at the same time. The mutation/crossover range analysis shows that high-performing ranges are sometimes absorbed (merged) into very large intervals, making it dicult for the algorithm to re-establish small, promising areas within the range. There may be a potential for further optimisation of the range adaptation in this respect.

182

7.4

Summary

In this chapter we presented a new parameter value selection strategy called Adaptive Range Parameter Selection (ARPS). ARPS, dierent from state-of-the-art parameter value selection strategies, uses dynamic ranges for parameter values which are adjusted as the optimisation process progresses. The method rewards bestperforming parameter ranges by dividing them into two new ranges and assigning each of them the same selection probability as the parent range. As a result, the selection probability of all values within that range is doubled. On the other hand, the worst performing range is merged with one of the neighbouring ranges, reducing its selection probability, but not discarding it. According to our knowledge, the best-performing approaches with the same functionality are AP, PM and DMAB. The new approach clearly outperforms the other parameter control methods. As the problem diculty increases, so does the dierence in result quality produced by ARPS compared to the benchmark approaches. The mutation/crossover range analysis shows that high-performing ranges are sometimes absorbed (merged) into very large intervals, making it dicult for the algorithm to re-establish small, promising areas within the range. There may be a potential for further optimisation of the range adaptation in this respect.

183

184

Part III Practical Validation

185

Chapter 8 Architecture Optimisation in Embedded Systems


8.1 Introduction

Embedded software plays a signicant role in performing a variety of tasks in automotive, avionic, medical, defence, railway, and telecommunication systems [146, 150]. The design and development of todays embedded systems is a complex task, involving several decisions regarding the architecture of the system. Examples of architecture-level decisions include the deployment of software components to hardware platform and allocating redundancies for software and hardware elements. The decisions made during architecture design have signicant implications for the quality of the nal system [62, 97, 119]. For instance, the decision of running two components which implement safety-critical functions on the same hardware resource may lead to a violation of safety requirements due to common cause failures, i.e. both components will fail because of the same cause. Usually, this scenario is avoided. Another example is the allocation of redundant components, which is a widely used method for the reliability improvement. Last but not least, selecting the suitable components to perform specic tasks can aect system quality attributes, such as performance, reliability, and security. Due to the life- and mission-critical nature 187

of the majority of these systems, quality attributes such as availability, reliability, performance, safety and security are very important. The ever-increasing complexity of software systems introduces a big challenge for systems engineers, who have to choose from a growing number of design options resulting in a design space that is beyond the human capabilities of understanding, making the architecture design problem a challenging task [146, 150, 73]. The requirement for automating the task of architecture design in embedded systems has been recognised by previous research [25, 150, 21, 119, 34], and a plethora of architecture optimisation approaches have been developed, such as Evolutionary Algorithms (EA) [97, 193, 119, 147]. To handle the complexity of the task, the optimisation approaches limit the variability of architectural decisions, optimising the architecture from a particular point of view, such as component deployment optimisation [126, 86, 18, 50, 62, 97, 193, 119, 147] and redundancy allocation optimisation [111, 193, 107, 106, 127]. The use of Evolutionary Algorithms for the architecture optimisation of embedded systems has steadily grown over the years [21, 50, 62, 147, 193, 119], proving that EAs can successfully be applied to solving complex combinatorial problem spaces [188]. It has also been observed that EAs are robust algorithms, producing result qualities with low deviation [157]. The main reasons why Evolutionary Algorithms are often applied in the Software Engineering domain is their ability to solve any complex problem if it is congured in the appropriate way. However, this is not an easy task due to the large number of parameter values and combinations that have to be congured. This task becomes even more dicult because of the non-linear ways EA parameters interact [43]. Exploring all the parameter congurations is very time consuming and computationally expensive [43]. It follows that nding the right EA conguration for a specic problem is an optimisation problem in its own that practitioners have to face. 188

The requirement for conguring optimisation algorithms in the Software Engineering domain is only one example of practitioners having to do experts tasks. This requirement extends beyond the Software Engineering domain, however we use the architecture optimisation problem to test the applicability of the proposed optimisation approach to a real world application. We apply the Evolutionary Algorithm with the Adaptive Parameter Control (APC) to two optimisation problems in architecture design and use a case-study from the automotive industry to demonstrate the results.

189

8.2

Architecture Design and Optimisation

The architecture of an embedded system represents a model or an abstraction of the real elements of the system and their properties, such as software components, hardware units, interactions of software components, and communications between hardware units. Formally, we dene the software elements as a set of software components, denoted as C = {c1 , c2 , ..., cn }, where n N. The software components are considered as black boxes [91], i.e. not modiable and with unknown internal structure, but with a description of externally visible parameters. The software components interact to implement a set of services, which dene the functional units accessed by the user of the system. Figure 8.1 depicts an example of four components and their interactions.

c2 c1 c3
Figure 8.1: Software elements and interactions.

c4

Each service is initiated in one software component (with a given probability), and during its execution uses many other components (possibly shared with other services), connected via communication links. For each service, the links are assigned with a transition probability. This view follows the Kubat model [105], who expresses the software architecture as a Discrete-Time Markov Chain (DTMC), where vertices represent the execution of software components, and arcs enumerate the probability of transferring the execution ow to the next component. The DTMC model is used to calculate specic quality attributes of the system. The model depicted in Figure 8.2 is constructed by using the software elements shown in Figure 8.1. The hardware architecture is composed of a distributed set of hardware hosts, denoted as H = {h1 , h2 , ..., hm }, where m N, with dierent capacities of memory, 190

0.3

0.5

1.0

1
0.7

4 3
0.5

Figure 8.2: Software elements and interactions.

processing power, access to sensors and other peripherals. The hardware hosts are connected via network links denoted as N = {n1 , n2 , ...ns }. An example of three hardware hosts and the network that is used for communication is depicted in Figure 8.3.

n1
h1 h2 h3

Figure 8.3: Hardware elements and communication network.

Given the set of architectural elements, a series of decisions have to be taken in order to obtain the nal architecture of the embedded system, such as how to deploy the software components to the hardware resources called Component Deployment Problem (CDP), and how to assign redundancy levels to safety-critical components, called the Redundancy Allocation Problem (RAP). Current research [62, 97, 119] shows that these decisions have signicant implications for the likelihood that the system achieves the desired quality attributes. In general, quality attributes are non-functional characteristics of a system, the combination of which constitutes the overall quality of the system as dened by the IEEE 1061 standard [88]. Examples of quality attributes are reliability, safety, availability, cost, energy consumption and performance. For every design decision, several quality attributes are considered, which due to their conicting nature, are optimised simultaneously. 191

8.2.1

Redundancy Allocation Optimisation

Component redundancy allocation is a widely used reliability improvement technique for dependable embedded systems [73, 127]. The Redundancy Allocation Problem (RAP) has shown to be NP-hard [30], hence most of the approaches in the literature use stochastic algorithms to optimise this problem. Coit et al. [31] solve the Redundancy Allocation Problem (RAP) by using functionally similar components such that if one component fails, the redundant part performs the required functionality without a system failure. The optimisation problem is dened as the minimisation of cost while satisfying a user dened system reliability level, which is handled as a constraint. The problem is optimised by using a Genetic Algorithm. Kulturel-Konak et al. [106] use a Tabu Search with a penalty function for infeasible solutions, which allows the exploration of infeasible regions. Ant Colony Optimisation (ACO) is another optimisation technique used to solve the redundancy allocation problem by Liang et al. [110], who employ an elitist strategy to preserve good solutions and a mutation operator to search in unexplored areas of the search space. The enhanced ACO performs better compared to an ACO without the mutation operator and the elitism. All the mentioned approaches model the redundancy allocation problem as a singleobjective problem, which minimises cost while satisfying the predened reliability criteria. In contrast, Grunske [71] addressed the redundancy allocation problem as a multiobjective problem to optimise reliability and minimise weight. We follow a similar approach, since the allocation of redundancy levels aects conicting objectives, which have to be optimised simultaneously. For the redundancy allocation, we use the hot spare design topology, in which all component redundancies are active at the same time, mimicking the execution of the original component. With the NMR extension the system employs a decision 192

mechanism in the form of majority voting when multiple replicas deliver their results to the entry gate of a component. In this conguration, each component with its parallel replicas is regarded as a subsystem. Formally, an architecture alternative for the redundancy allocation problem is denoted as ra. The set of all redundancy allocation candidates ra is denoted as RA = {ra | ra : C NRA }, where NRA = {n | 0 n nM ax, n N0 } delimits the redundancy level of a component. Note that, since C and N are nite, RA is also nite. A visual representation of an architecture alternative for the Redundancy Allocation Problem is depicted in Figure 8.4.

c11 c12 c13

c21 c22 c3

c41 c42

Figure 8.4: Redundancy Allocation Problem. The redundancy allocation problem is optimised by using an EA with a specialised solution encoding which maps a redundancy level to each software component. This problem has many quality-related aspects and is therefore modelled as a multiobjective problem. Solution representation In order to apply an Evolutionary Algorithm to RAP, each solution is encoded as rai = [rai (c1 ), rai (c2 ), ..., rai (cn )], where rai (cj ) represents the redundancy level for component cj in the architecture alternative rai . Genetic operators The crossover and mutation operators are used to nd new architecture alternatives for RAP. The crossover operator creates two new solutions rai , raj R from 193

two parents rai = [rai (c1 ), rai (c2 ), ..., rai (cn )] and raj = [raj (c1 ), raj (c2 ), ..., raj (cn )] coming from existing population by recombining the redundancy levels, i.e. for a randomly selected index k : rai = [rai (c1 ), ..., rai (ck1 ), raj (ck ), ..., raj (cn )] and raj = [raj (c1 ), ..., raj (ck1 ), rai (ck ), ..., raj (cn )]. Similarly, a single-point mutation produces a new solution rai from existing rai by switching the redundancy levels of two software components, i.e. for randomly selected k, l: rai = [raj (c1 ), ..., raj (cl ), ..., raj (ck ), ..., raj (cn )] while the original is rai = [rai (c1 ), ..., raj (ck ), ..., raj (cl ), ..., raj (cn )].

8.2.2

Component Deployment Optimisation

The Component Deployment Problem (CDP) refers to the allocation of software components to the hardware nodes, and the assignment of inter-component communications to network links. The way the components are deployed aects many aspects of the nal system, such as the processing speed of the software components, how much hardware is used or the reliability of the execution of dierent functionalities [129, 4, 147, 136, 126, 120, 169, 62], which constitute the quality attributes of the system. Some of the methods focus on the satisfaction of the constraints or user requirements [96, 27, 121], others aim at nding optimal deployments or at least candidates that are near-optimal [126, 169, 62, 145, 21], often in combination with the given constraints [136, 126, 62, 21, 117]. In our approach, conicting quality attributes are considered which are optimised simultaneously. Moreover, constraints are checked for satisfaction in every generated solution. From an optimisation perspective, the component deployment problem is similar to the generalized Quadratic Assignment Problem (gQAP), where there is no restriction that one location can accommodate only a single equipment. Formally, the component deployment problem is dened as D = {d | d : C H}, where D 194

is the set of all functions assigning components to hardware resources. One possible solution for the component deployment problem of the software and hardware architectures introduced in the previous section is depicted in Figure 8.5.

n1
h1 h2 h3

c1,1 c1,2 c1,3

c2,1 c2,2

c4,1 c4,2 c3

Figure 8.5: Component Deployment Problem.

Solution representation The component deployment problem uses an EA with a specialised solution encoding which maps software components to hardware resources. Each architecture alternative of the component deployment problem is encoded for the optimisation process as di = [di (c1 ), di (c2 ), ..., di (cn )], where di (cj ) represents the hardware host used to deploy component cj in the deployment alternative di . Genetic operators The genetic operators are applied to this representation of the solutions in order to generate new architecture alternatives. The crossover operator combines the allocation lists of two solutions. Formally, crossover creates two new solutions di , dj D from two parents di = [di (c1 ), di (c2 ), ..., di (cn )] and dj = [di (c1 ), di (c2 ), ..., di (cn )] coming from existing population by recombining the allocation of components, i.e. for a random k : di = [di (c1 ), di (c2 ), ..., di (ck1 ), dj (ck ), ..., dj (cn )] and dj =

[dj (c1 ), dj (c2 ), ..., dj (ck1 ), di (ck ), ..., di (cn )]. The mutation operator exchanges the host allocations of two randomly chosen components. Formally, mutation produces a new solution di from existing di by switching the mapping of two components, i.e. for randomly selected k, l: 195

di = [di (c1 ), di (c2 ), ..., di (ck )..., di (cl ), ..., di (cn )] while the original solution is di = [di (c1 ), di (c2 ), ..., di (cl )..., di (ck ), ..., di (cn )]. The problem denition does not allow for duplications, and a repair operation follows the crossover/mutation move.

196

8.3

ArcheOpterix

To solve the architecture design problem in embedded systems we have implemented an open source framework called ArcheOpterix [3] (http://mercury.it.swin.edu. au/g_archeopterix/). ArcheOpterix is a generic platform for modelling, evaluating and optimising embedded systems. The main modules of ArcheOpterix are shown in Figure 8.6. The current implementation supports several quality attributes (service reliability [129, 130], response time [127], data communication overhead [3, 4, 5], cost [127], data transmission reliability [3, 4, 5], energy consumption [128], and scheduling length [138]), dierent optimisation algorithms (Non-dominated Sorting Genetic Algorithm-II [41] and Pareto-Ant Colony Optimisation [4]) and various parameter control mechanisms (Probability Matching (PM) [181], Adaptive Pursuit (AP) [181] and Dynamic Multi-Armed Bandit (DMAB) [56], Predictive Parameter Control [5], etc.).

Archeopterix
Objectives * Cost Scheduling Reliability ... Architecture Design * Scheduling Redundancy allocation Component deployment ... Constraints * Memory Localisation Coallocation ... Optimisation * Local search ACO EA ... Parameter Control * Adaptive Pursuit Probability Matching ARPS ...

Figure 8.6: ArcheOpterix framework.

The architecture design decisions supported in ArcheOpterix are component deployment, redundancy allocation, etc. Problem-specic constraints are implemented to check for the feasibility of produced solutions, such as localisation constraint [129, 3, 4, 138, 5], collocation [129, 3, 4, 138], memory [129, 3, 4, 138, 5], and redundancy levels [127, 128]. ArcheOpterix supports distributed processing in grid and cloud platforms and parallel optimisation algorithms.

197

8.4

Case-Study: Automotive Embedded Systems

Today more than 80% of innovations in a car come from software systems. Software adds distinguishing features to car models and allows hardware to be reused. With the increase of the number of functions performed by software, the automotive embedded systems are becoming more complex with many design options to choose from. For instance, a simple power train control application has 3488 possible component realisations by instantiating dierent algorithms and their variants. A typical car consists of around 80 electronic ttings. Simple yes, no decisions for each function yield approximately 280 variants to be ordered and produced for a car. Thus there is a large amount of variants that should be handled technically [26], a task that can take years for the system designer. Both the software and the hardware architecture form the embedded architecture of an automotive system, the design of which involves a variety of manual and automatic decisions. Component deployment and redundancy allocation are two important design decisions that can be automated. The way the architecture of automotive systems is designed aects dierent quality attributes of the system [62, 96, 119], such as safety, security, availability, reliability, maintainability, performance and temporal correctness [72, 151], which often are conicting with each other. Given the conicting quality attributes and the design options which grow exponentially with the number of components, the design space extends beyond the human capabilities of understanding. To deal with the complexity of todays automotive systems, automatic methods are required, which can support engineers in exploring the design space and nding good solutions; a problem that has already been recognised by the industry [25, 151]. We demonstrate the application of the proposed adaptive parameter control for Evolutionary Algorithms to the design of an automotive embedded system. 198

8.4.1

Hardware Architecture

In the automotive industry, an existing hardware topology is usually used, because car models remain the same through parts of their lifetimes. The hardware is used to run software components which form the basis of the increasingly sophisticated functionality of contemporary cars. The hardware model of an automotive embedded system is composed of a distributed set of Electronic Control Units (ECUs), which have dierent capacities of memory, processing power, access to sensors, etc. Automotive embedded systems closely interact with the physical environment, typically via sensors and actuators. All the hardware modules (ECUs, sensors, actuators) are connected through communication buses, which are shared among the hardware units, such as Ethernet, CAN, or FlexRay. The hardware modules and the communication buses, as depicted in Figure 8.7, form the hardware architecture of an automotive system.
LIN BUS ECU5 DRIVER CAN Pedal position sensor ECU6 ECU8 Brake force sensor Parking brake sensor ECU7 Brake pedal actuator

Temperature sensor Wheel speed sensor Caliper position sensor Parking brake actuator Caliper actuator

ECU4 CAN BUS

ECU9

ECU1

ECU2

ECU3

Figure 8.7: The hardware architecture.

199

Many types of buses can be present, having dierent characteristics of data rates and reliability. For example, for the Brake-by-wire (BBW) system a highly reliable bus is used due to the safety-critical nature of this system, whereas a less reliable bus may be sucient for multi-media streaming. Each ECU has access to dierent sensors and actuators, which impose localisation constraints for the software components. In other words, software components that read from a specic sensor or write to a particular actuator, have to be deployed to an ECU that has access to the sensor or actuator. The hardware elements are annotated with dierent properties required for the calculation of the quality attributes. The communication among the hardware hosts is achieved by the network links, which have dierent characteristics of data rates, reliability, etc. Figure 8.7 depicts three dierent network links: a LIN bus, a Driver CAN and a CAN bus. A description of the properties of hardware units and network links are depicted in Table 8.1. Table 8.1: Properties of the hardware elements. Annotation ps(hi ) mh(hi ) bw tt Denition Description HN HN N R N N N N Processing speed of the host (M IP S ). Memory capacity of host hi . Failure rate of the network link. the bandwidth of a network link. the transfer time for a link per execution.

8.4.2

Software Architecture

The software layer of an automotive embedded system consists of a high number of lightweight components, representing the logical blocks of system functionality (typically in a low-level programming language). This forms the software architecture 200

of the system. Automotive software has very diverse functionality, ranging from entertainment software to safety-critical, real-time control software. We illustrate the software architecture of an automotive system by using the Brake-by-wire (BBW) service, which is a real-time system that performs safety-critical tasks.

Brake-By-Wire
1:Temperature Sensor 2:Calliper Position Sensor 9:Parking Brake Sensor

3:Parking Brake Actuator

4:Calliper Control Unit

6:Central Brake Control

8:Wheel Spin Detector

5:Calliper Clamp Actuator

10:Brake Pedal Control

7:Wheel Speed Sensor

11:Pedal Position Sensor

12:Brake Force Sensor

13:Brake Feedback Actuator

Figure 8.8: The software architecture of the Brake-by-wire system.

BBW technology is a recent innovation in the automotive industry, which replaces the traditional mechanical and hydraulic control systems with electronic control systems. A diagram of the BBW software model is shown in Figure 8.8, where each box represents a software component and the connections among them correspond to the interactions. The direction of the arrows shows the sequence of the execution of the components. A BBW pedal is usually equipped with several sensors which provide information 201

about the drivers brake request. The Pedal Position Sensor (PPS) and the Brake Force Sensor (BFS) measure the force applied by the driver to the brakes and the current position of the brakes. Upon measurement of the drivers brake request, the brake demand is sent to the Brake Pedal Control (BPC) via the communication network. The BPC transfers the brake request to the Central Brake Control (CBC), which generates four independent brake commands and sends them to the Calliper Control Unit (CCU) in each wheel. These commands are usually in the form of four clamp forces that are generated between each of the four brake discs and their corresponding brake pads. Each CCU includes a Calliper Clamp Actuator (CCA) to clamp the brake pad toward the braking disc and a Parking Brake Actuator. The CCU also processes additional inputs from several sensors, such as the Temperature Sensor (TS) and the Calliper Position Sensor, which regulate the brake command execution. There are also dierent sensors and a controller to tune the actual brake force to the desired clamp force received from the Central Brake Control (CBC), such as the Parking Brake Sensor (PBS) and the Wheel Speed Sensor (WSS). After the brake request has been applied, a message is generated by the Brake Feedback Actuator (BFA) which noties the driver. A description of the properties of software elements is given in Table 8.2.

8.4.3

Conguration of the Case-study

The property of the hardware and software elements described in Tables 8.1 and 8.2 are congured using values from a real world applications of an automotive embedded system. The case-study was built with inputs from the Australian Automotive Industry via the cooperate research centre (AutoCRC), and Volvo Sweden. The conguration of the hardware and software architecture are given in Tables 8.3-8.7. 202

Table 8.2: Properties of the software elements. Annotation ext(ci ) : q0 (ci ) mc(ci ) (ci ) cost(ci ) p(cj , ci ) es(cj , ci ) cf (ci , cj ) lr(ci , hj ) Denition CN CR CN CC R CN CC R CC N CC R C H {0, 1} Description Estimated time taken for a single execution of component ci . Mean execution initialisation probability for component ci . Memory size required to run component ci . Failure rate of component ci . The price associated with a single component; specied in ($)s. Transition probability from component cj to component ci . Message (event) size transferred from component cj to component ci . Communication frequency between components ci and cj . Localisation restrictions. The restriction lr(ci , hj ) = 1 if component ci has to be deployed to hardware host hj , otherwise lr(ci , hj ) is equal to 0. Collocation restrictions. Restriction cr = 1 if ci has to be deployed in the same hardware unit as cj , and cr = 0 if there is no such restriction.

cr(ci , cj )

C C {0, 1}

The software architecture is deployed to the hardware architecture described in Section 8.4.1, to realise the BBW system. This process involves two main design steps which are optimised individually, described in the following sections. First a redundancy level is decided for each component. Then the software components and their redundancies are allocated to the ECUs. In each step, dierent quality attributes are optimised. 203

Table 8.3: Values of hardware nodes for the BBW system. Host ECU1 ECU2 ECU3 ECU4 ECU5 ECU6 ECU7 ECU8 ECU9 mh 512 1024 512 1024 510 1024 1024 1024 1024 ps 4 6 2 2 11 11 8 7 8 fr 0.000400 0.000400 0.000020 0.000100 0.000800 0.000200 0.000060 0.000040 0.000800 lr 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1

Table 8.4: Values of communication links for the BBW system. Link Lin bus Driver CAN CAN bus fr 3.00E-05 1.20E-04 4.00E-05 bw 128 64 64 tt 10 2 4 r 0.9 0.8 0.8

8.4.4

Redundancy Allocation Optimisation

Redundancy Allocation (RA) determines the number of redundancies that have to be implemented for each software components. RA is one of the well-known system reliability improvement techniques [110, 32, 107, 73]. Reliability is one of the crucial aspects that should be considered when designing embedded architectures of dependable, safety critical systems such as in the automotive domain [2]. However, employing redundant components can have a negative inuence in the other quality attributes. Employing multiple redundancies in software level adds communication and processing overhead, as well as requirements for additional hardware (e.g. sensors). This problem has been addressed mostly in component based software ar204

Table 8.5: Values of software components for BBW system. Component c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 Temperature Sensor (TS) Calliper Position Sensor (CPS) Parking Brake Actuator (PBA) Calliper Control Unit (CCU) Calliper Clamp Actuator (CCA) Central Brake Control (CBC) Wheel Speed Sensor (WSS) Wheel Spin Detector (WSD) Parking Brake Sensor (PBS) Brake Pedal Control (BPC) Pedal Position Sensor (PPS) Brake Force Sensor (BFS) Brake Feedback Actuator (BFA) mc 64 128 64 512 256 1024 64 128 128 512 64 128 64 q0 0.108 0.182 0 0 0 0 0.1 0.2 0.1 0 0.13 0.18 0 ext 12 10 2 20 5 10 12 8 4 6 10 10 4 cost 25 30 20 30 40 30 35 20 30 35 30 35 25

Table 8.6: Values of interactions between components in the BBW system. ci cj p cl ext es cf c0 c3 1 2 0.2 10 1 c1 c3 1 2 0.3 12 1 c3 c2 0.3 2 0.1 12 0.3 c3 c4 0.7 2 0.4 10 0.7 c5 c3 1 2 0.3 12 1 c7 c5 1 1 0.2 6 1 c6 c7 1 2 0.6 12 1 c8 c7 1 1 0.4 6 1 c9 c5 0.6 2 0.2 12 0.6 c10 c9 1 1 0.3 8 1 c11 c9 1 2 0.5 10 1 c9 c12 0.4 2 0.4 6 0 .4

205

Table 8.7: Values of collocation restrictions between components in the BBW system. c1 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 0 0 0 0 0 0 0 0 0 0 0 0 0 c2 0 0 0 0 0 0 0 0 0 0 0 0 0 c3 0 0 0 0 0 0 0 0 0 0 0 0 0 c4 0 0 0 0 0 0 0 0 0 0 0 0 0 c5 0 0 0 0 0 0 0 0 0 0 0 0 0 c6 0 0 0 0 0 0 0 0 0 0 0 0 0 c7 0 0 0 0 0 0 0 1 0 0 0 0 0 c8 0 0 0 0 0 0 1 0 0 0 0 0 0 c9 0 0 0 0 0 0 0 0 0 0 0 0 0 c10 0 0 0 0 0 0 0 0 0 0 0 0 0 c11 0 0 0 0 0 0 0 0 0 0 0 1 0 c12 0 0 0 0 0 0 0 0 0 0 1 0 0 c13 0 0 0 0 0 0 0 0 0 0 0 0 0

chitecture development, where the trade-os between cost and reliability were investigated. Apart from the cost, when redundancy is employed in automotive systems, additional overheads incur into the response time. Response time is also a critical and important aspect of automotive systems, not only in safety critical sub-systems but also in user interaction sub-systems, such as the navigation system [2]. Hence, to quantify the quality of a single redundancy allocation architecture ra, we dene three objective functions F : RA R2 , where F (ra) = (rt(ra), r(ra), cost(ra)) s.t. rt(ra) is the the response time of ra, dened by Equation 8.1, r(ra) denotes the reliability (probability of failure-free operation) of ra, dened in Equation 8.7 and cost(ra) is the total cost of the system with the redundancy levels assigned to components. 206

Response time The response time has already been the focus of an extensive research in the embedded systems [169, 61, 87, 170]. In the prediction of response time for each redundancy allocation candidate, we use the DTMC model based approach presented in [170]. We describe the system behaviour as a Markov model with probabilities of execution transfer between components together with probabilities of execution initialisation at each component. The response time rt for a redundancy allocation candidate ra is calculated as follows:

rt(ra) =
i n

ext(ci ) exv (ci )

(8.1)

where ext : C N is the estimated time taken for a single execution of a component, and exv : C R quanties the expected number of executions of a component during the system execution. This can be computed by solving the following equation [105]:

exv (ci ) = q0 (ci ) +


j \

(exv (cj ) p(cj , ci ))

(8.2)

where p(cj , ci ) denotes the transition probability from component cj to component ci , and q0 (ci ) represents the mean execution initialisation probability for component ci .

Reliability We employ a well-established method of reliability estimation presented by Kubat [105, 68]. In estimating the reliability of a single component, we assume that failure of a component has an exponential distribution [171], which is characterised by failure rate parameter . First, we calculate the reliability of a single component 207

ci per visit as dene by Shatz et al. [171]:

r(ci ) = e(ci )ext(ci )

(8.3)

When the redundancy levels are employed, the reliability of a component with its replicas connected in parallel for the architectural alternative ra is computed as:

r(ci,rep ) = 1 (1 r(ci ))ra(ci )+1

(8.4)

Similarly, the reliability of transferring a message from component ci to component cj is calculated as follows:

r(ci , cj ) = e(ci ,cj )tt(ci ,cj )

(8.5)

where tt(ci , cj ) is the transfer time for a link per execution (ci , cj ) is the failure rate in the communication: In consideration of a redundancy allocation ra, the presence of multiple senders increases the reliability (due to the tolerance against commission and value failures), which is calculated as follows:

r(ci,rep , cj ) = 1 (1 r(ci , cj ))ra(ci )+1

(8.6)

The reliabilities of individual system elements (subsystems and links) per a single visit are used to compute the reliability of the system execution based on the expected number of executions [68, 105]:

r(ra)

(r(ci,rep ))exv(ci )
i n

(8.7)

208

Cost The cost of the system for each architecture alternative is evaluated as the sum of the costs of individual components and the respective redundancies as follows:

cost(ra) =
i n

cost(ci ) (ra(ci ) + 1)

(8.8)

8.4.5

Component Deployment Optimisation

Another challenge for the automotive industry remains the deployment function which relates hardware to software. The hardware, software and the deployment function should be a concrete realisation of the logical architecture, which describes the interaction between the logical components. The software components run on ECUs and communicate by bus systems. The deployment process determines the ECU to which each software component is allocated. Generally, the same platform can be used for dierent models and dierent products at the same time, by integrating new functionality in an iterative process [186], which makes the implementation of new innovative functions the main focus of the automotive electronics [162]. The decisions regarding the deployment architecture of a car aect the quality of the nal systems. For example, consider the two deployment architectures shown in Figure 8.9. In the rst deployment architecture, frequently interacting software components have been deployed to the same hardware resource, which result in an architecture with a lower communication overhead compared to the second deployment architecture. However, the rst deployment architecture has a longer scheduling length due to the sequential execution of the components that require information from each other. To quantify the quality of a single deployment architecture d, we dene three 209

Figure 8.9: The software architecture of Brake-by-wire system.

objective functions F : D R3 , where F (d) = (sl(d), co(d), dtr(d) s.t. sl(d) is the quantication of the scheduling length of d, dened by Equation 8.9, co(d) denotes the communication overhead of d, dened in Equation 8.10 and dtr(d) denotes the data transmission reliability dened in Equation 8.11.

Scheduling length

The scheduling length (sl) describes the average time for a hardware unit (i.e. ECU) to complete the round-robin processing of all its assigned components. ST is given by 210

1 sl(d) = m

cChj

ext(c) . (8.9)

j =1

ps(hj )

where Chj is the set of components deployed to the hardware host (ECU) hj , ext(c) is the estimated time taken for a single execution of the component c and ps(hj ) is the processing speed of ECU hj . ECUs are assumed to have a xed and deterministic scheduling, which is a technology used with Time Triggered Architectures (TTA) in embedded systems in order to maintain the predictability of internal behaviour [102, 75]. With this scheduling strategy, when the software components are allocated to ECUs, a xed schedule is determined. Each component is given a specic time frame, which it requires to complete the execution. The schedule is done in a round-robin fashion, i.e. each component is allocated its own time frame in a circular fashion. The sum of all the execution time slots in the ECU is called scheduling length.

Communication Overhead In embedded systems with their constrained hardware resources, repeated transmissions between software components are discouraged. The Communication Overhead (CO) [126] objective attempts to enforce minimal data communication for a given set of components and system parameters. As a network- and deployment-dependent metric, the overall communication overhead of the system is used to quantify this aspect. This metric was rst formalised by Medvidovic and Malek [126].
n n

co(d) =
n i=1 j =1 n

cf (ci , cj ) nd(d(ci ), d(cj ))+ (8.10)

i=1 j =1

cf (ci , cj ) es(ci , cj ) bw(d(ci ), d(cj )) r(d(ci ), d(cj )) 211

where es : C C N is the component event size, with es(ci , cj ) = 0 if ci = cj or there is no event occurring, cf : C C R is the communication frequency between ci and cj , bw : H H N is the network bandwidth, with bw(hi , hj ) = 0 if hi = hj or there is no network connection between hi and hj , and nd : H H N is the network delay, with nd(hi , hj ) = 0 if hi = hj or there is no network connection between hi and hj .

Data Transmission Reliability In a deployment architecture, the communication of components that belong to the same service and that are deployed in dierent ECUs is supported by the network. Normally, they have to exchange frequent messages with each other, which makes the reliability of the data transmission in the network a crucial quality attribute. Data transmission reliability is especially important in a real-time embedded system, since important decisions are taken based on the data transmitted through the communication links. Following the denition introduced by Malek [120], data transmission reliability is calculated as follows:
n n

dtr(d) =
i=1 j =1

cf (ci , cj ) r(d(ci ), d(cj ))

(8.11)

where cf (ci , cj ) is the communication frequency between components ci and cj , and r(d(ci ), d(cj )) is the reliability of the communication link between the hardware resources where ci and cj are deployed, which is calculated by using Equation 8.5.

Constraints Not all deployment architectures represent feasible alternatives. For instance, placing all components into a single host is not feasible due to memory constraints. Hence the optimisation process should check if every new created solution satises 212

the set of constraints. The set of constraints is dened independently of the quality functions. Currently, we consider three constraints = {mem, loc, colloc}, where mem is the memory constraint, loc denotes the localisation constraint and colloc is the collocation constraint. Memory constraint: Processing units have limited memory, which enforces a constraint on the possible components that can be deployed in each ECU. Formally, let d1 : H Ch denote the inverse relation to d D, i.e. d1 (H) = {Ch C | d(Ch ) = h}. Then the memory constraint mem : D {true, f alse} is dened as follows:

mem(d) = h H :

Ch d1 (h)

mc(Ch ) mh(h)

(8.12)

where mc(Ch ) is the total memory required to run the set of components deployed to the hardware host h, and mh(h) is the available memory in host h. In other words, this constraint does not allow any deployment solution which exceeds the available memory in the hardware resources. Localisation constraints: Processing units have access to dierent sensors and actuators which are used by the software components. For instance, the Brake Force Sensor (BFS) software component reads information from the respective sensor. As a result it has to be deployed to an ECU which can communicate with that sensor (i.e. is connected via the network or the sensor is built into it). The availability of a specic sensor in a hardware host, restricts the allocation of the software component that uses the sensor to that particular host. This constraint is called localisation constraint, denoted loc : D {true, f alse} and is dened as follows: loc(d) = c C : (h lr(c) d(c) = h) where lr(c) is the list of localisation restrictions. 213 (8.13)

Collocation constraints: Some of the components should not be allocated in the same ECU. For example, a software component should not be allocated in the same ECU as its redundancies, so that if one of the ECUs fails the other one can still perform the required task. This is called collocation constraint, denoted as colloc : D {true, f alse}, and restricts the allocation of two software components to two dierent hosts. Collocation constraint is calculated as follows:

colloc(d) = c C : (h cr(ci , cj ) d(ci ) = d(cj ) where cr(ci , cj ) is the matrix of collocation restrictions.

(8.14)

8.4.6

Results of the Optimisation Process

The presented case-study is a comparatively small segment of the actual automotive architecture optimisation problem. Despite this fact, the possible number of candidate architectures is still too large to search with an exact algorithm, i.e. 913 2.54 101 2 options for the redundancy allocation problem, and even larger for the component deployment problem. To optimise both architecture optimisation problems we employed an Evolutionary Algorithm with the adaptive parameter control strategy proposed in this thesis which was compared to an EA with tuned parameter values. For the purpose of this experiment we consider ve parameters: mutation rate, crossover rate, mating pool size, crossover operator, mutation operator. The ranges/values of parameters controlled in this experiment are given in Table 8.8. The tuning of the static parameter values was performed following recommendations of Smit and Eiben [172]. We use a Sequential Parameter Optimisation (SPO) [17], which tests each parameter combination using several runs. To decrease the number of tests required, we employ a racing technique, which uses a 214

Table 8.8: Ranges of parameters. Parameter Mutation rate Crossover rate Mating pool size Mutation operator Controlled range/value [0.0010,0.5] [0.6,1.0] [0.1,0.7] Single-point, Uniform

Crossover operator Single-point, Uniform

variable number of runs depending on the performance of the parameter conguration. Parameter congurations are tested against the best conguration so far, using at least the same number of function evaluations as employed for the best conguration. Five dierent design points are selected for mutation rate, crossover rate and mating pool size from the ranges depicted in Figure 8.8. The results from the tuning process are shown in Table 8.9. Table 8.9: Tuned parameter values. Parameter Mutation rate Crossover rate Population size Mating pool size Mutation operator Component deployment Redundancy allocation 0.1 0.6 100 0.6 Single-point 0.2 0.8 100 0.6 Uniform Uniform

Crossover operator Single-point

The execution of the algorithm was set to 10 000 candidate evaluations, and performed under on a dual-core 2.26 GHz processor computer. The algorithm took 92 seconds for the 10 000 function evaluations and generated 231 approximate solutions, four of which are depicted in Table 8.10. Looking at the results, we notice that the second solution (ra2 ) has the highest reliability among the four. However, its cost and response time are also the highest. 215

Table 8.10: Redundancy Solutions. Sol ra(c1 ) ra(c2 ) ra(c3 ) ra(c4 ) ra(c5 ) ra(c6 ) ra(c7 ) ra(c8 ) ra(c9 ) ra(c10 ) ra(c11 ) ra(c12 ) ra(c13 ) cost rt(ra) r(ra) ra1 2 1 2 2 1 1 1 2 1 1 1 1 2 890 56.48 0.996099 ra2 2 2 2 2 2 2 2 2 2 1 2 2 2 1120 62.96 0.996347 ra3 0 0 0 0 0 0 0 0 1 0 0 0 1 440 41.15 0.793488 ra4 0 0 1 1 0 0 0 0 0 0 0 0 0 435 43.27 0.920808

The rst solution (ra1 ) is lower in cost and has a smaller response time compared to the second solution, however its reliability is also lower. The two last solutions (ra3 and ra4 ) have the lower cost and response time than the rst two solutions, but their reliability values are much lower. Both solutions ra3 and ra4 have only two components with one redundancy level assigned (solution ra3 has components c9 and c13 , whereas solutions ra4 has components c3 and c4 ). Interestingly, the reliability of the ra4 is much higher than the respective value of ra3 (0.920808 > 0.793488). The response time and the cost of solution ra4 are also higher than ra3 , although the dierence between respective 216

values is not big. Table 8.11: Deployment Solutions. Sol d(c1 ) d(c2 ) d(c3,1 ) d(c3,2 ) d(c4,1 ) d(c4,1 ) d(c5 ) d(c6 ) d(c7 ) d(c8 ) d(c9 ) d(c10 ) d(c11 ) d(c12 ) d(c13 ) sl(d) co(d) dtr(d) d1 6 6 3 6 3 3 3 3 7 7 9 8 8 8 8 4.2186 65.2804 0.95569 d2 6 6 6 6 2 2 2 2 6 6 9 9 9 9 9 1.95538 74.8092 0.95117 d3 6 6 6 6 2 2 6 2 6 6 9 9 9 9 9 1.91329 94.6799 0.94121 d4 6 6 2 6 2 2 6 2 6 6 9 9 9 9 9 1.93013 82.8092 0.94548

At this stage, the system designer would have to select the architecture representing the redundancy levels for all component according to their preferences. For the purpose of this case-study, we select solution ra4 as the nal software architecture with the redundancy levels, which has to be deployed in to the hardware architecture. Similar to the redundancy allocation optimisation problem, we employ the adaptive Evolutionary Algorithm to optimise the deployment of the software archi217

tecture (solution ra4 ) to the hardware architecture (Figure 8.7). The Evolutionary Algorithm reported eight nondominated deployment architectures after the optimisation process. We show four of these deployment architectures in Figure 8.11. The optimised deployment architectures make a trade-o among the quality attributes of response time, communication overhead and data transmission reliability. The system architects have to decide on which architecture to use depending on their preferences. Table 8.12: The means, standard deviations and Kolmogorov-Smirnov test values of hypervolume indicators for the 30 runs of each problem instance using dierent optimisation schemes. Mean Problem Redundancy allocation Component deployment Tuned 0.2617 0.2618 Parameter control 0.2619 0.2620

Standard Deviation Problem Redundancy allocation Component deployment Tuned 9.770E-05 1.179E-04 KS test Problem Redundancy allocation Component deployment d 0.3284 0.3667 p 0.049 0.026 Parameter control 1.173E-04 1.083E-04

To understand the benets of using the approach proposed in this thesis for the architecture optimisation problem, we compared the outcomes of an Evolutionary Algorithm using parameter control and tuned parameter values. We performed 30 runs for each optimisation scheme. The mean and standard deviation of the 30 hypervolume values for each optimisation scheme are reported in Table 8.12. The 218

Evolutionary Algorithm using the adaptive parameter control consistently outperforms the EA with tuned parameter values. The dierent optimisation methods are validated using the Kolmogorov-Smirnov (KS) non-parametric test [149] in order to check for a statistical dierence in the outperformance. The 30 values of the hypervolume indicators were submitted to the KS analysis which result in a conrmation of the outperformance of the adaptive EA with a minimum d-value of 0.3284 at a 95% condence level. Hence we conclude that the superior performance of the proposed Adaptive Parameter Control is statistically signicant.

219

8.5

Summary

Architecture optimisation in embedded systems is an example of optimisation problems that are faced in the industry. This chapter has demonstrated the applicability of the adaptive parameter control for Evolutionary Algorithms in this domain. We have presented a set of optimisation runs which have shown that using our approach to control parameters of an Evolutionary Algorithm achieves better results quality than using tuned parameter settings. Most importantly, the reduction in the number of the EA parameters that have to be set by a practitioner facilitates the transfer of EAs into industrial settings, where practitioners do not have any knowledge on how to tune algorithm parameters.

220

Part IV Conclusions and Future Work

221

Chapter 9 Conclusions
This thesis presented an adaptive parameter control method for adjusting parameters of Evolutionary Algorithms during the optimisation process. The main contributions of the thesis are in the four stages of adaptive parameter control: the feedback collection strategy, the parameter eect assessment strategy, the parameter quality attribution strategy and the parameter value selection strategy. Adaptive parameter control approaches for Evolutionary Algorithms adjust parameter values based on the algorithms performance, which is part of the feedback collection strategy. While many feedback collection strategies for singleobjective optimisation problems have been presented in the past, there are no recommendations in the literature regarding eective feedback collection strategies for multiobjective problems. In multiobjective optimisation runs, and in the absence of a preference for certain objectives, a set of nondominated solutions, which make a trade-o between the tness functions, are produced. The challenge faced in assessing the performance of a multiobjective optimisation algorithm relies on the ability to express the quality of multiple solutions with a single value to employ as feedback for the adaptive parameter control method. Distinguished multiobjective performance metrics were investigated in Chapter 4 and recommended metrics were applied as a feedback collection strategy in adaptive parameter control for multiobjective EAs. An empirical evaluation of two dierent 223

feedback collection strategies - the binary hypervolume indicator and the binary epsilon indicator - was performed and recommendations regarding appropriate multiobjective performance metrics for feedback collection strategies were provided. The results from a set of experiments on multiobjective problem instances demonstrated that using the binary hypervolume indicator as a feedback collection strategy leads the algorithm to nding solutions of better quality compared to the binary epsilon indicator. The output of the feedback collection strategy was employed to approximate the eect of parameter values on the performance of the Evolutionary Algorithm. Due to the stochastic nature of Evolutionary Algorithms, and the presence of more than one parameter, the approximation of parameter eects has to accommodate the ambiguity regarding the real cause of the algorithms performance. To cope with this kind of uncertainty, a probabilistic measure of the eect of parameter values, called Bayesian Eect Assessment (BEA), was introduced in Chapter 5. BEA approximates the eect of each parameter value as the times a parameter value was successful divided by the times a parameter value was used, where success is dened as producing results with qualities above a certain threshold value. Unlike state-of-the-art approaches, in which the performance of the EA reported by the feedback strategy is considered as the eect of parameter values, BEA attempts to infer the extent to which the algorithms performance is aected by the parameter values. The analysis of the threshold value on dierent problem instances demonstrated that using the median performance of the algorithm instances for the BEA produces better results quality and is more robust compared to the 10th, 20th and 40th percentiles. In the experimental studies, BEA outperformed other prominent parameter eect assessment methods in dierent problem instances. To make an informed judgement on what would be a successful parameter value for the next iteration(s), we derived the Predictive Quality Attribution (PQA) strat224

egy, which combines the parameter eects measured in the past with time series prediction. As described in Chapter 6, PQA attempts to predict the eect that parameter values may have in the next iteration by using forecasting techniques. Four forecasting techniques were investigated: the Linear Regression (LR), the Simple Moving Average (SMA), the Exponentially-Weighted Moving Average (EWMA), and the Autoregressive Moving Average (ARIMA). To verify the suitability of each forecasting technique for predicting the eect of EA parameters, statistical tests were applied to the eects of the mutation rate, crossover rate, population size, mating pool size, crossover operator and mutation operator. It was observed the mutation rate, crossover rate, mating pool size, crossover operator and mutation operator followed the assumptions made by the forecasting models, such as linearity, normality of the residuals, stationarity, homosedasticity, and independence of the residuals, hence any of these techniques can be used to predict the success rates of these parameters. The population size, on the other hand, did not conform to the assumptions made by the forecasting techniques, hence it may not be appropriate to predict its eect for the future iterations. However, the results from the experiments showed that using the Predictive Quality Attribution strategy to control the population size does not have a negative eect on the performance of the Evolutionary Algorithm. Based on the experiments with the population size, we argue that if EA parameters are controlled without prior testing for statistical properties, Predictive Quality Attribution can be used without a negative eect in the performance of the algorithm. Despite being one of the simplest forecasting strategies, Linear Regression proved to be the most eective model to predict the eect of Evolutionary Algorithm parameters. In the experimental studies we the Predictive Quality Attribution (PQA) method with Linear Regression was used to adjust the mutation rate, crossover 225

rate, mating pool size, mutation operator and crossover operator throughout the optimisation process carried out using dierent problem instances. The Predictive Quality Attribution (PQA) strategy was compared to two prominent parameter quality assessment strategies: the Average Quality Attribution (AQA) strategy and the Extreme Quality Attribution (EQA) strategy. The trials demonstrated that PQA outperforms the parameter quality attribution methods currently considered most successful. Based on these results, it can be asserted that predicting the eects of parameter values is favourable for the algorithms performance. The projected parameter quality was used to select the parameter values for the following cycle. Parameter value selection strategies are typically devised to handle the balance between exploration and exploitation required to sample promising areas of the parameter space. In real-valued parameter assignments, such as the mutation rate and the crossover rate, choices for parameter assignments are discretised beforehand and the feedback from the algorithm is applied to the preselected choices. It has been observed that the initial discretisation of parameter values may provide values which are suboptimal for some problems or their instances. To address this problem, the Adaptive Range Parameter Selection (ARPS) strategy, introduced in Chapter 7, adjusts the ranges of continuous parameter values as the optimisation process progresses. The algorithm starts with two ranges for each parameter interval. At every iteration, ARPS rewards the best-performing parameter ranges by dividing them into two new ranges and assigning each of them the same selection probability as the parent range, whereas the worst performing ranges are merged with one of the neighbouring ranges. According to our knowledge, the best-performing approaches with equivalent functionality are AP, PM and DMAB. The experimental studies showed that the new approach clearly outperforms the other parameter value selection methods. The adaptation of parameter value ranges increases the sampling accuracy, since the 226

more successful a parameter value range is, the smaller the interval becomes, which can explain the superior performance of ARPS compared to other state-of-the-art parameter selection strategies. Furthermore, unlike other adaptive parameter value selection methods, ARPS does not have any hyperparameters that require tuning before the optimisation process. Through using ARPS, we observed that dierent parameter ranges were optimal for dierent problems and dierent stages of the optimisation process. The smaller problems were best optimised with a low mutation rate throughout the process, whereas the more dicult problems required slightly higher mutation rates at the start but toward the end of the process the value ranges were not as focussed. Furthermore, the ranges of the crossover rate developed quite dierently compared to the mutation rate. Higher crossover rates were often more successful towards the end of the optimisation process, which runs somewhat contrary to popular opinion that crossover rates should decrease towards the end of the optimisation process so as not to disturb solutions with high quality. The applicability of the adaptive parameter control for conguring Evolutionary Algorithms in a real world problem was demonstrated in Chapter 8. Two problems from the Software Engineering domain - the component deployment problem and the redundancy allocation problem - were introduced. The Evolutionary Algorithm with adaptive parameter control was applied to optimising these two problems in a case study from the automotive industry and the results were compared to the outcome from an EA with prior tuning of its parameter. The adaptive Evolutionary Algorithm produced results with better quality than the EA with static parameter settings. To conclude the adaptive parameter control strategy presented in this thesis, within its acknowledged limitations, is an eective method for adjusting parameters of Evolutionary Algorithms. One might argue that although parameter congura227

tion seems to be a very important factor of any algorithm, the parameter space is considerably smaller than the search space of all relevant NP-hard problems and the number of parameters is relatively small. So contrary to NP-hard optimisation problems, where solving by hand is entirely inappropriate, choosing parameters by hand is possible. However, the use of parameter values that remain constant over the optimisation process has been observed in previous studies to achieve suboptimal results. This was also demonstrated by the case study in Chapter 8. Parameters of an EA can have dierent optimal values at dierent stages of the search. Thus, when an optimisation algorithm is tuned prior to the optimisation stage, the selected parameters at the end of this process are not necessarily optimal. This suggests that controlling parameters dynamically during the optimisation process is likely to lead to better outcomes. Hence, the proposed method of adapting parameters during the optimisation process is a more suitable option for the parameter conguration process. Furthermore, by reducing the number of parameters that need to be set in Evolutionary Algorithms, the transfer of these algorithms into industrial settings, where practitioners do not have any knowledge about EA parameters, is facilitated.

228

Chapter 10 Future Work


The adaptive parameter control method introduced in this thesis used feedback from the optimisation process to derive the eect of parameter values on the performance of the algorithm. Two performance aspects were considered: the tness and the diversity of the solutions. In the future, we intend to investigate other performance aspects of the optimisation algorithm, such as the ability of the solutions to evolve, i.e. the ability to produce solutions with better quality, which can be used to measure the parameter productivity. We presented an experimental validation of the approach in which multiple parameters were controlled. The adjustment of parameter values was based on the information about their eect on the performance of the algorithm. The experiments conducted thus far are not exhaustive. There is ample opportunity for future work and experimentation. In particular, it would be interesting to more thoroughly investigate the use of information about possible correlations of the values of different parameters as well as the potential integration of such information into the adaptive parameter control strategy. The parameter value selection strategy introduced in Chapter 7 proved successful in controlling continuous ranges of parameter values. The analysis showed that high-performing ranges were sometimes absorbed (merged) into very large intervals, making it dicult for the algorithm to re-establish small, promising areas within the 229

range. There may be a potential for further optimisation of the range adaptation in this respect. Furthermore, the use of adaptive ranges for tuning continuous EA parameters is another interesting area that requires investigation. The application of the proposed method to other stochastic algorithms is a priority. We are particularly interested in using adaptive parameter control for the on-the-y optimisation of a cooling schedule for an implementation of Simulated Annealing, which is always a challenging problem for practitioners, as this parameter cannot rely on a predened static value. Finally, it is unlikely to know if any optimiser, with or without parameter control is better than another over all problems. Trials with other problems and problem instances will be needed to explore the capabilities of the adaptive parameter control.

230

Part V Appendix

231

Characteristics of the Effect of Parameter Values Experiments with Two Ranges/Values


Linearity
Table 10.1: Linearity test of mutation rate in the range [0.001,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 52.24 19.13 30.30 15.39 29.92 16.36 18.58 18.73 13.08 27.99 24.15 19.15 36.84 2.479 5.058 Mutation rate in the p Conclusion 1.12e-10 Do not reject H0 3.06e-05 Do not reject H0 3.01e-07 Do not reject H0 0.000162 Do not reject H0 3.50e-07 Do not reject H0 0.000104 Do not reject H0 3.89e-05 Do not reject H0 3.65e-05 Do not reject H0 0.000474 Do not reject H0 7.52e-07 Do not reject H0 3.62e-06 Do not reject H0 3.03e-05 Do not reject H0 2.48e-08 Do not reject H0 0.11861 Reject H0 0.026767 Do not reject H0 range Run 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [0.001,0.249] f p 5.05 0.02676 8.14 0.00528 5.97 0.01631 13.36 0.00041 23.82 4.14e-06 14.45 0.000250 25.26 2.28e-06 30.67 2.60e-07 14.34 0.000263 35.63 3.90e-08 13.60 0.000372 26.63 1.30e-06 23.87 4.05e-06 27.65 8.64e-07 11.08 0.001233 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

233

Table 10.2: Linearity test of mutation rate in the range [0.25,0.49].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 18.2 17.42 14.90 14.87 7.98 14.24 23.69 16.77 16.21 18.58 17.78 10.73 8.80 27.15 28.06 Mutation rate in the range [0.25,0.49] p Conclusion Run f p 4.61e-05 Do not reject H0 16 28.06 7.32e-07 6.53e-05 Do not reject H0 17 17.61 6.01e-05 0.000203 Do not reject H0 18 26.4 1.43e-06 0.000206 Do not reject H0 19 15.01 0.000194 0.005729 Do not reject H0 20 21.96 9.08e-06 0.000276 Do not reject H0 21 42.22 3.51e-09 4.36e-06 Do not reject H0 22 20.51 1.68e-05 8.72e-05 Do not reject H0 23 19.05 3.17e-05 0.000112 Do not reject H0 24 22.96 5.94e-06 3.91e-05 Do not reject H0 25 30.01 3.37e-07 5.54e-05 Do not reject H0 26 16.38 0.000104 0.001456 Do not reject H0 27 9.259 0.003014 0.003783 Do not reject H0 28 11.95 0.000812 1.05e-06 Do not reject H0 29 12.61 0.000592 7.32e-07 Do not reject H0 30 8.448 0.004527 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.3: Linearity test of crossover rate in the range [0.6,0.79].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 16.85 53.45 14.99 5.86 16.66 16.47 30.82 20.37 7.64 22.50 36.78 9.92 16.68 13.27 13.37 p 8.42e-05 7.57e-11 0.000195 0.017293 9.16e-05 9.99e-05 2.45e-07 1.79e-05 0.006822 7.21e-06 2.54e-08 0.002167 9.07e-05 0.000434 0.000415 Crossover rate [0.6,0.79] Conclusion Run f Do not reject H0 16 13.37 Do not reject H0 17 13.84 Do not reject H0 18 14.61 Do not reject H0 19 16.19 Do not reject H0 20 9.02 Do not reject H0 21 12.88 Do not reject H0 22 18.41 Do not reject H0 23 37.66 Do not reject H0 24 20.72 Do not reject H0 25 23.82 Do not reject H0 26 6.07 Do not reject H0 27 15.74 Do not reject H0 28 15.00 Do not reject H0 29 20.72 Do not reject H0 30 9.03 p 0.000415 0.000332 0.000233 0.000113 0.003384 0.000520 4.21e-05 1.83e-08 1.54e-05 4.14e-06 0.015432 0.000139 0.000194 1.53e-05 0.003364 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

234

Table 10.4: Linearity test of crossover rate in the range [0.8,0.99].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 44.73 7.81 23.24 29.97 19.61 7.99 14.78 20.61 27.38 45.16 6.65 16.95 21.72 7.54 17.81 Crossover rate in the range [0.8,0.99] p Conclusion Run f p 1.44e-09 Do not reject H0 16 17.81 5.48e-05 0.006243 Do not reject H0 17 11.30 0.001108 5.28e-06 Do not reject H0 18 27.62 8.75e-07 3.43e-07 Do not reject H0 19 11.66 0.000931 2.49e-05 Do not reject H0 20 36.12 3.24e-08 0.005708 Do not reject H0 21 38.02 1.60e-08 0.000215 Do not reject H0 22 27.99 7.54e-07 1.61e-05 Do not reject H0 23 22.82 6.29e-06 9.65e-07 Do not reject H0 24 14.40 0.000256 1.24e-09 Do not reject H0 25 24.25 3.46e-06 0.011409 Do not reject H0 26 31.64 1.78e-07 8.05e-05 Do not reject H0 27 13.86 0.000330 1.00e-05 Do not reject H0 28 20.25 1.88e-05 0.007172 Do not reject H0 29 13.70 0.000356 5.48e-05 Do not reject H0 30 12.39 0.000657 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.5: Linearity test of population size in the range [20,60].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 169.4 132.3 88.72 211.8 182.1 154.8 122.1 176.3 124.1 173.5 88.69 283.4 107.6 235.7 122.7 p 5.24e-23 7.97e-20 2.40e-15 3.89e-26 5.39e-24 8.21e-22 7.23e-19 1.50e-23 4.80e-19 2.46e-23 2.42e-15 1.53e-30 2.05e-17 1.03e-27 6.39e-19 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [20,60] Run f p 16 122.7 6.39e-19 17 224.5 5.49e-27 18 109.6 1.29e-17 19 166.1 9.77e-23 20 167.3 7.73e-23 21 79.03 3.33e-14 22 122.7 6.37e-19 23 158.7 3.87e-22 24 176.4 1.47e-23 25 205.6 1.04e-25 26 91.24 1.24e-15 27 157.7 4.69e-22 28 180.7 6.96e-24 29 120.7 1.01e-18 30 169.9 4.81e-23 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

235

Table 10.6: Linearity test of population size in the range [61,100].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 9.826 5.18 13.62 0.767 0.172 0.350 4.149 0.966 5.861 0.202 7.343 2.543 16.66 0.015 3.922 p 0.00227 0.02504 0.00036 0.38309 0.67886 0.55505 0.04436 0.32799 0.01733 0.65351 0.00795 0.11401 9.17e-05 0.9011 0.05047 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Reject H0 Reject H0 Reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 the range [61,100] Run f p 16 3.922 0.05047 17 0.143 0.70544 18 4.392 0.03869 19 0.519 0.47299 20 0.213 0.64494 21 25.63 1.96e-06 22 5.673 0.019179 23 0.298 0.58636 24 0.939 0.33482 25 0.094 0.75895 26 0.966 0.32797 27 0.096 0.75659 28 1.699 0.19538 29 3.766 0.055179 30 0.833 0.36358 Conclusion Reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Do not reject H0 Do not reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0

Table 10.7: Linearity test of mating pool size in the range [0.1,0.39].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 9.54 12.83 19.35 7.33 21.01 33.75 9.74 6.75 4.9 13.22 5.132 13.69 11.22 7.28 9.05 Mating pool size in p Conclusion 0.002613 Do not reject H0 0.000534 Do not reject H0 2.78e-05 Do not reject H0 0.007991 Do not reject H0 1.35e-05 Do not reject H0 7.94e-08 Do not reject H0 0.002371 Do not reject H0 0.010817 Do not reject H0 0.029186 Do not reject H0 0.000444 Do not reject H0 0.025703 Do not reject H0 0.000357 Do not reject H0 0.001151 Do not reject H0 0.008208 Do not reject H0 0.003337 Do not reject H0 the range [0.1,0.39] Run f p 16 9.05 0.003337 17 8.77 0.003841 18 15.48 0.000156 19 13.72 0.000351 20 11.00 0.001279 21 15.56 0.000150 22 12.61 0.000591 23 7.13 0.008868 24 16.87 8.35e-05 25 10.46 0.001664 26 14.73 0.000220 27 30.42 2.87e-07 28 13.77 0.000343 29 26.21 1.54e-06 30 22.72 6.57e-06 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

236

Table 10.8: Linearity test of mating pool size in the range [0.4,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 39.32 21.32 33.80 39.34 12.56 18.05 12.35 16.11 37.97 23.15 18.85 36.95 21.28 13.67 37.05 Mating pool size in p Conclusion 9.97e-09 Do not reject H0 1.19e-05 Do not reject H0 7.79e-08 Do not reject H0 9.89e-09 Do not reject H0 0.000605 Do not reject H0 4.94e-05 Do not reject H0 0.000670 Do not reject H0 0.000117 Do not reject H0 1.63e-08 Do not reject H0 5.49e-06 Do not reject H0 3.46e-05 Do not reject H0 2.38e-08 Do not reject H0 1.21e-05 Do not reject H0 0.000361 Do not reject H0 2.29e-08 Do not reject H0 the range [0.4,0.69] Run f p 16 37.05 2.29e-08 17 40.52 6.45e-09 18 10.14 0.001943 19 32.36 1.35e-07 20 12.18 0.000726 21 30.92 2.36e-07 22 8.96 0.003493 23 24.73 2.84e-06 24 39.62 8.92e-09 25 29.03 4.98e-07 26 28.11 7.17e-07 27 23.34 5.07e-06 28 20.09 2.02e-05 29 13.62 0.000368 30 12.76 0.000551 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.9: Linearity test of single-point mutation operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 43.24 33.64 13.00 16.13 25.99 35.69 24.25 19.14 11.86 29.55 20.58 22.33 15.59 51.58 15.66 p 2.44e-09 8.28e-08 0.000493 0.000116 1.69e-06 3.81e-08 3.46e-06 3.04e-05 0.000844 4.05e-07 1.63e-05 7.74e-06 0.000148 1.40e-10 0.000144 Single-point mutation Conclusion Run f Do not reject H0 16 15.66 Do not reject H0 17 12.27 Do not reject H0 18 12.61 Do not reject H0 19 4.37 Do not reject H0 20 10.67 Do not reject H0 21 24.18 Do not reject H0 22 21.47 Do not reject H0 23 19.30 Do not reject H0 24 27.19 Do not reject H0 25 7.06 Do not reject H0 26 14.32 Do not reject H0 27 29.07 Do not reject H0 28 13.09 Do not reject H0 29 35.20 Do not reject H0 30 15.72 p 0.000144 0.000695 0.000592 0.03907 0.001506 3.57e-06 1.11e-05 2.84e-05 1.04e-06 0.009178 0.000266 4.90e-07 0.000473 4.57e-08 0.000139 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

237

Table 10.10: Linearity test of uniform mutation operator.


Run 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 17.12 14.70 24.65 23.35 17.14 4.352 13.31 39.04 20.56 11.73 19.99 13.63 27.66 3.294 14.27 p 7.46e-05 0.000223 2.93e-06 5.05e-06 7.40e-05 0.039569 0.000426 1.10e-08 1.64e-05 0.000901 2.10e-05 0.000366 8.61e-07 0.072612 0.000272 Uniform mutation Conclusion Run f Do not reject H0 16 14.27 Do not reject H0 17 40.44 Do not reject H0 18 38.35 Do not reject H0 19 9.93 Do not reject H0 20 41.58 Do not reject H0 21 17.72 Do not reject H0 22 21.71 Do not reject H0 23 13.90 Do not reject H0 24 28.51 Do not reject H0 25 14.14 Do not reject H0 26 29.84 Do not reject H0 27 12.19 Do not reject H0 28 27.06 Do not reject H0 29 8.74 Do not reject H0 30 17.69 p 0.000272 6.65e-09 1.42e-08 0.002157 4.41e-09 5.72e-05 1.00e-05 0.000324 6.12e-07 0.000289 3.61e-07 0.000722 1.09e-06 0.003898 5.78e-05 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.11: Linearity test of single-point crossover operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 26.06 43.54 18.69 23.87 26.85 21.54 22.94 15.76 25.74 13.84 10.53 15.59 34.85 15.75 21.61 p 1.64e-06 2.19e-09 3.72e-05 4.05e-06 1.19e-06 1.08e-05 5.99e-06 0.001376 1.87e-06 0.000332 0.001608 0.000148 5.23e-08 0.000138 1.05e-05 Single-point crossover Conclusion Run f Do not reject H0 16 21.61 Do not reject H0 17 24.12 Do not reject H0 18 27.96 Do not reject H0 19 9.104 Do not reject H0 20 30.48 Do not reject H0 21 40.05 Do not reject H0 22 7.640 Do not reject H0 23 21.46 Do not reject H0 24 11.28 Do not reject H0 25 12.90 Do not reject H0 26 10.67 Do not reject H0 27 29.93 Do not reject H0 28 17.45 Do not reject H0 29 16.59 Do not reject H0 30 8.281 p 1.05e-05 3.66e-06 7.62e-07 0.003256 2.81e-07 7.63e-09 0.006829 1.12e-05 0.001116 0.000516 0.001501 3.49e-07 6.43e-05 9.46e-05 0.004926 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

238

Table 10.12: Linearity test of uniform crossover operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 31.24 6.034 15.32 17.74 12.59 18.70 12.60 44.41 23.30 21.05 34.03 25.55 10.55 32.90 13.11 p 2.09e-07 0.015803 0.000168 5.66e-05 0.000598 3.71e-05 0.000595 1.61e-09 5.14e-06 1.33e-05 7.13e-08 2.03e-06 0.001591 1.09e-07 0.000469 Uniform crossover Conclusion Run f Do not reject H0 16 13.11 Do not reject H0 17 21.88 Do not reject H0 18 23.04 Do not reject H0 19 12.24 Do not reject H0 20 13.82 Do not reject H0 21 14.10 Do not reject H0 22 32.52 Do not reject H0 23 20.15 Do not reject H0 24 46.13 Do not reject H0 25 8.295 Do not reject H0 26 20.45 Do not reject H0 27 13.03 Do not reject H0 28 18.54 Do not reject H0 29 30.91 Do not reject H0 30 27.13 p 0.000469 9.35e-06 5.74e-06 0.000706 0.000336 0.000294 1.27e-07 1.97e-05 8.89e-10 0.004892 1.72e-05 0.000486 3.97e-05 2.37e-07 1.06e-06 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Normality
Table 10.13: Kolmogorov-Smirnov test of mutation rate in the range [0.001,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0648 0.0567 0.0738 0.0738 0.0495 0.1036 0.0785 0.0767 0.0525 0.0826 0.0703 0.0627 0.062 0.1029 0.0729 Mutation rate in the p Conclusion 0.7748 Do not reject H0 0.8904 Do not reject H0 0.627 Do not reject H0 0.627 Do not reject H0 0.9589 Do not reject H0 0.2228 Do not reject H0 0.5482 Do not reject H0 0.5785 Do not reject H0 0.934 Do not reject H0 0.4835 Do not reject H0 0.6847 Do not reject H0 0.8082 Do not reject H0 0.819 Do not reject H0 0.2288 Do not reject H0 0.641 Do not reject H0 range Run 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [0.001,0.249] d p 0.0546 0.9131 0.0559 0.8998 0.0449 0.9834 0.0586 0.866 0.0734 0.6338 0.0457 0.9798 0.0433 0.9886 0.0794 0.5347 0.0452 0.982 0.0771 0.5718 0.0773 0.5683 0.0557 0.9015 0.0579 0.8756 0.0812 0.505 0.0432 0.655 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

239

Table 10.14: Kolmogorov-Smirnov test of mutation rate in the range [0.25,0.49].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0697 0.103 0.071 0.083 0.0889 0.0643 0.0615 0.0752 0.0636 0.0676 0.0587 0.0638 0.0637 0.0726 0.0398 Mutation rate in the range [0.25,0.49] p Conclusion Run d p 0.6955 Do not reject H0 16 0.0514 0.944 0.2281 Do not reject H0 17 0.0556 0.9022 0.673 Do not reject H0 18 0.0661 0.7542 0.4778 Do not reject H0 19 0.0553 0.906 0.3911 Do not reject H0 20 0.0697 0.6952 0.7838 Do not reject H0 21 0.0652 0.7688 0.8252 Do not reject H0 22 0.066 0.7565 0.6028 Do not reject H0 23 0.0569 0.8877 0.794 Do not reject H0 24 0.0512 0.9458 0.73 Do not reject H0 25 0.0617 0.823 0.8648 Do not reject H0 26 0.0462 0.9775 0.7914 Do not reject H0 27 0.0834 0.4715 0.7927 Do not reject H0 28 0.0678 0.727 0.6472 Do not reject H0 29 0.0558 0.9 0.9959 Do not reject H0 30 0.0748 0.89 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.15: Kolmogorov-Smirnov test of crossover rate in the range [0.6,0.79].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0648 0.0567 0.0563 0.0482 0.0697 0.0778 0.0782 0.0532 0.0712 0.038 0.0905 0.0682 0.0866 0.0628 0.05 Crossover rate in the range [0.6,0.79] p Conclusion Run d p 0.7748 Do not reject H0 16 0.1034 0.2245 0.8904 Do not reject H0 17 0.0779 0.5587 0.8942 Do not reject H0 18 0.0549 0.9102 0.9673 Do not reject H0 19 0.0855 0.4405 0.6955 Do not reject H0 20 0.0816 0.4996 0.56 Do not reject H0 21 0.0587 0.8647 0.5538 Do not reject H0 22 0.0502 0.9533 0.9281 Do not reject H0 23 0.0439 0.9869 0.6707 Do not reject H0 24 0.0354 0.9993 0.9978 Do not reject H0 25 0.0816 0.4997 0.3695 Do not reject H0 26 0.0486 0.9648 0.7212 Do not reject H0 27 0.068 0.7233 0.4239 Do not reject H0 28 0.0532 0.9275 0.8063 Do not reject H0 29 0.0483 0.9664 0.955 Do not reject H0 30 0.0433 0.8561 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

240

Table 10.16: Kolmogorov-Smirnov test of crossover rate in the range [0.8,0.99].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0507 0.051 0.0556 0.0818 0.0572 0.079 0.0912 0.0577 0.0431 0.0782 0.0862 0.0512 0.0459 0.0581 0.0537 p 0.9499 0.9474 0.9029 0.4963 0.8841 0.5408 0.3607 0.878 0.9893 0.5544 0.4293 0.9454 0.9792 0.8719 0.9231 Crossover rate in the range [0.8,0.99] Conclusion Run d p Do not reject H0 16 0.0791 0.5389 Do not reject H0 17 0.0484 0.9656 Do not reject H0 18 0.1001 0.2569 Do not reject H0 19 0.0699 0.6917 Do not reject H0 20 0.0529 0.9303 Do not reject H0 21 0.0564 0.8937 Do not reject H0 22 0.0419 0.9921 Do not reject H0 23 0.0678 0.7263 Do not reject H0 24 0.0632 0.801 Do not reject H0 25 0.0726 0.6475 Do not reject H0 26 0.0545 0.9148 Do not reject H0 27 0.0857 0.437 Do not reject H0 28 0.079 0.5403 Do not reject H0 29 0.0559 0.8996 Do not reject H0 30 0.0339 0.8291 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.17: Kolmogorov-Smirnov test of population size in the range [20,60].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0462 0.0699 0.0420 0.0614 0.0663 0.0684 0.0915 0.0617 0.0672 0.0758 0.0376 0.0331 0.0551 0.0445 0.0579 p 0.9775 0.6911 0.9918 0.8269 0.7499 0.7167 0.3567 0.8227 0.7365 0.5928 0.9980 0.9997 0.9075 0.9844 0.8737 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [20,60] Run d p 16 0.0579 0.8737 17 0.0491 0.9611 18 0.0550 0.9090 19 0.0532 0.9273 20 0.0554 0.9045 21 0.0516 0.9416 22 0.0611 0.8302 23 0.0446 0.9840 24 0.0619 0.8185 25 0.0742 0.6186 26 0.0657 0.7600 27 0.0461 0.9780 28 0.0635 0.7948 29 0.0628 0.8050 30 0.0470 0.9733 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

241

Table 10.18: Kolmogorov-Smirnov test of population size in the range [61,100].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0473 0.0563 0.0615 0.1182 0.1493 0.1265 0.0419 0.0937 0.0653 0.1457 0.0863 0.0703 0.0595 0.1870 0.0502 p 0.9720 0.8936 0.8255 0.1155 0.0215 0.0766 0.9920 0.3283 0.7664 0.0267 0.4280 0.6853 0.8530 0.0016 0.9530 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Reject H0 Do not reject H0 the range [61,100] Run d p 16 0.0502 0.9530 17 0.1552 0.0149 18 0.0947 0.3161 19 0.1379 0.0418 20 0.1598 0.0111 21 0.0853 0.4415 22 0.0439 0.9866 23 0.1339 0.0519 24 0.1337 0.0527 25 0.1619 0.0097 26 0.1343 0.0508 27 0.1589 0.0118 28 0.0998 0.2595 29 0.0467 0.9751 30 0.1285 0.0691 Conclusion Do not reject Reject H0 Do not reject Reject H0 Reject H0 Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Reject H0 Do not reject Do not reject Do not reject

H0 H0

H0 H0 H0 H0 H0 H0 H0 H0

Table 10.19: Kolmogorov-Smirnov test of mating pool size in the range [0.1,0.39].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0608 0.0741 0.0832 0.0487 0.0338 0.0538 0.0804 0.0580 0.0581 0.0706 0.0847 0.0971 0.0460 0.0533 0.0487 Mating pool size in p Conclusion 0.8350 Do not reject H0 0.6214 Do not reject H0 0.4738 Do not reject H0 0.9636 Do not reject H0 0.9996 Do not reject H0 0.9218 Do not reject H0 0.5178 Do not reject H0 0.8730 Do not reject H0 0.8717 Do not reject H0 0.6803 Do not reject H0 0.4512 Do not reject H0 0.2884 Do not reject H0 0.9782 Do not reject H0 0.9264 Do not reject H0 0.9638 Do not reject H0 the range [0.1,0.39] Run d p 16 0.0487 0.9638 17 0.0394 0.9963 18 0.0693 0.7008 19 0.0548 0.9109 20 0.0655 0.7630 21 0.0435 0.9879 22 0.0601 0.8455 23 0.0480 0.9680 24 0.0796 0.5293 25 0.0728 0.6418 26 0.0454 0.9812 27 0.0829 0.4789 28 0.0966 0.2941 29 0.0579 0.8749 30 0.0892 0.3863 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

242

Table 10.20: Kolmogorov-Smirnov test of mating pool size in the range [0.4,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0572 0.0382 0.0424 0.0506 0.0636 0.0719 0.0860 0.0748 0.0488 0.0387 0.0581 0.0395 0.0830 0.0529 0.0951 Mating pool size in p Conclusion 0.8835 Do not reject H0 0.9975 Do not reject H0 0.9908 Do not reject H0 0.9500 Do not reject H0 0.7928 Do not reject H0 0.6575 Do not reject H0 0.4318 Do not reject H0 0.6098 Do not reject H0 0.9630 Do not reject H0 0.9971 Do not reject H0 0.8717 Do not reject H0 0.9962 Do not reject H0 0.4771 Do not reject H0 0.9306 Do not reject H0 0.3112 Do not reject H0 the range [0.4,0.69] Run d p 16 0.0951 0.3112 17 0.0513 0.9446 18 0.0470 0.9736 19 0.0543 0.9165 20 0.0639 0.7890 21 0.0774 0.5658 22 0.0801 0.5222 23 0.1102 0.1670 24 0.0496 0.9575 25 0.0566 0.8905 26 0.0569 0.8864 27 0.0761 0.5878 28 0.0453 0.9814 29 0.0665 0.7469 30 0.0564 0.8926 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.21: Kolmogorov-Smirnov test of single-point mutation operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0561 0.0560 0.0619 0.0479 0.0406 0.0441 0.0488 0.0501 0.0528 0.0545 0.0548 0.0698 0.0752 0.0680 0.0613 p 0.8967 0.8980 0.8188 0.9686 0.9946 0.9860 0.9630 0.9541 0.9316 0.9146 0.9111 0.6931 0.6026 0.7227 0.8280 Single-point mutation Conclusion Run d Do not reject H0 16 0.0613 Do not reject H0 17 0.1113 Do not reject H0 18 0.0698 Do not reject H0 19 0.0726 Do not reject H0 20 0.0668 Do not reject H0 21 0.0589 Do not reject H0 22 0.0770 Do not reject H0 23 0.0538 Do not reject H0 24 0.0759 Do not reject H0 25 0.0704 Do not reject H0 26 0.0572 Do not reject H0 27 0.0708 Do not reject H0 28 0.0576 Do not reject H0 29 0.0355 Do not reject H0 30 0.0839 p 0.8280 0.1590 0.6924 0.6465 0.7425 0.8612 0.5726 0.9209 0.5903 0.6830 0.8834 0.6767 0.8782 0.9992 0.4636 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

243

Table 10.22: Kolmogorov-Smirnov test of uniform mutation operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0857 0.0521 0.0402 0.0689 0.0556 0.0691 0.0721 0.0557 0.1058 0.0545 0.0414 0.1122 0.0628 0.0834 0.0503 p 0.4368 0.9375 0.9952 0.7073 0.9026 0.7050 0.6539 0.9014 0.2022 0.9140 0.9931 0.1529 0.8051 0.4713 0.9522 Uniform Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 mutation Run d 16 0.0503 17 0.0707 18 0.0416 19 0.0720 20 0.0496 21 0.0702 22 0.0496 23 0.0596 24 0.0582 25 0.0707 26 0.0608 27 0.0719 28 0.0575 29 0.0466 30 0.0553 p 0.9522 0.6773 0.9927 0.6553 0.9573 0.6857 0.9575 0.8523 0.8705 0.6776 0.8353 0.6580 0.8793 0.9754 0.9055 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.23: Kolmogorov-Smirnov test of single-point crossover operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0585 0.0703 0.0321 0.0690 0.0720 0.0564 0.0665 0.0823 0.0515 0.0533 0.0572 0.0763 0.0525 0.0778 0.0547 p 0.8671 0.6850 0.9998 0.7067 0.6566 0.8928 0.7481 0.4875 0.9427 0.9264 0.8829 0.5844 0.9335 0.5585 0.9122 Single-point crossover Conclusion Run d Do not reject H0 16 0.0547 Do not reject H0 17 0.0739 Do not reject H0 18 0.0467 Do not reject H0 19 0.1035 Do not reject H0 20 0.0599 Do not reject H0 21 0.0565 Do not reject H0 22 0.0626 Do not reject H0 23 0.0549 Do not reject H0 24 0.0619 Do not reject H0 25 0.0774 Do not reject H0 26 0.0601 Do not reject H0 27 0.0446 Do not reject H0 28 0.0853 Do not reject H0 29 0.0489 Do not reject H0 30 0.0507 p 0.9122 0.6249 0.9749 0.2230 0.8475 0.8920 0.8081 0.9097 0.8196 0.5655 0.8450 0.9841 0.4427 0.9620 0.9490 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

244

Table 10.24: Kolmogorov-Smirnov test of uniform crossover operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.0794 0.0733 0.0425 0.0462 0.0451 0.0445 0.0673 0.0470 0.0627 0.0663 0.0686 0.0664 0.0432 0.0452 0.0555 p 0.5327 0.6340 0.9907 0.9772 0.9820 0.9846 0.7343 0.9737 0.8076 0.7502 0.7123 0.7485 0.9886 0.9817 0.9037 Uniform Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 crossover Run d 16 0.0555 17 0.0674 18 0.0494 19 0.0480 20 0.0553 21 0.0518 22 0.0712 23 0.0385 24 0.0613 25 0.0696 26 0.0337 27 0.0648 28 0.0662 29 0.0649 30 0.0901 p 0.9037 0.7331 0.9592 0.9682 0.9049 0.9403 0.6702 0.9973 0.8274 0.6968 0.9996 0.7750 0.7529 0.7733 0.3750 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Independence
Table 10.25: Durbin-Watson test of mutation rate in the range [0.001,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.922 2.0577 1.9792 2.3169 2.2703 2.2058 2.2081 2.3095 2.0352 2.4107 1.8952 2.0502 2.3629 2.1995 2.4781 Mutation rate in the range p Conclusion Run 0.6889 Do not reject H0 16 0.4287 Do not reject H0 17 0.582 Do not reject H0 18 0.0684 Do not reject H0 19 0.1054 Do not reject H0 20 0.1773 Do not reject H0 21 0.1743 Do not reject H0 22 0.0735 Do not reject H0 23 0.4746 Do not reject H0 24 0.0245 Reject H0 25 0.7346 Do not reject H0 26 0.4437 Do not reject H0 27 0.0425 Reject H0 28 0.1856 Do not reject H0 29 0.0102 Reject H0 30 [0.001,0.249] dw p 2.0333 0.4784 2.1064 0.3350 2.1513 0.2572 2.3273 0.0617 2.1301 0.2927 2.3106 0.0727 1.964 0.6114 2.4884 0.0088 2.3713 0.0387 2.2373 0.1391 2.4143 0.0235 1.8163 0.8467 2.246 0.1295 1.9508 0.6365 2.1065 0.733 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Reject H0 Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0

H0 H0 H0 H0 H0

245

Table 10.26: Durbin-Watson test of mutation rate [0.25,0.49].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.9795 2.1044 2.2896 1.9209 2.3946 2.0155 2.3873 2.1375 2.6308 2.0122 2.0645 2.2037 1.9337 2.0646 2.3705 p 0.5815 0.3387 0.0887 0.6908 0.0297 0.5104 0.0323 0.2801 0.0008 0.517 0.4152 0.1800 0.6679 0.415 0.0391 Mutation rate in the [0.25,0.49] Conclusion Run dw p Do not reject H0 16 2.5333 0.0045 Do not reject H0 17 1.9433 0.6504 Do not reject H0 18 2.3049 0.0768 Do not reject H0 19 2.3288 0.0608 Reject H0 20 2.0996 0.3476 Do not reject H0 21 2.3023 0.0787 Reject H0 22 2.3541 0.0467 Do not reject H0 23 2.4525 0.0145 Reject H0 24 2.261 0.1143 Do not reject H0 25 2.6994 0.0002 Do not reject H0 26 1.8137 0.8497 Do not reject H0 27 2.1607 0.2423 Do not reject H0 28 2.1945 0.1924 Do not reject H0 29 2.4044 0.0264 Reject H0 30 2.1034 0.3901 Conclusion Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Reject H0 Do not reject Reject H0 Do not reject Do not reject Do not reject Reject H0 Do not reject

H0 H0 H0 H0 H0

H0 H0 H0 H0 H0

Table 10.27: Durbin-Watson test of crossover rate in the range [0.6,0.79].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 2.277 1.9583 1.8781 2.1583 2.4978 2.2443 1.7936 2.3236 2.0227 2.0111 2.0641 2.268 2.1054 2.4104 2.2816 p 0.0994 0.6222 0.7619 0.2460 0.0077 0.1314 0.872 0.0640 0.4961 0.5191 0.4160 0.1076 0.3369 0.0246 0.0953 Crossover rate in the range [0.6,0.79] Conclusion Run dw p Do not reject H0 16 2.2178 0.1621 Do not reject H0 17 2.0295 0.4825 Do not reject H0 18 2.2184 0.1613 Do not reject H0 19 2.079 0.3868 Reject H0 20 2.3013 0.0795 Do not reject H0 21 2.1898 0.1989 Do not reject H0 22 2.1002 0.3464 Do not reject H0 23 2.4647 0.0123 Do not reject H0 24 2.7302 0.0001 Do not reject H0 25 2.468 0.0117 Do not reject H0 26 2.2937 0.0854 Do not reject H0 27 2.1461 0.2658 Do not reject H0 28 2.135 0.2843 Reject H0 29 2.1896 0.1992 Do not reject H0 30 2.102 0.421 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Reject H0 Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0

H0 H0 H0 H0 H0

246

Table 10.28: Durbin-Watson test of crossover rate in the range [0.8,0.99].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 2.267 2.3986 1.9097 2.3529 2.4927 2.1352 1.9345 1.9668 2.1071 2.0365 2.38 2.131 2.2093 2.2729 2.2953 Crossover rate in the range [0.8,0.99] p Conclusion Run dw p 0.1085 Do not reject H0 16 2.3276 0.0615 0.0283 Reject H0 17 2.3452 0.0513 0.7104 Do not reject H0 18 2.1845 0.2064 0.0473 Reject H0 19 2.0683 0.4077 0.0083 Reject H0 20 2.2217 0.1572 0.2840 Do not reject H0 21 2.3377 0.0555 0.6665 Do not reject H0 22 2.2445 0.1311 0.606 Do not reject H0 23 2.1119 0.325 0.3338 Do not reject H0 24 2.3175 0.0680 0.4719 Do not reject H0 25 2.009 0.5234 0.0351 Reject H0 26 2.1191 0.312 0.2911 Do not reject H0 27 2.0603 0.4235 0.1727 Do not reject H0 28 2.4104 0.0246 0.1030 Do not reject H0 29 2.2218 0.1571 0.0841 Do not reject H0 30 2.130 0.3497 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.29: Durbin-Watson test of population size in the range [20,60].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.8205 2.0895 2.0029 1.8848 2.0361 1.5324 2.2983 2.1322 1.8792 1.4955 1.9466 1.9106 1.4059 1.7981 2.2726 p 0.8416 0.3666 0.5355 0.7514 0.4726 0.9932 0.0817 0.2890 0.7602 0.9961 0.6442 0.7088 0.9991 0.8673 0.1033 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [20,60] Run dw p 16 2.2726 0.1033 17 1.6196 0.9782 18 1.6083 0.9811 19 1.5926 0.9845 20 1.9947 0.5516 21 1.5265 0.9938 22 1.9699 0.6000 23 1.9294 0.6756 24 1.8986 0.7290 25 2.0559 0.4323 26 2.3309 0.0595 27 2.0736 0.3971 28 1.882 0.7558 29 1.6811 0.95595 30 1.0905 1 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

247

Table 10.30: Durbin-Watson test of population size in the range [61,100].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.7918 1.8339 1.8063 1.8102 1.8266 1.9293 2.0971 2.2004 1.9052 1.5417 2.0459 1.7391 1.6364 1.7637 2.2033 p 0.8739 0.8248 0.8582 0.8537 0.8341 0.6759 0.3522 0.1844 0.7179 0.9922 0.4525 0.9209 0.9734 0.9009 0.1805 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [61,100] Run dw p 16 2.2033 0.1805 17 1.4813 0.9969 18 2.0181 0.5052 19 2.1889 0.2002 20 1.7614 0.9029 21 1.9566 0.6255 22 1.9768 0.5867 23 1.9811 0.5784 24 1.9832 0.5742 25 1.7468 0.9150 26 1.7189 0.9348 27 1.8708 0.7731 28 1.7180 0.9354 29 2.0201 0.5012 30 1.1891 1.0 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.31: Durbin-Watson test of mating pool size in the range [0.1,0.39].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 2.3354 1.8966 1.7529 2.1685 2.3997 2.1311 2.1907 2.3286 2.1796 2.1157 2.3609 2.1768 2.4537 2.5887 2.0756 Mating pool size in p Conclusion 0.0568 Do not reject H0 0.7323 Do not reject H0 0.9100 Do not reject H0 0.2301 Do not reject H0 0.0280 Reject H0 0.2910 Do not reject H0 0.1977 Do not reject H0 0.0609 Do not reject H0 0.2135 Do not reject H0 0.3180 Do not reject H0 0.0434 Reject H0 0.2176 Do not reject H0 0.0142 Reject H0 0.0018 Reject H0 0.3933 Do not reject H0 the range [0.1,0.39] Run dw p 16 2.0756 0.3933 17 2.0332 0.4786 18 1.9406 0.6554 19 2.0223 0.4967 20 2.3446 0.0517 21 2.1886 0.2006 22 2.3831 0.0339 23 2.4491 0.0151 24 2.0708 0.4026 25 2.0454 0.4534 26 2.058 0.4281 27 1.7931 0.8725 28 2.0393 0.4661 29 2.7384 0.0001 30 1.8624 0.7854 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject

H0 H0 H0 H0 H0 H0

H0 H0 H0 H0 H0 H0

248

Table 10.32: Durbin-Watson test of mating pool size in the range [0.4,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 2.3969 2.0756 2.0603 2.1835 2.4221 2.1411 2.1877 2.0864 2.3240 2.5440 2.3598 2.3956 2.2264 2.3083 2.14 Mating pool size in p Conclusion 0.0289 Reject H0 0.3933 Do not reject H0 0.4235 Do not reject H0 0.2079 Do not reject H0 0.0213 Reject H0 0.2740 Do not reject H0 0.2019 Do not reject H0 0.3725 Do not reject H0 0.0637 Do not reject H0 0.0038 Reject H0 0.0439 Reject H0 0.0293 Reject H0 0.1516 Do not reject H0 0.0743 Do not reject H0 0.2758 Do not reject H0 the range [0.4,0.69] Run dw p 16 2.14 0.2758 17 2.0626 0.4189 18 2.0240 0.4934 19 2.242 0.1338 20 2.2978 0.0821 21 2.1646 0.2361 22 2.2617 0.1135 23 2.4625 0.0126 24 2.2054 0.1777 25 2.2341 0.1427 26 2.2324 0.1446 27 2.1007 0.3455 28 2.0423 0.46 29 2.3077 0.0748 30 1.9046 0.7189 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.33: Durbin-Watson test of single-point mutation operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 2.5002 1.9763 2.4367 2.297 2.3848 2.0710 2.2762 2.3601 2.2815 2.2517 1.9748 2.1604 2.0945 1.8462 2.3574 p 0.0075 0.5877 0.0177 0.0827 0.0333 0.4023 0.1001 0.0438 0.0954 0.1236 0.5906 0.2427 0.3571 0.8083 0.0451 Single-point mutation Conclusion Run Reject H0 16 Do not reject H0 17 Reject H0 18 Do not reject H0 19 Reject H0 20 Do not reject H0 21 Do not reject H0 22 Reject H0 23 Do not reject H0 24 Do not reject H0 25 Do not reject H0 26 Do not reject H0 27 Do not reject H0 28 Do not reject H0 29 Reject H0 30 operator dw p 2.3574 0.0451 2.1747 0.2208 2.4931 0.0083 1.9087 0.7119 2.1698 0.2281 2.4009 0.0276 2.1679 0.2310 2.0859 0.3734 2.1141 0.3209 2.1308 0.2915 2.2104 0.1712 2.3365 0.0562 1.7105 0.9401 2.0029 0.5354 2.3922 0.0305 Conclusion Reject H0 Do not reject Reject H0 Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

249

Table 10.34: Durbin-Watson test of uniform mutation operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 2.1562 2.2342 2.0863 2.0481 2.2172 2.3317 2.3434 2.1526 2.3865 2.37 1.9043 2.1993 2.3611 2.2081 2.3508 p 0.2493 0.1425 0.3726 0.4480 0.1627 0.0590 0.0523 0.2551 0.0326 0.0393 0.7195 0.1858 0.0433 0.1742 0.0484 Uniform mutation operator Conclusion Run dw Do not reject H0 16 2.3508 Do not reject H0 17 2.3039 Do not reject H0 18 2.2308 Do not reject H0 19 2.1309 Do not reject H0 20 2.2138 Do not reject H0 21 2.3532 Do not reject H0 22 2.2019 Do not reject H0 23 2.0687 Reject H0 24 2.2968 Reject H0 25 1.9931 Do not reject H0 26 2.3034 Do not reject H0 27 2.3407 Reject H0 28 1.9797 Do not reject H0 29 2.3667 Reject H0 30 2.0268 p 0.0484 0.0775 0.1464 0.2912 0.1669 0.0472 0.1823 0.4068 0.0829 0.5547 0.0779 0.0538 0.5811 0.0407 0.4878 Conclusion Reject H0 Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.35: Durbin-Watson test of single-point crossover operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 2.0695 1.9365 2.2308 2.4873 1.9645 2.3362 2.2094 2.1009 1.9808 2.2299 2.3453 2.2975 2.1017 2.4381 2.4373 p 0.4052 0.6629 0.1464 0.0090 0.6104 0.0563 0.1725 0.3450 0.5788 0.1474 0.0513 0.0823 0.3436 0.0174 0.0176 Single-point crossover Conclusion Run Do not reject H0 16 Do not reject H0 17 Do not reject H0 18 Reject H0 19 Do not reject H0 20 Do not reject H0 21 Do not reject H0 22 Do not reject H0 23 Do not reject H0 24 Do not reject H0 25 Do not reject H0 26 Do not reject H0 27 Do not reject H0 28 Reject H0 29 Reject H0 30 operator dw p 2.4373 0.0176 2.3813 0.0346 2.3369 0.0559 2.0675 0.4092 2.2374 0.1389 2.6411 0.0007 1.9928 0.5554 2.0201 0.5012 2.352 0.0478 1.9761 0.5881 2.0497 0.4447 2.1904 0.1980 2.3135 0.0707 1.7589 0.9051 2.1057 0.3362 Conclusion Reject H0 Reject H0 Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

250

Table 10.36: Durbin-Watson test of uniform crossover operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 2.2804 2.1893 2.356 2.2508 1.8401 1.8895 1.9936 2.3103 2.2535 2.4607 2.2955 2.1472 2.5735 1.9969 2.4239 p 0.0963 0.1996 0.0458 0.1245 0.8167 0.7438 0.5538 0.0729 0.1217 0.0129 0.0839 0.2639 0.0024 0.5473 0.0208 Uniform crossover operator Conclusion Run dw Do not reject H0 16 2.4239 Do not reject H0 17 2.1741 Reject H0 18 2.3265 Do not reject H0 19 2.2098 Do not reject H0 20 2.4727 Do not reject H0 21 2.1139 Do not reject H0 22 2.1442 Do not reject H0 23 2.0560 Do not reject H0 24 2.3911 Reject H0 25 2.1389 Do not reject H0 26 2.1231 Do not reject H0 27 2.1914 Reject H0 28 2.2458 Do not reject H0 29 2.0441 Reject H0 30 2.1410 p 0.0208 0.2216 0.0622 0.1720 0.0110 0.3212 0.2687 0.4320 0.0309 0.2776 0.3049 0.1967 0.1297 0.4562 0.2741 Conclusion Reject H0 Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Homoscedasticity
Table 10.37: Breusch-Pagan test of mutation rate in the range [0.001,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.7161 8e-04 0.003 0.5097 0.002 0.5466 0.9482 0.705 0.1291 0.0092 9.2751 4.5713 0.2524 6.3624 1.2282 Mutation rate in the p Conclusion 0.3974 Do not reject H0 0.9777 Do not reject H0 0.9565 Do not reject H0 0.4753 Do not reject H0 0.9646 Do not reject H0 0.4597 Do not reject H0 0.3302 Do not reject H0 0.4011 Do not reject H0 0.7194 Do not reject H0 0.9236 Do not reject H0 0.0023 Reject H0 0.0325 Reject H0 0.6154 Do not reject H0 0.0116 Reject H0 0.2678 Do not reject H0 range Run 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [0.001,0.249] bp p 0.2784 0.5977 0.0644 0.7997 0.1186 0.7305 0.2949 0.5871 2.1412 0.1434 0.4476 0.5035 3.1018 0.0782 3.1795 0.0745 1.5713 0.21 1.8452 0.1743 0.601 0.4382 0.0578 0.81 1.9137 0.1666 1.558 0.2120 1.237 0.54 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

251

Table 10.38: Breusch-Pagan test of mutation rate in the range [0.25,0.49].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.2945 0.028 2.335 0.2021 0.6695 0.0384 0.2158 0.5312 0.2339 0.0303 0.1394 0.4068 1.191 0.2365 0.1505 Mutation rate in the range [0.25,0.49] p Conclusion Run bp p 0.5873 Do not reject H0 16 3.0084 0.0828 0.8671 Do not reject H0 17 5.6779 0.0171 0.1265 Do not reject H0 18 2.8278 0.0926 0.653 Do not reject H0 19 0.19 0.663 0.4132 Do not reject H0 20 0.3189 0.5723 0.8446 Do not reject H0 21 0.3926 0.531 0.6423 Do not reject H0 22 0.8963 0.3438 0.4661 Do not reject H0 23 0.203 0.6523 0.6287 Do not reject H0 24 0.0416 0.8384 0.8619 Do not reject H0 25 0.2973 0.5856 0.7089 Do not reject H0 26 0.4412 0.5066 0.5236 Do not reject H0 27 1.37 0.2418 0.2751 Do not reject H0 28 0.3282 0.5667 0.6268 Do not reject H0 29 1.8697 0.1715 0.6981 Do not reject H0 30 1.141 0.624 Conclusion Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.39: Breusch-Pagan test of crossover rate in the range [0.6,0.79].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.1456 0.0015 5.4211 4.4225 0.3194 5.4369 0.0128 0.3236 0.8673 0.3258 0.0029 0.5076 0.668 0.3872 0.0614 Crossover rate in the range [0.6,0.79] p Conclusion Run bp p 0.7028 Do not reject H0 16 1.0213 0.3122 0.9687 Do not reject H0 17 0.697 0.4038 0.0199 Reject H0 18 0.4682 0.4938 0.0354 Reject H0 19 1.637 0.2007 0.572 Do not reject H0 20 1.0663 0.3018 0.0197 Reject H0 21 0.2984 0.5849 0.91 Do not reject H0 22 1.1708 0.2792 0.5695 Do not reject H0 23 0.3138 0.5753 0.3517 Do not reject H0 24 0.0273 0.8688 0.5682 Do not reject H0 25 0.0639 0.8004 0.9569 Do not reject H0 26 0.0471 0.8282 0.4762 Do not reject H0 27 0.4202 0.5168 0.4138 Do not reject H0 28 0.0233 0.8786 0.5338 Do not reject H0 29 1.3116 0.2521 0.8043 Do not reject H0 30 2.345 0.356 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

252

Table 10.40: Breusch-Pagan test of crossover rate in the range [0.8,0.99].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.0542 0.3268 0.4154 0.3426 0.0191 2.3709 2.1015 1.7854 0.9477 0.185 1.4093 3.9162 0.8315 3.1222 0.0419 p 0.8159 0.5675 0.5192 0.5583 0.8901 0.1236 0.1472 0.1815 0.3303 0.6671 0.2352 0.0478 0.3618 0.0772 0.8377 Crossover rate in the range [0.8,0.99] Conclusion Run bp p Do not reject H0 16 3.2637 0.07083 Do not reject H0 17 0.0361 0.8493 Do not reject H0 18 0.2242 0.6359 Do not reject H0 19 0.0233 0.8788 Do not reject H0 20 0.0278 0.8676 Do not reject H0 21 0.0122 0.912 Do not reject H0 22 0.4973 0.4807 Do not reject H0 23 0.6478 0.4209 Do not reject H0 24 0.0554 0.814 Do not reject H0 25 1.2135 0.2706 Do not reject H0 26 1.1878 0.2758 Reject H0 27 1.0879 0.2969 Do not reject H0 28 1.0018 0.3169 Do not reject H0 29 0.8453 0.3579 Do not reject H0 30 0.481 0.4325 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.41: Breusch-Pagan test of population size in the range [20,60].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 13.090 0.0989 3.4772 2.3964 6.5948 1.6781 0.3247 3.2901 8.8222 3.0785 0.4228 4.9534 4.8224 2.1302 10.356 p 0.0002 0.7530 0.0622 0.1216 0.0102 0.1951 0.5687 0.0696 0.0029 0.0793 0.5155 0.0260 0.0280 0.1444 0.0012 Population size in the range [20,60] Conclusion Run bp p Reject H0 16 10.356 0.0012 Do not reject H0 17 2.9409 0.0863 Do not reject H0 18 3.6097 0.0574 Do not reject H0 19 2.5269 0.1119 Reject H0 20 8.5337 0.0034 Do not reject H0 21 5.3809 0.0203 Do not reject H0 22 1.8074 0.1788 Do not reject H0 23 2.6732 0.1020 Reject H0 24 7.8227 0.0051 Do not reject H0 25 7.6996 0.0055 Do not reject H0 26 0.33747 0.5612 Reject H0 27 1.4928 0.2217 Reject H0 28 9.2236 0.0023 Do not reject H0 29 4.061 0.0438 Reject H0 30 12.649 0.0003 Conclusion Reject H0 Do not reject Do not reject Do not reject Reject H0 Reject H0 Do not reject Do not reject Reject H0 Reject H0 Do not reject Do not reject Reject H0 Reject H0 Reject H0

H0 H0 H0

H0 H0

H0 H0

253

Table 10.42: Breusch-Pagan test of population size in the range [61,100].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 9.612 6.8403 0.5887 0.0377 8.165 1.7546 0.1423 6.4462 0.0005 5.3302 0.0118 1.6253 2.0733 0.1458 1.2278 p 0.0019 0.0089 0.4429 0.8459 0.0042 0.1853 0.7059 0.0111 0.9807 0.0209 0.9131 0.2023 0.1499 0.7025 0.2678 Population size in Conclusion Reject H0 Reject H0 Do not reject H0 Do not reject H0 Reject H0 Do not reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [61,100] Run bp p 16 1.2278 0.2678 17 0.7396 0.3897 18 2.5679 0.1090 19 0.0935 0.7597 20 2.5829 0.1080 21 0.2781 0.5979 22 0.6002 0.4384 23 0.2698 0.6034 24 0.4891 0.4843 25 0.406 0.0012 26 3.7338 0.0533 27 0.2354 0.6275 28 5.3274 0.0209 29 0.1261 0.7224 30 2.2908 0.1301 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Reject H0 Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.43: Breusch-Pagan test of mating pool size in the range [0.1,0.39].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.0064 0.0189 0.2558 0.1194 1.5124 1.1070 1.8092 1.7134 0.1897 0.0019 0.4543 0.0459 0.2735 0.4849 1.4181 Mating pool size in p Conclusion 0.936 Do not reject H0 0.8905 Do not reject H0 0.6129 Do not reject H0 0.7296 Do not reject H0 0.2187 Do not reject H0 0.2927 Do not reject H0 0.1786 Do not reject H0 0.1905 Do not reject H0 0.6631 Do not reject H0 0.9649 Do not reject H0 0.5002 Do not reject H0 0.8302 Do not reject H0 0.6009 Do not reject H0 0.4862 Do not reject H0 0.2337 Do not reject H0 the range [0.1,0.39] Run bp p 16 1.4181 0.2337 17 2.4437 0.1180 18 0.0358 0.8498 19 0.0033 0.9536 20 4.0217 0.0449 21 1.8383 0.1751 22 1.8862 0.1696 23 1.3204 0.2505 24 0.4817 0.4876 25 0.0451 0.8317 26 0.4532 0.5007 27 1.2058 0.2721 28 0.8445 0.3581 29 6.9999 0.0081 30 1.4090 0.2352 Conclusion Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

254

Table 10.44: Breusch-Pagan test of mating pool size in the range [0.4,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.0065 0.0094 0.3282 0.0943 0.0867 2.7568 1.5263 0.3320 0.0067 1.7472 6.5343 0.8482 5.426 0.0208 0.6197 Mating pool size in p Conclusion 0.9356 Do not reject H0 0.9227 Do not reject H0 0.5666 Do not reject H0 0.7587 Do not reject H0 0.7684 Do not reject H0 0.0968 Do not reject H0 0.2166 Do not reject H0 0.5644 Do not reject H0 0.9344 Do not reject H0 0.1862 Do not reject H0 0.0105 Reject H0 0.3570 Do not reject H0 0.0198 Reject H0 0.8851 Do not reject H0 0.4311 Do not reject H0 the range [0.4,0.69] Run bp p 16 0.6197 0.4311 17 0.4426 0.5058 18 0.0017 0.9663 19 4.4251 0.0354 20 2.9845 0.0840 21 0.8207 0.3649 22 0.2832 0.5945 23 4.7721 0.0289 24 0.9976 0.3178 25 1.6783 0.1951 26 3.5149 0.0608 27 0.0045 0.9461 28 0.0079 0.9289 29 0.3733 0.5411 30 0.5890 0.4427 Conclusion Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.45: Breusch-Pagan test of single-point mutation operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.5117 0.7591 2.2215 0.1096 0.0478 0.0870 0.2191 0.8504 1.2928 0.0104 0.2719 0.0048 0.0590 1.5915 0.7563 p 0.4743 0.3836 0.1361 0.7406 0.8268 0.7679 0.6396 0.3564 0.2555 0.9187 0.6020 0.9443 0.8080 0.2071 0.3844 Single-point mutation Conclusion Run Do not reject H0 16 Do not reject H0 17 Do not reject H0 18 Do not reject H0 19 Do not reject H0 20 Do not reject H0 21 Do not reject H0 22 Do not reject H0 23 Do not reject H0 24 Do not reject H0 25 Do not reject H0 26 Do not reject H0 27 Do not reject H0 28 Do not reject H0 29 Do not reject H0 30 operator bp p 0.7563 0.3844 1.9970 0.1576 0.843 0.3585 1.666 0.1966 0.7589 0.3836 7.4996 0.0061 4.7802 0.0287 0.0541 0.8159 0.2934 0.5879 0.4866 0.4854 1.9203 0.1658 0.5266 0.4680 1.0866 0.2972 0.0776 0.7805 2.8308 0.0924 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0

H0 H0 H0 H0 H0 H0 H0 H0

255

Table 10.46: Breusch-Pagan test of uniform mutation operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 2.3662 0.0001 0.901 0.4615 0.0006 0.4388 0.0057 2.793 0.0448 1.3098 1.1042 0.2095 0.1438 0.7593 0.5939 p 0.1239 0.9889 0.3425 0.4969 0.9799 0.5077 0.9393 0.0946 0.8323 0.2524 0.2933 0.6471 0.7045 0.3835 0.4408 Uniform mutation operator Conclusion Run bp Do not reject H0 16 0.5939 Do not reject H0 17 0.0944 Do not reject H0 18 0.0272 Do not reject H0 19 0.3765 Do not reject H0 20 4.1127 Do not reject H0 21 1.7360 Do not reject H0 22 0.0833 Do not reject H0 23 0.2069 Do not reject H0 24 0.3275 Do not reject H0 25 1.3987 Do not reject H0 26 0.3859 Do not reject H0 27 1.4508 Do not reject H0 28 4.5723 Do not reject H0 29 2.0851 Do not reject H0 30 1.8479 p 0.4408 0.7586 0.8689 0.5394 0.0425 0.1876 0.7728 0.6491 0.5671 0.2369 0.5344 0.2284 0.0324 0.1487 0.1740 Conclusion Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.47: Breusch-Pagan test of single-point crossover operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 1.7009 1.1979 0.1627 1.3330 0.2524 1.6388 0.1778 0.0384 0.0640 0.3937 4.7457 0.6882 0.0140 0.2066 0.0476 p 0.19217 0.27373 0.68665 0.24827 0.61539 0.20049 0.67326 0.84444 0.80021 0.53031 0.02937 0.40676 0.90573 0.64939 0.82717 Single-point crossover operator Conclusion Run bp p Do not reject H0 16 0.0476 0.8271 Do not reject H0 17 0.0507 0.8218 Do not reject H0 18 0.7155 0.3976 Do not reject H0 19 0.1886 0.6640 Do not reject H0 20 3.8588 0.0494 Do not reject H0 21 0.0245 0.8754 Do not reject H0 22 0.3246 0.5688 Do not reject H0 23 0.7035 0.4015 Do not reject H0 24 0.5040 0.4777 Do not reject H0 25 1.1501 0.2835 Reject H0 26 1.6573 0.1979 Do not reject H0 27 0.0029 0.9567 Do not reject H0 28 3.8658 0.0492 Do not reject H0 29 0.8842 0.3470 Do not reject H0 30 6.152 0.0131 Conclusion Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Reject H0

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

256

Table 10.48: Breusch-Pagan test of uniform crossover operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.0553 0.5092 0.0786 6.8922 0.0366 0.4571 1.2284 0.3459 0.0028 0.8992 0.0420 3.2174 3.4863 0.1154 0.1785 p 0.81406 0.47546 0.77911 0.00865 0.84827 0.49897 0.26773 0.55642 0.95762 0.34300 0.83751 0.07286 0.06188 0.73401 0.67264 Uniform crossover operator Conclusion Run bp Do not reject H0 16 0.1785 Do not reject H0 17 1.7755 Do not reject H0 18 1.3373 Reject H0 19 3.4326 Do not reject H0 20 0.7026 Do not reject H0 21 0.4510 Do not reject H0 22 0.5453 Do not reject H0 23 0.0025 Do not reject H0 24 2.1037 Do not reject H0 25 0.0109 Do not reject H0 26 3.4221 Do not reject H0 27 0.6643 Do not reject H0 28 0.7637 Do not reject H0 29 0.9381 Do not reject H0 30 0.0424 p 0.67264 0.1827 0.24751 0.06392 0.40191 0.50183 0.46022 0.95987 0.14694 0.91651 0.06433 0.41501 0.38217 0.33276 0.83676 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Stationarity
Table 10.49: KPSS test of mutation rate in the range [0.001,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.0541 0.0452 0.0414 0.0412 0.051 0.0405 0.0395 0.0342 0.038 0.0199 0.0538 0.0548 0.0469 0.1498 0.0383 Mutation rate in the range [0.001,0.249] Conclusion Run kpss p Mutation rate in the range [0.001,0.249] > 0.1 Do not reject H0 16 0.0396 > 0.1 > 0.1 Do not reject H0 17 0.0374 > 0.1 > 0.1 Do not reject H0 18 0.0453 > 0.1 > 0.1 Do not reject H0 19 0.1634 0.0355 > 0.1 Do not reject H0 20 0.0955 > 0.1 > 0.1 Do not reject H0 21 0.0638 > 0.1 > 0.1 Do not reject H0 22 0.0408 > 0.1 > 0.1 Do not reject H0 23 0.0318 > 0.1 > 0.1 Do not reject H0 24 0.0665 > 0.1 > 0.1 Do not reject H0 25 0.0338 > 0.1 > 0.1 Do not reject H0 26 0.0477 > 0.1 > 0.1 Do not reject H0 27 0.1436 0.0544 > 0.1 Do not reject H0 28 0.0687 > 0.1 > 0.1 Do not reject H0 29 0.0669 > 0.1 > 0.1 Do not reject H0 30 0.0579 > 0.1 p Conclusion Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

257

Table 10.50: KPSS test of mutation rate in the range [0.25,0.49].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.0979 0.0672 0.0762 0.0436 0.0301 0.1386 0.0452 0.0258 0.0805 0.0422 0.1038 0.0373 0.0398 0.0673 0.0865 Conclusion Run kpss p Mutation rate in the range [0.25,0.49] > 0.1 Do not reject H0 16 0.063 > 0.1 > 0.1 Do not reject H0 17 0.051 > 0.1 > 0.1 Do not reject H0 18 0.0992 > 0.1 > 0.1 Do not reject H0 19 0.0607 > 0.1 > 0.1 Do not reject H0 20 0.0453 > 0.1 0.0636 Do not reject H0 21 0.1322 0.0754 > 0.1 Do not reject H0 22 0.0415 > 0.1 > 0.1 Do not reject H0 23 0.0302 > 0.1 > 0.1 Do not reject H0 24 0.1061 > 0.1 > 0.1 Do not reject H0 25 0.0322 > 0.1 > 0.1 Do not reject H0 26 0.0443 > 0.1 > 0.1 Do not reject H0 27 0.0593 > 0.1 > 0.1 Do not reject H0 28 0.029 > 0.1 > 0.1 Do not reject H0 29 0.0287 > 0.1 > 0.1 Do not reject H0 30 0.037 > 0.1 p Conclusion Do Do Do Do Do Do Do Do Do Do Do Do Do Do Do not not not not not not not not not not not not not not not reject reject reject reject reject reject reject reject reject reject reject reject reject reject reject H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.51: KPSS test of crossover rate in the range [0.6,0.79].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.1741 0.0375 0.0375 0.0529 0.0467 0.0322 0.0459 0.0543 0.0855 0.0442 0.0769 0.0603 0.0401 0.0637 0.0295 p 0.026 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 Crossover rate in the range [0.6,0.79] Conclusion Run kpss p Reject H0 16 0.0743 > 0.1 Do not reject H0 17 0.0494 > 0.1 Do not reject H0 18 0.1129 > 0.1 Do not reject H0 19 0.0316 > 0.1 Do not reject H0 20 0.1617 0.0369 Do not reject H0 21 0.0745 > 0.1 Do not reject H0 22 0.0515 > 0.1 Do not reject H0 23 0.0275 > 0.1 Do not reject H0 24 0.0413 > 0.1 Do not reject H0 25 0.0262 > 0.1 Do not reject H0 26 0.049 > 0.1 Do not reject H0 27 0.0352 > 0.1 Do not reject H0 28 0.0447 > 0.1 Do not reject H0 29 0.0588 > 0.1 Do not reject H0 30 0.0348 > 0.1 Conclusion Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

258

Table 10.52: KPSS test of crossover rate in the range [0.8,0.99].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.0637 0.1348 0.0343 0.0332 0.0423 0.0688 0.0221 0.0375 0.0464 0.0372 0.0377 0.0462 0.0648 0.0746 0.0634 Crossover rate in the range [0.8,0.99] p Conclusion Run kpss p > 0.1 Do not reject H0 16 0.0424 > 0.1 0.0706 Do not reject H0 17 0.0736 > 0.1 > 0.1 Do not reject H0 18 0.049 > 0.1 > 0.1 Do not reject H0 19 0.0329 > 0.1 > 0.1 Do not reject H0 20 0.0483 > 0.1 > 0.1 Do not reject H0 21 0.046 > 0.1 > 0.1 Do not reject H0 22 0.0383 > 0.1 > 0.1 Do not reject H0 23 0.0428 > 0.1 > 0.1 Do not reject H0 24 0.157 0.0408 > 0.1 Do not reject H0 25 0.0189 > 0.1 > 0.1 Do not reject H0 26 0.0515 > 0.1 > 0.1 Do not reject H0 27 0.0786 > 0.1 > 0.1 Do not reject H0 28 0.0397 > 0.1 > 0.1 Do not reject H0 29 0.1793 0.0237 > 0.1 Do not reject H0 30 0.0586 > 0.1 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.53: KPSS test of population size in the range [20,60].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.3125 0.1636 0.3420 0.5167 0.1607 0.3367 0.0720 0.2176 0.1058 0.2820 0.1990 0.2092 0.4038 0.1619 0.1583 p 0.01 0.0352 0.01 0.01 0.0377 0.01 > 0.1 0.01 > 0.1 0.01 0.0163 0.0125 0.01 0.0366 0.0397 Population size in Conclusion Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 the range [20,60] Run kpss p 16 0.1583 0.0397 17 0.2241 0.01 18 0.5096 0.01 19 0.3007 0.01 20 0.1666 0.0327 21 0.3414 0.01 22 0.3053 0.01 23 0.2107 0.0119 24 0.2884 0.01 25 0.2098 0.0123 26 0.1053 > 0.1 27 0.2647 0.01 28 0.1438 0.0539 29 0.2134 0.0109 30 0.4566 0.01 Conclusion Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0

259

Table 10.54: KPSS test of population size in the range [61,100].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.2021 0.4157 0.1437 0.3633 0.3332 0.3105 0.1916 0.3179 0.1711 0.2000 0.0802 0.2009 0.3477 0.2594 0.1941 Population size in the range [61,100] p Conclusion Run kpss p 0.0151 Reject H0 16 0.1941 0.018 0.01 Reject H0 17 0.3148 0.01 0.0542 Do not reject H0 18 0.2723 0.01 0.01 Reject H0 19 0.1282 0.082 0.01 Reject H0 20 0.2656 0.01 0.01 Reject H0 21 0.2337 0.01 0.0191 Reject H0 22 0.3399 0.01 0.01 Reject H0 23 0.2252 0.01 0.0290 Reject H0 24 0.2610 0.01 0.0159 Reject H0 25 0.2975 0.01 > 0.1 Do not reject H0 26 0.1348 0.070 0.0156 Reject H0 27 0.3139 0.01 0.01 Reject H0 28 0.2260 0.01 0.01 Reject H0 29 0.1933 0.018 0.0181 Reject H0 30 0.3252 0.01 Conclusion Reject H0 Reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Reject H0 Reject H0

Table 10.55: KPSS test of mating pool size in the range [0.1,0.39].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.0599 0.0447 0.0442 0.0846 0.0304 0.0759 0.0666 0.0618 0.0879 0.0558 0.0863 0.1276 0.0411 0.0920 0.0452 Mating pool size in p Conclusion > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 0.0839 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 the range [0.1,0.39] Run kpss p 16 0.0452 > 0.1 17 0.0584 > 0.1 18 0.0259 > 0.1 19 0.1728 0.0276 20 0.0743 > 0.1 21 0.0222 > 0.1 22 0.0396 > 0.1 23 0.0306 > 0.1 24 0.0608 > 0.1 25 0.0312 > 0.1 26 0.0826 > 0.1 27 0.0450 > 0.1 28 0.0749 > 0.1 29 0.0265 > 0.1 30 0.0952 > 0.1 Conclusion Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

260

Table 10.56: KPSS test of mating pool size in the range [0.4,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.0544 0.0451 0.0267 0.0212 0.0375 0.0573 0.0489 0.0672 0.0254 0.0566 0.0438 0.0538 0.0512 0.0839 0.0611 Mating pool size in p Conclusion > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 the range [0.4,0.69] Run kpss p 16 0.0611 > 0.1 17 0.0432 > 0.1 18 0.0406 > 0.1 19 0.0352 > 0.1 20 0.0253 > 0.1 21 0.0235 > 0.1 22 0.0580 > 0.1 23 0.0332 > 0.1 24 0.0451 > 0.1 25 0.0778 > 0.1 26 0.0636 > 0.1 27 0.0236 > 0.1 28 0.0256 > 0.1 29 0.0185 > 0.1 30 0.0643 > 0.1 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.57: KPSS test of single-point mutation operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.0371 0.0439 0.0364 0.0487 0.0356 0.0514 0.0626 0.0379 0.0716 0.0783 0.0683 0.0771 0.0372 0.2071 0.0254 p > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 0.0133 > 0.1 Single-point mutation Conclusion Run Do not reject H0 16 Do not reject H0 17 Do not reject H0 18 Do not reject H0 19 Do not reject H0 20 Do not reject H0 21 Do not reject H0 22 Do not reject H0 23 Do not reject H0 24 Do not reject H0 25 Do not reject H0 26 Do not reject H0 27 Do not reject H0 28 Reject H0 29 Do not reject H0 30 operator kpss p 0.0254 > 0.1 0.0255 > 0.1 0.0707 > 0.1 0.0960 > 0.1 0.0378 > 0.1 0.0581 > 0.1 0.0299 > 0.1 0.0496 > 0.1 0.0463 > 0.1 0.0382 > 0.1 0.0571 > 0.1 0.0800 > 0.1 0.0294 > 0.1 0.1288 0.0817 0.0486 > 0.1 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

261

Table 10.58: KPSS test of uniform mutation operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.0471 0.0550 0.0863 0.1620 0.0275 0.0290 0.0443 0.0972 0.0587 0.0992 0.1226 0.0538 0.0278 0.0517 0.0369 p > 0.1 > 0.1 > 0.1 0.0366 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 0.0931 > 0.1 > 0.1 > 0.1 > 0.1 Uniform mutation operator Conclusion Run kpss Do not reject H0 16 0.0369 Do not reject H0 17 0.1324 Do not reject H0 18 0.2167 Reject H0 19 0.0278 Do not reject H0 20 0.0305 Do not reject H0 21 0.0612 Do not reject H0 22 0.0800 Do not reject H0 23 0.0263 Do not reject H0 24 0.0556 Do not reject H0 25 0.0540 Do not reject H0 26 0.0551 Do not reject H0 27 0.0411 Do not reject H0 28 0.0449 Do not reject H0 29 0.0437 Do not reject H0 30 0.0952 p > 0.1 0.0750 0.01 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 Conclusion Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.59: KPSS test of single-point crossover operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.0471 0.0550 0.0863 0.1620 0.0275 0.0290 0.0443 0.0972 0.0587 0.0992 0.1226 0.0538 0.0278 0.0517 0.0369 p > 0.1 > 0.1 > 0.1 0.0366 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 0.0931 > 0.1 > 0.1 > 0.1 > 0.1 Single-point crossover Conclusion Run Do not reject H0 16 Do not reject H0 17 Do not reject H0 18 Reject H0 19 Do not reject H0 20 Do not reject H0 21 Do not reject H0 22 Do not reject H0 23 Do not reject H0 24 Do not reject H0 25 Do not reject H0 26 Do not reject H0 27 Do not reject H0 28 Do not reject H0 29 Do not reject H0 30 operator kpss p 0.0369 > 0.1 0.1324 0.0750 0.2167 0.01 0.0278 > 0.1 0.0305 > 0.1 0.0612 > 0.1 0.0800 > 0.1 0.0263 > 0.1 0.0556 > 0.1 0.0540 > 0.1 0.0551 > 0.1 0.0411 > 0.1 0.0449 > 0.1 0.0437 > 0.1 0.0952 > 0.1 Conclusion Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

262

Table 10.60: KPSS test of uniform crossover operator.


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.0471 0.0550 0.0863 0.1620 0.0275 0.0290 0.0443 0.0972 0.0587 0.0992 0.1226 0.0538 0.0278 0.0517 0.0369 p > 0.1 > 0.1 > 0.1 0.0366 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 0.0931 > 0.1 > 0.1 > 0.1 > 0.1 Uniform crossover operator Conclusion Run kpss Do not reject H0 16 0.0369 Do not reject H0 17 0.1324 Do not reject H0 18 0.2167 Reject H0 19 0.0278 Do not reject H0 20 0.0305 Do not reject H0 21 0.0612 Do not reject H0 22 0.0800 Do not reject H0 23 0.0263 Do not reject H0 24 0.0556 Do not reject H0 25 0.0540 Do not reject H0 26 0.0551 Do not reject H0 27 0.0411 Do not reject H0 28 0.0449 Do not reject H0 29 0.0437 Do not reject H0 30 0.0952 p > 0.1 0.0750 0.01 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 Conclusion Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

263

264

Characteristics of the Effect of Parameter Values Experiments with Four Ranges


Linearity
Table 10.61: Linearity test of the mutation rate in the range [0.001,0.1249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 32.846 80.321 38.693 69.39 2.2139 14.837 18.542 24.678 17.914 78.77 26.398 34.194 71.126 23.906 66.422 Mutation rate in the p Conclusion 1.12e-07 Do not reject H0 2.33e-14 Do not reject H0 1.25e-08 Do not reject H0 5.31e-13 Do not reject H0 0.14001 Reject H0 0.00021 Do not reject H0 3.97e-05 Do not reject H0 2.90e-06 Do not reject H0 5.25e-05 Do not reject H0 3.58e-14 Do not reject H0 1.43e-06 Do not reject H0 6.72e-08 Do not reject H0 3.18e-13 Do not reject H0 4.00e-06 Do not reject H0 1.28e-12 Do not reject H0 range Run 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [0.001,0.1249] f p 66.422 1.28e-12 13.253 0.000438 11.611 0.000955 31.005 2.29e-07 25.067 2.47e-06 140.10 1.56e-20 30.601 2.68e-07 53.118 8.44e-11 34.739 5.46e-08 15.733 0.000139 77.022 5.86e-14 43.198 2.48e-09 27.556 8.99e-07 66.002 1.46e-12 22.658 6.76e-06 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

265

Table 10.62: Linearity test of the mutation rate in the range [0.125,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 188.91 85.539 96.7 140.92 218.96 72.126 92.699 78.174 125.98 116.75 139.71 153.96 93.809 135.22 63.696 Mutation rate in the p Conclusion 1.68e-24 Do not reject H0 5.62e-15 Do not reject H0 3.06e-16 Do not reject H0 1.31e-20 Do not reject H0 1.29e-26 Do not reject H0 2.38e-13 Do not reject H0 8.52e-16 Do not reject H0 4.24e-14 Do not reject H0 3.13e-19 Do not reject H0 2.47e-18 Do not reject H0 1.68e-20 Do not reject H0 9.74e-22 Do not reject H0 6.40e-16 Do not reject H0 4.30e-20 Do not reject H0 2.94e-12 Do not reject H0 range Run 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [0.125,0.249] f p 63.696 2.94e-12 243.31 3.47e-28 219.34 1.21e-26 124.60 4.23e-19 123.61 5.27e-19 73.109 1.79e-13 160.86 2.59e-22 86.149 4.77e-15 113.39 5.36e-18 222.43 7.59e-27 90.811 1.39e-15 87.665 3.18e-15 107.78 2.01e-17 148.55 2.82e-21 101.80 8.58e-17 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.63: Linearity test of the mutation rate in the range [0.25,0.3749].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 132.04 47.902 95.07 137.81 43.564 138.23 79.76 94.147 70.566 77.23 49.532 90.895 106.67 51.158 53.159 Mutation rate in the p Conclusion 8.43e-20 Do not reject H0 4.84e-10 Do not reject H0 4.63e-16 Do not reject H0 2.50e-20 Do not reject H0 2.18e-09 Do not reject H0 2.29e-20 Do not reject H0 2.72e-14 Do not reject H0 5.87e-16 Do not reject H0 3.75e-13 Do not reject H0 5.52e-14 Do not reject H0 2.78e-10 Do not reject H0 1.36e-15 Do not reject H0 2.62e-17 Do not reject H0 1.61e-10 Do not reject H0 8.33e-11 Do not reject H0 range Run 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [0.25,0.3749] f p 53.159 8.33e-11 70.133 4.26e-13 82.28 1.36e-14 77.717 4.82e-14 32.381 1.34e-07 97.052 2.80e-16 84.97 6.55e-15 76.557 6.68e-14 66.602 1.21e-12 174.75 2.00e-23 117.36 2.14e-18 99.44 1.54e-16 74.816 1.09e-13 63.636 2.99e-12 156.15 6.37e-22 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

266

Table 10.64: Linearity test of the mutation rate [0.375,0.49].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 66.543 151.23 198.27 43.224 111.07 53.958 148.72 92.603 121.53 190.82 169.82 74.602 127.98 159.82 131.46 Mutation rate in the p Conclusion 1.24e-12 Do not reject H0 1.65e-21 Do not reject H0 3.50e-25 Do not reject H0 2.46e-09 Do not reject H0 9.24e-18 Do not reject H0 6.41e-11 Do not reject H0 2.72e-21 Do not reject H0 8.73e-16 Do not reject H0 8.38e-19 Do not reject H0 1.21e-24 Do not reject H0 4.89e-23 Do not reject H0 1.16e-13 Do not reject H0 2.02e-19 Do not reject H0 3.15e-22 Do not reject H0 9.56e-20 Do not reject H0 range Run 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [0.25,0.3749] f p 131.46 9.56e-20 97.335 2.61e-16 155.27 7.54e-22 140.91 1.31e-20 151.98 1.43e-21 123.68 5.20e-19 98.336 2.03e-16 158.23 4.27e-22 69.121 5.75e-13 83.9 8.75e-15 101.55 9.13e-17 107.35 2.23e-17 94.808 4.95e-16 109.69 1.27e-17 57.046 2.36e-11 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.65: Linearity test of the crossover rate in the range [0.6,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 97.87 94.54 92.08 52.67 82.97 93.23 119.4 75.37 100.3 38.32 73.09 138.9 70.21 98.36 127.6 p 2.28e-16 5.31e-16 1.00e-15 9.76e-11 1.12e-14 7.43e-16 1.34e-18 9.36e-14 1.21e-16 1.43e-08 1.79e-13 1.99e-20 4.16e-13 2.01e-16 2.16e-19 Crossover rate [0.6,0.69] Conclusion Run f Do not reject H0 16 127.6 Do not reject H0 17 75.25 Do not reject H0 18 179.6 Do not reject H0 19 86.02 Do not reject H0 20 142.2 Do not reject H0 21 154.4 Do not reject H0 22 58.37 Do not reject H0 23 38.02 Do not reject H0 24 52.04 Do not reject H0 25 104.8 Do not reject H0 26 127.7 Do not reject H0 27 38.43 Do not reject H0 28 37.67 Do not reject H0 29 94.59 Do not reject H0 30 82.18 p 2.16e-19 9.67e-14 8.35e-24 4.93e-15 9.99e-21 8.90e-22 1.54e-11 1.60e-08 1.20e-10 4.05e-17 2.14e-19 1.38e-08 1.82e-08 5.23e-16 1.39e-14 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

267

Table 10.66: Linearity test of the crossover rate in the range [0.7,0.79].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 60.12 112.7 48.95 87.47 90.61 73.23 71.92 139.1 141.7 67.28 145.8 36.64 98.98 171.8 66.61 p 8.91e-12 6.23e-18 3.38e-10 3.35e-15 1.46e-15 1.72e-13 2.52e-13 1.90e-20 1.10e-20 9.95e-13 4.84e-21 2.67e-08 1.72e-16 3.38e-23 1.21e-12 Crossover rate [0.7,0.79] Conclusion Run f Do not reject H0 16 66.61 Do not reject H0 17 70.06 Do not reject H0 18 60.13 Do not reject H0 19 22.66 Do not reject H0 20 158.7 Do not reject H0 21 93.17 Do not reject H0 22 42.13 Do not reject H0 23 127.4 Do not reject H0 24 143.9 Do not reject H0 25 117.0 Do not reject H0 26 105.5 Do not reject H0 27 107.8 Do not reject H0 28 82.75 Do not reject H0 29 38.46 Do not reject H0 30 130.5 p 1.21e-12 4.35e-13 8.88e-12 6.74e-06 3.88e-22 7.53e-16 3.62e-09 2.29e-19 7.14e-21 2.29e-18 3.48e-17 1.97e-17 1.19e-14 1.36e-08 1.15e-19 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.67: Linearity test of the crossover rate in the range [0.8,0.89].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 61.57 127.4 57.97 134.7 105.2 128.5 93.55 38.25 144.1 178.3 23.56 68.37 142.8 75.56 59.84 p 5.65e-12 2.26e-19 1.75e-11 4.72e-20 3.73e-17 1.80e-19 6.84e-16 1.47e-08 6.76e-21 1.05e-23 4.62e-06 7.18e-13 8.79e-21 8.85e-14 9.73e-12 Crossover rate [0.8,0.89] Conclusion Run f Do not reject H0 16 59.84 Do not reject H0 17 149.1 Do not reject H0 18 104.1 Do not reject H0 19 124.6 Do not reject H0 20 87.65 Do not reject H0 21 55.2 Do not reject H0 22 150.6 Do not reject H0 23 136.9 Do not reject H0 24 108.2 Do not reject H0 25 119.8 Do not reject H0 26 78.15 Do not reject H0 27 87.00 Do not reject H0 28 156.8 Do not reject H0 29 142.6 Do not reject H0 30 73.2 p 9.73e-12 2.55e-21 4.92e-17 4.16e-19 3.19e-15 4.27e-11 1.84e-21 2.99e-20 1.82e-17 1.21e-18 4.26e-14 3.80e-15 5.58e-22 9.24e-21 1.74e-13 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

268

Table 10.68: Linearity test of the crossover rate in the range [0.9,0.99].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 152.9 40.37 74.29 90.79 67.74 33.48 135.0 135.6 19.18 80.93 101.5 71.29 110.0 56.33 79.19 Crossover rate in the range [0.9,0.99] p Conclusion Run f p 1.18e-21 Do not reject H0 16 79.19 3.19e-14 6.81e-09 Do not reject H0 17 133.2 6.50e-20 1.27e-13 Do not reject H0 18 69.36 5.35e-13 1.39e-15 Do not reject H0 19 137.6 2.56e-20 8.65e-13 Do not reject H0 20 95.51 4.13e-16 8.80e-08 Do not reject H0 21 46.79 7.08e-10 4.42e-20 Do not reject H0 22 61.16 6.44e-12 3.96e-20 Do not reject H0 23 140.8 1.34e-20 2.99e-05 Do not reject H0 24 112.9 5.98e-18 1.96e-14 Do not reject H0 25 40.61 6.25e-09 9.08e-17 Do not reject H0 26 26.66 1.28e-06 3.03e-13 Do not reject H0 27 111.7 7.96e-18 1.18e-17 Do not reject H0 28 121.7 8.01e-19 2.96e-11 Do not reject H0 29 94.78 4.98e-16 3.19e-14 Do not reject H0 30 33.73 8.01e-08 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.69: Linearity test of the population size in the range [20,40].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 67.637 131.97 83.68 91.44 31.594 73.723 65.494 64.965 68.291 39.449 40.262 80.124 71.946 33.617 37.215 p 8.94e-13 8.56e-20 9.28e-15 1.18e-15 1.82e-07 1.50e-13 1.70e-12 2.00e-12 7.35e-13 9.53e-09 7.09e-09 2.46e-14 2.51e-13 8.37e-08 2.16e-08 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [20,40] Run f p 16 37.215 2.16e-08 17 56.606 2.72e-11 18 39.413 9.65e-09 19 84.527 7.38e-15 20 116.48 2.63e-18 21 18.100 4.83e-05 22 32.295 1.39e-07 23 45.773 1.00e-09 24 86.495 4.35e-15 25 81.798 1.55e-14 26 61.993 4.97e-12 27 90.424 1.53e-15 28 56.043 3.26e-11 29 101.47 9.31e-17 30 65.785 1.55e-12 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

269

Table 10.70: Linearity test of the population size in the range [41,60].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 21.060 106.10 101.89 171.47 145.61 152.52 90.112 78.617 151.05 58.629 132.91 116.54 75.248 134.16 152.94 p 1.33e-05 3.01e-17 8.40e-17 3.62e-23 5.08e-21 1.28e-21 1.67e-15 3.74e-14 1.72e-21 1.42e-11 7.01e-20 2.59e-18 9.69e-14 5.37e-20 1.18e-21 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [41,60] Run f p 16 152.94 1.18e-21 17 109.22 1.42e-17 18 85.791 5.25e-15 19 75.64 8.67e-14 20 50.342 2.12e-10 21 115.57 3.23e-18 22 64.946 2.01e-12 23 184.14 3.82e-24 24 65.865 1.52e-12 25 89.079 2.19e-15 26 17.778 5.57e-05 27 115.51 3.29e-18 28 167.19 7.94e-23 29 118.04 1.84e-18 30 33.558 8.56e-08 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.71: Linearity test of the population size in the range [61,80].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 153.70 65.238 64.725 58.294 54.059 81.837 121.48 137.74 88.013 69.965 118.80 72.675 80.422 57.033 138.18 p 1.02e-21 1.84e-12 2.15e-12 1.58e-11 6.20e-11 1.53e-14 8.48e-19 2.54e-20 2.90e-15 4.48e-13 1.54e-18 2.03e-13 2.26e-14 2.37e-11 2.31e-20 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [61,80] Run f p 16 138.18 2.31e-20 17 91.645 1.12e-15 18 151.40 1.60e-21 19 113.68 5.01e-18 20 78.36 4.02e-14 21 224.28 5.73e-27 22 94.785 4.98e-16 23 61.335 6.10e-12 24 127.81 2.10e-19 25 64.621 2.22e-12 26 105.78 3.25e-17 27 76.251 7.29e-14 28 108.41 1.73e-17 29 40.206 7.24e-09 30 119.13 1.44e-18 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

270

Table 10.72: Linearity test of the population size in the range [81,100].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 94.763 47.004 41.406 69.133 93.06 19.307 88.114 84.421 45.564 89.992 34.859 31.514 98.914 49.888 22.148 p 5.01e-16 6.59e-10 4.70e-09 5.73e-13 7.76e-16 2.84e-05 2.82e-15 7.59e-15 1.08e-09 1.72e-15 5.22e-08 1.88e-07 1.75e-16 2.47e-10 8.38e-06 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [81,100] Run f p 16 22.148 8.38e-06 17 53.664 7.06e-11 18 98.302 2.04e-16 19 49.202 3.11e-10 20 86.912 3.89e-15 21 83.562 9.58e-15 22 74.16 1.32e-13 23 123.90 4.95e-19 24 65.843 1.53e-12 25 37.08 2.27e-08 26 123.57 5.32e-19 27 28.844 5.37e-07 28 43.292 2.40e-09 29 66.008 1.45e-12 30 42.582 3.09e-09 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.73: Linearity test of the mating pool size in the range [0.1,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 115.0 146.7 79.66 100.8 61.61 94.00 89.08 17.05 66.44 89.39 36.08 45.12 65.90 172.4 148.1 Population size in the range [0.1,0.249] p Conclusion Run f p 3.65e-18 Do not reject H0 16 148.1 3.07e-21 4.02e-21 Do not reject H0 17 81.31 1.77e-14 2.80e-14 Do not reject H0 18 46.31 8.35e-10 1.08e-16 Do not reject H0 19 122.4 6.87e-19 5.60e-12 Do not reject H0 20 135.4 4.12e-20 6.08e-16 Do not reject H0 21 55.05 4.49e-11 2.18e-15 Do not reject H0 22 12.99 0.000494 7.70e-05 Do not reject H0 23 12.22 0.000713 1.27e-12 Do not reject H0 24 116.7 2.49e-18 2.01e-15 Do not reject H0 25 107.4 2.20e-17 3.29e-08 Do not reject H0 26 34.52 5.92e-08 1.26e-09 Do not reject H0 27 120.8 9.78e-19 1.50e-12 Do not reject H0 28 54.05 6.21e-11 3.06e-23 Do not reject H0 29 51.59 1.39e-10 3.07e-21 Do not reject H0 30 50.63 1.92e-10 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

271

Table 10.74: Linearity test of the mating pool size in the range [0.25,0.39].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 114.61 128.09 143.99 151.53 104.58 145.17 176.94 179.26 157.89 86.487 26.132 69.847 101.30 87.651 84.586 Population size in the range [0.25,0.39] p Conclusion Run f p 4.0426e-18 Do not reject H0 16 84.586 7.2671e-15 1.9778e-19 Do not reject H0 17 127.61 2.191e-19 7.0475e-21 Do not reject H0 18 103.15 6.1648e-17 1.5671e-21 Do not reject H0 19 148.18 3.0367e-21 4.3487e-17 Do not reject H0 20 90.202 1.6321e-15 5.5487e-21 Do not reject H0 21 63.142 3.4905e-12 1.3548e-23 Do not reject H0 22 163.38 1.6122e-22 8.9867e-24 Do not reject H0 23 128.72 1.7218e-19 4.5607e-22 Do not reject H0 24 187.29 2.2210e-24 4.3611e-15 Do not reject H0 25 75.735 8.4427e-14 1.6010e-06 Do not reject H0 26 127.40 2.2967e-19 4.641e-13 Do not reject H0 27 54.596 5.2089e-11 9.7113e-17 Do not reject H0 28 99.968 1.3513e-16 3.1978e-15 Do not reject H0 29 82.028 1.4576e-14 7.2671e-15 Do not reject H0 30 100.24 1.2619e-16 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.75: Linearity test of the mating pool size in the range [0.4,0.549].
.mine Population size in the range [0.4,0.549] p Conclusion Run f p 5.82e-14 Do not reject H0 16 36.481 2.84e-08 1.71e-18 Do not reject H0 17 243.67 3.30e-28 6.60e-19 Do not reject H0 18 98.8 1.80e-16 8.52e-18 Do not reject H0 19 85.528 5.63e-15 2.75e-13 Do not reject H0 20 139.2 1.87e-20 2.31e-13 Do not reject H0 21 164.55 1.29e-22 4.12e-24 Do not reject H0 22 132.82 7.15e-20 4.07e-24 Do not reject H0 23 232.29 1.72e-27 2.44e-14 Do not reject H0 24 51.792 1.30e-10 1.00e-16 Do not reject H0 25 70.398 3.94e-13 2.18e-13 Do not reject H0 26 104.46 4.47e-17 8.42e-15 Do not reject H0 27 55.108 4.41e-11 5.43e-20 Do not reject H0 28 39.587 9.06e-09 1.45e-05 Do not reject H0 29 101.52 9.19e-17 2.84e-08 Do not reject H0 30 45.883 9.70e-10

Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

f 77.046 118.35 122.60 111.41 71.627 72.23 183.71 183.78 80.157 101.17 72.43 84.04 134.12 20.859 36.481

Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

272

Table 10.76: Linearity test of the mating pool size in the range [0.55,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f 145.94 68.43 25.490 83.259 103.05 36.115 95.495 21.425 114.82 85.479 167.27 102.79 86.499 103.29 48.015 Population size in the range [0.55,0.69] p Conclusion Run f p 4.75e-21 Do not reject H0 16 48.015 4.66e-10 7.05e-13 Do not reject H0 17 75.815 8.25e-14 2.08e-06 Do not reject H0 18 125.56 3.43e-19 1.04e-14 Do not reject H0 19 33.098 1.02e-07 6.32e-17 Do not reject H0 20 136.89 3.03e-20 3.25e-08 Do not reject H0 21 93.978 6.13e-16 4.16e-16 Do not reject H0 22 61.761 5.34e-12 1.14e-05 Do not reject H0 23 77.847 4.64e-14 3.85e-18 Do not reject H0 24 97.939 2.24e-16 5.71e-15 Do not reject H0 25 126.16 3.00e-19 7.82e-23 Do not reject H0 26 116.18 2.81e-18 6.73e-17 Do not reject H0 27 69.628 4.95e-13 4.34e-15 Do not reject H0 28 151.83 1.47e-21 5.95e-17 Do not reject H0 29 109.99 1.18e-17 4.66e-10 Do not reject H0 30 95.291 4.38e-16 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Normality
Table 10.77: Kolmogorov-Smirnov test of the mutation rate in the range [0.001,0.1249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.06819 0.07145 0.06446 0.07112 0.16413 0.07511 0.04039 0.05935 0.07059 0.03583 0.04227 0.06183 0.06472 0.08065 0.05466 Mutation rate in the p Conclusion 0.72051 Do not reject H0 0.66599 Do not reject H0 0.78068 Do not reject H0 0.67152 Do not reject H0 0.00846 Reject H0 0.60462 Do not reject H0 0.995 Do not reject H0 0.85587 Do not reject H0 0.68055 Do not reject H0 0.99912 Do not reject H0 0.9913 Do not reject H0 0.82078 Do not reject H0 0.77658 Do not reject H0 0.5141 Do not reject H0 0.91291 Do not reject H0 range Run 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [0.001,0.1249] d p 0.05466 0.91291 0.07574 0.59412 0.07480 0.60976 0.08879 0.39294 0.09800 0.27906 0.05287 0.93093 0.05323 0.9275 0.05182 0.94041 0.08489 0.4489 0.07727 0.56878 0.04689 0.97433 0.04759 0.97056 0.06544 0.76527 0.04770 0.96996 0.06547 0.7647 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

273

Table 10.78: [0.125,0.249].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.06003 0.04478 0.04200 0.04501 0.04933 0.05827 0.05374 0.07963 0.05651 0.05818 0.09054 0.0657 0.0518 0.05060 0.04158

Kolmogorov-Smirnov test of the mutation rate in the range


Mutation rate in the range p Conclusion Run 0.84657 Do not reject H0 16 0.98366 Do not reject H0 17 0.99192 Do not reject H0 18 0.98278 Do not reject H0 19 0.95971 Do not reject H0 20 0.87014 Do not reject H0 21 0.92251 Do not reject H0 22 0.53047 Do not reject H0 23 0.89204 Do not reject H0 24 0.87128 Do not reject H0 25 0.36926 Do not reject H0 26 0.76112 Do not reject H0 27 0.94066 Do not reject H0 28 0.95046 Do not reject H0 29 0.99283 Do not reject H0 30 [0.125,0.249] d p 0.04158 0.99283 0.04254 0.99064 0.06054 0.83941 0.07015 0.68794 0.04737 0.97178 0.06874 0.71133 0.05460 0.91354 0.04062 0.99463 0.04941 0.95919 0.09944 0.26356 0.05447 0.91496 0.07143 0.66634 0.04303 0.98933 0.04299 0.98945 0.03610 0.999

Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.79: [0.25,0.3749].


Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.06034 0.04265 0.05305 0.05776 0.08003 0.04450 0.08829 0.07165 0.08438 0.04446 0.04867 0.05186 0.07759 0.06985 0.06180

Kolmogorov-Smirnov test of the mutation rate in the range


Mutation rate in the range p Conclusion Run 0.84222 Do not reject H0 16 0.99035 Do not reject H0 17 0.9292 Do not reject H0 18 0.87667 Do not reject H0 19 0.52393 Do not reject H0 20 0.98468 Do not reject H0 21 0.39987 Do not reject H0 22 0.66262 Do not reject H0 23 0.45643 Do not reject H0 24 0.98483 Do not reject H0 25 0.96411 Do not reject H0 26 0.94012 Do not reject H0 27 0.56351 Do not reject H0 28 0.69283 Do not reject H0 29 0.82118 Do not reject H0 30 [0.25,0.3749] d p 0.06180 0.82118 0.08206 0.49195 0.03631 0.9989 0.06365 0.79332 0.03997 0.99564 0.11844 0.11461 0.07674 0.57746 0.07660 0.57984 0.04755 0.9708 0.03981 0.99585 0.06684 0.7426 0.05262 0.93327 0.06284 0.80569 0.06792 0.72497 0.05649 0.89225

Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

274

Table 10.80: Kolmogorov-Smirnov test of the mutation rate in the range [0.375,0.49].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.05404 0.05701 0.07265 0.06072 0.07601 0.11339 0.04139 0.05371 0.07043 0.03675 0.05318 0.09619 0.04194 0.06870 0.04484 Mutation rate in the range [0.375,0.49] p Conclusion Run d p 0.91945 Do not reject H0 16 0.04484 0.98343 0.886 Do not reject H0 17 0.04210 0.9917 0.64589 Do not reject H0 18 0.1003 0.25470 0.83677 Do not reject H0 19 0.04950 0.95857 0.58962 Do not reject H0 20 0.06962 0.69669 0.14513 Do not reject H0 21 0.05881 0.8631 0.99322 Do not reject H0 22 0.04786 0.969 0.92275 Do not reject H0 23 0.05028 0.95293 0.68309 Do not reject H0 24 0.10996 0.16928 0.99867 Do not reject H0 25 0.05227 0.9365 0.92803 Do not reject H0 26 0.05543 0.90452 0.29937 Do not reject H0 27 0.07456 0.61388 0.99207 Do not reject H0 28 0.08675 0.42166 0.71196 Do not reject H0 29 0.05428 0.91694 0.98343 Do not reject H0 30 0.06100 0.83275 Conclusion Reject H0 Reject H0 Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.81: Kolmogorov-Smirnov test of the crossover rate in the range [0.6,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.05069 0.06959 0.08026 0.06015 0.07583 0.08288 0.07783 0.08633 0.05422 0.06563 0.04362 0.04852 0.05966 0.05655 0.12268 p 0.94973 0.69723 0.52029 0.84484 0.59264 0.47929 0.55959 0.42769 0.91756 0.76214 0.98761 0.96502 0.85158 0.89158 0.09324 Crossover rate in the range [0.6,0.69] Conclusion Run d p Do not reject H0 16 0.12268 0.09324 Do not reject H0 17 0.06202 0.818 Do not reject H0 18 0.04075 0.9944 Do not reject H0 19 0.05310 0.92872 Do not reject H0 20 0.05806 0.87291 Do not reject H0 21 0.05265 0.93304 Do not reject H0 22 0.06458 0.77884 Do not reject H0 23 0.05628 0.89472 Do not reject H0 24 0.08037 0.51849 Do not reject H0 25 0.07034 0.68462 Do not reject H0 26 0.04819 0.9671 Do not reject H0 27 0.05470 0.9125 Do not reject H0 28 0.10378 0.22088 Do not reject H0 29 0.03830 0.99756 Do not reject H0 30 0.06221 0.81519 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

275

Table 10.82: Kolmogorov-Smirnov test of the crossover rate in the range [0.7,0.79].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.05730 0.05992 0.04940 0.07571 0.08539 0.06465 0.06153 0.05659 0.05751 0.06866 0.06812 0.05907 0.05573 0.05396 0.05206 p 0.8824 0.84802 0.9593 0.59459 0.44152 0.77778 0.8252 0.8911 0.8798 0.71265 0.7216 0.85955 0.90112 0.9202 0.93833 Crossover rate in the range [0.7,0.79] Conclusion Run d p Do not reject H0 16 0.05206 0.93833 Do not reject H0 17 0.05575 0.90094 Do not reject H0 18 0.08470 0.45162 Do not reject H0 19 0.13325 0.05406 Do not reject H0 20 0.05642 0.89317 Do not reject H0 21 0.06891 0.70855 Do not reject H0 22 0.06210 0.81681 Do not reject H0 23 0.05845 0.86781 Do not reject H0 24 0.06260 0.80934 Do not reject H0 25 0.06903 0.7065 Do not reject H0 26 0.04800 0.9682 Do not reject H0 27 0.05439 0.91579 Do not reject H0 28 0.06770 0.72853 Do not reject H0 29 0.06132 0.82819 Do not reject H0 30 0.04210 0.9917 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.83: Kolmogorov-Smirnov test of the crossover rate in the range [0.8,0.89].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.09576 0.08176 0.05223 0.04414 0.08429 0.04815 0.06094 0.04710 0.09225 0.08007 0.06337 0.05889 0.06994 0.04225 0.03469 p 0.30431 0.49659 0.9368 0.98593 0.45785 0.9673 0.83367 0.97322 0.34705 0.52338 0.79753 0.86205 0.69138 0.99134 0.99948 Crossover rate in the range [0.8,0.89] Conclusion Run d p Do not reject H0 16 0.03469 0.99948 Do not reject H0 17 0.07618 0.58673 Do not reject H0 18 0.05774 0.87696 Do not reject H0 19 0.05799 0.87374 Do not reject H0 20 0.04119 0.9936 Do not reject H0 21 0.05242 0.93514 Do not reject H0 22 0.04412 0.98598 Do not reject H0 23 0.04722 0.97257 Do not reject H0 24 0.06919 0.7039 Do not reject H0 25 0.07708 0.57186 Do not reject H0 26 0.06383 0.7906 Do not reject H0 27 0.07528 0.60178 Do not reject H0 28 0.10224 0.23539 Do not reject H0 29 0.07997 0.52499 Do not reject H0 30 0.05208 0.9382 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

276

Table 10.84: Kolmogorov-Smirnov test of the crossover rate in the range [0.9,0.99].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.04397 0.08160 0.09953 0.06757 0.03335 0.07316 0.04879 0.04891 0.05973 0.05440 0.05703 0.04130 0.04967 0.0633 0.03440 p 0.9865 0.49913 0.26263 0.73067 0.99975 0.63728 0.96337 0.96258 0.85068 0.91574 0.88573 0.9934 0.95737 0.79874 0.99956 Crossover rate in the range [0.9,0.99] Conclusion Run d p Do not reject H0 16 0.03440 0.99956 Do not reject H0 17 0.06001 0.84677 Do not reject H0 18 0.06070 0.83704 Do not reject H0 19 0.06780 0.72685 Do not reject H0 20 0.07079 0.67713 Do not reject H0 21 0.06531 0.76722 Do not reject H0 22 0.07474 0.61074 Do not reject H0 23 0.04197 0.99199 Do not reject H0 24 0.03552 0.99923 Do not reject H0 25 0.06603 0.75583 Do not reject H0 26 0.05861 0.8657 Do not reject H0 27 0.06319 0.80039 Do not reject H0 28 0.07285 0.64254 Do not reject H0 29 0.03970 0.996 Do not reject H0 30 0.09704 0.28966 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.85: Kolmogorov-Smirnov test of the population size in the range [20,40].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.12180 0.04482 0.05161 0.06423 0.08858 0.06224 0.06549 0.08852 0.08622 0.12800 0.08512 0.08822 0.05634 0.05495 0.07002 p 0.09738 0.9835 0.94226 0.78436 0.39583 0.81466 0.76446 0.39674 0.42926 0.07129 0.44540 0.40091 0.89403 0.90978 0.6901 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [20,40] Run d p 16 0.07002 0.6901 17 0.09535 0.30911 18 0.04774 0.96974 19 0.03851 0.99736 20 0.08427 0.45812 21 0.05920 0.85791 22 0.1136 0.14372 23 0.13860 0.04032 24 0.05975 0.85033 25 0.06441 0.78154 26 0.05934 0.85599 27 0.11973 0.10774 28 0.08117 0.50583 29 0.07302 0.63966 30 0.06609 0.75483 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

277

Table 10.86: Kolmogorov-Smirnov test of the population size in the range [41,60].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.08475 0.07311 0.05609 0.06060 0.06753 0.04592 0.07456 0.07083 0.05676 0.03841 0.06837 0.04576 0.08131 0.04633 0.04787 p 0.451 0.63814 0.89696 0.83851 0.73142 0.97897 0.61389 0.67642 0.889 0.99746 0.71745 0.97969 0.50372 0.97706 0.96894 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [41,60] Run d p 16 0.04787 0.96894 17 0.09799 0.27916 18 0.09099 0.36341 19 0.07147 0.66576 20 0.05400 0.91981 21 0.04413 0.98597 22 0.10110 0.24662 23 0.05284 0.93127 24 0.08224 0.4892 25 0.05557 0.90292 26 0.09341 0.33255 27 0.06289 0.80485 28 0.04974 0.9569 29 0.05814 0.87188 30 0.08128 0.50416 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.87: Kolmogorov-Smirnov test of the population size in the range [61,80].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.05275 0.09787 0.05448 0.06216 0.04485 0.04104 0.08237 0.06556 0.06608 0.04713 0.06066 0.07221 0.05011 0.05864 0.05749 p 0.93204 0.28040 0.91489 0.81587 0.98337 0.99388 0.48711 0.76328 0.75491 0.97307 0.83765 0.6533 0.95415 0.86536 0.88012 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [61,80] Run d p 16 0.05749 0.88012 17 0.04522 0.98194 18 0.07373 0.62774 19 0.07970 0.52924 20 0.08565 0.43767 21 0.08552 0.43953 22 0.06419 0.78496 23 0.06415 0.78558 24 0.06402 0.78756 25 0.0701 0.68878 26 0.09470 0.31682 27 0.04631 0.97715 28 0.04808 0.96771 29 0.06884 0.70975 30 0.03565 0.99918 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

278

Table 10.88: Kolmogorov-Smirnov test of the population size in the range [81,100].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.07464 0.09636 0.06623 0.06474 0.10093 0.06273 0.06414 0.06580 0.07348 0.06672 0.06415 0.05850 0.03336 0.05783 0.09197 p 0.6125 0.29739 0.75254 0.77628 0.24828 0.80735 0.78578 0.7595 0.63197 0.74458 0.78562 0.86717 0.99975 0.87581 0.35072 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [81,100] Run d p 16 0.09197 0.35072 17 0.06537 0.76625 18 0.08807 0.40303 19 0.06158 0.82436 20 0.06026 0.84337 21 0.08255 0.48427 22 0.05739 0.88137 23 0.04900 0.96195 24 0.05638 0.89357 25 0.07454 0.61407 26 0.07393 0.62443 27 0.05857 0.8662 28 0.06953 0.6982 29 0.05594 0.89872 30 0.04458 0.9844 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.89: Kolmogorov-Smirnov test of the mating pool size in the range [0.1,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.06872 0.04108 0.04055 0.05858 0.06282 0.03512 0.04946 0.06408 0.07616 0.08474 0.05662 0.04282 0.05105 0.08663 0.04698 Mating pool size in the range [0.1,0.249] p Conclusion Run d p 0.71176 Do not reject H0 16 0.04698 0.97383 0.99382 Do not reject H0 17 0.06581 0.75932 0.99475 Do not reject H0 18 0.05250 0.93439 0.86617 Do not reject H0 19 0.03819 0.99765 0.80601 Do not reject H0 20 0.06123 0.82944 0.99936 Do not reject H0 21 0.06937 0.70094 0.95884 Do not reject H0 22 0.04777 0.96953 0.7866 Do not reject H0 23 0.08180 0.49595 0.58718 Do not reject H0 24 0.08679 0.42105 0.45115 Do not reject H0 25 0.07580 0.59304 0.89076 Do not reject H0 26 0.04533 0.98148 0.9899 Do not reject H0 27 0.06378 0.79131 0.94693 Do not reject H0 28 0.06995 0.69125 0.4234 Do not reject H0 29 0.06972 0.69512 0.97383 Do not reject H0 30 0.05505 0.90877 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

279

Table 10.90: Kolmogorov-Smirnov test of the mating pool size in the range [0.25,0.39].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.05167 0.0763 0.04719 0.03951 0.06689 0.05700 0.07438 0.05170 0.04179 0.05781 0.06731 0.07998 0.05730 0.08458 0.09524 Mating pool size in the range [0.25,0.39] p Conclusion Run d p 0.9417 Do not reject H0 16 0.09524 0.31047 0.58488 Do not reject H0 17 0.04651 0.97623 0.97274 Do not reject H0 18 0.06618 0.75337 0.99625 Do not reject H0 19 0.04621 0.97764 0.74185 Do not reject H0 20 0.06649 0.74825 0.88608 Do not reject H0 21 0.05119 0.94574 0.61684 Do not reject H0 22 0.07588 0.59183 0.94147 Do not reject H0 23 0.05473 0.9122 0.99239 Do not reject H0 24 0.05055 0.95087 0.87609 Do not reject H0 25 0.06899 0.70725 0.73497 Do not reject H0 26 0.04958 0.958 0.52474 Do not reject H0 27 0.07219 0.65362 0.88245 Do not reject H0 28 0.04440 0.98504 0.45345 Do not reject H0 29 0.06604 0.75556 0.31047 Do not reject H0 30 0.06649 0.74836 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.91: Kolmogorov-Smirnov test of the mating pool size in the range [0.4,0.549].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.07439 0.07788 0.11871 0.07710 0.04603 0.07456 0.04010 0.07910 0.06623 0.04441 0.05877 0.04705 0.06787 0.05996 0.07667 Mating pool size in the range [0.4,0.549] p Conclusion Run d p 0.61658 Do not reject H0 16 0.07667 0.57876 0.55886 Do not reject H0 17 0.04778 0.96947 0.11312 Do not reject H0 18 0.04240 0.99098 0.57165 Do not reject H0 19 0.04105 0.99388 0.97845 Do not reject H0 20 0.05191 0.9397 0.61389 Do not reject H0 21 0.06671 0.74472 0.99544 Do not reject H0 22 0.03670 0.9987 0.53894 Do not reject H0 23 0.05398 0.92007 0.75255 Do not reject H0 24 0.05569 0.9016 0.985 Do not reject H0 25 0.04724 0.97247 0.86361 Do not reject H0 26 0.07744 0.56598 0.97347 Do not reject H0 27 0.07764 0.5627 0.72568 Do not reject H0 28 0.05011 0.95419 0.8475 Do not reject H0 29 0.04336 0.98838 0.57876 Do not reject H0 30 0.05655 0.89161 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

280

Table 10.92: Kolmogorov-Smirnov test of the mating pool size in the range [0.55,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0.08352 0.03891 0.07594 0.05565 0.05316 0.06586 0.05786 0.10013 0.05422 0.06317 0.05394 0.06376 0.08249 0.07404 0.09448 Mating pool size in the range [0.55,0.69] p Conclusion Run d p 0.46953 Do not reject H0 16 0.09448 0.31944 0.99695 Do not reject H0 17 0.04381 0.98701 0.59075 Do not reject H0 18 0.06232 0.81354 0.90205 Do not reject H0 19 0.05354 0.92452 0.9282 Do not reject H0 20 0.06734 0.73448 0.75848 Do not reject H0 21 0.09394 0.32608 0.87543 Do not reject H0 22 0.11881 0.11261 0.25648 Do not reject H0 23 0.11974 0.10768 0.9176 Do not reject H0 24 0.05219 0.9372 0.80073 Do not reject H0 25 0.06602 0.75584 0.92045 Do not reject H0 26 0.04719 0.97276 0.79159 Do not reject H0 27 0.04259 0.99052 0.48533 Do not reject H0 28 0.04335 0.98841 0.62251 Do not reject H0 29 0.08106 0.50759 0.31944 Do not reject H0 30 0.08118 0.50571 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Independence
Table 10.93: Durbin-Watson test of the mutation rate in the range [0.001,0.1249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.8434 1.8271 1.4804 2.2241 2.0962 1.5782 1.7706 1.9379 1.8602 2.0292 1.5559 2.0542 1.6376 1.3442 1.7454 Mutation rate in the p Conclusion 0.81218 Do not reject H0 0.8334 Do not reject H0 0.99695 Do not reject H0 0.15434 Do not reject H0 0.35387 Do not reject H0 0.98722 Do not reject H0 0.89473 Do not reject H0 0.66028 Do not reject H0 0.78879 Do not reject H0 0.48304 Do not reject H0 0.99057 Do not reject H0 0.43582 Do not reject H0 0.97303 Do not reject H0 0.99974 Do not reject H0 0.91608 Do not reject H0 range Run 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [0.001,0.1249] dw p 1.7454 0.91608 2.0529 0.43836 1.8635 0.78383 1.883 0.7542 1.6935 0.9497 1.8902 0.74272 1.8248 0.83638 1.7981 0.86727 1.8098 0.8542 1.8804 0.75824 1.5159 0.9947 1.6351 0.9738 1.4285 0.99872 1.8322 0.82704 2.39 0.03137 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

281

Table 10.94: Durbin-Watson test of the mutation rate in the range [0.125,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.5298 2.024 1.2541 1.7768 1.9435 1.8119 1.4693 1.4467 1.9292 2.0074 1.7409 1.6675 1.7379 1.5915 2.3427 Mutation rate in the range p Conclusion Run 0.9935 Do not reject H0 16 0.49341 Do not reject H0 17 0.99996 Do not reject H0 18 0.88889 Do not reject H0 19 0.65008 Do not reject H0 20 0.85187 Do not reject H0 21 0.99745 Do not reject H0 22 0.99825 Do not reject H0 23 0.67603 Do not reject H0 24 0.52647 Do not reject H0 25 0.91953 Do not reject H0 26 0.96203 Do not reject H0 27 0.92181 Do not reject H0 28 0.98477 Do not reject H0 29 0.05272 Do not reject H0 30 [0.125,0.249] dw p 2.3427 0.05272 1.8461 0.8086 1.8894 0.74409 1.7502 0.91227 1.8487 0.80506 1.8788 0.76085 1.6184 0.9786 1.6510 0.96846 1.8095 0.85463 2.2596 0.11564 1.7791 0.88669 1.4382 0.99849 1.5281 0.99366 1.9528 0.63263 1.6799 0.9565 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.95: Durbin-Watson test of the mutation rate in the range [0.25,0.3749].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.7673 1.7726 2.0465 1.9458 1.4063 2.3772 2.0927 2.0042 1.3751 2.0966 1.7327 2.0029 1.5965 1.7500 1.5720 Mutation rate in the range p Conclusion Run 0.8977 Do not reject H0 16 0.89286 Do not reject H0 17 0.45129 Do not reject H0 18 0.64577 Do not reject H0 19 0.99914 Do not reject H0 20 0.03628 Reject H0 21 0.36055 Do not reject H0 22 0.53279 Do not reject H0 23 0.99952 Do not reject H0 24 0.35323 Do not reject H0 25 0.92553 Do not reject H0 26 0.53542 Do not reject H0 27 0.98375 Do not reject H0 28 0.91242 Do not reject H0 29 0.98823 Do not reject H0 30 [0.25,0.3749] dw p 1.5720 0.98823 1.8961 0.73313 2.0609 0.42236 1.805 0.8597 2.1643 0.23668 1.6260 0.97653 1.5757 0.98764 2.0191 0.50317 1.8652 0.7814 1.7852 0.8807 2.2184 0.1612 2.0388 0.46709 2.0158 0.50977 2.0519 0.44045 1.8646 0.78235 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

282

Table 10.96: Durbin-Watson test of the mutation rate in the range [0.375,0.49].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.8866 2.0386 2.2367 1.7077 2.0295 1.7136 2.2344 1.9329 1.9571 2.1339 1.7645 2.1919 2.0612 1.6680 2.1448 Mutation rate in the range [0.375,0.49] p Conclusion Run dw p 0.74844 Do not reject H0 16 2.1448 0.26788 0.46745 Do not reject H0 17 1.8496 0.80377 0.13971 Do not reject H0 18 2.2146 0.16601 0.9418 Do not reject H0 19 1.7832 0.88272 0.48242 Do not reject H0 20 1.9688 0.60225 0.93827 Do not reject H0 21 1.8179 0.84468 0.14231 Do not reject H0 22 1.9067 0.71534 0.66949 Do not reject H0 23 1.8672 0.77849 0.62451 Do not reject H0 24 2.0330 0.47904 0.28628 Do not reject H0 25 2.4984 0.00769 0.90024 Do not reject H0 26 2.0463 0.45163 0.19598 Do not reject H0 27 1.8264 0.83428 0.42172 Do not reject H0 28 2.2262 0.15189 0.96181 Do not reject H0 29 1.9537 0.63103 0.26788 Do not reject H0 30 1.9922 0.55653 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.97: Durbin-Watson test of the crossover rate in the range [0.6,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 2.3671 2.2618 2.1443 1.9421 1.6917 1.4991 1.8436 2.0829 1.8562 1.6644 1.7464 1.9312 2.0728 1.9797 1.8857 p 0.04063 0.11351 0.26864 0.65273 0.95064 0.9959 0.8119 0.37925 0.79451 0.96332 0.91532 0.67257 0.39874 0.5812 0.75002 Crossover rate in the range [0.6,0.69] Conclusion Run dw p Reject H0 16 1.8857 0.75002 Do not reject H0 17 1.8046 0.86015 Do not reject H0 18 1.5990 0.98322 Do not reject H0 19 1.8016 0.8635 Do not reject H0 20 1.8385 0.81883 Do not reject H0 21 1.8459 0.8089 Do not reject H0 22 1.9334 0.66846 Do not reject H0 23 1.6097 0.9808 Do not reject H0 24 1.9252 0.68334 Do not reject H0 25 2.1603 0.24284 Do not reject H0 26 2.3334 0.05801 Do not reject H0 27 1.7356 0.92345 Do not reject H0 28 2.5048 0.00701 Do not reject H0 29 1.8129 0.8507 Do not reject H0 30 1.9808 0.57895 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

283

Table 10.98: Durbin-Watson test of the crossover rate in the range [0.7,0.79].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 2.1185 2.1243 1.8135 1.5356 1.7537 1.7657 1.9475 1.8830 2.1567 1.7238 1.8924 2.0654 1.9430 1.5188 1.9150 p 0.31302 0.30285 0.8499 0.99293 0.90942 0.89916 0.6427 0.75418 0.24855 0.9317 0.73923 0.41343 0.65103 0.99447 0.70113 Crossover rate in the range [0.7,0.79] Conclusion Run dw p Do not reject H0 16 1.9150 0.70113 Do not reject H0 17 1.5503 0.99128 Do not reject H0 18 2.3613 0.04325 Do not reject H0 19 2.0455 0.45324 Do not reject H0 20 1.9961 0.54882 Do not reject H0 21 1.7247 0.93106 Do not reject H0 22 1.8754 0.766 Do not reject H0 23 1.8648 0.78204 Do not reject H0 24 2.0019 0.53734 Do not reject H0 25 1.9106 0.7088 Do not reject H0 26 1.9576 0.62365 Do not reject H0 27 1.7805 0.88537 Do not reject H0 28 2.0465 0.45133 Do not reject H0 29 1.9101 0.70965 Do not reject H0 30 2.1079 0.33215 Conclusion Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.99: Durbin-Watson test of the crossover rate in the range [0.8,0.89].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.744 1.7931 1.7157 1.8288 1.7117 1.8512 1.4891 2.0330 1.7715 2.4614 2.2973 1.9001 1.4533 1.9941 1.8428 p 0.91717 0.87265 0.93692 0.83137 0.93944 0.8015 0.9965 0.47898 0.8939 0.01288 0.08257 0.72656 0.99805 0.55284 0.81298 Crossover rate in the range [0.8,0.89] Conclusion Run dw p Do not reject H0 16 1.8428 0.81298 Do not reject H0 17 1.6992 0.94664 Do not reject H0 18 2.0926 0.3607 Do not reject H0 19 2.1399 0.27606 Do not reject H0 20 1.7589 0.90508 Do not reject H0 21 1.5988 0.98326 Do not reject H0 22 1.8855 0.75022 Do not reject H0 23 1.8105 0.85339 Do not reject H0 24 2.0313 0.47895 Do not reject H0 25 2.2302 0.14716 Do not reject H0 26 1.6250 0.97681 Do not reject H0 27 1.9246 0.6844 Do not reject H0 28 2.0435 0.4575 Do not reject H0 29 2.4223 0.02131 Do not reject H0 30 1.6988 0.94688 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

284

Table 10.100: Durbin-Watson test of the crossover rate in the range [0.9,0.99].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.9700 1.7083 1.7581 2.1214 1.7475 2.0643 1.4563 2.2177 2.1445 1.5818 2.2173 1.7574 2.1059 1.7815 1.9115 p 0.59997 0.94143 0.90577 0.30791 0.91444 0.41554 0.99795 0.16218 0.26844 0.98659 0.16268 0.90636 0.33589 0.88437 0.70716 Crossover rate in the range [0.9,0.99] Conclusion Run dw p Do not reject H0 16 1.9115 0.70716 Do not reject H0 17 2.2387 0.13753 Do not reject H0 18 1.7484 0.91373 Do not reject H0 19 2.0474 0.44945 Do not reject H0 20 1.4939 0.99622 Do not reject H0 21 1.8862 0.74907 Do not reject H0 22 1.9874 0.56607 Do not reject H0 23 1.9852 0.57038 Do not reject H0 24 1.9959 0.54933 Do not reject H0 25 2.1496 0.25995 Do not reject H0 26 1.8729 0.7698 Do not reject H0 27 2.0149 0.51157 Do not reject H0 28 1.9331 0.66906 Do not reject H0 29 1.7025 0.9448 Do not reject H0 30 2.017 0.50742 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.101: Durbin-Watson test of the population size in the range [20,40].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 0.85847 1.1252 1.1438 1.2074 1.6424 0.95813 1.2443 1.0801 1.3039 0.79873 1.2829 1.7389 1.2475 1.0224 1.8779 p 1 1 1 0.99999 0.97146 1 0.99997 1 0.99989 1 0.99993 0.92101 0.99997 1 0.76215 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [20,40] Run dw p 16 1.8779 0.76215 17 1.1544 1 18 1.7977 0.86769 19 1.6969 0.9479 20 0.87244 1 21 1.3376 0.99977 22 1.0582 1 23 0.90157 1 24 1.5342 0.99307 25 0.68786 1 26 0.9646 1 27 1.366 0.9996 28 1.3291 0.9998 29 1.3384 0.99977 30 1.5493 0.9914 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

285

Table 10.102: Durbin-Watson test of the population size in the range [41,60].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.6344 1.9781 1.7421 1.9717 1.2482 1.5608 1.3789 1.5378 1.6135 1.7561 1.4324 2.1001 2.0243 1.1289 1.4780 p 0.97404 0.58421 0.91866 0.59661 0.99997 0.9899 0.99949 0.9927 0.97987 0.90742 0.99863 0.34666 0.49281 1 0.99707 Population size in the range [41,60] Conclusion Run dw p Do not reject H0 16 1.4780 0.99707 Do not reject H0 17 1.3563 0.99967 Do not reject H0 18 1.4475 0.99823 Do not reject H0 19 1.4529 0.99806 Do not reject H0 20 1.7406 0.91974 Do not reject H0 21 1.5328 0.9932 Do not reject H0 22 1.6751 0.95871 Do not reject H0 23 1.9228 0.68752 Do not reject H0 24 1.4908 0.9964 Do not reject H0 25 1.8309 0.8287 Do not reject H0 26 1.8488 0.80484 Do not reject H0 27 1.0425 1 Do not reject H0 28 1.5501 0.9913 Do not reject H0 29 1.5320 0.99328 Do not reject H0 30 0.99795 1 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.103: Durbin-Watson test of the population size in the range [61,80].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.7491 1.9816 1.5871 1.7651 2.2474 1.0225 1.3709 2.1183 1.9758 1.5924 1.5084 1.8653 2.0959 1.7694 1.6075 p 0.91315 0.5774 0.98561 0.89969 0.12809 1 0.99956 0.31344 0.5887 0.9846 0.99528 0.78126 0.35451 0.89584 0.9813 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [61,80] Run dw p 16 1.6075 0.9813 17 1.9200 0.69253 18 1.6167 0.97906 19 1.5029 0.99566 20 1.7675 0.89752 21 1.7781 0.88768 22 2.0097 0.52198 23 1.8574 0.7928 24 1.9234 0.6865 25 1.7226 0.93252 26 1.9927 0.55556 27 1.7116 0.93947 28 1.5832 0.98633 29 1.7937 0.87192 30 1.6745 0.95897 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

286

Table 10.104: Durbin-Watson test of the population size in the range [81,100].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.4040 1.3409 1.3725 1.3586 2.1047 1.1632 1.6843 1.9289 1.3706 1.3649 1.8094 2.0996 1.3401 1.1019 1.6143 p 0.99918 0.99976 0.99955 0.99965 0.33809 1 0.9544 0.67657 0.99956 0.9996 0.85465 0.34747 0.99976 1 0.97966 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 the range [81,100] Run dw p 16 1.6143 0.97966 17 1.2464 0.99997 18 1.7035 0.94422 19 1.7344 0.92433 20 1.1552 1 21 1.3824 0.99945 22 1.5732 0.98805 23 1.6289 0.9757 24 1.5274 0.99372 25 1.5016 0.99574 26 1.3078 0.99988 27 1.1079 1 28 1.2737 0.99994 29 1.4984 0.99595 30 1.2362 0.99998 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.105: Durbin-Watson test of the mating pool size in the range [0.1,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.3818 1.7506 1.8652 2.0963 1.7908 2.0486 1.6654 2.0952 2.0859 2.1856 2.1343 1.7385 1.7546 2.2069 2.4908 Mating pool size in the range [0.1,0.249] p Conclusion Run dw p 0.99946 Do not reject H0 16 2.4908 0.00858 0.91194 Do not reject H0 17 1.847 0.80734 0.78134 Do not reject H0 18 1.7571 0.90664 0.35364 Do not reject H0 19 1.7559 0.90759 0.87503 Do not reject H0 20 1.6900 0.95155 0.447 Do not reject H0 21 1.6787 0.95704 0.96288 Do not reject H0 22 1.7455 0.91602 0.35579 Do not reject H0 23 2.3767 0.03651 0.37345 Do not reject H0 24 1.8738 0.76853 0.20493 Do not reject H0 25 2.0791 0.38647 0.28558 Do not reject H0 26 2.0835 0.37802 0.92134 Do not reject H0 27 2.0972 0.35201 0.90874 Do not reject H0 28 1.8787 0.76099 0.17588 Do not reject H0 29 2.0029 0.53541 0.00858 Reject H0 30 2.2356 0.14093 Conclusion Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

287

Table 10.106: Durbin-Watson test of the mating pool size in the range [0.25,0.39].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.4057 1.9768 1.6182 2.1292 1.9294 2.1325 2.1227 2.1568 1.8425 1.9534 2.0471 1.8234 1.687 2.3027 2.0579 Mating pool size in the range [0.25,0.39] p Conclusion Run dw p 0.99915 Do not reject H0 16 2.0579 0.42825 0.5867 Do not reject H0 17 1.8516 0.80096 0.97865 Do not reject H0 18 1.7223 0.93266 0.29426 Do not reject H0 19 1.8350 0.82341 0.67577 Do not reject H0 20 2.0182 0.50491 0.28861 Do not reject H0 21 1.8054 0.85924 0.30563 Do not reject H0 22 1.8763 0.76466 0.24832 Do not reject H0 23 1.6862 0.95346 0.81344 Do not reject H0 24 1.7005 0.94593 0.63149 Do not reject H0 25 1.9052 0.71794 0.45016 Do not reject H0 26 1.9398 0.65689 0.83807 Do not reject H0 27 1.6316 0.97488 0.95305 Do not reject H0 28 1.9468 0.644 0.07848 Do not reject H0 29 1.4701 0.99742 0.42825 Do not reject H0 30 2.4752 0.01067 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.107: Durbin-Watson test of the mating pool size in the range [0.4,0.549].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 2.266 1.9997 1.9354 1.8797 2.0321 1.9521 1.9337 1.6688 1.9431 2.1315 1.8053 2.1925 1.9324 2.2627 1.4987 Mating pool size in the range [0.4,0.549] p Conclusion Run dw p 0.10944 Do not reject H0 16 1.4987 0.99593 0.54181 Do not reject H0 17 1.5913 0.9848 0.66495 Do not reject H0 18 2.0135 0.51445 0.75943 Do not reject H0 19 2.0317 0.48168 0.48098 Do not reject H0 20 1.8626 0.78522 0.63394 Do not reject H0 21 1.7605 0.90374 0.66799 Do not reject H0 22 1.9105 0.70895 0.96147 Do not reject H0 23 1.8156 0.84751 0.65083 Do not reject H0 24 1.9576 0.62365 0.29024 Do not reject H0 25 1.7806 0.88526 0.85937 Do not reject H0 26 1.9785 0.58352 0.19517 Do not reject H0 27 1.6742 0.95912 0.67042 Do not reject H0 28 2.0457 0.45287 0.1126 Do not reject H0 29 1.9637 0.61211 0.99593 Do not reject H0 30 2.2715 0.10433 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

288

Table 10.108: Durbin-Watson test of the mating pool size in the range [0.55,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dw 1.797 2.2495 1.7901 2.0588 1.6265 2.011 1.7639 2.0227 1.8874 2.5455 2.0465 1.7187 2.3088 1.9722 1.4578 Mating pool size in the range [0.55,0.69] p Conclusion Run dw p 0.86848 Do not reject H0 16 1.4578 0.9979 0.12590 Do not reject H0 17 1.5671 0.98899 0.87575 Do not reject H0 18 1.8211 0.84088 0.4265 Do not reject H0 19 2.0743 0.39586 0.97638 Do not reject H0 20 1.9839 0.57284 0.51937 Do not reject H0 21 1.9459 0.64569 0.9008 Do not reject H0 22 2.1061 0.33548 0.49605 Do not reject H0 23 1.7489 0.91337 0.74725 Do not reject H0 24 2.1035 0.3404 0.00378 Reject H0 25 1.4097 0.99909 0.45119 Do not reject H0 26 1.5745 0.98783 0.935 Do not reject H0 27 1.9567 0.62538 0.07403 Do not reject H0 28 2.1062 0.33525 0.59569 Do not reject H0 29 1.6541 0.96733 0.9979 Do not reject H0 30 2.0621 0.41985 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Homoscedasticity
Table 10.109: Breusch-Pagan test of the mutation rate in the range [0.001,0.1249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.33095 2.9345 12.562 0.551 1.0080 0.07447 0.61306 0.27768 0.32785 2.1687 0.18596 3.9921 0.21440 4.0691 0.17138 Mutation rate in the p Conclusion 0.5651 Do not reject H0 0.08670 Do not reject H0 0.00039 Reject H0 0.45791 Do not reject H0 0.31539 Do not reject H0 0.78493 Do not reject H0 0.43364 Do not reject H0 0.59823 Do not reject H0 0.56693 Do not reject H0 0.14084 Do not reject H0 0.6663 Do not reject H0 0.05571 Do not reject H0 0.64334 Do not reject H0 0.05116 Do not reject H0 0.67889 Do not reject H0 range Run 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [0.001,0.1249] bp p 0.17138 0.67889 0.02282 0.8799 1.9424 0.16340 2.0232 0.15491 2.0443 0.15278 2.1561 0.14201 4.8403 0.02780 1.9151 0.1664 16.374 5.1e-05 3.0306 0.08170 0.02356 0.878 1.0966 0.29502 1.1531 0.2829 0.38433 0.5353 0.10605 0.74468 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

289

Table 10.110: Breusch-Pagan test of the mutation rate in the range [0.125,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 3.4148 1.7e-05 4.7201 2.3077 0.86845 1.6407 3.4598 1.4943 6.6148 5.7708 0.47308 3.2846 3.6361 3.6366 12.927 Mutation rate in the range p Conclusion Run 0.06461 Do not reject H0 16 0.9967 Do not reject H0 17 0.02981 Reject H0 18 0.12873 Do not reject H0 19 0.35138 Do not reject H0 20 0.20022 Do not reject H0 21 0.05070 Do not reject H0 22 0.22155 Do not reject H0 23 0.01011 Reject H0 24 0.01629 Reject H0 25 0.50158 Do not reject H0 26 0.05045 Do not reject H0 27 0.05654 Do not reject H0 28 0.05652 Do not reject H0 29 0.00032 Reject H0 30 [0.125,0.249] bp p 1.9827 0.15910 0.46257 0.50642 5.0856 0.02412 0.17848 0.67268 0.53763 0.50342 3.9163 0.05078 0.37360 0.54105 0.43841 0.50789 2.0777 0.14947 2.1944 0.13852 0.97285 0.50934 3.0923 0.05307 5.1412 0.02336 2.4093 0.12062 1.2210 0.26916 Conclusion Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.111: Breusch-Pagan test of the mutation rate in the range [0.25,0.3749].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 3.1496 0.11566 1.0313 0.04405 1.9229 1.0770 1.1904 6.1821 7.2811 2.7285 2.8482 0.26921 1.9483 3.1429 1.2142 Mutation rate in the range p Conclusion Run 0.07594 Do not reject H0 16 0.73379 Do not reject H0 17 0.30985 Do not reject H0 18 0.83375 Do not reject H0 19 0.16554 Do not reject H0 20 0.29936 Do not reject H0 21 0.27525 Do not reject H0 22 0.01290 Reject H0 23 0.00696 Reject H0 24 0.09857 Do not reject H0 25 0.09147 Do not reject H0 26 0.60386 Do not reject H0 27 0.16277 Do not reject H0 28 0.07625 Do not reject H0 29 0.27049 Do not reject H0 30 [0.25,0.3749] bp p 1.2142 0.27049 0.02687 0.86978 6.0752 0.01370 3.0092 0.08279 2.7418 0.09775 2.4739 0.11575 0.57037 0.45011 8.1e-10 0.99998 0.51014 0.47508 1.9484 0.16276 0.46503 0.49528 1.9782 0.15958 2.3217 0.12758 3.9275 0.05075 1.2418 0.26513 Conclusion Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

290

Table 10.112: Breusch-Pagan test of the mutation rate in the range [0.375,0.49].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.99712 0.12803 7.0107 5.659 0.00235 1.1522 0.49162 5.2075 3.9445 2.131 0.43679 1.4412 1.681 0.3652 1.2647 Mutation rate in the range [0.375,0.49] p Conclusion Run bp p 0.31801 Do not reject H0 16 2.4284 0.11916 0.72048 Do not reject H0 17 4.1032 0.05080 0.00810 Reject H0 18 0.80054 0.37093 0.01736 Reject H0 19 7.8885 0.00497 0.96133 Do not reject H0 20 2.8435 0.09174 0.2831 Do not reject H0 21 0.22359 0.63632 0.48321 Do not reject H0 22 0.26283 0.60818 0.02248 Reject H0 23 2.0468 0.15253 0.05002 Do not reject H0 24 1.2894 0.25616 0.14435 Do not reject H0 25 0.21419 0.6435 0.50868 Do not reject H0 26 3.3481 0.06728 0.22994 Do not reject H0 27 2.7221 0.09896 0.19479 Do not reject H0 28 0.46896 0.49347 0.54563 Do not reject H0 29 0.36212 0.54733 0.26077 Do not reject H0 30 2.2245 0.13584 Conclusion Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.113: Breusch-Pagan test of the crossover rate in the range [0.6,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.00461 3.3397 2.9071 7.8554 0.93391 3.3007 0.12494 2.7409 1.3689 1.2345 0.3883 0.08214 2.6225 2.2468 0.61822 p 0.94583 0.06762 0.08818 0.00506 0.33385 0.06925 0.72374 0.09780 0.24200 0.26653 0.5332 0.77441 0.10536 0.13389 0.43171 Crossover rate in the range [0.6,0.69] Conclusion Run bp p Do not reject H0 16 0.61822 0.43171 Do not reject H0 17 2.7692 0.09609 Do not reject H0 18 8.3102 0.00394 Reject H0 19 6.1718 0.01298 Do not reject H0 20 0.05567 0.81347 Do not reject H0 21 1.135 0.28671 Do not reject H0 22 6.4376 0.01117 Do not reject H0 23 0.95908 0.32742 Do not reject H0 24 7.3591 0.00667 Do not reject H0 25 3.1812 0.05087 Do not reject H0 26 0.97973 0.32227 Do not reject H0 27 0.07120 0.7896 Do not reject H0 28 0.12455 0.72415 Do not reject H0 29 1.5511 0.21297 Do not reject H0 30 3.778 0.05193 Conclusion Do not reject Do not reject Reject H0 Reject H0 Do not reject Do not reject Reject H0 Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0

H0 H0 H0 H0 H0 H0 H0 H0 H0

291

Table 10.114: Breusch-Pagan test of the crossover rate in the range [0.7,0.79].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 1.2912 3.0309 8.9167 0.5981 2.1275 3.5748 0.7151 5.2768 1.6624 3.3468 0.83685 1.4298 1.2314 0.0216 0.0005 p 0.25582 0.08169 0.00282 0.4393 0.14468 0.05866 0.39775 0.02161 0.19727 0.05696 0.3603 0.2318 0.26714 0.88295 0.9821 Crossover rate in the range [0.7,0.79] Conclusion Run bp p Do not reject H0 16 0.00050 0.9821 Do not reject H0 17 0.74235 0.38891 Reject H0 18 3.6501 0.05606 Do not reject H0 19 0.17174 0.67857 Do not reject H0 20 2.0754 0.14969 Do not reject H0 21 0.99047 0.31963 Do not reject H0 22 1.4899 0.22223 Do not reject H0 23 3.6076 0.05183 Do not reject H0 24 0.05544 0.81385 Do not reject H0 25 0.16882 0.68117 Do not reject H0 26 1.4545 0.22781 Do not reject H0 27 0.04927 0.82433 Do not reject H0 28 7.0884 0.00775 Do not reject H0 29 6.7651 0.00929 Do not reject H0 30 3.8891 0.0567 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Reject H0 Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

H0

Table 10.115: Breusch-Pagan test of the crossover rate in the range [0.8,0.89].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 1.2838 0.67711 1.9104 0.69136 0.74351 0.86622 0.02054 3.7162 6.2422 0.10895 1.9592 8.4872 2.5447 7.0029 1.6636 p 0.2572 0.41058 0.16692 0.4057 0.38854 0.352 0.88603 0.05987 0.01247 0.74134 0.16160 0.00357 0.11066 0.00813 0.19712 Crossover rate in the range [0.8,0.89] Conclusion Run bp p Do not reject H0 16 1.6636 0.19712 Do not reject H0 17 2.4668 0.11628 Do not reject H0 18 3.2012 0.05039 Do not reject H0 19 0.60476 0.43677 Do not reject H0 20 4.7185 0.02983 Do not reject H0 21 8.9148 0.00282 Do not reject H0 22 2.1581 0.14182 Do not reject H0 23 8.7644 0.00307 Reject H0 24 2.4877 0.11474 Do not reject H0 25 2.8555 0.09106 Do not reject H0 26 0.33797 0.561 Reject H0 27 3.2845 0.05846 Do not reject H0 28 2.4143 0.12023 Reject H0 29 0.60476 0.43677 Do not reject H0 30 0.87073 0.35075 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

292

Table 10.116: Breusch-Pagan test of the crossover rate in the range [0.9,0.99].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 2.3036 0.29182 0.28122 3.1161 3.0036 1.8998 0.06227 6.5796 0.44857 1.6362 3.5483 2.4204 2.8456 3.7889 8.015 p 0.12908 0.58905 0.5959 0.05247 0.08308 0.16810 0.80294 0.01031 0.50301 0.20085 0.05960 0.11976 0.09162 0.05864 0.00463 Crossover rate in the range [0.9,0.99] Conclusion Run bp p Do not reject H0 16 8.015 0.00463 Do not reject H0 17 7.5958 0.00585 Do not reject H0 18 1.7266 0.18885 Do not reject H0 19 1.7054 0.19158 Do not reject H0 20 0.26785 0.60478 Do not reject H0 21 0.93363 0.33392 Do not reject H0 22 0.00012 0.9911 Reject H0 23 1.5673 0.2106 Do not reject H0 24 10.165 0.00143 Do not reject H0 25 2.0716 0.15006 Do not reject H0 26 1.1242 0.28901 Do not reject H0 27 1.5326 0.21573 Do not reject H0 28 3.5067 0.05894 Do not reject H0 29 0.96773 0.32525 Reject H0 30 0.03033 0.86173 Conclusion Reject H0 Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.117: Breusch-Pagan test of the population size in the range [20,40].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 17.872 6.5991 17.785 1.3291 0.46919 4.6647 7.5714 0.06502 2.1037 13.013 11.253 0.21539 4.4313 8.124 1.0276 p 2.3e-05 0.01020 2.4e-05 0.24896 0.49336 0.03078 0.00593 0.79872 0.14695 0.00030 0.00079 0.64258 0.03528 0.00436 0.31072 Population size in Conclusion Reject H0 Reject H0 Reject H0 Do not reject H0 Do not reject H0 Reject H0 Reject H0 Do not reject H0 Do not reject H0 Reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Do not reject H0 the range [20,40] Run bp p 16 13.623 0.00022 17 1.3639 0.24287 18 2.3354 0.12647 19 13.021 0.00030 20 10.549 0.00116 21 3.1957 0.07383 22 10.903 0.00096 23 11.977 0.00053 24 13.781 0.00020 25 3.5618 0.05912 26 0.88074 0.348 27 0.72967 0.39299 28 4.3007 0.03809 29 6.9842 0.00822 30 4.7852 0.02870 Conclusion Reject H0 Do not reject Do not reject Reject H0 Reject H0 Do not reject Reject H0 Reject H0 Reject H0 Do not reject Do not reject Do not reject Reject H0 Reject H0 Reject H0

H0 H0

H0

H0 H0 H0

293

Table 10.118: Breusch-Pagan test of the population size in the range [41,60].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 17.872 6.5991 17.785 1.3291 0.46919 4.6647 7.5714 0.06502 2.1037 13.013 11.253 0.21539 4.4313 8.124 3.3926 p 2.3e-05 0.01020 2.4e-05 0.24896 0.49336 0.03078 0.00593 0.79872 0.14695 0.00030 0.00079 0.64258 0.03528 0.0043682 0.06548 Population size in Conclusion Reject H0 Reject H0 Reject H0 Do not reject H0 Do not reject H0 Reject H0 Reject H0 Do not reject H0 Do not reject H0 Reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Do not reject H0 the range [41,60] Run bp p 16 13.623 0.00022 17 1.3639 0.24287 18 2.3354 0.12647 19 13.021 0.00030 20 10.549 0.00116 21 3.1957 0.07383 22 10.903 0.00096 23 11.977 0.00053 24 13.781 0.00020 25 3.5618 0.05912 26 0.88074 0.348 27 0.72967 0.39299 28 4.3007 0.03809 29 6.9842 0.00822 30 13.716 0.00021 Conclusion Reject H0 Do not reject Do not reject Reject H0 Reject H0 Do not reject Reject H0 Reject H0 Reject H0 Do not reject Do not reject Do not reject Reject H0 Reject H0 Reject H0

H0 H0

H0

H0 H0 H0

Table 10.119: Breusch-Pagan test of the population size in the range [61,80].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 4.2e-05 1.7587 0.0012 9.988 2.9940 7.1645 4.0835 4.3887 6.5346 4.0481 2.7712 1.2687 1.0195 1.3742 5.7596 p 0.99483 0.18479 0.97163 0.00157 0.08357 0.00743 0.05030 0.03617 0.01058 0.05022 0.09597 0.26002 0.31263 0.24110 0.01639 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Reject H0 the range [61,80] Run bp p 16 5.7596 0.01639 17 10.573 0.00114 18 5.6065 0.01789 19 0.94935 0.32989 20 5.3801 0.02036 21 1.5311 0.21595 22 0.41154 0.52119 23 4.2231 0.03987 24 3.9058 0.05012 25 14.533 0.00013 26 1.4732 0.22484 27 0.09639 0.7562 28 13.735 0.00021 29 4.5118 0.03366 30 3.2492 0.07145 Conclusion Reject H0 Reject H0 Reject H0 Do not reject Reject H0 Do not reject Do not reject Reject H0 Do not reject Reject H0 Do not reject Do not reject Reject H0 Reject H0 Do not reject

H0 H0 H0 H0 H0 H0

H0

294

Table 10.120: Breusch-Pagan test of the population size in the range [81,100].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 3.4257 0.00466 2.6391 8.566 0.28128 4.1544 0.47661 6.5258 7.4832 5.4566 0.11447 0.64132 7.1744 9.4299 7.5629 p 0.06419 0.94555 0.10426 0.00342 0.59587 0.04152 0.48996 0.01063 0.00622 0.01949 0.73511 0.42323 0.00739 0.00213 0.00595 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Reject H0 Do not reject H0 Do not reject H0 Reject H0 Reject H0 Reject H0 the range [81,100] Run bp p 16 7.5629 0.00595 17 8.0127 0.00464 18 2.8465 0.09157 19 2.4367 0.11852 20 1.8193 0.17739 21 3.7925 0.05148 22 2.6453 0.10386 23 0.81495 0.36666 24 7.4898 0.00620 25 0.43339 0.51033 26 2.0399 0.15321 27 1.4928 0.22178 28 4.9099 0.02670 29 5.885 0.01527 30 6.7616 0.00931 Conclusion Reject H0 Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Reject H0 Reject H0 Reject H0

H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.121: Breusch-Pagan test of the mating pool size in the range [0.1,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.94497 1.9533 0.29747 1.702 3.0305 3.2763 1.0648 0.33393 1.3193 2.576 2.9878 5.9055 0.37783 5.1845 3.6802 Mating pool size in the range [0.1,0.249] p Conclusion Run bp p 0.331 Do not reject H0 16 3.6802 0.05506 0.16224 Do not reject H0 17 6.3022 0.01205 0.58547 Do not reject H0 18 5.0454 0.02469 0.19203 Do not reject H0 19 6.8769 0.00873 0.08171 Do not reject H0 20 0.06177 0.80372 0.05161 Do not reject H0 21 0.44423 0.50509 0.30212 Do not reject H0 22 1.2547 0.26266 0.56336 Do not reject H0 23 1.4983 0.22093 0.25071 Do not reject H0 24 0.07125 0.78951 0.10849 Do not reject H0 25 10.053 0.00152 0.08389 Do not reject H0 26 3.8477 0.05768 0.01509 Reject H0 27 3.4326 0.06392 0.53877 Do not reject H0 28 4.2561 0.03910 0.02278 Reject H0 29 1.6333 0.20125 0.05506 Do not reject H0 30 3.4414 0.06358 Conclusion Do not reject Reject H0 Reject H0 Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject

H0

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

295

Table 10.122: Breusch-Pagan test of the mating pool size in the range [0.25,0.39].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.16064 0.61267 1.7597 2.1424 6.9687 4.0187 2.3033 2.1495 2.8412 3.4227 1.5518 2.7696 4.0049 5.9114 0.03851 Mating pool size in the range [0.25,0.39] p Conclusion Run bp p 0.68857 Do not reject H0 16 0.03851 0.84442 0.43378 Do not reject H0 17 1.9837 0.159 0.18466 Do not reject H0 18 5.7061 0.01690 0.14328 Do not reject H0 19 8.4065 0.00373 0.00829 Reject H0 20 0.38148 0.53681 0.05041 Do not reject H0 21 1.9213 0.16572 0.1291 Do not reject H0 22 6.614 0.01011 0.14262 Do not reject H0 23 2.869 0.09030 0.09187 Do not reject H0 24 1.1804 0.27727 0.06430 Do not reject H0 25 0.03290 0.85605 0.21287 Do not reject H0 26 1.0603 0.30315 0.09606 Do not reject H0 27 0.79586 0.37233 0.05054 Do not reject H0 28 5.5935 0.01802 0.01504 Do not reject H0 29 2.0676 0.15046 0.84442 Do not reject H0 30 2.8006 0.09423 Conclusion Do not reject Do not reject Reject H0 Reject H0 Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject

H0 H0

H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.123: Breusch-Pagan test of the mating pool size in the range [0.4,0.549].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 2.5112 3.3009 3.8286 3.1558 1.2924 1.8737 0.40191 7.9917 3.6773 8.388 0.16582 6.6838 1.0222 3.3087 6.0337 Mating pool size in the range [0.4,0.549] p Conclusion Run bp p 0.11304 Do not reject H0 16 0.37360 0.54105 0.06924 Do not reject H0 17 3.1480 0.05016 0.05038 Do not reject H0 18 0.51974 0.47095 0.07565 Do not reject H0 19 6.0653 0.01378 0.25561 Do not reject H0 20 1.2846 0.25704 0.17105 Do not reject H0 21 1.4404 0.23008 0.5261 Do not reject H0 22 2.0777 0.14946 0.00469 Reject H0 23 2.4709 0.11597 0.05515 Do not reject H0 24 1.1329 0.28715 0.00377 Reject H0 25 1.2971 0.25475 0.68386 Do not reject H0 26 3.6744 0.05525 0.00972 Reject H0 27 13.804 0.00020 0.31201 Do not reject H0 28 0.39939 0.52741 0.06891 Do not reject H0 29 1.6912 0.19344 0.01403 Do not reject H0 30 6.2603 0.01234 Conclusion Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Reject H0

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

296

Table 10.124: Breusch-Pagan test of the mating pool size in the range [0.55,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bp 0.94497 4.0079 0.73228 4.0048 4.5011 5.3092 0.43849 4.33 2.1024 5.7217 2.9108 0.04263 3.0071 2.595 9.0625 Mating pool size in the range [0.55,0.69] p Conclusion Run bp p 0.331 Do not reject H0 16 9.0625 0.00260 0.05096 Do not reject H0 17 3.2826 0.07001 0.39215 Do not reject H0 18 1.2178 0.26979 0.05035 Do not reject H0 19 0.03222 0.85753 0.03387 Reject H0 20 3.7364 0.05323 0.02121 Reject H0 21 3.848 0.05080 0.50785 Do not reject H0 22 0.41478 0.51955 0.03744 Reject H0 23 0.33627 0.56199 0.14707 Do not reject H0 24 0.09525 0.7576 0.01675 Reject H0 25 0.15222 0.69642 0.08798 Do not reject H0 26 0.00279 0.95782 0.83642 Do not reject H0 27 0.01523 0.90176 0.0829 Do not reject H0 28 4.5426 0.03306 0.10720 Do not reject H0 29 0.40207 0.52602 0.00260 Reject H0 30 3.2051 0.07341 Conclusion Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Stationarity
Table 10.125: KPSS test of the mutation rate in the range [0.001,0.1249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.16265 0.08724 0.09788 0.05469 0.04446 0.11654 0.07631 0.15647 0.04593 0.04818 0.04571 0.02902 0.21138 0.23021 0.04003 Mutation rate in the p Conclusion 0.03612 Reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 0.05027 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 > 0.1 Do not reject H0 0.01173 Reject H0 0.01 Reject H0 > 0.1 Do not reject H0 range Run 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [0.001,0.1249] kpss p 0.04003 > 0.1 0.02661 > 0.1 0.13144 0.07697 0.04268 > 0.1 0.28369 0.01 0.04845 > 0.1 0.06317 > 0.1 0.05084 > 0.1 0.06225 > 0.1 0.04310 > 0.1 0.15152 0.05039 0.16983 0.03014 0.14833 0.05080 0.31377 0.01 0.02501 > 0.1 Conclusion Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Reject H0 Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

297

Table 10.126: KPSS test of the mutation rate in the range [0.125,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.15234 0.12590 0.25007 0.08747 0.21131 0.18672 0.33137 0.20675 0.08616 0.05749 0.10896 0.17637 0.12405 0.10322 0.1312 Mutation rate in the range p Conclusion Run 0.05047 Do not reject H0 16 0.08721 Do not reject H0 17 0.01 Reject H0 18 > 0.1 Do not reject H0 19 0.01175 Reject H0 20 0.02098 Reject H0 21 0.01 Reject H0 22 0.01346 Reject H0 23 > 0.1 Do not reject H0 24 > 0.1 Do not reject H0 25 > 0.1 Do not reject H0 26 0.02486 Reject H0 27 0.09065 Do not reject H0 28 > 0.1 Do not reject H0 29 0.07740 Do not reject H0 30 [0.125,0.249] kpss p 0.1312 0.07740 0.13924 0.06251 0.04548 > 0.1 0.15003 0.05030 0.18483 0.02168 0.17934 0.02374 0.05205 > 0.1 0.07664 > 0.1 0.18604 0.02123 0.10257 > 0.1 0.20818 0.01293 0.13447 0.07135 0.14415 0.05342 0.21711 0.01 0.08919 > 0.1 Conclusion Do not reject Do not reject Do not reject Do not reject Reject H0 Reject H0 Do not reject Do not reject Reject H0 Do not reject Reject H0 Do not reject Do not reject Reject H0 Do not reject

H0 H0 H0 H0

H0 H0 H0 H0 H0 H0

Table 10.127: KPSS test of the mutation rate in the range [0.25,0.3749].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.07288 0.08451 0.10637 0.18965 0.06851 0.05077 0.12550 0.10337 0.23276 0.04087 0.05237 0.10060 0.07378 0.12661 0.11866 Mutation rate in the range p Conclusion Run > 0.1 Do not reject H0 16 > 0.1 Do not reject H0 17 > 0.1 Do not reject H0 18 0.01988 Reject H0 19 > 0.1 Do not reject H0 20 > 0.1 Do not reject H0 21 0.08795 Do not reject H0 22 > 0.1 Do not reject H0 23 0.01 Reject H0 24 > 0.1 Do not reject H0 25 > 0.1 Do not reject H0 26 > 0.1 Do not reject H0 27 > 0.1 Do not reject H0 28 0.08589 Do not reject H0 29 > 0.1 Do not reject H0 30 [0.25,0.3749] kpss p 0.11866 > 0.1 0.05941 > 0.1 0.13056 0.05786 0.21891 0.01 0.10131 > 0.1 0.20526 0.01402 0.12394 0.09085 0.35168 0.01 0.09973 > 0.1 0.12554 0.08788 0.03901 > 0.1 0.03994 > 0.1 0.15151 0.05040 0.13577 0.06894 0.07106 > 0.1 Conclusion Do not reject Do not reject Do not reject Reject H0 Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

298

Table 10.128: KPSS test of the mutation rate in the range [0.375,0.49].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.16802 0.13072 0.12227 0.07440 0.34922 0.15589 0.09730 0.14151 0.04277 0.18418 0.08939 0.12949 0.21166 0.13796 0.07922 Mutation rate in the range p Conclusion Run 0.031648 Reject H0 16 0.0783 Do not reject H0 17 0.09395 Do not reject H0 18 > 0.1 Do not reject H0 19 0.01 Reject H0 20 0.0503424 Do not reject H0 21 > 0.1 Do not reject H0 22 0.058307 Do not reject H0 23 > 0.1 Do not reject H0 24 0.021934 Reject H0 25 > 0.1 Do not reject H0 26 0.080578 Do not reject H0 27 0.011629 Reject H0 28 0.064892 Do not reject H0 29 > 0.1 Do not reject H0 30 [0.375,0.49] kpss p 0.079227 > 0.1 0.24549 0.01 0.040092 > 0.1 0.11682 > 0.1 0.049547 > 0.1 0.12188 0.09467 0.15176 0.0502 0.20760 0.01315 0.050193 > 0.1 0.028706 > 0.1 0.14036 0.06044 0.15527 0.05022 0.038411 > 0.1 0.12029 0.09761 0.087629 > 0.1 Conclusion Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.129: KPSS test of the crossover rate in the range [0.6,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.10964 0.05626 0.05198 0.10722 0.09440 0.07109 0.04609 0.18120 0.08158 0.20176 0.09605 0.0917 0.08025 0.10697 0.07534 p 0.05697 > 0.1 > 0.1 0.05898 > 0.1 > 0.1 > 0.1 0.02305 > 0.1 0.01534 > 0.1 > 0.1 > 0.1 > 0.1 > 0.1 Crossover rate in the range [0.6,0.69] Conclusion Run kpss p Do not reject H0 16 0.07534 > 0.1 Do not reject H0 17 0.28315 0.01 Do not reject H0 18 0.23634 0.01 Do not reject H0 19 0.1858 0.02132 Do not reject H0 20 0.13713 0.06641 Do not reject H0 21 0.13459 0.07112 Do not reject H0 22 0.075262 > 0.1 Reject H0 23 0.19359 0.01840 Do not reject H0 24 0.09824 > 0.1 Reject H0 25 0.11519 > 0.1 Do not reject H0 26 0.080864 > 0.1 Do not reject H0 27 0.081877 > 0.1 Do not reject H0 28 0.10825 > 0.1 Do not reject H0 29 0.10111 > 0.1 Do not reject H0 30 0.036998 > 0.1 Conclusion Do not reject Reject H0 Reject H0 Reject H0 Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

299

Table 10.130: KPSS test of the crossover rate in the range [0.7,0.79].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.10802 0.11418 0.19353 0.43711 0.10149 0.08382 0.19621 0.03942 0.11491 0.05882 0.08223 0.10908 0.10986 0.18365 0.06333 p 0.05832 > 0.1 0.01842 0.01 0.05542 > 0.1 0.01742 > 0.1 > 0.1 > 0.1 > 0.1 0.05743 0.05011 0.02213 > 0.1 Crossover rate in the range [0.7,0.79] Conclusion Run kpss p Do not reject H0 16 0.06333 > 0.1 Do not reject H0 17 0.22928 0.01 Reject H0 18 0.10611 > 0.1 Reject H0 19 0.22043 0.01 Do not reject H0 20 0.10578 > 0.1 Do not reject H0 21 0.06789 > 0.1 Reject H0 22 0.06578 > 0.1 Do not reject H0 23 0.24472 0.01 Do not reject H0 24 0.03516 > 0.1 Do not reject H0 25 0.06774 > 0.1 Do not reject H0 26 0.14118 0.05893 Do not reject H0 27 0.17373 0.02689 Do not reject H0 28 0.07727 > 0.1 Reject H0 29 0.10298 > 0.1 Do not reject H0 30 0.09122 > 0.1 Conclusion Do not reject Reject H0 Do not reject Reject H0 Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.131: KPSS test of the crossover rate in the range [0.8,0.89].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.14148 0.12410 0.12907 0.1196 0.07163 0.03990 0.09896 0.08315 0.12020 0.10399 0.04341 0.05027 0.20166 0.08747 0.05749 p 0.05836 0.09055 0.08134 0.09889 > 0.1 > 0.1 > 0.1 > 0.1 0.09777 > 0.1 > 0.1 > 0.1 0.01537 > 0.1 > 0.1 Crossover rate in the range [0.8,0.89] Conclusion Run kpss p Do not reject H0 16 0.05749 > 0.1 Do not reject H0 17 0.13077 0.05602 Do not reject H0 18 0.06414 > 0.1 Do not reject H0 19 0.19833 0.01662 Do not reject H0 20 0.16055 0.03787 Do not reject H0 21 0.12190 0.09463 Do not reject H0 22 0.16194 0.03671 Do not reject H0 23 0.16188 0.03677 Do not reject H0 24 0.16917 0.03069 Do not reject H0 25 0.12172 0.09496 Do not reject H0 26 0.12296 0.09266 Do not reject H0 27 0.12866 0.08210 Reject H0 28 0.12033 0.09754 Do not reject H0 29 0.12097 0.09634 Do not reject H0 30 0.13894 0.06307 Conclusion Do not reject Do not reject Do not reject Reject H0 Reject H0 Do not reject Reject H0 Reject H0 Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0

H0

H0 H0 H0 H0 H0 H0

300

Table 10.132: KPSS test of the crossover rate in the range [0.9,0.99].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.07922 0.13823 0.14713 0.06111 0.11268 0.09993 0.14552 0.10397 0.05152 0.08416 0.21760 0.08742 0.08145 0.14319 0.02956 p > 0.1 0.06438 0.05072 > 0.1 > 0.1 > 0.1 0.05089 > 0.1 > 0.1 > 0.1 0.01 > 0.1 > 0.1 0.05520 > 0.1 Crossover rate in the range [0.9,0.99] Conclusion Run kpss p Do not reject H0 16 0.02956 > 0.1 Do not reject H0 17 0.08515 > 0.1 Do not reject H0 18 0.12719 0.08482 Do not reject H0 19 0.13002 0.07958 Do not reject H0 20 0.08427 > 0.1 Do not reject H0 21 0.05825 > 0.1 Do not reject H0 22 0.04363 > 0.1 Do not reject H0 23 0.12342 0.09182 Do not reject H0 24 0.13295 0.07416 Do not reject H0 25 0.03553 > 0.1 Reject H0 26 0.04902 > 0.1 Do not reject H0 27 0.19796 0.01676 Do not reject H0 28 0.04369 > 0.1 Do not reject H0 29 0.08917 > 0.1 Do not reject H0 30 0.07057 > 0.1 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.133: KPSS test of the population size in the range [20,40].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.30711 0.39549 0.23875 0.15338 0.33213 0.38826 0.09869 0.41719 0.29629 0.12031 0.38525 0.22160 0.44008 0.33700 0.26018 p 0.01 0.01 0.01 0.04385 0.01 0.01 > 0.1 0.01 0.01 0.09757 0.01 0.01 0.01 0.01 0.01 Population size in Conclusion Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 the range [20,40] Run kpss p 16 0.30209 0.01 17 0.57824 0.01 18 0.36562 0.01 19 0.46786 0.01 20 0.44741 0.01 21 0.34654 0.01 22 0.53479 0.01 23 0.32438 0.01 24 0.4927 0.01 25 0.33462 0.01 26 0.05351 > 0.1 27 0.41098 0.01 28 0.32131 0.01 29 0.40164 0.01 30 0.4663 0.01 Conclusion Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Reject H0 Reject H0

301

Table 10.134: KPSS test of the population size in the range [41,60].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.30455 0.22119 0.40016 0.41991 0.15633 0.11170 0.4449 0.1842 0.29323 0.27789 0.19337 0.42723 0.15972 0.28723 0.24526 Population size in the range [41,60] p Conclusion Run kpss 0.01 Reject H0 16 0.15020 0.01 Reject H0 17 0.23122 0.01 Reject H0 18 0.24446 0.01 Reject H0 19 0.26465 0.04139 Reject H0 20 0.27724 > 0.1 Do not reject H0 21 0.20618 0.01 Reject H0 22 0.24849 0.02192 Reject H0 23 0.1968 0.01 Reject H0 24 0.20926 0.01 Reject H0 25 0.28091 0.01848 Reject H0 26 0.49318 0.01 Reject H0 27 0.2475 0.03856 Reject H0 28 0.15443 0.01 Reject H0 29 0.17402 0.01 Reject H0 30 0.51235 p 0.04650 0.01 0.01 0.01 0.01 0.01368 0.01 0.0172 0.01252 0.01 0.01 0.01 0.04297 0.02665 0.01 Conclusion Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0

Table 10.135: KPSS test of the population size in the range [61,80].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.26521 0.08768 0.26671 0.28079 0.04504 0.14994 0.3865 0.12418 0.32584 0.21565 0.19197 0.23618 0.21779 0.24935 0.24856 p 0.01 > 0.1 0.01 0.01 > 0.1 0.05 0.01 0.09041 0.01 0.01013 0.01901 0.01 0.01 0.01 0.01 Population size in Conclusion Reject H0 Do not reject H0 Reject H0 Reject H0 Do not reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 the range [61,80] Run kpss p 16 0.24856 0.01 17 0.33024 0.01 18 0.32051 0.01 19 0.35646 0.01 20 0.1729 0.02758 21 0.34162 0.01 22 0.33052 0.01 23 0.26031 0.01 24 0.19790 0.01678 25 0.24326 0.01 26 0.44369 0.01 27 0.26786 0.01 28 0.14876 0.05070 29 0.45822 0.01 30 0.23207 0.01 Conclusion Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Do not reject H0 Reject H0 Reject H0

302

Table 10.136: KPSS test of the population size in the range [81,100].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.09473 0.07325 0.05209 0.16506 0.09920 0.14336 0.15152 0.07268 0.41516 0.10895 0.22944 0.09439 0.02800 0.24904 0.33264 p > 0.1 > 0.1 > 0.1 0.03411 > 0.1 0.05488 0.05039 > 0.1 0.01 > 0.1 0.01 > 0.1 > 0.1 0.01 0.01 Population size in Conclusion Do not reject H0 Do not reject H0 Do not reject H0 Reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Do not reject H0 Reject H0 Do not reject H0 Reject H0 Do not reject H0 Do not reject H0 Reject H0 Reject H0 the range [81,100] Run kpss p 16 0.33264 0.01 17 0.11081 > 0.1 18 0.16165 0.03695 19 0.18540 0.02147 20 0.22187 0.01 21 0.16693 0.03255 22 0.16353 0.03539 23 0.35409 0.01 24 0.07009 > 0.1 25 0.09275 > 0.1 26 0.23057 0.01 27 0.07456 > 0.1 28 0.17434 0.02638 29 0.20846 0.01282 30 0.15809 0.03992 Conclusion Reject H0 Do not reject Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Reject H0 Do not reject Do not reject Reject H0 Do not reject Reject H0 Reject H0 Reject H0

H0

H0 H0 H0

Table 10.137: KPSS test of the mating pool size in the range [0.1,0.249].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.18219 0.14344 0.10656 0.17943 0.40736 0.06891 0.08714 0.14332 0.21602 0.17306 0.20056 0.18733 0.24975 0.09285 0.06906 Mating pool size in the range [0.1,0.249] p Conclusion Run kpss p 0.02267 Reject H0 16 0.06906 > 0.1 0.05474 Do not reject H0 17 0.11387 > 0.1 > 0.1 Do not reject H0 18 0.11303 > 0.1 0.02371 Reject H0 19 0.1849 0.02166 0.01 Reject H0 20 0.19804 0.01673 > 0.1 Do not reject H0 21 0.11429 > 0.1 > 0.1 Do not reject H0 22 0.05808 > 0.1 0.05496 Do not reject H0 23 0.07322 > 0.1 0.01 Reject H0 24 0.14610 0.05091 0.02744 Reject H0 25 0.10310 > 0.1 0.01578 Reject H0 26 0.20386 0.01455 0.02075 Reject H0 27 0.08312 > 0.1 0.01 Reject H0 28 0.093 > 0.1 > 0.1 Do not reject H0 29 0.08282 > 0.1 > 0.1 Do not reject H0 30 0.14047 0.06023 Conclusion Do not reject Do not reject Do not reject Reject H0 Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject

H0 H0 H0

H0 H0 H0 H0 H0 H0 H0 H0 H0

303

Table 10.138: KPSS test of the mating pool size in the range [0.25,0.39].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.12811 0.07763 0.05558 0.09760 0.14169 0.09805 0.08948 0.05716 0.09062 0.06688 0.03402 0.13192 0.26866 0.05937 0.14372 Mating pool size in the range [0.25,0.39] p Conclusion Run kpss p 0.05024 Do not reject H0 16 0.14372 0.05422 > 0.1 Do not reject H0 17 0.05986 > 0.1 > 0.1 Do not reject H0 18 0.10652 > 0.1 > 0.1 Do not reject H0 19 0.05166 > 0.1 0.05798 Do not reject H0 20 0.08567 > 0.1 > 0.1 Do not reject H0 21 0.07759 > 0.1 > 0.1 Do not reject H0 22 0.09420 > 0.1 > 0.1 Do not reject H0 23 0.1263 0.08648 > 0.1 Do not reject H0 24 0.06055 > 0.1 > 0.1 Do not reject H0 25 0.05519 > 0.1 > 0.1 Do not reject H0 26 0.12354 0.09158 0.07608 Do not reject H0 27 0.13621 0.06813 0.01 Reject H0 28 0.13338 0.07336 > 0.1 Do not reject H0 29 0.12925 0.08101 0.05422 Do not reject H0 30 0.03435 > 0.1 Conclusion Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

Table 10.139: KPSS test of the mating pool size in the range [0.4,0.549].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.05436 0.27486 0.21100 0.23396 0.09685 0.03300 0.05396 0.21034 0.05131 0.12755 0.13333 0.26486 0.17062 0.07737 0.21438 Mating pool size in the range [0.4,0.549] p Conclusion Run kpss p > 0.1 Do not reject H0 16 0.21438 0.01060 0.01 Reject H0 17 0.14849 0.05092 0.01187 Reject H0 18 0.10645 > 0.1 0.01 Reject H0 19 0.12496 0.08896 > 0.1 Do not reject H0 20 0.07780 > 0.1 > 0.1 Do not reject H0 21 0.18583 0.02131 > 0.1 Do not reject H0 22 0.16346 0.03545 0.01212 Reject H0 23 0.08378 > 0.1 > 0.1 Do not reject H0 24 0.10665 > 0.1 0.08416 Do not reject H0 25 0.07154 > 0.1 0.07345 Do not reject H0 26 0.05245 > 0.1 0.01 Reject H0 27 0.13887 0.06319 0.02948 Reject H0 28 0.05559 > 0.1 > 0.1 Do not reject H0 29 0.03566 > 0.1 0.01060 Reject H0 30 0.10054 > 0.1 Conclusion Reject H0 Do not reject Do not reject Do not reject Do not reject Reject H0 Reject H0 Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0

H0 H0 H0 H0 H0 H0 H0 H0

304

Table 10.140: KPSS test of the mating pool size in the range [0.55,0.69].
Run 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kpss 0.16135 0.18514 0.08462 0.05979 0.08239 0.09574 0.08822 0.17311 0.12379 0.03703 0.16470 0.06117 0.03682 0.12978 0.10032 Mating pool size in the range [0.55,0.69] p Conclusion Run kpss p 0.03720 Reject H0 16 0.10032 > 0.1 0.02157 Reject H0 17 0.11569 > 0.1 > 0.1 Do not reject H0 18 0.04007 > 0.1 > 0.1 Do not reject H0 19 0.13181 0.07627 > 0.1 Do not reject H0 20 0.19672 0.01723 > 0.1 Do not reject H0 21 0.14414 0.05032 > 0.1 Do not reject H0 22 0.06138 > 0.1 0.02741 Reject H0 23 0.17689 0.02466 0.09113 Do not reject H0 24 0.07024 > 0.1 > 0.1 Do not reject H0 25 0.11718 > 0.1 0.03442 Reject H0 26 0.19053 0.01955 > 0.1 Do not reject H0 27 0.08621 > 0.1 > 0.1 Do not reject H0 28 0.12723 0.08475 0.08003 Do not reject H0 29 0.10173 > 0.1 > 0.1 Do not reject H0 30 0.15212 0.05049 Conclusion Do not reject Do not reject Do not reject Do not reject Reject H0 Do not reject Do not reject Reject H0 Do not reject Do not reject Reject H0 Do not reject Do not reject Do not reject Do not reject

H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0 H0

305

306

Bibliography
[1] Belarmino Adenso-D az and Manuel Laguna. Fine-tuning of algorithms using fractional experimental designs and local search. Operations Research, 54(1):99114, 2006. [2] Mikael Akerholm, Johan Fredriksson, Kristian Sandstr om, and Ivica Crnkovic. Quality attribute support in a component technology for vehicular software. In Fourth Conference on Software Engineering Research and Practice in Sweden, 2004. [3] Aldeida Aleti, Stefan Bj ornander, Lars Grunske, and Indika Meedeniya. ArcheOpterix: An extendable tool for architecture optimization ofAADL models. In Model-based Methodologies for Pervasive and Embedded Software (MOMPES), pages 6171. ACM and IEEE Digital Libraries, 2009. [4] Aldeida Aleti, Lars Grunske, Indika Meedeniya, and Irene Moser. Let the ants deploy your software - an ACO based deployment optimisation strategy. In ASE, pages 505509. IEEE Computer Society, 2009. [5] Aldeida Aleti and Irene Moser. Predictive parameter control. In 13th Annual Genetic and Evolutionary Computation Conference, GECCO 2011, Proceedings, Dublin, Ireland, July 12-16, 2011, pages 561568, 2011. [6] Peter J. Angeline. Adaptive and self-adaptive evolutionary computations. In Marimuthu Palaniswami and Yianni Attikiouzel, editors, Computational 307

Intelligence: A Dynamic Systems Perspective, pages 152163. IEEE Press, 1995. [7] Jaroslaw Arabas, Zbigniew Michalewicz, and Jan J. Mulawka. GAVaPS - A genetic algorithm with varying population size. In International Conference on Evolutionary Computation, pages 7378, 1994. [8] David A.Van Veldhuizen and Gary B. Lamont. On measuring multiobjective evolutionary algorithm performance. In Proc. of the 2000 Congress on Evolutionary Computation, pages 204211. IEEE Service Center, 2000. [9] Thomas B ack. The interaction of mutation rate, selection, and self-adaptation within a genetic algorithm. In Parallel Problem Solving from Nature 2,PPSNII, pages 8796. Elsevier, 1992. [10] Thomas B ack. Selective pressure in evolutionary algorithms: A characterization of selection mechanisms. In International Conference on Evolutionary Computation, pages 5762, 1994. [11] Thomas B ack. Evolutionary Algorithms in Theory and Practice: Evolution Strategies, Evolutionary Programming, Genetic Algorithms. Oxford University Press, 1996. [12] Thomas B ack. Introduction to the special issue: Self-adaptation. Evolutionary Computation, 9(2):iiiiv, 2001. [13] Thomas B ack, Agoston Endre Eiben, and Nikolai A. L. van der Vaart. An empirical study on gas without parameters. In Parallel Problem Solving from Nature PPSN VI (6th PPSN2000), volume 1917 of Lecture Notes in Computer Science (LNCS), pages 315324. Springer-Verlag (New York), 2000. 308

[14] Thomas B ack, David B. Fogel, and Zbigniew Michalewicz, editors. Handbook of Evolutionary Computation. Institute of Physics Publishing and Oxford University Press, 1997.

[15] Thomas B ack and Martin Sch utz. Intelligent mutation rate control in canonical genetic algorithms. Lecture Notes in Computer Science, 1079:158167, 1996.

[16] Prasanna Balaprakash, Mauro Birattari, and Thomas St utzle. Improvement strategies for the F-race algorithm: Sampling design and iterative renement. In Hybrid Metaheuristics, 4th International Workshop, Proceedings, volume 4771 of Lecture Notes in Computer Science, pages 108122. Springer, 2007.

[17] Thomas Bartz-Beielstein, Christian Lasarczyk, and Mike Preuss. Sequential parameter optimization. In IEEE Congress on Evolutionary Computation, pages 773780. IEEE, 2005.

[18] M. Cecilia Bastarrica, Alexander A. Shvartsman, and Steven A. Demurjian. A binary integer programming model for optimal object distribution. In OPODIS, pages 211226. Hermes, 1998.

[19] Hans-Georg Beyer and Hans-Paul Schwefel. Evolution strategies - A comprehensive introduction. Natural Computing, 1(1):352, 2002.

[20] Mauro Birattari, Thomas St utzle, Luis Paquete, and Klaus Varrentrapp. A racing algorithm for conguring metaheuristics. In GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, pages 1118. Morgan Kaufmann Publishers, 2002. 309

[21] Tobias Blickle, J urgen Teich, and Lothar Thiele. System-level synthesis using evolutionary algorithms. Design Automation for Embedded Systems, 3(1):23 58, 1998. [22] Mark F. Bramlette. Initialization, mutation and selection methods in genetic algorithms. In Proceedings of the Fourth International Conference on Genetic Algorithms. Morgan Kaufmann Publishers, 1991. [23] H. J. Bremermann, M. Rogson, and S. Sala. Global properties of evolution processes. In Natural Automata and Useful Simulations, pages 341, 1966. [24] H.J. Bremermann. The evolution of intelligence. the nervous system as a model of its environment. Technical Report 477(17), Department of Mathematics, University of Washington, Seattle, 1958. [25] Manfred Broy. Challenges in automotive software engineering. In International Conference on Software Engineering (ICSE06), pages 3342. ACM, 2006. [26] Ken Butts, Dave Bostic, Alongkrit Chutinan, Jerey Cook, Bill Milam, and Yanxin Wang. Usage scenarios for an automated model compiler. Lecture Notes in Computer Science, 2211:6679, 2001. [27] Radu Calinescu and Marta Kwiatkowska. Using quantitative analysis to implement autonomic it systems. In International Conference on Software Engineering, ICSE, pages 100110. IEEE, 2009. [28] Rapha el Cerf. Critical control of a genetic algorithm. CoRR, abs/1005.3390, 2010. [29] Jorge Cervantes and Christopher R. Stephens. Limitations of existing mutation rate heuristics and how a rank GA overcomes them. IEEE Trans. Evolutionary Computation, 13(2):369397, 2009. 310

[30] Maw-Sheng Chern. On the computational complexity of reliability redundancy allocation in a series system. Operations Research Letters, 11(5):309315, June 1992. [31] David W. Coit and Alice E. Smith. Reliability optimization of series-

parallel systems using a genetic algorithm. Reliability, IEEE Transactions on, 45(2):254 260, 266, June 1996. [32] David W. Coit and Alice E. Smith. Reliability optimization of series-

parallel systems using a genetic algorithm. IEEE Transactions on Reliability, 45(2):254260, 1996. [33] David Corne, Martin J. Oates, and Douglas B. Kell. On tness distributions and expected tness gain of mutation rates in parallel evolutionary algorithms. In Parallel Problem Solving from Nature PPSN VII (7th PPSN02), volume 2439 of Lecture Notes in Computer Science (LNCS), pages 132141. SpringerVerlag, 2002. [34] Vittorio Cortellessa, Fabrizio Marinelli, and Pasqualina Potena. Automated selection of software components based on cost/reliability tradeo. In Software Architecture,(EWSA06), volume 4344, pages 6681. Springer, 2006. [35] Steven P. Coy, Bruce L. Golden, George C. Runger, and Edward A. Wasil. Using experimental design to nd eective parameter settings for heuristics. Journal of Heuristics, 7(1):7797, 2001. [36] Luis DaCosta, Alvaro Fialho, Marc Schoenauer, and Mich` ele Sebag. Adaptive operator selection with dynamic multi-armed bandits. In GECCO 08: Proceedings of the 10th annual conference on Genetic and evolutionary computation, pages 913920. ACM, 2008. 311

[37] Lawrence Davis. Adapting operator probabilities in genetic algorithms. In Proceedings of the Third International Conference on Genetic Algorithms, pages 7079. Morgan Kaufman, 1989. [38] Lawrence Davis, editor. Handbook of Genetic Algorithms. Van Nostrand Reingold, 1991. [39] Kenneth A. De Jong. An analysis of the behavior of a class of genetic adaptive systems. PhD thesis, University of Michigan, 1995. [40] Kalyanmoy Deb and Hans-Georg Beyer. Self-adaptive genetic algorithms with simulated binary crossover. Evolutionary Computation, 9(2):197221, 2001. [41] Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, and T. Meyarivan. A

fast and elitist multiobjective genetic algorithm:NSGA-II. IEEE-Evolutionary Computation, 6:182197, 2002. [42] K. A. DeJong. Analysis of Behavior of a Class of Genetic Adaptive Systems. PhD thesis, The University of Michigan, 1975. [43] Kenneth DeJong. Parameter setting in EAs: a 30 year perspective. In Fernando G. Lobo, Cl audio F. Lima, and Zbigniew Michalewicz, editors, Parameter Setting in Evolutionary Algorithms, volume 54 of Studies in Computational Intelligence, pages 118. Springer, 2007. [44] Jianguo Ding, Bernd J. Kr amer, Yingcai Bai, and Hansheng Chen. Backward inference in bayesian networks for distributed systems management. Network Systems Management, 13(4):409427, 2005. [45] Agoston Endre Eiben, Robert Hinterding, and Zbigniew Michalewicz. Parameter control in evolutionary algorithms. IEEE Transations on Evolutionary Computation, 3(2):124141, 2007. 312

[46] Agoston Endre Eiben and M. Jelasity. A critical note on experimental research methodology in EC. In Proceedings of the 2002 Congress on Evolutionary Computation CEC2002, pages 582587. IEEE Press, 2002. [47] Agoston Endre Eiben, E. Marchiori, and V. A. Valk o. Evolutionary algorithms with on-the-y population size adjustment. In Parallel Problem Solving from Nature - PPSN VIII, volume 3242 of LNCS, pages 4150. Springer-Verlag, 2004. [48] Agoston Endre Eiben and Martijn C. Schut. New ways to calibrate evolutionary algorithms. In Patrick Siarry and Zbigniew Michalewicz, editors, Advances in Metaheuristics for Hard Optimization, Natural Computing Series, pages 153177. Springer, 2008. [49] Agoston Endre Eiben and Selmar K. Smit. Parameter tuning for conguring and analyzing evolutionary algorithms. Swarm and Evolutionary Computation, 1(1):1931, 2011. [50] M. Eisenring, Lothar Thiele, and Eckart Zitzler. Conicting Criteria in Embedded System Design. IEEE Design and Test, 17(2):5159, 2000. [51] Mohammed A. El-Beltagy, Prasanth B. Nair, and Andy J. Keane. Metamodeling techniques for evolutionary optimization of computationally expensive problems: Promises and limitations. In Proceedings of the Genetic and Evolutionary Computation Conference, volume 1, pages 196203. Morgan Kaufmann, 1999. [52] Henrik Esbensen and Ernest S. Kuh. Design space exploration using the genetic algorithm. In IEEE International Symposium on Circuits and Systems (ISCAS96), pages 500503. IEEE, 1996. 313

[53] Raziyeh Farmani and Jonathan A. Wright. Self-adaptive tness formulation for constrained optimization. IEEE Trans. Evolutionary Computation, 7(5):445 455, 2003. [54] Alvaro Fialho, Lu s Da Costa, Marc Schoenauer, and Mich` ele Sebag. Extreme value based adaptive operator selection. In Parallel Problem Solving from Nature (PPSN 08), 10th International Conference, Proceedings, volume 5199 of Lecture Notes in Computer Science, pages 175184. Springer, 2008. [55] Alvaro Fialho, Luis Da Costa, Marc Schoenauer, and Mich` ele Sebag. Analyzing bandit-based adaptive operator selection mechanisms. Annals of Mathematics and Articial Intelligence - Special Issue on Learning and Intelligent Optimization, 2010. [56] Alvaro Fialho, Marc Schoenauer, and Mich` ele Sebag. Analysis of adaptive operator selection techniques on the royal road and long k-path problems. In Proceedings of the 11th Annual conference on Genetic and evolutionary computation, pages 779786. ACM, 2009. [57] Terence C. Fogarty. Varying the probability of mutation in the genetic algorithm. In Proceedings of the Third International Conference on Genetic Algorithms, pages 104109. Morgan Kaufman, 1989. [58] D. B. Fogel, L. J. Fogel, and J. W. Atmar. Meta-evolutionary programming. In R. R. Chen, editor, Proceedings of 25th Asilomar Conference on Signals, Systems and Computers, pages 540545, 1991. [59] David B. Fogel. Evolutionary Computation: Toward a New Philosophy of Machine Intelligence. IEEE Press, 1995. 314

[60] L. J. Fogel, A. J. Owens, and M. J. Walsh. Articial Intelligence through Simulated Evolution. John Wiley & Sons, 1966. [61] Johan Fredriksson, Thomas Nolte, Mikael Nolin, and Heinz Schmidt. Contract-based reusable worst-case execution time estimate. In The International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), pages 3946, 2007. [62] Johan Fredriksson, Kristian Sandstr om, and Mikael Akerholm. Optimizing resource usage in component-based real-time systems. In Component-Based Software Engineering, volume 3489 of LNCS, pages 4965. Springer, 2005. [63] T. Yokoyama G. Taguchi. Taguchi methods: design of experiments. ASI Press, 1993. [64] Jean Dickinson Gibbons and Subhabrata Chakraborti. Nonparametric statistical inference. CRC Press, 2003. [65] M. Giger, D. Keller, and P. Ermanni. Aorcea - an adaptive operator rate controlled evolutionary algorithm. Computers and Structures, 85(19-20):1547 1561, 2007. [66] David E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, 1989. [67] David E. Goldberg and Kalyanmoy Deb. A comparative analysis of selection schemes used in genetic algorithms. In Foundations of Genetic Algorithms, pages 6993, San Mateo, 1991. Morgan Kaufmann. [68] Katerina Go seva-Popstojanova and Kishor S. Trivedi. Architecture-based approach to reliability assessment of software systems. Performance Evaluation, 45(2-3):179204, 2001. 315

[69] John J. Grefenstette. gorithms.

Optimization of control parameters for genetic al-

IEEE Transactions on Systems, Man, and Cybernetics, SMC-

16(1):122128, 1986. [70] John J. Grefenstette and James E. Baker. How genetic algorithms work: A critical look at implicit parallelism. In Proceedings of the Third International Conference on Genetic Algorithms (ICGA89), pages 2027. Morgan Kaufmann Publishers, Inc., 1989. [71] Lars Grunske. Identifying good architectural design alternatives with multiobjective optimization strategies. In International Conference on Software Engineering, ICSE, pages 849852. ACM, 2006. [72] Lars Grunske. Early quality prediction of component-based systems - a generic framework. Journal of Systems and Software, 80(5):678686, 2007. [73] Lars Grunske, Peter A. Lindsay, Egor Bondarev, Yiannis Papadopoulos, and David Parker. An outline of an architecture-based method for optimizing dependability attributes of software-intensive systems. In Rog erio de Lemos, Cristina Gacek, and Alexander B. Romanovsky, editors, Architecting Dependable Systems, volume 4615 of Lecture Notes in Computer Science, pages 188 209. Springer, 2006. [74] Nikolaus Hansen and Andreas Ostermeier. Completely derandomized selfadaptation in evolution strategies. Evolutionary Computation, 9(2):159195, 2001. [75] G unter Heiner and Thomas Thurner. Time-triggered architecture for safetyrelated distributed real-time systems in transportation systems. In International Symposium on Fault-Tolerant Computing (FTCS98), pages 402407, 1998. 316

[76] Francisco Herrera and Manuel Lozano. Adaptive genetic operators based on coevolution with fuzzy behaviors. IEEE-EC, 5:149165, April 2001. [77] J. Hesser and R. Manner. Towards an optimal mutation probability for genetic algorithms. Lecture Notes in Computer Science, 496:2332, 1991. [78] Robert Hinterding, Zbigniew Michalewicz, and T. C. Peachey. Self-adaptive genetic algorithm for numeric functions. Lecture Notes in Computer Science, 1141:420429, 1996. [79] C. W. Ho, K. H. Lee, and K. S. Leung. A genetic algorithm based on mutation and crossover with adaptive probabilities. In Proceedings of the Congress on Evolutionary Computation, volume 1, pages 768775. IEEE Press, 1999. [80] Yosef Hochberg and Ajit C. Tamhane. Multiple comparisons in a mixed model. The American Statistician, 37(4):305307, 1983. [81] John H. Holland. Adaptation in Natural and Articial Systems. The University of Michigan Press, Ann Arbor, Michigan, 1975. [82] Tzung-Pei Hong, Hong-Shung Wang, and Wei-Chou Chen. Simultaneously applying multiple mutation operators in genetic algorithms. Journal of Heuristics, 6(4):439455, 2000. [83] Tzung-Pei Hong, Hong-Shung Wang, Wen-Yang Lin, and Wen-Yuan Lee. Evolution of appropriate crossover and mutation operators in a genetic process. Appl. Intell, 16(1):717, 2002. [84] Christian Igel and Martin Kreutz. Operator adaptation in evolutionary computation and its application to structure optimization of neural networks. Neurocomputing, 55(1-2):347361, 2003. 317

[85] Christian Igel, Stefan Wiegand, and Frauke Friedrichs. Evolutionary optimization of neural systems: The use of strategy adaptation. In Trends and Applications in Constructive Approximation, volume 151 of International Series of Numerical Mathematics, pages 103123. Birkh auser Basel, 2005. [86] Shariful Islam, Robert Lindstrom, and Neeraj Suri. Dependability driven integration of mixed criticalitySW components. In International Symposium on object/component/service-oriented Real-time distributed Computing, ISORC, pages 485495. IEEE Computer Society, 2006. [87] Shariful Islam and Neeraj Suri. A multi variable optimization approach for the design of integrated dependable real-time embedded systems. In Embedded and Ubiquitous Computing, International Conference, Proceedings, volume 4808 of LNCS, pages 517530. Springer, 2007. [88] ISO/IEC. IEEE International Standard 1471 2000 - Systems and software engineering - Recommended practice for architectural description of softwareintensive systems, 2000. [89] Cezary Z. Janikow and Zbigniew Michalwicz. An experimental comparison of binary and oating point representations in genetic algorithms. In Proceedings of the Fourth International Conference on Genetic Algorithms (ICGA91), pages 3136. Morgan Kaufmann Publishers, 1991. [90] Thomas Jansen and Kenneth De Jong. An analysis of the role of ospring population size in EAs. In GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, pages 238246. Morgan Kaufmann Publishers, 2002. [91] Arshad Jhumka, Martin Hiller, and Neeraj Suri. Component-based synthesis of dependable embedded software. In Werner Damm and Ernst-R udiger Olderog, 318

editors, Proceedings of the 7th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems, FTRTFT, volume 2469, pages 111 128, 2002.

[92] Yaochu Jin. A comprehensive survey of tness approximation in evolutionary computation. Soft Computing, 9(1):312, 2005.

[93] Terry Jones. A description of hollands royal road function. Evolutionary Computation, 2(4):409415, 1994.

[94] Bryant A. Julstrom. What have you done for me lately? Adapting operator probabilities in a steady-state genetic algorithm. In Proceedings of the Sixth International Conference on Genetic Algorithms, pages 8187, San Francisco, CA, 1995. Morgan Kaufmann.

[95] Bryant A. Julstrom. Adaptive operator probabilities in a genetic algorithm that applies three operators. In ACM Symposium on Applied Computing (SAC), pages 233238. ACM, 1997.

[96] Tatiana Kichkaylo, Anca-Andreea Ivan, and Vijay Karamcheti. Constrained component deployment in wide-area networks using ai planning techniques. In 17th International Parallel and Distributed Processing Symposium, page 3, 2003.

[97] Tatiana Kichkaylo and Vijay Karamcheti. Optimal resource-aware deployment planning for component-based distributed applications. In HPDC:High Performance Distributed Computing, pages 150159. IEEE Computer Society, 2004. 319

[98] Seong-Hee Kim and Barry L. Nelson.

A fully sequential procedure for

indierence-zone selection in simulation. ACM Transactions on Modeling and Computer Simulation, 11(3):251273, July 2001. [99] Joshua Knowles and David Corne. Instance generators and test suites for the multiobjective quadratic assignment problem. In Evolutionary Multi-Criterion Optimization, International Conference, EMO 2003, volume 2632, pages 295 310. Springer. Lecture Notes in Computer Science., 2003. [100] Joshua Knowles, Lothar Thiele, and Eckart Zitzler. A Tutorial on the Performance Assessment of Stochastic Multiobjective Optimizers. 214, Computer Engineering and Networks Laboratory (TIK), ETH Zurich, Switzerland, 2006. [101] T. C. Koopmans and M. J. Beckmann. Assignment problems and the location of economic activities. Econometrica, 25:5376, 1957. [102] Hermann Kopetz. Real-Time Systems. Kluwer Academic, 1997. [103] Oliver Kramer. Evolutionary self-adaptation: a survey of operators and strategy parameters. Evolutionary Intelligence, 3(2):5165, 2010. [104] Johannes W. Kruisselbrink, Rui Li, Edgar Reehuis, Jeroen Eggermont, and Thomas B ack. On the log-normal self-adaptation of the mutation rate in binary search spaces. In 13th Annual Genetic and Evolutionary Computation Conference, GECCO 2011, Proceeding, pages 893900. ACM, 2011. [105] Peter Kubat. Assessing reliability of modular software. Operations Research Letters, 8(1):3541, 1989. [106] Sadan Kulturel-Konak and Alice E Smith David W Coit. Eciently solving the redundancy allocation problem using tabu search. IIE Transactions, 35(6):515526, 2003. 320

[107] Sadan Kulturel-Konak, David W. Coit, and Fatema Baheranwala. Pruned pareto-optimal sets for the system redundancy allocation problem based on multiple prioritized objectives. Journal of Heuristics, 14(4):335357, 2008. [108] D. Kwiatkowski, P.C.B. Phillips, P. Schmidt, and Y. Shin. Testing the null hypothesis of stationarity against the alternative of a unit root. Journal of Econometrics, 54:159178, 1992. [109] Xuyong Li, Jinhua Zheng, and Juan Xue. A diversity metric for multi-objective evolutionary algorithms. In ICNC05, volume 3612 of LNCS, pages 6873. Springer, 2005. [110] Yun-Chia Liang and Alice E. Smith. An ant system approach to redundancy allocation. In Congress on Evolutionary Computation, pages 14781484. IEEE, 1999. [111] Yun-Chia Liang and Alice E. Smith. An ant colony optimization algorithm for the redundancy allocation problem (RAP). IEEE Transactions on Reliability, 53(3):417423, 2004. [112] J. Lis and M. Lis. Self-adapting parallel genetic algorithm with the dynamic mutation probability, crossover rate and population size. In J. Arabas, editor, Proceedings of the 1st Polish National Conference in Evolutionary Computation, page 324329, 1996. [113] Joanna Lis. Parallel genetic algorithm with the dynamic control parameter. In International Conference on Evolutionary Computation, pages 324329, 1996. [114] F. G. Lobo and David E. Goldberg. Decision making in a hybrid genetic algorithm. In Proceedings of the Congress on Evolutionary Computation, pages 121125. IEEE Press, 1997. 321

[115] Fernando G. Lobo. Idealized dynamic population sizing for uniformly scaled problems. In 13th Annual Genetic and Evolutionary Computation Conference, GECCO 2011, Proceedings, pages 917924. ACM, 2011. [116] Fernando G. Lobo and Cl audio F. Lima. A review of adaptive population sizing schemes in genetic algorithms. In Genetic and Evolutionary Computation Conference, GECCO 2005, Workshop Proceedings, Washington DC, USA, June 25-26, 2005, pages 228234. ACM, 2005. [117] Martin Lukasiewycz, Michael Gla, Christian Haubelt, and J urgen Teich. Efcient symbolic multi-objective design space exploration. In ASP-DAC 2008, pages 691696. IEEE, 2008. [118] Thilo Mahnig and Heinz Muhlenbein. A new adaptive boltzmann selection schedule SDS. In Proceedings of the 2001 Congress on Evolutionary Computation CEC2001, pages 183190. IEEE Press, 2001. [119] S. Malek, M. Mikic-Rakic, and N. Medvidovic. A decentralized redeployment algorithm for improving the availability of distributed systems. In Comp. Dep., volume 3798 of LNCS, pages 99114. Springer, 2005. [120] Sam Malek. A User-Centric Approach for Improving a Distributed Soft-

ware Systems Deployment Architecture. PhD thesis, Faculty of the graduate schools, University of Southern California, 2007. [121] Anne Martens and Heiko Koziolek. Automatic, model-based software performance improvement for component-based software designs. In 6th International Workshop on Formal Engineering approaches to Software Components and Architectures (FESCA). Elsevier, 2009. 322

[122] Keith E. Mathias and Darrell Whitley. Initial performance comparisons for the delta coding algorithm. In International Conference on Evolutionary Computation, pages 433438, 1994. [123] Jorge Maturana, Alvaro Fialho, Fr ed eric Saubion, Marc Schoenauer, and Mich` ele Sebag. Extreme compass and dynamic multi-armed bandits for adaptive operator selection. In IEEE Congress on Evolutionary Computation, pages 365372. IEEE, 2009. [124] Jorge Maturana, Fr ed eric Lardeux, and Fr ed eric Saubion. Autonomous operator management for evolutionary algorithms. J. Heuristics, 16(6):881909, 2010. [125] Jorge Maturana and Frederic Saubion. A compass to guide genetic algorithms. In Gunter Rudolph, Thomas Jansen, Simon M. Lucas, Carlo Poloni, and Nicola Beume, editors, Parallel Problem Solving from Nature (10th PPSN08), volume 5199 of Lecture Notes in Computer Science (LNCS), pages 256265. Springer-Verlag, 2008. [126] Nenad Medvidovic and Sam Malek. Software deployment architecture and quality-of-service in pervasive environments. In Workshop on the Engineering of Software Services for Pervasive Environements, ESSPE, pages 4751. ACM, 2007. [127] Indika Meedeniya, Aldeida Aleti, and Barbora B uhnova. Redundancy allocation in automotive systems using multi-objective optimisation. In Symposium of Avionics/Automotive Systems Engineering (SAASE09), San Diego, CA, 2009. [128] Indika Meedeniya, Barbora Buhnova, Aldeida Aleti, and Lars Grunske. Architecture-Driven Reliability and Energy Optimization for Complex Em323

bedded Systems. In Research into Practice - Reality and Gaps, 6th International Conference on the Quality of Software Architectures (QoSA 2010), pages 5267. Springer, 2010. [129] Indika Meedeniya, Barbora Buhnova, Aldeida Aleti, and Lars Grunske. Reliability-Driven Deployment Optimization for Embedded Systems. Journal of Systems and Software, 2011. [130] Indika Meedeniya, Irene Moser, Aldeida Aleti, and Lars Grunske.

Architecture-based reliability evaluation under uncertainty. In 7th International Conference on the Quality of Software Architectures, QoSA 2011 and 2nd International Symposium on Architecting Critical Systems, ISARCS 2011. Boulder, CO, USA, June 20-24, 2011, Proceedings, pages 8594. ACM, 2011. [131] R.E. Mercer and J.R. Sampson. Adaptive search using a reproductive metaplan. Kybernetes, 7:215228, 1978. [132] Silja Meyer-Nieberg and Hans-Georg Beyer. Self-adaptation in evolutionary algorithms. In Parameter Setting in Evolutionary Algorithms, volume 54 of Studies in Computational Intelligence, pages 4775. Springer, 2007. [133] Efrn Mezura-Montes and Ana Palomeque-Ortiz. Self-adaptive and deterministic parameter control in dierential evolution for constrained optimization. In Efrn Mezura-Montes, editor, Constraint-Handling in Evolutionary Optimization, volume 198 of Studies in Computational Intelligence, pages 95120. Springer Berlin / Heidelberg, 2009. [134] Zbigniew Michalewicz and David B. Fogel. How to solve it: modern heuristics. Springer-Verlag, 2004. 324

[135] Zbigniew Michalewicz and Martin Schmidt. Parameter control in practice. In Fernando G. Lobo, Cl audio F. Lima, and Zbigniew Michalewicz, editors, Parameter Setting in Evolutionary Algorithms, volume 54 of Studies in Computational Intelligence, pages 277294. Springer, 2007. [136] Marija Mikic-Rakic, Sam Malek, Nels Beckman, and Nenad Medvidovic. A tailorable environment for assessing the quality of deployment architectures in highly distributed settings. In Component Deployment,CD04, volume 3083 of LNCS, pages 117. Springer, 2004. [137] Melanie Mitchell. An Introduction to Genetic Algorithms. Complex Adaptive Systems. MIT-Press, Cambridge, 1996. [138] James Montgomery and Irene Moser. Parallel constraint handling in a multiobjective evolutionary algorithm for the automotive deployment problem. In e-Science Workshops, 2010 Sixth IEEE International Conference on, pages 104 109, 2010. [139] Sanaz Mostaghim. Parallel multi-objective optimization using self-organized heterogeneous resources. In Parallel and Distributed Computational Intelligence, volume 269 of Studies in Computational Intelligence, pages 165179. Springer, 2010. [140] Sanaz Mostaghim and Hartmut Schmeck. Self-organized parallel cooperation for solving optimization problems. In Architecture of Computing Systems ARCS 2009, 22nd International Conference, volume 5455 of Lecture Notes in Computer Science, pages 135145. Springer, 2009. [141] Richard Myers and Edwin R. Hancock. Empirical modelling of genetic algorithms. Evolutionary Computation, 9(4):461493, 2001. 325

[142] Farhad Nadi and Ahamad Tajudin Abdul Khader. A parameter-less genetic algorithm with customized crossover and mutation operators. In 13th Annual Genetic and Evolutionary Computation Conference, GECCO 2011, Proceedings, pages 901908. ACM, 2011. [143] Volker Nannen and Agoston Endre Eiben. A method for parameter calibration and relevance estimation in evolutionary algorithms. In Genetic and Evolutionary Computation Conference, GECCO 2006, Proceedings, pages 183190. ACM, 2006. [144] Volker Nannen and Agoston Endre Eiben. Relevance estimation and value calibration of evolutionary algorithm parameters. In Manuela M. Veloso, editor, IJCAI07, Proceedings of the 20th International Joint Conference on Articial Intelligence, pages 975980, 2007. [145] Mark Nicholson. Selecting a Topology for Safety-Critical Real-Time Control Systems. PhD thesis, Department of Computer Science, University of York, 1998. [146] Barbara Paech and Thomas Wetter. Rational quality requirements for medical software. In 30th International Conference on Software Engineering (ICSE 2008), pages 633638. ACM, 2008. [147] Yiannis Papadopoulos and Christian Grante. Evolving car designs using

model-based automated safety analysis and optimisation techniques. The Journal of Systems and Software, 76(1):7789, 2005. [148] Vilfredo Pareto. CoursDEconomie Politique. F. Rouge, 1896. [149] A. N. Pettitt and M. A. Stephens. The kolmogorov-smirnov goodness-of-t statistic with discrete and grouped data. Technometrics, 19(2):205210, 1977. 326

[150] Alexander Pretschner, Manfred Broy, Ingolf H. Kr uger, and Thomas Stauner. Software engineering for automotive systems: A roadmap. In FOSE 07: 2007 Future of Software Engineering, pages 5571. IEEE Computer Society, 2007. [151] Alexander Pretschner, Manfred Broy, Ingolf H. Kr uger, and Thomas Stauner. Software engineering for automotive systems:Aroadmap. In International Conference on Software Engineering,ISCE07, pages 5571, 2007. [152] Ronald L. Rardin and Reha Uzsoy. Experimental evaluation of heuristic optimization algorithms:A tutorial. Journal of Heuristics, 7(3):261304, 2001. [153] Ronald L. RardinBenjamin W. Lin. A short convergence proof for a class of ant colony optimization algorithms. Management Science, 25:12581271, 1980. [154] I. Rechenberg. Evolutionsstrategie: optimierung technischer systeme nach prinzipien der biologischen evolution. Frommann-Holzboog, 1973. [155] Ingo Rechenberg. Cybernetic solution path of an experimental problem. Technical report, Royal Air Force Establishment, 1965. [156] Yosef Rinott. On two-stage selection procedures and related probability-

inequalities. Communications in Statistics - Theory and Methods, 7(8):799 811, 1978. [157] R. Rogenmoser, H. Kaeslin, and T. Blickle. Stochastic methods for transistor size optimization of CMOS VLSI circuits. LNCS, 1141:849869, 1996. [158] R. S. Rosenberg. Simulation of genetic populations with biochemical properties. PhD thesis, University of Michigan, Ann Harbor, Michigan, 1967. [159] G unter Rudolph. Self-adaptive mutations may lead to premature convergence. IEEE Transaction Evolutionary Computation, 5(4):410414, 2001. 327

[160] J. David Schaer, Richard A. Caruana, Larry J. Eshelman, and Rajarshi Das. A study of control parameters aecting online performance of genetic algorithms for function optimization. In Proceedings of the Third International Conference on Genetic Algorithms, pages 5160. Morgan Kaufman, 1989. [161] J. David Schaer and Amy Morishima. An adaptive crossover distribution mechanism for genetic algorithms. In John J. Grefenstette, editor, Genetic Algorithms and their Applications (ICGA87), pages 3640. Lawrence Erlbaum Associates, 1987. [162] Th. Scharnhorst, H. Heinecke, K. P. Schnelle, H. Fennel, J. Bortolazzi, L. Lundh, P. Heitkmper, J. Leour, J.-L. Mat, and K. Nishikawa. Autosar challenges and achievements. In VDI Berichte Nr. 1907, pages 395408, 2005. [163] D. Schlierkamp-Voosen and H. M uhlenbein. Strategy adaptation by competing subpopulations. Lecture Notes in Computer Science, 866:199208, 1994. [164] Bruce Schmeiser. Simulation Experiments. Mathematical-statistical framework for variance reduction / Barry L. Nelson and Bruce W. Schmeiser. Purdue University, Department of Statistics, 1990. [165] Jason R. Schott. FaultTolerantDesignUsingSingle andMulticriteriaGeneticAlgorithmOptimization. Masters thesis, Department of Aeronautics and Astronautics, Massachusetts Institute of Technology, 1995. [166] H. P. Schwefel. Evolutionsstrategie und numerische Optimierung. PhD thesis, Technische Universitat Berlin, 1975. [167] Mike Sewell, Jagath Samarab, Ranga Rodrigo, and Kenneth Mcisaac. The rank-scaled mutation rate for genetic algorithms. International Journal of Information Technology, 3(1):3136, 2005. 328

[168] Craig G. Shaefer. The ARGOT strategy: Adaptive representation genetic optimizer technique. In John J. Grefenstette, editor, Proceedings of the Second International Conference on Genetic Algorithms. Lawrence Erlbaum Associates, Publishers, 1987. [169] Vibhu Saujanya Sharma, Pankaj Jalote, and Kishor S. Trivedi. Evaluating performance attributes of layered software architecture. In Component-Based Software Engineering, 8th International Symposium, CBSE, volume 3489 of LNCS, pages 6681. Springer, 2005. [170] Vibhu Saujanya Sharma and Kishor S. Trivedi. Quantifying software performance, reliability and security: An architecture-based approach. Journal of Systems and Software, 80(4):493509, 2007. [171] Sol M. Shatz, Jia-Ping Wang, and Masanori Goto. Task allocation for maximizing reliability of distributed computer systems. IEEE Transactions on Computers, 41(9):11561168, 1992. [172] Selmar K. Smit and A. E. Eiben. Comparing parameter tuning methods for evolutionary algorithms. In IEEE Congress on Evolutionary Computation, pages 399406. IEEE, 2009. [173] Selmar K. Smit, Agoston Endre Eiben, and Zolt an Szl avik. An MOEA-based method to tune EA parameters on multiple objective functions. In Proceedings of the International Conference on Evolutionary Computation, (ICEC 2010), pages 261268. SciTePress, 2010. [174] Jim Smith and Terence C. Fogarty. Self adaptation of mutation rates in a steady state genetic algorithm. In International Conference on Evolutionary Computation, pages 318323, 1996. 329

[175] Robert E. Smith. Adaptively resizing populations: An algorithm and analysis. In Proceedings of the Fifth International Conference on Genetic Algorithms (ICGA93), page 653, San Mateo, California, 1993. Morgan Kaufmann Publishers.

[176] William M. Spears. Adapting crossover in evolutionary algorithms. In Evolutionary Programming, pages 367384. MIT Press, 1995.

[177] M. Srinivas and Lalit M. Patnaik. Adaptive probabilities of crossover and mutation in genetic algorithms. IEEE Transactions on Systems, Man, and Cybernetics, 24(4):656667, 1994.

[178] N. Srinivas and Kalyanmoy Deb. Multiobjective optimization using nondominated sorting in genetic algorithms. EvolutionaryComputation, 2(3):221248, 1995.

[179] Christopher R. Stephens, I. Garcia Olmedo, J. Mora Vargas, and Henri Waelbroeck. Self-adaptation in evolving systems. Articial Life, 4(2):183201, 1998.

[180] Dirk Thierens. Adaptive mutation rate control schemes in genetic algorithms. In Proceedings of the 2002 Congress on Evolutionary Computation CEC2002, pages 980985. IEEE Press, 2002.

[181] Dirk Thierens. An adaptive pursuit strategy for allocating operator probabilities. In Hans-Georg Beyer and Una-May OReilly, editors, Genetic and Evolutionary Computation Conference, GECCO 2005, pages 15391546. ACM, 2005. 330

[182] Dirk Thierens. Adaptive strategies for operator allocation. In Parameter Setting in Evolutionary Algorithms, volume 54 of Studies in Computational Intelligence, pages 7790. Springer, 2007. [183] Andrew Tuson and Peter Ross. Adapting operator settings in genetic algorithms. Evolutionary Computation, 6(2):161184, 1998. [184] P eter Vajda, Agoston Endre Eiben, and Wiebe Hordijk. Parameter control methods for selection operators in genetic algorithms. In Parallel Problem Solving from Nature, 10th International Conference, Proceedings, volume 5199 of Lecture Notes in Computer Science, pages 620630. Springer, 2008. [185] David A. Van Veldhuizen. Multiobjective Evolutionary Algorithms: Classications, Analyses, and New Innovations. PhD thesis, Air Force Institute of Technology, 1999. [186] Peter Wallin, Joakim Froberg, and Jakob Axelsson. Making decisions in integration of automotive software and electronics: A method based on atam and ahp. In SEAS 07: Proceedings of the 4th International Workshop on Software Engineering for Automotive Systems, page 5, 2007. [187] R. Weinberg. Computer Simulation of a Living Cell. PhD thesis, The University of Michigan, 1970. [188] James M. Whitacre. Adaptation and self-organization in evolutionary algorithms. CoRR, abs/0907.0516, 2009. [189] James M. Whitacre, Tuan Q. Pham, and Ruhul A. Sarker. Use of statistical outlier detection method in adaptive evolutionary algorithms. CoRR, abs/0907.0595, 2009. 331

[190] Darrell Whitley. The GENITOR algorithm and selection pressure: Why rankbased allocation of reproductive trials is best. In Proceedings of the Third International Conference on Genetic Algorithms (ICGA89), pages 116123, San Mateo, California, 1989. Morgan Kaufmann Publishers, Inc. [191] Yuk-Yin Wong, Kin-Hong Lee, Kwong-Sak Leung, and C.-W. Ho. A novel approach in parameter adaptation and diversity maintenance for genetic algorithms. Soft Computing, 7(8):506515, 2003. [192] Bo Yuan and Marcus Gallagher. Statistical racing techniques for improved empirical evaluation of evolutionary algorithms. In Parallel Problem Solving from Nature - PPSN VIII, volume 3242 of LNCS, pages 172181. SpringerVerlag, 2004. [193] Ruiqing Zhao and Baoding Liu. Redundancy optimization problems with uncertainty of combining randomness and fuzziness. European Journal of Operational Research, 157(3):716735, 2004. [194] Eckart Zitzler. Evolutionary Algorithms for Multiobjective Optimiza-

tion:Methods and Applications. PhD thesis, Swiss Federal Institute of Tech. (ETH), 1999. [195] Eckart Zitzler, Kalyanmoy Deb, and Lothar Thiele. Comparison of Multiobjective Evolutionary Algorithms:Empirical Results. Evolutionary Computation, 8(2):173195, 2000. [196] Eckart Zitzler, Marco Laumanns, Lothar Thiele, Carlos M. Fonseca, and V.Grunert da Fonseca. Why Quality Assessment of Multiobjective Optimizers Is Dicult. In GECCO02, pages 666673. Morgan Kaufmann, 2002. 332

[197] Eckart Zitzler and Lothar Thiele. Multiobjective evolutionary algorithms:A comparative case study and the strength pareto approach. IEEE-Evolutionary Computation, 3(4):257271, 1999. [198] Eckart Zitzler, Lothar Thiele, Marco Laumanns, Carlos M. Fonseca, and da V. G. Fonseca. Performance assessment of multiobjective optimizers: an analysis and review. IEEE Tran. on Evolutionary Comp., 7:117132, 2003.

333

You might also like