IMP Reference Guide
develop.7cb8855c60,2024/10/08
The Integrative Modeling Platform
|
Hybrid Monte Carlo optimizer. More...
#include <IMP/isd/HybridMonteCarlo.h>
Hybrid Monte Carlo optimizer.
Definition at line 23 of file HybridMonteCarlo.h.
Public Member Functions | |
HybridMonteCarlo (Model *m, Float kT=1.0, unsigned steps=100, Float timestep=1.0, unsigned persistence=1) | |
double | do_evaluate (const ParticleIndexes &, bool) const override |
Get the current energy. More... | |
virtual void | do_step () override |
a class that inherits from this should override this method More... | |
Float | get_kinetic_energy () const |
MolecularDynamics * | get_md () const |
unsigned | get_number_of_md_steps () const |
unsigned | get_persistence () const |
Float | get_potential_energy () const |
double | get_timestep () const |
Float | get_total_energy () const |
virtual std::string | get_type_name () const override |
virtual ::IMP::VersionInfo | get_version_info () const override |
Get information about the module and version of the object. More... | |
void | set_number_of_md_steps (unsigned nsteps) |
void | set_persistence (unsigned persistence=1) |
void | set_timestep (Float ts) |
Public Member Functions inherited from IMP::core::MonteCarlo | |
MonteCarlo (Model *m) | |
double | get_best_accepted_energy () const |
If return best is on, returns the best energy found so far. More... | |
double | get_last_accepted_energy () const |
Return the energy of the last accepted state. More... | |
double | get_maximum_difference () const |
double | get_score_threshold () const |
Get the score threshold. More... | |
void | set_maximum_difference (double d) |
void | set_return_best (bool tf) |
void | set_score_moved (bool mv) |
If set true (default false), only rescore moved particles. More... | |
void | set_score_threshold (double s) |
Set the score threshold. More... | |
void | set_kt (Float t) |
Float | get_kt () const |
unsigned int | get_number_of_downward_steps () const |
Return how many times the optimizer has stepped to lower score. More... | |
unsigned int | get_number_of_upward_steps () const |
Return how many times the optimizer has stepped to higher score. More... | |
unsigned int | get_number_of_proposed_steps () const |
Get number of proposed moves. More... | |
unsigned int | get_number_of_accepted_steps () const |
Get number of accepted moves. More... | |
void | reset_statistics () |
void | remove_mover (MonteCarloMover *d) |
void | remove_movers (const MonteCarloMovers &d) |
void | set_movers (const MonteCarloMovers &ps) |
void | set_movers_order (const MonteCarloMovers &objs) |
unsigned int | add_mover (MonteCarloMover *obj) |
void | add_movers (const MonteCarloMovers &objs) |
void | clear_movers () |
unsigned int | get_number_of_movers () const |
bool | get_has_movers () |
MonteCarloMover * | get_mover (unsigned int i) const |
MonteCarloMovers | get_movers () const |
void | erase_mover (unsigned int i) |
void | reserve_movers (unsigned int sz) |
Public Member Functions inherited from IMP::Optimizer | |
Optimizer (Model *m, std::string name="Optimizer %1%") | |
double | get_last_score () const |
Return the score found in the last evaluate. More... | |
ScoringFunction * | get_scoring_function () const |
Return the scoring function that is being used. More... | |
bool | get_stop_on_good_score () const |
double | optimize (unsigned int max_steps) |
Optimize the model for up to max_steps iterations. More... | |
virtual void | set_scoring_function (ScoringFunctionAdaptor sf) |
Set the scoring function to use. More... | |
void | set_stop_on_good_score (bool tf) |
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 | erase_optimizer_state (unsigned int i) |
void | reserve_optimizer_states (unsigned int sz) |
Public Member Functions inherited from IMP::ModelObject | |
ModelObject (Model *m, std::string name) | |
bool | get_has_dependencies () const |
Return whether this object has dependencies computed. More... | |
bool | get_has_required_score_states () const |
Return whether score states are computed. More... | |
ModelObjectsTemp | get_inputs () const |
ModelObjectsTemps | get_interactions () const |
Get the interacting sets induced by this ModelObject. More... | |
Model * | get_model () const |
ModelObjectsTemp | get_outputs () const |
const ScoreStatesTemp & | get_required_score_states () const |
Get the score states that are ancestors of this in the dependency graph. More... | |
void | set_has_dependencies (bool tf) |
Either invalidate the dependencies or ensure they are correct. More... | |
void | set_has_required_score_states (bool tf) |
Compute the required score states. More... | |
Public Member Functions inherited from IMP::Object | |
virtual void | clear_caches () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
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 | |
Public Attributes inherited from IMP::core::MonteCarlo | |
list | movers |
A Python list of Movers More... | |
Public Attributes inherited from IMP::Optimizer | |
list | optimizer_states |
A Python list of OptimizerStates More... | |
Protected Member Functions inherited from IMP::core::MonteCarlo | |
bool | do_accept_or_reject_move (double score, double last, const MonteCarloMoverResult &moved) |
bool | do_accept_or_reject_move (double score, const MonteCarloMoverResult &moved) |
MonteCarloMoverResult | do_move () |
virtual Float | do_optimize (unsigned int max_steps) override |
override this function to do actual optimization More... | |
ParticleIndexes | get_movable_particles () const |
Protected Member Functions inherited from IMP::Optimizer | |
virtual ModelObjectsTemp | do_get_inputs () const override |
virtual ModelObjectsTemp | do_get_outputs () const override |
don't return anything here to avoid pointless dependencies More... | |
ModelObjectsTemp | get_optimizer_state_inputs () const |
void | update_states () const |
Update optimizer states, should be called at each successful step. More... | |
Protected Member Functions inherited from IMP::ModelObject | |
virtual ModelObjectsTemps | do_get_interactions () const |
virtual void | handle_set_has_required_score_states (bool) |
Protected Member Functions inherited from IMP::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
Protected Attributes inherited from IMP::core::MonteCarlo | |
ParticleIndexes | reset_pis_ |
|
overridevirtual |
Get the current energy.
By default it just calls Optimizer::get_scoring_function()->evaluate(false). However, if an incremental scoring function is used, the list of moved particles will be used to evaluate the score more efficiently. Also, if there is a maximum allowed difference in scores Optimizer::get_scoring_function()->evaluate_if_below() will be called instead, allowing more efficient evaluation. Classes which override this method should be similarly aware for efficiency.
The list of moved particles is passed.
Reimplemented from IMP::core::MonteCarlo.
|
overridevirtual |
a class that inherits from this should override this method
Reimplemented from IMP::core::MonteCarlo.
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::core::MonteCarlo.
Definition at line 55 of file HybridMonteCarlo.h.