Evolutionary algorithms are techniques widely used in practice to solve multi-objective optimisation problems, which are those composed of two or more competing functions to be optimised at the same time. These techniques are used in fields as diverse as biology, transport or health.
A multi-objective evolutionary algorithm can be formulated as a workflow of generic components (solution generation, termination detection, evaluation, selection, variation and replacement), so that depending on the specific instances selected from these components, a specific algorithm will be obtained. This offers the possibility of having a catalogue of components of each type, so that an analyst would be able to easily choose, using a graphical tool, which components to use to create a particular one. However, not all combinations of components are possible, so the idea arises to generate a semantics of evolutionary algorithms to specify, among others, these types of characteristics. These annotations have to be created by the developers of the algorithms, which is why they must be done using the programming languages in which they are developed and, from them, automatically generate the semantic information that allows the components to be characterised, and thus be able to determine, for example, for each component, which ones it could be related to within a workflow. This semantic annotation would facilitate the use of multi-objective evolutionary algorithms by users who are experts in an application domain but not experts in optimisation algorithms.
This Master's thesis proposes to investigate the use of semantic Web technologies in this context. Specifically, the aim is to define a methodology to design components of multi-objective evolutionary algorithms in the framework of multi-objective optimisation jMetalPy so that their properties can be specified with Python annotations and, automatically, generate the necessary semantic information through the BIGOWL ontology in order to integrate the components in the TITAN workflow platform so that they are available to users.