Detailed DescriptionUndercover primal heuristic for MINLPs. The undercover heuristic is designed for mixed-integer nonlinear programs and tries to fix a subset of variables such as to make each constraint linear or convex. For this purpose it solves a binary program to automatically determine the minimum number of variable fixings necessary. As fixing values, we use values from the LP relaxation, the NLP relaxation, or the incumbent solution. Definition in file heur_undercover.c. #include <assert.h> #include <string.h> #include "scip/scip.h" #include "scip/scipdefplugins.h" #include "scip/heur_undercover.h" #include "nlpi/exprinterpret.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 44 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover(), and solveSubproblem().
Definition at line 45 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
Definition at line 46 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
Definition at line 47 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
Definition at line 48 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
Definition at line 49 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
Definition at line 50 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
Definition at line 51 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
does the heuristic use a secondary SCIP instance? Definition at line 52 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
sequence of fixing values used: 'l'p relaxation, 'n'lp relaxation, 'i'ncumbent solution Definition at line 55 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
maximum number of nodes to regard in the subproblem Definition at line 57 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
minimum number of nodes to regard in the subproblem Definition at line 58 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
number of nodes added to the contingent of the total nodes Definition at line 59 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
weight for conflict score in fixing order Definition at line 61 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
weight for cutoff score in fixing order Definition at line 62 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
weight for inference score in fixing order Definition at line 63 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
maximum coversize (as fraction of total number of variables) Definition at line 64 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
maximum coversize (as ratio to the percentage of non-affected constraints) Definition at line 65 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
minimum percentage of nonlinear constraints in the original problem Definition at line 66 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
minimum number of nonlinear constraints in the original problem Definition at line 67 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
factor by which heuristic should at least improve the incumbent Definition at line 68 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
subproblem nodes in relation to nodes of the original problem Definition at line 69 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
fraction of covering variables in the last cover which need to change their value when recovering Definition at line 70 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
maximum number of backtracks Definition at line 72 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
maximum number of recoverings Definition at line 73 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
maximum number of reorderings of the fixing order Definition at line 74 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
objective function of the covering problem Definition at line 76 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
order in which variables should be fixed Definition at line 77 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
should undercover called at root node before cut separation? Definition at line 79 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
should integer variables in the cover be fixed first? Definition at line 80 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
shall LP values for integer vars be rounded according to locks? Definition at line 81 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
should we only fix/dom.red. variables creating nonconvexity? Definition at line 82 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
should the NLP heuristic be called to polish a feasible solution? Definition at line 83 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
should bounddisjunction constraints be covered (or just copied)? Definition at line 84 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
shall the cover be re-used if a conflict was added after an infeasible subproblem? Definition at line 85 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
should all active cuts from the cutpool of the original scip be copied to constraints of the subscip Definition at line 86 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
list of objective functions of the covering problem Definition at line 93 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
list of orders in which variables can be fixed Definition at line 94 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
maximum number of fails after which we give up solving the NLP relaxation Definition at line 95 of file heur_undercover.c. Referenced by getFixingValue(), and SCIPapplyUndercover().
maximum number of fails after which we give up calling NLP local search Definition at line 96 of file heur_undercover.c. Referenced by SCIPapplyUndercover().
don't start expensive parts of the heuristics if less than this amount of time left Definition at line 97 of file heur_undercover.c. Referenced by SCIPapplyUndercover().
number of nodes equivalent for the costs for setting up the sub-CIP Definition at line 98 of file heur_undercover.c. Function Documentationdetermines, whether a variable is fixed to the given value
Definition at line 164 of file heur_undercover.c. References SCIP_Bool, SCIPisFeasEQ(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and termIsConstant(). Referenced by createCoveringProblem().
determines, whether a term is already constant, because the variable is fixed or the coefficient is zero
Definition at line 184 of file heur_undercover.c. References SCIP_Bool, SCIPisFeasEQ(), SCIPisZero(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), termIsConvex(), and TRUE. Referenced by createCoveringProblem(), processNlRow(), and varIsFixed(). determines, whether a term is convex
Definition at line 206 of file heur_undercover.c. References incCounters(), SCIPisInfinity(), and sign(). Referenced by processNlRow(), and termIsConstant().
increases counters
Definition at line 219 of file heur_undercover.c. References TRUE, and updateTimelimit(). Referenced by createCoveringProblem(), processNlRow(), and termIsConvex().
update time limit
Definition at line 238 of file heur_undercover.c. References processNlRow(), SCIP_CALL, SCIP_OKAY, SCIPgetClockTime(), SCIPresetClock(), and SCIPstartClock(). Referenced by incCounters(), and SCIPapplyUndercover().
analyzes a nonlinear row and adds constraints and fixings to the covering problem
Definition at line 254 of file heur_undercover.c. References BMSclearMemoryArray, SCIP_QuadElement::coef, createCoveringProblem(), FALSE, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, incCounters(), NULL, SCIP_Bool, SCIP_CALL, SCIP_EXPRINTCAPABILITY_HESSIAN, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddCons(), SCIPcreateConsSetcover(), SCIPcreateSol(), SCIPdebugMessage, SCIPexprintCompile(), SCIPexprintGetCapability(), SCIPexprintHessianSparsityDense(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfixVar(), SCIPgetSolVals(), SCIPlinkCurrentSol(), SCIPnlrowGetExprtree(), SCIPnlrowGetLhs(), SCIPnlrowGetName(), SCIPnlrowGetNQuadElems(), SCIPnlrowGetQuadElems(), SCIPnlrowGetQuadVars(), SCIPnlrowGetRhs(), SCIPreallocBufferArray, SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetName(), SCIPvarGetProbindex(), termIsConstant(), termIsConvex(), and TRUE. Referenced by createCoveringProblem(), and updateTimelimit().
creates the covering problem to determine a number of variables to be fixed
Definition at line 545 of file heur_undercover.c. References BMSclearMemoryArray, FALSE, forbidCover(), incCounters(), MAX, MIN, NULL, processNlRow(), SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIP_VARTYPE_BINARY, SCIPaddCons(), SCIPaddVar(), SCIPallocBufferArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPchgVarLb(), SCIPchgVarObj(), SCIPconsGetName(), SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPcreateConsLinear(), SCIPcreateConsSetpack(), SCIPcreateProb(), SCIPcreateVar(), SCIPdebugMessage, SCIPerrorMessage, SCIPexprintCreate(), SCIPexprintFree(), SCIPfindConshdlr(), SCIPfreeBufferArray, SCIPfreeSol(), SCIPgetBinaryVarIndicator(), SCIPgetBinvarRepresentative(), SCIPgetLhsCoefsSOC(), SCIPgetLhsQuadratic(), SCIPgetLhsVarsSOC(), SCIPgetNegatedVar(), SCIPgetNLhsVarsSOC(), SCIPgetNLPNlRows(), SCIPgetNlRowQuadratic(), SCIPgetNlRowSOC(), SCIPgetNNLPNlRows(), SCIPgetNVarsAnd(), SCIPgetNVarsBounddisjunction(), SCIPgetProbName(), SCIPgetResultantAnd(), SCIPgetRhsCoefSOC(), SCIPgetRhsQuadratic(), SCIPgetRhsVarSOC(), SCIPgetVarsAnd(), SCIPgetVarsBounddisjunction(), SCIPgetVarsData(), SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapFree(), SCIPhashmapInsert(), SCIPinfinity(), SCIPisConcaveQuadratic(), SCIPisConvexQuadratic(), SCIPisInfinity(), SCIPisNLPConstructed(), SCIPreleaseCons(), SCIPsnprintf(), SCIPstatistic, SCIPstatisticPrintf, SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNegatedVar(), SCIPvarGetNegationVar(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarIsActive(), SCIPvarIsNegated(), termIsConstant(), TRUE, and varIsFixed(). Referenced by processNlRow(), SCIPapplyUndercover(), and SCIPcomputeCoverUndercover().
adds a constraint to the covering problem to forbid the given cover
Definition at line 1336 of file heur_undercover.c. References createConflict(), FALSE, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPallocBufferArray, SCIPcreateConsLinear(), SCIPcreateConsSetcover(), SCIPfreeBufferArray, SCIPgetNegatedVar(), SCIPinfinity(), SCIPisFeasGE(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetLbLocal(), and TRUE. Referenced by createCoveringProblem(), and SCIPapplyUndercover().
adds a set covering or bound disjunction constraint to the original problem
Definition at line 1459 of file heur_undercover.c. References FALSE, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddCons(), SCIPaddConsLocal(), SCIPallocBufferArray, SCIPcreateConsBounddisjunction(), SCIPcreateConsLogicor(), SCIPfreeBufferArrayNull, SCIPgetNegatedVar(), SCIPisFeasEQ(), SCIPisFeasZero(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarIsBinary(), solveCoveringProblem(), and TRUE. Referenced by forbidCover(), and SCIPapplyUndercover().
solve covering problem
Definition at line 1559 of file heur_undercover.c. References computeFixingOrder(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PARAMSETTING_FAST, SCIP_Real, SCIPallocBufferArray, SCIPdebug, SCIPdebugMessage, SCIPfindBranchrule(), SCIPfreeBufferArray, SCIPgetBestSol(), SCIPgetNOrigVars(), SCIPgetNSols(), SCIPgetSolOrigObj(), SCIPgetSolVals(), SCIPisParamFixed(), SCIPprintSol(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetObjlimit(), SCIPsetPresolving(), SCIPsetRealParam(), SCIPsetSeparating(), SCIPsetSubscipsOff(), SCIPsolve(), SCIPsumepsilon(), SCIPvarGetObj(), SCIPwarningMessage(), and TRUE. Referenced by createConflict(), SCIPapplyUndercover(), and SCIPcomputeCoverUndercover().
computes fixing order and returns whether order has really been changed
Definition at line 1675 of file heur_undercover.c. References FALSE, getFixingValue(), MAX, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_PARAMETERWRONGVAL, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPgetVarAvgInferenceCutoffScore(), SCIPgetVarConflictScore(), SCIPinfinity(), SCIPsortDownRealInt(), SCIPsortRealInt(), SCIPvarIsIntegral(), and TRUE. Referenced by SCIPapplyUndercover(), and solveCoveringProblem().
gets fixing value
Definition at line 1786 of file heur_undercover.c. References calculateAlternatives(), FALSE, MAXNLPFAILS, NULL, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_NLPPAR_VERBLEVEL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_GLOBOPT, SCIP_NLPSOLSTAT_LOCOPT, SCIP_OKAY, SCIP_Real, SCIPchgVarBoundsDiveNLP(), SCIPdebug, SCIPdebugMessage, SCIPgetBestSol(), SCIPgetNLPSolstat(), SCIPgetSolVal(), SCIPisGE(), SCIPisLE(), SCIPisNLPConstructed(), SCIPsetNLPInitialGuessSol(), SCIPsetNLPIntPar(), SCIPsolveDiveNLP(), SCIPstartDiveNLP(), SCIPvarGetLbLocal(), SCIPvarGetLPSol(), SCIPvarGetNLPSol(), SCIPvarGetUbLocal(), and TRUE. Referenced by computeFixingOrder(), and fixAndPropagate().
calculates up to four alternative values for backtracking, if fixing the variable failed. The alternatives are the two bounds of the variable, and the averages of the bounds and the fixing value. For infinite bounds, fixval +/- abs(fixval) will be used instead.
Definition at line 1930 of file heur_undercover.c. References roundFixingValue(), SCIP_Real, SCIPisEQ(), SCIPisFeasEQ(), SCIPisFeasZero(), SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), and SCIPvarIsIntegral(). Referenced by fixAndPropagate(), and getFixingValue().
rounds the given fixing value
Definition at line 2011 of file heur_undercover.c. References copySol(), SCIP_OKAY, SCIP_Real, SCIPfeasCeil(), SCIPfeasFloor(), SCIPfeasFrac(), SCIPisFeasIntegral(), SCIPvarGetNLocksDown(), and SCIPvarGetNLocksUp(). Referenced by calculateAlternatives(), and fixAndPropagate().
copy the solution of the subproblem to newsol
Definition at line 2056 of file heur_undercover.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPgetNOrigVars(), SCIPgetSolVals(), SCIPgetVarsData(), SCIPsetSolVals(), and solveSubproblem(). Referenced by roundFixingValue(), and solveSubproblem().
solve subproblem and pass best feasible solution to original SCIP instance
Definition at line 2097 of file heur_undercover.c. References copySol(), FALSE, HEUR_NAME, MIN, NULL, performFixing(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_PARAMEMPHASIS_FEASIBILITY, SCIP_PARAMSETTING_AGGRESSIVE, SCIP_PARAMSETTING_FAST, SCIP_Real, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_OPTIMAL, SCIPallocBufferArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPchgVarLbGlobal(), SCIPchgVarUbGlobal(), SCIPcopy(), SCIPcopyCuts(), SCIPcreate(), SCIPcreateSol(), SCIPdebug, SCIPdebugMessage, SCIPfree(), SCIPfreeBufferArray, SCIPfreeSol(), SCIPgetLowerbound(), SCIPgetNNodes(), SCIPgetNSols(), SCIPgetSols(), SCIPgetStatus(), SCIPgetUpperbound(), SCIPgetVarsData(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPheurGetData(), SCIPisInfinity(), SCIPisParamFixed(), SCIPmergeVariableStatistics(), SCIPprintStatistics(), SCIPsetBoolParam(), SCIPsetEmphasis(), SCIPsetHeuristics(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetObjlimit(), SCIPsetPresolving(), SCIPsetRealParam(), SCIPsolve(), SCIPtrySol(), SCIPunfixParam(), SCIPwarningMessage(), and TRUE. Referenced by copySol(), and SCIPapplyUndercover().
perform fixing of a variable and record bound disjunction information
Definition at line 2332 of file heur_undercover.c. References FALSE, fixAndPropagate(), MAX, MIN, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPdebugMessage, SCIPfeasCeil(), SCIPgetDepth(), SCIPgetDepthLimit(), SCIPgetNVars(), SCIPisFeasIntegral(), SCIPisLbBetter(), SCIPisUbBetter(), SCIPnewProbingNode(), SCIPpropagateProbing(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and SCIPvarIsIntegral(). Referenced by fixAndPropagate(), and solveSubproblem().
Definition at line 2452 of file heur_undercover.c. References calculateAlternatives(), FALSE, getFixingValue(), MAX, MIN, NULL, performFixing(), roundFixingValue(), SCIP_Bool, SCIP_CALL, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPallocBufferArray, SCIPapplyUndercover(), SCIPbacktrackProbing(), SCIPdebugMessage, SCIPendProbing(), SCIPfreeBufferArray, SCIPgetBestSol(), SCIPgetLPSolstat(), SCIPgetProbingDepth(), SCIPgetVars(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisFeasIntegral(), SCIPisIntegral(), SCIPstartProbing(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), and TRUE. Referenced by performFixing(), and SCIPapplyUndercover().
main procedure of the undercover heuristic
Definition at line 2651 of file heur_undercover.c. References computeFixingOrder(), createConflict(), createCoveringProblem(), FALSE, fixAndPropagate(), forbidCover(), MAX, MAXNLPFAILS, MAXPOSTNLPFAILS, MIN, MINTIMELEFT, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_HEURCOPY(), SCIP_DELAYED, SCIP_DIDNOTFIND, SCIP_FOUNDSOL, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_REAL_MAX, SCIPallocBufferArray, SCIPapplyHeurSubNlp(), SCIPconshdlrGetNActiveConss(), SCIPcreate(), SCIPcreateClock(), SCIPdebugMessage, SCIPendDiveNLP(), SCIPfeasCeil(), SCIPfree(), SCIPfreeBufferArray, SCIPfreeBufferArrayNull, SCIPfreeClock(), SCIPfreeSol(), SCIPfreeTransform(), SCIPgetClockTime(), SCIPgetDepth(), SCIPgetIntParam(), SCIPgetMemExternEstim(), SCIPgetMemUsed(), SCIPgetNConss(), SCIPgetNNlpis(), SCIPgetRealParam(), SCIPgetVarsData(), SCIPheurGetData(), SCIPincludeDefaultPlugins(), SCIPisFeasEQ(), SCIPisNLPConstructed(), SCIPreleaseVar(), SCIPstartClock(), SCIPstatistic, SCIPstatisticPrintf, SCIPvarGetLbGlobal(), solveCoveringProblem(), solveSubproblem(), TRUE, and updateTimelimit(). Referenced by fixAndPropagate().
copy method for primal heuristic plugins (called when SCIP copies plugins) Definition at line 3075 of file heur_undercover.c. Referenced by SCIPapplyUndercover().
destructor of primal heuristic to free user data (called when SCIP is exiting) Definition at line 3089 of file heur_undercover.c.
solving process initialization method of primal heuristic (called when branch and bound process is about to begin) Definition at line 3110 of file heur_undercover.c.
solving process deinitialization method of primal heuristic (called before branch and bound process data is freed) Definition at line 3182 of file heur_undercover.c.
execution method of primal heuristic Definition at line 3204 of file heur_undercover.c.
creates the undercover primal heuristic and includes it in SCIP
Definition at line 3340 of file heur_undercover.c. References COVERINGOBJS, DEFAULT_BEFORECUTS, DEFAULT_CONFLICTWEIGHT, DEFAULT_COPYCUTS, DEFAULT_COVERBD, DEFAULT_COVERINGOBJ, DEFAULT_CUTOFFWEIGHT, DEFAULT_FIXINGALTS, DEFAULT_FIXINGORDER, DEFAULT_FIXINTFIRST, DEFAULT_INFERENCEWEIGHT, DEFAULT_LOCKSROUNDING, DEFAULT_MAXBACKTRACKS, DEFAULT_MAXCOVERSIZECONSS, DEFAULT_MAXCOVERSIZEVARS, DEFAULT_MAXNODES, DEFAULT_MAXRECOVERS, DEFAULT_MAXREORDERS, DEFAULT_MINCOVEREDABS, DEFAULT_MINCOVEREDREL, DEFAULT_MINIMPROVE, DEFAULT_MINNODES, DEFAULT_NODESOFS, DEFAULT_NODESQUOT, DEFAULT_ONLYCONVEXIFY, DEFAULT_POSTNLP, DEFAULT_RECOVERDIV, DEFAULT_REUSECOVER, FALSE, FIXINGORDERS, HEUR_DESC, HEUR_DISPCHAR, HEUR_FREQ, HEUR_FREQOFS, HEUR_MAXDEPTH, HEUR_NAME, HEUR_PRIORITY, HEUR_TIMING, HEUR_USESSUBSCIP, NULL, SCIP_CALL, SCIP_LONGINT_MAX, SCIP_OKAY, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIPaddBoolParam(), SCIPaddCharParam(), SCIPaddIntParam(), SCIPaddLongintParam(), SCIPaddRealParam(), SCIPaddStringParam(), SCIPallocMemory, SCIPcomputeCoverUndercover(), SCIPincludeHeurBasic(), SCIPsetHeurCopy(), SCIPsetHeurExitsol(), SCIPsetHeurFree(), SCIPsetHeurInitsol(), and TRUE. Referenced by SCIPincludeDefaultPlugins().
computes a minimal set of covering variables
Definition at line 3486 of file heur_undercover.c. References createCoveringProblem(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPcreate(), SCIPdebugMessage, SCIPfree(), SCIPfreeBufferArray, SCIPgetMemExternEstim(), SCIPgetMemUsed(), SCIPgetVarsData(), SCIPincludeDefaultPlugins(), SCIPreleaseVar(), and solveCoveringProblem(). Referenced by SCIPincludeHeurUndercover(). |