A pattern-driven solution for designing multi-objective evolutionary algorithms
- PDF / 1,705,690 Bytes
- 14 Pages / 595.276 x 790.866 pts Page_size
- 42 Downloads / 192 Views
(0123456789().,-volV)(0123456789().,-volV)
A pattern-driven solution for designing multi-objective evolutionary algorithms Giovani Guizzo1 • Silvia R. Vergilio1
Springer Science+Business Media B.V., part of Springer Nature 2018
Abstract Multi-objective evolutionary algorithms (MOEAs) have been widely studied in the literature, which led to the development of several frameworks and techniques to implement them. Consequently, the reusability, scalability and maintainability became fundamental concerns in the development of such algorithms. To this end, the use of design patterns (DPs) can benefit, ease and improve the design of MOEAs. DPs are reusable solutions for common design problems, which can be applied to almost any context. Despite their advantages to decrease coupling, increase flexibility, and allow an easier design extension, DPs have been underexplored for MOEA design. In order to contribute to this research topic, we propose a pattern-driven solution for the design of MOEAs. The MOEA designed with our solution is compared to another MOEA designed without it. The comparison considered: the Integration and Test Order (ITO) problem and the Traveling Salesman problem (TSP). Obtained results show that the use of this DP-driven solution allows the reuse of MOEA components, without decreasing the quality, in terms of hypervolume. This means that the developer can extend the algorithms to include other components using only object-oriented mechanisms in an easier way, while maintaining the expected results. Keywords Meta-heuristic design pattern Multi-objective evolutionary algorithm Software testing Hyper-heuristic Mathematics Subject Classification 68N30 68T20
1 Introduction Evolutionary Algorithms (EAs) (Eiben and Smith 2003) and Multi-Objective EAs (MOEAs) (Coello et al. 2007) are based on the theory of evolution, where the fittest solutions reproduce more often and survive by means of natural selection. In MOEAs, an individual is a solution from a population of solutions being evolved. The evolution process employs different procedures, such as fitness assignment, selection of the fittest individuals, crossover, mutation, replacement and other components for improving the final outcome.
& Giovani Guizzo [email protected] Silvia R. Vergilio [email protected] 1
EAs have been widely used to solve hard computational problems of diverse domain fields (Eiben and Smith 2003). This fact led to the development of several frameworks and techniques to ease the implementation of these algorithms (Nebro et al. 2015; Ochoa et al. 2012; Tsyganov and Bulychov 2012; Ventura et al. 2007; Fortin et al. 2012; Cahon et al. 2004). However, since EAs have several components and a lot of parameters, the maintainability and extensibility of the algorithms design became factors of interest. The issue is how to develop frameworks that can accommodate new algorithms and their components, without decreasing the software reusability. For example, if a developer wants to change the selection procedure of the algorithm b
Data Loading...