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;
147 #endif // UQ_GSL_OPTIMIZER_H
void set_solver_type(SolverType solver)
void setInitialPoint(const GslVector &intialPoint)
Set the point at which the optimization starts.
virtual ~GslOptimizer()
Destructor.
GslOptimizer(const BaseScalarFunction< GslVector, GslMatrix > &objectiveFunction)
Constructs an object that will maximize a scalar function.
void set_step_size(const GslVector &step_size)
Sets step size used in gradient-free solvers.
void set_line_tol(double tol)
Set GSL line minimization tolerance.
double m_line_tol
Line minimization tolerance in gradient-based algorithms.
GslVector m_fstep_size
For use in gradient-free algorithms.
A templated (base) class for handling scalar functions.
SolverType string_to_enum(std::string &solver)
A base class for handling optimisation of scalar functions.
GslVector * m_initialPoint
virtual void minimize(OptimizerMonitor *monitor=NULL)
Minimize the objective function, starting at m_initialPoint.
Class for vector operations using GSL library.
bool solver_needs_gradient(SolverType solver)
Helper function.
Object to monitor convergence of optimizers.
const BaseScalarFunction< GslVector, GslMatrix > & m_objectiveFunction
const BaseScalarFunction< GslVector, GslMatrix > & objectiveFunction() const
Returns the objective function.
void minimize_no_gradient(unsigned int dim, OptimizerMonitor *monitor)
double m_fdfstep_size
For use in gradient-based algorithms.
void minimize_with_gradient(unsigned int dim, OptimizerMonitor *monitor)
A base class for handling optimisation of scalar functions.
const GslVector & minimizer() const
Return the point that minimizes the objective function.