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 fillDigraph(), and 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().
Definition at line 44 of file presol_components.c. Referenced by SCIPincludePresolComponents().
should the single components be written as an .cip-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 53 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 226 of file presol_components.c. References FALSE, fillDigraph(), 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(), SCIPwarningMessage(), SCIPwriteOrigProblem(), SCIPwriteParams(), and TRUE. Referenced by splitProblem().
loop over constraints, get active variables and fill directed graph
Definition at line 696 of file presol_components.c. References BMSclearMemoryArray, FALSE, NULL, PRESOL_NAME, SCIP_Bool, SCIP_CALL, SCIP_FILECREATEERROR, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetName(), SCIPdigraphAddArc(), SCIPerrorMessage, SCIPfindPresol(), SCIPfreeBufferArray, SCIPgetActiveVars(), SCIPgetConsNVars(), SCIPgetConsVars(), SCIPgetNVars(), SCIPgetProbName(), SCIPinfoMessage(), SCIPisStopped(), SCIPpresolGetNCalls(), SCIPprintSysError(), SCIPreallocBufferArray, SCIPsnprintf(), SCIPsplitFilename(), SCIPvarGetProbindex(), SCIPwarningMessage(), splitProblem(), and TRUE. Referenced by copyAndSolveComponent(), and 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 960 of file presol_components.c. References copyAndSolveComponent(), NULL, presolComponents(), SCIP_CALL, SCIP_CUTOFF, SCIP_OKAY, SCIP_Real, SCIP_UNBOUNDED, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPallocBufferArray, SCIPblkmem(), SCIPfree(), SCIPfreeBufferArray, SCIPgetNConss(), SCIPgetNVars(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPinfoMessage(), SCIPisStopped(), SCIPprintCons(), SCIPsortIntPtr(), SCIPstatistic, and SCIPvarGetType(). Referenced by fillDigraph(), and presolComponents().
performs presolving by searching for components
Definition at line 1115 of file presol_components.c. References BMScopyMemoryArray, fillDigraph(), NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_PRESOLFREE(), 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(), and splitProblem().
destructor of presolver to free user data (called when SCIP is exiting) Definition at line 1341 of file presol_components.c. References NULL, SCIP_DECL_PRESOLINIT(), SCIP_OKAY, SCIPfreeMemory, SCIPpresolGetData(), and SCIPpresolSetData(). Referenced by presolComponents().
initialization method of presolver (called after problem was transformed) Definition at line 1357 of file presol_components.c. References FALSE, NULL, SCIP_CALL, SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXIT, SCIP_OKAY, SCIPpresolGetData(), SCIPstatistic, and TRUE. Referenced by SCIP_DECL_PRESOLFREE().
execution method of presolver Definition at line 1395 of file presol_components.c. References presolComponents(), SCIP_CALL, SCIP_OKAY, and SCIPincludePresolComponents(). Referenced by SCIP_DECL_PRESOLINIT().
creates the components presolver and includes it in SCIP
Definition at line 1409 of file presol_components.c. References DEFAULT_FEASTOLFACTOR, DEFAULT_INTFACTOR, DEFAULT_MAXINTVARS, DEFAULT_NODELIMIT, DEFAULT_RELDECREASE, DEFAULT_WRITEPROBLEMS, FALSE, NULL, PRESOL_DESC, PRESOL_MAXROUNDS, PRESOL_NAME, PRESOL_PRIORITY, PRESOL_TIMING, 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 SCIP_DECL_PRESOLEXEC(), and SCIPincludeDefaultPlugins(). |