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 2417 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 1669 of file heur_subnlp.c.
References createSubSCIP(), FALSE, forbidFixation(), freeSubSCIP(), MAX, MIN, NULL, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIPchgVarLbGlobal(), SCIPchgVarUbGlobal(), 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 1864 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 2383 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 2472 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 2489 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 2506 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 2523 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().