Module ojalgo
Package org.ojalgo.optimisation
Class ExpressionsBasedModel.Integration<S extends Optimisation.Solver>
- java.lang.Object
-
- org.ojalgo.optimisation.ExpressionsBasedModel.Integration<S>
-
- All Implemented Interfaces:
Optimisation,Optimisation.Integration<ExpressionsBasedModel,S>
- Direct Known Subclasses:
ConfiguredIntegration,ConvexSolver.ModelIntegration,ExpressionsBasedModel.IntegrationWrapper,GomorySolver.ModelIntegration,IntegerSolver.ModelIntegration,LinearSolver.ModelIntegration,LinearSolver.NewIntegration,LinearSolver.OldIntegration,ServiceIntegration
- Enclosing class:
- ExpressionsBasedModel
public abstract static class ExpressionsBasedModel.Integration<S extends Optimisation.Solver> extends java.lang.Object implements Optimisation.Integration<ExpressionsBasedModel,S>
Optimisation.Solver:s that should be usabale fromExpressionsBasedModelneeds to implement a subclass 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
-
-
Constructor Summary
Constructors Constructor Description Integration()
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ojalgo.optimisation.Optimisation.Integration
build, isCapable
-
-
-
-
Method Detail
-
expandFreeToFull
protected static Optimisation.Result expandFreeToFull(Optimisation.Result solverState, ExpressionsBasedModel model, DenseArray.Factory<?,?> factory)
-
reduceFullToFree
protected static Optimisation.Result reduceFullToFree(Optimisation.Result modelState, ExpressionsBasedModel model, DenseArray.Factory<?,?> factory)
-
extractSolverState
public final Optimisation.Result extractSolverState(ExpressionsBasedModel model)
Description copied from interface:Optimisation.IntegrationExtract state from the model and convert it to solver state.- Specified by:
extractSolverStatein interfaceOptimisation.Integration<ExpressionsBasedModel,S extends Optimisation.Solver>- See Also:
Optimisation.Integration.extractSolverState(Optimisation.Model)
-
toModelState
public Optimisation.Result toModelState(Optimisation.Result solverState, ExpressionsBasedModel model)
The reverse oftoSolverState(Optimisation.Result, ExpressionsBasedModel).
-
toSolverState
public Optimisation.Result toSolverState(Optimisation.Result modelState, ExpressionsBasedModel model)
This default implementation assumes the solver state and model state are identical, and simply returns the supplied model state.In any case where the set of variables present in the solver does not match what's in the model one-to-one, this method and its reciprocal
toModelState(Optimisation.Result, ExpressionsBasedModel)needs to be overridden with custom mapping implementations.A very common case is when the solver only works with free (not eliminated by the pre-solver) variables. There are helper methods to do just that.
-
withCapabilityPredicate
public final ExpressionsBasedModel.Integration<S> withCapabilityPredicate(java.util.function.Predicate<ExpressionsBasedModel> capabilityPredicate)
Use this to limit the cases where thisOptimisation.Integrationwould be used.Returns a new Integration instance where the supplied
Predicateneeds to test true in addition to the underlyingOptimisation.Integration.isCapable(Optimisation.Model).
-
withOptionsModifier
public final ExpressionsBasedModel.Integration<S> withOptionsModifier(java.util.function.Consumer<Optimisation.Options> optionsModifier)
Intercept and modify theOptimisation.Optionsinstance before building the solver.
-
getIndexInSolver
protected int getIndexInSolver(ExpressionsBasedModel model, Variable variable)
- Returns:
- The index with which one can reference parameters related to this variable in the solver.
-
isSwitch
protected final boolean isSwitch(ExpressionsBasedModel model, ExpressionsBasedModel.IntegrationProperty property)
-
newValidator
protected final ExpressionsBasedModel.Validator newValidator(ExpressionsBasedModel model)
-
setSwitch
protected final void setSwitch(ExpressionsBasedModel model, ExpressionsBasedModel.IntegrationProperty property, boolean value)
-
-