Class AbstractLinearOptimizer
- java.lang.Object
-
- org.apache.commons.math.optimization.linear.AbstractLinearOptimizer
-
- All Implemented Interfaces:
LinearOptimizer
- Direct Known Subclasses:
SimplexSolver
public abstract class AbstractLinearOptimizer extends java.lang.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
Fields Modifier and Type Field Description static intDEFAULT_MAX_ITERATIONSDefault maximal number of iterations allowed.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetIterations()Get the number of iterations realized by the algorithm.intgetMaxIterations()Get the maximal number of iterations of the algorithm.RealPointValuePairoptimize(LinearObjectiveFunction f, java.util.Collection<LinearConstraint> constraints, GoalType goalType, boolean restrictToNonNegative)Optimizes an objective function.voidsetMaxIterations(int maxIterations)Set the maximal number of iterations of the algorithm.
-
-
-
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:
setMaxIterationsin interfaceLinearOptimizer- Parameters:
maxIterations- maximal number of function calls
-
getMaxIterations
public int getMaxIterations()
Get the maximal number of iterations of the algorithm.- Specified by:
getMaxIterationsin interfaceLinearOptimizer- 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
optimizemethod. It is 0 if the method has not been called yet.- Specified by:
getIterationsin interfaceLinearOptimizer- Returns:
- number of iterations
-
optimize
public RealPointValuePair optimize(LinearObjectiveFunction f, java.util.Collection<LinearConstraint> constraints, GoalType goalType, boolean restrictToNonNegative) throws OptimizationException
Optimizes an objective function.- Specified by:
optimizein interfaceLinearOptimizer- Parameters:
f- linear objective functionconstraints- linear constraintsgoalType- type of optimization goal: eitherGoalType.MAXIMIZEorGoalType.MINIMIZErestrictToNonNegative- 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
-
-