GOBNILP  f164d83
Macros | Functions
cons_distinguishedrep.c File Reference

constraint handler for Markov equivalence class distinguished representative constraints More...

#include <assert.h>
#include <string.h>
#include "cons_distinguishedrep.h"
#include "utils.h"
Include dependency graph for cons_distinguishedrep.c:

Macros

#define consActiveDistinguishedrep   NULL
 constraint activation notification method of constraint handler
 
#define consCopyDistinguishedrep   NULL
 constraint copying method of constraint handler
 
#define consDeactiveDistinguishedrep   NULL
 constraint deactivation notification method of constraint handler
 
#define consDelvarsDistinguishedrep   NULL
 variable deletion of constraint handler
 
#define consDisableDistinguishedrep   NULL
 constraint disabling notification method of constraint handler
 
#define consEnableDistinguishedrep   NULL
 constraint enabling notification method of constraint handler
 
#define consExitDistinguishedrep   NULL
 deinitialization method of constraint handler (called before transformed problem is freed)
 
#define consExitpreDistinguishedrep   NULL
 presolving deinitialization method of constraint handler (called after presolving has been finished)
 
#define consExitsolDistinguishedrep   NULL
 solving process deinitialization method of constraint handler (called before branch and bound process data is freed)
 
#define consFreeDistinguishedrep   NULL
 destructor of constraint handler to free constraint handler data (called when SCIP is exiting)
 
#define consGetDiveBdChgsDistinguishedrep   NULL
 constraint handler method to suggest dive bound changes during the generic diving algorithm
 
#define consGetNVarsDistinguishedrep   NULL
 constraint method of constraint handler which returns the number of variables (if possible)
 
#define consGetVarsDistinguishedrep   NULL
 constraint method of constraint handler which returns the variables (if possible)
 
#define CONSHDLR_CHECKPRIORITY   -90000010
 priority of the constraint handler for checking feasibility
 
#define CONSHDLR_DELAYPROP   FALSE
 should propagation method be delayed, if other propagators found reductions?
 
#define CONSHDLR_DELAYSEPA   FALSE
 should separation method be delayed, if other separators found cuts?
 
#define CONSHDLR_DESC   "constraint handler for distinguished Markov equivalence class representative constraints"
 
#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
 
#define CONSHDLR_ENFOPRIORITY   -9010
 priority of the constraint handler for constraint enforcing
 
#define CONSHDLR_MAXPREROUNDS   -1
 maximal number of presolving rounds the constraint handler participates in (-1: no limit)
 
#define CONSHDLR_NAME   "distinguishedrep"
 
#define CONSHDLR_NEEDSCONS   TRUE
 should the constraint handler be skipped, if no constraints are available?
 
#define CONSHDLR_PRESOLTIMING   SCIP_PRESOLTIMING_MEDIUM
 presolving timing of the constraint handler (fast, medium, or exhaustive)
 
#define CONSHDLR_PROP_TIMING   SCIP_PROPTIMING_BEFORELP
 propagation timing mask of the constraint handler
 
#define CONSHDLR_PROPFREQ   1
 frequency for propagating domains; zero means only preprocessing propagation
 
#define CONSHDLR_SEPAFREQ   -1
 frequency for separating cuts; zero means to separate only in the root node
 
#define CONSHDLR_SEPAPRIORITY   0
 priority of the constraint handler for separation
 
#define conshdlrCopyDistinguishedrep   NULL
 copy method for constraint handler plugins (called when SCIP copies plugins)
 
#define consInitDistinguishedrep   NULL
 initialization method of constraint handler (called after problem was transformed)
 
#define consInitlpDistinguishedrep   NULL
 LP initialization method of constraint handler (called before the initial LP relaxation at a node is solved)
 
#define consInitpreDistinguishedrep   NULL
 presolving initialization method of constraint handler (called when presolving is about to begin)
 
#define consInitsolDistinguishedrep   NULL
 solving process initialization method of constraint handler (called when branch and bound process is about to begin)
 
#define consParseDistinguishedrep   NULL
 constraint parsing method of constraint handler
 
#define consPresolDistinguishedrep   NULL
 presolving method of constraint handler
 
#define consPrintDistinguishedrep   NULL
 constraint display method of constraint handler
 
#define consRespropDistinguishedrep   NULL
 propagation conflict resolving method of constraint handler
 
#define consSepalpDistinguishedrep   NULL
 separation method of constraint handler for LP solutions
 
#define consSepasolDistinguishedrep   NULL
 separation method of constraint handler for arbitrary primal solutions
 
#define consTransDistinguishedrep   NULL
 transforms constraint data into data belonging to the transformed problem
 
#define MAXINITCUTS   0
 

Functions

static SCIP_RETCODE createConsData (SCIP *scip, SCIP_CONSDATA **consdata, ParentSetData *psd)
 Creates the data for a constraint. More...
 
static SCIP_DECL_CONSCHECK (consCheckDistinguishedrep)
 feasibility check method of constraint handler for integral solutions
 
