Files
OrcaSlicer-bambulab/deps_src/libnest2d/include/libnest2d/optimizers/nlopt/genetic.hpp
2026-05-11 19:29:55 +01:00

35 lines
793 B
C++

#ifndef GENETIC_HPP
#define GENETIC_HPP
#include "nlopt_boilerplate.hpp"
namespace libnest2d { namespace opt {
class GeneticOptimizer: public NloptOptimizer {
public:
inline explicit GeneticOptimizer(const StopCriteria& scr = {}):
NloptOptimizer(method2nloptAlg(Method::G_GENETIC), scr) {}
inline GeneticOptimizer& localMethod(Method m) {
localmethod_ = m;
return *this;
}
inline void seed(unsigned long val) { nlopt::srand(val); }
};
template<>
struct OptimizerSubclass<Method::G_GENETIC> { using Type = GeneticOptimizer; };
template<>
inline TOptimizer<Method::G_GENETIC> GlobalOptimizer<Method::G_GENETIC>(
Method localm, const StopCriteria& scr )
{
return GeneticOptimizer (scr).localMethod(localm);
}
}
}
#endif // GENETIC_HPP