- java.lang.Object
-
- org.ojalgo.optimisation.ExpressionsBasedModel.Validator
-
- Enclosing class:
- ExpressionsBasedModel
public static final class ExpressionsBasedModel.Validator extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private static NumberContextACCURACYprivate java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>>myHandlerprivate Optimisation.Integration<ExpressionsBasedModel,?>myIntegrationprivate Optimisation.ResultmyKnownSolutionprivate ExpressionsBasedModelmyOriginalModel(package private) static java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>>NULL
-
Constructor Summary
Constructors Constructor Description Validator(ExpressionsBasedModel originalModel, Optimisation.Integration<ExpressionsBasedModel,?> integration, Optimisation.Result knownSolution, java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> handler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static booleandoValidate(ExpressionsBasedModel model, Access1D<java.math.BigDecimal> solution, NumberContext accuracy, BasicLogger logger, java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> handler)static ExpressionsBasedModel.Validatorof(ExpressionsBasedModel originalModel, Optimisation.Integration<ExpressionsBasedModel,?> integration)static ExpressionsBasedModel.Validatorof(ExpressionsBasedModel originalModel, Optimisation.Integration<ExpressionsBasedModel,?> integration, java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> handler)static ExpressionsBasedModel.Validatorof(Optimisation.Result knownSolution)static ExpressionsBasedModel.Validatorof(Optimisation.Result knownSolution, java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> handler)booleanvalidate(ExpressionsBasedModel modifiedModel, NumberContext accuracy, BasicLogger logger)Validate the known solution against a (modified) model - perhaps modified during pre-solve or with cuts generation in theIntegerSolver.booleanvalidate(Access1D<?> solverSolution, NumberContext accuracy, BasicLogger logger)Validate an (intermediate) solver solution against the original model.
-
-
-
Field Detail
-
ACCURACY
private static final NumberContext ACCURACY
-
NULL
static final java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> NULL
-
myHandler
private final java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> myHandler
-
myIntegration
private final Optimisation.Integration<ExpressionsBasedModel,?> myIntegration
-
myKnownSolution
private final Optimisation.Result myKnownSolution
-
myOriginalModel
private final ExpressionsBasedModel myOriginalModel
-
-
Constructor Detail
-
Validator
Validator(ExpressionsBasedModel originalModel, Optimisation.Integration<ExpressionsBasedModel,?> integration, Optimisation.Result knownSolution, java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> handler)
- Parameters:
originalModel- Baseline model.integration- The integration used to translate between model and solver state.knownSolution- Not just any feasible solution. It needs to be the optimal solution.
-
-
Method Detail
-
of
public static ExpressionsBasedModel.Validator of(ExpressionsBasedModel originalModel, Optimisation.Integration<ExpressionsBasedModel,?> integration)
-
of
public static ExpressionsBasedModel.Validator of(ExpressionsBasedModel originalModel, Optimisation.Integration<ExpressionsBasedModel,?> integration, java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> handler)
-
of
public static ExpressionsBasedModel.Validator of(Optimisation.Result knownSolution)
-
of
public static ExpressionsBasedModel.Validator of(Optimisation.Result knownSolution, java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> handler)
-
doValidate
private static boolean doValidate(ExpressionsBasedModel model, Access1D<java.math.BigDecimal> solution, NumberContext accuracy, BasicLogger logger, java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> handler)
-
validate
public boolean validate(Access1D<?> solverSolution, NumberContext accuracy, BasicLogger logger)
Validate an (intermediate) solver solution against the original model. (Validation only performed if an original model was provided to the constructor.)
-
validate
public boolean validate(ExpressionsBasedModel modifiedModel, NumberContext accuracy, BasicLogger logger)
Validate the known solution against a (modified) model - perhaps modified during pre-solve or with cuts generation in theIntegerSolver. (Validation only performed if a known solution was provided to the constructor.)
-
-