Solving Constraint Integer Programs

Detailed Description

methods for validating the correctness of a solving process


SCIP_EXPORT 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)

Function Documentation

◆ SCIPvalidateSolve()

SCIP_Real  primalreference,
SCIP_Real  dualreference,
SCIP_Real  reftol,
SCIP_Bool  quiet,
SCIP_Bool feasible,
SCIP_Bool primalboundcheck,
SCIP_Bool dualboundcheck 

validate the result of the solve

the validation includes

  • checking the feasibility of the incumbent solution in the original problem (using SCIPcheckSolOrig())
  • checking if the objective bounds computed by SCIP agree with external primal and dual reference bounds.

All external reference bounds the original problem space and the original objective sense.

For infeasible problems, +/-SCIPinfinity() should be passed as reference bounds depending on the objective sense of the original problem.

scipSCIP data structure
primalreferenceexternal primal reference value for the problem, or SCIP_UNKNOWN
dualreferenceexternal dual reference value for the problem, or SCIP_UNKNOWN
reftolrelative tolerance for acceptable violation of reference values
quietTRUE if no status line should be printed
feasiblepointer to store if the best solution is feasible in the original problem, or NULL
primalboundcheckpointer to store if the primal bound respects the given dual reference value, or NULL
dualboundcheckpointer to store if the dual bound respects the given primal reference value, or NULL

Definition at line 59 of file scip_validation.c.

References EPSP, FALSE, MAX, NULL, SCIP_Bool, SCIP_CALL, SCIP_OBJSENSE_MAXIMIZE, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_UNKNOWN, SCIPcheckSolOrig(), SCIPchgFeastol(), SCIPfeastol(), SCIPgetBestSol(), SCIPgetDualbound(), SCIPgetNSols(), SCIPgetObjsense(), SCIPgetPrimalbound(), SCIPgetRealParam(), SCIPgetStage(), SCIPinfoMessage(), SCIPisEQ(), SCIPisInfinity(), SCIPrelDiff(), and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPprocessShellArguments().