Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

methods to manipulate a SCIP object

Functions

SCIP_RETCODE SCIPcreate (SCIP **scip)
 
SCIP_RETCODE SCIPfree (SCIP **scip)
 
SCIP_STAGE SCIPgetStage (SCIP *scip)
 
SCIP_RETCODE SCIPprintStage (SCIP *scip, FILE *file)
 
SCIP_STATUS SCIPgetStatus (SCIP *scip)
 
SCIP_RETCODE SCIPprintStatus (SCIP *scip, FILE *file)
 
SCIP_Bool SCIPisTransformed (SCIP *scip)
 
SCIP_Bool SCIPisExactSolve (SCIP *scip)
 
SCIP_Bool SCIPisPresolveFinished (SCIP *scip)
 
SCIP_Bool SCIPhasPerformedPresolve (SCIP *scip)
 
SCIP_Bool SCIPpressedCtrlC (SCIP *scip)
 
SCIP_Bool SCIPisStopped (SCIP *scip)
 

Function Documentation

◆ SCIPcreate()

SCIP_RETCODE SCIPcreate ( SCIP **  scip)

creates and initializes SCIP data structures

Note
The SCIP default message handler is installed. Use the method SCIPsetMessagehdlr() to install your own message handler or SCIPsetMessagehdlrLogfile() and SCIPsetMessagehdlrQuiet() to write into a log file and turn off/on the display output, respectively.
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.
Postcondition
After calling this method scip reached the solving stage SCIP_STAGE_INIT

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

creates and initializes SCIP data structures

Note
The SCIP default message handler is installed. Use the method SCIPsetMessagehdlr() to install your own message handler or SCIPsetMessagehdlrLogfile() and SCIPsetMessagehdlrQuiet() to write into a log file and turn off/on the display output, respectively.
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.
Postcondition
After calling this method SCIP reached the solving stage SCIP_STAGE_INIT

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

Parameters
scippointer to SCIP data structure

Definition at line 696 of file scip.c.

References BMSallocMemory, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIPblkmem(), SCIPclockCreate(), SCIPclockStart(), SCIPcreateMessagehdlrDefault(), SCIPdialoghdlrCreate(), SCIPexprintGetDesc(), SCIPexprintGetName(), SCIPinterruptCreate(), SCIPlpiGetSolverDesc(), SCIPlpiGetSolverName(), SCIPmemCreate(), SCIPnlpInclude(), SCIPsetCreate(), SCIPsetIncludeExternalCode(), SCIPsyncstoreCreate(), and TRUE.

