gtsam/nonlinear/NonlinearOptimizationParame...

52 lines
1.3 KiB
C++

/*
* NonlinearOptimizationParameters.h
*
* Created on: Oct 14, 2010
* Author: nikai
* Description:
*/
#pragma once
namespace gtsam {
// a container for all related parameters
struct NonLinearOptimizerParameters {
typedef enum {
SILENT,
ERROR,
LAMBDA,
TRYLAMBDA,
CONFIG,
DELTA,
TRYCONFIG,
TRYDELTA,
LINEAR,
DAMPED
} verbosityLevel;
typedef enum {
FAST,
BOUNDED,
CAUTIOUS
} LambdaMode;
double absDecrease_; /* threshold for the absolute decrease per iteration */
double relDecrease_; /* threshold for the relative decrease per iteration */
double sumError_; /* threshold for the sum of error */
int maxIterations_ ;
double lambdaFactor_ ;
verbosityLevel verbosity_;
LambdaMode lambdaMode_;
NonLinearOptimizerParameters(): absDecrease_(1), relDecrease_(1e-3), sumError_(0.0),
maxIterations_(100), lambdaFactor_(10.0), verbosity_(ERROR), lambdaMode_(BOUNDED){}
NonLinearOptimizerParameters(double absDecrease, double relDecrease, double sumError,
int iIters = 100, double lambdaFactor = 10, verbosityLevel v = ERROR, LambdaMode lambdaMode = BOUNDED)
:absDecrease_(absDecrease), relDecrease_(relDecrease), sumError_(sumError),
maxIterations_(iIters), lambdaFactor_(lambdaFactor), verbosity_(v), lambdaMode_(lambdaMode){}
};
}