Package org.ojalgo.optimisation
Class ExpressionsBasedModel.Validator
- 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 NumberContext
ACCURACY
private java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>>
myHandler
private Optimisation.Integration<ExpressionsBasedModel,?>
myIntegration
private Optimisation.Result
myKnownSolution
private ExpressionsBasedModel
myOriginalModel
(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 boolean
doValidate(ExpressionsBasedModel model, Access1D<java.math.BigDecimal> solution, NumberContext accuracy, BasicLogger logger, java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> handler)
static ExpressionsBasedModel.Validator
of(ExpressionsBasedModel originalModel, Optimisation.Integration<ExpressionsBasedModel,?> integration)
static ExpressionsBasedModel.Validator
of(ExpressionsBasedModel originalModel, Optimisation.Integration<ExpressionsBasedModel,?> integration, java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> handler)
static ExpressionsBasedModel.Validator
of(Optimisation.Result knownSolution)
static ExpressionsBasedModel.Validator
of(Optimisation.Result knownSolution, java.util.function.BiConsumer<ExpressionsBasedModel,Access1D<java.math.BigDecimal>> handler)
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
.boolean
validate(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.)
-
-