Software | HEAL

As a research group our mission is to provide software artifacts of our research projects. Certainly, our biggest effort is the optimization environment HeuristicLab that is maintained since 2003 and continously developed.

However, as our projects have diversified and grown, HeuristicLab is no longer our only software framework. In addition, we have started to provide more, but smaller packages. Thus, we have created a GitHub organization that contains the source code of our software artefacts. In the following we give a short introduction to our software packages.

heal-research GitHub organization

We publish our open-source projects under our GitHub organization heal-research. [GitHub]


HeuristicLab is a framework for heuristic and evolutionary algorithms that is developed by members of the Heuristic and Evolutionary Algorithms Laboratory (HEAL) since 2002. HeuristicLab was released in 2009 in version 3.3.0 and has since been further developed. The last release was 3.3.16 in July 2019. It is used in teaching activities to demonstrate the performance and influence of parameters on metaheuristics, but also in research and industrial projects. The implemented algorithms and problems can be employed to model decision situations and solve these.


Sim# (SimSharp) is a .NET port and extension of SimPy, process-based discrete event simulation framework. Sim# allows modeling processes easily and with little boiler plate code. A process is described as a method that yields events. When an event is yielded, the process waits on it. Processes are themselves events and so it is convenient to spawn sub-processes that can either be waited upon or that run next to each other. There is no need to inherit from classes or understand a complex object oriented design.


Operon is a modern C++ framework for symbolic regression that uses genetic programming to explore a hypothesis space of possible mathematical expressions in order to find the best-fitting model for a given regression target. Its main purpose is to help develop accurate and interpretable white-box models in the area of system identification. More in-depth documentation available at


vstat is a C++17 library of computationally efficient methods for calculating sample statistics (mean, variance, covariance, correlation). The implementation builds upon the SIMD abstraction layer provided by the Vector Class Library. It uses a data-parallel Youngs and Cramer algorithm for numerically stable computations of sums and sums-of-squares.


Pappus is a modern C++ library for affine arithmetic.


HEAL.Attic is a serialization and persistence framework for .NET. It allows you to save objects to a file and later restore these objects. HEAL.Attic serializes and deserializes complete object graphs. It uses Google Protocol Buffers for compact storage.


HEAL.Entities provides default classes and implementations for domain driven software development and application design. It includes repository implementations for CRUD access to any RDBMS compatible with EntityFrameworkCore, the Data Vault 2.0 data model and reading Excel files.


HEAL.VarPro is an implementation of variable projection with L1 regularization for separable non-linear least squares.