scip_validation.c
Go to the documentation of this file.
33 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
136 * - checking the feasibility of the incumbent solution in the original problem (using SCIPcheckSolOrig())
138 * - checking if the objective bounds computed by SCIP agree with external primal and dual reference bounds.
142 * For infeasible problems, +/-SCIPinfinity() should be passed as reference bounds depending on the objective sense
147 SCIP_Real primalreference, /**< external primal reference value for the problem, or SCIP_UNKNOWN */
151 SCIP_Bool* feasible, /**< pointer to store if the best solution is feasible in the original problem,
153 SCIP_Bool* primalboundcheck, /**< pointer to store if the primal bound respects the given dual reference
155 SCIP_Bool* dualboundcheck /**< pointer to store if the dual bound respects the given primal reference
214 /* check the primal and dual bounds computed by SCIP against the external reference values within reference tolerance */
216 if( SCIPgetNSols(scip) > 0 && ((SCIPgetObjsense(scip) == SCIP_OBJSENSE_MINIMIZE && SCIPisInfinity(scip, dualreference))
221 /* check if reference primal bound is not better than the proven dual bound and, if SCIP claims to be optimal,
227 /* compute the relative violation between the primal bound and dual reference value, and vice versa */
263 SCIPinfoMessage(scip, NULL, " %-17s: %10.8g (reference: %16.9e)\n", "primal violation", primviol, dualreference);
264 SCIPinfoMessage(scip, NULL, " %-17s: %10.8g (reference: %16.9e)\n", "dual violation", dualviol, primalreference);
internal methods for separators
internal methods for managing events
default message handler
trivialnegation primal heuristic
internal methods for storing primal CIP solutions
public methods for SCIP parameter handling
methods to interpret (evaluate) an expression tree "fast"
internal methods for branch and bound tree
Definition: struct_scip.h:58
Definition: type_prob.h:38
methods for implications, variable bounds, and cliques
SCIP_RETCODE SCIPgetRealParam(SCIP *scip, const char *name, SCIP_Real *value)
Definition: scip_param.c:379
internal methods for clocks and timing issues
internal methods for NLPI solver interfaces
interface methods for specific LP solvers
internal methods for displaying statistics tables
methods for the aggregation rows
internal methods for Benders' decomposition
methods commonly used by primal heuristics
internal methods for branching rules and branching candidate storage
datastructures for concurrent solvers
public methods for validation
internal methods for handling parameter settings
SCIP_Bool SCIPisEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
Definition: scip_numerics.c:516
methods for creating output for visualization tools (VBC, BAK)
nodereopt branching rule
internal methods for LP management
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
Definition: scip_message.c:279
internal methods for branching and inference history
public methods for numerical tolerances
internal methods for collecting primal CIP solutions and primal informations
public methods for querying solving statistics
internal methods for propagators
Definition: struct_sol.h:63
git hash methods
internal methods for storing and manipulating the main problem
methods for block memory pools and memory buffers
register additional core functionality that is designed as plugins
internal methods for presolvers
SCIP_RETCODE SCIPcheckSolOrig(SCIP *scip, SCIP_SOL *sol, SCIP_Bool *feasible, SCIP_Bool printreason, SCIP_Bool completely)
Definition: scip_sol.c:3533
internal methods for NLP management
internal miscellaneous methods
internal methods for node selectors and node priority queues
Definition: type_retcode.h:33
internal methods for variable pricers
internal methods for global SCIP settings
internal methods for storing conflicts
SCIP main data structure.
internal methods for storing priced variables
internal methods for relaxators
internal methods for storing separated cuts
methods commonly used for presolving
methods for catching the user CTRL-C interrupt
internal methods for problem variables
data structures and methods for collecting reoptimization information
the function declarations for the synchronization store
public data structures and miscellaneous methods
internal methods for user interface dialog
SCIP_RETCODE SCIPvalidateSolve(SCIP *scip, SCIP_Real primalreference, SCIP_Real dualreference, SCIP_Real reftol, SCIP_Bool quiet, SCIP_Bool *feasible, SCIP_Bool *primalboundcheck, SCIP_Bool *dualboundcheck)
Definition: scip_validation.c:145
internal methods for input file readers
methods for debugging
reoptsols primal heuristic
internal methods for storing cuts in a cut pool
SCIP_RETCODE SCIPchgFeastol(SCIP *scip, SCIP_Real feastol)
Definition: scip_numerics.c:321
Constraint handler for linear constraints in their most general form, .
helper functions for concurrent scip solvers
internal methods for return codes for SCIP methods
Definition: type_set.h:36
general public methods
public methods for solutions
internal methods for conflict analysis
internal methods for tree compressions
internal methods for main solving loop and node processing
public methods for message output
default user interface dialog
internal methods for problem statistics
public methods for message handling
internal methods for constraints and constraint handlers
declarations for XML parsing
build flags methods
common defines and data types used in all packages of SCIP
Definition: type_prob.h:39
internal methods for primal heuristics
Definition: objbenders.h:33
public methods for global and local (sub)problems
internal methods for Benders' decomposition cuts
internal methods for displaying runtime statistics
OFINS - Objective Function Induced Neighborhood Search - a primal heuristic for reoptimization.