Class MinimizeOpenMM

java.lang.Object
ffx.algorithms.optimize.Minimize
ffx.algorithms.optimize.MinimizeOpenMM
All Implemented Interfaces:
Terminatable, OptimizationListener

public class MinimizeOpenMM extends Minimize
OpenMM accelerated L-BFGS minimization.
Since:
1.0
Author:
Michael J. Schnieders
  • Constructor Details

  • Method Details

    • minimize

      public Potential minimize(int m, double eps, int maxIterations)
      Note the OpenMM L-BFGS minimizer does not accept the parameter "m" for the number of previous steps used to estimate the Hessian.
      Overrides:
      minimize in class Minimize
      Parameters:
      m - The number of previous steps used to estimate the Hessian (ignored).
      eps - The convergence criteria.
      maxIterations - The maximum number of iterations.
      Returns:
      The potential.
    • minimize

      public Potential minimize(double eps, int maxIterations)
      minimize
      Overrides:
      minimize in class Minimize
      Parameters:
      eps - The convergence criteria.
      maxIterations - The maximum number of iterations.
      Returns:
      a Potential object.
    • optimizationUpdate

      public boolean optimizationUpdate(int iteration, int nBFGS, int functionEvaluations, double rmsGradient, double rmsCoordinateChange, double energy, double energyChange, double angle, LineSearch.LineSearchResult lineSearchResult)
      MinimizeOpenMM does not support the OptimizationListener interface.
      Specified by:
      optimizationUpdate in interface OptimizationListener
      Overrides:
      optimizationUpdate in class Minimize
      Parameters:
      iteration - Number of iterations.
      nBFGS - Number of L-BFGS correction vectors.
      functionEvaluations - Number of function evaluations.
      rmsGradient - RMS gradient at current solution.
      rmsCoordinateChange - RMS coordinate change at current solution.
      energy - Function value at current solution.
      energyChange - Change in the function value compared to the previous solution.
      angle - Current angle between gradient and search direction.
      lineSearchResult - Result of the line search (null at iteration == 0).
      Returns:
      A return value of false will terminate the optimization.
      Since:
      1.0