Black Box Algorithm Selection by Convolutional Neural Network

2019·arXiv

Abstract

I. INTRODUCTION

MANY engineering problems can be treated as blackbox optimization problems [1], [2]. The algebraic expression and gradient information of this type of problems are unknown. Thus, traditional numerical methods are not suitable for them. According to the number of objectives, black box optimization problems can be classified as single-objective and multi-objective problems. According to the type of variables, they can be classified as continuous and discrete problems. In this paper, without loss of generality, we only focus on continuous single-objective optimization problems. Although a large number of optimization algorithms such as evolutionary algorithms have been invented, the no free lunch (NFL) theorems inform us that no algorithm can beat others on all optimization problems [3]. Thus, we still need different algorithms for different types of problems. To deal with this issue, the algorithm selection problem is proposed. Given an unknown optimization problem, the goal of algorithm selection is to predict the most suitable algorithm

Y. He and S.Y. Yuen are with the Department of Electrical Engineering, City university of Hong Kong (e-mail: yaodonghe2-c@my.cityu.edu.hk; kelviny.ee@cityu.edu.hk).

from a pre-defined algorithm set. Usually, the predictor is a well-trained classification model or a regression model. Using a classification model or a regression model depends on whether one treats the algorithm selection problem as a classification task or a regression task. In the paper, we consider it as a classification task.

Although many researches have been done on algorithm selection for constraint satisfaction problems, black box algorithm selection has attracted little attention until the past decade [4]. Most of the researches focus on defining suitable features or using reliable machine learning models. In recent years, deep neural network, also called deep learning [5], and its variants have won many competitions in various fields including computer vision, natural language processing, speech recognition, etc. However, only a few works focus on applying deep learning models to the algorithm selection problem. To fill the gap, we propose a novel approach to extract landscape information from optimization problems, and use a convolutional neural network (CNN), which is a variant of deep neural network, to understand the information. In this paper, we do not use any existing human-defined landscape features.

This paper has three main contributions: 1) We propose a novel method to extract landscape information from optimization problems and save the information as 2-D images. One can use this method to extract landscape information from optimization problems for their own deep learning architecture. 2) We apply a well-known structure, which is called Visual Geometry Group (VGG) [6] in the computer vision field, to algorithm selection. 3) We build an overall framework applying deep learning to algorithm selection problem and show its effectiveness.

The rest of this paper is organized as follows: We review and summarize related works in section II. The framework to extract landscape information and details of the applied convolutional neural network are introduced in section III. In section IV, we conduct three experiments to investigate the performance of our approach. In the last section, we conclude this paper and discuss the future works.

II. RELATED WORKS

A. Portfolio approaches and ensemble approaches

Besides algorithm selection approaches, combining and running multiple optimization algorithms together is another way to solve the issue mentioned in NFL theorems. This type of approaches are called portfolio approaches or ensemble approaches. So far, many portfolio approaches have been proposed. Peng et al. [7] propose a population based portfolio approach. In their approach, two parameters l and s are pre-defined. For each l generations, the worst s candidates generated by each algorithm are selected and replaced by the best s candidates generated by other algorithms. The budget is equally shared by the algorithms from the algorithm set. Vrugt et al. [8] propose an approach called multi-algorithm genetically adaptive method. At the end of each generation, the number of offsprings generated by each algorithm is modified according to its previous performance. Yuen et al. [9] propose a portfolio approach called MultiEA. At the end of each iteration, this approach will predict the fitness of each algorithm at the nearest common future point. The algorithm that has the best predicted fitness will be run for the next iteration.

Different from the approaches mentioned in the last paragraph, there is another type of approaches that combine the same algorithm with different parameter settings. Zhao et al. [10] propose a decomposition-based multiobjective evolutionary algorithm which uses ensemble of neighbourhood sizes. Wu et al. [11] combine multiple mutation strategies to improve the performance of differential evolution variants. Three different mutation strategies are applied. A detail survey paper about portfolio and ensemble approaches can be found in [12].

