cons_masterbranch.c File Reference

Detailed Description

constraint handler for storing the branching decisions at each node of the tree

Author
Gerald Gamrath
Martin Bergner
Christian Puchert
Marcel Schmickerath

Definition in file cons_masterbranch.c.

#include <assert.h>
#include <string.h>
#include "gcg.h"
#include "branch_generic.h"
#include "cons_masterbranch.h"
#include "cons_origbranch.h"
#include "relax_gcg.h"
#include "pricer_gcg.h"
#include "scip/cons_linear.h"

Go to the source code of this file.

Macros

#define CONSHDLR_NAME   "masterbranch"
 
#define CONSHDLR_DESC   "store branching decision at nodes of the tree constraint handler"
 
#define CONSHDLR_ENFOPRIORITY   0
 
#define CONSHDLR_CHECKPRIORITY   2000000
 
#define CONSHDLR_PROPFREQ   1
 
#define CONSHDLR_EAGERFREQ   100
 
#define CONSHDLR_DELAYPROP   FALSE
 
#define CONSHDLR_NEEDSCONS   TRUE
 
#define CONSHDLR_PROPTIMING   SCIP_PROPTIMING_ALWAYS
 
#define EVENTHDLR_NAME   "origvarbound"
 
#define EVENTHDLR_DESC   "event handler for bound changes on original variables"
 

Functions

static SCIP_RETCODE initializeConsdata (SCIP *scip, SCIP_CONS *cons)
 
static SCIP_RETCODE addPendingBndChg (SCIP *scip, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_Real oldbound, SCIP_Real newbound)
 
static SCIP_Bool checkAggregatedGlobalBounds (SCIP *scip, SCIP_VAR *bndvar, SCIP_BOUNDTYPE bndtype, SCIP_Real bound)
 
static SCIP_RETCODE applyGlobalBndchgsToPricingprobs (SCIP *scip)
 
static SCIP_RETCODE applyGlobalBndchgsToPricedMastervars (SCIP *scip, int *propcount)
 
static SCIP_RETCODE resetPricingVarBound (SCIP *scip, SCIP_VAR *pricingvar, SCIP_CONSDATA *consdata, int i, int blocknr)
 
static SCIP_RETCODE tightenPricingVarBound (SCIP *scip, SCIP_VAR *pricingvar, SCIP_CONSDATA *consdata, int i, int blocknr)
 
static SCIP_Bool checkAggregatedLocalBounds (SCIP *scip, SCIP_VAR **bndvars, SCIP_Real *bounds, int nbndvars, SCIP_VAR *bndvar, SCIP_BOUNDTYPE bndtype, SCIP_VAR *pricingvar)
 
static SCIP_RETCODE applyLocalBndchgsToPricingprobs (SCIP *scip, SCIP_CONS *cons)
 
static SCIP_RETCODE undoLocalBndchgsToPricingprobs (SCIP *scip, SCIP_CONS *cons)
 
static SCIP_RETCODE applyLocalBndchgsToPricedMastervars (SCIP *scip, SCIP_CONS *cons, int *propcount)
 
static SCIP_RETCODE applyLocalBndchgsToCopiedMastervars (SCIP *scip, SCIP_CONS *cons, int *propcount)
 
static SCIP_DECL_CONSFREE (consFreeMasterbranch)
 
static SCIP_DECL_CONSINIT (consInitMasterbranch)
 
static SCIP_DECL_CONSINITSOL (consInitsolMasterbranch)
 
static SCIP_DECL_CONSEXIT (consExitMasterbranch)
 
static SCIP_DECL_CONSACTIVE (consActiveMasterbranch)
 
static SCIP_DECL_CONSDEACTIVE (consDeactiveMasterbranch)
 
static SCIP_DECL_CONSDELETE (consDeleteMasterbranch)
 
static SCIP_DECL_CONSPROP (consPropMasterbranch)
 
static SCIP_DECL_CONSENFOLP (consEnfolpMasterbranch)
 
static SCIP_DECL_CONSENFOPS (consEnfopsMasterbranch)
 
static SCIP_DECL_CONSCHECK (consCheckMasterbranch)
 
static SCIP_DECL_CONSLOCK (consLockMasterbranch)
 
