52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
		
		
			
		
	
	
			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){} | ||
|  | 
 | ||
|  | 	}; | ||
|  | } |