Package pal.math

Class OrthogonalSearch


  • public class OrthogonalSearch
    extends MultivariateMinimum
    minimization of a real-valued function of several variables without using derivatives, using the simple strategy of optimizing variables one by one.
    Author:
    Korbinian Strimmer, Matthew Goode
    • Constructor Detail

      • OrthogonalSearch

        public OrthogonalSearch()
        Initialization
      • OrthogonalSearch

        public OrthogonalSearch​(boolean shuffle)
        Initialization
        Parameters:
        shuffle - If true uses shuffling, else uses ascending order, when choosing next parameter to optimse (true means equivalent to old StochasticOSearch)
    • Method Detail

      • setUseCurrentInUnivariateMinimisation

        public void setUseCurrentInUnivariateMinimisation​(boolean value)
      • setIgnoreNonMinimalUnivariateMinimisations

        public void setIgnoreNonMinimalUnivariateMinimisations​(boolean value)
        Should we ignore new minisations that are not as minimal as the current one?
      • optimize

        public void optimize​(MultivariateFunction f,
                             double[] xvec,
                             double tolfx,
                             double tolx)
        Description copied from class: MultivariateMinimum
        The actual optimization routine (needs to be implemented in a subclass of MultivariateMinimum). It finds a minimum close to vector x when the absolute tolerance for each parameter is specified.
        Specified by:
        optimize in class MultivariateMinimum
        Parameters:
        f - multivariate function
        xvec - initial guesses for the minimum (contains the location of the minimum on return)
        tolfx - absolute tolerance of function value
        tolx - absolute tolerance of each parameter
      • optimize

        public void optimize​(MultivariateFunction f,
                             double[] xvec,
                             double tolfx,
                             double tolx,
                             MinimiserMonitor monitor)
        Description copied from class: MultivariateMinimum
        The actual optimization routine It finds a minimum close to vector x when the absolute tolerance for each parameter is specified.
        Overrides:
        optimize in class MultivariateMinimum
        Parameters:
        f - multivariate function
        xvec - initial guesses for the minimum (contains the location of the minimum on return)
        tolfx - absolute tolerance of function value
        tolx - absolute tolerance of each parameter
        monitor - A monitor object that receives information about the minimising process (for display purposes)
      • generateFactory

        public static final MultivariateMinimum.Factory generateFactory​(boolean shuffle)
        Generate a MultivariateMinimum.Factory for an OrthogonalSearch
        Parameters:
        shuffle - if true shuffles order for each round (see OrthogonalSearch constructors)
      • generateUnivariateMinimum

        protected UnivariateMinimum generateUnivariateMinimum()
      • isFrequentMonitoring

        protected boolean isFrequentMonitoring()
      • isUseCurrentInUnivariateMinimisation

        protected final boolean isUseCurrentInUnivariateMinimisation()
      • isIgnoreNonMinimalUnivariateMinimisations

        protected final boolean isIgnoreNonMinimalUnivariateMinimisations()
        Should we ignore new minisations that are not as minimal as the current one?
      • debug

        protected void debug​(java.lang.Object output)
      • isDebug

        protected boolean isDebug()