Design Of Perturbative Hyper-Heuristics For Combinatorial Optimisation - Choong, Shin Siang (2019)
Combinatorial optimisation is an area which seeks to identify optimal solution(s) from a discrete solution search space. Approaches for solving combinatorial optimisation problems can be separated into two main sub-classes, i.e. exact and approximation algorithms. Exact algorithm is a sub-class of techniques that is able to guarantee global optimality. However, exact algorithms are not feasible for solving complex problem due to its high computational overhead. Approximation algorithm is a sub-class of techniques which is able to provide sub-optimal solution(s) with reasonable computational cost. In order to explore the solution search space of a combinatorial optimisation problem, an approximation algorithm performs perturbations on the existing solutions by adopting a single or multiple perturbative Low-Level Heuristic(s) (LLHs). The use of a single LLH leads to poor performance when the particular heuristic is incompetent in solving the problem. Thus, the use of multiple LLHs is more desirable as the weaknesses of one heuristic can be compensated by the strengths of another. When there are multiple LLHs, a hyper-heuristic can be integrated to determine the choice of heuristics for a particular problem or situation. Hyper-heuristic automates the selection of LLHs through a high-level heuristic that consists of two key components, i.e. a heuristic selection method and a move acceptance method. The capability of a high-level heuristic is highly problem dependent as the landscape properties of a problem are unique among others. The high-level heuristics in the existing hyper-heuristics are designed by manually matching different combinations of high-level heuristic components.