org.apache.commons.math.optimization.linear
Class AbstractLinearOptimizer

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

public abstract class AbstractLinearOptimizer
extends Object
implements LinearOptimizer

Base class for implementing linear optimizers.

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

Since:
2.0

Field Summary
static int DEFAULT_MAX_ITERATIONS
          Default maximal number of iterations allowed.
 
Method Summary
 int getIterations()
          Get the number of iterations realized by the algorithm.
 int getMaxIterations()
          Get the maximal number of iterations of the algorithm.
 RealPointValuePair optimize(LinearObjectiveFunction f, Collection<LinearConstraint> constraints, GoalType goalType, boolean restrictToNonNegative)
          Optimizes an objective function.
 void setMaxIterations(int maxIterations)
          Set the maximal number of iterations of the algorithm.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_MAX_ITERATIONS

public static final int DEFAULT_MAX_ITERATIONS
Default maximal number of iterations allowed.

See Also:
Constant Field Values
Method Detail

setMaxIterations

public void setMaxIterations(int maxIterations)
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()
Get the maximal number of iterations of the algorithm.

Specified by:
getMaxIterations in interface LinearOptimizer
Returns:
maximal number of iterations

getIterations

public int getIterations()
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

optimize

public RealPointValuePair optimize(LinearObjectiveFunction f,
                                   Collection<LinearConstraint> constraints,
                                   GoalType goalType,
                                   boolean restrictToNonNegative)
                            throws OptimizationException
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:
OptimizationException - if no solution fulfilling the constraints can be found in the allowed number of iterations


jHepWork 3.1 ©