static SCIP_DECL_EVENTINITSOL (eventInitsolOrigvarbound)
 
static SCIP_DECL_EVENTEXEC (eventExecOrigvarbound)
 
SCIP_RETCODE SCIPincludeConshdlrMasterbranch (SCIP *scip)
 
SCIP_RETCODE GCGcreateConsMasterbranch (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_NODE *node, SCIP_CONS *parentcons, SCIP_BRANCHRULE *branchrule, GCG_BRANCHDATA *branchdata, SCIP_CONS **origbranchconss, int norigbranchconss)
 
char * GCGconsMasterbranchGetName (SCIP_CONS *cons)
 
SCIP_NODE * GCGconsMasterbranchGetNode (SCIP_CONS *cons)
 
SCIP_CONS * GCGconsMasterbranchGetParentcons (SCIP_CONS *cons)
 
int GCGconsMasterbranchGetNChildconss (SCIP_CONS *cons)
 
SCIP_CONS * GCGconsMasterbranchGetChildcons (SCIP_CONS *cons, int childnr)
 
SCIP_CONS * GCGconsMasterbranchGetOrigcons (SCIP_CONS *cons)
 
void GCGconsMasterbranchSetOrigcons (SCIP_CONS *cons, SCIP_CONS *origcons)
 
GCG_BRANCHDATAGCGconsMasterbranchGetBranchdata (SCIP_CONS *cons)
 
SCIP_BRANCHRULE * GCGconsMasterbranchGetBranchrule (SCIP_CONS *cons)
 
SCIP_RETCODE GCGconsMasterbranchAddCopiedVarBndchg (SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, GCG_BOUNDTYPE boundtype, SCIP_Real newbound)
 
SCIP_CONS ** GCGconsMasterbranchGetOrigbranchConss (SCIP_CONS *cons)
 
int GCGconsMasterbranchGetNOrigbranchConss (SCIP_CONS *cons)
 
SCIP_RETCODE GCGconsMasterbranchReleaseOrigbranchConss (SCIP *masterscip, SCIP *origscip, SCIP_CONS *cons)
 
SCIP_CONS * GCGconsMasterbranchGetActiveCons (SCIP *scip)
 
void GCGconsMasterbranchGetStack (SCIP *scip, SCIP_CONS ***stack, int *nstackelements)
 
int GCGconsMasterbranchGetNStackelements (SCIP *scip)
 
SCIP_RETCODE GCGconsMasterbranchAddRootCons (SCIP *scip)
 
SCIP_Bool GCGcurrentNodeIsGeneric (SCIP *scip)
 
void GCGconsMasterbranchCheckConsistency (SCIP *scip)
 

Macro Definition Documentation

#define CONSHDLR_CHECKPRIORITY   2000000

priority of the constraint handler for checking feasibility

Definition at line 57 of file cons_masterbranch.c.

Referenced by SCIPincludeConshdlrMasterbranch().

#define CONSHDLR_DELAYPROP   FALSE

should propagation method be delayed, if other propagators found reductions?

Definition at line 62 of file cons_masterbranch.c.

Referenced by SCIPincludeConshdlrMasterbranch().

#define CONSHDLR_DESC   "store branching decision at nodes of the tree constraint handler"

Definition at line 55 of file cons_masterbranch.c.

Referenced by SCIPincludeConshdlrMasterbranch().

#define CONSHDLR_EAGERFREQ   100

frequency for using all instead of only the useful constraints in separation, propagation and enforcement, -1 for no eager evaluations, 0 for first only

Definition at line 59 of file cons_masterbranch.c.

Referenced by SCIPincludeConshdlrMasterbranch().

#define CONSHDLR_ENFOPRIORITY   0

priority of the constraint handler for constraint enforcing

Definition at line 56 of file cons_masterbranch.c.

Referenced by SCIPincludeConshdlrMasterbranch().

#define CONSHDLR_NEEDSCONS   TRUE

should the constraint handler be skipped, if no constraints are available?

Definition at line 63 of file cons_masterbranch.c.

Referenced by SCIPincludeConshdlrMasterbranch().

#define CONSHDLR_PROPFREQ   1

frequency for propagating domains; zero means only preprocessing propagation

Definition at line 58 of file cons_masterbranch.c.

Referenced by SCIPincludeConshdlrMasterbranch().

