Class AbstractLinearOptimizer

java.lang.Object
org.apache.commons.math3.optimization.linear.AbstractLinearOptimizer
All Implemented Interfaces:
LinearOptimizer
Direct Known Subclasses:
SimplexSolver

@Deprecated public abstract class AbstractLinearOptimizer extends Object implements LinearOptimizer
Deprecated.
As of 3.1 (to be removed in 4.0).
Base class for implementing linear optimizers.

This base class handles the boilerplate methods associated to thresholds settings and iterations counters.

Since:
2.0
  • Field Details

    • DEFAULT_MAX_ITERATIONS

      public static final int DEFAULT_MAX_ITERATIONS
      Deprecated.
      Default maximal number of iterations allowed.
      See Also:
  • Constructor Details

    • AbstractLinearOptimizer

      protected AbstractLinearOptimizer()
      Deprecated.
      Simple constructor with default settings.

      The maximal number of evaluation is set to its default value.

  • Method Details

    • restrictToNonNegative

      protected boolean restrictToNonNegative()
      Deprecated.
      Returns:
      true if the variables are restricted to non-negative values.
    • getGoalType

      protected GoalType getGoalType()
      Deprecated.
      Returns:
      the optimization type.
    • getFunction

      protected LinearObjectiveFunction getFunction()
      Deprecated.
      Returns:
      the optimization type.
    • getConstraints

      protected Collection<LinearConstraint> getConstraints()
      Deprecated.
      Returns:
      the optimization type.
    • setMaxIterations

      public void setMaxIterations(int maxIterations)
      Deprecated.
      Set the maximal number of iterations of the algorithm.
      Specified by:
      setMaxIterations in interface LinearOptimizer
      Parameters:
      maxIterations - maximal number of function calls
    • getMaxIterations

      public int getMaxIterations()
      Deprecated.
      Get the maximal number of iterations of the algorithm.
      Specified by:
      getMaxIterations in interface LinearOptimizer
      Returns:
      maximal number of iterations
    • getIterations

      public int getIterations()
      Deprecated.
      Get the number of iterations realized by the algorithm.

      The number of evaluations corresponds to the last call to the optimize method. It is 0 if the method has not been called yet.

      Specified by:
      getIterations in interface LinearOptimizer
      Returns:
      number of iterations
    • incrementIterationsCounter

      protected void incrementIterationsCounter() throws MaxCountExceededException
      Deprecated.
      Increment the iterations counter by 1.
      Throws:
      MaxCountExceededException - if the maximal number of iterations is exceeded
    • optimize

      public PointValuePair optimize(LinearObjectiveFunction f, Collection<LinearConstraint> constraints, GoalType goalType, boolean restrictToNonNegative) throws MathIllegalStateException
      Deprecated.
      Optimizes an objective function.
      Specified by:
      optimize in interface LinearOptimizer
      Parameters:
      f - linear objective function
      constraints - linear constraints
      goalType - type of optimization goal: either GoalType.MAXIMIZE or GoalType.MINIMIZE
      restrictToNonNegative - whether to restrict the variables to non-negative values
      Returns:
      point/value pair giving the optimal value for objective function
      Throws:
      MathIllegalStateException - if no solution fulfilling the constraints can be found in the allowed number of iterations
    • doOptimize

      protected abstract PointValuePair doOptimize() throws MathIllegalStateException
      Deprecated.
      Perform the bulk of optimization algorithm.
      Returns:
      the point/value pair giving the optimal value for objective function
      Throws:
      MathIllegalStateException - if no solution fulfilling the constraints can be found in the allowed number of iterations