HMod: A software framework for assembling highly detailed heuristics algorithms. (7th March 2019) - Urra, Enrique; Cubillos, Claudio; Cabrera‐Paniagua, Daniel; Mellado, Rafael
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 inhttp://gitlab.com/eurra/hmod .