cons_origbranch.c
Go to the documentation of this file.
35 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
64 #define CONSHDLR_ENFOPRIORITY 0 /**< priority of the constraint handler for constraint enforcing */
65 #define CONSHDLR_CHECKPRIORITY 2000000 /**< priority of the constraint handler for checking feasibility */
66 #define CONSHDLR_EAGERFREQ 100 /**< frequency for using all instead of only the useful constraints in separation,
68 #define CONSHDLR_NEEDSCONS TRUE /**< should the constraint handler be skipped, if no constraints are available? */
79 SCIP_CONS* probingtmpcons; /**< pointer to save the last child in the childconss array if it is overwritten in probing mode */
82 GCG_BRANCHDATA* branchdata; /**< branching data stored by the branching rule containing information
102 /** destructor of constraint handler to free constraint handler data (called when SCIP is exiting) */
115 SCIPdebugMessage("freeing branch orig constraint handler (nconss = %d)\n", SCIPconshdlrGetNConss(conshdlr));
130 /** solving process initialization method of constraint handler (called when branch and bound process is about to begin) */
161 /** solving process deinitialization method of constraint handler (called before branch and bound process data is freed) */
176 SCIPdebugMessage("exiting solution process branch orig constraint handler (nconss = %d)\n", SCIPconshdlrGetNConss(conshdlr));
206 SCIPdebugMessage("exiting transformed branch orig constraint handler (nconss = %d)\n", SCIPconshdlrGetNConss(conshdlr));
274 if( (*consdata)->mastercons == NULL && (*consdata)->branchdata != NULL && (*consdata)->branchrule != NULL )
311 SCIPdebugMessage("Activating branch orig constraint: <%s>[stack size: %d].\n", SCIPconsGetName(cons),
318 SCIP_CALL( SCIPreallocBlockMemoryArray(scip, &(conshdlrData->stack), conshdlrData->maxstacksize, newsize) );
319 SCIPdebugMessage("reallocating Memory for stack! %d --> %d\n", conshdlrData->maxstacksize, newsize);
450 SCIP_BRANCHRULE* branchrule, /**< the branching rule that created the b&b node the constraint belongs to */
451 GCG_BRANCHDATA* branchdata /**< branching data storing information about the branching restrictions at the
487 SCIPdebugMessage("Creating branch orig constraint: <%s> (nconss = %d).\n", name, SCIPconshdlrGetNConss(conshdlr));
490 SCIP_CALL( SCIPcreateCons(scip, cons, name, conshdlr, consdata, FALSE, FALSE, FALSE, FALSE, FALSE,
517 SCIP_CALL( SCIPreallocBlockMemoryArray(scip, &(parentdata->childconss), parentdata->maxchildconss, newsize) );
675 /** sets the masterbranch constraint of the node in the master program corresponding to the node
679 SCIP_CONS* cons, /**< origbranch constraint for which the masterbranch constraint should be set */
680 SCIP_CONS* mastercons /**< masterbranch constraint corresponding to the given origbranch constraint */
692 /** returns the masterbranch constraint of the node in the master program corresponding to the node
784 assert(consdata->parentcons == NULL || SCIPconsGetData(consdata->parentcons)->childconss[0] == conss[i]
786 || ( SCIPinProbing(scip) && SCIPconsGetData(consdata->parentcons)->probingtmpcons == conss[i]));
788 assert(consdata->childconss[0] == NULL || SCIPconsGetData(consdata->childconss[0])->parentcons == conss[i]);
790 assert(consdata->childconss[1] == NULL || SCIPconsGetData(consdata->childconss[1])->parentcons == conss[i]);
792 assert(consdata->probingtmpcons == NULL || SCIPconsGetData(consdata->probingtmpcons)->parentcons == conss[i]);
793 assert(consdata->mastercons == NULL || GCGconsMasterbranchGetOrigcons(consdata->mastercons) == conss[i]);
SCIP_NODE * GCGconsOrigbranchGetNode(SCIP_CONS *cons)
Definition: cons_origbranch.c:612
GCG interface methods.
GCG_BRANCHDATA * GCGconsOrigbranchGetBranchdata(SCIP_CONS *cons)
Definition: cons_origbranch.c:585
void GCGconsOrigbranchCheckConsistency(SCIP *scip)
Definition: cons_origbranch.c:751
static SCIP_DECL_CONSENFOPS(consEnfopsOrigbranch)
Definition: cons_origbranch.c:381
SCIP_CONS * GCGconsMasterbranchGetOrigcons(SCIP_CONS *cons)
Definition: cons_masterbranch.c:2468
void GCGconsMasterbranchSetOrigcons(SCIP_CONS *cons, SCIP_CONS *origcons)
Definition: cons_masterbranch.c:2483
SCIP_RETCODE SCIPincludeConshdlrOrigbranch(SCIP *scip)
Definition: cons_origbranch.c:410
SCIP_CONS * GCGconsOrigbranchGetChildcons(SCIP_CONS *cons, int childnr)
Definition: cons_origbranch.c:660
static SCIP_DECL_CONSACTIVE(consActiveOrigbranch)
Definition: cons_origbranch.c:293
void GCGconsOrigbranchSetMastercons(SCIP_CONS *cons, SCIP_CONS *mastercons)
Definition: cons_origbranch.c:678
SCIP_RETCODE GCGbranchGenericCreateBranchdata(SCIP *scip, GCG_BRANCHDATA **branchdata)
Definition: branch_generic.c:2989
SCIP_CONS * GCGconsOrigbranchGetActiveCons(SCIP *scip)
Definition: cons_origbranch.c:529
Definition: cons_masterbranch.c:71
SCIP_RETCODE GCGconsOrigbranchAddRootCons(SCIP *scip)
Definition: cons_origbranch.c:710
SCIP_BRANCHRULE * GCGconsOrigbranchGetBranchrule(SCIP_CONS *cons)
Definition: cons_origbranch.c:598
constraint handler for storing the branching decisions at each node of the tree
static SCIP_DECL_CONSENFOLP(consEnfolpOrigbranch)
Definition: cons_origbranch.c:362
int GCGconsOrigbranchGetNChildconss(SCIP_CONS *cons)
Definition: cons_origbranch.c:645
branching rule based on vanderbeck's generic branching scheme
constraint handler for storing the branching decisions at each node of the tree
SCIP_CONS * GCGconsOrigbranchGetParentcons(SCIP_CONS *cons)
Definition: cons_origbranch.c:628
static SCIP_DECL_CONSINITSOL(consInitsolOrigbranch)
Definition: cons_origbranch.c:132
static SCIP_DECL_CONSDELETE(consDeleteOrigbranch)
Definition: cons_origbranch.c:218
void GCGconsOrigbranchSetBranchdata(SCIP_CONS *cons, GCG_BRANCHDATA *branchdata)
Definition: cons_origbranch.c:571
Definition: cons_decomp.cpp:134
static SCIP_DECL_CONSDEACTIVE(consDeactiveOrigbranch)
Definition: cons_origbranch.c:334
void GCGconsOrigbranchGetStack(SCIP *scip, SCIP_CONS ***stack, int *nstackelements)
Definition: cons_origbranch.c:549
SCIP_RETCODE GCGcreateConsOrigbranch(SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_NODE *node, SCIP_CONS *parentcons, SCIP_BRANCHRULE *branchrule, GCG_BRANCHDATA *branchdata)
Definition: cons_origbranch.c:444
static SCIP_DECL_CONSEXITSOL(consExitsolOrigbranch)
Definition: cons_origbranch.c:163
static SCIP_DECL_CONSENFORELAX(consEnforeOrigbranch)
Definition: cons_origbranch.c:371
Definition: branch_bpstrong.c:109
SCIP_CONS * GCGconsOrigbranchGetMastercons(SCIP_CONS *cons)
Definition: cons_origbranch.c:695