## 2 Related Work
### Optimization Algorithm Selection  
The algorithm selection problem was first formalized by [PERSON] [14]: Starting from a set of problems which are represented by certain features, a _selection mapping_ shall be learned to choose the most appropriate algorithm from a set of available algorithms. The most general form of such selection mappings are taxonomies based on certain problem characteristics [15; 16]. In the case the problem is explicit convex, the algorithm can be selected from a set of well-established methods such as the simplex algorithm [17], interior point methods [18], or various gradient-based methods [19; 20].  
In the case the evaluation of a solution requires simulation tools, gradient information might not be available, and the problem characteristics are often (partially) unknown. In such situations, the algorithm is typically selected from the class of direct search methods. This class is loosely defined but contains methods based on model building [21], heuristics and metaheuristics. Heuristics are problem-tailored algorithms and metaheuristics are general purpose optimization algorithms, often imitating natural phenomena [22; 23]. The task of selecting the most appropriate algorithm from the class of direct search methods remains a difficult challenge [24].  
Naturally, algorithm selection can be based on theoretical and/or empirical knowledge. Theoretical results for direct search methods are scarce [25; 26] and comparisons between algorithms often consider only a single function class (see, e.g., [27]). Empirical comparisons between algorithms are much more frequently employed. Here, the algorithms are ranked based on their performance, e.g., towards the automatic recommendation of the most appropriate one for a specific function [28] or over a set of functions, so-called benchmarks. The literature on benchmarks is rich (cf. [29; 30; 31; 32; 33; 34; 35; 36; 37]), ranging from benchmarks based on mathematical functions to benchmarks based on instances of real-world problems. However, the results obtained from a specific benchmark are not easily generalizable nor transferable to different problems not included in the benchmark.  
Next to the problem-dependent performance of the algorithms, the performance is also dependent on the chosen algorithmic parameters, meaning the algorithm selection problem is followed by an algorithm parameter selection problem. For practitioners, this means after an algorithm is selected, determining suitable parameter values (population size, mutation rates, step sizes, etc.) might require a substantial amount of resources (parameter tuning). To overcome this challenge, methods for automatic configuration of algorithmic parameters were developed within the last decade [38; 39; 40; 41].  
Not addressed by these benchmark approaches are the preferences and requirements at the algorithm by the end-users. End-users might prefer, for example, an algorithm that can be applied to the whole product range with minimal changes over the best performing algorithm which requires a high effort for integrating the algorithm in the operational system. A major contribution of this work is to present an approach for integrating the end-user requirements into the algorithm selection process.