|
NLP local search primal heuristic using sub-SCIPs.
- Author
- Stefan Vigerske
Definition in file heur_subnlp.c.
Go to the source code of this file.
|
static SCIP_Bool | runHeuristic (SCIP *scip) |
|
static SCIP_RETCODE | createSubSCIP (SCIP *scip, SCIP_HEURDATA *heurdata) |
|
static SCIP_RETCODE | freeSubSCIP (SCIP *scip, SCIP_HEURDATA *heurdata) |
|
static | SCIP_DECL_EVENTEXEC (processVarEvent) |
|
static SCIP_RETCODE | addLinearConstraints (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_Bool addcombconss, SCIP_Bool addcontconss) |
|
static SCIP_RETCODE | addVarboundConstraints (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_Bool addcombconss, SCIP_Bool addcontconss) |
|
static SCIP_RETCODE | addLogicOrConstraints (SCIP *scip, SCIP_CONSHDLR *conshdlr) |
|
static SCIP_RETCODE | addSetppcConstraints (SCIP *scip, SCIP_CONSHDLR *conshdlr) |
|
static SCIP_RETCODE | addKnapsackConstraints (SCIP *scip, SCIP_CONSHDLR *conshdlr) |
|
static SCIP_RETCODE | addLinearConstraintsToNlp (SCIP *scip, SCIP_Bool addcombconss, SCIP_Bool addcontconss) |
|
static SCIP_RETCODE | createSolFromNLP (SCIP *scip, SCIP_HEUR *heur, SCIP_SOL **sol) |
|
static SCIP_RETCODE | createSolFromSubScipSol (SCIP *scip, SCIP_HEUR *heur, SCIP_SOL **sol, SCIP_SOL *subsol) |
|
static SCIP_RETCODE | solveSubNLP (SCIP *scip, SCIP_HEUR *heur, SCIP_RESULT *result, SCIP_SOL *refpoint, SCIP_Longint itercontingent, SCIP_Real timelimit, SCIP_Longint *iterused, SCIP_Bool tighttolerances, SCIP_SOL *resultsol) |
|
static SCIP_RETCODE | forbidFixation (SCIP *scip, SCIP_HEURDATA *heurdata) |
|
SCIP_RETCODE | SCIPapplyHeurSubNlp (SCIP *scip, SCIP_HEUR *heur, SCIP_RESULT *result, SCIP_SOL *refpoint, SCIP_Longint itercontingent, SCIP_Real timelimit, SCIP_Real minimprove, SCIP_Longint *iterused) |
|
SCIP_RETCODE | SCIPresolveSolHeurSubNlp (SCIP *scip, SCIP_HEUR *heur, SCIP_SOL *sol, SCIP_Bool *success, SCIP_Longint itercontingent, SCIP_Real timelimit) |
|
static | SCIP_DECL_HEURCOPY (heurCopySubNlp) |
|
static | SCIP_DECL_HEURFREE (heurFreeSubNlp) |
|
static | SCIP_DECL_HEURINITSOL (heurInitsolSubNlp) |
|
static | SCIP_DECL_HEUREXITSOL (heurExitsolSubNlp) |
|
static | SCIP_DECL_HEUREXEC (heurExecSubNlp) |
|
SCIP_RETCODE | SCIPincludeHeurSubNlp (SCIP *scip) |
|
SCIP_RETCODE | SCIPaddLinearConsToNlpHeurSubNlp (SCIP *scip, SCIP_HEUR *heur, SCIP_Bool addcombconss, SCIP_Bool addcontconss) |
|
SCIP_RETCODE | SCIPupdateStartpointHeurSubNlp (SCIP *scip, SCIP_HEUR *heur, SCIP_SOL *solcand, SCIP_Real violation) |
|
SCIP * | SCIPgetSubScipHeurSubNlp (SCIP *scip, SCIP_HEUR *heur) |
|
SCIP_VAR ** | SCIPgetVarMappingScip2SubScipHeurSubNlp (SCIP *scip, SCIP_HEUR *heur) |
|
SCIP_VAR ** | SCIPgetVarMappingSubScip2ScipHeurSubNlp (SCIP *scip, SCIP_HEUR *heur) |
|
SCIP_SOL * | SCIPgetStartCandidateHeurSubNlp (SCIP *scip, SCIP_HEUR *heur) |
|
#define HEUR_NAME "subnlp" |
#define HEUR_DESC "primal heuristic that performs a local search in an NLP after fixing integer variables and presolving" |
#define HEUR_DISPCHAR 'q' |
#define HEUR_PRIORITY -2000000 |
#define HEUR_USESSUBSCIP FALSE |
does the heuristic use a secondary SCIP instance? we set this to FALSE because we want this heuristic to also run within other heuristics
Definition at line 45 of file heur_subnlp.c.
Referenced by SCIPincludeHeurSubNlp().
creates copy of CIP from problem in SCIP
- Parameters
-
scip | SCIP data structure |
heurdata | heuristic data structure |
Definition at line 116 of file heur_subnlp.c.
References BMSclearMemoryArray, FALSE, MAX, NULL, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_GBDCHANGED, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_VERBLEVEL_FULL, SCIPallocBlockMemoryArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPcaptureVar(), SCIPcatchVarEvent(), SCIPcopyConss(), SCIPcopyParamSettings(), SCIPcopyPlugins(), SCIPcopyVars(), SCIPcreate(), SCIPcreateProb(), SCIPdebugMessage, SCIPfree(), SCIPgetNConss(), SCIPgetNNlpis(), SCIPgetProbName(), SCIPgetVarsData(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPhashmapGetList(), SCIPhashmapGetNLists(), SCIPhashmapListGetImage(), SCIPhashmapListGetNext(), SCIPhashmapListGetOrigin(), SCIPisFeasEQ(), SCIPisParamFixed(), SCIPnlpStatisticsCreate(), SCIPresetParam(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPverbMessage(), and TRUE.
Referenced by SCIP_DECL_HEURINITSOL(), SCIPapplyHeurSubNlp(), and SCIPresolveSolHeurSubNlp().
free sub-SCIP data structure
- Parameters
-
scip | SCIP data structure |
heurdata | heuristic data structure |
Definition at line 328 of file heur_subnlp.c.
References NULL, SCIP_CALL, SCIP_EVENTTYPE_GBDCHANGED, SCIP_OKAY, SCIPdropVarEvent(), SCIPfree(), SCIPfreeBlockMemoryArray, SCIPgetOrigVarsData(), SCIPnlpStatisticsFree(), SCIPreleaseVar(), SCIPvarGetProbindex(), and SCIPvarIsActive().
Referenced by SCIP_DECL_HEUREXITSOL(), SCIPapplyHeurSubNlp(), SCIPresolveSolHeurSubNlp(), and solveSubNLP().
static SCIP_DECL_EVENTEXEC |
( |
processVarEvent |
| ) |
|
|
static |
process variable global bound change event
Definition at line 386 of file heur_subnlp.c.
References NULL, SCIP_CALL, SCIP_EVENTTYPE_GLBCHANGED, SCIP_EVENTTYPE_GUBCHANGED, SCIP_OKAY, SCIPchgVarLbGlobal(), SCIPchgVarUbGlobal(), SCIPeventGetType(), SCIPeventGetVar(), SCIPgetVars(), SCIPvarGetLbGlobal(), SCIPvarGetProbindex(), and SCIPvarGetUbGlobal().
adds linear constraints from a SCIP instance to its NLP
- Parameters
-
scip | SCIP data structure |
conshdlr | constraint handler for linear constraints |
addcombconss | whether to add combinatorial linear constraints to NLP |
addcontconss | whether to add continuous linear constraints to NLP |
Definition at line 443 of file heur_subnlp.c.
References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPaddNlRow(), SCIPconsGetName(), SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPconsIsChecked(), SCIPconsIsEnabled(), SCIPcreateNlRow(), SCIPgetLhsLinear(), SCIPgetNVarsLinear(), SCIPgetRhsLinear(), SCIPgetValsLinear(), SCIPgetVarsLinear(), SCIPisRelLE(), SCIPreleaseNlRow(), SCIPvarGetType(), and TRUE.
Referenced by addLinearConstraintsToNlp().
adds variable bound constraints from a SCIP instance to its NLP
- Parameters
-
scip | SCIP data structure |
conshdlr | constraint handler for linear constraints |
addcombconss | whether to add combinatorial linear constraints to NLP |
addcontconss | whether to add continuous linear constraints to NLP |
Definition at line 515 of file heur_subnlp.c.
References NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPaddNlRow(), SCIPconsGetName(), SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPconsIsChecked(), SCIPconsIsEnabled(), SCIPcreateNlRow(), SCIPgetLhsVarbound(), SCIPgetRhsVarbound(), SCIPgetVarVarbound(), SCIPgetVbdcoefVarbound(), SCIPgetVbdvarVarbound(), SCIPreleaseNlRow(), and SCIPvarGetType().
Referenced by addLinearConstraintsToNlp().
adds logic-or constraints to NLP
- Parameters
-
scip | SCIP data structure |
conshdlr | constraint handler for linear constraints |
Definition at line 571 of file heur_subnlp.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddNlRow(), SCIPallocBufferArray, SCIPconsGetName(), SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPconsIsChecked(), SCIPconsIsEnabled(), SCIPcreateNlRow(), SCIPfreeBufferArrayNull, SCIPgetNVarsLogicor(), SCIPgetVarsLogicor(), SCIPinfinity(), SCIPreallocBufferArray, and SCIPreleaseNlRow().
Referenced by addLinearConstraintsToNlp().
adds setppc constraints to NLP
- Parameters
-
scip | SCIP data structure |
conshdlr | constraint handler for linear constraints |
Definition at line 638 of file heur_subnlp.c.
References NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIP_Real, SCIP_SETPPCTYPE_COVERING, SCIP_SETPPCTYPE_PACKING, SCIP_SETPPCTYPE_PARTITIONING, SCIPaddNlRow(), SCIPallocBufferArray, SCIPconsGetName(), SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPconsIsChecked(), SCIPconsIsEnabled(), SCIPcreateNlRow(), SCIPerrorMessage, SCIPfreeBufferArrayNull, SCIPgetNVarsSetppc(), SCIPgetTypeSetppc(), SCIPgetVarsSetppc(), SCIPinfinity(), SCIPreallocBufferArray, and SCIPreleaseNlRow().
Referenced by addLinearConstraintsToNlp().
adds knapsack constraints to NLP
- Parameters
-
scip | SCIP data structure |
conshdlr | constraint handler for linear constraints |
Definition at line 729 of file heur_subnlp.c.
References NULL, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIPaddNlRow(), SCIPallocBufferArray, SCIPconsGetName(), SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPconsIsChecked(), SCIPconsIsEnabled(), SCIPcreateNlRow(), SCIPfreeBufferArrayNull, SCIPgetCapacityKnapsack(), SCIPgetNVarsKnapsack(), SCIPgetVarsKnapsack(), SCIPgetWeightsKnapsack(), SCIPinfinity(), SCIPreallocBufferArray, and SCIPreleaseNlRow().
Referenced by addLinearConstraintsToNlp().
- Parameters
-
scip | SCIP data structure |
heur | heuristic data structure |
sol | buffer to store solution value; if pointing to NULL, then a new solution is created, otherwise values in the given one are overwritten |
Definition at line 850 of file heur_subnlp.c.
References NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPcreateSol(), SCIPgetNOrigVars(), SCIPgetOrigVars(), SCIPheurGetData(), SCIPsetSolVal(), SCIPvarGetNLPSol(), and SCIPvarIsActive().
Referenced by solveSubNLP().
- Parameters
-
scip | SCIP data structure |
heur | heuristic data structure |
sol | buffer to store solution value; if pointing to NULL, then a new solution is created, otherwise values in the given one are overwritten |
subsol | solution of sub-SCIP |
Definition at line 896 of file heur_subnlp.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateSol(), SCIPgetNOrigVars(), SCIPgetOrigVars(), SCIPgetSolVal(), SCIPheurGetData(), SCIPsetSolVal(), and SCIPvarIsActive().
Referenced by solveSubNLP().
- Parameters
-
scip | original SCIP data structure |
heur | heuristic data structure |
result | buffer to store result, DIDNOTFIND, FOUNDSOL, or CUTOFF |
refpoint | point to take fixation of discrete variables from, and startpoint for NLP solver; if NULL, then LP solution is used |
itercontingent | iteration limit for NLP solver, or -1 for default of NLP heuristic |
timelimit | time limit for NLP solver |
iterused | buffer to store number of iterations used by NLP solver, or NULL if not of interest |
tighttolerances | whether to use tight feasibility tolerances and reduce presolve |
resultsol | a solution where to store found solution values, if any, or NULL if to try adding to SCIP |
Definition at line 933 of file heur_subnlp.c.
References addLinearConstraintsToNlp(), createSolFromNLP(), createSolFromSubScipSol(), FALSE, freeSubSCIP(), MAX, MIN, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_ERROR, SCIP_FOUNDSOL, SCIP_NLPPAR_FEASTOL, SCIP_NLPPAR_ITLIM, SCIP_NLPPAR_OPTFILE, SCIP_NLPPAR_TILIM, SCIP_NLPPAR_VERBLEVEL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPTERMSTAT_MEMERR, SCIP_OKAY, SCIP_PARAMSETTING_DEFAULT, SCIP_PARAMSETTING_FAST, SCIP_Real, SCIP_STAGE_PRESOLVED, SCIP_STAGE_SOLVED, SCIP_STATUS_BESTSOLLIMIT, SCIP_STATUS_GAPLIMIT, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_MEMLIMIT, SCIP_STATUS_NODELIMIT, SCIP_STATUS_OPTIMAL, SCIP_STATUS_SOLLIMIT, SCIP_STATUS_STALLNODELIMIT, SCIP_STATUS_TIMELIMIT, SCIP_STATUS_TOTALNODELIMIT, SCIP_STATUS_UNBOUNDED, SCIP_STATUS_USERINTERRUPT, SCIP_VERBLEVEL_MINIMAL, SCIPABORT, SCIPallocBufferArray, SCIPcheckSol(), SCIPdebugMessage, SCIPepsilon(), SCIPerrorMessage, SCIPfeastol(), SCIPfreeBufferArray, SCIPfreeSol(), SCIPfreeTransform(), SCIPgetMessagehdlr(), SCIPgetNLPObjval(), SCIPgetNLPSolstat(), SCIPgetNLPStatistics(), SCIPgetNLPTermstat(), SCIPgetNLPVars(), SCIPgetNNLPVars(), SCIPgetNSols(), SCIPgetNVars(), SCIPgetObjlimit(), SCIPgetProbName(), SCIPgetRealParam(), SCIPgetSols(), SCIPgetSolVal(), SCIPgetStage(), SCIPgetStatus(), SCIPheurGetData(), SCIPisLE(), SCIPisNLPConstructed(), SCIPisParamFixed(), SCIPisZero(), SCIPmessagePrintInfo(), SCIPnlpStatisticsGetNIterations(), SCIPnlpStatisticsGetTotalTime(), SCIPpresolve(), SCIPpressedCtrlC(), SCIPresetParam(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetNLPInitialGuess(), SCIPsetNLPIntPar(), SCIPsetNLPRealPar(), SCIPsetNLPStringPar(), SCIPsetPresolving(), SCIPsetRealParam(), SCIPsolve(), SCIPsolveNLP(), SCIPtransformProb(), SCIPtrySol(), SCIPtrySolFree(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetOrigvarSum(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), SCIPverbMessage(), SCIPwarningMessage(), and TRUE.
Referenced by SCIPapplyHeurSubNlp(), and SCIPresolveSolHeurSubNlp().
adds a set covering or bound disjunction constraint to the original problem
- Parameters
-
scip | SCIP data structure |
heurdata | heuristic data |
Definition at line 1453 of file heur_subnlp.c.
References FALSE, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIPaddCons(), SCIPallocBufferArray, SCIPcreateConsBounddisjunction(), SCIPcreateConsSetcover(), SCIPdebugMessage, SCIPfreeBufferArray, SCIPfreeBufferArrayNull, SCIPgetNegatedVar(), SCIPgetOrigVarsData(), SCIPisEQ(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetProbindex(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPwarningMessage(), and TRUE.
Referenced by SCIPapplyHeurSubNlp().
main procedure of the subNLP heuristic
- Parameters
-
scip | original SCIP data structure |
heur | heuristic data structure |
result | pointer to store result of: did not run, solution found, no solution found, or fixing is infeasible (cutoff) |
refpoint | point to take fixation of discrete variables from, and startpoint for NLP solver; if NULL, then LP solution is used |
itercontingent | iteration limit for NLP solver, or -1 for default of NLP heuristic |
timelimit | time limit for NLP solver |
minimprove | desired minimal relative improvement in objective function value |
iterused | buffer to store number of iterations used by NLP solver, or NULL if not of interest |
Definition at line 1620 of file heur_subnlp.c.
References createSubSCIP(), FALSE, forbidFixation(), freeSubSCIP(), MAX, MIN, NULL, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIPchgVarLbGlobal(), SCIPchgVarUbGlobal(), SCIPdebugMessage, SCIPfloor(), SCIPgetLowerbound(), SCIPgetLPSolstat(), SCIPgetNActivePricers(), SCIPgetNBinVars(), SCIPgetNIntVars(), SCIPgetNSols(), SCIPgetOrigVarsData(), SCIPgetSolVal(), SCIPgetStage(), SCIPgetUpperbound(), SCIPheurGetData(), SCIPinfinity(), SCIPisEQ(), SCIPisFeasIntegral(), SCIPisInfinity(), SCIPisTransformed(), SCIPsetObjlimit(), SCIPsumepsilon(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), and solveSubNLP().
Referenced by SCIP_DECL_HEUREXEC(), and SCIPapplyUndercover().
for a given solution, resolves the corresponding subNLP and updates solution values for continuous variables, if NLP solution is feasible in original problem
- Parameters
-
scip | original SCIP data structure |
heur | heuristic data structure |
sol | solution for which to solve NLP, and where to store resolved solution values |
success | buffer where to store whether a feasible solution was found |
itercontingent | iteration limit for NLP solver, or -1 for default of NLP heuristic |
timelimit | time limit for NLP solver |
Definition at line 1815 of file heur_subnlp.c.
References createSubSCIP(), FALSE, freeSubSCIP(), MAX, MIN, NULL, REALABS, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_FOUNDSOL, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIPchgVarLbGlobal(), SCIPchgVarUbGlobal(), SCIPdebugMessage, SCIPgetNBinVars(), SCIPgetNIntVars(), SCIPgetObjsense(), SCIPgetOrigVarsData(), SCIPgetSolOrigObj(), SCIPgetSolVal(), SCIPgetStage(), SCIPheurGetData(), SCIPisEQ(), SCIPisFeasIntegral(), SCIPisTransformed(), SCIPround(), SCIPsetObjlimit(), SCIPtransformObj(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), solveSubNLP(), and TRUE.
static SCIP_DECL_HEURCOPY |
( |
heurCopySubNlp |
| ) |
|
|
static |
static SCIP_DECL_HEURFREE |
( |
heurFreeSubNlp |
| ) |
|
|
static |
static SCIP_DECL_HEURINITSOL |
( |
heurInitsolSubNlp |
| ) |
|
|
static |
solving process initialization method of primal heuristic (called when branch and bound process is about to begin)
Definition at line 2012 of file heur_subnlp.c.
References createSubSCIP(), HEUR_TIMING, NULL, runHeuristic(), SCIP_CALL, SCIP_HEURTIMING_DURINGLPLOOP, SCIP_OKAY, SCIPheurGetData(), SCIPheurGetFreq(), SCIPheurGetFreqofs(), and SCIPheurSetTimingmask().
static SCIP_DECL_HEUREXITSOL |
( |
heurExitsolSubNlp |
| ) |
|
|
static |
static SCIP_DECL_HEUREXEC |
( |
heurExecSubNlp |
| ) |
|
|
static |
execution method of primal heuristic
Definition at line 2082 of file heur_subnlp.c.
References HEUR_TIMING, MIN, NULL, runHeuristic(), SCIP_CALL, SCIP_CUTOFF, SCIP_DELAYED, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_Longint, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIP_Real, SCIPapplyHeurSubNlp(), SCIPdebugMessage, SCIPfreeSol(), SCIPgetLocalDualbound(), SCIPgetLPSolstat(), SCIPgetMessagehdlr(), SCIPgetNLPBranchCands(), SCIPgetNNodes(), SCIPgetPrimalbound(), SCIPgetRealParam(), SCIPgetSolvingTime(), SCIPheurGetData(), SCIPheurGetName(), SCIPheurGetNBestSolsFound(), SCIPheurGetNCalls(), SCIPheurSetTimingmask(), SCIPisEQ(), SCIPisInfinity(), SCIPmessagePrintInfo(), and SCIPsolGetHeur().
creates the NLP local search primal heuristic and includes it in SCIP
- Parameters
-
Definition at line 2237 of file heur_subnlp.c.
References BMSclearMemory, FALSE, HEUR_DESC, HEUR_DISPCHAR, HEUR_FREQ, HEUR_FREQOFS, HEUR_MAXDEPTH, HEUR_NAME, HEUR_PRIORITY, HEUR_TIMING, HEUR_USESSUBSCIP, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPaddStringParam(), SCIPallocMemory, SCIPincludeEventhdlrBasic(), SCIPincludeHeurBasic(), SCIPinfinity(), SCIPsetHeurCopy(), SCIPsetHeurExitsol(), SCIPsetHeurFree(), SCIPsetHeurInitsol(), and TRUE.
Referenced by SCIP_DECL_HEURCOPY(), and SCIPincludeDefaultPlugins().
adds all known linear constraint to the NLP, if initialized and not done already This function is temporary and will hopefully become obsolete in the near future.
- Parameters
-
scip | original SCIP data structure |
heur | heuristic data structure |
addcombconss | whether to add combinatorial linear constraints, i.e., linear constraints that involve only discrete variables |
addcontconss | whether to add continuous linear constraints, i.e., linear constraints that involve not only discrete variables |
Definition at line 2330 of file heur_subnlp.c.
References addLinearConstraintsToNlp(), HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetData(), and SCIPheurGetName().
Referenced by SCIP_DECL_CONSSEPALP().
updates the starting point for the NLP heuristic
Is called by a constraint handler that handles nonlinear constraints when a check on feasibility of a solution fails.
- Parameters
-
scip | SCIP data structure |
heur | NLP heuristic |
solcand | solution candidate |
violation | constraint violation of solution candidate |
Definition at line 2364 of file heur_subnlp.c.
References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPcreateSolCopy(), SCIPdebugMessage, SCIPfreeSol(), SCIPgetSolTransObj(), SCIPgetStage(), SCIPheurGetData(), SCIPheurGetName(), SCIPisPositive(), SCIPisRelGT(), SCIPsolGetHeur(), and SCIPunlinkSol().
Referenced by SCIP_DECL_CONSCHECK().
|