type_event.h
Go to the documentation of this file.
41 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
67 #define SCIP_EVENTTYPE_DISABLED UINT64_C(0x000000000) /**< the event was disabled and has no effect any longer */
70 #define SCIP_EVENTTYPE_VARADDED UINT64_C(0x000000001) /**< a variable has been added to the transformed problem */
71 #define SCIP_EVENTTYPE_VARDELETED UINT64_C(0x000000002) /**< a variable will be deleted from the transformed problem */
72 #define SCIP_EVENTTYPE_VARFIXED UINT64_C(0x000000004) /**< a variable has been fixed, aggregated, or multi-aggregated */
73 #define SCIP_EVENTTYPE_VARUNLOCKED UINT64_C(0x000000008) /**< the number of rounding locks of a variable was reduced to zero or one */
74 #define SCIP_EVENTTYPE_OBJCHANGED UINT64_C(0x000000010) /**< the objective value of a variable has been changed */
75 #define SCIP_EVENTTYPE_GLBCHANGED UINT64_C(0x000000020) /**< the global lower bound of a variable has been changed */
76 #define SCIP_EVENTTYPE_GUBCHANGED UINT64_C(0x000000040) /**< the global upper bound of a variable has been changed */
77 #define SCIP_EVENTTYPE_LBTIGHTENED UINT64_C(0x000000080) /**< the local lower bound of a variable has been increased */
78 #define SCIP_EVENTTYPE_LBRELAXED UINT64_C(0x000000100) /**< the local lower bound of a variable has been decreased */
79 #define SCIP_EVENTTYPE_UBTIGHTENED UINT64_C(0x000000200) /**< the local upper bound of a variable has been decreased */
80 #define SCIP_EVENTTYPE_UBRELAXED UINT64_C(0x000000400) /**< the local upper bound of a variable has been increased */
81 #define SCIP_EVENTTYPE_GHOLEADDED UINT64_C(0x000000800) /**< a global hole has been added to the hole list of a variable's domain */
82 #define SCIP_EVENTTYPE_GHOLEREMOVED UINT64_C(0x000001000) /**< a global hole has been removed from the hole list of a variable's domain */
83 #define SCIP_EVENTTYPE_LHOLEADDED UINT64_C(0x000002000) /**< a local hole has been added to the hole list of a variable's domain */
84 #define SCIP_EVENTTYPE_LHOLEREMOVED UINT64_C(0x000004000) /**< a local hole has been removed from the hole list of a variable's domain */
85 #define SCIP_EVENTTYPE_IMPLADDED UINT64_C(0x000008000) /**< the variable's implication list, variable bound or clique information was extended */
86 #define SCIP_EVENTTYPE_TYPECHANGED UINT64_C(0x000010000) /**< the type of a variable has changed */
89 #define SCIP_EVENTTYPE_PRESOLVEROUND UINT64_C(0x000020000) /**< a presolving round has been finished */
92 #define SCIP_EVENTTYPE_NODEFOCUSED UINT64_C(0x000040000) /**< a node has been focused and is now the focus node */
93 #define SCIP_EVENTTYPE_NODEFEASIBLE UINT64_C(0x000080000) /**< the LP/pseudo solution of the node was feasible */
94 #define SCIP_EVENTTYPE_NODEINFEASIBLE UINT64_C(0x000100000) /**< the focus node has been proven to be infeasible or was bounded */
95 #define SCIP_EVENTTYPE_NODEBRANCHED UINT64_C(0x000200000) /**< the focus node has been solved by branching */
96 #define SCIP_EVENTTYPE_NODEDELETE UINT64_C(0x000400000) /**< a node is about to be deleted from the tree */
100 #define SCIP_EVENTTYPE_FIRSTLPSOLVED UINT64_C(0x000800000) /**< the node's initial LP was solved */
101 #define SCIP_EVENTTYPE_LPSOLVED UINT64_C(0x001000000) /**< the node's LP was completely solved with cut & price */
104 #define SCIP_EVENTTYPE_POORSOLFOUND UINT64_C(0x002000000) /**< a good enough primal feasible (but not new best) solution was found */
105 #define SCIP_EVENTTYPE_BESTSOLFOUND UINT64_C(0x004000000) /**< a new best primal feasible solution was found */
108 #define SCIP_EVENTTYPE_ROWADDEDSEPA UINT64_C(0x008000000) /**< a row has been added to SCIP's separation storage */
109 #define SCIP_EVENTTYPE_ROWDELETEDSEPA UINT64_C(0x010000000) /**< a row has been removed from SCIP's separation storage */
111 #define SCIP_EVENTTYPE_ROWDELETEDLP UINT64_C(0x040000000) /**< a row has been removed from the LP */
112 #define SCIP_EVENTTYPE_ROWCOEFCHANGED UINT64_C(0x080000000) /**< a coefficient of a row has been changed (row specific event) */
113 #define SCIP_EVENTTYPE_ROWCONSTCHANGED UINT64_C(0x100000000) /**< the constant of a row has been changed (row specific event) */
114 #define SCIP_EVENTTYPE_ROWSIDECHANGED UINT64_C(0x200000000) /**< a side of a row has been changed (row specific event) */
130 #define SCIP_EVENTTYPE_VARCHANGED (SCIP_EVENTTYPE_VARFIXED | SCIP_EVENTTYPE_VARUNLOCKED | SCIP_EVENTTYPE_OBJCHANGED \
133 #define SCIP_EVENTTYPE_VAREVENT (SCIP_EVENTTYPE_VARADDED | SCIP_EVENTTYPE_VARCHANGED | SCIP_EVENTTYPE_TYPECHANGED)
136 #define SCIP_EVENTTYPE_NODESOLVED (SCIP_EVENTTYPE_NODEFEASIBLE | SCIP_EVENTTYPE_NODEINFEASIBLE \
148 #define SCIP_EVENTTYPE_ROWCHANGED (SCIP_EVENTTYPE_ROWCOEFCHANGED | SCIP_EVENTTYPE_ROWCONSTCHANGED | SCIP_EVENTTYPE_ROWSIDECHANGED)
149 #define SCIP_EVENTTYPE_ROWEVENT (SCIP_EVENTTYPE_ROWADDEDSEPA | SCIP_EVENTTYPE_ROWDELETEDSEPA | SCIP_EVENTTYPE_ROWADDEDLP | SCIP_EVENTTYPE_ROWDELETEDLP | SCIP_EVENTTYPE_ROWCHANGED)
158 typedef struct SCIP_EventVarDeleted SCIP_EVENTVARDELETED; /**< data for variable deletion events */
160 typedef struct SCIP_EventVarUnlocked SCIP_EVENTVARUNLOCKED; /**< data for variable unlocked events */
161 typedef struct SCIP_EventObjChg SCIP_EVENTOBJCHG; /**< data for objective value change events */
165 typedef struct SCIP_EventTypeChg SCIP_EVENTTYPECHG; /**< data for variable type change events */
166 typedef struct SCIP_EventRowAddedSepa SCIP_EVENTROWADDEDSEPA; /**< data for row addition to sepastorage events */
167 typedef struct SCIP_EventRowDeletedSepa SCIP_EVENTROWDELETEDSEPA; /**< data for row deletion from sepastorage events */
168 typedef struct SCIP_EventRowAddedLP SCIP_EVENTROWADDEDLP; /**< data for row addition to LP events */
169 typedef struct SCIP_EventRowDeletedLP SCIP_EVENTROWDELETEDLP; /**< data for row deletion from LP events */
170 typedef struct SCIP_EventRowCoefChanged SCIP_EVENTROWCOEFCHANGED; /**< data for row coefficient change events */
171 typedef struct SCIP_EventRowConstChanged SCIP_EVENTROWCONSTCHANGED; /**< data for row constant change events */
172 typedef struct SCIP_EventRowSideChanged SCIP_EVENTROWSIDECHANGED; /**< data for row side change events */
174 typedef struct SCIP_EventFilter SCIP_EVENTFILTER; /**< event filter to select events to be processed by an event handler */
175 typedef struct SCIP_EventQueue SCIP_EVENTQUEUE; /**< event queue to cache events and process them later */
209 /** solving process initialization method of event handler (called when branch and bound process is about to begin)
211 * This method is called when the presolving was finished and the branch and bound process is about to begin.
220 /** solving process deinitialization method of event handler (called before branch and bound process data is freed)
238 #define SCIP_DECL_EVENTDELETE(x) SCIP_RETCODE x (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENTDATA** eventdata)
242 * Processes the event. The method is called every time an event occurs, for which the event handler
244 * corresponding SCIPcatch...() method. This method creates an event filter object to point to the
253 #define SCIP_DECL_EVENTEXEC(x) SCIP_RETCODE x (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENT* event, SCIP_EVENTDATA* eventdata)
Definition: struct_event.h:117
Definition: struct_event.h:73
Definition: struct_event.h:188
Definition: struct_event.h:135
type definitions for return codes for SCIP methods
Definition: struct_event.h:49
Definition: struct_event.h:123
Definition: struct_event.h:144
Definition: struct_event.h:103
type definitions for SCIP's main datastructure
Definition: struct_event.h:161
Definition: struct_event.h:97
Definition: struct_event.h:81
Definition: struct_event.h:89
Definition: struct_event.h:129
Definition: struct_event.h:111
Definition: struct_event.h:55
Definition: struct_event.h:152
Definition: struct_event.h:67
Definition: struct_event.h:61
common defines and data types used in all packages of SCIP
Definition: struct_event.h:223
Definition: struct_event.h:204