Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

general methods for numerically exact solving

Functions

SCIP_RETCODE SCIPenableExactSolving (SCIP *scip, SCIP_Bool enable)
 
SCIP_Bool SCIPisExact (SCIP *scip)
 
SCIP_Bool SCIPallowNegSlack (SCIP *scip)
 
SCIP_RETCODE SCIPbranchLPExact (SCIP *scip, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPaddRowExact (SCIP *scip, SCIP_ROWEXACT *rowexact)
 

Function Documentation

◆ SCIPenableExactSolving()

SCIP_RETCODE SCIPenableExactSolving ( SCIP scip,
SCIP_Bool  enable 
)

enables or disables exact solving mode

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
enableenable exact solving (TRUE) or disable it (FALSE)

Definition at line 151 of file scip_exact.c.

References NULL, SCIP_ERROR, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIPerrorMessage, and SCIPgetStage().

Referenced by applyRepair(), createSubscip(), createSubSCIP(), doCopy(), SCIPcopyLargeNeighborhoodSearch(), and setupSubscipLpface().

◆ SCIPisExact()

SCIP_Bool SCIPisExact ( SCIP scip)

returns whether the solution process is arithmetically exact, i.e., not subject to roundoff errors

Returns
Returns TRUE if SCIP is in exact solving mode, otherwise FALSE

returns whether the solution process should be probably correct

Returns
Returns TRUE if SCIP is in exact solving mode, otherwise FALSE
Parameters
scipSCIP data structure

Definition at line 193 of file scip_exact.c.

References NULL.

Referenced by addCut(), addOneRowSafely(), analyzeStrongbranch(), applyRepair(), branch(), branchOnVar(), calcActivityBounds(), calcMIRSafely(), checkSolOrig(), checkSolOrigExact(), chgCoeffWithBoundSafely(), copyVars(), createVariable(), cutsRoundMIRSafely(), cutsSubstituteMIR(), cutsSubstituteMIRSafely(), cutsTransformMIRSafely(), cutTightenCoefs(), cutTightenCoefsSafely(), determineTotalNumberLinearConss(), execRelpscost(), freeSolve(), fromCommandLine(), getFixedVariable(), getObjectiveRow(), getVariable(), initializeCandsLists(), initSolve(), performBoundSubstitution(), performBoundSubstitutionSafely(), performBoundSubstitutionSimple(), performBoundSubstitutionSimpleSafely(), postprocessCutSafely(), presolve(), presolveRound(), readBinaries(), readBounds(), readColsExact(), readConstraints(), readIndicators(), readMpsExact(), readObjective(), readOPBFile(), readQCMatrix(), readQMatrix(), readSol(), readSolFile(), readSOS(), readXmlSolFile(), removeExactConflictFromCertificateHashmap(), removeZerosSafely(), runVanillaStrongBranching(), scaleValSafely(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSDEACTIVE(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSDELVARS(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSEXIT(), SCIP_DECL_CONSEXITPRE(), SCIP_DECL_CONSEXITSOL(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPASOL(), SCIP_DECL_CONSTRANS(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_READERREAD(), SCIP_DECL_READERWRITE(), SCIP_DECL_SEPAEXECLP(), SCIPaddCons(), SCIPaddConsNode(), SCIPaddOrigObjoffset(), SCIPaddVar(), SCIPaggrRowAddRowSafely(), SCIPaggrRowRemoveZeros(), SCIPaggrRowSumRows(), SCIPallowNegSlack(), SCIPcalcMIR(), SCIPcertificateFreeRowInfo(), SCIPcertifyMirCut(), SCIPcheckSol(), SCIPcheckSolOrig(), SCIPcollectSolutionStatistics(), SCIPcopyConsExactLinear(), SCIPendDive(), SCIPfixVarExact(), SCIPfreeCertificateActiveAggrInfo(), SCIPfreeCertificateActiveMirInfo(), SCIPgetOrigObjoffsetExact(), SCIPincludeBranchruleRelpscost(), SCIPmatrixCreate(), SCIPmatrixFree(), SCIPprintSol(), SCIPprintSolutionStatistics(), SCIPprocessShellArguments(), SCIPpropagateProbing(), SCIPreadMps(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPsolve(), SCIPsolveCIP(), SCIPsolveConcurrent(), SCIPstoreCertificateActiveAggrInfo(), SCIPstoreCertificateActiveMirInfo(), SCIPtightenVarLbExact(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbExact(), SCIPtightenVarUbGlobal(), SCIPtransformProb(), SCIPvalidateSolveExact(), SCIPwriteLp(), SCIPwriteMps(), selectVarMultAggrBranching(), setColumnMajorFormat(), setObjective(), setupAndSolveSubscip(), setupProbingSCIP(), setupSCIPparamsStage3(), setupSubscipLpface(), solveLp(), varVecAddScaledRowCoefsSafely(), writeOpbConstraints(), and writeOpbObjective().

◆ SCIPallowNegSlack()

SCIP_Bool SCIPallowNegSlack ( SCIP scip)

returns whether aggregation is allowed to use negative slack in exact solving mode

Returns
Returns TRUE if SCIP is not in exact solving mode or aggregation is allowed to use negative slack
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 212 of file scip_exact.c.

References FALSE, NULL, SCIP_CALL_ABORT, SCIPcheckStage, SCIPisExact(), and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

◆ SCIPbranchLPExact()

SCIP_RETCODE SCIPbranchLPExact ( SCIP scip,
SCIP_RESULT result 
)

branches on an LP solution exactly; does not call branching rules, since fractionalities are assumed to small; if no fractional variables exist, the result is SCIP_DIDNOTRUN;

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
resultpointer to store the result of the branching (s. branch.h)

Definition at line 235 of file scip_exact.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPbranchExecLPExact(), SCIPcheckStage, and TRUE.

Referenced by SCIP_DECL_CONSENFOLP().

◆ SCIPaddRowExact()

SCIP_RETCODE SCIPaddRowExact ( SCIP scip,
SCIP_ROWEXACT rowexact 
)

adds row to exact separation storage

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
rowexactexact row to add

Definition at line 257 of file scip_exact.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsepastoreExactAddCut(), and TRUE.

Referenced by addRelaxation(), and SCIPsepastoreApplyCuts().