All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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 SCIP_DECL_HEURCOPY(), SCIP_DECL_HEUREXITSOL(), 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 SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXITSOL(), and 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 91 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
list of orders in which variables can be fixed Definition at line 92 of file heur_undercover.c. Referenced by SCIPincludeHeurUndercover().
maximum number of fails after which we give up solving the NLP relaxation Definition at line 93 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 94 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 95 of file heur_undercover.c. Referenced by SCIP_DECL_HEUREXEC(), and SCIPapplyUndercover().
number of nodes equivalent for the costs for setting up the sub-CIP Definition at line 96 of file heur_undercover.c. Referenced by SCIP_DECL_HEUREXEC(). Function Documentationdetermines, whether a variable is fixed to the given value
Definition at line 162 of file heur_undercover.c. References SCIP_Bool, SCIPisFeasEQ(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), and SCIPvarGetUbLocal(). Referenced by createCoveringProblem().
determines, whether a term is already constant, because the variable is fixed or the coefficient is zero
Definition at line 182 of file heur_undercover.c. References SCIPisFeasEQ(), SCIPisZero(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and TRUE. Referenced by createCoveringProblem(), and processNlRow(). determines, whether a term is convex
Definition at line 204 of file heur_undercover.c. References SCIPisInfinity(). Referenced by processNlRow().
increases counters
Definition at line 217 of file heur_undercover.c. References TRUE. Referenced by createCoveringProblem(), and processNlRow().
update time limit
Definition at line 236 of file heur_undercover.c. References SCIP_CALL, SCIP_OKAY, SCIPgetClockTime(), SCIPresetClock(), and SCIPstartClock(). Referenced by SCIPapplyUndercover().
analyzes a nonlinear row and adds constraints and fixings to the covering problem
Definition at line 252 of file heur_undercover.c. References BMSclearMemoryArray, SCIP_QuadElement::coef, 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().
creates the covering problem to determine a number of variables to be fixed
Definition at line 543 of file heur_undercover.c. References BMSclearMemoryArray, FALSE, 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 SCIPapplyUndercover(), and SCIPcomputeCoverUndercover().
adds a constraint to the covering problem to forbid the given cover
Definition at line 1333 of file heur_undercover.c. References 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 SCIPapplyUndercover().
adds a set covering or bound disjunction constraint to the original problem
Definition at line 1456 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(), and TRUE. Referenced by SCIPapplyUndercover().
solve covering problem
Definition at line 1556 of file heur_undercover.c. References 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 SCIPapplyUndercover(), and SCIPcomputeCoverUndercover().
computes fixing order and returns whether order has really been changed
Definition at line 1672 of file heur_undercover.c. References FALSE, 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().
gets fixing value
Definition at line 1783 of file heur_undercover.c. References 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 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 1927 of file heur_undercover.c. References SCIP_Real, SCIPisEQ(), SCIPisFeasEQ(), SCIPisFeasZero(), SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), and SCIPvarIsIntegral(). Referenced by fixAndPropagate().
rounds the given fixing value
Definition at line 2008 of file heur_undercover.c. References SCIP_OKAY, SCIP_Real, SCIPfeasCeil(), SCIPfeasFloor(), SCIPfeasFrac(), SCIPisFeasIntegral(), SCIPvarGetNLocksDown(), and SCIPvarGetNLocksUp(). Referenced by fixAndPropagate().
copy the solution of the subproblem to newsol
Definition at line 2053 of file heur_undercover.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPgetNOrigVars(), SCIPgetSolVals(), SCIPgetVarsData(), and SCIPsetSolVals(). Referenced by solveSubproblem().
solve subproblem and pass best feasible solution to original SCIP instance
Definition at line 2094 of file heur_undercover.c. References copySol(), FALSE, HEUR_NAME, MIN, NULL, 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(), SCIPprintStatistics(), SCIPsetBoolParam(), SCIPsetEmphasis(), SCIPsetHeuristics(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetObjlimit(), SCIPsetPresolving(), SCIPsetRealParam(), SCIPsolve(), SCIPtrySol(), SCIPunfixParam(), SCIPwarningMessage(), and TRUE. Referenced by SCIPapplyUndercover().
perform fixing of a variable and record bound disjunction information
Definition at line 2321 of file heur_undercover.c. References FALSE, MAX, MIN, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPdebugMessage, SCIPfeasCeil(), SCIPgetNVars(), SCIPisFeasIntegral(), SCIPisLbBetter(), SCIPisUbBetter(), SCIPnewProbingNode(), SCIPpropagateProbing(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and SCIPvarIsIntegral(). Referenced by fixAndPropagate().
Definition at line 2433 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, SCIPbacktrackProbing(), SCIPdebugMessage, SCIPendProbing(), SCIPfreeBufferArray, SCIPgetBestSol(), SCIPgetLPSolstat(), SCIPgetProbingDepth(), SCIPgetVars(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisFeasIntegral(), SCIPisIntegral(), SCIPstartProbing(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), and TRUE. Referenced by SCIPapplyUndercover().
main procedure of the undercover heuristic
Definition at line 2632 of file heur_undercover.c. References computeFixingOrder(), createConflict(), createCoveringProblem(), FALSE, fixAndPropagate(), forbidCover(), MAX, MAXNLPFAILS, MAXPOSTNLPFAILS, MIN, MINTIMELEFT, NULL, SCIP_Bool, SCIP_CALL, 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 SCIP_DECL_HEUREXEC().
copy method for primal heuristic plugins (called when SCIP copies plugins) Definition at line 3056 of file heur_undercover.c. References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurUndercover().
destructor of primal heuristic to free user data (called when SCIP is exiting) Definition at line 3070 of file heur_undercover.c. References NULL, SCIP_OKAY, SCIPfreeMemory, SCIPheurGetData(), and SCIPheurSetData().
solving process initialization method of primal heuristic (called when branch and bound process is about to begin) Definition at line 3091 of file heur_undercover.c. References NULL, SCIP_CALL, SCIP_HEURTIMING_DURINGLPLOOP, SCIP_OKAY, SCIPaddLinearConsToNlpHeurSubNlp(), SCIPallocMemoryArray, SCIPfindConshdlr(), SCIPfindHeur(), SCIPheurGetData(), SCIPheurGetFreqofs(), SCIPheurSetTimingmask(), SCIPisNLPConstructed(), and TRUE.
solving process deinitialization method of primal heuristic (called before branch and bound process data is freed) Definition at line 3163 of file heur_undercover.c. References HEUR_NAME, HEUR_TIMING, NULL, SCIP_OKAY, SCIPfreeMemoryArray, SCIPheurGetData(), SCIPheurGetName(), and SCIPheurSetTimingmask().
execution method of primal heuristic Definition at line 3185 of file heur_undercover.c. References FALSE, HEUR_TIMING, MAX, MIN, MINTIMELEFT, NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIPapplyUndercover(), SCIPconshdlrGetNActiveConss(), SCIPdebugMessage, SCIPexprtreeGetNVars(), SCIPgetDepth(), SCIPgetMemExternEstim(), SCIPgetMemUsed(), SCIPgetNLPNlRows(), SCIPgetNNlpis(), SCIPgetNNLPNlRows(), SCIPgetNNodes(), SCIPgetProbName(), SCIPgetRealParam(), SCIPgetSolvingTime(), SCIPheurGetData(), SCIPheurGetNBestSolsFound(), SCIPheurGetNCalls(), SCIPheurSetTimingmask(), SCIPisInfinity(), SCIPisNLPConstructed(), SCIPisStopped(), SCIPnlrowGetExprtree(), SCIPnlrowGetNQuadVars(), and SUBMIPSETUPCOSTS.
creates the undercover primal heuristic and includes it in SCIP
Definition at line 3321 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, SCIPincludeHeurBasic(), SCIPsetHeurCopy(), SCIPsetHeurExitsol(), SCIPsetHeurFree(), SCIPsetHeurInitsol(), and TRUE. Referenced by SCIP_DECL_HEURCOPY(), and SCIPincludeDefaultPlugins().
computes a minimal set of covering variables
Definition at line 3467 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 SCIP_DECL_HEUREXEC(). |