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.
Topics | |
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_adaptivediving.h |
diving heuristic that selects adaptively between the existing, public dive sets | |
file | heur_alns.h |
Adaptive large neighborhood search heuristic that orchestrates popular LNS heuristics. | |
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_conflictdiving.h |
LP diving heuristic that chooses fixings w.r.t. conflict locks. | |
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_dps.h |
dynamic partition search | |
file | heur_dualval.h |
primal heuristic that uses dualvalues for successive switching variable values | |
file | heur_farkasdiving.h |
LP diving heuristic that tries to construct a Farkas-proof. | |
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_indicatordiving.h |
LP diving heuristic that fixes indicator variables controlling semicontinuous 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_mpec.h |
mpec primal heuristic | |
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_padm.h |
PADM primal heuristic. | |
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_scheduler.h |
Adaptive heuristic to schedule LNS and diving heuristics. | |
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_trustregion.h |
Large neighborhood search heuristic for Benders' decomposition based on trust region methods. | |
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. | |
file | heur_cycgreedy.h |
Greedy primal heuristic. States are assigned to clusters iteratively. At each iteration all possible assignments are computed and the one with the best change in objective value is selected. | |
file | heur_cyckerlin.h |
Improvement heuristic that trades bin-variables between clusters. | |
file | heur_fuzzyround.h |
primal heuristic that constructs a feasible solution from the lp-relaxation. Round only on the state-variables (binvars) and then reconstruct the rest of the variables accordingly. | |
file | heur_redsize.h |
primal heuristic that solves the problem with a sparser matrix as a submip | |
file | heur_listscheduling.c |
scheduling specific primal heuristic which is based on bidirectional serial generation scheme. | |
file | heur_optcumulative.h |
heuristic for cumulative scheduling with optional activities |
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 2020 of file heur_dualval.c.
References addLinearConstraintsToNlp(), assert(), bound, computeRanks(), createSolFromNLP(), createSubSCIP(), FALSE, fixDiscreteVars(), freeMemory(), heurdata, i, MAX, maximalslack(), MIN, NULL, REALABS, result, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, 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(), SCIPsetSolVal(), SCIPsolve(), SCIPsolveNLP, SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetOrigvarSum(), SCIPvarGetTransVar(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), SCIPvarIsNegated(), SCIPverbMessage(), storeSolution(), TRUE, and var.
Referenced by SCIP_DECL_HEUREXEC(), and SCIPapplyHeurDualval().
SCIP_RETCODE SCIPheurPassIndicator | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
int | nindconss, | ||
SCIP_CONS ** | indconss, | ||
SCIP_Bool * | solcand, | ||
SCIP_Real | obj ) |
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 |
obj | objective of solution |
Definition at line 596 of file heur_indicator.c.
References assert(), BMScopyMemoryArray, HEUR_NAME, heurdata, NULL, obj, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, 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() afterwardsmain 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 667 of file heur_proximity.c.
References assert(), createNewSol(), deleteSubproblem(), EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, HEUR_NAME, heurdata, i, MAX, MIN, nnodes, NULL, nvars, REALABS, result, SCIP_Bool, SCIP_CALL, SCIP_CALL_ABORT, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_EVENTTYPE_NODESOLVED, SCIP_FOUNDSOL, SCIP_Longint, SCIP_LONGINT_FORMAT, 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(), SCIPisFeasGE(), SCIPisFeasIntegral(), SCIPisFeasLE(), SCIPisFeasLT(), SCIPisFeasZero(), SCIPisInfinity(), SCIPisObjIntegral(), SCIPisZero(), SCIPpresolve(), SCIPprintStatistics(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsolGetHeur(), SCIPsolGetIndex(), SCIPsolGetNodenum(), SCIPsolIsOriginal(), SCIPsolve(), SCIPstatisticMessage, SCIPtransformProb(), SCIPvarGetLbGlobal(), SCIPvarGetObj(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), setupSubproblem(), TRUE, valid, and vars.
Referenced by SCIP_DECL_HEUREXEC().
SCIP_RETCODE SCIPdeleteSubproblemProximity | ( | SCIP * | scip | ) |
frees the sub-MIP created by proximity
scip | SCIP data structure |
Definition at line 640 of file heur_proximity.c.
References assert(), deleteSubproblem(), HEUR_NAME, heurdata, 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 595 of file heur_rens.c.
References SCIP_OKAY.
int SCIPreoptsolsGetNCheckedsols | ( | SCIP * | scip | ) |
Definition at line 311 of file heur_reoptsols.c.
References assert(), HEUR_NAME, heurdata, NULL, SCIPfindHeur(), and SCIPheurGetData().
int SCIPreoptsolsGetNImprovingsols | ( | SCIP * | scip | ) |
Definition at line 330 of file heur_reoptsols.c.
References assert(), HEUR_NAME, heurdata, NULL, SCIPfindHeur(), and SCIPheurGetData().
SCIP_RETCODE SCIPapplyHeurSubNlp | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_RESULT * | result, | ||
SCIP_SOL * | refpoint, | ||
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 |
resultsol | a solution where to store found solution values, if any, or NULL if to try adding to SCIP |
Definition at line 1768 of file heur_subnlp.c.
References assert(), createSubSCIP(), cutoff, FALSE, forbidFixation(), freeSubSCIP(), heurdata, i, MAX, MIN, NULL, REALABS, result, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIPdebugMsg, SCIPfreeTransform(), SCIPgetLPSolstat(), SCIPgetNActivePricers(), SCIPgetNSols(), SCIPgetOrigVarsData(), SCIPgetSolVal(), SCIPgetStage(), SCIPgetUpperbound(), SCIPheurGetData(), SCIPinfinity(), SCIPisEQ(), SCIPisFeasIntegral(), SCIPisInfinity(), SCIPisTransformed(), SCIPround(), SCIPsetObjlimit(), SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPtransformProb(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), solveSubNLP(), TRUE, and var.
Referenced by heurExec(), SCIP_DECL_HEUREXEC(), SCIPapplyUndercover(), and solveNLP().
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 1943 of file heur_subnlp.c.
References assert(), HEUR_NAME, heurdata, NULL, runHeuristic(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIPcreateSolCopy(), SCIPdebugMsg, SCIPfreeSol(), SCIPgetSolHeur(), SCIPgetSolTransObj(), SCIPgetStage(), SCIPheurGetData(), SCIPheurGetFreq(), SCIPheurGetName(), SCIPisPositive(), SCIPisRelGT(), SCIPsolGetHeur(), SCIPsolSetHeur(), and SCIPunlinkSol().
Referenced by SCIP_DECL_CONSCHECK().
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 2007 of file heur_subnlp.c.
References assert(), HEUR_NAME, heurdata, 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 190 of file heur_sync.c.
References assert(), HEUR_NAME, heurdata, i, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPfreeSol(), SCIPgetSolTransObj(), SCIPheurGetData(), SCIPheurGetName(), SCIPheurSetFreq(), SCIPsolSetHeur(), and sol.
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 252 of file heur_trysol.c.
References assert(), HEUR_NAME, heurdata, NULL, SCIP_CALL, SCIP_OBJSENSE_MAXIMIZE, SCIP_OKAY, SCIPcreateSolCopy(), SCIPdebugMsg, SCIPfreeSol(), SCIPgetObjsense(), SCIPgetSolOrigObj(), SCIPheurGetData(), SCIPheurGetName(), SCIPisGT(), SCIPisLT(), SCIPsolSetHeur(), SCIPunlinkSol(), and sol.
Referenced by proposeFeasibleSolution(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), and separateCuts().
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 293 of file heur_trysol.c.
References assert(), HEUR_NAME, heurdata, NULL, SCIP_CALL, SCIP_OBJSENSE_MAXIMIZE, SCIP_OKAY, SCIPcreateSolCopy(), SCIPdebugMsg, SCIPfreeSol(), SCIPgetObjsense(), SCIPgetSolOrigObj(), SCIPheurGetData(), SCIPheurGetName(), SCIPisGT(), SCIPisLT(), SCIPsolSetHeur(), SCIPunlinkSol(), and sol.
Referenced by checkSystemGF2(), and constructValidSolution().
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 | coverand, | ||
SCIP_Bool | coverbd, | ||
SCIP_Bool | coverind, | ||
SCIP_Bool | covernl, | ||
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? |
coverand | should and constraints be covered (or just copied)? |
coverbd | should bounddisjunction constraints be covered (or just copied)? |
coverind | should indicator constraints be covered (or just copied)? |
covernl | should nonlinear 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 3353 of file heur_undercover.c.
References assert(), computeCoverUndercover(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcreate(), and SCIPfree().
Referenced by SCIP_DECL_HEUREXEC().
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 504 of file heur_zeroobj.c.
References assert(), heurdata, nnodes, NULL, result, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIPcheckCopyLimits(), SCIPcreate(), SCIPfree(), SCIPgetDepth(), SCIPgetNSolsFound(), SCIPheurGetData(), SCIPheurGetNCalls(), and setupAndSolveSubscip().
Referenced by SCIP_DECL_HEUREXEC().