Scippy

    SCIP

    Solving Constraint Integer Programs

    Detailed Description

    methods for validating the correctness of a solving process

    Functions

    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)
     
    SCIP_RETCODE SCIPvalidateSolveExact (SCIP *scip, SCIP_RATIONAL *primalreference, SCIP_RATIONAL *dualreference, SCIP_Bool quiet, SCIP_Bool *feasible, SCIP_Bool *primalboundcheck, SCIP_Bool *dualboundcheck)
     

    Function Documentation

    ◆ SCIPvalidateSolve()

    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 
    )

    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.

    Parameters
    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 72 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().

    ◆ SCIPvalidateSolveExact()

    SCIP_RETCODE SCIPvalidateSolveExact ( SCIP scip,
    SCIP_RATIONAL primalreference,
    SCIP_RATIONAL dualreference,
    SCIP_Bool  quiet,
    SCIP_Bool feasible,
    SCIP_Bool primalboundcheck,
    SCIP_Bool dualboundcheck 
    )

    validate the result of an exact 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, +/-inf should be passed as reference bounds depending on the objective sense of the original problem.

    Parameters
    scipSCIP data structure
    primalreferenceexternal primal reference value for the problem, or SCIP_UNKNOWN
    dualreferenceexternal dual reference value for the problem, or SCIP_UNKNOWN
    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 217 of file scip_validation.c.

    References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OBJSENSE_MAXIMIZE, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIPcheckSolOrig(), SCIPerrorMessage, SCIPgetBestSol(), SCIPgetDualboundExact(), SCIPgetNSols(), SCIPgetObjsense(), SCIPgetPrimalboundExact(), SCIPgetStage(), SCIPinfoMessage(), SCIPisExact(), SCIPrationalCreate(), SCIPrationalFree(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPrationalIsZero(), SCIPrationalRelDiff(), SCIPrationalSetFraction(), SCIPrationalToString(), SCIPsolIsExact(), and TRUE.

    Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPprocessShellArguments().