methods and files provided by the default primal heuristics of SCIP
A detailed description what a primal heuristic does and how to add a primal heuristic to SCIP can be found here.
Modules | |
Inclusion methods | |
methods to include specific primal heuristics into SCIP | |
Files | |
file | heur_actconsdiving.h |
LP diving heuristic that chooses fixings w.r.t. the active constraints the variable appear in. | |
file | heur_bound.h |
heuristic which fixes all integer variables to a bound (lower/upper) and solves the remaining LP | |
file | heur_clique.h |
LNS heuristic using a clique partition to restrict the search neighborhood. | |
file | heur_coefdiving.h |
LP diving heuristic that chooses fixings w.r.t. the matrix coefficients. | |
file | heur_completesol.h |
primal heuristic trying to complete given partial solutions | |
file | heur_crossover.h |
LNS heuristic that tries to combine several feasible solutions. | |
file | heur_dins.h |
DINS primal heuristic. | |
file | heur_distributiondiving.h |
Diving heuristic that chooses fixings w.r.t. changes in the solution density after Pryor and Chinneck. | |
file | heur_dualval.h |
primal heuristic that uses dualvalues for successive switching variable values | |
file | heur_feaspump.h |
Objective Feasibility Pump 2.0. | |
file | heur_fixandinfer.h |
fix-and-infer primal heuristic | |
file | heur_fracdiving.h |
LP diving heuristic that chooses fixings w.r.t. the fractionalities. | |
file | heur_gins.h |
LNS heuristic that tries to delimit the search region to a neighborhood in the constraint graph. | |
file | heur_guideddiving.h |
LP diving heuristic that chooses fixings in direction of incumbent solutions. | |
file | heur_indicator.h |
handle partial solutions for linear problems with indicators and otherwise continuous variables | |
file | heur_intdiving.h |
LP diving heuristic that fixes variables with integral LP value. | |
file | heur_intshifting.h |
LP rounding heuristic that tries to recover from intermediate infeasibilities, shifts integer variables, and solves a final LP to calculate feasible values for continuous variables. | |
file | heur_linesearchdiving.h |
LP diving heuristic that fixes variables with a large difference to their root solution. | |
file | heur_localbranching.h |
Local branching heuristic according to Fischetti and Lodi. | |
file | heur_locks.h |
locks primal heuristic | |
file | heur_lpface.h |
LNS heuristic that tries to compute integral solution on optimal LP face. | |
file | heur_multistart.h |
multistart heuristic for convex and nonconvex MINLPs | |
file | heur_mutation.h |
LNS heuristic that tries to randomly mutate the incumbent solution. | |
file | heur_nlpdiving.h |
NLP diving heuristic that chooses fixings w.r.t. the fractionalities. | |
file | heur_objpscostdiving.h |
LP diving heuristic that changes variable's objective value instead of bounds, using pseudo cost values as guide. | |
file | heur_octane.h |
octane primal heuristic based on Balas, Ceria, Dawande, Margot, and Pataki | |
file | heur_ofins.h |
OFINS - Objective Function Induced Neighborhood Search - a primal heuristic for reoptimization. | |
file | heur_oneopt.h |
Improvement heuristic that alters single variable values. | |
file | heur_proximity.h |
improvement heuristic which uses an auxiliary objective instead of the original objective function which is itself added as a constraint to a sub-SCIP instance. The heuristic was presented by Matteo Fischetti and Michele Monaci | |
file | heur_pscostdiving.h |
LP diving heuristic that chooses fixings w.r.t. the pseudo cost values. | |
file | heur_randrounding.h |
randomized LP rounding heuristic which also generates conflicts via an auxiliary probing tree | |
file | heur_rens.h |
LNS heuristic that finds the optimal rounding to a given point. | |
file | heur_reoptsols.h |
reoptsols primal heuristic | |
file | heur_repair.h |
repair primal heuristic | |
file | heur_rins.h |
LNS heuristic that combines the incumbent with the LP optimum. | |
file | heur_rootsoldiving.h |
LP diving heuristic that changes variables' objective values using root LP solution as guide. | |
file | heur_rounding.h |
LP rounding heuristic that tries to recover from intermediate infeasibilities. | |
file | heur_shiftandpropagate.h |
preroot heuristic that alternatingly fixes variables and propagates domains | |
file | heur_shifting.h |
LP rounding heuristic that tries to recover from intermediate infeasibilities and shifts continuous variables. | |
file | heur_simplerounding.h |
Simple and fast LP rounding heuristic. | |
file | heur_subnlp.h |
NLP local search primal heuristic using sub-SCIPs. | |
file | heur_sync.h |
primal heuristic that adds given solutions | |
file | heur_trivial.h |
trivial primal heuristic | |
file | heur_trivialnegation.h |
trivialnegation primal heuristic | |
file | heur_trysol.h |
primal heuristic that tries a given solution | |
file | heur_twoopt.h |
Primal heuristic to improve incumbent solution by flipping pairs of variables. | |
file | heur_undercover.h |
Undercover primal heuristic for MINLPs. | |
file | heur_vbounds.h |
LNS heuristic uses the variable lower and upper bounds to determine the search neighborhood. | |
file | heur_veclendiving.h |
LP diving heuristic that rounds variables with long column vectors. | |
file | heur_zeroobj.h |
heuristic that tries to solve the problem without objective. In Gurobi, this heuristic is known as "Hail Mary" | |
file | heur_zirounding.h |
ZI Round primal heuristic. | |
SCIP_RETCODE SCIPapplyHeurDualval | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_RESULT * | result, | ||
SCIP_SOL * | refpoint | ||
) |
main procedure of the dualval heuristic
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; if NULL, then LP solution is used |
Definition at line 1991 of file heur_dualval.c.
References addLinearConstraintsToNlp(), bound, computeRanks(), createSolFromNLP(), createSubSCIP(), FALSE, fixDiscreteVars(), freeMemory(), MAX, maximalslack(), MIN, NULL, REALABS, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_NLPPAR_VERBLEVEL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_OKAY, SCIP_Real, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_OPTIMAL, SCIP_VERBLEVEL_HIGH, SCIPallocBlockMemoryArray, SCIPallocBufferArray, SCIPapplyHeurDualval(), SCIPchgRhsLinear(), SCIPchgVarLbGlobal(), SCIPchgVarUbGlobal(), SCIPconsGetHdlr(), SCIPdebugMsg, SCIPfindConshdlr(), SCIPfreeBlockMemoryArray, SCIPfreeBufferArray, SCIPfreeSol(), SCIPfreeTransform(), SCIPgetBestSol(), SCIPgetGap(), SCIPgetNLPBranchCands(), SCIPgetNLPSolstat(), SCIPgetNLPVars(), SCIPgetNNlpis(), SCIPgetNNLPVars(), SCIPgetNOrigConss(), SCIPgetNPseudoBranchCands(), SCIPgetOrigConss(), SCIPgetOrigVars(), SCIPgetOrigVarsData(), SCIPgetSolOrigObj(), SCIPgetSolVal(), SCIPgetStatus(), SCIPgetTransformedCons(), SCIPgetUpperbound(), SCIPhashmapGetImage(), SCIPhashmapInsert(), SCIPhashmapRemove(), SCIPhashmapRemoveAll(), SCIPheurGetData(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisFeasLE(), SCIPisGE(), SCIPisInfinity(), SCIPisNLPConstructed(), SCIPisTransformed(), SCIPnlrowGetDualsol(), SCIPpresolve(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetNLPInitialGuess(), SCIPsetNLPIntPar(), SCIPsetSolVal(), SCIPsolve(), SCIPsolveNLP(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetOrigvarSum(), SCIPvarGetTransVar(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), SCIPvarIsNegated(), SCIPverbMessage(), storeSolution(), and TRUE.
Referenced by SCIP_DECL_HEUREXEC(), and SCIPapplyHeurDualval().
SCIP_RETCODE SCIPheurPassIndicator | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
int | nindconss, | ||
SCIP_CONS ** | indconss, | ||
SCIP_Bool * | solcand | ||
) |
pass partial solution for indicator variables to heuristic
scip | SCIP data structure |
heur | indicator heuristic |
nindconss | number of indicator constraints |
indconss | indicator constraints |
solcand | values for indicator variables in partial solution |
Definition at line 564 of file heur_indicator.c.
References BMScopyMemoryArray, HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPduplicateBlockMemoryArray, SCIPfreeBlockMemoryArray, SCIPheurGetData(), and SCIPheurGetName().
Referenced by extendToCover().
SCIP_RETCODE SCIPapplyProximity | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_RESULT * | result, | ||
SCIP_Real | minimprove, | ||
SCIP_Longint | nnodes, | ||
SCIP_Longint | nlpiters, | ||
SCIP_Longint * | nusednodes, | ||
SCIP_Longint * | nusedlpiters, | ||
SCIP_Bool | freesubscip | ||
) |
main procedure of the proximity heuristic, creates and solves a sub-SCIP
freesubscip
parameter is set to FALSE, the heuristic will keep the subscip data structures. Always set this parameter to TRUE, or call SCIPdeleteSubproblemProximity() afterwards scip | original SCIP data structure |
heur | heuristic data structure |
result | result data structure |
minimprove | factor by which proximity should at least improve the incumbent |
nnodes | node limit for the subproblem |
nlpiters | LP iteration limit for the subproblem |
nusednodes | pointer to store number of used nodes in subscip |
nusedlpiters | pointer to store number of used LP iterations in subscip |
freesubscip | should the created sub-MIP be freed at the end of the method? |
Definition at line 650 of file heur_proximity.c.
References createNewSol(), deleteSubproblem(), EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, HEUR_NAME, MAX, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_CALL_ABORT, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_EVENTTYPE_NODESOLVED, SCIP_FOUNDSOL, SCIP_Longint, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_Real, SCIPaddCoefLinear(), SCIPaddCons(), SCIPallocBlockMemoryArray, SCIPblkmem(), SCIPcatchEvent(), SCIPcheckCopyLimits(), SCIPchgRhsLinear(), SCIPchgVarLbGlobal(), SCIPchgVarObj(), SCIPchgVarUbGlobal(), SCIPcopyLargeNeighborhoodSearch(), SCIPcopyLimits(), SCIPcreate(), SCIPcreateConsBasicLinear(), SCIPdebug, SCIPdebugMsg, SCIPdropEvent(), SCIPerrorMessage, SCIPfeasCeil(), SCIPfeasFloor(), SCIPfeastol(), SCIPfindEventhdlr(), SCIPfreeTransform(), SCIPgetBestSol(), SCIPgetGap(), SCIPgetLowerbound(), SCIPgetNBinVars(), SCIPgetNFixedVars(), SCIPgetNLPIterations(), SCIPgetNNodes(), SCIPgetNRootLPIterations(), SCIPgetNSols(), SCIPgetNSolsFound(), SCIPgetPresolvingTime(), SCIPgetPrimalbound(), SCIPgetRhsLinear(), SCIPgetSolTransObj(), SCIPgetSolVal(), SCIPgetSolvingTime(), SCIPgetVarsData(), SCIPhashmapCreate(), SCIPhashmapGetImage(), SCIPheurGetData(), SCIPheurGetName(), SCIPincludeEventhdlrBasic(), SCIPinfinity(), SCIPisFeasEQ(), SCIPisFeasLE(), SCIPisFeasLT(), SCIPisFeasZero(), SCIPisInfinity(), SCIPisObjIntegral(), SCIPpresolve(), SCIPprintStatistics(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsolGetHeur(), SCIPsolGetIndex(), SCIPsolGetNodenum(), SCIPsolIsOriginal(), SCIPsolve(), SCIPstatisticMessage, SCIPtransformProb(), SCIPvarGetLbGlobal(), SCIPvarGetObj(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), setupSubproblem(), and TRUE.
Referenced by SCIP_DECL_HEUREXEC().
SCIP_RETCODE SCIPdeleteSubproblemProximity | ( | SCIP * | scip | ) |
frees the sub-MIP created by proximity
scip | SCIP data structure |
Definition at line 623 of file heur_proximity.c.
References deleteSubproblem(), HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPfindHeur(), and SCIPheurGetData().
Referenced by SCIP_DECL_HEUREXEC().
SCIP_RETCODE SCIPapplyRens | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_RESULT * | result, | ||
SCIP_Real | minfixingrate, | ||
SCIP_Real | minimprove, | ||
SCIP_Longint | maxnodes, | ||
SCIP_Longint | nstallnodes, | ||
char | startsol, | ||
SCIP_Bool | binarybounds, | ||
SCIP_Bool | uselprows | ||
) |
main procedure of the RNS heuristic, creates and solves a sub-SCIP
main procedure of the RENS heuristic, creates and solves a sub-SCIP
scip | original SCIP data structure |
heur | heuristic data structure |
result | result data structure |
minfixingrate | minimum percentage of integer variables that have to be fixed |
minimprove | factor by which RENS should at least improve the incumbent |
maxnodes | maximum number of nodes for the subproblem |
nstallnodes | number of stalling nodes for the subproblem |
startsol | solution used for fixing values ('l'p relaxation, 'n'lp relaxation) |
binarybounds | should general integers get binary bounds [floor(.),ceil(.)]? |
uselprows | should subproblem be created out of the rows in the LP rows? |
Definition at line 362 of file heur_rens.c.
References computeFixingrate(), createNewSol(), EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, HEUR_NAME, MAX, MIN, NULL, restrictToBinaryBounds(), SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_EVENTTYPE_LPSOLVED, SCIP_FOUNDSOL, SCIP_OKAY, SCIP_PARAMSETTING_FAST, SCIP_PARAMSETTING_OFF, SCIP_PLUGINNOTFOUND, SCIP_Real, SCIPABORT, SCIPallocBufferArray, SCIPblkmem(), SCIPcatchEvent(), SCIPcheckCopyLimits(), SCIPcopyLargeNeighborhoodSearch(), SCIPcopyLimits(), SCIPcreate(), SCIPdebug, SCIPdebugMsg, SCIPdropEvent(), SCIPerrorMessage, SCIPfindBranchrule(), SCIPfindConshdlr(), SCIPfindNodesel(), SCIPfree(), SCIPfreeBufferArray, SCIPgetBestSol(), SCIPgetLowerbound(), SCIPgetNBinVars(), SCIPgetNConss(), SCIPgetNIntVars(), SCIPgetNNodes(), SCIPgetNOrigVars(), SCIPgetNSols(), SCIPgetNVars(), SCIPgetPrimalbound(), SCIPgetSols(), SCIPgetSolvingTime(), SCIPgetUpperbound(), SCIPgetVarsData(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPheurGetData(), SCIPincludeEventhdlrBasic(), SCIPinfinity(), SCIPisInfinity(), SCIPisParamFixed(), SCIPmergeVariableStatistics(), SCIPpresolve(), SCIPprintStatistics(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetObjlimit(), SCIPsetPresolving(), SCIPsetSeparating(), SCIPsetSubscipsOff(), SCIPsolGetNodenum(), SCIPsolve(), SCIPstatisticPrintf, SCIPsumepsilon(), SCIPtransformProb(), SCIPwarningMessage(), and TRUE.
Referenced by SCIP_DECL_HEUREXEC().
int SCIPreoptsolsGetNCheckedsols | ( | SCIP * | scip | ) |
Definition at line 291 of file heur_reoptsols.c.
References HEUR_NAME, NULL, SCIPfindHeur(), and SCIPheurGetData().
int SCIPreoptsolsGetNImprovingsols | ( | SCIP * | scip | ) |
Definition at line 310 of file heur_reoptsols.c.
References HEUR_NAME, NULL, SCIPfindHeur(), and SCIPheurGetData().
SCIP_RETCODE SCIPupdateStartpointHeurSubNlp | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_SOL * | solcand, | ||
SCIP_Real | violation | ||
) |
updates the starting point for the NLP heuristic
Is called, for example, by a constraint handler that handles nonlinear constraints when a check on feasibility of a solution fails.
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.
scip | SCIP data structure |
heur | NLP heuristic |
solcand | solution candidate |
violation | constraint violation of solution candidate |
Definition at line 2423 of file heur_subnlp.c.
References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPcreateSolCopy(), SCIPdebugMsg, SCIPfreeSol(), SCIPgetSolHeur(), SCIPgetSolTransObj(), SCIPgetStage(), SCIPheurGetData(), SCIPheurGetName(), SCIPisPositive(), SCIPisRelGT(), SCIPsolGetHeur(), SCIPsolSetHeur(), and SCIPunlinkSol().
Referenced by SCIP_DECL_CONSCHECK().
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_SOL * | resultsol | ||
) |
main procedure of the subNLP heuristic
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 |
resultsol | a solution where to store found solution values, if any, or NULL if to try adding to SCIP |
Definition at line 1672 of file heur_subnlp.c.
References createSubSCIP(), FALSE, forbidFixation(), freeSubSCIP(), MAX, MIN, NULL, REALABS, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIPchgVarLbGlobal(), SCIPchgVarUbGlobal(), SCIPdebugMsg, 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(), SCIPapplyUndercover(), and solveNLP().
SCIP_RETCODE SCIPresolveSolHeurSubNlp | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_SOL * | sol, | ||
SCIP_Bool * | success, | ||
SCIP_Longint | itercontingent, | ||
SCIP_Real | timelimit | ||
) |
for a given solution, resolves the corresponding subNLP and updates solution values for continuous variables, if NLP solution is feasible in original problem
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 1870 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(), SCIPdebugMsg, SCIPgetNBinVars(), SCIPgetNIntVars(), SCIPgetObjsense(), SCIPgetOrigVarsData(), SCIPgetSolOrigObj(), SCIPgetSolVal(), SCIPgetStage(), SCIPheurGetData(), SCIPisEQ(), SCIPisFeasIntegral(), SCIPisTransformed(), SCIPround(), SCIPsetObjlimit(), SCIPtransformObj(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), solveSubNLP(), and TRUE.
SCIP_RETCODE SCIPaddLinearConsToNlpHeurSubNlp | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_Bool | addcombconss, | ||
SCIP_Bool | addcontconss | ||
) |
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.
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 2389 of file heur_subnlp.c.
References addLinearConstraintsToNlp(), HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetData(), and SCIPheurGetName().
Referenced by SCIP_DECL_CONSSEPALP().
gets sub-SCIP used by NLP heuristic, or NULL if none
scip | original SCIP data structure |
heur | heuristic data structure |
Definition at line 2478 of file heur_subnlp.c.
References HEUR_NAME, NULL, SCIPheurGetData(), and SCIPheurGetName().
gets mapping of SCIP variables to sub-SCIP variables
scip | original SCIP data structure |
heur | heuristic data structure |
Definition at line 2495 of file heur_subnlp.c.
References HEUR_NAME, NULL, SCIPheurGetData(), and SCIPheurGetName().
gets mapping of sub-SCIP variables to SCIP variables
scip | original SCIP data structure |
heur | heuristic data structure |
Definition at line 2512 of file heur_subnlp.c.
References HEUR_NAME, NULL, SCIPheurGetData(), and SCIPheurGetName().
gets startpoint candidate to be used in next call to NLP heuristic, or NULL if none
scip | original SCIP data structure |
heur | heuristic data structure |
Definition at line 2529 of file heur_subnlp.c.
References HEUR_NAME, NULL, SCIPheurGetData(), and SCIPheurGetName().
SCIP_RETCODE SCIPheurSyncPassSol | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_SOL * | sol | ||
) |
pass solution to sync heuristic
scip | SCIP data structure |
heur | sync heuristic |
sol | solution to be passed |
Definition at line 180 of file heur_sync.c.
References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPfreeSol(), SCIPgetSolTransObj(), SCIPheurGetData(), SCIPheurGetName(), SCIPheurSetFreq(), and SCIPsolSetHeur().
Referenced by SCIPaddConcurrentSol().
SCIP_RETCODE SCIPheurPassSolTrySol | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_SOL * | sol | ||
) |
pass solution to trysol heuristic
scip | SCIP data structure |
heur | trysol heuristic |
sol | solution to be passed |
Definition at line 236 of file heur_trysol.c.
References HEUR_NAME, NULL, SCIP_CALL, SCIP_OBJSENSE_MAXIMIZE, SCIP_OKAY, SCIPcreateSolCopy(), SCIPdebugMsg, SCIPfreeSol(), SCIPgetObjsense(), SCIPgetSolOrigObj(), SCIPheurGetData(), SCIPheurGetName(), SCIPisGT(), SCIPisLT(), SCIPsolSetHeur(), and SCIPunlinkSol().
Referenced by proposeFeasibleSolution(), SCIP_DECL_CONSCHECK(), and SCIP_DECL_CONSSEPALP().
SCIP_RETCODE SCIPheurPassSolAddSol | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_SOL * | sol | ||
) |
pass solution to trysol heuristic which just gets added (without checking feasibility
scip | SCIP data structure |
heur | trysol heuristic |
sol | solution to be passed |
Definition at line 277 of file heur_trysol.c.
References HEUR_NAME, NULL, SCIP_CALL, SCIP_OBJSENSE_MAXIMIZE, SCIP_OKAY, SCIPcreateSolCopy(), SCIPdebugMsg, SCIPfreeSol(), SCIPgetObjsense(), SCIPgetSolOrigObj(), SCIPheurGetData(), SCIPheurGetName(), SCIPisGT(), SCIPisLT(), SCIPsolSetHeur(), and SCIPunlinkSol().
Referenced by checkSystemGF2().
SCIP_RETCODE SCIPcomputeCoverUndercover | ( | SCIP * | scip, |
int * | coversize, | ||
SCIP_VAR ** | cover, | ||
SCIP_Real | timelimit, | ||
SCIP_Real | memorylimit, | ||
SCIP_Real | objlimit, | ||
SCIP_Bool | globalbounds, | ||
SCIP_Bool | onlyconvexify, | ||
SCIP_Bool | coverbd, | ||
char | coveringobj, | ||
SCIP_Bool * | success | ||
) |
computes a minimal set of covering variables
scip | SCIP data structure |
coversize | buffer for the size of the computed cover |
cover | pointer to store the variables (of the original SCIP) in the computed cover (should be ready to hold SCIPgetNVars(scip) entries) |
timelimit | time limit |
memorylimit | memory limit |
objlimit | objective limit: upper bound on coversize |
globalbounds | should global bounds on variables be used instead of local bounds at focus node? |
onlyconvexify | should we only fix/dom.red. variables creating nonconvexity? |
coverbd | should bounddisjunction constraints be covered (or just copied)? |
coveringobj | objective function of the covering problem ('b'ranching status, influenced nonlinear 'c'onstraints/'t'erms, 'd'omain size, 'l'ocks, 'm'in of up/down locks, 'u'nit penalties, constraint 'v'iolation) |
success | feasible cover found? |
Definition at line 3544 of file heur_undercover.c.
References createCoveringProblem(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPcreate(), SCIPdebugMsg, SCIPfree(), SCIPfreeBufferArray, SCIPgetMemExternEstim(), SCIPgetMemUsed(), SCIPgetVarsData(), SCIPincludeDefaultPlugins(), SCIPreleaseVar(), and solveCoveringProblem().
Referenced by SCIPincludeHeurUndercover().
SCIP_RETCODE SCIPapplyZeroobj | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_RESULT * | result, | ||
SCIP_Real | minimprove, | ||
SCIP_Longint | nnodes | ||
) |
main procedure of the zeroobj heuristic, creates and solves a sub-SCIP
scip | original SCIP data structure |
heur | heuristic data structure |
result | result data structure |
minimprove | factor by which zeroobj should at least improve the incumbent |
nnodes | node limit for the subproblem |
Definition at line 266 of file heur_zeroobj.c.
References createNewSol(), EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, HEUR_NAME, MAX, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_CALL_ABORT, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_EVENTTYPE_NODESOLVED, SCIP_FOUNDSOL, SCIP_OKAY, SCIP_PARAMSETTING_FAST, SCIP_PARAMSETTING_OFF, SCIP_PLUGINNOTFOUND, SCIP_Real, SCIPaddCoefLinear(), SCIPaddCons(), SCIPallocBufferArray, SCIPblkmem(), SCIPcatchEvent(), SCIPcheckCopyLimits(), SCIPchgVarLbGlobal(), SCIPchgVarObj(), SCIPchgVarUbGlobal(), SCIPcopy(), SCIPcopyLimits(), SCIPcreate(), SCIPcreateConsLinear(), SCIPdebugMsg, SCIPdropEvent(), SCIPerrorMessage, SCIPfeastol(), SCIPfindBranchrule(), SCIPfindConshdlr(), SCIPfindNodesel(), SCIPfree(), SCIPfreeBufferArray, SCIPgetDepth(), SCIPgetLowerbound(), SCIPgetNObjVars(), SCIPgetNSols(), SCIPgetNSolsFound(), SCIPgetSols(), SCIPgetUpperbound(), SCIPgetVarsData(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPheurGetData(), SCIPheurGetNCalls(), SCIPincludeEventhdlrBasic(), SCIPinfinity(), SCIPisFeasZero(), SCIPisInfinity(), SCIPisParamFixed(), SCIPprintStatistics(), SCIPreleaseCons(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetPresolving(), SCIPsetSeparating(), SCIPsetSubscipsOff(), SCIPsolve(), SCIPsumepsilon(), SCIPtransformProb(), SCIPvarGetLbGlobal(), SCIPvarGetObj(), SCIPvarGetUbGlobal(), and TRUE.
Referenced by SCIP_DECL_HEUREXEC().