Package org.ojalgo.optimisation
Interface Optimisation.Integration<M extends Optimisation.Model,S extends Optimisation.Solver>
- All Superinterfaces:
Optimisation
- All Known Implementing Classes:
ConfiguredIntegration
,ConvexSolver.ModelIntegration
,ExpressionsBasedModel.Integration
,GomorySolver.ModelIntegration
,IntegerSolver.ModelIntegration
,LinearSolver.ModelIntegration
,LinearSolver.NewIntegration
,LinearSolver.OldIntegration
,ServiceIntegration
- Enclosing interface:
Optimisation
public static interface Optimisation.Integration<M extends Optimisation.Model,S extends Optimisation.Solver>
extends Optimisation
An
Optimisation.Model
implementation should not depend on any specific
Optimisation.Solver
, and Optimisation.Solver
implementations should be usable
independently of any Optimisation.Model
. For every specific combination of
Optimisation.Model
and Optimisation.Solver
(that should function together) there needs
to be an Optimisation.Integration
.-
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 -
Method Summary
Modifier and TypeMethodDescriptionAn integration must be able to instantiate a solver that can handle (any) model instance.extractSolverState
(M model) Extract state from the model and convert it to solver state.boolean
toModelState
(Optimisation.Result solverState, M model) Convert solver state to model state.toSolverState
(Optimisation.Result modelState, M model) Convert model state to solver state.
-
Method Details
-
build
An integration must be able to instantiate a solver that can handle (any) model instance. -
extractSolverState
Extract state from the model and convert it to solver state. -
isCapable
- Returns:
- true if this solver (integration) can handle the input model
-
toModelState
Convert solver state to model state. Transforming the solution (set of variable values) is the main concern. Adjusting the objective function value (if needed) is best handled elsewhere, and is not required here.The required behaviour here depends on how
build(Optimisation.Model)
is implemented, and is the reverse mapping oftoSolverState(Optimisation.Result, Optimisation.Model)
. -
toSolverState
Convert model state to solver state. Transforming the solution (set of variable values) is the main concern. Adjusting the objective function value (if needed) is best handled elsewhere, and is not required here.The required behaviour here depends on how
build(Optimisation.Model)
is implemented, and is the reverse mapping oftoModelState(Result, Optimisation.Model)
.
-