#define CONSHDLR_PROPTIMING   SCIP_PROPTIMING_ALWAYS

Definition at line 64 of file cons_masterbranch.c.

Referenced by SCIPincludeConshdlrMasterbranch().

#define EVENTHDLR_DESC   "event handler for bound changes on original variables"

Definition at line 67 of file cons_masterbranch.c.

Referenced by SCIPincludeConshdlrMasterbranch().

#define EVENTHDLR_NAME   "origvarbound"

Definition at line 66 of file cons_masterbranch.c.

Referenced by SCIPincludeConshdlrMasterbranch().

Function Documentation

static SCIP_RETCODE addPendingBndChg ( SCIP *  scip,
SCIP_VAR *  var,
SCIP_BOUNDTYPE  boundtype,
SCIP_Real  oldbound,
SCIP_Real  newbound 
)
static

add a global bound change on the original problem to the pending bound changes array

Definition at line 335 of file cons_masterbranch.c.

References checkAggregatedGlobalBounds(), and CONSHDLR_NAME.

Referenced by initializeConsdata(), and SCIP_DECL_EVENTEXEC().

static SCIP_RETCODE applyGlobalBndchgsToPricedMastervars ( SCIP *  scip,
int *  propcount 
)
static
static SCIP_RETCODE applyGlobalBndchgsToPricingprobs ( SCIP *  scip)
static

apply global bound changes on original problem variables either to their copies in the master problem and/or to the corresponding pricing problem variables

Definition at line 433 of file cons_masterbranch.c.

References applyGlobalBndchgsToPricedMastervars(), checkAggregatedGlobalBounds(), CONSHDLR_NAME, GCGgetPricingprob(), GCGisMaster(), GCGmasterGetOrigprob(), GCGvarGetBlock(), GCGvarIsMaster(), and GCGvarIsPricing().

Referenced by checkAggregatedGlobalBounds(), and SCIP_DECL_CONSACTIVE().

static SCIP_RETCODE applyLocalBndchgsToCopiedMastervars ( SCIP *  scip,
SCIP_CONS *  cons,
int *  propcount 
)
static

apply local bound changes on original variables that have been directly copied to the master problem

Todo:
this might lead to an error with linking variables ?
Parameters
scipSCIP data structure
conscurrent masterbranch constraint
propcountnumber of applied bound changes

Definition at line 1266 of file cons_masterbranch.c.

References GCGoriginalVarGetMastervars(), GCGoriginalVarGetNMastervars(), GCGvarGetBlock(), GCGvarIsOriginal(), and SCIP_DECL_CONSFREE().

Referenced by applyLocalBndchgsToPricedMastervars(), and SCIP_DECL_CONSPROP().

static SCIP_RETCODE applyLocalBndchgsToPricedMastervars ( SCIP *  scip,
SCIP_CONS *  cons,
int *  propcount 
)
static

apply local bound changes on the original variables on newly generated master variables

Todo:
check if this really works with linking variables
Parameters
scipSCIP data structure
conscurrent masterbranch constraint
propcountnumber of applied bound changes

Definition at line 1098 of file cons_masterbranch.c.

References applyLocalBndchgsToCopiedMastervars(), CONSHDLR_NAME, GCGgetNPricingprobs(), GCGisLinkingVarInBlock(), GCGisMaster(), GCGmasterGetNPricedvars(), GCGmasterGetOrigprob(), GCGmasterGetPricedvars(), GCGmasterVarGetNOrigvars(), GCGmasterVarGetOrigvals(), GCGmasterVarGetOrigvars(), GCGoriginalVarIsLinking(), GCGvarGetBlock(), GCGvarIsMaster(), GCGvarIsOriginal(), and SCIP_ConsData::nlocalbndchgs.

Referenced by SCIP_DECL_CONSPROP(), and undoLocalBndchgsToPricingprobs().

static SCIP_RETCODE applyLocalBndchgsToPricingprobs ( SCIP *  scip,
SCIP_CONS *  cons 
)
static
static SCIP_Bool checkAggregatedGlobalBounds ( SCIP *  scip,
SCIP_VAR *  bndvar,
SCIP_BOUNDTYPE  bndtype,
SCIP_Real  bound 
)
static

