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_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_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_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_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(), 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, | ||
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 569 of file heur_indicator.c.
References BMScopyMemoryArray, HEUR_NAME, 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() 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 641 of file heur_proximity.c.
References createNewSol(), deleteSubproblem(), EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, HEUR_NAME, MAX, 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().
SCIP_RETCODE SCIPdeleteSubproblemProximity | ( | SCIP * | scip | ) |
frees the sub-MIP created by proximity
scip | SCIP data structure |
Definition at line 614 of file heur_proximity.c.
References deleteSubproblem(), HEUR_NAME, 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 634 of file heur_rens.c.
References computeFixingrate(), 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().
int SCIPreoptsolsGetNCheckedsols | ( | SCIP * | scip | ) |
Definition at line 291 of file heur_reoptsols.c.
References HEUR_NAME, SCIPfindHeur(), and SCIPheurGetData().
int SCIPreoptsolsGetNImprovingsols | ( | SCIP * | scip | ) |
Definition at line 310 of file heur_reoptsols.c.
References HEUR_NAME, 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 2425 of file heur_subnlp.c.
References HEUR_NAME, 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 1674 of file heur_subnlp.c.
References createSubSCIP(), FALSE, forbidFixation(), freeSubSCIP(), MAX, 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 heurExec(), 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 1872 of file heur_subnlp.c.
References createSubSCIP(), FALSE, freeSubSCIP(), MAX, 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 2391 of file heur_subnlp.c.
References addLinearConstraintsToNlp(), HEUR_NAME, 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 2480 of file heur_subnlp.c.
References HEUR_NAME, SCIPheurGetData(), and SCIPheurGetName().
gets mapping of SCIP variables to sub-SCIP variables
scip | original SCIP data structure |
heur | heuristic data structure |
Definition at line 2497 of file heur_subnlp.c.
References HEUR_NAME, SCIPheurGetData(), and SCIPheurGetName().
gets mapping of sub-SCIP variables to SCIP variables
scip | original SCIP data structure |
heur | heuristic data structure |
Definition at line 2514 of file heur_subnlp.c.
References HEUR_NAME, 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 2531 of file heur_subnlp.c.
References HEUR_NAME, 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, 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, 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, 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 3643 of file heur_undercover.c.
References computeCoverUndercover(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPcreate(), and SCIPfree().
Referenced by computeCoverUndercover().
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 524 of file heur_zeroobj.c.
References SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPcheckCopyLimits(), SCIPcreate(), SCIPfree(), SCIPgetDepth(), SCIPgetNSolsFound(), SCIPheurGetData(), SCIPheurGetNCalls(), and setupAndSolveSubscip().
Referenced by SCIP_DECL_HEUREXEC().