Detailed Description
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_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_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 based on ideas published in the paper "A Decomposition Heuristic for Mixed-Integer Supply Chain Problems" by Martin Schmidt, Lars Schewe, and Dieter Weninger. | |
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_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 | |
Function Documentation
◆ SCIPapplyHeurDualval()
SCIP_RETCODE SCIPapplyHeurDualval | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_RESULT * | result, | ||
SCIP_SOL * | refpoint | ||
) |
main procedure of the dualval 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; if NULL, then LP solution is used
Definition at line 2016 of file heur_dualval.c.
References addLinearConstraintsToNlp(), bound, computeRanks(), createSolFromNLP(), createSubSCIP(), FALSE, fixDiscreteVars(), freeMemory(), MAX, maximalslack(), NULL, REALABS, 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(), and TRUE.
Referenced by SCIP_DECL_HEUREXEC(), and SCIPapplyHeurDualval().
◆ SCIPheurPassIndicator()
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
- Parameters
-
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 BMScopyMemoryArray, HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPduplicateBlockMemoryArray, SCIPfreeBlockMemoryArray, SCIPheurGetData(), and SCIPheurGetName().
Referenced by extendToCover().
◆ SCIPapplyProximity()
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
- Note
- the method can be applied in an iterative way, keeping the same subscip in between. If the
freesubscip
parameter is set to FALSE, the heuristic will keep the subscip data structures. Always set this parameter to TRUE, or call SCIPdeleteSubproblemProximity() afterwards
main procedure of the proximity heuristic, creates and solves a sub-SCIP
- Note
- The method can be applied in an iterative way, keeping the same subscip in between. If the
freesubscip
parameter is set to FALSE, the heuristic will keep the subscip data structures. Always set this parameter to TRUE, or call SCIPdeleteSubproblemProximity() afterwards.
- Parameters
-
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 createNewSol(), deleteSubproblem(), EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, HEUR_NAME, MAX, NULL, REALABS, 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(), SCIPisFeasGE(), SCIPisFeasIntegral(), SCIPisFeasLE(), SCIPisFeasLT(), SCIPisFeasZero(), SCIPisInfinity(), SCIPisObjIntegral(), SCIPisZero(), SCIPpresolve(), SCIPprintStatistics(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsolGetHeur(), SCIPsolGetIndex(), SCIPsolGetNodenum(), SCIPsolIsOriginal(), SCIPsolve(), SCIPstatisticMessage, SCIPtransformProb(), SCIPvarGetLbGlobal(), SCIPvarGetObj(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), setupSubproblem(), and TRUE.
Referenced by SCIP_DECL_HEUREXEC().
◆ SCIPdeleteSubproblemProximity()
SCIP_RETCODE SCIPdeleteSubproblemProximity | ( | SCIP * | scip | ) |
frees the sub-MIP created by proximity
- Parameters
-
scip SCIP data structure
Definition at line 640 of file heur_proximity.c.
References deleteSubproblem(), HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPfindHeur(), and SCIPheurGetData().
Referenced by SCIP_DECL_HEUREXEC().
◆ SCIPapplyRens()
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
- Parameters
-
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 603 of file heur_rens.c.
References computeFixingrate(), NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPcheckCopyLimits(), SCIPcreate(), SCIPfree(), SCIPfreeBufferArray, SCIPgetNBinVars(), SCIPgetNIntVars(), SCIPstatisticPrintf, and setupAndSolveSubscip().
Referenced by SCIP_DECL_HEUREXEC().
◆ SCIPreoptsolsGetNCheckedsols()
int SCIPreoptsolsGetNCheckedsols | ( | SCIP * | scip | ) |
Definition at line 311 of file heur_reoptsols.c.
References HEUR_NAME, NULL, SCIPfindHeur(), and SCIPheurGetData().
◆ SCIPreoptsolsGetNImprovingsols()
int SCIPreoptsolsGetNImprovingsols | ( | SCIP * | scip | ) |
Definition at line 330 of file heur_reoptsols.c.
References HEUR_NAME, NULL, SCIPfindHeur(), and SCIPheurGetData().
◆ SCIPapplyHeurSubNlp()
SCIP_RETCODE SCIPapplyHeurSubNlp | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_RESULT * | result, | ||
SCIP_SOL * | refpoint, | ||
SCIP_SOL * | resultsol | ||
) |
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 resultsol a solution where to store found solution values, if any, or NULL if to try adding to SCIP
Definition at line 1766 of file heur_subnlp.c.
References createSubSCIP(), FALSE, forbidFixation(), freeSubSCIP(), MAX, NULL, REALABS, 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(), and TRUE.
Referenced by heurExec(), SCIP_DECL_HEUREXEC(), SCIPapplyUndercover(), and solveNLP().
◆ SCIPupdateStartpointHeurSubNlp()
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.
- Parameters
-
scip SCIP data structure heur NLP heuristic solcand solution candidate violation constraint violation of solution candidate
Definition at line 1941 of file heur_subnlp.c.
References HEUR_NAME, NULL, runHeuristic(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPcreateSolCopy(), SCIPdebugMsg, SCIPfreeSol(), SCIPgetSolHeur(), SCIPgetSolTransObj(), SCIPgetStage(), SCIPheurGetData(), SCIPheurGetFreq(), SCIPheurGetName(), SCIPisPositive(), SCIPisRelGT(), SCIPsolGetHeur(), SCIPsolSetHeur(), and SCIPunlinkSol().
Referenced by SCIP_DECL_CONSCHECK().
◆ SCIPgetStartCandidateHeurSubNlp()
gets startpoint candidate to be used in next call to NLP heuristic, or NULL if none
- Parameters
-
scip original SCIP data structure heur heuristic data structure
Definition at line 2005 of file heur_subnlp.c.
References HEUR_NAME, NULL, SCIPheurGetData(), and SCIPheurGetName().
◆ SCIPheurSyncPassSol()
SCIP_RETCODE SCIPheurSyncPassSol | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_SOL * | sol | ||
) |
pass solution to sync heuristic
- Parameters
-
scip SCIP data structure heur sync heuristic sol solution to be passed
Definition at line 190 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().
◆ SCIPheurPassSolTrySol()
SCIP_RETCODE SCIPheurPassSolTrySol | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_SOL * | sol | ||
) |
pass solution to trysol heuristic
- Parameters
-
scip SCIP data structure heur trysol heuristic sol solution to be passed
Definition at line 252 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(), SCIP_DECL_CONSENFOLP(), and SCIP_DECL_CONSENFOPS().
◆ SCIPheurPassSolAddSol()
SCIP_RETCODE SCIPheurPassSolAddSol | ( | SCIP * | scip, |
SCIP_HEUR * | heur, | ||
SCIP_SOL * | sol | ||
) |
pass solution to trysol heuristic which just gets added (without checking feasibility
- Parameters
-
scip SCIP data structure heur trysol heuristic sol solution to be passed
Definition at line 293 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(), and constructValidSolution().
◆ SCIPcomputeCoverUndercover()
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
- Parameters
-
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 3320 of file heur_undercover.c.
References computeCoverUndercover(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreate(), and SCIPfree().
Referenced by computeCoverUndercover().
◆ SCIPapplyZeroobj()
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
- Parameters
-
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 NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPcheckCopyLimits(), SCIPcreate(), SCIPfree(), SCIPgetDepth(), SCIPgetNSolsFound(), SCIPheurGetData(), SCIPheurGetNCalls(), and setupAndSolveSubscip().
Referenced by SCIP_DECL_HEUREXEC().