Better, Faster Optimisation
Keywords:Software Engineering, Optimisation
Discovering input parameters that yield optimal outputs in black-box functions poses a challenge in various domains, including machine learning and robotics applications. These challenges stem from the complex relationships among input parameters and between inputs and outputs, relationships that are unknown to the search algorithm. This means conventional mathematical techniques like gradient descent and differentiation are inapplicable, instead necessitating a systematic trial-and-error exploration of inputs. Numerous algorithms have been developed to address this issue; however, their performance falls significantly short of perfection. Recognising the potential for improvement, the objective of this project was to design, implement, and evaluate novel algorithms aimed at addressing limitations within existing ones and surpassing their performance. This evaluation necessitated the creation of a testing environment to facilitate robust comparisons between different algorithms. Particular emphasis has been placed on stochastic methods that harness probability distributions to guide the exploration of potential optimal inputs. Within this scope, CMA-ES and Bayesian Optimisation have both demonstrated success through different techniques, but they also exhibit significant shortcomings. As such, the project explores concepts that leverage the successful aspects of both algorithms to address their flaws and enhance performance. The research has produced two innovative enhancements to these existing algorithms and demonstrates their potential to surpass current performance.