B. Exploratory landscape analysis features and Algorithm selection approaches

In the past two decades, most researchers focus on solving the algorithm selection problem by conventional machine learning models. These models are not as complicated as deep neural network but require well-defined features, or else their performance will not be gratifying. These human-defined features for algorithm selection are called exploratory landscape analysis (ELA) features [13]. Now, a large number of ELA features have been proposed. Some examples are fitness distance correlation, probability of convexity, dispersion, entropy, etc. These features can describe landscape characteristics such as separability, smoothness, basins of attractions, ruggedness, etc. Kerschke et al. [14] release a user platform to calculate these ELA features. Researchers can apply these features to different machine learning models. Based on their own platform, Kerschke et al. [15] use various machine learning models including support vector machine, regression tree, random forest, extreme gradient boosting and multivariate adaptive regression splines for classification task, regression task, and pairwise regression task. Bischl et al. [16] treat algorithm selection as a regression task and propose a cost sensitive learning method to predict the performance of optimization algorithms on the black-box optimization benchmarking (BBOB) functions [17]. Mu˜noz et al. [18] propose an information content-based method for algorithm selection problem. The classification accuracy of their method which classifies the BBOB function into five groups is higher than 90%. In [19], Mu˜noz et al. use footprints to analyze the performance of algorithms on the BBOB functions. They cluster combinations of algorithms and problems into different regions. These regions can depict which algorithm is statistically better than others on which problem. The result can be used to motivate researchers to design new algorithms for unexplored regions. He et al. [20] propose a sequential approach. The approach incorporates a restart mechanism. At the beginning of each restart, a set of algorithm based ELA features [21] are extracted and used as the input to prediction models. The models will suggest an optimization algorithm for the next run. The optimization will not stop until the maximal number of evaluations are reached. A recently published survey paper about algorithm selection approaches can be found in [4].

C. Deep learning and its application to algorithm selection problem

Deep neural network, also called deep learning, has shown great capability of solving classification and regression tasks in various engineering fields. Compared with conventional machine learning models, it requires less human-defined features but many training instances. This method is good at learning from hidden information. However, only a few researches focus on applying deep learning to algorithm selection. In [22], Mu˜noz et al. try to predict the performance of CMA-ES by using deep neural network. Their network has two hidden layers and 10 trainable parameters for each hidden layer. A set of ELA features and algorithm parameters are concatenated as the input. However, the input size and the number of trainable parameters are small. The approach cannot completely show the capability of deep neural network. Loreggia et al. [23] use convolutional neural network to recommend optimization algorithms for the boolean satisfiability (SAT) problem and show appealing results. Since the SAT problems are described in text files, they convert these text files to images. The images are the input of a convolutional neural network with three convolutional layers and two fully connected layers. However, the authors did not propose an approach to solve the optimization problems that cannot be described in text files.

III. ALGORITHM SELECTION BY CONVOLUTIONAL NEURAL NETWORK

In this section, we introduce our overall framework. In the first subsection, we introduce a novel method to extract landscape information from the optimization problems and save the information as images. In the second subsection, we introduce the architecture of our network.

A. Extract information from optimization problems

The process of sampling landscape information and saving the information as images from optimization problems is described as follows:

1) We use scaling methods to make the search space of all training and testing instances the same. In the experimental

Fig. 1. Landscape information and sampled candidates.

section, we use the BBOB function instances which have an identical search space as our training and testing instances. Thus, they do not need scaling.

2) We uniformly generate a set of sample coordinates from the entire search space. The generated sample coordinates are recorded as a matrix, where N is the number of sampled candidates and D is the problem dimension.

3) Given an optimization problem, according to the matrix generated in 1), we sample a set of N candidates from the entire search space for the problem. The fitness results of the candidates compose a N-length fitness vector . The value of records the fitness result of the sampled candidates.

