25 #ifndef UQ_GSL_OPTIMIZER_H 
   26 #define UQ_GSL_OPTIMIZER_H 
   28 #include <queso/Optimizer.h> 
   45 class OptimizerMonitor;
 
   47 template <
class V, 
class M>
 
   48 class BaseScalarFunction;
 
  182 #endif // UQ_GSL_OPTIMIZER_H 
virtual void setFstepSize(double fstepSize)
Sets the step size to use in gradient-free solvers. 
 
void set_solver_type(SolverType solver)
 
SolverType string_to_enum(std::string &solver)
 
A templated (base) class for handling scalar functions. 
 
void setInitialPoint(const GslVector &intialPoint)
Set the point at which the optimization starts. 
 
A base class for handling optimisation of scalar functions. 
 
GslOptimizer(const BaseScalarFunction< GslVector, GslMatrix > &objectiveFunction)
Constructs an object that will maximize a scalar function. 
 
virtual void minimize(OptimizerMonitor *monitor=NULL)
Minimize the objective function, starting at m_initialPoint. 
 
virtual void setLineTolerance(double lineTolerance)
Sets the tolerance to use for line minimisation. 
 
Class for vector operations using GSL library. 
 
void minimize_with_gradient(unsigned int dim, OptimizerMonitor *monitor)
 
This class provides options for a Optimizer. 
 
bool solver_needs_gradient(SolverType solver)
Helper function. 
 
const GslVector & minimizer() const 
Return the point that minimizes the objective function. 
 
virtual ~GslOptimizer()
Destructor. 
 
virtual double getLineTolerance() const 
Gets the tolerance to use for line minimisation. 
 
const BaseScalarFunction< GslVector, GslMatrix > & m_objectiveFunction
 
A base class for handling optimisation of scalar functions. 
 
GslVector m_fstep_size
For use in gradient-free algorithms. 
 
virtual void setFdfstepSize(double fdfstepSize)
Sets the step to use in gradient-based solvers. 
 
double m_fdfstep_size
For use in gradient-based algorithms. 
 
void set_step_size(const GslVector &step_size)
Sets step size used in gradient-free solvers. 
 
void minimize_no_gradient(unsigned int dim, OptimizerMonitor *monitor)
 
Object to monitor convergence of optimizers. 
 
void set_line_tol(double tol)
Set GSL line minimization tolerance. 
 
virtual double getFdfstepSize() const 
Gets the step to use in gradient-based solvers. 
 
virtual std::string getSolverType() const 
Gets the algorithm to use for minimisation. 
 
virtual void setSolverType(std::string solverType)
Sets the algorithm to use for minimisation. 
 
const BaseScalarFunction< GslVector, GslMatrix > & objectiveFunction() const 
Returns the objective function. 
 
double m_line_tol
Line minimization tolerance in gradient-based algorithms. 
 
virtual double getFstepSize() const 
Gets the step size to use in gradient-free solvers. 
 
GslVector * m_initialPoint