methods and datastructures for managing events
Definition in file event.c.
#include <assert.h>#include <string.h>#include "scip/branch.h"#include "scip/clock.h"#include "scip/event.h"#include "scip/lp.h"#include "scip/lpexact.h"#include "scip/primal.h"#include "scip/pub_event.h"#include "scip/pub_message.h"#include "scip/pub_var.h"#include "scip/rational.h"#include "scip/set.h"#include "scip/struct_event.h"#include "scip/struct_lp.h"#include "scip/struct_set.h"#include "scip/struct_var.h"#include "scip/var.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
Definition at line 62 of file event.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPeventhdlrCopyInclude(), SCIPeventhdlrGetName(), and SCIPsetDebugMsg.
Referenced by SCIPeventhdlrCopyInclude(), and SCIPsetCopyPlugins().
|
static |
wrapper method to update the exact data of a variable if a bound gets changed
| var | variable that gets changed |
| lp | current LP data |
| set | global SCIP settings |
| event | event |
| isUb | is it an upper bound |
| isGlb | is it a global or local bound |
Definition at line 82 of file event.c.
References assert(), SCIP_Event::data, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcolExactChgLb(), SCIPcolExactChgUb(), SCIPlpExactUpdateVarLb(), SCIPlpExactUpdateVarLbGlobal(), SCIPlpExactUpdateVarUb(), SCIPlpExactUpdateVarUbGlobal(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalSetReal(), SCIPvarGetColExact(), SCIPvarGetStatusExact(), updateLpExactBoundChange(), and var.
Referenced by SCIPeventProcess(), and updateLpExactBoundChange().
|
static |
internal method for creating an event handler
| eventhdlr | pointer to event handler data structure |
| name | name of event handler |
| desc | description of event handler |
| - | copy method of event handler or NULL if you don't want to copy your plugin into sub-SCIPs |
| - | destructor of event handler |
| - | initialize event handler |
| - | deinitialize event handler |
| - | solving process initialization method of event handler |
| - | solving process deinitialization method of event handler |
| - | free specific event data |
| - | execute event handler |
| eventhdlrdata | event handler data |
Definition at line 152 of file event.c.
References assert(), BMSallocMemory, BMSclearMemory, BMSduplicateMemoryArray, doEventhdlrCreate(), FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_DECL_EVENTCOPY, SCIP_DECL_EVENTDELETE, SCIP_DECL_EVENTEXEC, SCIP_DECL_EVENTEXIT, SCIP_DECL_EVENTEXITSOL, SCIP_DECL_EVENTFREE, SCIP_DECL_EVENTINIT, SCIP_DECL_EVENTINITSOL, SCIP_OKAY, and SCIPclockCreate().
Referenced by doEventhdlrCreate(), and SCIPeventhdlrCreate().
| SCIP_RETCODE SCIPeventhdlrCreate | ( | SCIP_EVENTHDLR ** | eventhdlr, |
| SCIP_SET * | set, | ||
| 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 |
| set | global SCIP settings |
| name | name of event handler |
| desc | description of event handler |
| - | copy method of event handler or NULL if you don't want to copy your plugin into sub-SCIPs |
| - | destructor of event handler |
| - | initialize event handler |
| - | deinitialize event handler |
| - | solving process initialization method of event handler |
| - | solving process deinitialization method of event handler |
| - | free specific event data |
| - | execute event handler |
| eventhdlrdata | event handler data |
Definition at line 195 of file event.c.
References assert(), doEventhdlrCreate(), NULL, SCIP_CALL_FINALLY, SCIP_DECL_EVENTCOPY, SCIP_DECL_EVENTDELETE, SCIP_DECL_EVENTEXEC, SCIP_DECL_EVENTEXIT, SCIP_DECL_EVENTEXITSOL, SCIP_DECL_EVENTFREE, SCIP_DECL_EVENTINIT, SCIP_DECL_EVENTINITSOL, SCIP_OKAY, SCIPeventhdlrCreate(), and SCIPeventhdlrFree().
Referenced by SCIPconflictstoreCreate(), SCIPeventhdlrCreate(), 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 221 of file event.c.
References assert(), BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockFree(), and SCIPeventhdlrFree().
Referenced by SCIPeventhdlrCreate(), and SCIPeventhdlrFree().
| 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 252 of file event.c.
References assert(), SCIP_Eventhdlr::eventtime, SCIP_Eventhdlr::initialized, SCIP_Eventhdlr::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPeventhdlrInit(), SCIP_Eventhdlr::setuptime, and TRUE.
Referenced by SCIPeventhdlrInit().
| 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 288 of file event.c.
References assert(), FALSE, SCIP_Eventhdlr::initialized, SCIP_Eventhdlr::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPeventhdlrExit(), and SCIP_Eventhdlr::setuptime.
Referenced by SCIPeventhdlrExit().
| 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 318 of file event.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPeventhdlrInitsol(), and SCIP_Eventhdlr::setuptime.
Referenced by SCIPeventhdlrInitsol().
| 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 342 of file event.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPeventhdlrExitsol(), and SCIP_Eventhdlr::setuptime.
Referenced by SCIPeventhdlrExitsol().
| 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 366 of file event.c.
References assert(), SCIP_Eventhdlr::eventtime, SCIP_Event::eventtype, SCIP_Eventhdlr::name, NULL, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPeventhdlrExec(), and SCIPsetDebugMsg.
Referenced by SCIPeventfilterProcess(), and SCIPeventhdlrExec().
| void SCIPeventhdlrSetCopy | ( | SCIP_EVENTHDLR * | eventhdlr | ) |
sets copy callback for all events of this event handler
callback setter methods of event handlers sets copy callback for all events of this event handler
| eventhdlr | event handler copy callback for events |
Definition at line 427 of file event.c.
References assert(), NULL, SCIP_DECL_EVENTCOPY, and SCIPeventhdlrSetCopy().
Referenced by SCIPeventhdlrSetCopy(), and SCIPsetEventhdlrCopy().
| void SCIPeventhdlrSetFree | ( | SCIP_EVENTHDLR * | eventhdlr | ) |
sets destructor callback of this event handler
| eventhdlr | event handler destructor callback of event handler |
Definition at line 438 of file event.c.
References assert(), NULL, SCIP_DECL_EVENTFREE, and SCIPeventhdlrSetFree().
Referenced by SCIPeventhdlrSetFree(), and SCIPsetEventhdlrFree().
| void SCIPeventhdlrSetInit | ( | SCIP_EVENTHDLR * | eventhdlr | ) |
sets initialization callback of this event handler
| eventhdlr | event handler initialization callback of event handler |
Definition at line 449 of file event.c.
References assert(), NULL, SCIP_DECL_EVENTINIT, and SCIPeventhdlrSetInit().
Referenced by SCIPeventhdlrSetInit(), and SCIPsetEventhdlrInit().
| void SCIPeventhdlrSetExit | ( | SCIP_EVENTHDLR * | eventhdlr | ) |
sets deinitialization callback of this event handler
| eventhdlr | event handler deinitialization callback of event handler |
Definition at line 460 of file event.c.
References assert(), NULL, SCIP_DECL_EVENTEXIT, and SCIPeventhdlrSetExit().
Referenced by SCIPeventhdlrSetExit(), and SCIPsetEventhdlrExit().
| void SCIPeventhdlrSetInitsol | ( | SCIP_EVENTHDLR * | eventhdlr | ) |
sets solving process initialization callback of this event handler
| eventhdlr | event handler solving process initialization callback of event handler |
Definition at line 471 of file event.c.
References assert(), NULL, SCIP_DECL_EVENTINITSOL, and SCIPeventhdlrSetInitsol().
Referenced by SCIPeventhdlrSetInitsol(), and SCIPsetEventhdlrInitsol().
| void SCIPeventhdlrSetExitsol | ( | SCIP_EVENTHDLR * | eventhdlr | ) |
sets solving process deinitialization callback of this event handler
| eventhdlr | event handler solving process deinitialization callback of event handler |
Definition at line 482 of file event.c.
References assert(), NULL, SCIP_DECL_EVENTEXITSOL, and SCIPeventhdlrSetExitsol().
Referenced by SCIPeventhdlrSetExitsol(), and SCIPsetEventhdlrExitsol().
| void SCIPeventhdlrSetDelete | ( | SCIP_EVENTHDLR * | eventhdlr | ) |
sets callback to free specific event data
| eventhdlr | event handler callback to free specific event data |
Definition at line 493 of file event.c.
References assert(), NULL, SCIP_DECL_EVENTDELETE, and SCIPeventhdlrSetDelete().
Referenced by SCIPeventhdlrSetDelete(), and 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 514 of file event.c.
References assert(), SCIP_Eventhdlr::eventtime, NULL, SCIP_Bool, SCIPclockEnableOrDisable(), SCIPeventhdlrEnableOrDisableClocks(), and SCIP_Eventhdlr::setuptime.
Referenced by SCIPeventhdlrEnableOrDisableClocks().
| 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 555 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_SYNC, SCIP_OKAY, and SCIPeventCreateSync().
Referenced by SCIPeventCreateSync(), and 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 598 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_VARADDED, SCIP_OKAY, SCIPeventCreateVarAdded(), and var.
Referenced by SCIPeventCreateVarAdded(), and 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 616 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_VARDELETED, SCIP_OKAY, SCIPeventCreateVarDeleted(), and var.
Referenced by SCIPeventCreateVarDeleted(), and 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 634 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIPeventCreateVarFixed(), SCIPvarGetStatus(), and var.
Referenced by SCIPeventCreateVarFixed(), and 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 656 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_VARUNLOCKED, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIPeventCreateVarUnlocked(), SCIPvarGetStatus(), and var.
Referenced by SCIPeventCreateVarUnlocked(), and 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 677 of file event.c.
References assert(), BMSallocBlockMemory, SCIP_Var::data, SCIP_Var::exactdata, newobj, NULL, oldobj, SCIP_ALLOC, SCIP_EVENTTYPE_OBJCHANGED, SCIP_OKAY, SCIP_Real, SCIPeventCreateObjChanged(), and var.
Referenced by SCIPeventCreateObjChanged(), varEventObjChanged(), and varEventObjChangedExact().
| 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 702 of file event.c.
References assert(), BMSallocBlockMemory, SCIP_Var::data, SCIP_Var::exactdata, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_GLBCHANGED, SCIP_OKAY, SCIP_Real, SCIPeventCreateGlbChanged(), and var.
Referenced by SCIPeventCreateGlbChanged(), varEventGlbChanged(), and varEventGlbChangedExact().
| 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 727 of file event.c.
References assert(), BMSallocBlockMemory, SCIP_Var::data, SCIP_Var::exactdata, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_GUBCHANGED, SCIP_OKAY, SCIP_Real, SCIPeventCreateGubChanged(), and var.
Referenced by SCIPeventCreateGubChanged(), varEventGubChanged(), and varEventGubChangedExact().
| 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 752 of file event.c.
References assert(), BMSallocBlockMemory, SCIP_Var::data, SCIP_Var::exactdata, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_OKAY, SCIP_Real, SCIPeventCreateLbChanged(), and var.
Referenced by SCIPeventCreateLbChanged(), varEventLbChanged(), and varEventLbChangedExact().
| 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 780 of file event.c.
References assert(), BMSallocBlockMemory, SCIP_Var::data, SCIP_Var::exactdata, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIP_Real, SCIPeventCreateUbChanged(), and var.
Referenced by SCIPeventCreateUbChanged(), varEventUbChanged(), and varEventUbChangedExact().
| SCIP_RETCODE SCIPeventAddExactBdChg | ( | SCIP_EVENT * | event, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_RATIONAL * | oldbound, | ||
| SCIP_RATIONAL * | newbound ) |
adds the data for the exact changes to existing bound event
| event | the event |
| blkmem | block memory |
| oldbound | old bound before bound changed |
| newbound | new bound after bound changed |
Definition at line 808 of file event.c.
References assert(), SCIP_Event::data, NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_GBDCHANGED, SCIP_OKAY, SCIPeventAddExactBdChg(), SCIPrationalCopyBlock(), and SCIPrationalIsEQ().
Referenced by SCIPeventAddExactBdChg(), SCIPeventqueueAdd(), varEventGlbChangedExact(), varEventGubChangedExact(), varEventLbChangedExact(), and varEventUbChangedExact().
| SCIP_RETCODE SCIPeventAddExactObjChg | ( | SCIP_EVENT * | event, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_RATIONAL * | oldobj, | ||
| SCIP_RATIONAL * | newobj ) |
adds the data for the exact changes to existing obj event
| event | the event |
| blkmem | block memory |
| oldobj | old obj before change |
| newobj | new obj after change |
Definition at line 827 of file event.c.
References assert(), SCIP_Event::data, newobj, NULL, oldobj, SCIP_CALL, SCIP_OKAY, SCIPeventAddExactObjChg(), SCIPrationalCopyBlock(), and SCIPrationalIsEQ().
Referenced by SCIPeventAddExactObjChg(), and varEventObjChangedExact().
| 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
creates an event for an addition of a global 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 845 of file event.c.
References assert(), BMSallocBlockMemory, SCIP_Var::data, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_GHOLEADDED, SCIP_OKAY, SCIP_Real, SCIPeventCreateGholeAdded(), and var.
Referenced by SCIPeventCreateGholeAdded(), and 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
creates an event for removing a global 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 867 of file event.c.
References assert(), BMSallocBlockMemory, SCIP_Var::data, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_GHOLEREMOVED, SCIP_OKAY, SCIP_Real, SCIPeventCreateGholeRemoved(), and var.
Referenced by SCIPeventCreateGholeRemoved().
| 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
creates an event for an addition of a local 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 889 of file event.c.
References assert(), BMSallocBlockMemory, SCIP_Var::data, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_LHOLEADDED, SCIP_OKAY, SCIP_Real, SCIPeventCreateLholeAdded(), and var.
Referenced by SCIPeventCreateLholeAdded().
| 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
creates an event for removing a local 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 911 of file event.c.
References assert(), BMSallocBlockMemory, SCIP_Var::data, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_LHOLEREMOVED, SCIP_OKAY, SCIP_Real, SCIPeventCreateLholeRemoved(), and var.
Referenced by SCIPeventCreateLholeRemoved().
| 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 933 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_IMPLADDED, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventCreateImplAdded(), SCIPvarGetStatus(), and var.
Referenced by SCIPcliquetableCleanup(), SCIPeventCreateImplAdded(), and varEventImplAdded().
| SCIP_RETCODE SCIPeventCreateTypeChanged | ( | SCIP_EVENT ** | event, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_VAR * | var, | ||
| SCIP_VARTYPE | oldtype, | ||
| SCIP_VARTYPE | newtype ) |
creates an event for changing the type of a variable
| event | pointer to store the event |
| blkmem | block memory |
| var | variable whose type changed |
| oldtype | old variable type |
| newtype | new variable type |
Definition at line 952 of file event.c.
References assert(), BMSallocBlockMemory, SCIP_Var::data, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_TYPECHANGED, SCIP_OKAY, SCIPeventCreateTypeChanged(), and var.
Referenced by SCIPeventCreateTypeChanged(), and SCIPvarChgType().
| SCIP_RETCODE SCIPeventCreateImplTypeChanged | ( | SCIP_EVENT ** | event, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_VAR * | var, | ||
| SCIP_IMPLINTTYPE | oldtype, | ||
| SCIP_IMPLINTTYPE | newtype ) |
creates an event for changing the implied integral type of a variable
| event | pointer to store the event |
| blkmem | block memory |
| var | variable whose implied type changed |
| oldtype | old variable implied type |
| newtype | new variable implied type |
Definition at line 975 of file event.c.
References assert(), BMSallocBlockMemory, SCIP_Var::data, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_IMPLTYPECHANGED, SCIP_OKAY, SCIPeventCreateImplTypeChanged(), and var.
Referenced by SCIPeventCreateImplTypeChanged(), and SCIPvarChgImplType().
| 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 998 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_ROWADDEDSEPA, SCIP_OKAY, and SCIPeventCreateRowAddedSepa().
Referenced by SCIPeventCreateRowAddedSepa(), and 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 1017 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_ROWDELETEDSEPA, SCIP_OKAY, and SCIPeventCreateRowDeletedSepa().
Referenced by SCIPeventCreateRowDeletedSepa(), 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 1036 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_ROWADDEDLP, SCIP_OKAY, and SCIPeventCreateRowAddedLP().
Referenced by SCIPeventCreateRowAddedLP(), and 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 1055 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_ROWDELETEDLP, SCIP_OKAY, and SCIPeventCreateRowDeletedLP().
Referenced by lpDelRowset(), SCIPeventCreateRowDeletedLP(), 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 1074 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_ROWCOEFCHANGED, SCIP_OKAY, SCIP_Real, and SCIPeventCreateRowCoefChanged().
Referenced by rowEventCoefChanged(), and SCIPeventCreateRowCoefChanged().
| 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 1099 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_ROWCONSTCHANGED, SCIP_OKAY, SCIP_Real, and SCIPeventCreateRowConstChanged().
Referenced by rowEventConstantChanged(), and SCIPeventCreateRowConstChanged().
| 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 1122 of file event.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_ROWSIDECHANGED, SCIP_OKAY, SCIP_Real, and SCIPeventCreateRowSideChanged().
Referenced by rowEventSideChanged(), and SCIPeventCreateRowSideChanged().
|
static |
| event | event to free |
| blkmem | block memory buffer |
Definition at line 1146 of file event.c.
References assert(), eventFreeExactData(), NULL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_GBDCHANGED, SCIP_EVENTTYPE_OBJCHANGED, and SCIPrationalFreeBlock().
Referenced by eventFreeExactData(), SCIPeventFree(), and SCIPeventqueueAdd().
| SCIP_RETCODE SCIPeventFree | ( | SCIP_EVENT ** | event, |
| BMS_BLKMEM * | blkmem ) |
frees an event
| event | event to free |
| blkmem | block memory buffer |
Definition at line 1168 of file event.c.
References assert(), BMSfreeBlockMemory, eventFreeExactData(), NULL, SCIP_OKAY, and SCIPeventFree().
Referenced by SCIPeventFree(), SCIPeventqueueAdd(), and SCIPeventqueueProcess().
|
static |
disables an event
| event | event to disable |
Definition at line 1184 of file event.c.
References assert(), eventDisable(), NULL, and SCIP_EVENTTYPE_DISABLED.
Referenced by eventDisable(), and SCIPeventqueueAdd().
| SCIP_RETCODE SCIPeventChgType | ( | SCIP_EVENT * | event, |
| SCIP_EVENTTYPE | eventtype ) |
sets type of event
| event | event |
| eventtype | new event type |
Definition at line 1204 of file event.c.
References assert(), NULL, SCIP_OKAY, and SCIPeventChgType().
Referenced by initSolve(), presolveRound(), priceAndCutLoop(), primalAddSol(), SCIPeventChgType(), SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodeFree(), SCIPnodepqBound(), SCIPnodeUpdateLowerbound(), SCIPsolveCIP(), solveNodeInitialLP(), and varProcessAddHoleLocal().
| SCIP_RETCODE SCIPeventChgVar | ( | SCIP_EVENT * | event, |
| SCIP_VAR * | var ) |
sets variable for a variable event
| event | event |
| var | new variable |
Definition at line 1281 of file event.c.
References assert(), SCIP_Event::data, SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_GHOLEADDED, SCIP_EVENTTYPE_GHOLEREMOVED, SCIP_EVENTTYPE_GLBCHANGED, SCIP_EVENTTYPE_GUBCHANGED, SCIP_EVENTTYPE_IMPLADDED, SCIP_EVENTTYPE_IMPLTYPECHANGED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_LHOLEADDED, SCIP_EVENTTYPE_LHOLEREMOVED, SCIP_EVENTTYPE_OBJCHANGED, SCIP_EVENTTYPE_TYPECHANGED, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_EVENTTYPE_VARADDED, SCIP_EVENTTYPE_VARDELETED, SCIP_EVENTTYPE_VARFIXED, SCIP_EVENTTYPE_VARUNLOCKED, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPeventChgVar(), and var.
Referenced by SCIPeventChgVar().
| 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 1547 of file event.c.
References assert(), SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_LPEVENT, SCIP_EVENTTYPE_NODEDELETE, SCIP_EVENTTYPE_NODEEVENT, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPerrorMessage, and SCIPeventChgNode().
Referenced by priceAndCutLoop(), SCIPeventChgNode(), SCIPnodeFree(), 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 1584 of file event.c.
References assert(), SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_SOLEVENT, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPerrorMessage, SCIPeventChgSol(), and sol.
Referenced by primalAddSol(), and SCIPeventChgSol().
| 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 1804 of file event.c.
References assert(), SCIP_Event::data, SCIP_Var::data, SCIP_Lp::divingobjchg, SCIP_Var::eventfilter, SCIP_Var::eventqueueimpl, SCIP_Var::eventqueueindexlb, SCIP_Var::eventqueueindexobj, SCIP_Var::eventqueueindexub, SCIP_Event::eventtype, FALSE, SCIP_Lp::lpexact, newobj, NULL, oldobj, SCIP_Lp::probing, SCIP_CALL, SCIP_EVENTTYPE_BESTSOLFOUND, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_DISABLED, SCIP_EVENTTYPE_DUALBOUNDIMPROVED, SCIP_EVENTTYPE_FIRSTLPSOLVED, SCIP_EVENTTYPE_FORMAT, SCIP_EVENTTYPE_GHOLEADDED, SCIP_EVENTTYPE_GHOLEREMOVED, SCIP_EVENTTYPE_GLBCHANGED, SCIP_EVENTTYPE_GUBCHANGED, SCIP_EVENTTYPE_IMPLADDED, SCIP_EVENTTYPE_IMPLTYPECHANGED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_LHOLEADDED, SCIP_EVENTTYPE_LHOLEREMOVED, SCIP_EVENTTYPE_LPSOLVED, SCIP_EVENTTYPE_NODEBRANCHED, SCIP_EVENTTYPE_NODEDELETE, 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_TYPECHANGED, 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(), SCIPcolExactChgLb(), SCIPcolExactChgObj(), SCIPcolExactChgUb(), SCIPerrorMessage, SCIPeventfilterProcess(), SCIPeventProcess(), SCIPlpExactUpdateVarLb(), SCIPlpExactUpdateVarLbGlobal(), SCIPlpExactUpdateVarObj(), SCIPlpExactUpdateVarUb(), SCIPlpExactUpdateVarUbGlobal(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarLbGlobal(), SCIPlpUpdateVarObj(), SCIPlpUpdateVarUb(), SCIPlpUpdateVarUbGlobal(), SCIPprimalUpdateVarObj(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalSetReal(), SCIPsetDebugMsg, SCIPvarGetCol(), SCIPvarGetColExact(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetStatusExact(), TRUE, updateLpExactBoundChange(), and var.
Referenced by initSolve(), presolveRound(), priceAndCutLoop(), primalAddSol(), SCIPeventProcess(), SCIPeventqueueAdd(), SCIPeventqueueProcess(), SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodeFree(), SCIPnodepqBound(), SCIPnodeUpdateLowerbound(), SCIPsolveCIP(), solveNodeInitialLP(), and varProcessAddHoleLocal().
|
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 2114 of file event.c.
References assert(), BMSreallocBlockMemoryArray, SCIP_EventFilter::eventdata, eventfilterEnsureMem(), SCIP_EventFilter::eventhdlrs, SCIP_EventFilter::eventtypes, SCIP_EventFilter::nextpos, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), and SCIP_EventFilter::size.
Referenced by eventfilterEnsureMem(), and 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 2142 of file event.c.
References assert(), BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_EVENTTYPE_DISABLED, SCIP_OKAY, and SCIPeventfilterCreate().
Referenced by SCIPeventfilterCreate(), 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 2167 of file event.c.
References assert(), BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, i, NULL, SCIP_CALL, SCIP_EVENTTYPE_DISABLED, SCIP_OKAY, and SCIPeventfilterFree().
Referenced by freeTransform(), freeTransforming(), SCIPeventfilterFree(), 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 2207 of file event.c.
References assert(), 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, NULL, SCIP_CALL, SCIP_EVENTTYPE_DISABLED, SCIP_OKAY, and SCIPeventfilterAdd().
Referenced by SCIPcatchEvent(), SCIPeventfilterAdd(), 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 2274 of file event.c.
References assert(), SCIP_EventFilter::eventdata, eventfilterSearch(), SCIP_EventFilter::eventhdlrs, SCIP_EventFilter::eventtypes, i, SCIP_EventFilter::len, SCIP_EventFilter::nextpos, NULL, and SCIP_EVENTTYPE_DISABLED.
Referenced by eventfilterSearch(), and 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 2300 of file event.c.
References assert(), SCIP_EventFilter::delayupdates, SCIP_EventFilter::eventdata, eventfilterSearch(), SCIP_EventFilter::eventhdlrs, SCIP_EventFilter::eventtypes, SCIP_EventFilter::firstdeletedpos, SCIP_EventFilter::firstfreepos, SCIP_EventFilter::nextpos, NULL, SCIP_EVENTTYPE_DISABLED, SCIP_EVENTTYPE_FORMAT, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, and SCIPeventfilterDel().
Referenced by SCIPdropEvent(), SCIPeventfilterDel(), 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 2355 of file event.c.
References assert(), SCIP_EventFilter::delayedeventmask, SCIP_EventFilter::delayupdates, eventfilterDelayUpdates(), NULL, SCIP_EVENTTYPE_DISABLED, and TRUE.
Referenced by eventfilterDelayUpdates(), and SCIPeventfilterProcess().
|
static |
processes all delayed additions and deletions
| eventfilter | event filter |
Definition at line 2368 of file event.c.
References assert(), SCIP_EventFilter::delayedeventmask, SCIP_EventFilter::delayupdates, eventfilterProcessUpdates(), SCIP_EventFilter::eventmask, SCIP_EventFilter::eventtypes, FALSE, SCIP_EventFilter::firstdeletedpos, SCIP_EventFilter::firstfreepos, SCIP_EventFilter::nextpos, NULL, and SCIP_EVENTTYPE_DISABLED.
Referenced by eventfilterProcessUpdates(), and 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 2403 of file event.c.
References assert(), SCIP_EventFilter::eventdata, eventfilterDelayUpdates(), eventfilterProcessUpdates(), SCIP_EventFilter::eventhdlrs, SCIP_EventFilter::eventmask, SCIP_Event::eventtype, SCIP_EventFilter::eventtypes, FALSE, i, SCIP_EventFilter::len, NULL, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_OKAY, SCIPeventfilterProcess(), SCIPeventhdlrExec(), SCIPsetDebugMsg, and TRUE.
Referenced by SCIPeventfilterProcess(), and 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 2482 of file event.c.
References assert(), BMSreallocMemoryArray, eventqueueEnsureEventsMem(), SCIP_EventQueue::events, SCIP_EventQueue::eventssize, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by eventqueueAppend(), and eventqueueEnsureEventsMem().
| SCIP_RETCODE SCIPeventqueueCreate | ( | SCIP_EVENTQUEUE ** | eventqueue | ) |
creates an event queue
| eventqueue | pointer to store the event queue |
Definition at line 2505 of file event.c.
References assert(), BMSallocMemory, FALSE, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPeventqueueCreate().
Referenced by SCIPeventqueueCreate(), and 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 2521 of file event.c.
References assert(), BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_OKAY, and SCIPeventqueueFree().
Referenced by freeTransform(), freeTransforming(), and SCIPeventqueueFree().
|
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 2537 of file event.c.
References assert(), SCIP_EventQueue::delayevents, eventqueueAppend(), eventqueueEnsureEventsMem(), SCIP_EventQueue::events, SCIP_Event::eventtype, SCIP_EventQueue::nevents, NULL, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_OKAY, and SCIPsetDebugMsg.
Referenced by eventqueueAppend(), and 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 2561 of file event.c.
References assert(), SCIP_Event::data, SCIP_Var::data, SCIP_EventQueue::delayevents, eventDisable(), eventFreeExactData(), eventqueueAppend(), SCIP_Var::eventqueueimpl, SCIP_Var::eventqueueindexlb, SCIP_Var::eventqueueindexobj, SCIP_Var::eventqueueindexub, SCIP_Event::eventtype, NULL, SCIP_CALL, SCIP_EVENTTYPE_BESTSOLFOUND, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_DISABLED, SCIP_EVENTTYPE_DUALBOUNDIMPROVED, 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_NODEDELETE, 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, SCIPeventAddExactBdChg(), SCIPeventFree(), SCIPeventProcess(), SCIPeventqueueAdd(), SCIPeventqueueDelay(), SCIPeventqueueProcess(), SCIPrationalFreeBlock(), SCIPrationalSetRational(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPvarGetName(), TRUE, and var.
Referenced by lpDelRowset(), rowEventCoefChanged(), rowEventConstantChanged(), rowEventSideChanged(), SCIPcliquetableCleanup(), SCIPeventqueueAdd(), SCIPincrementConcurrentTime(), SCIPlpAddRow(), SCIPlpShrinkRows(), SCIPprobAddVar(), SCIPprobDelVar(), SCIPsepastoreAddCut(), SCIPsepastoreClearCuts(), SCIPvarChgImplType(), SCIPvarChgType(), sepastoreDelCut(), varEventGholeAdded(), varEventGlbChanged(), varEventGlbChangedExact(), varEventGubChanged(), varEventGubChangedExact(), varEventImplAdded(), varEventLbChanged(), varEventLbChangedExact(), varEventObjChanged(), varEventObjChangedExact(), varEventUbChanged(), varEventUbChangedExact(), 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 2846 of file event.c.
References assert(), SCIP_EventQueue::delayevents, NULL, SCIP_OKAY, SCIPdebugMessage, SCIPeventqueueDelay(), and TRUE.
Referenced by nodeRepropagate(), SCIPcliquetableCleanup(), SCIPeventqueueAdd(), SCIPeventqueueDelay(), 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
processes all events in the queue
| eventqueue | event queue |
| blkmem | block memory buffer |
| set | global SCIP settings |
| primal | primal data |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventfilter | global event filter |
Definition at line 2861 of file event.c.
References assert(), SCIP_Event::data, SCIP_EventQueue::delayevents, SCIP_EventQueue::events, SCIP_Event::eventtype, FALSE, i, SCIP_EventQueue::nevents, NULL, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_EVENTTYPE_IMPLADDED, SCIP_EVENTTYPE_LBCHANGED, SCIP_EVENTTYPE_OBJCHANGED, SCIP_EVENTTYPE_UBCHANGED, SCIP_OKAY, SCIPeventFree(), SCIPeventProcess(), SCIPeventqueueProcess(), and SCIPsetDebugMsg.
Referenced by nodeRepropagate(), SCIPcliquetableCleanup(), SCIPeventqueueAdd(), SCIPeventqueueProcess(), 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 2933 of file event.c.
References assert(), SCIP_EventQueue::delayevents, NULL, SCIP_Bool, and SCIPeventqueueIsDelayed().
Referenced by nodeRepropagate(), SCIPeventqueueIsDelayed(), SCIPvarAggregate(), SCIPvarAggregateExact(), SCIPvarFix(), SCIPvarFixExact(), SCIPvarMultiaggregate(), and SCIPvarMultiaggregateExact().