With increased computing power, connectivity, small form factors allowing the omnipresence of embedded (IoT) systems and intelligent user interfaces, computers are becoming ready to tackle many challenges. Since the real world problems are often very complex and computationally intensive, it is vitally important that the algorithm performs at its best, without the need for any expert knowledge as part of the optimisation, in order to be used by non-experts. A reconfigurable optimisation algorithm, that includes an appropriate algorithm and its proper configuration could significantly enhance the problem-solving process. Since the majority of modern approaches still require time-consuming reconfiguration for new problem instances, a lot of research is being conducted on the topic of generalising optimisation to unseen problems through hyper-heuristics, which are search methods or learning mechanisms for selecting or generating heuristics to solve optimisation problems, and meta-learning for the selection of the best-configured algorithms in terms of features of the problem instances at hand, where the knowledge is extracted from previous experiences (based on applied statistics and information theory).
The heuristic algorithms are driven by control parameters, which are crucial for their efficient performance. The best control-parameter values depend on the problem and by smart encoding the level of the problemâ€™s difficulty might change. While the fine-tuned algorithm control parameters sometimes allow robust behaviour, the adaptive control is required to more effectively exploit and explore the search space. This includes some adaptive mechanisms on algorithm-control parameters, since the best algorithm-control parameter values depend on the current state of the optimisation process and thus change over time. The automatic setup of algorithms is one of the prerequisites to ensure ease of use for the complex industrial optimisation tools. Evolution has provided a source of inspiration for algorithm designers since the birth of computers. The resulting field of evolutionary computation has been successful in solving various engineering tasks. Nowadays, the field is entering a new phase as evolutionary algorithms take place in hardware, towards autonomous systems that can adapt to their environment.