All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
presol_components.c File Reference Detailed Descriptionsolve independent components in advance This presolver looks for independent components at the end of the presolving. If independent components are found in which a maximum number of discrete variables is not exceeded, the presolver tries to solve them in advance as subproblems. Afterwards, if a subproblem was solved to optimality, the corresponding variables/constraints can be fixed/deleted in the main problem. Definition in file presol_components.c. Go to the source code of this file.
Macro Definition Documentation
Definition at line 40 of file presol_components.c. Referenced by SCIPincludePresolComponents().
Definition at line 41 of file presol_components.c. Referenced by SCIPincludePresolComponents().
priority of the presolver (>= 0: before, < 0: after constraint handlers); combined with propagators Definition at line 42 of file presol_components.c. Referenced by SCIPincludePresolComponents().
maximal number of presolving rounds the presolver participates in (-1: no limit) Definition at line 43 of file presol_components.c. Referenced by SCIPincludePresolComponents().
should presolver be delayed, if other presolvers found reductions? Definition at line 44 of file presol_components.c. Referenced by SCIPincludePresolComponents().
should the single components be written as an .lp-file? Definition at line 46 of file presol_components.c. Referenced by SCIPincludePresolComponents().
maximum number of integer (or binary) variables to solve a subproblem directly (-1: no solving) Definition at line 47 of file presol_components.c. Referenced by SCIPincludePresolComponents().
maximum number of nodes to be solved in subproblems Definition at line 48 of file presol_components.c. Referenced by SCIPincludePresolComponents().
the weight of an integer variable compared to binary variables Definition at line 49 of file presol_components.c. Referenced by SCIPincludePresolComponents().
percentage by which the number of variables has to be decreased after the last component solving to allow running again (1.0: do not run again) Definition at line 50 of file presol_components.c. Referenced by SCIPincludePresolComponents().
default value for parameter to increase the feasibility tolerance in all sub-SCIPs Definition at line 52 of file presol_components.c. Referenced by SCIPincludePresolComponents(). Function Documentation
copies a connected component consisting of the given constraints and variables into a sub-SCIP and tries to solve the sub-SCIP to optimality
Definition at line 225 of file presol_components.c. References FALSE, MAX, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIP_UNBOUNDED, SCIP_VERBLEVEL_FULL, SCIPaddCons(), SCIPblkmem(), SCIPcheckSol(), SCIPcheckSolOrig(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPcopyParamSettings(), SCIPcopyPlugins(), SCIPcreate(), SCIPcreateOrigSol(), SCIPcreateProb(), SCIPdebugMessage, SCIPdelCons(), SCIPfixVar(), SCIPfree(), SCIPfreeSol(), SCIPfreeTransform(), SCIPgetBestSol(), SCIPgetConsCopy(), SCIPgetMemExternEstim(), SCIPgetMemUsed(), SCIPgetNBinVars(), SCIPgetNConss(), SCIPgetNIntVars(), SCIPgetNSols(), SCIPgetNVars(), SCIPgetProbName(), SCIPgetRealParam(), SCIPgetSolOrigObj(), SCIPgetSolVal(), SCIPgetSolvingTime(), SCIPgetStatus(), SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPinfoMessage(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisGE(), SCIPisGT(), SCIPisInfinity(), SCIPisLE(), SCIPisLT(), SCIPisNegative(), SCIPisParamFixed(), SCIPisPositive(), SCIPprintStatistics(), SCIPreleaseCons(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetRealParam(), SCIPsetSolVal(), SCIPsnprintf(), SCIPsolGetOrigObj(), SCIPsolve(), SCIPstatistic, SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPverbMessage(), SCIPwriteOrigProblem(), and TRUE. Referenced by splitProblem().
loop over constraints, get active variables and fill directed graph
Definition at line 673 of file presol_components.c. References BMSclearMemoryArray, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetName(), SCIPdigraphAddArc(), SCIPfreeBufferArray, SCIPgetActiveVars(), SCIPgetConsNVars(), SCIPgetConsVars(), SCIPgetNVars(), SCIPisStopped(), SCIPreallocBufferArray, SCIPvarGetProbindex(), SCIPwarningMessage(), and TRUE. Referenced by presolComponents().
use components to assign variables and constraints to the subscips and try to solve all subscips having not too many integer variables
Definition at line 937 of file presol_components.c. References copyAndSolveComponent(), MAX, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_OKAY, SCIP_Real, SCIP_UNBOUNDED, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPallocBufferArray, SCIPblkmem(), SCIPdebugMessage, SCIPfixVar(), SCIPfree(), SCIPfreeBufferArray, SCIPgetNConss(), SCIPgetNVars(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPinfoMessage(), SCIPisNegative(), SCIPisPositive(), SCIPisStopped(), SCIPprintCons(), SCIPsortIntPtr(), SCIPstatistic, SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetObj(), SCIPvarGetType(), and SCIPvarGetUbGlobal(). Referenced by presolComponents().
performs presolving by searching for components
Definition at line 1136 of file presol_components.c. References BMScopyMemoryArray, fillDigraph(), NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_SUCCESS, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPallocBufferArray, SCIPconsIsChecked(), SCIPdebugMessage, SCIPdigraphComputeUndirectedComponents(), SCIPdigraphCreate(), SCIPdigraphFree(), SCIPdigraphGetComponent(), SCIPdigraphSetSizes(), SCIPfreeBufferArray, SCIPgetConss(), SCIPgetNActivePricers(), SCIPgetNConss(), SCIPgetNVars(), SCIPgetStage(), SCIPgetVars(), SCIPinProbing(), SCIPisPresolveFinished(), SCIPisStopped(), SCIPpresolGetData(), SCIPsortIntInt(), SCIPstatistic, SCIPstatisticMessage, SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetType(), splitProblem(), and TRUE. Referenced by SCIP_DECL_PRESOLEXEC().
destructor of presolver to free user data (called when SCIP is exiting) Definition at line 1362 of file presol_components.c. References NULL, SCIP_OKAY, SCIPfreeMemory, SCIPpresolGetData(), and SCIPpresolSetData().
initialization method of presolver (called after problem was transformed) Definition at line 1378 of file presol_components.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpresolGetData(), SCIPstatistic, and TRUE.
execution method of presolver Definition at line 1416 of file presol_components.c. References presolComponents(), SCIP_CALL, and SCIP_OKAY.
creates the components presolver and includes it in SCIP
Definition at line 1430 of file presol_components.c. References DEFAULT_FEASTOLFACTOR, DEFAULT_INTFACTOR, DEFAULT_MAXINTVARS, DEFAULT_NODELIMIT, DEFAULT_RELDECREASE, DEFAULT_WRITEPROBLEMS, FALSE, NULL, PRESOL_DELAY, PRESOL_DESC, PRESOL_MAXROUNDS, PRESOL_NAME, PRESOL_PRIORITY, SCIP_CALL, SCIP_LONGINT_MAX, SCIP_OKAY, SCIP_REAL_MAX, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPaddLongintParam(), SCIPaddRealParam(), SCIPallocMemory, SCIPincludePresolBasic(), SCIPsetPresolCopy(), SCIPsetPresolExit(), SCIPsetPresolFree(), SCIPsetPresolInit(), SCIPstatistic, and TRUE. Referenced by SCIPincludeDefaultPlugins(). |