Interface LinearOptimizer
-
- All Known Implementing Classes:
AbstractLinearOptimizer
,SimplexSolver
public interface LinearOptimizer
This interface represents an optimization algorithm for linear problems.Optimization algorithms find the input point set that either
maximize or minimize
an objective function. In the linear case the form of the function is restricted toc1x1 + ... cnxn = v
and there may be linear constraints too, of one of the forms:- c1x1 + ... cnxn = v
- c1x1 + ... cnxn <= v
- c1x1 + ... cnxn >= v
- l1x1 + ... lnxn + lcst = r1x1 + ... rnxn + rcst
- l1x1 + ... lnxn + lcst <= r1x1 + ... rnxn + rcst
- l1x1 + ... lnxn + lcst >= r1x1 + ... rnxn + rcst
- Since:
- 2.0
- Version:
- $Revision: 811685 $ $Date: 2009-09-05 19:36:48 +0200 (sam. 05 sept. 2009) $
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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, java.util.Collection<LinearConstraint> constraints, GoalType goalType, boolean restrictToNonNegative)
Optimizes an objective function.void
setMaxIterations(int maxIterations)
Set the maximal number of iterations of the algorithm.
-
-
-
Method Detail
-
setMaxIterations
void setMaxIterations(int maxIterations)
Set the maximal number of iterations of the algorithm.- Parameters:
maxIterations
- maximal number of function calls
-
getMaxIterations
int getMaxIterations()
Get the maximal number of iterations of the algorithm.- Returns:
- maximal number of iterations
-
getIterations
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.- Returns:
- number of iterations
-
optimize
RealPointValuePair optimize(LinearObjectiveFunction f, java.util.Collection<LinearConstraint> constraints, GoalType goalType, boolean restrictToNonNegative) throws OptimizationException
Optimizes an objective function.- Parameters:
f
- linear objective functionconstraints
- linear constraintsgoalType
- type of optimization goal: eitherGoalType.MAXIMIZE
orGoalType.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
-
-