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
,OptimisationService.Integration
- Enclosing interface:
- Optimisation
public static interface Optimisation.Integration<M extends Optimisation.Model,S extends Optimisation.Solver> extends Optimisation
AnOptimisation.Model
implementation should not depend on any specificOptimisation.Solver
, andOptimisation.Solver
implementations should be usable independently of anyOptimisation.Model
. For every specific combination ofOptimisation.Model
andOptimisation.Solver
(that should function together) there needs to be anOptimisation.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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description S
build(M model)
An integration must be able to instantiate a solver that can handle (any) model instance.Optimisation.Result
extractSolverState(M model)
Extract state from the model and convert it to solver state.boolean
isCapable(M model)
Optimisation.Result
toModelState(Optimisation.Result solverState, M model)
Convert solver state to model state.Optimisation.Result
toSolverState(Optimisation.Result modelState, M model)
Convert model state to solver state.
-
-
-
Method Detail
-
build
S build(M model)
An integration must be able to instantiate a solver that can handle (any) model instance.
-
extractSolverState
Optimisation.Result extractSolverState(M model)
Extract state from the model and convert it to solver state.
-
isCapable
boolean isCapable(M model)
- Returns:
- true if this solver (integration) can handle the input model
-
toModelState
Optimisation.Result toModelState(Optimisation.Result solverState, M model)
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
Optimisation.Result toSolverState(Optimisation.Result modelState, M model)
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)
.
-
-