static SCIP_DECL_CONSDELETE (consDeleteDistinguishedrep)
 frees specific constraint data
 
static SCIP_DECL_CONSENFOLP (consEnfolpDistinguishedrep)
 constraint enforcing method of constraint handler for LP solutions
 
static SCIP_DECL_CONSENFOPS (consEnfopsDistinguishedrep)
 constraint enforcing method of constraint handler for pseudo solutions
 
static SCIP_DECL_CONSLOCK (consLockDistinguishedrep)
 variable rounding lock method of constraint handler
 
static SCIP_DECL_CONSPROP (consPropDistinguishedrep)
 domain propagation method of constraint handler
 
SCIP_RETCODE SCIPcreateConsBasicDistinguishedrep (SCIP *scip, SCIP_CONS **cons, const char *name, ParentSetData *psd)
 creates and captures a distinguishedrep constraint with all its constraint flags set to their default values More...
 
SCIP_RETCODE SCIPcreateConsDistinguishedrep (SCIP *scip, SCIP_CONS **cons, const char *name, ParentSetData *psd, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)
 creates and captures a distinguishedrep constraint More...
 
SCIP_RETCODE SCIPincludeConshdlrDistinguishedrep (SCIP *scip)
 creates the handler for distinguishedrep constraints and includes it in SCIP More...
 

Detailed Description

constraint handler for Markov equivalence class distinguished representative constraints

Author
James Cussens

Doxygen documentation for the locally defined structs SCIP_ConsData and SCIP_ConshdlrData is unfortunately not available since structs with the same name are defined in other constraint handlers and Doxygen cannot handle the name clash. You will have to consult the source code to view this documentation.

Function Documentation

◆ createConsData()

static SCIP_RETCODE createConsData ( SCIP *  scip,
SCIP_CONSDATA **  consdata,
ParentSetData psd 
)
static

Creates the data for a constraint.

Parameters
scipThe SCIP instance to which the constraint belongs.
consdataThe location to store the new constraint data.
psdThe parent set data on which the constraint is based.
Returns
SCIP_OKAY if successful, or an appropriate error otherwise.

References conshdlrCopyDistinguishedrep, PS_copyParentSetData(), SCIP_DECL_CONSHDLRCOPY(), and SCIPcreateConsDistinguishedrep().

Here is the call graph for this function:

◆ SCIPcreateConsBasicDistinguishedrep()

SCIP_RETCODE SCIPcreateConsBasicDistinguishedrep ( SCIP *  scip,
SCIP_CONS **  cons,
const char *  name,
ParentSetData psd 
)

creates and captures a distinguishedrep constraint with all its constraint flags set to their default values

Note
the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
Parameters
scipSCIP data structure
conspointer to hold the created constraint
namename of constraint

References SCIPcreateConsDistinguishedrep().

Referenced by addAdditionalConstraints().

Here is the call graph for this function:

◆ SCIPcreateConsDistinguishedrep()

SCIP_RETCODE SCIPcreateConsDistinguishedrep ( SCIP *  scip,
SCIP_CONS **  cons,
const char *  name,
ParentSetData psd,
SCIP_Bool  initial,
SCIP_Bool  separate,
SCIP_Bool  enforce,
SCIP_Bool  check,
SCIP_Bool  propagate,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  dynamic,
SCIP_Bool  removable,
SCIP_Bool  stickingatnode 
)

creates and captures a distinguishedrep constraint

Note
the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
Parameters
scipSCIP data structure
conspointer to hold the created constraint
namename of constraint
initialshould the LP relaxation of constraint be in the initial LP? Usually set to TRUE. Set to FALSE for 'lazy constraints'.
separateshould the constraint be separated during LP processing? Usually set to TRUE.
enforceshould the constraint be enforced during node processing? TRUE for model constraints, FALSE for additional, redundant constraints.
checkshould the constraint be checked for feasibility? TRUE for model constraints, FALSE for additional, redundant constraints.
propagateshould the constraint be propagated during node processing? Usually set to TRUE.
localis constraint only valid locally? Usually set to FALSE. Has to be set to TRUE, e.g., for branching constraints.
modifiableis constraint modifiable (subject to column generation)? Usually set to FALSE. In column generation applications, set to TRUE if pricing adds coefficients to this constraint.
dynamicis constraint subject to aging? Usually set to FALSE. Set to TRUE for own cuts which are separated as constraints.
removableshould the relaxation be removed from the LP due to aging or cleanup? Usually set to FALSE. Set to TRUE for 'lazy constraints' and 'user cuts'.
stickingatnodeshould the constraint always be kept at the node where it was added, even if it may be moved to a more global node? Usually set to FALSE. Set to TRUE to for constraints that represent node data.

Referenced by createConsData(), and SCIPcreateConsBasicDistinguishedrep().

◆ SCIPincludeConshdlrDistinguishedrep()

SCIP_RETCODE SCIPincludeConshdlrDistinguishedrep ( SCIP *  scip)

creates the handler for distinguishedrep constraints and includes it in SCIP

Parameters
scipSCIP data structure

Referenced by addAdditionalConstraints().