For a given global bound change on a pricing variable, check if the global bounds on all corresponding original variables are still the same

Returns
TRUE if the variable is in a relevant block AND all variables identical to it have the same bounds
Parameters
scipSCIP data structure
bndvarpricing variable whose new global bound is to be checked
bndtypetype of the new global bound
boundnew global bound

Definition at line 388 of file cons_masterbranch.c.

References applyGlobalBndchgsToPricingprobs(), GCGpricingVarGetNOrigvars(), GCGpricingVarGetOrigvars(), and GCGvarIsPricing().

Referenced by addPendingBndChg(), and applyGlobalBndchgsToPricingprobs().

static SCIP_Bool checkAggregatedLocalBounds ( SCIP *  scip,
SCIP_VAR **  bndvars,
SCIP_Real *  bounds,
int  nbndvars,
SCIP_VAR *  bndvar,
SCIP_BOUNDTYPE  bndtype,
SCIP_VAR *  pricingvar 
)
static

For a given local bound change on an original variable, check if the bounds on the variables identical to it are the same

Note
If the variable is represented by another one, we check only the representative; otherwise, we check all variables identical to it
Returns
TRUE if the variable is in a relevant block AND all variables identical to it have the same bounds
Parameters
scipSCIP data structure
bndvarsall variables whose local bounds were changed
boundscorresponding new local bounds
nbndvarsnumber of all variables whose local bounds were changed
bndvaroriginal variable whose local bound was changed and which is to be checked
bndtypetype of the new local bound
pricingvarpricing variable corresponding to the original variable

Definition at line 825 of file cons_masterbranch.c.

References applyLocalBndchgsToPricingprobs(), GCGoriginalVarGetPricingVar(), GCGpricingVarGetNOrigvars(), GCGpricingVarGetOrigvars(), GCGvarGetBlock(), GCGvarIsOriginal(), and GCGvarIsPricing().

Referenced by applyLocalBndchgsToPricingprobs(), and tightenPricingVarBound().

SCIP_RETCODE GCGconsMasterbranchAddCopiedVarBndchg ( SCIP *  scip,
SCIP_CONS *  cons,
SCIP_VAR *  var,
GCG_BOUNDTYPE  boundtype,
SCIP_Real  newbound 
)

adds a bound change on an original variable that was directly copied to the master problem

Parameters
scipSCIP data structure
consmasterbranch constraint to which the bound change is added
varvariable on which the bound change was performed
boundtypebound type of the bound change
newboundnew bound of the variable after the bound change

Definition at line 2337 of file cons_masterbranch.c.

References GCGconsMasterbranchGetOrigbranchConss(), and GCGisMaster().

Referenced by applyOriginalBranching(), and GCGconsMasterbranchGetBranchrule().

SCIP_RETCODE GCGconsMasterbranchAddRootCons ( SCIP *  scip)

adds initial constraint to root node

Parameters
scipSCIP data structure

Definition at line 2508 of file cons_masterbranch.c.

References CONSHDLR_NAME, and GCGcurrentNodeIsGeneric().

Referenced by GCGconsMasterbranchGetNStackelements(), SCIP_DECL_PRICERFARKAS(), and SCIP_DECL_PRICERREDCOST().

void GCGconsMasterbranchCheckConsistency ( SCIP *  scip)

checks the consistency of the masterbranch constraints in the problem

Parameters
scipSCIP data structure

Definition at line 2559 of file cons_masterbranch.c.

References CONSHDLR_NAME, GCGconsOrigbranchGetMastercons(), and GCGconsOrigbranchGetParentcons().

Referenced by GCGcurrentNodeIsGeneric(), and SCIP_DECL_NODESELSELECT().

GCG_BRANCHDATA* GCGconsMasterbranchGetBranchdata ( SCIP_CONS *  cons)
SCIP_BRANCHRULE* GCGconsMasterbranchGetBranchrule ( SCIP_CONS *  cons)
SCIP_CONS* GCGconsMasterbranchGetChildcons ( SCIP_CONS *  cons,
int  childnr 
)

returns a masterbranch constraint of a child of the node at which the given masterbranch constraint is sticking

Parameters
consconstraint pointer
childnrindex of the child node

Definition at line 2262 of file cons_masterbranch.c.

References GCGconsMasterbranchGetOrigcons().

