Class LinearSolver.NewIntegration
java.lang.Object
org.ojalgo.optimisation.ExpressionsBasedModel.Integration<SimplexSolver>
org.ojalgo.optimisation.linear.LinearSolver.NewIntegration
- All Implemented Interfaces:
Optimisation, Optimisation.Integration<ExpressionsBasedModel, SimplexSolver>
- Enclosing class:
LinearSolver
static final class LinearSolver.NewIntegration
extends ExpressionsBasedModel.Integration<SimplexSolver>
An integration to a new/alternative/experimental LP-solver. That solver is intended to replace the
current solver, but is not yet ready to do that. You're welcome to try it - just add this integration
by calling
.
invalid reference
ExpressionsBasedModel#addIntegration(ExpressionsBasedModel.Integration)
-
Nested Class Summary
Nested classes/interfaces inherited from interface Optimisation
Optimisation.Constraint, Optimisation.ConstraintType, Optimisation.Integration<M,S>, Optimisation.Model, Optimisation.Objective, Optimisation.Options, Optimisation.ProblemStructure, Optimisation.Result, Optimisation.Sense, Optimisation.Solver, Optimisation.State -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild(ExpressionsBasedModel model) An integration must be able to instantiate a solver that can handle (any) model instance.protected intgetIndexInSolver(ExpressionsBasedModel model, Variable variable) booleanisCapable(ExpressionsBasedModel model) toModelState(Optimisation.Result solverState, ExpressionsBasedModel model) 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.Methods inherited from class ExpressionsBasedModel.Integration
expandFreeToFull, extractSolverState, isSwitch, newValidator, reduceFullToFree, setSwitch, withCapabilityPredicate, withOptionsModifier
-
Constructor Details
-
NewIntegration
NewIntegration()
-
-
Method Details
-
build
Description copied from interface:Optimisation.IntegrationAn integration must be able to instantiate a solver that can handle (any) model instance. -
isCapable
- Returns:
- true if this solver (integration) can handle the input model
-
toModelState
public Optimisation.Result toModelState(Optimisation.Result solverState, ExpressionsBasedModel model) Description copied from class:ExpressionsBasedModel.IntegrationThe reverse ofExpressionsBasedModel.Integration.toSolverState(Optimisation.Result, ExpressionsBasedModel).- Specified by:
toModelStatein interfaceOptimisation.Integration<ExpressionsBasedModel, SimplexSolver>- Overrides:
toModelStatein classExpressionsBasedModel.Integration<SimplexSolver>- See Also:
-
toSolverState
public Optimisation.Result toSolverState(Optimisation.Result modelState, ExpressionsBasedModel model) Description copied from class:ExpressionsBasedModel.IntegrationThis 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
ExpressionsBasedModel.Integration.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.
- Specified by:
toSolverStatein interfaceOptimisation.Integration<ExpressionsBasedModel, SimplexSolver>- Overrides:
toSolverStatein classExpressionsBasedModel.Integration<SimplexSolver>- See Also:
-
getIndexInSolver
- Overrides:
getIndexInSolverin classExpressionsBasedModel.Integration<SimplexSolver>- Returns:
- The index with which one can reference parameters related to this variable in the solver.
-