On the selection of appropriate benchmark functions for optimization algorithms
Examensarbete för masterexamen
In the field of software engineering optimization is an important aspect when it comes to ensuring that the software that is being developed is able to efficiently perform the necessary operations. Creating software that fast and reliable is required to be able to solve problems in a reasonable amount of time and is also something that gives a competitive edge in industry. There exist many different kinds of optimization algorithms that can help achieve this objective. To evaluate and compare these optimization algorithms, benchmark functions are used. However, there exists many different benchmark functions with different characteristics and selecting a good set of these to fairly evaluate an optimization algorithm thus becomes difficult due to the many aspects there are to consider. Selecting an appropriate set of benchmark functions is also an area that has not been sufficiently researched as of yet. A few problems that accompany the selection process is being able to create a set of benchmark functions that are of varying difficulty levels and at the same time don’t take an unreasonable amount of time to execute. This is the overarching problem that this thesis looks into. Based on the evaluation of the benchmark functions conducted, using item response theory and multi level models the results show that it is possible to create a good subset of benchmark functions from a larger set. The impact of the amount of dimensions considered by the optimization algorithm does not affect the results in this specific case. The benchmark functions can also be clustered into different difficulty levels. These results can be used in, for example, the creation of new optimization algorithms by being able to select an appropriate set of benchmark functions that are around the same difficulty levels as the optimization algorithm being developed. This makes the development process of new optimization algorithms faster and the resulting algorithms would then be of higher quality then the other options available.
optimization , benchmark , IRT , Bayesian