Referenced by checkchildconsS(), createBranchNodesInOrigprob(), and GCGconsMasterbranchGetNChildconss().

char* GCGconsMasterbranchGetName ( SCIP_CONS *  cons)

returns the name of the constraint

Parameters
consmasterbranch constraint for which the data is requested

Definition at line 2204 of file cons_masterbranch.c.

References GCGconsMasterbranchGetNode().

Referenced by createOrigbranchConstraint(), and GCGcreateConsMasterbranch().

int GCGconsMasterbranchGetNChildconss ( SCIP_CONS *  cons)

returns the number of masterbranch constraints of the children of the node at which the given masterbranch constraint is sticking

Parameters
consconstraint pointer

Definition at line 2247 of file cons_masterbranch.c.

References GCGconsMasterbranchGetChildcons().

Referenced by checkchildconsS(), createBranchNodesInOrigprob(), and GCGconsMasterbranchGetParentcons().

SCIP_NODE* GCGconsMasterbranchGetNode ( SCIP_CONS *  cons)

returns the node in the B&B tree at which the given masterbranch constraint is sticking

Parameters
consconstraint pointer

Definition at line 2217 of file cons_masterbranch.c.

References GCGconsMasterbranchGetParentcons().

Referenced by createBranchNodesInOrigprob(), GCGconsMasterbranchGetName(), GCGcurrentNodeIsGeneric(), and SCIP_DECL_NODESELSELECT().

int GCGconsMasterbranchGetNOrigbranchConss ( SCIP_CONS *  cons)

returns the number of constraints in the original problem that enforce the branching decision

Parameters
consmasterbranch constraint for which the data is requested

Definition at line 2394 of file cons_masterbranch.c.

References GCGconsMasterbranchReleaseOrigbranchConss().

Referenced by createOrigbranchConstraint(), and GCGconsMasterbranchGetOrigbranchConss().

int GCGconsMasterbranchGetNStackelements ( SCIP *  scip)

returns the number of elements on the stack

Parameters
scipSCIP data structure

Definition at line 2489 of file cons_masterbranch.c.

References CONSHDLR_NAME, and GCGconsMasterbranchAddRootCons().

Referenced by GCGconsMasterbranchGetStack().

SCIP_CONS** GCGconsMasterbranchGetOrigbranchConss ( SCIP_CONS *  cons)

returns the constraints in the original problem that enforce the branching decision

Parameters
consmasterbranch constraint for which the data is requested

Definition at line 2381 of file cons_masterbranch.c.

References GCGconsMasterbranchGetNOrigbranchConss().

Referenced by createOrigbranchConstraint(), and GCGconsMasterbranchAddCopiedVarBndchg().

SCIP_CONS* GCGconsMasterbranchGetOrigcons ( SCIP_CONS *  cons)

returns the origbranch constraint of the node in the original program corresponding to the node at which the given masterbranch constraint is sticking

Parameters
consconstraint pointer

Definition at line 2281 of file cons_masterbranch.c.

References GCGconsMasterbranchSetOrigcons().

Referenced by GCGconsMasterbranchGetChildcons(), GCGconsOrigbranchCheckConsistency(), and SCIP_DECL_CONSDELETE().

SCIP_CONS* GCGconsMasterbranchGetParentcons ( SCIP_CONS *  cons)

returns the masterbranch constraint of the B&B father of the node at which the given masterbranch constraint is sticking

Parameters
consconstraint pointer

Definition at line 2232 of file cons_masterbranch.c.

References GCGconsMasterbranchGetNChildconss().

Referenced by GCGbranchGenericInitbranch(), GCGconsMasterbranchGetNode(), pruneChildNodeByDominanceGeneric(), and SCIP_DECL_EVENTEXEC().

void GCGconsMasterbranchGetStack ( SCIP *  scip,
SCIP_CONS ***  stack,
int *  nstackelements 
)

returns the stack and the number of elements on it

Parameters
scipSCIP data structure
stackreturn value: pointer to the stack
nstackelementsreturn value: pointer to int, for number of elements on the stack

Definition at line 2467 of file cons_masterbranch.c.

References CONSHDLR_NAME, and GCGconsMasterbranchGetNStackelements().

Referenced by GCGconsMasterbranchGetActiveCons().