4) The sampled fitness results are normalized to [0, 1] by the following equation.

where MAX and MIN operations are to choose the maximal and minimal value of the given vector respectively.

5) We resize the normalized fitness vector to a 2-D image by standard image resize operators.

We give an example to illustrate how an image is generated. Suppose the given optimization problem is a 2-D problem. Note that our approach can solve higher dimensional problems. Using 2-D problem in this example is for a better visualization. Fig. 1 shows the landscape of the optimization

problem and the sampled candidates. We uniformly sample 2025 candidates from the entire search space. The fitness results of the 2025 candidates compose a fitness vector. Fig. 2 shows the fitness vector and the normalized fitness vector . The normalized fitness vector is converted to a image. The image is shown as a gray scale image in Fig. 3.

B. Convolutional neural network

Our CNN architecture follows the VGG architecture. Compared with other CNN architectures, VGG incorporates a smaller kernel size and a greater depth. In the experimental section, we investigate the problem with dimension D = 2 and D = 10. The sample size of the two types of problems should be different. We set the sample size of problem with D = 2 and D = 10 to 2025 and 10000 respectively. Since the input sizes of the two types of problems are different, two slightly different CNN architectures (a) and (b) are presented in this section.

The overall architecture consists of several groups of convolutional layers, several fully connected layers and a softmax layer. We use a softmax layer as the output layer because we treat the algorithm selection problem as a classification task, and the softmax layer is a commonly used output layer for the classification task. The number of outputs equals to the number of classes. We use rectified linear unit (ReLU) as the activation function and the max pooling filter to reduce the size of feature map.

Fig. 2. Fitness vector and normalized fitness vector.

We adopt ReLU at the end of each layer. ReLU is a commonly used activation function which retains the nonnegative part and forces the negative part to be 0. It has been shown performing well on 2-D data [24]. The formula of ReLU can be described as f(x) = MAX(0, x), where x is the input of ReLU and f(x) is the output of ReLU.

We also adopt max pooling layers at the end of each group layer. These pooling layers are used to reduce the size of the output feature maps, which are the input of the next layers.

The overall framework is shown in Fig 4. The detailed settings of the architecture is shown in Table I. In this paper, we provide two convolutional architectures for two different types of input data. The architecture (a) for the instances with D = 10 consists of five groups of convolutional layers, three fully connected layers and a softmax layer. The convolutional layers are identical to those in VGG16. The

architecture (b) for the instances with D = 2 consists of four groups of convolutional layers, three fully connected layers and a softmax layer. The four groups of convolutinal layers of the architecture (b) are identical to the first four groups of convolutional layers in the architecture (a).

The number of outputs of softmax layer equals to the number of classes. For example, if the task is to recommend a suitable algorithm for the given problem from the algorithm set consisting of three algorithms, the number of outputs of softmax layer in this task should be three. Softmax layer use cross entropy loss to evaluate the classification error. The formula of cross entropy loss is:

where is the actual probability distribution of the

Fig. 3. Generated 2-D image.

instance, and is the predicted probability distribution of the instance. N is the number of instances used for each training step. Our CNN architecture is to minimize the loss value Loss.

IV. EXPERIMENTAL RESULTS

A. Data description

In the following experiments, we use the BBOB functions to evaluate the performance of our approach. The BBOB functions can be classified into 24 problem classes. For each class, different problem instances can be generated by random transformation and rotation. The search space of the instances are , where D is the problem dimension. We investigate instances with D = 2 and D = 10 in the first experiment, and instances with D = 10 in the second and the last experiment.

B. Training details

We set the number of training epochs to 150, where one epoch denotes the network is trained by the entire

