diff --git a/eo/contrib/irace/CMakeLists.txt b/eo/contrib/irace/CMakeLists.txt index a77849b15..1e968d817 100644 --- a/eo/contrib/irace/CMakeLists.txt +++ b/eo/contrib/irace/CMakeLists.txt @@ -71,5 +71,5 @@ endif() add_executable(fastga fastga.cpp) # target_link_libraries(fastga ${PARADISEO_LIBRARIES} ${IOH_LIBRARY} stdc++fs) -target_link_libraries(fastga ${PARADISEO_LIBRARIES} stdc++fs fmt) +target_link_libraries(fastga ${PARADISEO_LIBRARIES} fmt) diff --git a/eo/contrib/irace/fastga.cpp b/eo/contrib/irace/fastga.cpp index 9c8c94088..ba55a22f8 100644 --- a/eo/contrib/irace/fastga.cpp +++ b/eo/contrib/irace/fastga.cpp @@ -519,8 +519,8 @@ int main(int argc, char* argv[]) ioh::trigger::OnImprovement on_improvement; ioh::watch::Evaluations evaluations; ioh::watch::TransformedYBest transformed_y_best; - std::vector> t = {std::ref(on_improvement)}; - std::vector> w = {std::ref(evaluations),std::ref(transformed_y_best)}; + std::vector> t = {on_improvement}; + std::vector> w = {evaluations,transformed_y_best}; csv_logger = std::make_shared( // {std::ref(on_improvement)}, // {std::ref(evaluations),std::ref(transformed_y_best)}, diff --git a/eo/src/eoInit.h b/eo/src/eoInit.h index 9146311fa..a73310778 100644 --- a/eo/src/eoInit.h +++ b/eo/src/eoInit.h @@ -196,7 +196,7 @@ class eoInitPermutation: public eoInit // FIXME inherit from eoInitWithDim for(unsigned idx=0;idx #include #include #include // needed for GCC 3.2 @@ -182,8 +183,10 @@ class eoPop: public std::vector, public eoObject, public eoPersistent */ void shuffle(void) { - UF_random_generator gen; - std::random_shuffle(begin(), end(), gen); + std::random_device rd; + std::mt19937 gen(rd()); + //UF_random_generator gen; // FIXME refactor + std::shuffle(begin(), end(), gen); } @@ -194,8 +197,10 @@ class eoPop: public std::vector, public eoObject, public eoPersistent std::transform(begin(), end(), result.begin(), Ref()); - UF_random_generator gen; - std::random_shuffle(result.begin(), result.end(), gen); + std::random_device rd; + std::mt19937 gen(rd()); + //UF_random_generator gen; // FIXME refactor + std::shuffle(result.begin(), result.end(), gen); } diff --git a/eo/src/ga/eoBit.h b/eo/src/ga/eoBit.h index 71c6aa62b..320a5b7d1 100644 --- a/eo/src/ga/eoBit.h +++ b/eo/src/ga/eoBit.h @@ -114,7 +114,8 @@ public: { resize(bits.size()); std::transform(bits.begin(), bits.end(), begin(), - std::bind2nd(std::equal_to(), '1')); + //std::bind2nd(std::equal_to(), '1')); + [](char bit){return bit == '1';} ); } } };