SCIP_RETCODE GCGconsMasterbranchReleaseOrigbranchConss ( SCIP *  masterscip,
SCIP *  origscip,
SCIP_CONS *  cons 
)

releases the constraints in the original problem that enforce the branching decision and frees the array holding the constraints

Parameters
masterscipmaster problem SCIP instance
origsciporiginal SCIP instance
consmasterbranch constraint for which the data is freed

Definition at line 2409 of file cons_masterbranch.c.

References GCGconsMasterbranchGetActiveCons(), GCGisMaster(), and GCGisOriginal().

Referenced by createOrigbranchConstraint(), GCGconsMasterbranchGetNOrigbranchConss(), and SCIP_DECL_CONSDELETE().

void GCGconsMasterbranchSetOrigcons ( SCIP_CONS *  cons,
SCIP_CONS *  origcons 
)

sets the origbranch constraint of the node in the master program corresponding to the node at which the given masterbranchbranch constraint is sticking

Parameters
consconstraint pointer
origconsoriginal branching constraint

Definition at line 2296 of file cons_masterbranch.c.

References GCGconsMasterbranchGetBranchdata(), and SCIP_ConsData::origcons.

Referenced by createOrigbranchConstraint(), GCGconsMasterbranchGetOrigcons(), and SCIP_DECL_CONSDELETE().

SCIP_RETCODE GCGcreateConsMasterbranch ( SCIP *  scip,
SCIP_CONS **  cons,
const char *  name,
SCIP_NODE *  node,
SCIP_CONS *  parentcons,
SCIP_BRANCHRULE *  branchrule,
GCG_BRANCHDATA branchdata,
SCIP_CONS **  origbranchconss,
int  norigbranchconss 
)

creates and captures a masterbranch constraint

Parameters
scipSCIP data structure
conspointer to hold the created constraint
namename of the constraint
nodenode at which the constraint should be created
parentconsparent constraint
branchrulepointer to the branching rule
branchdatabranching data
origbranchconssoriginal constraints enforcing the branching decision
norigbranchconssnumber of original constraints

Definition at line 2099 of file cons_masterbranch.c.

References SCIP_ConsData::branchdata, SCIP_ConsData::branchrule, CONSHDLR_NAME, GCGconsMasterbranchGetName(), GCGmasterGetOrigprob(), SCIP_ConsData::name, SCIP_ConsData::node, SCIP_ConsData::norigbranchconss, SCIP_ConsData::origbranchconss, and SCIP_ConsData::parentcons.

Referenced by branchDirectlyOnMastervar(), branchVar(), createChildNodesGeneric(), createChildNodesRyanfoster(), GCGrelaxNewProbingnodeMaster(), SCIP_DECL_CONSINITSOL(), and SCIPincludeConshdlrMasterbranch().

SCIP_Bool GCGcurrentNodeIsGeneric ( SCIP *  scip)
static SCIP_RETCODE initializeConsdata ( SCIP *  scip,
SCIP_CONS *  cons 
)
static
static SCIP_RETCODE resetPricingVarBound ( SCIP *  scip,
SCIP_VAR *  pricingvar,
SCIP_CONSDATA *  consdata,
int  i,
int  blocknr 
)
static

reset bound changes on pricing variables (called when a node is deactivated)

Parameters
scipSCIP data structure
pricingvarvariable on which the bound change should be performed
consdataconstraint data structure
iindex of the information in the constraint data structure
blocknrnumber of the pricing problem

Definition at line 674 of file cons_masterbranch.c.

References GCGgetNIdenticalBlocks(), GCGgetNPricingprobs(), GCGgetPricingprob(), GCGmasterGetOrigprob(), and tightenPricingVarBound().

Referenced by applyGlobalBndchgsToPricedMastervars(), and undoLocalBndchgsToPricingprobs().

static SCIP_DECL_CONSACTIVE ( consActiveMasterbranch  )
static
static SCIP_DECL_CONSCHECK ( consCheckMasterbranch  )
static

check method for solutions

Definition at line 1828 of file cons_masterbranch.c.

References SCIP_DECL_CONSLOCK().

Referenced by SCIP_DECL_CONSENFOPS().

static SCIP_DECL_CONSDEACTIVE ( consDeactiveMasterbranch  )
static

