8 #ifndef IMPGSL_GSL_OPTIMIZER_H
9 #define IMPGSL_GSL_OPTIMIZER_H
11 #include <IMP/gsl/gsl_config.h>
14 #include <gsl/gsl_multimin.h>
16 IMPGSL_BEGIN_NAMESPACE
24 mutable double best_score_;
38 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
39 gsl_vector *get_state()
const;
40 void update_state(gsl_vector *x)
const;
41 void write_state(
const gsl_vector *x)
const;
43 double evaluate(
const gsl_vector *v);
44 double evaluate_derivative(
const gsl_vector *v, gsl_vector *df);
45 unsigned int get_dimension()
const {
49 double optimize(
unsigned int n,
const gsl_multimin_fdfminimizer_type *t,
50 double step,
double param,
double min_gradient);
52 double optimize(
unsigned int n,
const gsl_multimin_fminimizer_type *t,
53 double size,
double max_size);
A base class for GSL-based optimizers.
double optimize(unsigned int max_steps)
Optimize the model for up to max_steps iterations.
void set_stop_score(double d)
Stop the optimization if the score falls below this value.
Class for storing model, its restraints, constraints, and particles.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Base class for optimizers that act on individual attributes.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
Base class for all optimizers.