NLP diving heuristic that chooses fixings w.r.t. the fractionalities.
Definition in file heur_nlpdiving.c.
#include "blockmemshell/memory.h"
#include "scip/heur_nlpdiving.h"
#include "scip/heur_subnlp.h"
#include "scip/heur_undercover.h"
#include "scip/pub_event.h"
#include "scip/pub_heur.h"
#include "scip/pub_message.h"
#include "scip/pub_misc.h"
#include "scip/pub_sol.h"
#include "scip/pub_var.h"
#include "scip/scip_branch.h"
#include "scip/scip_copy.h"
#include "scip/scip_event.h"
#include "scip/scip_general.h"
#include "scip/scip_heur.h"
#include "scip/scip_lp.h"
#include "scip/scip_mem.h"
#include "scip/scip_message.h"
#include "scip/scip_nlp.h"
#include "scip/scip_nlpi.h"
#include "scip/scip_nodesel.h"
#include "scip/scip_numerics.h"
#include "scip/scip_param.h"
#include "scip/scip_prob.h"
#include "scip/scip_probing.h"
#include "scip/scip_randnumgen.h"
#include "scip/scip_sol.h"
#include "scip/scip_solve.h"
#include "scip/scip_solvingstats.h"
#include "scip/scip_timing.h"
#include "scip/scip_tree.h"
#include "scip/scip_var.h"
#include <string.h>
Go to the source code of this file.
Variables | |
heurdata = SCIPheurGetData(heur) | |
return | SCIP_OKAY |
heurdata | nnlpiterations = 0 |
heurdata | nsuccess = 0 |
heurdata | nfixedcovervars = 0 |
#define HEUR_NAME "nlpdiving" |
Definition at line 68 of file heur_nlpdiving.c.
#define HEUR_DESC "NLP diving heuristic that chooses fixings w.r.t. the fractionalities" |
Definition at line 69 of file heur_nlpdiving.c.
#define HEUR_DISPCHAR SCIP_HEURDISPCHAR_DIVING |
Definition at line 70 of file heur_nlpdiving.c.
#define HEUR_PRIORITY -1003010 |
Definition at line 71 of file heur_nlpdiving.c.
#define HEUR_FREQ 10 |
Definition at line 72 of file heur_nlpdiving.c.
#define HEUR_FREQOFS 3 |
Definition at line 73 of file heur_nlpdiving.c.
#define HEUR_MAXDEPTH -1 |
Definition at line 74 of file heur_nlpdiving.c.
#define HEUR_TIMING SCIP_HEURTIMING_AFTERLPPLUNGE |
Definition at line 75 of file heur_nlpdiving.c.
#define HEUR_USESSUBSCIP FALSE |
does the heuristic use a secondary SCIP instance?
Definition at line 76 of file heur_nlpdiving.c.
#define EVENTHDLR_NAME "Nlpdiving" |
Definition at line 79 of file heur_nlpdiving.c.
#define EVENTHDLR_DESC "bound change event handler for " HEUR_NAME " heuristic" |
Definition at line 80 of file heur_nlpdiving.c.
#define DEFAULT_MINRELDEPTH 0.0 |
minimal relative depth to start diving
Definition at line 87 of file heur_nlpdiving.c.
#define DEFAULT_MAXRELDEPTH 1.0 |
maximal relative depth to start diving
Definition at line 88 of file heur_nlpdiving.c.
#define DEFAULT_MAXNLPITERABS 200 |
minimial absolute number of allowed NLP iterations
Definition at line 89 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_MAXNLPITERREL 10 |
additional allowed number of NLP iterations relative to successfully found solutions
Definition at line 90 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_MAXDIVEUBQUOT 0.8 |
maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Definition at line 91 of file heur_nlpdiving.c.
#define DEFAULT_MAXDIVEAVGQUOT 0.0 |
maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit)
Definition at line 93 of file heur_nlpdiving.c.
#define DEFAULT_MAXDIVEUBQUOTNOSOL 0.1 |
maximal UBQUOT when no solution was found yet (0.0: no limit)
Definition at line 95 of file heur_nlpdiving.c.
#define DEFAULT_MAXDIVEAVGQUOTNOSOL 0.0 |
maximal AVGQUOT when no solution was found yet (0.0: no limit)
Definition at line 96 of file heur_nlpdiving.c.
#define DEFAULT_MINSUCCQUOT 0.1 |
heuristic will not run if less then this percentage of calls succeeded (0.0: no limit)
Definition at line 97 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_MAXFEASNLPS 10 |
maximal number of NLPs with feasible solution to solve during one dive
Definition at line 98 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_FIXQUOT 0.2 |
percentage of fractional variables that should be fixed before the next NLP solve
Definition at line 99 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_BACKTRACK TRUE |
use one level of backtracking if infeasibility is encountered?
Definition at line 100 of file heur_nlpdiving.c.
#define DEFAULT_LP FALSE |
should the LP relaxation be solved before the NLP relaxation?
Definition at line 101 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_PREFERLPFRACS FALSE |
prefer variables that are also fractional in LP solution?
Definition at line 102 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_PREFERCOVER TRUE |
should variables in a minimal cover be preferred?
Definition at line 103 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_SOLVESUBMIP FALSE |
should a sub-MIP be solved if all cover variables are fixed?
Definition at line 104 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_NLPSTART 's' |
which point should be used as starting point for the NLP solver?
Definition at line 105 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_VARSELRULE 'd' |
which variable selection should be used? ('f'ractionality, 'c'oefficient, 'p'seudocost, 'g'uided, 'd'ouble)
Definition at line 106 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_NLPFASTFAIL TRUE |
should the NLP solver stop early if it converges slow?
Definition at line 109 of file heur_nlpdiving.c.
Referenced by SCIPincludeHeurNlpdiving().
#define DEFAULT_RANDSEED 97 |
initial random seed
Definition at line 110 of file heur_nlpdiving.c.
#define MINNLPITER 10 |
minimal number of NLP iterations allowed in each NLP solving call
Definition at line 112 of file heur_nlpdiving.c.
Referenced by SCIP_DECL_HEUREXEC().
|
static |
gets fractional variables of last NLP solution along with solution values and fractionalities
scip | SCIP data structure |
heurdata | heuristic data structure |
nlpcands | pointer to store the array of NLP fractional variables, or NULL |
nlpcandssol | pointer to store the array of NLP fractional variables solution values, or NULL |
nlpcandsfrac | pointer to store the array of NLP fractional variables fractionalities, or NULL |
nnlpcands | pointer to store the number of NLP fractional variables , or NULL |
Definition at line 170 of file heur_nlpdiving.c.
References assert(), c, heurdata, nlpcands, NULL, SCIP_CALL, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIPfeastol(), SCIPgetLPSolstat(), SCIPgetNLPFracVars(), SCIPgetSolVal(), SCIPisFeasIntegral(), SCIPsetSolVal(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal().
Referenced by SCIP_DECL_HEUREXEC().
|
static |
finds best candidate variable w.r.t. fractionality:
scip | original SCIP data structure |
heurdata | heuristic data structure |
nlpcands | array of NLP fractional variables |
nlpcandssol | array of NLP fractional variables solution values |
nlpcandsfrac | array of NLP fractional variables fractionalities |
nnlpcands | number of NLP fractional variables |
varincover | hash map for variables |
covercomputed | has a minimal cover been computed? |
bestcand | pointer to store the index of the best candidate variable |
bestcandmayround | pointer to store whether best candidate is trivially roundable |
bestcandroundup | pointer to store whether best candidate should be rounded up |
Definition at line 245 of file heur_nlpdiving.c.
References assert(), bestcand, bestcandmayrounddown, bestcandmayroundup, bestcandroundup, c, FALSE, frac, heurdata, mayrounddown, mayroundup, nlpcands, NULL, obj, roundup, SCIP_Bool, SCIP_INVALID, SCIP_OKAY, SCIP_PROBINGSCORE_PENALTYRATIO, SCIP_Real, SCIPhashmapExists(), SCIPinfinity(), SCIPisEQ(), SCIPisGT(), SCIPisLT(), SCIPrandomGetInt(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarMayRoundDown(), SCIPvarMayRoundUp(), TRUE, and var.
Referenced by SCIP_DECL_HEUREXEC().
|
static |
finds best candidate variable w.r.t. vector length:
scip | original SCIP data structure |
heurdata | heuristic data structure |
nlpcands | array of NLP fractional variables |
nlpcandssol | array of NLP fractional variables solution values |
nlpcandsfrac | array of NLP fractional variables fractionalities |
nnlpcands | number of NLP fractional variables |
varincover | hash map for variables |
covercomputed | has a minimal cover been computed? |
bestcand | pointer to store the index of the best candidate variable |
bestcandmayround | pointer to store whether best candidate is trivially roundable |
bestcandroundup | pointer to store whether best candidate should be rounded up |
Definition at line 421 of file heur_nlpdiving.c.
References assert(), bestcand, bestcandroundup, c, frac, heurdata, nlpcands, NULL, obj, roundup, SCIP_Bool, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIP_Real, SCIP_REAL_MAX, SCIP_VARTYPE_BINARY, SCIPhashmapExists(), SCIPisGT(), SCIPisLT(), SCIPsumepsilon(), SCIPvarGetLbLocal(), SCIPvarGetNLocksDownType(), SCIPvarGetNLocksUpType(), SCIPvarGetObj(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPvarMayRoundDown(), SCIPvarMayRoundUp(), TRUE, and var.
Referenced by SCIP_DECL_HEUREXEC().
|
static |
finds best candidate variable w.r.t. locking numbers:
scip | original SCIP data structure |
heurdata | heuristic data structure |
nlpcands | array of NLP fractional variables |
nlpcandssol | array of NLP fractional variables solution values |
nlpcandsfrac | array of NLP fractional variables fractionalities |
nnlpcands | number of NLP fractional variables |
varincover | hash map for variables |
covercomputed | has a minimal cover been computed? |
bestcand | pointer to store the index of the best candidate variable |
bestcandmayround | pointer to store whether best candidate is trivially roundable |
bestcandroundup | pointer to store whether best candidate should be rounded up |
Definition at line 515 of file heur_nlpdiving.c.
References assert(), bestcand, bestcandmayrounddown, bestcandmayroundup, bestcandroundup, c, FALSE, frac, heurdata, mayrounddown, mayroundup, nlpcands, NULL, nviolrows, roundup, SCIP_Bool, SCIP_INVALID, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIP_PROBINGSCORE_PENALTYRATIO, SCIP_Real, SCIPhashmapExists(), SCIPisEQ(), SCIPisGT(), SCIPisLT(), SCIPrandomGetInt(), SCIPvarGetLbLocal(), SCIPvarGetNLocksDownType(), SCIPvarGetNLocksUpType(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarMayRoundDown(), SCIPvarMayRoundUp(), TRUE, and var.
Referenced by SCIP_DECL_HEUREXEC().
|
static |
calculates the pseudocost score for a given variable w.r.t. a given solution value and a given rounding direction
scip | SCIP data structure |
heurdata | heuristic data structure |
var | problem variable |
primsol | primal solution of variable |
frac | fractionality of variable |
rounddir | -1: round down, +1: round up, 0: select due to pseudo cost values |
pscostquot | pointer to store pseudo cost quotient |
roundup | pointer to store whether the variable should be rounded up |
prefvar | should this variable be preferred because it is in a minimal cover? |
Definition at line 700 of file heur_nlpdiving.c.
References assert(), FALSE, frac, heurdata, MAX, MIN, NULL, primsol, pscostquot, roundup, SCIP_Bool, SCIP_Real, SCIPfeasFloor(), SCIPgetVarPseudocostVal(), SCIPisEQ(), SCIPisGT(), SCIPisLT(), SCIPrandomGetInt(), SCIPvarGetRootSol(), SCIPvarIsBinary(), TRUE, and var.
Referenced by choosePscostVar().
|
static |
finds best candidate variable w.r.t. pseudo costs:
scip | original SCIP data structure |
heurdata | heuristic data structure |
nlpcands | array of NLP fractional variables |
nlpcandssol | array of NLP fractional variables solution values |
nlpcandsfrac | array of NLP fractional variables fractionalities |
nnlpcands | number of NLP fractional variables |
varincover | hash map for variables |
covercomputed | has a minimal cover been computed? |
bestcand | pointer to store the index of the best candidate variable |
bestcandmayround | pointer to store whether best candidate is trivially roundable |
bestcandroundup | pointer to store whether best candidate should be rounded up |
Definition at line 780 of file heur_nlpdiving.c.
References ABS, assert(), bestcand, bestcandmayrounddown, bestcandmayroundup, bestcandroundup, bestpscostquot, c, calcPscostQuot(), FALSE, frac, heurdata, mayrounddown, mayroundup, nlpcands, NULL, primsol, pscostquot, roundup, SCIP_Bool, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPhashmapExists(), SCIPisGT(), SCIPisInfinity(), SCIPisLT(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarMayRoundDown(), SCIPvarMayRoundUp(), TRUE, and var.
Referenced by SCIP_DECL_HEUREXEC().
|
static |
finds best candidate variable w.r.t. the incumbent solution:
scip | original SCIP data structure |
heurdata | heuristic data structure |
nlpcands | array of NLP fractional variables |
nlpcandssol | array of NLP fractional variables solution values |
nlpcandsfrac | array of NLP fractional variables fractionalities |
nnlpcands | number of NLP fractional variables |
bestsol | incumbent solution |
varincover | hash map for variables |
covercomputed | has a minimal cover been computed? |
bestcand | pointer to store the index of the best candidate variable |
bestcandmayround | pointer to store whether best candidate is trivially roundable |
bestcandroundup | pointer to store whether best candidate should be rounded up |
Definition at line 902 of file heur_nlpdiving.c.
References assert(), bestcand, bestcandmayrounddown, bestcandmayroundup, bestcandroundup, c, FALSE, frac, heurdata, mayrounddown, mayroundup, nlpcands, NULL, obj, roundup, SCIP_Bool, SCIP_INVALID, SCIP_OKAY, SCIP_PROBINGSCORE_PENALTYRATIO, SCIP_Real, SCIPgetSolVal(), SCIPhashmapExists(), SCIPinfinity(), SCIPisEQ(), SCIPisGT(), SCIPisLT(), SCIPrandomGetInt(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarMayRoundDown(), SCIPvarMayRoundUp(), TRUE, and var.
Referenced by SCIP_DECL_HEUREXEC().
|
static |
finds best candidate variable w.r.t. both, the LP and the NLP solution:
scip | original SCIP data structure |
heurdata | heuristic data structure |
pseudocands | array of non-fixed variables |
pseudocandsnlpsol | array of NLP solution values |
pseudocandslpsol | array of LP solution values |
npseudocands | number of NLP fractional variables |
varincover | hash map for variables |
covercomputed | has a minimal cover been computed? |
bestcand | pointer to store the index of the best candidate variable |
bestboundval | pointer to store the bound, the best candidate should be rounded to |
bestcandmayround | pointer to store whether best candidate is trivially roundable |
bestcandroundup | pointer to store whether best candidate should be rounded up |
Definition at line 1074 of file heur_nlpdiving.c.
References ABS, assert(), bestcand, bestcandroundup, c, FALSE, frac, heurdata, MAX, MIN, NULL, pseudocands, roundup, SCIP_Bool, SCIP_INVALID, SCIP_OKAY, SCIP_PROBINGSCORE_PENALTYRATIO, SCIP_Real, SCIPfeasCeil(), SCIPfeasFloor(), SCIPhashmapExists(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisFeasIntegral(), SCIPisGT(), SCIPisLE(), SCIPisLT(), SCIPrandomGetInt(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarMayRoundDown(), SCIPvarMayRoundUp(), TRUE, and var.
Referenced by SCIP_DECL_HEUREXEC().
|
static |
creates a new solution for the original problem by copying the solution of the subproblem
scip | original SCIP data structure |
subscip | SCIP structure of the subproblem |
heur | heuristic structure |
varmap | hash map for variables |
subsol | solution of the subproblem |
success | used to store whether new solution was found or not |
Definition at line 1225 of file heur_nlpdiving.c.
References assert(), FALSE, i, MAX, MIN, NULL, nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPcreateSol(), SCIPfreeBufferArray, SCIPgetSolVal(), SCIPgetVarsData(), SCIPhashmapGetImage(), SCIPsetSolVals(), SCIPtrySolFree(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), TRUE, and vars.
Referenced by doSolveSubMIP().
|
static |
todo setup and solve the subMIP
scip | SCIP data structure |
subscip | NLP diving subscip |
heur | heuristic data structure |
covervars | variables in the cover, should be fixed locally |
ncovervars | number of variables in the cover |
success | pointer to store whether a solution was found |
Definition at line 1274 of file heur_nlpdiving.c.
References assert(), c, createNewSol(), FALSE, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_CALL_ABORT, SCIP_Longint, SCIP_OKAY, SCIP_PARAMSETTING_FAST, SCIP_PARAMSETTING_OFF, SCIP_Real, SCIPblkmem(), SCIPcopyConsCompression(), SCIPcopyLimits(), SCIPfindBranchrule(), SCIPfindNodesel(), SCIPgetLowerbound(), SCIPgetNSols(), SCIPgetNVars(), SCIPgetSols(), SCIPgetUpperbound(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPisFeasEQ(), SCIPisInfinity(), SCIPisParamFixed(), SCIPsetBoolParam(), SCIPsetCharParam(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetObjlimit(), SCIPsetPresolving(), SCIPsetSeparating(), SCIPsetSubscipsOff(), SCIPsolve(), SCIPsumepsilon(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and TRUE.
Referenced by solveSubMIP().
|
static |
solves subproblem and passes best feasible solution to original SCIP instance
scip | SCIP data structure of the original problem |
heur | heuristic data structure |
covervars | variables in the cover, should be fixed locally |
ncovervars | number of variables in the cover |
success | pointer to store whether a solution was found |
Definition at line 1411 of file heur_nlpdiving.c.
References doSolveSubMIP(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPcheckCopyLimits(), SCIPcreate(), and SCIPfree().
Referenced by SCIP_DECL_HEUREXEC().
|
static |
Definition at line 1448 of file heur_nlpdiving.c.
References assert(), EVENTHDLR_NAME, heurdata, NULL, SCIP_EVENTTYPE_LBCHANGED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPeventGetNewbound(), SCIPeventGetOldbound(), SCIPeventGetType(), SCIPeventGetVar(), SCIPeventhdlrGetName(), SCIPgetNVars(), SCIPisEQ(), SCIPisFeasEQ(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and var.
|
static |
copy method for primal heuristic plugins (called when SCIP copies plugins)
Definition at line 1513 of file heur_nlpdiving.c.
References assert(), HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurNlpdiving().
static assert | ( | heur ! | = NULL | ) |
assert | ( | strcmp(SCIPheurGetName(heur), HEUR_NAME) | = =0 | ) |
References HEUR_NAME.
SCIPfreeBlockMemory | ( | scip | , |
& | heurdata ) |
References heurdata.
SCIPcreateSol | ( | scip | , |
&heurdata-> | sol, | ||
heur | ) |
References heurdata.
Referenced by createNewSol().
SCIPcreateRandom | ( | scip | , |
&heurdata-> | randnumgen, | ||
DEFAULT_RANDSEED | , | ||
TRUE | ) |
References DEFAULT_RANDSEED, heurdata, and TRUE.
SCIPfreeSol | ( | scip | , |
&heurdata-> | sol ) |
References heurdata.
Referenced by SCIP_DECL_HEUREXEC().
SCIPstatistic | ( | if(strstr(SCIPgetProbName(scip), "_covering")==NULL &&SCIPheurGetNCalls(heur) > 0) { SCIPstatisticMessage("%-30s %5" SCIP_LONGINT_FORMAT " sols in %5" SCIP_LONGINT_FORMAT " runs, %6.1fs, %7d NLP iters in %5d NLP solves, %5.1f avg., %3d%% success %3d%% cutoff %3d%% depth %3d%% nlperror\n", SCIPgetProbName(scip), SCIPheurGetNSolsFound(heur), SCIPheurGetNCalls(heur), SCIPheurGetTime(heur), heurdata->nnlpiterations, heurdata->nnlpsolves, heurdata->nnlpiterations/MAX(1.0,(SCIP_Real) heurdata->nnlpsolves),(100 *heurdata->nsuccess)/(int) SCIPheurGetNCalls(heur),(100 *heurdata->nfailcutoff)/(int) SCIPheurGetNCalls(heur),(100 *heurdata->nfaildepth)/(int) SCIPheurGetNCalls(heur),(100 *heurdata->nfailnlperror)/(int) SCIPheurGetNCalls(heur));} | ) |
|
static |
execution method of primal heuristic
Definition at line 1614 of file heur_nlpdiving.c.
References assert(), backtracked, bestcand, bestcandroundup, c, chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), choosePscostVar(), chooseVeclenVar(), cutoff, depth, divedepth, FALSE, frac, getNLPFracVars(), HEUR_NAME, heurdata, lperror, lpsolstat, MAX, maxdepth, maxdivedepth, MIN, MINNLPITER, ncalls, SCIP_NlpStatistics::niterations, nlpcands, nnlpiterations, nsolsfound, NULL, objval, pseudocands, result, SCIP_Bool, SCIP_CALL, SCIP_DELAYED, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_FOUNDSOL, SCIP_INVALID, SCIP_INVALIDDATA, SCIP_Longint, SCIP_LONGINT_FORMAT, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_MAXTREEDEPTH, SCIP_NLPPARAM_FASTFAIL_AGGRESSIVE, SCIP_NLPPARAM_FASTFAIL_CONSERVATIVE, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_LICENSEERROR, SCIP_NLPTERMSTAT_NUMERICERROR, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_IMPLINT, SCIP_VERBLEVEL_MINIMAL, SCIPallocBufferArray, SCIPbacktrackProbing(), SCIPblkmem(), SCIPcatchVarEvent(), SCIPceil(), SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPcomputeCoverUndercover(), SCIPcreateNLPSol(), SCIPcreateSolCopy(), SCIPdebugMsg, SCIPdebugMsgPrint, SCIPdropVarEvent(), SCIPenableVarHistory(), SCIPendProbing(), SCIPerrorMessage, SCIPfeasCeil(), SCIPfeasFloor(), SCIPfrac(), SCIPfreeBufferArray, SCIPfreeSol(), SCIPgetAvgLowerbound(), SCIPgetBestSol(), SCIPgetCutoffbound(), SCIPgetDepth(), SCIPgetDualbound(), SCIPgetLastDivenode(), SCIPgetLocalLowerbound(), SCIPgetLowerbound(), SCIPgetLPObjval(), SCIPgetLPSolstat(), SCIPgetMaxDepth(), SCIPgetMemExternEstim(), SCIPgetMemUsed(), SCIPgetNBinVars(), SCIPgetNIntVars(), SCIPgetNLPBranchCands(), SCIPgetNLPObjval(), SCIPgetNLPSolstat(), SCIPgetNLPStatistics(), SCIPgetNLPTermstat(), SCIPgetNNlpis(), SCIPgetNNodes(), SCIPgetNSols(), SCIPgetNSolsFound(), SCIPgetNVars(), SCIPgetProbingDepth(), SCIPgetPseudoBranchCands(), SCIPgetRealParam(), SCIPgetSolOrigObj(), SCIPgetSolVals(), SCIPgetSolvingTime(), SCIPgetUpperbound(), SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapFree(), SCIPhashmapInsertInt(), SCIPheurGetData(), SCIPheurGetName(), SCIPheurGetNBestSolsFound(), SCIPheurGetNCalls(), SCIPheurGetNSolsFound(), SCIPinfinity(), SCIPisFeasEQ(), SCIPisFeasGE(), SCIPisFeasGT(), SCIPisFeasIntegral(), SCIPisFeasLT(), SCIPisGT(), SCIPisInfinity(), SCIPisLbBetter(), SCIPisLPSolBasic(), SCIPisLT(), SCIPisNLPConstructed(), SCIPisObjIntegral(), SCIPisStopped(), SCIPisUbBetter(), SCIPlinkNLPSol(), SCIPnewProbingNode(), SCIPpropagateProbing(), SCIPretransformObj(), SCIProundSol(), SCIPsetNLPInitialGuessSol(), SCIPsolIsOriginal(), SCIPsolveNLP, SCIPsolveProbingLP(), SCIPstartProbing(), SCIPstatistic, SCIPtrySol(), SCIPunlinkSol(), SCIPupdateVarPseudocost(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNLPSol(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPverbMessage(), searchavgbound, searchbound, searchubbound, solveSubMIP(), TRUE, and var.
heurdata = SCIPheurGetData(heur) |
Definition at line 1536 of file heur_nlpdiving.c.
return SCIP_OKAY |
Definition at line 1541 of file heur_nlpdiving.c.
heurdata nnlpiterations = 0 |
Definition at line 1565 of file heur_nlpdiving.c.
Referenced by SCIP_DECL_HEUREXEC().
heurdata nsuccess = 0 |
Definition at line 1566 of file heur_nlpdiving.c.
heurdata nfixedcovervars = 0 |
Definition at line 1567 of file heur_nlpdiving.c.