hMod: A software framework for assembling highly detailed heuristics algorithms

Summary 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 a...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Software, practice & experience practice & experience, 2019-06, Vol.49 (6), p.971-994
Hauptverfasser: Urra, Enrique, Cubillos, Claudio, Cabrera‐Paniagua, Daniel, Mellado, Rafael
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Summary 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.
ISSN:0038-0644
1097-024X
DOI:10.1002/spe.2690