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 NonlinearOptimizationParameters {
 | 
						|
		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_;
 | 
						|
 | 
						|
		NonlinearOptimizationParameters(): absDecrease_(1), relDecrease_(1e-3), sumError_(0.0),
 | 
						|
		maxIterations_(100), lambdaFactor_(10.0), verbosity_(ERROR), lambdaMode_(BOUNDED){}
 | 
						|
 | 
						|
		NonlinearOptimizationParameters(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){}
 | 
						|
 | 
						|
	};
 | 
						|
}
 |