training data once. We set the batch size, which is the number of instances for each training, to 60. We use the Adam optimizer [25] to optimize the neural network, and set the learning rate to . The first momentum, the second momentum and epsilon of the Adam optimizer is set to 0.9, 0.999 and respectively following their recommended settings. The CNN architecture is implemented by Python language with Tensorflow library on a Nvidia 1080Ti graphic card. At the end of each epoch, we use the validation instances to test the performance of our network. The network whose parameters perform the best (i.e., having the highest accuracy) on the validation instances will be saved. After the training, we use the testing instances to evaluate the performance of the well-trained network. To obtain reliable results, we repeat the training and testing process five independent times and record the mean of the prediction accuracy.

Fig. 4. The overall CNN architecture.

TABLE I PARAMETER SETTINGS OF THE ARCHITECTURES. THE CONVOLUTIONAL GROUP 5 IS NOT INCLUDED IN THE ARCHITECTURE FOR THE INSTANCES WITH

group layers kernel size stride output channel

C. Classification results of classifying problem instances to different classes

In the first experiment, we investigate the classification capability of our approach on the BBOB function instances with D = 2 and D = 10. In the BBOB competition settings [17], the total number of evaluations for an optimization process is , where D is the problem dimension. In our experiment, the number of sampled candidates for the two kinds of instances are approximately 10% of the total budget. We sample candidates for instances with D = 2 which corresponds to 10.125% of the total budge, and sample candidates for instances with D = 10 which corresponds to 10% of the total budge. We investigate the instances with D = 2 because their landscape are similar to images. We investigate instances with D = 10 because this kind of instances are commonly investigated in many papers of algorithm selection field.

In this experiment, we evaluate the performance of using the deep neural network to classify the BBOB functions. For each of the 24 problem class, we generate 250 different instances. Thus, there are instances in total. We use 70% instances for training, 10% instances for validation, and 20% instances for testing. Given an unknown instance from the testing set, the classification task for our approach is to predict which problem class it belongs to. There are 24 possible prediction results in total. Thus, the baseline accuracy should be 1/24 = 4.17%. Table II shows the classification results for instances with D = 2 and D = 10.

TABLE II THE ACCURACY OF CLASSIFYING THE BBOB INSTANCES WITH AND PROBLEM CLASSES.

Both results for the instances with D = 2 and D = 10 are much higher than the baseline accuracy. It indicates that our approach can classify the optimization functions into their corresponding classes. For the instances with D = 2, the average accuracy is 65.27%. For the instances with D = 10, the average accuracy is 57.58%. It is reasonable that the performance on the 2-D problems is better. According to [26], if the increasing of the sample size does not match the exponential growth of D, the sample strategy will suffer from a convergence behaviour. This convergence behaviour discussed in depth in [26]. However, in our experiment, the sample size increases linearly. The phenomenon also implies that the deep neural network may not work for very high dimensional optimization problems unless a large sample size is applied.

For the problem instances having salient characteristics such as Sphere function (which is f1 of the BBOB suite), our approach can identify them into correct classes with a very high accuracy. However, for the problem instances having no salient characteristics such as Ellipsoidal function (both f2 and f10 of the BBOB suite belong to Ellipsoidal function), our approach inevitably classifies many instances into incorrect classes. Misclassification happens because of the inherent similarity between functions rather than the limitations of our approach. This may not be a big problem as problem instances sharing similar characteristics may map to the same optimization algorithm.

D. Classification results of algorithm selection

In this experiment, we investigate the performance of our approach on recommending the optimization algorithms for the BBOB functions with D = 10. The algorithm set consists of three optimization algorithms. They are artificial bee colony (ABC) [27], ovariance matrix adaptation evolution strategy (CMA-ES) [28] and linear population size reduction differential evolution (L-SHADE) [29]. The population sizes of ABC and CMA-ES are 125, 40 respectively. The initial population size of L-SHADE is set to 200. The settings follow their recommended settings in [27], [28], [29].

TABLE III THE ACCURACY OF RECOMMENDING THE MOST SUITABLE ALGORITHMS FOR THE BBOB INSTANCES WITH

