96 if( feasible !=
NULL )
98 if( primalboundcheck !=
NULL )
99 *primalboundcheck =
TRUE;
100 if( dualboundcheck !=
NULL )
101 *dualboundcheck =
TRUE;
106 localfeasible =
TRUE;
107 localdualboundcheck =
TRUE;
136 localfeasible =
TRUE;
145 localprimalboundcheck =
FALSE;
170 primviol =
MAX(primviol, 0.0);
171 dualviol =
MAX(dualviol, 0.0);
173 localprimalboundcheck =
EPSP(reftol, primviol);
174 localdualboundcheck =
EPSP(reftol, dualviol);
180 if( ! localfeasible )
182 else if( ! localprimalboundcheck )
184 else if( ! localdualboundcheck )
190 SCIPinfoMessage(
scip,
NULL,
" %-17s: %10.8g (reference: %16.9e)\n",
"primal violation", primviol, dualreference);
191 SCIPinfoMessage(
scip,
NULL,
" %-17s: %10.8g (reference: %16.9e)\n",
"dual violation", dualviol, primalreference);
194 if( feasible !=
NULL )
195 *feasible = localfeasible;
196 if( primalboundcheck !=
NULL )
197 *primalboundcheck = localprimalboundcheck;
198 if( dualboundcheck !=
NULL )
199 *dualboundcheck = localdualboundcheck;
251 if( feasible !=
NULL )
253 if( primalboundcheck !=
NULL )
254 *primalboundcheck =
TRUE;
255 if( dualboundcheck !=
NULL )
256 *dualboundcheck =
TRUE;
261 localfeasible =
TRUE;
262 localdualboundcheck =
TRUE;
276 localfeasible =
TRUE;
286 localprimalboundcheck =
FALSE;
315 if( ! localfeasible )
317 else if( ! localprimalboundcheck )
319 else if( ! localdualboundcheck )
335 SCIPinfoMessage(
scip,
NULL,
" %-17s: %s (reference: %s)\n",
"primal violation", rationalstring1, rationalstring2);
346 SCIPinfoMessage(
scip,
NULL,
" %-17s: %s (reference: %s)\n",
"dual violation", rationalstring1, rationalstring2);
349 if( feasible !=
NULL )
350 *feasible = localfeasible;
351 if( primalboundcheck !=
NULL )
352 *primalboundcheck = localprimalboundcheck;
353 if( dualboundcheck !=
NULL )
354 *dualboundcheck = localdualboundcheck;
SCIP_STAGE SCIPgetStage(SCIP *scip)
SCIP_OBJSENSE SCIPgetObjsense(SCIP *scip)
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
SCIP_Real SCIPrelDiff(SCIP_Real val1, SCIP_Real val2)
SCIP_RETCODE SCIPgetRealParam(SCIP *scip, const char *name, SCIP_Real *value)
SCIP_Bool SCIPisExact(SCIP *scip)
SCIP_RETCODE SCIPrationalCreate(SCIP_RATIONAL **rational)
int SCIPrationalToString(SCIP_RATIONAL *rational, char *str, int strlen)
SCIP_Bool SCIPrationalIsZero(SCIP_RATIONAL *rational)
void SCIPrationalRelDiff(SCIP_RATIONAL *res, SCIP_RATIONAL *val1, SCIP_RATIONAL *val2)
void SCIPrationalSetFraction(SCIP_RATIONAL *res, SCIP_Longint nom, SCIP_Longint denom)
SCIP_Bool SCIPrationalIsInfinity(SCIP_RATIONAL *rational)
SCIP_Bool SCIPrationalIsNegInfinity(SCIP_RATIONAL *rational)
void SCIPrationalFree(SCIP_RATIONAL **rational)
SCIP_RETCODE SCIPcheckSolOrig(SCIP *scip, SCIP_SOL *sol, SCIP_Bool *feasible, SCIP_Bool printreason, SCIP_Bool completely)
SCIP_SOL * SCIPgetBestSol(SCIP *scip)
int SCIPgetNSols(SCIP *scip)
SCIP_Bool SCIPsolIsExact(SCIP_SOL *sol)
SCIP_Real SCIPgetPrimalbound(SCIP *scip)
SCIP_Real SCIPgetDualbound(SCIP *scip)
void SCIPgetDualboundExact(SCIP *scip, SCIP_RATIONAL *result)
void SCIPgetPrimalboundExact(SCIP *scip, SCIP_RATIONAL *result)
SCIP_Bool SCIPisInfinity(SCIP *scip, SCIP_Real val)
SCIP_RETCODE SCIPchgFeastol(SCIP *scip, SCIP_Real feastol)
SCIP_Real SCIPfeastol(SCIP *scip)
SCIP_Bool SCIPisEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_RETCODE SCIPvalidateSolveExact(SCIP *scip, SCIP_RATIONAL *primalreference, SCIP_RATIONAL *dualreference, SCIP_Bool quiet, SCIP_Bool *feasible, SCIP_Bool *primalboundcheck, SCIP_Bool *dualboundcheck)
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)
assert(minobj< SCIPgetCutoffbound(scip))
public methods for message output
public data structures and miscellaneous methods
public methods for primal CIP solutions
wrapper for rational number arithmetic
public methods for exact solving
public methods for message handling
public methods for numerical tolerances
public methods for SCIP parameter handling
public methods for global and local (sub)problems
public methods for solutions
public methods for querying solving statistics
public methods for validation
struct SCIP_Rational SCIP_RATIONAL
enum SCIP_Retcode SCIP_RETCODE