IMP
2.0.0
The Integrative Modeling Platform
|
A simplex optimizer taken from GSL. More...
#include <IMP/gsl/Simplex.h>
Public Member Functions | |
Simplex (Model *m=nullptr) | |
virtual void | do_show (std::ostream &out) const |
Public Member Functions inherited from IMP::gsl::GSLOptimizer | |
GSLOptimizer (Model *m) | |
void | set_stop_score (double d) |
Stop the optimization if the score falls below this value. | |
Public Member Functions inherited from IMP::kernel::Optimizer | |
Optimizer (Model *m, std::string name="Optimizer %1%") | |
double | get_last_score () const |
Return the score found in the last evaluate. | |
Model * | get_model () const |
Get the model being optimized. | |
ScoringFunction * | get_scoring_function () const |
Return the scoring function that is being used. | |
bool | get_stop_on_good_score () const |
double | optimize (unsigned int max_steps) |
Optimize the model for up to max_steps iterations. More... | |
void | set_model (Model *m) |
Set the model being optimized. More... | |
virtual void | set_scoring_function (ScoringFunctionAdaptor sf) |
void | set_stop_on_good_score (bool tf) |
virtual void | show (std::ostream &out=std::cout) const |
Print info about the optimizer state. More... | |
void | remove_optimizer_state (OptimizerState *d) |
void | remove_optimizer_states (const OptimizerStates &d) |
void | set_optimizer_states (const OptimizerStates &ps) |
void | set_optimizer_states_order (const OptimizerStates &objs) |
unsigned int | add_optimizer_state (OptimizerState *obj) |
void | add_optimizer_states (const OptimizerStates &objs) |
void | clear_optimizer_states () |
unsigned int | get_number_of_optimizer_states () const |
bool | get_has_optimizer_states () |
OptimizerState * | get_optimizer_state (unsigned int i) const |
OptimizerStates | get_optimizer_states () const |
void | reserve_optimizer_states (unsigned int sz) |
Public Member Functions inherited from IMP::base::Object | |
virtual void | clear_caches () |
virtual IMP::base::VersionInfo | get_version_info () const =0 |
Get information about the module and version of the object. | |
void | set_check_level (CheckLevel l) |
void | set_log_level (LogLevel l) |
Set the logging level used in this object. More... | |
void | set_was_used (bool tf) const |
void | show (std::ostream &out=std::cout) const |
const std::string & | get_name () const |
void | set_name (std::string name) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::kernel::Optimizer | |
virtual double | do_optimize (unsigned int ns)=0 |
override this function to do actual optimization | |
void | update_states () const |
Update optimizer states, should be called at each successful step. More... | |
double | width (FloatKey k) const |
FloatIndexes | get_optimized_attributes () const |
void | set_value (FloatIndex fi, double v) const |
Float | get_value (FloatIndex fi) const |
Float | get_derivative (FloatIndex fi) const |
void | set_scaled_value (FloatIndex fi, Float v) const |
double | get_scaled_value (FloatIndex fi) const |
double | get_scaled_derivative (FloatIndex fi) const |
void | clear_range_cache () |
Clear the cache of range information. Do this at the start of optimization. | |
Related Functions inherited from IMP::gsl::GSLOptimizer | |
typedef IMP::base::Vector < IMP::base::WeakPointer < GSLOptimizer > > | GSLOptimizersTemp |
Simplex works by modifying a simplex in the space of the optimized attributes. The algorithm may not behave well when using score states, such as those involved in rigid bodies, which significantly change the values of the attributes. Then, again, it may work just fine. But be aware that it is not understood.
The main advantage of Simplex is that it is a local optimizer that does not require derivatives.