Scippy

SCIP

Solving Constraint Integer Programs

event_shadowtree.h File Reference
#include "scip/def.h"
#include "scip/type_scip.h"
#include "scip/type_event.h"
#include "scip/type_tree.h"
#include "scip/type_var.h"
#include "scip/type_misc.h"

Go to the source code of this file.

Data Structures

struct  SCIP_ShadowBoundUpdate
 
struct  SCIP_ShadowNode
 
struct  SCIP_ShadowTree
 

Typedefs

typedef struct SCIP_ShadowBoundUpdate SCIP_SHADOWBOUNDUPDATE
 
typedef struct SCIP_ShadowNode SCIP_SHADOWNODE
 
typedef struct SCIP_ShadowTree SCIP_SHADOWTREE
 

Functions

SCIP_Real SCIPgetShadowTreeEventHandlerExecutionTime (SCIP *scip, SCIP_EVENTHDLR *eventhdlr)
 
SCIP_SHADOWNODESCIPshadowTreeGetShadowNodeFromNodeNumber (SCIP_SHADOWTREE *shadowtree, SCIP_Longint nodeno)
 
SCIP_SHADOWNODESCIPshadowTreeGetShadowNode (SCIP_SHADOWTREE *shadowtree, SCIP_NODE *node)
 
SCIP_SHADOWTREESCIPgetShadowTree (SCIP_EVENTHDLR *eventhdlr)
 
SCIP_RETCODE SCIPactivateShadowTree (SCIP *scip, SCIP_EVENTHDLR *eventhdlr)
 
SCIP_RETCODE SCIPincludeEventHdlrShadowTree (SCIP *scip, SCIP_EVENTHDLR **eventhdlrptr)
 

Typedef Documentation

◆ SCIP_SHADOWBOUNDUPDATE

Definition at line 62 of file event_shadowtree.h.

◆ SCIP_SHADOWNODE

Definition at line 81 of file event_shadowtree.h.

◆ SCIP_SHADOWTREE

Definition at line 88 of file event_shadowtree.h.

Function Documentation

◆ SCIPgetShadowTreeEventHandlerExecutionTime()

SCIP_Real SCIPgetShadowTreeEventHandlerExecutionTime ( SCIP scip,
SCIP_EVENTHDLR eventhdlr 
)

get the time spent in the shadow tree eventhdlr

Parameters
scipSCIP data structure
eventhdlrevent handler

Definition at line 123 of file event_shadowtree.c.

References NULL, SCIPeventhdlrGetData(), and SCIPgetClockTime().

Referenced by SCIP_DECL_TABLEOUTPUT().

◆ SCIPshadowTreeGetShadowNodeFromNodeNumber()

SCIP_SHADOWNODE* SCIPshadowTreeGetShadowNodeFromNodeNumber ( SCIP_SHADOWTREE shadowtree,
SCIP_Longint  nodeid 
)

given a node number, returns the node in the shadow tree, or NULL if it doesn't exist

Parameters
shadowtreepointer to the shadow tree
nodeidindex of the node, equivalent to the standard branch and bound tree

Definition at line 141 of file event_shadowtree.c.

References SCIP_ShadowNode::nodeid, SCIP_ShadowTree::nodemap, NULL, and SCIPhashtableRetrieve().

Referenced by SCIPshadowTreeGetShadowNode().

◆ SCIPshadowTreeGetShadowNode()

SCIP_SHADOWNODE* SCIPshadowTreeGetShadowNode ( SCIP_SHADOWTREE shadowtree,
SCIP_NODE node 
)

given a node, returns the node in the shadowtree, or NULL if it doesn't exist

Parameters
shadowtreepointer to the shadow tree
nodenode from the actual branch-and-bound tree

Definition at line 158 of file event_shadowtree.c.

References NULL, SCIPnodeGetNumber(), and SCIPshadowTreeGetShadowNodeFromNodeNumber().

Referenced by identifyOrbitalSymmetriesBroken(), SCIP_DECL_EVENTEXEC(), shadowtreeFillNodeDepthBranchIndices(), and shadowtreeUndoNodeDepthBranchIndices().

◆ SCIPgetShadowTree()

SCIP_SHADOWTREE* SCIPgetShadowTree ( SCIP_EVENTHDLR eventhdlr)

gets the shadow tree

Parameters
eventhdlrevent handler

Definition at line 624 of file event_shadowtree.c.

References EVENTHDLR_NAME, NULL, SCIPeventhdlrGetData(), and SCIPeventhdlrGetName().

Referenced by identifyOrbitalSymmetriesBroken(), and SCIPlexicographicReductionPropagate().

◆ SCIPactivateShadowTree()

SCIP_RETCODE SCIPactivateShadowTree ( SCIP scip,
SCIP_EVENTHDLR eventhdlr 
)

activates shadow tree eventhandler if it is not already activated (which keeps a copy of the tree)

Parameters
scipSCIP data structure
eventhdlrevent handler

Definition at line 639 of file event_shadowtree.c.

References EVENTHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPeventhdlrGetData(), SCIPeventhdlrGetName(), and TRUE.

Referenced by identifyOrbitalSymmetriesBroken(), and lexdataCreate().

◆ SCIPincludeEventHdlrShadowTree()

SCIP_RETCODE SCIPincludeEventHdlrShadowTree ( SCIP scip,
SCIP_EVENTHDLR **  eventhdlrptr 
)

creates event handler for event

Parameters
scipSCIP data structure
eventhdlrptrpointer to store the event handler

Definition at line 663 of file event_shadowtree.c.

References EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPcreateClock(), SCIPincludeEventhdlrBasic(), SCIPsetEventhdlrExitsol(), SCIPsetEventhdlrFree(), and SCIPsetEventhdlrInitsol().

Referenced by SCIPincludePropSymmetry().