Different from the first experiment, we do not test on the instances with D = 2 in this experiment. The reason is that the instances with D = 2 are very easy to solve. For most instances with D = 2, all the three algorithms can find the global optima. In this case, the algorithm selection problem is insignificant. We test on the instances with D = 10 only. Following the previous settings, we also sample 10000 candidates and convert the sampled vector to 100 image for each problem instance with D = 10.

For each of the 24 problem class, we also generate 250 different instances. Thus, there are 6000 instances in total. For each instance, we run the three optimization algorithms on it 51 independent times and select the best algorithm as the label. We still use 70% instances for training, 10% instances for validation, and 20% instances for testing. However, there are still some instances that more than one algorithm can find the global optima. In this experiment, we eliminate these instances from our dataset because these instances are not suitable for training and testing. Using instances with undetermined label will aggravate the performance of our neural network. There are 991 instances marked with undetermined labels from the training data, 149 instances from the validation data, and 292 instances from the testing data. After eliminating these unsuitable instances, there are 3209 instances used for training, 451 instances for validation, and 908 instances for testing.

TABLE IV THE RANK RESULTS OF OUR DEEP LEARNING APPROACH AND SINGLE OPTIMIZATION ALGORITHMS. IN THIS TABLE, (+), (-) AND (=) DENOTE THE CORRESPONDING ALGORITHM IS INFERIOR TO, SUPERIOR TO, AND EQUALLY WELL TO THE DEEP LEARNING APPROACH ON THE CORRESPONDING PROBLEM RESPECTIVELY.

There are three possible predicted outputs. Thus, the baseline accuracy in this experiment should be 1/3 = 33.33%. Following the previous settings, we also record the parameters of the networks that perform the best on the validation instances and use testing instances to evaluate the recorded network. The training and testing process are also repeated five times to obtain a reliable result.

Table III records the accuracy results. The average accuracy is 89.33%, which greatly outperforms the baseline accuracy. For most problem classes, the accuracy is more than 90%. It indicates that our approach can recommend the most suitable optimization algorithms for most of the optimization problem instances.

E. Comparisons of fitness results

In this experiment, we investigate the optimization capability of our approach. We treat our approach as a portfolio approach and compare it with the three single optimization

TABLE V THE DETAILED AVERAGE RESULTS OF OUR DEEP LEARNING APPROACH AND SINGLE OPTIMIZATION ALGORITHMS.

algorithms (i.e., ABC, CMA-ES and L-SHADE). We also test on the instances with D = 10 only. For each instance, we use 10% budget to sample candidates (i.e., 10000 candidates are sampled) and generate an image as the input of deep learning. In the second experiment, we repeatedly train and test five times and generated five well-trained networks. In this experiment, we use the well-trained network having the median accuracy performance in the second experiment to recommend an optimization algorithm from the algorithm set for each testing instance. We use the remaining 90% budget to run the recommended algorithm on the instance. The fitness results found by our approach are compared with the results obtained by the single optimization algorithms with 100% budget. Our approach and the three single optimization algorithms are run on each testing instance 51 independent times.

Table IV shows the rank results. We use Kruskal-Wallis test and multiple comparison test with p-value = 0.05 to test the significance. Compared with the three single algorithms, our deep learning approach has the best average ranks. For most problems, the deep learning approach can find the best optimization algorithm. Note that the key of our approach is to select the most suitable algorithm from the algorithm set. Thus, it is reasonable that our approach does not beat all algorithms on all problems. The detailed results with averaged fitness results are shown in table V.

V. CONCLUSION AND FUTURE WORKS

Algorithm selection is an important topic since different types of optimization problems require different optimization algorithms. In recent years, researchers treat algorithm selection as a classification or regression task and propose many approaches for tackling it. On the other hand, deep neural network especially convolutional neural network has shown great capability of dealing with classification and regression tasks. However, only a few works focus on applying deep learning to algorithm selection, and little work has been done on applying deep learning to black box algorithm selection. In this paper, we propose an approach employing convolutional neural network architecture for algorithm selection.

