- java.lang.Object
-
- org.ojalgo.optimisation.IntermediateSolver
-
- All Implemented Interfaces:
Optimisation,Optimisation.Solver
- Direct Known Subclasses:
ExpressionsBasedModel.DefaultIntermediate,NodeSolver
public abstract class IntermediateSolver extends java.lang.Object implements Optimisation.Solver
AOptimisation.Solverimplementation that wraps anExpressionsBasedModel. Intended to be used when implementing solvers that iteratively modify a model instance and delegate to other solvers. TheIntegerSolvermakes use of this.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ojalgo.optimisation.Optimisation
Optimisation.Constraint, Optimisation.ConstraintType, Optimisation.Integration<M extends Optimisation.Model,S extends Optimisation.Solver>, Optimisation.Model, Optimisation.Objective, Optimisation.Options, Optimisation.ProblemStructure, Optimisation.Result, Optimisation.Sense, Optimisation.Solver, Optimisation.State
-
-
Field Summary
Fields Modifier and Type Field Description private booleanmyInPlaceUpdatesOKprivate ExpressionsBasedModel.Integration<?>myIntegrationprivate ExpressionsBasedModelmyModelprivate Optimisation.ResultmyResultprivate Optimisation.SolvermySolver
-
Constructor Summary
Constructors Modifier Constructor Description protectedIntermediateSolver(ExpressionsBasedModel model)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddispose()Cleanup when a solver instance is no longer needed.protected intgetIndexInSolver(int globalModelIndex)(package private) ExpressionsBasedModel.Integration<?>getIntegration()protected ExpressionsBasedModelgetModel()protected Optimisation.ResultgetResult()protected Optimisation.SolvergetSolver()VariablegetVariable(int globalModelIndex)protected booleanisSolved()voidreset()Force re-generation of cached/transient dataOptimisation.Resultsolve(Optimisation.Result candidate)java.lang.StringtoString()voidupdate(Variable variable)booleanvalidate(ExpressionsBasedModel model)Using the solver'sExpressionsBasedModel.Validatorinstance, if set.booleanvalidate(Access1D<?> solution)Using the solver'sExpressionsBasedModel.Validatorinstance, if set.booleanvalidate(Access1D<java.math.BigDecimal> solution, BasicLogger appender)Always performs validation directly usingExpressionsBasedModel.validate(Access1D, BasicLogger).-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.ojalgo.optimisation.Optimisation.Solver
solve
-
-
-
-
Field Detail
-
myInPlaceUpdatesOK
private boolean myInPlaceUpdatesOK
-
myIntegration
private transient ExpressionsBasedModel.Integration<?> myIntegration
-
myModel
private final ExpressionsBasedModel myModel
-
myResult
private transient Optimisation.Result myResult
-
mySolver
private transient Optimisation.Solver mySolver
-
-
Constructor Detail
-
IntermediateSolver
protected IntermediateSolver(ExpressionsBasedModel model)
-
-
Method Detail
-
dispose
public void dispose()
Description copied from interface:Optimisation.SolverCleanup when a solver instance is no longer needed.- Specified by:
disposein interfaceOptimisation.Solver
-
getVariable
public Variable getVariable(int globalModelIndex)
-
reset
public void reset()
Force re-generation of cached/transient data
-
solve
public Optimisation.Result solve(Optimisation.Result candidate)
- Specified by:
solvein interfaceOptimisation.Solver
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
update
public void update(Variable variable)
-
validate
public boolean validate(Access1D<?> solution)
Using the solver'sExpressionsBasedModel.Validatorinstance, if set. Otherwise no validation performed.
-
validate
public boolean validate(Access1D<java.math.BigDecimal> solution, BasicLogger appender)
Always performs validation directly usingExpressionsBasedModel.validate(Access1D, BasicLogger).
-
validate
public boolean validate(ExpressionsBasedModel model)
Using the solver'sExpressionsBasedModel.Validatorinstance, if set. Otherwise no validation performed.
-
getIndexInSolver
protected int getIndexInSolver(int globalModelIndex)
-
getModel
protected ExpressionsBasedModel getModel()
-
getResult
protected Optimisation.Result getResult()
-
getSolver
protected Optimisation.Solver getSolver()
-
isSolved
protected boolean isSolved()
-
getIntegration
ExpressionsBasedModel.Integration<?> getIntegration()
-
-