Class MultiOptimizer

java.lang.Object
com.irurueta.numerical.optimization.Optimizer
com.irurueta.numerical.optimization.MultiOptimizer
Direct Known Subclasses:
DerivativeLineMultiOptimizer, LineMultiOptimizer, QuasiNewtonMultiOptimizer, SimplexMultiOptimizer

public abstract class MultiOptimizer extends Optimizer
Abstract class to search for minima on multidimensional classes. A multidimensional class is one having several input parameters (usually provided as an array of values), and returning a single scalar value.
  • Field Details

    • listener

      Listener to evaluate a multidimensional function.
    • xmin

      protected double[] xmin
      Minimum that was estimated.
    • fmin

      protected double fmin
      Function value at estimated minimum.
    • resultAvailable

      protected boolean resultAvailable
      Boolean indicating whether a minimum has already been found or not.
  • Constructor Details

    • MultiOptimizer

      protected MultiOptimizer()
      Empty constructor.
    • MultiOptimizer

      protected MultiOptimizer(MultiDimensionFunctionEvaluatorListener listener)
      Constructor.
      Parameters:
      listener - Listener to evaluate a multidimensional function.
  • Method Details

    • getListener

      Returns listener to evaluate a multidimensional function
      Returns:
      Listener to evaluate a multidimensional function.
      Throws:
      NotAvailableException - Raised if listener has not yet been provided and is not available for retrieval.
    • setListener

      public void setListener(MultiDimensionFunctionEvaluatorListener listener) throws LockedException
      Sets listener to evaluate a multidimensional function.
      Parameters:
      listener - Listener to evaluate a multidimensional function.
      Throws:
      LockedException - Raised if this instance is locked.
    • isListenerAvailable

      public boolean isListenerAvailable()
      Returns boolean indicating whether listener has been provided and is available for retrieval.
      Returns:
      True if available, false otherwise.
    • isReady

      public boolean isReady()
      Returns boolean indicating whether this instance is ready to start the estimation of a minimum. Because this class is abstract, this method is meant to be overridden, otherwise false will always be returned.
      Overrides:
      isReady in class Optimizer
      Returns:
      Boolean indicating whether this instance is ready.
    • isResultAvailable

      public boolean isResultAvailable()
      Returns boolean indicating whether a minimum has been estimated and is available for retrieval.
      Returns:
      True if result is available, false otherwise.
    • getResult

      public double[] getResult() throws NotAvailableException
      Returns minimum point that was found.
      Returns:
      Minimum point
      Throws:
      NotAvailableException - Raised if a minimum is not yet available for retrieval.
    • getEvaluationAtResult

      public double getEvaluationAtResult() throws NotAvailableException
      Returns function evaluation at estimated minimum point.
      Returns:
      Function evaluation at minimum.
      Throws:
      NotAvailableException - Raised if a minimum is not yet available for retrieval.