We conduct three experiments to investigate the performance of our approach. In the first experiment, we show the classification capability of classifying the BBOB instances into their corresponding problem classes. In the second experiment, we show the capability of recommending optimization algorithms for given optimization problems. The accuracy is vastly better than the baseline accuracy. In the last experiment, we investigate the optimization capability of our approach. We use the well-trained convolutional neural network in the second experiment to recommend optimization algorithms, and use the predicted algorithms to optimize the given problems. The comparison results indicate that our deep learning approach can solve optimization problems effectively.

There are still lots of works that can be done in the future. In this paper, we only treat algorithm selection problem as a classification task, while treating it as a regression task is also reasonable. Moreover, our convolutional neural network follows the architecture of VGG, while other powerful architectures can also be used. The sampling strategy can also be improved. We uniformly sample candidates from the entire search space, while other sample strategies such as Latin hypercube sampling [30] can also be applied.

REFERENCES

[1] R. Roy, S. Hinduja, and R. Teti, “Recent advances in engineering design optimisation: Challenges and future trends,” CIRP Annals, vol. 57, no. 2, pp. 697–715, 2008.

[2] X. Zhang, K. F. Fong, and S. Y. Yuen, “A novel artificial bee colony al- gorithm for hvac optimization problems,” HVAC&R Research, vol. 19, no. 6, pp. 715–731, 2013.

[3] D. H. Wolpert and W. G. Macready, “No free lunch theorems for optimization,” IEEE Transactions on Evolutionary Computation, vol. 1, no. 1, pp. 67–82, 1997.

[4] P. Kerschke, H. H. Hoos, F. Neumann, and H. Trautmann, “Automated algorithm selection: Survey and perspectives,” Evolutionary Computation, vol. 27, no. 1, pp. 3–45, 2019.

[5] Y. LeCun, Y. Bengio, and G. Hinton, “Deep learning,” Nature, vol. 521, no. 7553, pp. 436–444, 2015.

[6] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” arXiv preprint arXiv:1409.1556, 2014.

[7] F. Peng, K. Tang, G. Chen, and X. Yao, “Population-based algorithm portfolios for numerical optimization,” IEEE Transactions on Evolutionary Computation, vol. 14, no. 5, pp. 782–800, 2010.

[8] J. A. Vrugt, B. A. Robinson, and J. M. Hyman, “Self-adaptive multimethod search for global optimization in real-parameter spaces,” IEEE Transactions on Evolutionary Computation, vol. 13, no. 2, pp. 243–259, 2008.

[9] S. Y. Yuen, C. K. Chow, X. Zhang, and Y. Lou, “Which algorithm should i choose: An evolutionary algorithm portfolio approach,” Applied Soft Computing, vol. 40, pp. 654–673, 2016.

[10] S.-Z. Zhao, P. N. Suganthan, and Q. Zhang, “Decomposition-based multiobjective evolutionary algorithm with an ensemble of neighborhood sizes,” IEEE Transactions on Evolutionary Computation, vol. 16, no. 3, pp. 442–446, 2012.

[11] G. Wu, R. Mallipeddi, P. N. Suganthan, R. Wang, and H. Chen, “Dif- ferential evolution with multi-population based ensemble of mutation strategies,” Information Sciences, vol. 329, pp. 329–345, 2016.

[12] G. Wu, R. Mallipeddi, and P. N. Suganthan, “Ensemble strategies for population-based optimization algorithms–a survey,” Swarm and Evolutionary Computation, vol. 44, pp. 695–711, 2019.

[13] M. A. Mu˜noz, Y. Sun, M. Kirley, and S. K. Halgamuge, “Algorithm selection for black-box continuous optimization problems: A survey on methods and challenges,” Information Sciences, vol. 317, pp. 224– 245, 2015.

[14] P. Kerschke and J. Dagefoerde, “flacco: Feature-based landscape analysis of continuous and constraint optimization problems,” Rpackage version, vol. 1, 2017.

