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 283 of file scip_general.c.

References doScipCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPfree().

Referenced by addScenarioVarsAndConsToProb(), applyCompletesol(), applyDomainChanges(), applyOfins(), applyRepair(), applyVbounds(), createSubscip(), createSubSCIP(), execmain(), infinityCountUpdate(), initConcsolver(), main(), polyscip::Polyscip::Polyscip(), scipexamples::QueensSolver::QueensSolver(), reoptimize(), runBrachistochrone(), runGastrans(), runPacking(), runSCIP(), runShell(), runSpring(), SCIP_DECL_BENDERSCOPY(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyProximity(), SCIPapplyRedSize(), SCIPapplyRens(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPbendersApplyDecomposition(), SCIPcomputeCoverUndercover(), SCIPcreateFiniteSolCopy(), SCIPprobdataCreate(), SCIPrunColoringShell(), SCIPrunCyc(), SCIPrunShell(), SCIPverifyCircularPatternNLP(), searchEcAggr(), setupProbingSCIP(), solveClassification(), solveMinIISC(), solvePricingMINLP(), solveSubMIP(), solveSubproblem(), substpsolver_initBC(), 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 315 of file scip_general.c.

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

Referenced by applyCompletesol(), applyDomainChanges(), applyOfins(), applyRepair(), applyVbounds(), blockCreateSubscip(), componentCreateSubscip(), createSubSCIP(), createSubscip(), deleteSubproblem(), execmain(), freeBlock(), freeComponent(), freeScenarioTree(), freeSubSCIP(), freeSubscip(), infinityCountUpdate(), main(), probdataFree(), reoptimize(), runBrachistochrone(), runGastrans(), runPacking(), runSCIP(), runShell(), runSpring(), SCIP_DECL_BENDERSFREE(), SCIP_DECL_CONCSOLVERDESTROYINST(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyRedSize(), SCIPapplyRens(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPbendersDeactivate(), SCIPcomputeCoverUndercover(), SCIPcreate(), SCIPcreateFiniteSolCopy(), SCIPrunColoringShell(), SCIPrunCyc(), SCIPrunShell(), SCIPverifyCircularPatternNLP(), searchEcAggr(), solveClassification(), solveComponent(), solveMinIISC(), solvePricingMINLP(), solveSubMIP(), solveSubproblem(), subscipdataFreeSubscip(), substpsolver_free(), writeBounds(), polyscip::Polyscip::~Polyscip(), and scipexamples::QueensSolver::~QueensSolver().

◆ 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 356 of file scip_general.c.

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

Referenced by addCoef(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictOne(), analyzeConflictUpperbound(), analyzeConflictZero(), applyGenVBound(), applyProbing(), applyRepair(), branchruledataEnsureArraySize(), canonicalizeConstraints(), checkEstimateCriterion(), checkLocksAndRes(), checkTransferBoolParam(), collectEstLst(), componentSetupWorkingSol(), computeSymmetryGroup(), consdataCreate(), constructCompression(), constructValidSolution(), createAuxVar(), createCGCuts(), createConsSetppc(), createSubproblems(), createSubSCIP(), createSubscip(), daExec(), deinitSolve(), delCoefPos(), detectNlhdlr(), detectNlhdlrs(), displayRelevantStats(), doCopy(), dualascent_execPcMw(), executeHeuristic(), generateAndApplyBendersCuts(), generateAndApplyBendersIntegerCuts(), generateAndApplyBendersNogoodCut(), getLinVarsAndAndRess(), getNNodesBelowIncumbent(), getNRank1Nodes(), getX(), graph_pc_2org(), graph_pc_getOrgCosts(), heurdataEnsureArraySize(), initialiseSubproblem(), initPricing(), initSolve(), isFiniteNonnegativeIntegral(), performDualfix(), permSortConsdata(), processBinvarFixings(), propagateCons(), propagatePackingPartitioningCons(), propagateVbounds(), propIndicator(), proposeFeasibleSolution(), readDecomposition(), readDiffFile(), readSolFile(), readXmlSolFile(), recomputeNodeInformation(), removeFixedBinvars(), removeVariablesAndConstraintsFromMaster(), resolvePropagationCoretimes(), SCIP_DECL_BENDERSCUTEXEC(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSDEACTIVE(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSDISABLE(), SCIP_DECL_CONSENABLE(), SCIP_DECL_CONSEXITSOL(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSTRANS(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPPRESOL(), SCIP_DECL_READERREAD(), SCIPaddExprNonlinear(), SCIPaddLinearVarNonlinear(), SCIPanalyzeDeductionsProbing(), SCIPapplyHeurSubNlp(), SCIPbendersExec(), SCIPbendersFreeSubproblem(), SCIPbendersSolveSubproblemCIP(), SCIPcheckBendersSubproblemOptimality(), SCIPchgConsName(), SCIPchgExprNonlinear(), SCIPchgLhsNonlinear(), SCIPchgRhsNonlinear(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarLbNode(), SCIPchgVarLbProbing(), SCIPchgVarName(), SCIPchgVarType(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPchgVarUbNode(), SCIPchgVarUbProbing(), SCIPcomputeFacetVertexPolyhedralNonlinear(), SCIPcreateConsCardinality(), SCIPcreateConsCumulative(), SCIPcreateConsLinear(), SCIPcreateConsLinking(), SCIPcreateConsLogicor(), SCIPcreateConsOptcumulative(), SCIPcreateConsSOS1(), SCIPgenerateAndApplyBendersOptCut(), SCIPgetNLimSolsFound(), SCIPgetVarCopy(), SCIPincludeNlhdlrNonlinear(), SCIPinferVarFixCons(), SCIPinferVarFixProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPisConsCompressionEnabled(), SCIPisDualSolAvailable(), SCIPmakeIndicatorFeasible(), SCIPmakeIndicatorsFeasible(), SCIPmergeVariableStatistics(), SCIPprintSolutionStatistics(), SCIPprintStatistics(), SCIPprintTimingStatistics(), SCIPsetLinearConsIndicator(), SCIPsetSlackVarUb(), SCIPsolveConcurrent(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtransformDecompstore(), SCIPtransformMinUC(), SCIPupdateStartpointHeurSubNlp(), SCIPvalidateSolve(), SCIPwriteSolutionNl(), setupAndSolve(), setupAndSolveSubscipRapidlearning(), solveComponent(), solveSubNLP(), subtreeSumGapUpdate(), tightenAuxVarBounds(), tightenBounds(), tightenedLinkvar(), 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 378 of file scip_general.c.

References Scip::messagehdlr, SCIP_Primal::nlimsolsfound, Scip::primal, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, 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, SCIPcheckStage(), SCIPerrorMessage, SCIPgetObjsense(), SCIPgetPrimalbound(), SCIPisInfinity(), SCIPmessageFPrintInfo(), SCIPprintStatus(), SCIPsolveIsStopped(), Scip::set, SCIP_Set::stage, Scip::stat, and TRUE.

Referenced by displayRelevantStats(), and SCIPprintStatusStatistics().

◆ SCIPgetStatus()

SCIP_STATUS SCIPgetStatus ( SCIP scip)

gets solution status

Returns
SCIP solution status

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

Parameters
scipSCIP data structure

Definition at line 474 of file scip_general.c.

References NULL, SCIP_CALL_ABORT, SCIP_STAGE_FREE, SCIP_STAGE_INIT, SCIP_STATUS_UNKNOWN, SCIPcheckStage(), Scip::set, SCIP_Set::stage, Scip::stat, SCIP_Stat::status, and TRUE.

Referenced by applyDomainChanges(), polyscip::Polyscip::computeNondomPoints(), createSubSCIP(), infinityCountUpdate(), main(), polyscip::Polyscip::numberofUnboundedResults(), reoptimize(), runBenders(), SCIP_DECL_BENDERSCUTEXEC(), SCIP_DECL_CONCSOLVERSYNCWRITE(), SCIP_DECL_CONSEXITPRE(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_PROPEXITPRE(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyHeurDualval(), SCIPbendersComputeSubproblemLowerbound(), SCIPbendersSolveSubproblemCIP(), SCIPgetGap(), SCIPgetLowerbound(), SCIPgetTransGap(), SCIPgetUpperbound(), SCIPprintSolutionStatistics(), SCIPprintStatus(), SCIPsolveConcurrent(), SCIPverifyCircularPatternNLP(), SCIPwriteSolutionNl(), searchEcAggrWithMIP(), setupAndSolve(), setupAndSolveCumulativeSubscip(), setupAndSolveSubscip(), setupAndSolveSubscipLocalbranching(), setupAndSolveSubscipRapidlearning(), setupAndSolveSubscipTrustregion(), solveAndEvalSubscip(), solveComponent(), solvePricingMINLP(), solveSubNLP(), solveSubproblem(), solveSubscip(), solveSubscipLpface(), storeAggrFromMIP(), subscipdataCopySubscip(), subscipSolve(), and writeBounds().

◆ 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 497 of file scip_general.c.

References 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_TERMINATE, SCIP_STATUS_TIMELIMIT, SCIP_STATUS_TOTALNODELIMIT, SCIP_STATUS_UNBOUNDED, SCIP_STATUS_UNKNOWN, SCIP_STATUS_USERINTERRUPT, SCIPcheckStage(), SCIPerrorMessage, SCIPgetStatus(), SCIPmessageFPrintInfo(), and TRUE.

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

◆ SCIPisTransformed()

◆ SCIPisExactSolve()

SCIP_Bool SCIPisExactSolve ( SCIP scip)

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

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

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 581 of file scip_general.c.

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

Referenced by branch(), execRelpscost(), runVanillaStrongBranching(), 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 603 of file scip_general.c.

References 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, SCIPcheckStage(), SCIPcliquetableGetNCliques(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

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

◆ 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 665 of file scip_general.c.

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

Referenced by SCIPwriteSolutionNl().

◆ 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 681 of file scip_general.c.

References SCIPinterrupted().

◆ SCIPisStopped()

SCIP_Bool SCIPisStopped ( SCIP scip)

returns whether the solving process should be / was stopped before proving optimality; if the solving process should be / was stopped, the status returned by SCIPgetStatus() yields the reason for the premature abort

Returns
Returns TRUE if solving process is stopped/interrupted, otherwise FALSE.
Parameters
scipSCIP data structure

Definition at line 694 of file scip_general.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPsolveIsStopped(), Scip::set, Scip::stat, and TRUE.

Referenced by applyCliqueFixings(), applyHeur(), applyNlobbt(), applyProbing(), applyVbounds(), checkArraySizesGLS(), checkArraySizesHeur(), checkSystemGF2(), computeReducedProbSolutionBiased(), computeRowEcholonGF2(), computeSteinerTree(), computeSteinerTreeVnoi(), computeSymmetryGroup(), daExec(), doSeachEcAggr(), dpborder_coreSolve(), dpsolverFreeData(), dpterms_coreSolve(), dualascent_execPcMw(), enfopsCons(), execRelpscost(), executeBranchingRecursive(), fillDigraph(), findCumulativeConss(), findPrecedenceConss(), generateClusterCuts(), generateOddCycleCut(), heurExec(), liftOddCycleCut(), loadTcliquegraph(), localRun(), mincut_findTerminalSeparators(), mincut_separateLp(), performRandRounding(), preprocessCliques(), preprocessConstraintPairs(), processHashlists(), propagateCons(), redLoopInnerMw(), redLoopInnerPc(), redLoopInnerStp(), reduce_dc(), reduce_hc(), reduce_nw(), reduce_redLoopMw(), reduce_redLoopStp(), reduce_sap(), removeConstraintsDueToNegCliques(), runTm(), runTmPcMW_mode(), runVanillaStrongBranching(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPROP(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPPRESOL(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECSOL(), SCIPapplyLockFixings(), SCIPmatrixCreate(), SCIPperformGenericDivingAlgorithm(), SCIPselectVarStrongBranching(), SCIPStpHeurRecRun(), selectVarRecursive(), separateCardinality(), separateCuts(), separateGLS(), separateHeur(), separateSOS1(), solveBendersSubproblems(), solvePricingHeuristic(), strengthenVarbounds(), tcliquegraphConstructCliqueTable(), tryAddSymmetryHandlingConss(), tryOneOpt(), and writeBounds().