constraint deactivation notification method of constraint handler

Definition at line 1521 of file cons_masterbranch.c.

References CONSHDLR_NAME, GCGmasterGetNPricedvars(), GCGmasterGetOrigprob(), GCGrelaxBranchDeactiveMaster(), SCIP_DECL_CONSDELETE(), and undoLocalBndchgsToPricingprobs().

Referenced by SCIP_DECL_CONSACTIVE().

static SCIP_DECL_CONSENFOLP ( consEnfolpMasterbranch  )
static

enforcement method for LP solutions

Definition at line 1810 of file cons_masterbranch.c.

References SCIP_DECL_CONSENFOPS().

Referenced by SCIP_DECL_CONSPROP().

static SCIP_DECL_CONSENFOPS ( consEnfopsMasterbranch  )
static

enforcement method for pseudo solutions

Definition at line 1819 of file cons_masterbranch.c.

References SCIP_DECL_CONSCHECK().

Referenced by SCIP_DECL_CONSENFOLP().

static SCIP_DECL_CONSEXIT ( consExitMasterbranch  )
static

deinitialization method of constraint handler (called before transformed problem is freed)

Definition at line 1403 of file cons_masterbranch.c.

References CONSHDLR_NAME, and SCIP_DECL_CONSACTIVE().

Referenced by SCIP_DECL_CONSINITSOL().

static SCIP_DECL_CONSFREE ( consFreeMasterbranch  )
static

destructor of constraint handler to free constraint handler data (called when SCIP is exiting)

Definition at line 1327 of file cons_masterbranch.c.

References CONSHDLR_NAME, and SCIP_DECL_CONSINIT().

Referenced by applyLocalBndchgsToCopiedMastervars().

static SCIP_DECL_CONSINIT ( consInitMasterbranch  )
static

initialization method of constraint handler (called after problem was transformed)

Definition at line 1348 of file cons_masterbranch.c.

References CONSHDLR_NAME, and SCIP_DECL_CONSINITSOL().

Referenced by SCIP_DECL_CONSFREE().

static SCIP_DECL_CONSINITSOL ( consInitsolMasterbranch  )
static

solving process initialization method of constraint handler (called when branch and bound process is about to begin)

Definition at line 1378 of file cons_masterbranch.c.

References CONSHDLR_NAME, GCGconsOrigbranchGetActiveCons(), GCGconsOrigbranchSetMastercons(), GCGcreateConsMasterbranch(), GCGmasterGetOrigprob(), and SCIP_DECL_CONSEXIT().

Referenced by SCIP_DECL_CONSINIT().

static SCIP_DECL_CONSLOCK ( consLockMasterbranch  )
static

variable lock method

Definition at line 1837 of file cons_masterbranch.c.

References SCIP_DECL_EVENTINITSOL().

Referenced by SCIP_DECL_CONSCHECK().

static SCIP_DECL_CONSPROP ( consPropMasterbranch  )
static
static SCIP_DECL_EVENTINITSOL ( eventInitsolOrigvarbound  )
static

solving process initialization method of event handler (called when branch and bound process is about to begin)

Definition at line 1849 of file cons_masterbranch.c.

References SCIP_DECL_EVENTEXEC().

Referenced by SCIP_DECL_CONSLOCK().

SCIP_RETCODE SCIPincludeConshdlrMasterbranch ( SCIP *  scip)
static SCIP_RETCODE tightenPricingVarBound ( SCIP *  scip,
SCIP_VAR *  pricingvar,
SCIP_CONSDATA *  consdata,
int  i,
int  blocknr 
)
static

perform bound changes on pricing variables (called when a node is activated)

Parameters
scipSCIP data structure
pricingvarvariable on which the bound change should be performed
consdataconstraint data structure
iindex of the information in the constraint data structure
blocknrnumber of the pricing problem

Definition at line 762 of file cons_masterbranch.c.

References checkAggregatedLocalBounds(), GCGgetNPricingprobs(), GCGgetPricingprob(), and GCGmasterGetOrigprob().

Referenced by applyLocalBndchgsToPricingprobs(), and resetPricingVarBound().

static SCIP_RETCODE undoLocalBndchgsToPricingprobs ( SCIP *  scip,
SCIP_CONS *  cons 
)
static