Hyper-heuristics aim at interchanging different solvers while solving a problem. The idea is to determine the best approach for solving a problem at its current state. This way, every time we make a move it gets us closer to a solution. The problem changes; so does its state. As a consequence, for the next move, a different solver may be invoked. Hyper-heuristics have been around for almost 20 years. However, combinatorial optimization problems date from way back. Thus, it is paramount to determine whether the efforts revolving around hyper-heuristic research have been targeted at the problems of the highest interest for the combinatorial optimization community. In this work, we tackle such an endeavor. We begin by determining the most relevant combinatorial optimization problems, and then we analyze them in the context of hyper-heuristics. The idea is to verify whether they remain as relevant when considering exclusively works related to hyper-heuristics. We find that some of the most relevant problem domains have also been popular for hyper-heuristics research. Alas, others have not and few efforts have been directed towards solving them. We identify the following problem domains, which may help in furthering the impact of hyper-heuristics: Shortest Path, Set Cover, Longest Path, and Minimum Spanning Tree. We believe that focusing research on ways for solving them may lead to an increase in the relevance and impact that hyper-heuristics have on combinatorial optimization problems.
Metaheuristics have become a widely used approach for solving a variety of practical problems. The literature is full of diverse metaheuristics based on outstanding ideas and with proven excellent capabilities. Nonetheless, oftentimes metaheuristics claim novelty when they are just recombining elements from other methods. Hence, the need for a standard metaheuristic model is vital to stop the current frenetic tendency of proposing methods chiefly based on their inspirational source. This work introduces a first step to a generalised and mathematically formal metaheuristic model, which can be used for studying and improving them. This model is based on a scheme of simple heuristics, which perform as building blocks that can be modified depending on the application. For this purpose, we define and detail all components and concepts of a metaheuristic (i.e., its search operators), such as heuristics. Furthermore, we also provide some ideas to take into account for exploring other search operator configurations in the future. To illustrate the proposed model, we analyse search operators from four well-known metaheuristics employed in continuous optimisation problems as a proof-of-concept. From them, we derive 20 different approaches and use them for solving some benchmark functions with different landscapes. Data show the remarkable capability of our methodology for building metaheuristics and detecting which operator to choose depending on the problem to solve. Moreover, we outline and discuss several future extensions of this model to various problem and solver domains.
The assessment of strengths and weaknesses of a solver is often limited by the diversity of the cases where it is tested upon. As such, it is paramount to have a versatile tool which finds the problem instances where such a solver excels/fails. In this manuscript, we propose to use an evolutionary algorithm for creating this tool. To validate our approach, we conducted several tests on four heuristics for the knapsack problem. Although, the process can be extended to other domains with relatively few changes. The tests cover different sets of instances, both favoring the performance of one heuristic while hindering that of the remaining ones, and vice versa. To further test our evolutionary-based model, we also apply it on a recent approach that combines the strengths of different heuristics to improve its performance (usually referred to as a hyper-heuristic). We show that it is possible to tailor instances in which even this more complex model excels/fails. Throughout our approach, a researcher can test a solver under different kinds of scenarios, delving deeper into the conditions that make it perform well/poorly. Therefore, we recommend using the proposed approach as a means to grasp better insights about strengths and weaknesses of different solvers.