+#ifdef ALGORITHM_METRO
+#define ALGORITHM "metro"
+#include "sim-metro.hpp"
+#elif ALGORITHM_AHBMHB
+#include "sim-nonmetro.hpp"
+#define ALGORITHM "AhbMhb"
+#elif ALGORITHM_AHBMOR
+#include "sim-nonmetro.hpp"
+#define ALGORITHM "AhbMor"
+#elif ALGORITHM_AORMHB
+#include "sim-nonmetro.hpp"
+#define ALGORITHM "AorMhb"
+#elif ALGORITHM_AORMOR
+#include "sim-nonmetro.hpp"
+#define ALGORITHM "AorMor"
+#elif ALGORITHM_AORM0
+#include "sim-nonmetro.hpp"
+#define ALGORITHM "AorM0"
+#elif ALGORITHM_AHBM0
+#include "sim-nonmetro.hpp"
+#define ALGORITHM "AhbM0"
+#elif ALGORITHM_A0MOR
+#include "sim-nonmetro.hpp"
+#define ALGORITHM "A0Mor"
+#elif ALGORITHM_A0MHB
+#include "sim-nonmetro.hpp"
+#define ALGORITHM "A0Mhb"
+#else
+#error NO UPDATE-ALGORITHM DEFINED!
+#endif