File gnc_optimizer.h#
-
namespace sym
-
template<typename BaseOptimizerType>
class GncOptimizer : public BaseOptimizerType - #include <gnc_optimizer.h>
Subclass of Optimizer for using Graduated Non-Convexity (GNC)
Assumes the convexity of the cost function is controlled by a hyperparameter mu. When mu == 0 the cost function should be convex and as mu goes to 1 the cost function should smoothly transition to a robust cost.
Public Functions
-
template<typename ...OptimizerArgs>
inline GncOptimizer(const optimizer_params_t &optimizer_params, const optimizer_gnc_params_t &gnc_params, const Key &gnc_mu_key, OptimizerArgs&&... args) Constructor that copies in factors and keys
-
virtual ~GncOptimizer() = default
-
inline void Optimize(Values<Scalar> &values, int num_iterations, bool populate_best_linearization, typename BaseOptimizer::Stats &stats) override
Private Functions
-
inline void OptimizeContinue(Values<Scalar> &values, const int num_iterations, const bool populate_best_linearization, typename BaseOptimizer::Stats &stats)#
-
template<typename ...OptimizerArgs>
-
template<typename BaseOptimizerType>