methods and datastructures for managing events
Definition in file event.c.
#include <assert.h>
#include <string.h>
#include "scip/def.h"
#include "scip/set.h"
#include "scip/clock.h"
#include "scip/event.h"
#include "scip/lp.h"
#include "scip/var.h"
#include "scip/primal.h"
#include "scip/branch.h"
#include "scip/pub_message.h"
Go to the source code of this file.
SCIP_RETCODE SCIPeventhdlrCopyInclude | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_SET * | set | ||
) |
copies the given event handler to a new scip
eventhdlr | event handler |
set | SCIP_SET of SCIP to copy to |
Definition at line 45 of file event.c.
References SCIP_CALL, SCIP_OKAY, SCIPeventhdlrGetName(), and SCIPsetDebugMsg.
SCIP_RETCODE SCIPeventhdlrCreate | ( | SCIP_EVENTHDLR ** | eventhdlr, |
const char * | name, | ||
const char * | desc, | ||
SCIP_DECL_EVENTCOPY((*eventcopy)) | , | ||
SCIP_DECL_EVENTFREE((*eventfree)) | , | ||
SCIP_DECL_EVENTINIT((*eventinit)) | , | ||
SCIP_DECL_EVENTEXIT((*eventexit)) | , | ||
SCIP_DECL_EVENTINITSOL((*eventinitsol)) | , | ||
SCIP_DECL_EVENTEXITSOL((*eventexitsol)) | , | ||
SCIP_DECL_EVENTDELETE((*eventdelete)) | , | ||
SCIP_DECL_EVENTEXEC((*eventexec)) | , | ||
SCIP_EVENTHDLRDATA * | eventhdlrdata | ||
) |
creates an event handler
eventhdlr | pointer to event handler data structure |
name | name of event handler |
desc | description of event handler |
eventhdlrdata | event handler data |
Definition at line 64 of file event.c.
References BMSallocMemory, BMSduplicateMemoryArray, FALSE, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, and SCIPclockCreate().
Referenced by SCIPconflictstoreCreate(), SCIPincludeEventhdlr(), SCIPincludeEventhdlrBasic(), SCIPnlpInclude(), and SCIPreoptCreate().
SCIP_RETCODE SCIPeventhdlrFree | ( | SCIP_EVENTHDLR ** | eventhdlr, |
SCIP_SET * | set | ||
) |
calls destructor and frees memory of event handler
eventhdlr | pointer to event handler data structure |
set | global SCIP settings |
Definition at line 106 of file event.c.
References BMSfreeMemory, BMSfreeMemoryArray, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
Referenced by SCIPsetFree().
SCIP_RETCODE SCIPeventhdlrInit | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_SET * | set | ||
) |
initializes event handler
eventhdlr | event handler for this event |
set | global SCIP settings |
Definition at line 134 of file event.c.
References SCIP_Eventhdlr::eventtime, SCIP_Eventhdlr::initialized, SCIP_Eventhdlr::name, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Eventhdlr::setuptime, and TRUE.
SCIP_RETCODE SCIPeventhdlrExit | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_SET * | set | ||
) |
calls exit method of event handler
eventhdlr | event handler for this event |
set | global SCIP settings |
Definition at line 170 of file event.c.
References FALSE, SCIP_Eventhdlr::initialized, SCIP_Eventhdlr::name, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Eventhdlr::setuptime.
Referenced by SCIPsetInitPlugins().
SCIP_RETCODE SCIPeventhdlrInitsol | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_SET * | set | ||
) |
informs event handler that the branch and bound process is being started
eventhdlr | event handler |
set | global SCIP settings |
Definition at line 200 of file event.c.
References SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Eventhdlr::setuptime.
Referenced by SCIPsetExitprePlugins().
SCIP_RETCODE SCIPeventhdlrExitsol | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_SET * | set | ||
) |
informs event handler that the branch and bound process data is being freed
eventhdlr | event handler |
set | global SCIP settings |
Definition at line 224 of file event.c.
References SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Eventhdlr::setuptime.
Referenced by SCIPsetInitsolPlugins().
SCIP_RETCODE SCIPeventhdlrExec | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_SET * | set, | ||
SCIP_EVENT * | event, | ||
SCIP_EVENTDATA * | eventdata | ||
) |
calls execution method of event handler
eventhdlr | event handler |
set | global SCIP settings |
event | event to call event handler with |
eventdata | user data for the issued event |
Definition at line 248 of file event.c.
References SCIP_Eventhdlr::eventtime, SCIP_Event::eventtype, SCIP_Eventhdlr::name, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIPsetDebugMsg.
Referenced by SCIPeventfilterProcess().
void SCIPeventhdlrSetCopy | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_DECL_EVENTCOPY((*eventcopy)) | |||
) |
sets copy callback for all events of this event handler
eventhdlr | event handler |
Definition at line 309 of file event.c.
Referenced by SCIPsetEventhdlrCopy().
void SCIPeventhdlrSetFree | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_DECL_EVENTFREE((*eventfree)) | |||
) |
sets destructor callback of this event handler
eventhdlr | event handler |
Definition at line 320 of file event.c.
Referenced by SCIPsetEventhdlrFree().
void SCIPeventhdlrSetInit | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_DECL_EVENTINIT((*eventinit)) | |||
) |
sets initialization callback of this event handler
eventhdlr | event handler |
Definition at line 331 of file event.c.
Referenced by SCIPsetEventhdlrInit().
void SCIPeventhdlrSetExit | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_DECL_EVENTEXIT((*eventexit)) | |||
) |
sets deinitialization callback of this event handler
eventhdlr | event handler |
Definition at line 342 of file event.c.
Referenced by SCIPsetEventhdlrExit().
void SCIPeventhdlrSetInitsol | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_DECL_EVENTINITSOL((*eventinitsol)) | |||
) |
sets solving process initialization callback of this event handler
eventhdlr | event handler |
Definition at line 353 of file event.c.
Referenced by SCIPsetEventhdlrInitsol().
void SCIPeventhdlrSetExitsol | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_DECL_EVENTEXITSOL((*eventexitsol)) | |||
) |
sets solving process deinitialization callback of this event handler
eventhdlr | event handler |
Definition at line 364 of file event.c.
Referenced by SCIPsetEventhdlrExitsol().
void SCIPeventhdlrSetDelete | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_DECL_EVENTDELETE((*eventdelete)) | |||
) |
sets callback to free specific event data
eventhdlr | event handler |
Definition at line 375 of file event.c.
Referenced by SCIPsetEventhdlrDelete().
void SCIPeventhdlrEnableOrDisableClocks | ( | SCIP_EVENTHDLR * | eventhdlr, |
SCIP_Bool | enable | ||
) |
enables or disables all clocks of eventhdlr
, depending on the value of the flag
eventhdlr | the event handler for which all clocks should be enabled or disabled |
enable | should the clocks of the event handler be enabled? |
Definition at line 396 of file event.c.
References SCIP_Eventhdlr::eventtime, SCIPclockEnableOrDisable(), and SCIP_Eventhdlr::setuptime.
SCIP_RETCODE SCIPeventCreateSync | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem | ||
) |
creates a synchronization event
event | pointer to store the event |
blkmem | block memory |
Definition at line 437 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_SYNC, and SCIP_OKAY.
Referenced by SCIPincrementConcurrentTime().
SCIP_RETCODE SCIPeventCreateVarAdded | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var | ||
) |
creates an event for an addition of a variable to the problem
event | pointer to store the event |
blkmem | block memory |
var | variable that was added to the problem |
Definition at line 478 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_VARADDED, and SCIP_OKAY.
Referenced by SCIPprobAddVar().
SCIP_RETCODE SCIPeventCreateVarDeleted | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var | ||
) |
creates an event for a deletion of a variable from the problem
event | pointer to store the event |
blkmem | block memory |
var | variable that is to be deleted from the problem |
Definition at line 496 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_VARDELETED, and SCIP_OKAY.
Referenced by SCIPprobDelVar().
SCIP_RETCODE SCIPeventCreateVarFixed | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var | ||
) |
creates an event for a fixing of a variable
event | pointer to store the event |
blkmem | block memory |
var | variable that was fixed |
Definition at line 514 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, and SCIPvarGetStatus().
Referenced by varEventVarFixed().
SCIP_RETCODE SCIPeventCreateVarUnlocked | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var | ||
) |
creates an event for a change in the number of locks of a variable down to zero or one
event | pointer to store the event |
blkmem | block memory |
var | variable that changed the number of locks |
Definition at line 536 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_VARUNLOCKED, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, and SCIPvarGetStatus().
Referenced by varEventVarUnlocked().
SCIP_RETCODE SCIPeventCreateObjChanged | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var, | ||
SCIP_Real | oldobj, | ||
SCIP_Real | newobj | ||
) |
creates an event for a change in the objective value of a variable
event | pointer to store the event |
blkmem | block memory |
var | variable whose objective value changed |
oldobj | old objective value before value changed |
newobj | new objective value after value changed |
Definition at line 557 of file event.c.
References BMSallocBlockMemory, SCIP_Var::data, SCIP_ALLOC, SCIP_EVENTTYPE_OBJCHANGED, and SCIP_OKAY.
Referenced by varEventObjChanged().
SCIP_RETCODE SCIPeventCreateGlbChanged | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var, | ||
SCIP_Real | oldbound, | ||
SCIP_Real | newbound | ||
) |
creates an event for a change in the global lower bound of a variable
event | pointer to store the event |
blkmem | block memory |
var | variable whose bound changed |
oldbound | old bound before bound changed |
newbound | new bound after bound changed |
Definition at line 580 of file event.c.
References BMSallocBlockMemory, SCIP_Var::data, SCIP_ALLOC, SCIP_EVENTTYPE_GLBCHANGED, and SCIP_OKAY.
Referenced by varEventGlbChanged().
SCIP_RETCODE SCIPeventCreateGubChanged | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var, | ||
SCIP_Real | oldbound, | ||
SCIP_Real | newbound | ||
) |
creates an event for a change in the global upper bound of a variable
event | pointer to store the event |
blkmem | block memory |
var | variable whose bound changed |
oldbound | old bound before bound changed |
newbound | new bound after bound changed |
Definition at line 603 of file event.c.
References BMSallocBlockMemory, SCIP_Var::data, SCIP_ALLOC, SCIP_EVENTTYPE_GUBCHANGED, and SCIP_OKAY.
Referenced by varEventGubChanged().
SCIP_RETCODE SCIPeventCreateLbChanged | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var, | ||
SCIP_Real | oldbound, | ||
SCIP_Real | newbound | ||
) |
creates an event for a change in the lower bound of a variable
event | pointer to store the event |
blkmem | block memory |
var | variable whose bound changed |
oldbound | old bound before bound changed |
newbound | new bound after bound changed |
Definition at line 626 of file event.c.
References BMSallocBlockMemory, SCIP_Var::data, SCIP_ALLOC, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, and SCIP_OKAY.
Referenced by varEventLbChanged().
SCIP_RETCODE SCIPeventCreateUbChanged | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var, | ||
SCIP_Real | oldbound, | ||
SCIP_Real | newbound | ||
) |
creates an event for a change in the upper bound of a variable
event | pointer to store the event |
blkmem | block memory |
var | variable whose bound changed |
oldbound | old bound before bound changed |
newbound | new bound after bound changed |
Definition at line 652 of file event.c.
References BMSallocBlockMemory, SCIP_Var::data, SCIP_ALLOC, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, and SCIP_OKAY.
Referenced by varEventUbChanged().
SCIP_RETCODE SCIPeventCreateGholeAdded | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var, | ||
SCIP_Real | left, | ||
SCIP_Real | right | ||
) |
creates an event for an addition of a domain hole to a variable
event | pointer to store the event |
blkmem | block memory |
var | variable whose bound changed |
left | left bound of open interval in new hole |
right | right bound of open interval in new hole |
Definition at line 678 of file event.c.
References BMSallocBlockMemory, SCIP_Var::data, SCIP_ALLOC, SCIP_EVENTTYPE_GHOLEADDED, and SCIP_OKAY.
Referenced by varEventGholeAdded().
SCIP_RETCODE SCIPeventCreateGholeRemoved | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var, | ||
SCIP_Real | left, | ||
SCIP_Real | right | ||
) |
creates an event for removing a domain hole of a variable
event | pointer to store the event |
blkmem | block memory |
var | variable whose bound changed |
left | left bound of open interval in hole |
right | right bound of open interval in hole |
Definition at line 700 of file event.c.
References BMSallocBlockMemory, SCIP_Var::data, SCIP_ALLOC, SCIP_EVENTTYPE_GHOLEREMOVED, and SCIP_OKAY.
SCIP_RETCODE SCIPeventCreateLholeAdded | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var, | ||
SCIP_Real | left, | ||
SCIP_Real | right | ||
) |
creates an event for an addition of a domain hole to a variable
event | pointer to store the event |
blkmem | block memory |
var | variable whose bound changed |
left | left bound of open interval in new hole |
right | right bound of open interval in new hole |
Definition at line 722 of file event.c.
References BMSallocBlockMemory, SCIP_Var::data, SCIP_ALLOC, SCIP_EVENTTYPE_LHOLEADDED, and SCIP_OKAY.
SCIP_RETCODE SCIPeventCreateLholeRemoved | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var, | ||
SCIP_Real | left, | ||
SCIP_Real | right | ||
) |
creates an event for removing a domain hole of a variable
event | pointer to store the event |
blkmem | block memory |
var | variable whose bound changed |
left | left bound of open interval in hole |
right | right bound of open interval in hole |
Definition at line 744 of file event.c.
References BMSallocBlockMemory, SCIP_Var::data, SCIP_ALLOC, SCIP_EVENTTYPE_LHOLEREMOVED, and SCIP_OKAY.
SCIP_RETCODE SCIPeventCreateImplAdded | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var | ||
) |
creates an event for an addition to the variable's implications list, clique or variable bounds information
event | pointer to store the event |
blkmem | block memory |
var | variable that was fixed |
Definition at line 766 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_IMPLADDED, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, and SCIPvarGetStatus().
Referenced by SCIPcliquetableCleanup(), and varEventImplAdded().
SCIP_RETCODE SCIPeventCreateRowAddedSepa | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_ROW * | row | ||
) |
creates an event for the addition of a linear row to the separation storage
event | pointer to store the event |
blkmem | block memory |
row | row that was added to the separation storage |
Definition at line 785 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_ROWADDEDSEPA, and SCIP_OKAY.
Referenced by SCIPsepastoreAddCut().
SCIP_RETCODE SCIPeventCreateRowDeletedSepa | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_ROW * | row | ||
) |
creates an event for the deletion of a linear row from the separation storage
event | pointer to store the event |
blkmem | block memory |
row | row that was deleted from the separation storage |
Definition at line 804 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_ROWDELETEDSEPA, and SCIP_OKAY.
Referenced by SCIPsepastoreAddCut(), SCIPsepastoreClearCuts(), and sepastoreDelCut().
SCIP_RETCODE SCIPeventCreateRowAddedLP | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_ROW * | row | ||
) |
creates an event for the addition of a linear row to the LP
event | pointer to store the event |
blkmem | block memory |
row | row that was added to the LP |
Definition at line 823 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_ROWADDEDLP, and SCIP_OKAY.
Referenced by SCIPlpAddRow().
SCIP_RETCODE SCIPeventCreateRowDeletedLP | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_ROW * | row | ||
) |
creates an event for the deletion of a linear row from the LP
event | pointer to store the event |
blkmem | block memory |
row | row that was deleted from the LP |
Definition at line 842 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_ROWDELETEDLP, and SCIP_OKAY.
Referenced by lpDelRowset(), and SCIPlpShrinkRows().
SCIP_RETCODE SCIPeventCreateRowCoefChanged | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_ROW * | row, | ||
SCIP_COL * | col, | ||
SCIP_Real | oldval, | ||
SCIP_Real | newval | ||
) |
creates an event for the change of a coefficient in a linear row
event | pointer to store the event |
blkmem | block memory |
row | row in which a coefficient changed |
col | column which coefficient changed |
oldval | old value of coefficient |
newval | new value of coefficient |
Definition at line 861 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_ROWCOEFCHANGED, and SCIP_OKAY.
Referenced by rowEventCoefChanged().
SCIP_RETCODE SCIPeventCreateRowConstChanged | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_ROW * | row, | ||
SCIP_Real | oldval, | ||
SCIP_Real | newval | ||
) |
creates an event for the change of a constant in a linear row
event | pointer to store the event |
blkmem | block memory |
row | row in which the constant changed |
oldval | old value of constant |
newval | new value of constant |
Definition at line 886 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_ROWCONSTCHANGED, and SCIP_OKAY.
Referenced by rowEventConstantChanged().
SCIP_RETCODE SCIPeventCreateRowSideChanged | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem, | ||
SCIP_ROW * | row, | ||
SCIP_SIDETYPE | side, | ||
SCIP_Real | oldval, | ||
SCIP_Real | newval | ||
) |
creates an event for the change of a side of a linear row
event | pointer to store the event |
blkmem | block memory |
row | row which side has changed |
side | which side has changed |
oldval | old value of side |
newval | new value of side |
Definition at line 909 of file event.c.
References BMSallocBlockMemory, SCIP_ALLOC, SCIP_EVENTTYPE_ROWSIDECHANGED, and SCIP_OKAY.
Referenced by rowEventSideChanged().
SCIP_RETCODE SCIPeventFree | ( | SCIP_EVENT ** | event, |
BMS_BLKMEM * | blkmem | ||
) |
frees an event
event | event to free |
blkmem | block memory buffer |
Definition at line 934 of file event.c.
References BMSfreeBlockMemory, and SCIP_OKAY.
Referenced by SCIPeventqueueAdd(), and SCIPeventqueueProcess().
|
static |
disables an event
event | event to disable |
Definition at line 949 of file event.c.
References SCIP_EVENTTYPE_DISABLED.
Referenced by SCIPeventqueueAdd().
SCIP_RETCODE SCIPeventChgType | ( | SCIP_EVENT * | event, |
SCIP_EVENTTYPE | eventtype | ||
) |
sets type of event
event | event |
eventtype | new event type |
Definition at line 969 of file event.c.
References SCIP_OKAY.
Referenced by presolveRound(), priceAndCutLoop(), primalAddSol(), SCIPsolveCIP(), and solveNodeInitialLP().
SCIP_RETCODE SCIPeventChgVar | ( | SCIP_EVENT * | event, |
SCIP_VAR * | var | ||
) |
sets variable for a variable event
event | event |
var | new variable |
Definition at line 1038 of file event.c.
References SCIP_Event::data, SCIP_Event::eventbdchg, SCIP_Event::eventhole, SCIP_Event::eventimpladd, SCIP_Event::eventobjchg, SCIP_Event::eventtype, SCIP_Event::eventvaradded, SCIP_Event::eventvardeleted, SCIP_Event::eventvarfixed, SCIP_Event::eventvarunlocked, SCIP_EVENTTYPE_GHOLEADDED, SCIP_EVENTTYPE_GHOLEREMOVED, SCIP_EVENTTYPE_GLBCHANGED, SCIP_EVENTTYPE_GUBCHANGED, SCIP_EVENTTYPE_IMPLADDED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_LHOLEADDED, SCIP_EVENTTYPE_LHOLEREMOVED, SCIP_EVENTTYPE_OBJCHANGED, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_EVENTTYPE_VARADDED, SCIP_EVENTTYPE_VARDELETED, SCIP_EVENTTYPE_VARFIXED, SCIP_EVENTTYPE_VARUNLOCKED, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIP_EventVarAdded::var, SCIP_EventVarDeleted::var, SCIP_EventVarFixed::var, SCIP_EventVarUnlocked::var, SCIP_EventObjChg::var, SCIP_EventBdChg::var, SCIP_EventHole::var, and SCIP_EventImplAdd::var.
SCIP_RETCODE SCIPeventChgNode | ( | SCIP_EVENT * | event, |
SCIP_NODE * | node | ||
) |
sets node for a node or LP event
event | event |
node | new node |
Definition at line 1203 of file event.c.
References SCIP_Event::eventtype, SCIP_EVENTTYPE_LPEVENT, SCIP_EVENTTYPE_NODEEVENT, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, and SCIPerrorMessage.
Referenced by priceAndCutLoop(), SCIPsolveCIP(), and solveNodeInitialLP().
SCIP_RETCODE SCIPeventChgSol | ( | SCIP_EVENT * | event, |
SCIP_SOL * | sol | ||
) |
sets solution for a primal solution event
event | event |
sol | new primal solution |
Definition at line 1240 of file event.c.
References SCIP_Event::eventtype, SCIP_EVENTTYPE_SOLEVENT, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, and SCIPerrorMessage.
Referenced by primalAddSol().
SCIP_RETCODE SCIPeventProcess | ( | SCIP_EVENT * | event, |
SCIP_SET * | set, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTFILTER * | eventfilter | ||
) |
processes event by calling the appropriate event handlers
event | event |
set | global SCIP settings |
primal | primal data; only needed for objchanged events, or NULL |
lp | current LP data; only needed for obj/boundchanged events, or NULL |
branchcand | branching candidate storage; only needed for bound change events, or NULL |
eventfilter | event filter for global events; not needed for variable specific events |
Definition at line 1460 of file event.c.
References SCIP_Event::data, SCIP_Var::data, SCIP_Lp::divingobjchg, SCIP_Event::eventbdchg, SCIP_Var::eventfilter, SCIP_Event::eventobjchg, SCIP_Var::eventqueueimpl, SCIP_Var::eventqueueindexlb, SCIP_Var::eventqueueindexobj, SCIP_Var::eventqueueindexub, SCIP_Event::eventtype, SCIP_EventBdChg::newbound, SCIP_EventObjChg::newobj, SCIP_EventBdChg::oldbound, SCIP_EventObjChg::oldobj, SCIP_CALL, SCIP_EVENTTYPE_BESTSOLFOUND, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_DISABLED, SCIP_EVENTTYPE_FIRSTLPSOLVED, SCIP_EVENTTYPE_FORMAT, SCIP_EVENTTYPE_GHOLEADDED, SCIP_EVENTTYPE_GHOLEREMOVED, SCIP_EVENTTYPE_GLBCHANGED, SCIP_EVENTTYPE_GUBCHANGED, SCIP_EVENTTYPE_IMPLADDED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_LHOLEADDED, SCIP_EVENTTYPE_LHOLEREMOVED, SCIP_EVENTTYPE_LPSOLVED, SCIP_EVENTTYPE_NODEBRANCHED, SCIP_EVENTTYPE_NODEFEASIBLE, SCIP_EVENTTYPE_NODEFOCUSED, SCIP_EVENTTYPE_NODEINFEASIBLE, SCIP_EVENTTYPE_OBJCHANGED, SCIP_EVENTTYPE_POORSOLFOUND, SCIP_EVENTTYPE_PRESOLVEROUND, SCIP_EVENTTYPE_ROWADDEDLP, SCIP_EVENTTYPE_ROWADDEDSEPA, SCIP_EVENTTYPE_ROWCOEFCHANGED, SCIP_EVENTTYPE_ROWCONSTCHANGED, SCIP_EVENTTYPE_ROWDELETEDLP, SCIP_EVENTTYPE_ROWDELETEDSEPA, SCIP_EVENTTYPE_ROWSIDECHANGED, SCIP_EVENTTYPE_SYNC, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_EVENTTYPE_VARADDED, SCIP_EVENTTYPE_VARDELETED, SCIP_EVENTTYPE_VARFIXED, SCIP_EVENTTYPE_VARUNLOCKED, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPbranchcandUpdateVar(), SCIPcolChgLb(), SCIPcolChgObj(), SCIPcolChgUb(), SCIPerrorMessage, SCIPeventfilterProcess(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarLbGlobal(), SCIPlpUpdateVarObj(), SCIPlpUpdateVarUb(), SCIPlpUpdateVarUbGlobal(), SCIPprimalUpdateVarObj(), SCIPsetDebugMsg, SCIPvarGetCol(), SCIPvarGetProbindex(), and SCIPvarGetStatus().
Referenced by presolveRound(), priceAndCutLoop(), primalAddSol(), SCIPeventqueueAdd(), SCIPeventqueueProcess(), SCIPsolveCIP(), and solveNodeInitialLP().
|
static |
resizes eventfilter arrays to be able to store at least num entries
eventfilter | event filter |
blkmem | block memory buffer |
set | global SCIP settings |
num | minimal number of node slots in array |
Definition at line 1670 of file event.c.
References BMSreallocBlockMemoryArray, SCIP_EventFilter::eventdata, SCIP_EventFilter::eventhdlrs, SCIP_EventFilter::eventtypes, SCIP_EventFilter::nextpos, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), and SCIP_EventFilter::size.
Referenced by SCIPeventfilterAdd().
SCIP_RETCODE SCIPeventfilterCreate | ( | SCIP_EVENTFILTER ** | eventfilter, |
BMS_BLKMEM * | blkmem | ||
) |
creates an event filter
eventfilter | pointer to store the event filter |
blkmem | block memory buffer |
Definition at line 1698 of file event.c.
References BMSallocBlockMemory, FALSE, SCIP_ALLOC, SCIP_EVENTTYPE_DISABLED, and SCIP_OKAY.
Referenced by SCIProwCreate(), SCIPtransformProb(), SCIPvarCreateTransformed(), SCIPvarNegate(), and SCIPvarParseTransformed().
SCIP_RETCODE SCIPeventfilterFree | ( | SCIP_EVENTFILTER ** | eventfilter, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set | ||
) |
frees an event filter and the associated event data entries
eventfilter | pointer to store the event filter |
blkmem | block memory buffer |
set | global SCIP settings |
Definition at line 1723 of file event.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, SCIP_CALL, SCIP_EVENTTYPE_DISABLED, and SCIP_OKAY.
Referenced by freeTransform(), SCIProwFree(), and varFree().
SCIP_RETCODE SCIPeventfilterAdd | ( | SCIP_EVENTFILTER * | eventfilter, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTTYPE | eventtype, | ||
SCIP_EVENTHDLR * | eventhdlr, | ||
SCIP_EVENTDATA * | eventdata, | ||
int * | filterpos | ||
) |
adds element to event filter
eventfilter | event filter |
blkmem | block memory buffer |
set | global SCIP settings |
eventtype | event type to catch |
eventhdlr | event handler to call for the event processing |
eventdata | event data to pass to the event handler for the event processing |
filterpos | pointer to store position of event filter entry, or NULL |
Definition at line 1763 of file event.c.
References SCIP_EventFilter::delayedeventmask, SCIP_EventFilter::delayupdates, SCIP_EventFilter::eventdata, eventfilterEnsureMem(), SCIP_EventFilter::eventhdlrs, SCIP_EventFilter::eventmask, SCIP_EventFilter::eventtypes, SCIP_EventFilter::firstfreepos, SCIP_EventFilter::len, SCIP_EventFilter::nextpos, SCIP_CALL, SCIP_EVENTTYPE_DISABLED, and SCIP_OKAY.
Referenced by SCIPcatchEvent(), SCIPnlpCreate(), SCIProwCatchEvent(), and SCIPvarCatchEvent().
|
static |
linear search for the given entry in event filter
eventfilter | event filter |
eventtype | event type |
eventhdlr | event handler to call for the event processing |
eventdata | event data to pass to the event handler for the event processing |
Definition at line 1830 of file event.c.
References SCIP_EventFilter::eventdata, SCIP_EventFilter::eventhdlrs, SCIP_EventFilter::eventtypes, SCIP_EventFilter::len, SCIP_EventFilter::nextpos, and SCIP_EVENTTYPE_DISABLED.
Referenced by SCIPeventfilterDel().
SCIP_RETCODE SCIPeventfilterDel | ( | SCIP_EVENTFILTER * | eventfilter, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTTYPE | eventtype, | ||
SCIP_EVENTHDLR * | eventhdlr, | ||
SCIP_EVENTDATA * | eventdata, | ||
int | filterpos | ||
) |
deletes element from event filter
eventfilter | event filter |
blkmem | block memory buffer |
set | global SCIP settings |
eventtype | event type |
eventhdlr | event handler to call for the event processing |
eventdata | event data to pass to the event handler for the event processing |
filterpos | position of event filter entry, or -1 if unknown |
Definition at line 1856 of file event.c.
References SCIP_EventFilter::delayupdates, SCIP_EventFilter::eventdata, eventfilterSearch(), SCIP_EventFilter::eventhdlrs, SCIP_EventFilter::eventtypes, SCIP_EventFilter::firstdeletedpos, SCIP_EventFilter::firstfreepos, SCIP_EventFilter::nextpos, SCIP_EVENTTYPE_DISABLED, SCIP_INVALIDDATA, SCIP_OKAY, and SCIPerrorMessage.
Referenced by SCIPdropEvent(), SCIPnlpFree(), SCIProwDropEvent(), and SCIPvarDropEvent().
|
static |
makes the event filter to delay and buffer all updates until eventfilterProcessUpdates() is called
eventfilter | event filter |
Definition at line 1911 of file event.c.
References SCIP_EventFilter::delayedeventmask, SCIP_EventFilter::delayupdates, SCIP_EVENTTYPE_DISABLED, and TRUE.
Referenced by SCIPeventfilterProcess().
|
static |
processes all delayed additions and deletions
eventfilter | event filter |
Definition at line 1924 of file event.c.
References SCIP_EventFilter::delayedeventmask, SCIP_EventFilter::delayupdates, SCIP_EventFilter::eventmask, SCIP_EventFilter::eventtypes, FALSE, SCIP_EventFilter::firstdeletedpos, SCIP_EventFilter::firstfreepos, SCIP_EventFilter::nextpos, and SCIP_EVENTTYPE_DISABLED.
Referenced by SCIPeventfilterProcess().
SCIP_RETCODE SCIPeventfilterProcess | ( | SCIP_EVENTFILTER * | eventfilter, |
SCIP_SET * | set, | ||
SCIP_EVENT * | event | ||
) |
processes the event with all event handlers with matching filter setting
eventfilter | event filter |
set | global SCIP settings |
event | event to process |
Definition at line 1959 of file event.c.
References eventfilterDelayUpdates(), eventfilterProcessUpdates(), SCIP_Event::eventtype, FALSE, SCIP_EventFilter::len, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_OKAY, SCIPeventhdlrExec(), SCIPsetDebugMsg, and TRUE.
Referenced by SCIPeventProcess().
|
static |
resizes events array to be able to store at least num entries
eventqueue | event queue |
set | global SCIP settings |
num | minimal number of node slots in array |
Definition at line 2038 of file event.c.
References BMSreallocMemoryArray, SCIP_EventQueue::events, SCIP_EventQueue::eventssize, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by eventqueueAppend().
SCIP_RETCODE SCIPeventqueueCreate | ( | SCIP_EVENTQUEUE ** | eventqueue | ) |
creates an event queue
eventqueue | pointer to store the event queue |
Definition at line 2061 of file event.c.
References BMSallocMemory, FALSE, SCIP_ALLOC, and SCIP_OKAY.
Referenced by SCIPtransformProb().
SCIP_RETCODE SCIPeventqueueFree | ( | SCIP_EVENTQUEUE ** | eventqueue | ) |
frees event queue; there must not be any unprocessed events in the queue!
eventqueue | pointer to the event queue |
Definition at line 2077 of file event.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, and SCIP_OKAY.
Referenced by freeTransform().
|
static |
appends event to the event queue; sets event to NULL afterwards
eventqueue | event queue |
set | global SCIP settings |
event | pointer to event to append to the queue |
Definition at line 2093 of file event.c.
References SCIP_EventQueue::delayevents, eventqueueEnsureEventsMem(), SCIP_Event::eventtype, SCIP_EventQueue::nevents, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_OKAY, and SCIPsetDebugMsg.
Referenced by SCIPeventqueueAdd().
SCIP_RETCODE SCIPeventqueueAdd | ( | SCIP_EVENTQUEUE * | eventqueue, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
SCIP_EVENT ** | event | ||
) |
processes event or adds event to the event queue
eventqueue | event queue |
blkmem | block memory buffer |
set | global SCIP settings |
primal | primal data; only needed for objchanged events, or NULL |
lp | current LP data; only needed for obj/boundchanged events, or NULL |
branchcand | branching candidate storage; only needed for bound change events, or NULL |
eventfilter | event filter for global events; not needed for variable specific events |
event | pointer to event to add to the queue; will be NULL after queue addition |
Definition at line 2117 of file event.c.
References SCIP_Event::data, SCIP_Var::data, SCIP_EventQueue::delayevents, SCIP_Event::eventbdchg, eventDisable(), SCIP_Event::eventobjchg, eventqueueAppend(), SCIP_Var::eventqueueimpl, SCIP_Var::eventqueueindexlb, SCIP_Var::eventqueueindexobj, SCIP_Var::eventqueueindexub, SCIP_Event::eventtype, SCIP_EventBdChg::newbound, SCIP_EventObjChg::newobj, SCIP_EventBdChg::oldbound, SCIP_EventObjChg::oldobj, SCIP_CALL, SCIP_EVENTTYPE_BESTSOLFOUND, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_DISABLED, SCIP_EVENTTYPE_FIRSTLPSOLVED, SCIP_EVENTTYPE_FORMAT, SCIP_EVENTTYPE_GHOLEADDED, SCIP_EVENTTYPE_GHOLEREMOVED, SCIP_EVENTTYPE_GLBCHANGED, SCIP_EVENTTYPE_GUBCHANGED, SCIP_EVENTTYPE_IMPLADDED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_LHOLEADDED, SCIP_EVENTTYPE_LHOLEREMOVED, SCIP_EVENTTYPE_LPSOLVED, SCIP_EVENTTYPE_NODEBRANCHED, SCIP_EVENTTYPE_NODEFEASIBLE, SCIP_EVENTTYPE_NODEFOCUSED, SCIP_EVENTTYPE_NODEINFEASIBLE, SCIP_EVENTTYPE_OBJCHANGED, SCIP_EVENTTYPE_POORSOLFOUND, SCIP_EVENTTYPE_PRESOLVEROUND, SCIP_EVENTTYPE_ROWADDEDLP, SCIP_EVENTTYPE_ROWADDEDSEPA, SCIP_EVENTTYPE_ROWCOEFCHANGED, SCIP_EVENTTYPE_ROWCONSTCHANGED, SCIP_EVENTTYPE_ROWDELETEDLP, SCIP_EVENTTYPE_ROWDELETEDSEPA, SCIP_EVENTTYPE_ROWSIDECHANGED, SCIP_EVENTTYPE_SYNC, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_EVENTTYPE_VARADDED, SCIP_EVENTTYPE_VARDELETED, SCIP_EVENTTYPE_VARFIXED, SCIP_EVENTTYPE_VARUNLOCKED, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPeventFree(), SCIPeventProcess(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPvarGetName(), TRUE, SCIP_EventObjChg::var, and SCIP_EventBdChg::var.
Referenced by lpDelRowset(), rowEventCoefChanged(), rowEventConstantChanged(), rowEventSideChanged(), SCIPcliquetableCleanup(), SCIPincrementConcurrentTime(), SCIPlpAddRow(), SCIPlpShrinkRows(), SCIPprobAddVar(), SCIPprobDelVar(), SCIPsepastoreAddCut(), SCIPsepastoreClearCuts(), sepastoreDelCut(), varEventGholeAdded(), varEventGlbChanged(), varEventGubChanged(), varEventImplAdded(), varEventLbChanged(), varEventObjChanged(), varEventUbChanged(), varEventVarFixed(), and varEventVarUnlocked().
SCIP_RETCODE SCIPeventqueueDelay | ( | SCIP_EVENTQUEUE * | eventqueue | ) |
marks queue to delay incoming events until a call to SCIPeventqueueProcess()
eventqueue | event queue |
Definition at line 2353 of file event.c.
References SCIP_EventQueue::delayevents, SCIP_OKAY, SCIPdebugMessage, and TRUE.
Referenced by nodeRepropagate(), SCIPcliquetableCleanup(), and treeSwitchPath().
SCIP_RETCODE SCIPeventqueueProcess | ( | SCIP_EVENTQUEUE * | eventqueue, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTFILTER * | eventfilter | ||
) |
processes all delayed events, marks queue to process events immediately
eventqueue | event queue |
blkmem | block memory buffer |
set | global SCIP settings |
primal | primal data |
lp | current LP data |
branchcand | branching candidate storage |
eventfilter | event filter for global (not variable dependent) events |
Definition at line 2368 of file event.c.
References SCIP_Event::data, SCIP_EventQueue::delayevents, SCIP_Event::eventbdchg, SCIP_Event::eventimpladd, SCIP_Event::eventobjchg, SCIP_Var::eventqueueimpl, SCIP_Var::eventqueueindexlb, SCIP_Var::eventqueueindexobj, SCIP_Var::eventqueueindexub, SCIP_EventQueue::events, SCIP_Event::eventtype, FALSE, SCIP_EventQueue::nevents, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_EVENTTYPE_IMPLADDED, SCIP_EVENTTYPE_LBCHANGED, SCIP_EVENTTYPE_OBJCHANGED, SCIP_EVENTTYPE_UBCHANGED, SCIP_OKAY, SCIPeventFree(), SCIPeventProcess(), SCIPsetDebugMsg, SCIP_EventObjChg::var, SCIP_EventBdChg::var, and SCIP_EventImplAdd::var.
Referenced by nodeRepropagate(), SCIPcliquetableCleanup(), and treeSwitchPath().
SCIP_Bool SCIPeventqueueIsDelayed | ( | SCIP_EVENTQUEUE * | eventqueue | ) |
returns TRUE iff events of the queue are delayed until the next SCIPeventqueueProcess() call
eventqueue | event queue |
Definition at line 2440 of file event.c.
References SCIP_EventQueue::delayevents.
Referenced by nodeRepropagate(), SCIPvarAggregate(), SCIPvarFix(), and SCIPvarMultiaggregate().