Class AbstractLinearOptimizer
java.lang.Object
org.apache.commons.math.optimization.linear.AbstractLinearOptimizer
- All Implemented Interfaces:
LinearOptimizer
- Direct Known Subclasses:
SimplexSolver
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
FieldsModifier and TypeFieldDescriptionstatic final intDefault maximal number of iterations allowed. -
Method Summary
Modifier and TypeMethodDescriptionintGet the number of iterations realized by the algorithm.intGet the maximal number of iterations of the algorithm.optimize(LinearObjectiveFunction f, Collection<LinearConstraint> constraints, GoalType goalType, boolean restrictToNonNegative) Optimizes an objective function.voidsetMaxIterations(int maxIterations) Set the maximal number of iterations of the algorithm.
-
Field Details
-
DEFAULT_MAX_ITERATIONS
public static final int DEFAULT_MAX_ITERATIONSDefault maximal number of iterations allowed.- See Also:
-
-
Method Details
-
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, 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
-