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
scipis in one of the following stages:
- Parameters
-
scip SCIP data structure enable enable 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()
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
-
scip SCIP 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()
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
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP 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
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure result pointer 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
scipis in one of the following stages:
- Parameters
-
scip SCIP data structure rowexact exact 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().