[15] P. Kerschke and H. Trautmann, “Automated algorithm selection on continuous black-box problems by combining exploratory landscape analysis and machine learning,” Evolutionary Computation, vol. 27, no. 1, pp. 99–127, 2019.

[16] B. Bischl, O. Mersmann, H. Trautmann, and M. Preuß, “Algorithm selection based on exploratory landscape analysis and cost-sensitive learning,” in Proceedings of the 14th annual conference on genetic and evolutionary computation. ACM, 2012, pp. 313–320.

[17] N. Hansen, A. Auger, R. Ros, S. Finck, and P. Poˇs´ık, “Comparing re- sults of 31 algorithms from the black-box optimization benchmarking bbob-2009,” in Proceedings of the 12th annual conference companion on genetic and evolutionary computation. ACM, 2010, pp. 1689– 1696.

[18] M. A. Mu˜noz, M. Kirley, and S. K. Halgamuge, “Exploratory land- scape analysis of continuous space optimization problems using information content,” IEEE Transactions on Evolutionary Computation, vol. 19, no. 1, pp. 74–87, 2014.

[19] M. A. Mu˜noz and K. A. Smith-Miles, “Performance analysis of con- tinuous black-box optimization algorithms via footprints in instance space,” Evolutionary Computation, vol. 25, no. 4, pp. 529–554, 2017.

[20] Y. He, S. Y. Yuen, Y. Lou, and X. Zhang, “A sequential algorithm portfolio approach for black box optimization,” Swarm and Evolutionary Computation, vol. 44, pp. 559–570, 2019.

[21] Y. He, S. Y. Yuen, and Y. Lou, “Exploratory landscape analysis using algorithm based sampling,” in Proceedings of the Genetic and Evolutionary Computation Conference Companion. ACM, 2018, pp. 211–212.

[22] M. A. Mu˜noz, M. Kirley, and S. K. Halgamuge, “A meta-learning pre- diction model of algorithm performance for continuous optimization problems,” in International Conference on Parallel Problem Solving from Nature. Springer, 2012, pp. 226–235.

[23] A. Loreggia, Y. Malitsky, H. Samulowitz, and V. Saraswat, “Deep learning for algorithm portfolios,” in Thirtieth AAAI Conference on Artificial Intelligence, 2016.

[24] X. Glorot, A. Bordes, and Y. Bengio, “Deep sparse rectifier neural networks,” in Proceedings of the fourteenth international conference on artificial intelligence and statistics, 2011, pp. 315–323.

[25] D. P. Kingma and J. Ba, “Adam: A method for stochastic optimiza- tion,” arXiv preprint arXiv:1412.6980, 2014.

[26] R. Morgan and M. Gallagher, “Sampling techniques and distance met- rics in high dimensional continuous landscape analysis: Limitations and improvements,” IEEE Transactions on Evolutionary Computation, vol. 18, no. 3, pp. 456–461, 2013.

[27] D. Karaboga and B. Basturk, “A powerful and efficient algorithm for numerical function optimization: artificial bee colony (abc) algorithm,” Journal of Global Optimization, vol. 39, no. 3, pp. 459–471, 2007.

[28] N. Hansen, S. D. M¨uller, and P. Koumoutsakos, “Reducing the time complexity of the derandomized evolution strategy with covariance matrix adaptation (cma-es),” Evolutionary Computation, vol. 11, no. 1, pp. 1–18, 2003.

[29] R. Tanabe and A. S. Fukunaga, “Improving the search performance of shade using linear population size reduction,” in 2014 IEEE Congress on Evolutionary Computation (CEC). IEEE, 2014, pp. 1658–1665.

[30] M. Stein, “Large sample properties of simulations using latin hyper- cube sampling,” Technometrics, vol. 29, no. 2, pp. 143–151, 1987.

Designed for Accessibility and to further Open Science