Referenced by applyCompletesol(), applyDomainChanges(), applyOfins(), applyRepair(), applyVbounds(), createSubscip(), createSubSCIP(), getActivities(), initConcsolver(), main(), runCircle(), runGastrans(), runSCIP(), runShell(), runString(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPcomputeCoverUndercover(), SCIPcreateFiniteSolCopy(), SCIPrunShell(), searchEcAggr(), setupProbingSCIP(), solveSubMIP(), solveSubproblem(), and writeBounds().

◆ SCIPfree()

SCIP_RETCODE SCIPfree ( SCIP **  scip)

frees SCIP data structures

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:
Postcondition
After calling this method SCIP reached the solving stage SCIP_STAGE_FREE

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

Parameters
scippointer to SCIP data structure

Definition at line 774 of file scip.c.

References BMSfreeMemory, checkStage(), Scip::dialoghdlr, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_FREE, SCIP_STAGE_INIT, SCIPclockFree(), SCIPdialoghdlrFree(), SCIPfreeProb(), SCIPinterruptFree(), SCIPmemFree(), SCIPmessagehdlrRelease(), SCIPsetFree(), SCIPsyncstoreRelease(), and TRUE.

Referenced by applyCompletesol(), applyDomainChanges(), applyOfins(), applyRepair(), applyVbounds(), componentCreateSubscip(), createSubSCIP(), createSubscip(), deleteSubproblem(), freeComponent(), freeSubSCIP(), freeSubscip(), getActivities(), main(), runCircle(), runGastrans(), runSCIP(), runShell(), runString(), SCIP_DECL_CONCSOLVERDESTROYINST(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyRens(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPcomputeCoverUndercover(), SCIPcreateFiniteSolCopy(), SCIPrunShell(), searchEcAggr(), solveComponent(), solveSubMIP(), solveSubproblem(), subscipdataFreeSubscip(), writeBounds(), and ZerohalfAuxIPDataFree().

◆ SCIPgetStage()

SCIP_STAGE SCIPgetStage ( SCIP scip)

returns current stage of SCIP

Returns
the current SCIP stage

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

Parameters
scipSCIP data structure

Definition at line 814 of file scip.c.

References NULL, Scip::set, and SCIP_Set::stage.

Referenced by addCoef(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictOne(), analyzeConflictUpperbound(), analyzeConflictZero(), applyGenVBound(), applyProbing(), applyRepair(), branchruledataEnsureArraySize(), checkEstimateCriterion(), checkLocksAndRes(), checkTransferBoolParam(), componentSetupWorkingSol(), computeViolation(), computeViolations(), consdataCreate(), consDropAllEvents(), constructCompression(), createCGCuts(), createConsSetppc(), delCoefPos(), displayRelevantStats(), generateConvexConcaveEstimator(), generateCut(), getGradientMaxElement(), getLinVarsAndAndRess(), getNNodesBelowIncumbent(), getNRank1Nodes(), getX(), heurdataEnsureArraySize(), initPricing(), performDualfix(), permSortConsdata(), printSolutionStatistics(), printTimingStatistics(), processBinvarFixings(), propagateBounds(), propagateCons(), propagateVbounds(), propIndicator(), proposeFeasibleSolution(), readDiffFile(), readSolFile(), readXmlSolFile(), recomputeNodeInformation(), reformulate(), removeFixedBinvars(), removeFixedVariables(), resolvePropagationCoretimes(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSDEACTIVE(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSDISABLE(), SCIP_DECL_CONSENABLE(), SCIP_DECL_CONSEXITSOL(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSTRANS(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_READERREAD(), SCIPaddBilinTermQuadratic(), SCIPaddConstantQuadratic(), SCIPaddLinearVarQuadratic(), SCIPaddQuadVarLinearCoefQuadratic(), SCIPaddQuadVarQuadratic(), SCIPaddSquareCoefQuadratic(), SCIPanalyzeDeductionsProbing(), SCIPapplyHeurSubNlp(), SCIPchgBilinCoefQuadratic(), SCIPchgCapacityKnapsack(), SCIPchgCoefLinear(), SCIPchgConsName(), SCIPchgLhsQuadratic(), SCIPchgLinearCoefQuadratic(), SCIPchgRhsQuadratic(), SCIPchgSquareCoefQuadratic(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarLbNode(), SCIPchgVarLbProbing(), SCIPchgVarName(), SCIPchgVarType(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPchgVarUbNode(), SCIPchgVarUbProbing(), SCIPcreateConsCardinality(), SCIPcreateConsCumulative(), SCIPcreateConsLinear(), SCIPcreateConsLinking(), SCIPcreateConsLogicor(), SCIPcreateConsNonlinear2(), SCIPcreateConsSOS1(), SCIPgetExprtreeCoefsNonlinear(), SCIPgetExprtreeCurvaturesNonlinear(), SCIPgetExprtreesNonlinear(), SCIPgetNExprtreesNonlinear(), SCIPgetNLimSolsFound(), SCIPgetVarCopy(), SCIPgetViolationNonlinear(), SCIPinferVarFixCons(), SCIPinferVarFixProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPisConsCompressionEnabled(), SCIPisDualSolAvailable(), SCIPmakeIndicatorFeasible(), SCIPmakeIndicatorsFeasible(), SCIPmergeVariableStatistics(), SCIPresolveSolHeurSubNlp(), SCIPsetLinearConsIndicator(), SCIPsolveParallel(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtransformMinUC(), SCIPupdateStartpointHeurSubNlp(), SCIPwriteGms(), solveComponent(), solveSubNLP(), tightenBounds(), tightenedIntvar(), and updateDataStructures().

◆ SCIPprintStage()

SCIP_RETCODE SCIPprintStage ( SCIP scip,
FILE *  file 
)

outputs SCIP stage and solution status if applicable via the message handler

Note
If the message handler is set to a NULL pointer nothing will be printed
If limits have been changed between the solution and the call to this function, the status is recomputed and thus may to correspond to the original status.
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.

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

Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)

Definition at line 836 of file scip.c.

References checkStage(), getPrimalbound(), Scip::messagehdlr, SCIP_Primal::nlimsolsfound, Scip::primal, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPgetObjsense(), SCIPisInfinity(), SCIPmessageFPrintInfo(), SCIPprintStatus(), SCIPsolveIsStopped(), Scip::set, SCIP_Set::stage, Scip::stat, and TRUE.

Referenced by displayRelevantStats(), and SCIPprintStatistics().

◆ SCIPgetStatus()

◆ SCIPprintStatus()

SCIP_RETCODE SCIPprintStatus ( SCIP scip,
FILE *  file 
)

outputs solution status

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.

See SCIP_STATUS for a complete list of all possible solving status.

Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)

Definition at line 944 of file scip.c.

References checkStage(), Scip::messagehdlr, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STATUS_BESTSOLLIMIT, SCIP_STATUS_GAPLIMIT, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_MEMLIMIT, SCIP_STATUS_NODELIMIT, SCIP_STATUS_OPTIMAL, SCIP_STATUS_RESTARTLIMIT, SCIP_STATUS_SOLLIMIT, SCIP_STATUS_STALLNODELIMIT, SCIP_STATUS_TIMELIMIT, SCIP_STATUS_TOTALNODELIMIT, SCIP_STATUS_UNBOUNDED, SCIP_STATUS_UNKNOWN, SCIP_STATUS_USERINTERRUPT, SCIPerrorMessage, SCIPgetStatus(), SCIPmessageFPrintInfo(), and TRUE.

Referenced by SCIP_DECL_CONCSOLVEREXEC(), SCIP_DECL_DIALOGEXEC(), and SCIPprintStage().

◆ SCIPisTransformed()

◆ SCIPisExactSolve()

SCIP_Bool SCIPisExactSolve ( SCIP scip)

returns whether the solution process should be probably correct

Note
This feature is not supported yet!
Returns
Returns TRUE if SCIP is exact solving mode, otherwise FALSE
Parameters
scipSCIP data structure

Definition at line 1025 of file scip.c.

References SCIP_Set::misc_exactsolve, NULL, and Scip::set.

Referenced by branch(), execRelpscost(), SCIP_DECL_BRANCHEXECLP(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), and selectVarMultAggrBranching().

◆ SCIPisPresolveFinished()

SCIP_Bool SCIPisPresolveFinished ( SCIP scip)

returns whether the presolving process would be finished given no more presolving reductions are found in this presolving round

Checks whether the number of presolving rounds is not exceeded and the presolving reductions found in the current presolving round suffice to trigger another presolving round.

Note
if subsequent presolvers find more reductions, presolving might continue even if the method returns FALSE
does not check whether infeasibility or unboundedness was already detected in presolving (which would result in presolving being stopped although the method returns TRUE)
Returns
Returns TRUE if presolving is finished if no further reductions are detected
Parameters
scipSCIP data structure

Definition at line 1047 of file scip.c.

References checkStage(), Scip::cliquetable, FALSE, SCIP_Stat::lastnpresoladdconss, SCIP_Stat::lastnpresoladdholes, SCIP_Stat::lastnpresolaggrvars, SCIP_Stat::lastnpresolchgbds, SCIP_Stat::lastnpresolchgcoefs, SCIP_Stat::lastnpresolchgsides, SCIP_Stat::lastnpresolchgvartypes, SCIP_Stat::lastnpresoldelconss, SCIP_Stat::lastnpresolfixedvars, SCIP_Stat::lastnpresolupgdconss, SCIP_Prob::nbinvars, SCIP_Prob::nconss, SCIP_Stat::nimplications, SCIP_Stat::npresoladdconss, SCIP_Stat::npresoladdholes, SCIP_Stat::npresolaggrvars, SCIP_Stat::npresolchgbds, SCIP_Stat::npresolchgcoefs, SCIP_Stat::npresolchgsides, SCIP_Stat::npresolchgvartypes, SCIP_Stat::npresoldelconss, SCIP_Stat::npresolfixedvars, SCIP_Stat::npresolrounds, SCIP_Stat::npresolupgdconss, NULL, SCIP_Prob::nvars, SCIP_Set::presol_abortfac, SCIP_Set::presol_maxrounds, SCIP_Bool, SCIP_CALL_ABORT, SCIPcliquetableGetNCliques(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by presolve(), presolveRound(), and SCIP_DECL_CONSPRESOL().

◆ SCIPhasPerformedPresolve()

SCIP_Bool SCIPhasPerformedPresolve ( SCIP scip)

returns whether SCIP has performed presolving during the last solve

Returns
Returns TRUE if presolving was performed during the last solve
Parameters
scipSCIP data structure

Definition at line 1109 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_Stat::performpresol, SCIP_CALL_ABORT, Scip::stat, and TRUE.

◆ SCIPpressedCtrlC()

SCIP_Bool SCIPpressedCtrlC ( SCIP scip)

returns whether the user pressed CTRL-C to interrupt the solving process

Returns
Returns TRUE if Ctrl-C was pressed, otherwise FALSE.
Parameters
scipSCIP data structure

Definition at line 1125 of file scip.c.

References SCIPinterrupted().

Referenced by solveSubNLP().

◆ SCIPisStopped()