Package org.ojalgo.optimisation
Class IntermediateSolver
- 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.Solver
implementation that wraps anExpressionsBasedModel
. Intended to be used when implementing solvers that iteratively modify a model instance and delegate to other solvers. TheIntegerSolver
makes 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 boolean
myInPlaceUpdatesOK
private ExpressionsBasedModel.Integration<?>
myIntegration
private ExpressionsBasedModel
myModel
private Optimisation.Result
myResult
private Optimisation.Solver
mySolver
-
Constructor Summary
Constructors Modifier Constructor Description protected
IntermediateSolver(ExpressionsBasedModel model)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
Cleanup when a solver instance is no longer needed.protected int
getIndexInSolver(int globalModelIndex)
(package private) ExpressionsBasedModel.Integration<?>
getIntegration()
protected ExpressionsBasedModel
getModel()
protected Optimisation.Result
getResult()
protected Optimisation.Solver
getSolver()
Variable
getVariable(int globalModelIndex)
protected boolean
isSolved()
void
reset()
Force re-generation of cached/transient dataOptimisation.Result
solve(Optimisation.Result candidate)
java.lang.String
toString()
void
update(Variable variable)
boolean
validate(ExpressionsBasedModel model)
Using the solver'sExpressionsBasedModel.Validator
instance, if set.boolean
validate(Access1D<?> solution)
Using the solver'sExpressionsBasedModel.Validator
instance, if set.boolean
validate(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.Solver
Cleanup when a solver instance is no longer needed.- Specified by:
dispose
in 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:
solve
in interfaceOptimisation.Solver
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
update
public void update(Variable variable)
-
validate
public boolean validate(Access1D<?> solution)
Using the solver'sExpressionsBasedModel.Validator
instance, 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.Validator
instance, 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()
-
-