Rosetta
2016.11
|
Simple low-level minimizer class. More...
#include <Minimizer.hh>
Public Member Functions | |
Minimizer (Multifunc &func_in, MinimizerOptions const &options_in) | |
Real | run (Multivec &phipsi_inout) |
See Minimization overview and concepts for details. More... | |
Private Member Functions | |
void | linmin (Multivec &P, Multivec &XI, Real &FRET, int const ITMAX) const |
void | linmin_iterated (Multivec &P, Real &FRET, ConvergenceTest &converge_test, core::Size const ITMAX) const |
Carry out many iterations of line searches, using only the gradient vector (that is, don't approximate the Hessian or use it in any way). More... | |
void | dfpmin (Multivec &P, Real &FRET, ConvergenceTest &converge_test, int const ITMAX) const |
void | dfpmin_armijo (Multivec &P, Real &FRET, ConvergenceTest &converge_test, LineMinimizationAlgorithmOP line_min, int const ITMAX) const |
void | lbfgs (Multivec &P, Real &FRET, ConvergenceTest &converge_test, LineMinimizationAlgorithmOP line_min, int const ITMAX, bool w_rescore=false) const |
Private Attributes | |
Multifunc & | func_ |
MinimizerOptions | options_ |
Simple low-level minimizer class.
core::optimization::Minimizer::Minimizer | ( | Multifunc & | func_in, |
MinimizerOptions const & | options_in | ||
) |
|
private |
|
private |
References core::optimization::Multifunc::dfunc(), func_, protocols::comparative_modeling::features::G, core::optimization::MinimizerOptions::gmax_cutoff_for_convergence(), core::chemical::element::N, options_, core::optimization::MinimizerOptions::silent(), and core::optimization::TR().
Referenced by run().
|
private |
References core::id::D, core::optimization::Multifunc::dfunc(), func_, protocols::comparative_modeling::features::G, core::optimization::MinimizerOptions::gmax_cutoff_for_convergence(), core::chemical::element::K, core::chemical::element::N, options_, core::optimization::MinimizerOptions::silent(), core::optimization::TR(), core::chemical::element::W, and protocols::comparative_modeling::features::X.
Referenced by run().
|
private |
Carry out many iterations of line searches, using only the gradient vector (that is, don't approximate the Hessian or use it in any way).
Useful for testing minimization protocols. In theory, this should converge less efficiently than something that uses a Hessian approximation, but it will be entirely free of any erratic behaviour that results from the approximation used. Note that DFP/LBFGS approximations are not guaranteed to work well with all functions.
References core::optimization::Multifunc::dfunc(), func_, core::optimization::MinimizerOptions::linmin_deriv_cutoff(), options_, core::optimization::BrentLineMinimization::set_deriv_cutoff(), and core::optimization::TR().
Referenced by run().
See Minimization overview and concepts for details.
References dfpmin(), dfpmin_armijo(), core::optimization::Multifunc::dfunc(), func_, lbfgs(), linmin(), linmin_iterated(), core::optimization::MinimizerOptions::max_iter(), core::optimization::MinimizerOptions::min_type(), core::optimization::MinimizerOptions::minimize_tolerance(), options_, core::optimization::GA_Minimizer::run(), and core::optimization::MinimizerOptions::silent().
Referenced by protocols::helical_bundle::FitSimpleHelix::apply(), protocols::normalmode::NormalModeMinimizer::apply(), protocols::ncbb::SecStructMinimizeMover::apply(), protocols::electron_density::VoxelSpacingRefinementMover::apply(), protocols::electron_density::BfactorFittingMover::apply(), core::pack::minimize_alt_rotamer(), protocols::scoring::methods::pcs2::PcsEnergy::minimize_tensors_fix_from_PCS_data(), protocols::scoring::methods::pcsTs2::PCS_Energy_Ts2::minimize_tensors_from_PCS_data(), protocols::scoring::methods::pcsTs4::PCS_Energy_Ts4::minimize_tensors_from_PCS_data(), protocols::scoring::methods::pcsTs1::PCS_Energy_Ts1::minimize_tensors_from_PCS_data(), protocols::scoring::methods::pcsTs3::PCS_Energy_Ts3::minimize_tensors_from_PCS_data(), protocols::scoring::methods::pcs::PCS_Energy::minimize_tensors_from_PCS_data(), protocols::scoring::methods::pcs2::PcsEnergy::minimize_tensors_from_PCS_data(), protocols::scoring::methods::pcs2::PcsEnergy::minimize_tensors_from_PCS_data_with_svd(), protocols::optimize_weights::IterativeOptEDriver::optimize_weights(), core::optimization::symmetry::SymAtomTreeMinimizer::run(), core::optimization::AtomTreeMinimizer::run(), and core::optimization::CartesianMinimizer::run().
|
private |
Referenced by dfpmin(), dfpmin_armijo(), lbfgs(), linmin(), linmin_iterated(), and run().
|
private |
Referenced by dfpmin(), dfpmin_armijo(), lbfgs(), linmin_iterated(), and run().