## Abstract

An algorithm selection method for black box design optimization problems is reported. It uses a simple and natural principle to select an algorithm set from a set of algorithm candidates. A set of benchmark problems is given, and the performance of each algorithm in the set is recorded in a knowledge base. Given an unknown problem, the default algorithm is run. An algorithm–problem feature is proposed and used to map to the most similar benchmark problem. Then the best algorithm for solving the problem is used in the second run. This process iterates until n runs have been made. The best result out of n runs is returned as the solution. Experimental results reveal that the algorithm–problem feature is a good problem identifier. Results are also reported when (1) both the training and testing set are the set of benchmark problems; and (2) the training set is the set of benchmark problems but the testing set is a set of real-world benchmark problems. The method works well on both scenarios. It attains almost the same performance as the best algorithm, and has better performance compared with random selection. As the best algorithm cannot be known a priori, the results confirm that the algorithm selection mechanism is effective. The performance of the algorithm as a function of n and the case when n is equal to two is also studied.

Original language | English |
---|---|

Pages (from-to) | 6511-6531 |

Number of pages | 21 |

Journal | Soft Computing |

Volume | 23 |

Issue number | 15 |

Early online date | 21 Jun 2018 |

DOIs | |

Publication status | Published - Aug 2019 |

Externally published | Yes |

### Bibliographical note

Funding Information:This study was funded by a grant from the Research Grants Council of the Hong Kong Special Administrative Region, China (Project No. CityU 125313).

Publisher Copyright:

© 2018, Springer-Verlag GmbH Germany, part of Springer Nature.

## Keywords

- Algorithm selection
- Benchmarking performance
- Black box problems
- Design optimization problems
- Evolutionary algorithm