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
 
 - 
 
 -