hMod: A software framework for assembling highly detailed heuristics algorithms

Urra, Enrique; Cubillos, Claudio; Cabrera?Paniagua, Daniel; Mellado, Rafael

Keywords: heuristic algorithms, algorithm assembling, dependency injection, hyperheuristics, software framework

Abstract

Software design and component reuse for heuristic algorithms have gained in relevance; however, further innovation is needed. In this context, hMod is presented as a software framework suited for implementing heuristic algorithms, with a focus on intensive reuse of highly cohesive operator and data components within algorithmic structures, making it possible to dynamically (re)configure and manage such a structure. Rather than a fast-prototyping tool, hMod supports heuristic implementation in the long term, whereby complexity can escalate from simple operators to major hyperheuristic architectures. In its core resides a novel object-oriented representation of algorithms through a pattern-like implementation, namely, algorithm assembling (AA). Additionally, it incorporates component integration features, such as dependency injection mechanisms. hMod has been mentioned in previous research, in which hyperheuristic methods were implemented and evaluated from an optimization perspective. In this work, a description of the framework is presented from the software design perspective, including the AA model, its architecture, and a detailed presentation of the main features of the framework. Previous hMod applications have demonstrated that it supports not only the software design requirements of heuristic algorithms but performance standards as well. Available sources of the framework can be found in http://gitlab.com/eurra/hmod.

Más información

Título según WOS: hMod: A software framework for assembling highly detailed heuristics algorithms
Título según SCOPUS: hMod: A software framework for assembling highly detailed heuristics algorithms
Título de la Revista: SOFTWARE-PRACTICE & EXPERIENCE
Volumen: 49
Número: 6
Editorial: Wiley
Fecha de publicación: 2019
Página de inicio: 971
Página final: 994
Idioma: English
DOI:

10.1002/spe.2690

Notas: ISI, SCOPUS - In press (currently accepted)