heur_gcgveclendiving.c
Go to the documentation of this file.
34 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
57 #define DEFAULT_USEMASTERSCORES FALSE /**< calculate vector length scores w.r.t. the master LP? */
91 colveclen = (SCIPvarGetStatus(var) == SCIP_VARSTATUS_COLUMN ? SCIPcolGetNNonz(SCIPvarGetCol(var)) : 0);
324 /** execution initialization method of diving heuristic (called when execution of diving heuristic is about to begin) */
368 objdelta = SCIPfeasFrac(masterprob, SCIPgetSolVal(masterprob, masterlpsol, mastervar)) * SCIPvarGetObj(mastervar);
370 colveclen = (SCIPvarGetStatus(mastervar) == SCIP_VARSTATUS_COLUMN ? SCIPcolGetNNonz(SCIPvarGetCol(mastervar)) : 0);
381 /** execution deinitialization method of diving heuristic (called when execution data is freed) */
406 * - round variables in direction where objective value gets worse; for zero objective coefficient, round upwards
432 SCIP_CALL( SCIPgetExternBranchCands(scip, &lpcands, &lpcandssol, NULL, &nlpcands, NULL, NULL, NULL, NULL) );
460 SCIP_CALL( calculateScoreOrig(scip, lpcands[c], lpcandssol[c] - SCIPfloor(scip, lpcandssol[c]), &score, &roundup) );
GCG_DIVINGDATA * GCGheurGetDivingDataOrig(SCIP_HEUR *heur)
Definition: heur_origdiving.c:1087
GCG interface methods.
SCIP_RETCODE GCGincludeHeurGcgveclendiving(SCIP *scip)
Definition: heur_gcgveclendiving.c:484
static SCIP_RETCODE getMasterUpScore(SCIP *scip, GCG_DIVINGDATA *divingdata, SCIP_VAR *var, SCIP_Real *score)
Definition: heur_gcgveclendiving.c:220
SCIP_VAR ** GCGoriginalVarGetMastervars(SCIP_VAR *var)
Definition: gcgvar.c:587
SCIP_Bool GCGisLinkingVarInBlock(SCIP_VAR *var, int block)
Definition: gcgvar.c:1064
primal heuristic interface for LP diving heuristics on the original variables
SCIP_Real * GCGoriginalVarGetMastervals(SCIP_VAR *var)
Definition: gcgvar.c:605
static GCG_DECL_DIVINGINITEXEC(heurInitexecGcgveclendiving)
Definition: heur_gcgveclendiving.c:326
static GCG_DECL_DIVINGFREE(heurFreeGcgveclendiving)
Definition: heur_gcgveclendiving.c:307
static GCG_DECL_DIVINGEXITEXEC(heurExitexecGcgveclendiving)
Definition: heur_gcgveclendiving.c:383
Definition: heur_gcgcoefdiving.c:61
static SCIP_RETCODE getMasterDownScore(SCIP *scip, GCG_DIVINGDATA *divingdata, SCIP_VAR *var, SCIP_Real *score)
Definition: heur_gcgveclendiving.c:163
LP diving heuristic that rounds variables with long column vectors.
SCIP_RETCODE GCGincludeDivingHeurOrig(SCIP *scip, SCIP_HEUR **heur, const char *name, const char *desc, char dispchar, int priority, int freq, int freqofs, int maxdepth, GCG_DECL_DIVINGFREE((*divingfree)), GCG_DECL_DIVINGINIT((*divinginit)), GCG_DECL_DIVINGEXIT((*divingexit)), GCG_DECL_DIVINGINITSOL((*divinginitsol)), GCG_DECL_DIVINGEXITSOL((*divingexitsol)), GCG_DECL_DIVINGINITEXEC((*divinginitexec)), GCG_DECL_DIVINGEXITEXEC((*divingexitexec)), GCG_DECL_DIVINGSELECTVAR((*divingselectvar)), GCG_DIVINGDATA *divingdata)
Definition: heur_origdiving.c:1120
static SCIP_RETCODE calculateScoreMaster(SCIP *scip, GCG_DIVINGDATA *divingdata, SCIP_VAR *var, SCIP_Real *score, SCIP_Bool *roundup)
Definition: heur_gcgveclendiving.c:274
void GCGheurSetDivingDataOrig(SCIP_HEUR *heur, GCG_DIVINGDATA *divingdata)
Definition: heur_origdiving.c:1103
static SCIP_RETCODE calculateScoreOrig(SCIP *scip, SCIP_VAR *var, SCIP_Real frac, SCIP_Real *score, SCIP_Bool *roundup)
Definition: heur_gcgveclendiving.c:74
static SCIP_Bool areVarsInSameBlock(SCIP_VAR *origvar, SCIP_VAR *mastervar)
Definition: heur_gcgveclendiving.c:105
static GCG_DECL_DIVINGSELECTVAR(heurSelectVarGcgveclendiving)
Definition: heur_gcgveclendiving.c:411