From 1778c51af1711b5d5d1621155042fc41ed118afd Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Tue, 12 Mar 2019 15:21:55 +0100 Subject: [PATCH] Fixed seed for the genetic optimizer for support generation --- src/libnest2d/include/libnest2d/optimizers/nlopt/genetic.hpp | 2 ++ src/libslic3r/SLA/SLASupportTree.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/libnest2d/include/libnest2d/optimizers/nlopt/genetic.hpp b/src/libnest2d/include/libnest2d/optimizers/nlopt/genetic.hpp index 731ead554..b92251ebd 100644 --- a/src/libnest2d/include/libnest2d/optimizers/nlopt/genetic.hpp +++ b/src/libnest2d/include/libnest2d/optimizers/nlopt/genetic.hpp @@ -14,6 +14,8 @@ public: localmethod_ = m; return *this; } + + inline void seed(unsigned long val) { nlopt::srand(val); } }; template<> diff --git a/src/libslic3r/SLA/SLASupportTree.cpp b/src/libslic3r/SLA/SLASupportTree.cpp index cbd27eb7c..4f449523a 100644 --- a/src/libslic3r/SLA/SLASupportTree.cpp +++ b/src/libslic3r/SLA/SLASupportTree.cpp @@ -1479,6 +1479,7 @@ public: stc.relative_score_difference = m_cfg.optimizer_rel_score_diff; stc.stop_score = w; // space greater than w is enough GeneticOptimizer solver(stc); + solver.seed(0); // we want deterministic behavior auto oresult = solver.optimize_max( [this, pin_r, w, hp](double plr, double azm) @@ -1778,6 +1779,7 @@ public: stc.relative_score_difference = m_cfg.optimizer_rel_score_diff; stc.stop_score = 1e6; GeneticOptimizer solver(stc); + solver.seed(0); // we want deterministic behavior double r_back = head.r_back_mm;