|
primal heuristic that uses dualvalues for successive switching variable values
- Author
- Tobias Buchwald
This heuristic tries to find solutions by taking the LP or NLP, rounding solution values, fixing the variables to the rounded values and then changing some of the values.To determine which variable is changed we give each variable a ranking dependent on its dualvalue. We work with a transformed problem that is always feasible and has objective = 0 iff the original problem is also feasible. Thus we cannot expect to find really good solutions.
Definition in file heur_dualval.h.
Go to the source code of this file.
creates the dualVal primal heuristic and includes it in SCIP
creates the dualval primal heuristic and includes it in SCIP
- Parameters
-
Definition at line 2750 of file heur_dualval.c.
References BMSclearMemory, DEFAULT_DYNAMICDEPTH, DEFAULT_FORCEIMPROVEMENTS, DEFAULT_HEURVERBLEVEL, DEFAULT_LAMBDAOBJ, DEFAULT_LAMBDASLACK, DEFAULT_MAXCALLS, DEFAULT_MAXEQUALRANKS, DEFAULT_MINGAP, DEFAULT_NLPVERBLEVEL, DEFAULT_ONLYCHEAPER, DEFAULT_ONLYLEAVES, DEFAULT_RANKVALUE, DEFAULT_RELAXCONTVARS, DEFAULT_RELAXINDICATORS, FALSE, HEUR_DESC, HEUR_DISPCHAR, HEUR_FREQ, HEUR_FREQOFS, HEUR_MAXDEPTH, HEUR_NAME, HEUR_PRIORITY, HEUR_TIMING, HEUR_USESSUBSCIP, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPallocMemory, SCIPincludeHeurBasic(), SCIPinfinity(), SCIPsetHeurExit(), SCIPsetHeurExitsol(), SCIPsetHeurFree(), SCIPsetHeurInit(), SCIPsetHeurInitsol(), and TRUE.
Referenced by SCIPincludeDefaultPlugins().
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 1975 of file heur_dualval.c.
References addLinearConstraintsToNlp(), 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(), SCIPdebugMessage, 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().
|