methods to control the solving process of SCIP
This large group of methods and modules comprises the solving process related API of SCIP. This includes
Topics | |
Solving Statistics | |
methods to query statistics about the solving process | |
Parameter | |
methods to create, query, and print user parameters | |
Event Handling | |
methods to create, catch, process, and drop events during the solving process of SCIP | |
LP Relaxation | |
methods to build and access LP relaxation information | |
NLP Relaxation | |
methods for the nonlinear relaxation | |
Conflict Analysis | |
public methods for conflict analysis | |
Branching | |
methods for branching on LP solutions, relaxation solutions, and pseudo solutions | |
Local Subproblem | |
methods to query information about or strengthen the problem at the current local search node | |
Search Tree | |
methods to query search tree related information | |
Probing | |
methods to initiate and control the probing mode of SCIP | |
Reoptimization | |
methods for reoptimization related tasks | |
Functions | |
SCIP_RETCODE | SCIPtransformProb (SCIP *scip) |
SCIP_RETCODE | SCIPpresolve (SCIP *scip) |
SCIP_RETCODE | SCIPsolve (SCIP *scip) |
SCIP_RETCODE | SCIPsolveParallel (SCIP *scip) |
SCIP_RETCODE | SCIPsolveConcurrent (SCIP *scip) |
SCIP_RETCODE | SCIPfreeSolve (SCIP *scip, SCIP_Bool restart) |
SCIP_RETCODE | SCIPfreeTransform (SCIP *scip) |
SCIP_RETCODE | SCIPinterruptSolve (SCIP *scip) |
SCIP_Bool | SCIPisSolveInterrupted (SCIP *scip) |
SCIP_RETCODE | SCIPrestartSolve (SCIP *scip) |
SCIP_Bool | SCIPisInRestart (SCIP *scip) |
SCIP_RETCODE SCIPtransformProb | ( | SCIP * | scip | ) |
initializes solving data structures and transforms problem
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 222 of file scip_solve.c.
References assert(), BMSgarbagecollectBlockMemory, calcNonZeros(), FALSE, h, MAX, NULL, REALABS, SCIP_CALL, SCIP_Longint, SCIP_LONGINT_FORMAT, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_Real, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIP_STATUS_UNKNOWN, SCIP_VERBLEVEL_FULL, SCIP_VERBLEVEL_HIGH, SCIPbranchcandCreate(), SCIPcheckStage(), SCIPcliquetableCreate(), SCIPconflictCreate(), SCIPconshdlrGetNActiveConss(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPerrorMessage, SCIPeventfilterCreate(), SCIPeventqueueCreate(), SCIPgetBestSol(), SCIPgetNConss(), SCIPgetNVars(), SCIPgetSolOrigObj(), SCIPisInfinity(), SCIPlpCreate(), SCIPmessagePrintVerbInfo(), SCIPpermuteProb(), SCIPprimalAddSol(), SCIPprimalCreate(), SCIPprimalUpdateObjlimit(), SCIPprobCheckObjIntegral(), SCIPprobGetName(), SCIPprobMarkNConss(), SCIPprobScaleObj(), SCIPprobTransform(), SCIPrelaxationCreate(), SCIPsetGetNodesel(), SCIPsetInitPlugins(), SCIPsolCheckOrig(), SCIPsolFree(), SCIPsolGetObj(), SCIPsolRecomputeObj(), SCIPstatMark(), SCIPstoreSolutionGap(), SCIPtreeCreate(), sol, and TRUE.
Referenced by componentSetupWorkingSol(), createSubSCIP(), executeLNSHeuristic(), reoptimize(), reoptimize(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_RELAXEXEC(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPpresolve(), SCIPsolveConcurrent(), setupAndSolve(), setupAndSolve(), setupAndSolveSubscip(), setupAndSolveSubscipCrossover(), setupAndSolveSubscipLocalbranching(), setupAndSolveSubscipOneopt(), setupAndSolveSubscipRapidlearning(), setupAndSolveSubscipTrustregion(), solveSubscip(), solveSubscipLpface(), wrapperDins(), and wrapperRins().
SCIP_RETCODE SCIPpresolve | ( | SCIP * | scip | ) |
transforms and presolves problem
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 2328 of file scip_solve.c.
References assert(), displayRelevantStats(), FALSE, h, initSolve(), presolve(), SCIP_CALL, SCIP_ERROR, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_TRANSFORMED, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIP_VERBLEVEL_HIGH, SCIP_VERBLEVEL_NORMAL, SCIPABORT, SCIPcheckStage(), SCIPclockGetTime(), SCIPclockStart(), SCIPclockStop(), SCIPconshdlrGetNActiveConss(), SCIPconshdlrGetName(), SCIPerrorMessage, SCIPfreeTransform(), SCIPinterruptCapture(), SCIPinterruptLP(), SCIPinterruptRelease(), SCIPmessagePrintVerbInfo(), SCIPprobIsObjIntegral(), SCIPtransformProb(), SCIPtreeClear(), and TRUE.
Referenced by createSubSCIP(), executeLNSHeuristic(), runGastrans(), runSpring(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPsolve(), SCIPsolveConcurrent(), setupAndSolve(), setupAndSolve(), setupAndSolveSubscip(), setupAndSolveSubscipRapidlearning(), and solveSubNLP().
SCIP_RETCODE SCIPsolve | ( | SCIP * | scip | ) |
transforms, presolves, and solves problem
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 2498 of file scip_solve.c.
References assert(), displayRelevantStats(), FALSE, freeSolve(), initSolve(), MAX, MIN, NULL, prepareReoptimization(), SCIP_CALL, SCIP_INVALIDCALL, SCIP_LONGINT_FORMAT, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIP_VERBLEVEL_NORMAL, SCIPapplyBendersDecomposition(), SCIPcheckStage(), SCIPclearRelaxSolVals(), SCIPclockStart(), SCIPclockStop(), SCIPcutpoolAddMaxNCuts(), SCIPcutpoolAddNCalls(), SCIPcutpoolAddNCutsAdded(), SCIPcutpoolAddNCutsFound(), SCIPcutpoolAddNRootCalls(), SCIPcutpoolGetMaxNCuts(), SCIPcutpoolGetNCalls(), SCIPcutpoolGetNCutsAdded(), SCIPcutpoolGetNCutsFound(), SCIPcutpoolGetNRootCalls(), SCIPcutpoolGetTime(), SCIPcutpoolSetTime(), SCIPdebug, SCIPdebugMsg, SCIPdecompstoreGetNOrigDecomps(), SCIPerrorMessage, SCIPfindConshdlr(), SCIPgetChildren(), SCIPgetLeaves(), SCIPgetNActiveBenders(), SCIPgetNBinVars(), SCIPgetNIntVars(), SCIPgetNNodesLeft(), SCIPgetRealParam(), SCIPgetSiblings(), SCIPgetSolvingTime(), SCIPinterruptCapture(), SCIPinterruptLP(), SCIPinterruptRelease(), SCIPmessagePrintVerbInfo(), SCIPpresolve(), SCIPreoptAddOptSol(), SCIPreoptAddSol(), SCIPreoptSaveOpenNodes(), SCIPreoptUpdateVarHistory(), SCIPsetGetNodesel(), SCIPsetRealParam(), SCIPsolGetHeur(), SCIPsolGetNodenum(), SCIPsolIsOriginal(), SCIPsolPrint(), SCIPsolRetransform(), SCIPsolveCIP(), SCIPsolveIsStopped(), SCIPstatResetDisplay(), SCIPtreeGetCurrentNode(), SCIPtreeGetNNodes(), SCIPverbMessage(), SCIPwarningMessage(), sol, and TRUE.
Referenced by applyRepair(), createSubSCIP(), doPricing(), doSolveSubMIP(), execmain(), executeLNSHeuristic(), fromAmpl(), fromCommandLine(), fromCommandLine(), fromCommandLine(), main(), reoptimize(), reoptimize(), runBenders(), runBrachistochrone(), runGastrans(), runPacking(), runSpring(), SCIP_DECL_CONCSOLVEREXEC(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_RELAXEXEC(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPapplyRedSize(), SCIPbendersComputeSubproblemLowerbound(), SCIPbendersSolveSubproblemCIP(), SCIPcount(), SCIPsolveConcurrent(), SCIPverifyCircularPatternNLP(), searchEcAggrWithMIP(), setupAndSolve(), setupAndSolve(), setupAndSolveCumulativeSubscip(), setupAndSolveFiniteSolSubscip(), setupAndSolveSubscip(), setupAndSolveSubscip(), setupAndSolveSubscipCrossover(), setupAndSolveSubscipLocalbranching(), setupAndSolveSubscipMutation(), setupAndSolveSubscipOneopt(), setupAndSolveSubscipRapidlearning(), setupAndSolveSubscipTrustregion(), scipexamples::QueensSolver::solve(), solveCoveringProblem(), solvePricingMINLP(), solveSubNLP(), solveSubproblem(), solveSubscip(), solveSubscip(), solveSubscipLpface(), wrapperDins(), wrapperRins(), and writeBounds().
SCIP_RETCODE SCIPsolveParallel | ( | SCIP * | scip | ) |
transforms, presolves, and solves problem using additional solvers which emphasize on finding solutions.
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
transforms, presolves, and solves problem using the configured concurrent solvers
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 2830 of file scip_solve.c.
References FALSE, SCIP_CALL, SCIPcheckStage(), SCIPsolveConcurrent(), and TRUE.
SCIP_RETCODE SCIPsolveConcurrent | ( | SCIP * | scip | ) |
transforms, presolves, and solves problem using additional solvers which emphasize on finding solutions.
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
transforms, presolves, and solves problem using the configured concurrent solvers
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 2860 of file scip_solve.c.
References assert(), displayRelevantStats(), exitPresolve(), FALSE, i, initPresolve(), initSolve(), MAX, MIN, NULL, SCIP_CALL, SCIP_CLOCKTYPE_WALL, SCIP_INVALIDDATA, SCIP_MEM_NOLIMIT, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_STAGE_PRESOLVED, SCIP_STATUS_MEMLIMIT, SCIP_STATUS_OPTIMAL, SCIP_VERBLEVEL_FULL, SCIPallocBufferArray, SCIPcheckStage(), SCIPclockStart(), SCIPclockStop(), SCIPconcsolverCreateInstance(), SCIPconcsolverInitSeeds(), SCIPconcsolverTypeGetPrefPrio(), SCIPconcurrentSolve(), SCIPcreateRandom(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPfreeConcurrent(), SCIPfreeRandom(), SCIPgetConcsolverTypes(), SCIPgetMemExternEstim(), SCIPgetMemUsed(), SCIPgetNConcsolverTypes(), SCIPgetNConcurrentSolvers(), SCIPgetStage(), SCIPgetStatus(), SCIPgetSyncstore(), SCIPpresolve(), SCIPrandomGetInt(), SCIPselectDownRealInt(), SCIPsetIntParam(), SCIPsolve(), SCIPsyncstoreInit(), SCIPsyncstoreSetSolveIsStopped(), SCIPtransformProb(), SCIPverbMessage(), SCIPwarningMessage(), and TRUE.
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPsolveParallel().
SCIP_RETCODE SCIPfreeSolve | ( | SCIP * | scip, |
SCIP_Bool | restart ) |
frees branch and bound tree and all solution process data; statistics, presolving data and transformed problem is preserved
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
restart | should certain data be preserved for improved restarting? |
Definition at line 3214 of file scip_solve.c.
References assert(), exitPresolve(), FALSE, freeSolve(), SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIPcheckStage(), SCIPerrorMessage, and TRUE.
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPfreeTransform().
SCIP_RETCODE SCIPfreeTransform | ( | SCIP * | scip | ) |
frees all solution process data including presolving and transformed problem, only original problem is kept
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 3344 of file scip_solve.c.
References assert(), exitPresolve(), FALSE, freeTransform(), freeTransforming(), NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIPcheckStage(), SCIPerrorMessage, SCIPfreeSolve(), SCIPreoptReleaseData(), and TRUE.
Referenced by freeMemory(), readDiffFile(), reoptimize(), runBenders(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_READERREAD(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPapplyUndercover(), SCIPbendersFreeSubproblem(), SCIPfreeProb(), SCIPpresolve(), solveAndEvalSubscip(), and updateMIP().
SCIP_RETCODE SCIPinterruptSolve | ( | SCIP * | scip | ) |
informs SCIP that the solving process should be interrupted as soon as possible (e.g., after the current node has been solved)
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 3430 of file scip_solve.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), and TRUE.
Referenced by applySolvingPhase(), checkSolution(), SCIP_DECL_CONCSOLVERSTOP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), and solveComponent().
indicates whether SCIP has been informed that the solving process should be interrupted as soon as possible
This function returns whether SCIPinterruptSolve() has been called, which is different from SCIPinterrupted(), which returns whether a SIGINT signal has been received by the SCIP signal handler.
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 3462 of file scip_solve.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), and TRUE.
Referenced by F77_FUNC(), processSolveOutcome(), SCIP_DECL_NLPISOLVE(), and SCIP_DECL_NLPISOLVE().
SCIP_RETCODE SCIPrestartSolve | ( | SCIP * | scip | ) |
informs SCIP that the solving process should be restarted as soon as possible (e.g., after the current node has been solved)
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 3485 of file scip_solve.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), and TRUE.
Referenced by addRelaxation(), applySolvingPhase(), SCIP_DECL_CONSINITLP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), and SCIPbendersSolveSubproblemCIP().
returns whether we are in the restarting phase
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 3591 of file scip_solve.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), and TRUE.
Referenced by copyCuts(), DECL_TIMESERIESUPDATE(), SCIP_DECL_PROPEXITSOL(), SCIPconflictstoreClean(), and updateTreeData().