Detailed Description
methods to create, catch, process, and drop events during the solving process of SCIP
Events can only be caught during the operation on the transformed problem. Events on variables can only be caught for transformed variables. If you want to catch an event for an original variable, you have to get the corresponding transformed variable with a call to SCIPgetTransformedVar() and catch the event on the transformed variable.
Function Documentation
◆ SCIPeventGetType()
SCIP_EXPORT SCIP_EVENTTYPE SCIPeventGetType | ( | SCIP_EVENT * | event | ) |
gets type of event
- Parameters
-
event event
Definition at line 1021 of file event.c.
References NULL.
Referenced by SCIP_DECL_EVENTEXEC(), and SCIPclearConflictStore().
◆ SCIPeventGetVar()
SCIP_EXPORT SCIP_VAR* SCIPeventGetVar | ( | SCIP_EVENT * | event | ) |
gets variable for a variable event (var added, var deleted, var fixed, objective value or domain change, domain hole added or removed)
gets variable for a variable event (var added, var deleted, var fixed, objective value or domain change)
- Parameters
-
event event
Definition at line 1044 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::eventtypechg, SCIP_Event::eventvaradded, SCIP_Event::eventvardeleted, SCIP_Event::eventvarfixed, SCIP_Event::eventvarunlocked, NULL, 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_TYPECHANGED, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_EVENTTYPE_VARADDED, SCIP_EVENTTYPE_VARDELETED, SCIP_EVENTTYPE_VARFIXED, SCIP_EVENTTYPE_VARUNLOCKED, SCIPABORT, SCIPerrorMessage, SCIP_EventVarAdded::var, SCIP_EventVarDeleted::var, SCIP_EventVarFixed::var, SCIP_EventVarUnlocked::var, SCIP_EventObjChg::var, SCIP_EventBdChg::var, SCIP_EventHole::var, SCIP_EventImplAdd::var, and SCIP_EventTypeChg::var.
Referenced by SCIP_DECL_EVENTEXEC().
◆ SCIPeventGetOldobj()
SCIP_EXPORT SCIP_Real SCIPeventGetOldobj | ( | SCIP_EVENT * | event | ) |
gets old objective value for an objective value change event
- Parameters
-
event event
Definition at line 1175 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_OBJCHANGED, SCIP_INVALID, SCIPABORT, and SCIPerrorMessage.
Referenced by SCIP_DECL_EVENTEXEC().
◆ SCIPeventGetNewobj()
SCIP_EXPORT SCIP_Real SCIPeventGetNewobj | ( | SCIP_EVENT * | event | ) |
gets new objective value for an objective value change event
- Parameters
-
event event
Definition at line 1192 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_OBJCHANGED, SCIP_INVALID, SCIPABORT, and SCIPerrorMessage.
Referenced by SCIP_DECL_EVENTEXEC().
◆ SCIPeventGetOldbound()
SCIP_EXPORT SCIP_Real SCIPeventGetOldbound | ( | SCIP_EVENT * | event | ) |
gets old bound for a bound change event
- Parameters
-
event event
Definition at line 1209 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_GLBCHANGED, SCIP_EVENTTYPE_GUBCHANGED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIPABORT, and SCIPerrorMessage.
Referenced by SCIP_DECL_EVENTEXEC().
◆ SCIPeventGetNewbound()
SCIP_EXPORT SCIP_Real SCIPeventGetNewbound | ( | SCIP_EVENT * | event | ) |
gets new bound for a bound change event
- Parameters
-
event event
Definition at line 1233 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_GLBCHANGED, SCIP_EVENTTYPE_GUBCHANGED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIPABORT, and SCIPerrorMessage.
Referenced by SCIP_DECL_EVENTEXEC().
◆ SCIPeventGetOldtype()
SCIP_EXPORT SCIP_VARTYPE SCIPeventGetOldtype | ( | SCIP_EVENT * | event | ) |
gets old variable type for a variable type change event
- Parameters
-
event event
Definition at line 1257 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_TYPECHANGED, SCIP_VARTYPE_CONTINUOUS, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetNewtype()
SCIP_EXPORT SCIP_VARTYPE SCIPeventGetNewtype | ( | SCIP_EVENT * | event | ) |
gets new variable type for a variable type change event
- Parameters
-
event event
Definition at line 1274 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_TYPECHANGED, SCIP_VARTYPE_CONTINUOUS, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetNode()
SCIP_EXPORT SCIP_NODE* SCIPeventGetNode | ( | SCIP_EVENT * | event | ) |
gets node for a node or LP event
- Parameters
-
event event
Definition at line 1291 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_LPEVENT, SCIP_EVENTTYPE_NODEDELETE, SCIP_EVENTTYPE_NODEEVENT, SCIPABORT, and SCIPerrorMessage.
Referenced by SCIP_DECL_EVENTEXEC().
◆ SCIPeventGetSol()
SCIP_EXPORT SCIP_SOL* SCIPeventGetSol | ( | SCIP_EVENT * | event | ) |
gets solution for a primal solution event
- Parameters
-
event event
Definition at line 1328 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_SOLEVENT, SCIPABORT, and SCIPerrorMessage.
Referenced by SCIP_DECL_EVENTEXEC(), and SCIPclearConflictStore().
◆ SCIPeventGetHoleLeft()
SCIP_EXPORT SCIP_Real SCIPeventGetHoleLeft | ( | SCIP_EVENT * | event | ) |
gets the left bound of open interval in the hole
- Parameters
-
event event
Definition at line 1365 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_HOLECHANGED, SCIP_INVALID, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetHoleRight()
SCIP_EXPORT SCIP_Real SCIPeventGetHoleRight | ( | SCIP_EVENT * | event | ) |
gets the right bound of open interval in the hole
- Parameters
-
event event
Definition at line 1382 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_HOLECHANGED, SCIP_INVALID, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetRow()
SCIP_EXPORT SCIP_ROW* SCIPeventGetRow | ( | SCIP_EVENT * | event | ) |
gets row for a row event
- Parameters
-
event event
Definition at line 1399 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_ROWADDEDLP, SCIP_EVENTTYPE_ROWADDEDSEPA, SCIP_EVENTTYPE_ROWCOEFCHANGED, SCIP_EVENTTYPE_ROWCONSTCHANGED, SCIP_EVENTTYPE_ROWDELETEDLP, SCIP_EVENTTYPE_ROWDELETEDSEPA, SCIP_EVENTTYPE_ROWSIDECHANGED, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetRowCol()
SCIP_EXPORT SCIP_COL* SCIPeventGetRowCol | ( | SCIP_EVENT * | event | ) |
gets column for a row change coefficient event
- Parameters
-
event event
Definition at line 1429 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_ROWCOEFCHANGED, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetRowOldCoefVal()
SCIP_EXPORT SCIP_Real SCIPeventGetRowOldCoefVal | ( | SCIP_EVENT * | event | ) |
gets old coefficient value for a row change coefficient event
- Parameters
-
event event
Definition at line 1446 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_ROWCOEFCHANGED, SCIP_INVALID, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetRowNewCoefVal()
SCIP_EXPORT SCIP_Real SCIPeventGetRowNewCoefVal | ( | SCIP_EVENT * | event | ) |
gets new coefficient value for a row change coefficient event
- Parameters
-
event event
Definition at line 1463 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_ROWCOEFCHANGED, SCIP_INVALID, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetRowOldConstVal()
SCIP_EXPORT SCIP_Real SCIPeventGetRowOldConstVal | ( | SCIP_EVENT * | event | ) |
gets old constant value for a row change constant event
- Parameters
-
event event
Definition at line 1480 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_ROWCONSTCHANGED, SCIP_INVALID, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetRowNewConstVal()
SCIP_EXPORT SCIP_Real SCIPeventGetRowNewConstVal | ( | SCIP_EVENT * | event | ) |
gets new constant value for a row change constant event
- Parameters
-
event event
Definition at line 1497 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_ROWCONSTCHANGED, SCIP_INVALID, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetRowSide()
SCIP_EXPORT SCIP_SIDETYPE SCIPeventGetRowSide | ( | SCIP_EVENT * | event | ) |
gets side for a row change side event
- Parameters
-
event event
Definition at line 1514 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_ROWSIDECHANGED, SCIP_SIDETYPE_LEFT, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetRowOldSideVal()
SCIP_EXPORT SCIP_Real SCIPeventGetRowOldSideVal | ( | SCIP_EVENT * | event | ) |
gets old side value for a row change side event
- Parameters
-
event event
Definition at line 1531 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_ROWSIDECHANGED, SCIP_INVALID, SCIPABORT, and SCIPerrorMessage.
◆ SCIPeventGetRowNewSideVal()
SCIP_EXPORT SCIP_Real SCIPeventGetRowNewSideVal | ( | SCIP_EVENT * | event | ) |
gets new side value for a row change side event
- Parameters
-
event event
Definition at line 1548 of file event.c.
References SCIP_Event::eventtype, NULL, SCIP_EVENTTYPE_ROWSIDECHANGED, SCIP_INVALID, SCIPABORT, and SCIPerrorMessage.
◆ SCIPcatchEvent()
SCIP_EXPORT SCIP_RETCODE SCIPcatchEvent | ( | SCIP * | scip, |
SCIP_EVENTTYPE | eventtype, | ||
SCIP_EVENTHDLR * | eventhdlr, | ||
SCIP_EVENTDATA * | eventdata, | ||
int * | filterpos | ||
) |
catches a global (not variable or row dependent) event
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scip
is in one of the following stages:
- Parameters
-
scip SCIP data structure eventtype event type mask to select events to catch eventhdlr event handler to process events with eventdata event data to pass to the event handler when processing this event filterpos pointer to store position of event filter entry, or NULL
Definition at line 277 of file scip_event.c.
References Scip::eventfilter, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPeventfilterAdd(), Scip::set, and TRUE.
Referenced by initsolEventhandler(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_EVENTINIT(), SCIP_DECL_EVENTINITSOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PROBINITSOL(), SCIP_DECL_PROPINITSOL(), SCIPapplyProximity(), setupAndSolve(), setupAndSolveSubscip(), setupAndSolveSubscipCrossover(), setupAndSolveSubscipLocalbranching(), setupAndSolveSubscipTrustregion(), solveSubscipLpface(), wrapperDins(), and wrapperRins().
◆ SCIPdropEvent()
SCIP_EXPORT SCIP_RETCODE SCIPdropEvent | ( | SCIP * | scip, |
SCIP_EVENTTYPE | eventtype, | ||
SCIP_EVENTHDLR * | eventhdlr, | ||
SCIP_EVENTDATA * | eventdata, | ||
int | filterpos | ||
) |
drops a global event (stops to track event)
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scip
is in one of the following stages:
- Parameters
-
scip SCIP data structure eventtype event type mask of dropped event eventhdlr event handler to process events with eventdata event data to pass to the event handler when processing this event filterpos position of event filter entry returned by SCIPcatchEvent(), or -1
Definition at line 311 of file scip_event.c.
References Scip::eventfilter, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPeventfilterDel(), Scip::set, and TRUE.
Referenced by exitsolEventhandler(), SCIP_DECL_CONSEXITSOL(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXIT(), SCIP_DECL_EVENTEXITSOL(), SCIP_DECL_PROBEXITSOL(), SCIP_DECL_PROPEXITSOL(), SCIPapplyProximity(), setupAndSolve(), setupAndSolveSubscip(), setupAndSolveSubscipCrossover(), setupAndSolveSubscipLocalbranching(), setupAndSolveSubscipTrustregion(), wrapperDins(), and wrapperRins().
◆ SCIPcatchVarEvent()
SCIP_EXPORT SCIP_RETCODE SCIPcatchVarEvent | ( | SCIP * | scip, |
SCIP_VAR * | var, | ||
SCIP_EVENTTYPE | eventtype, | ||
SCIP_EVENTHDLR * | eventhdlr, | ||
SCIP_EVENTDATA * | eventdata, | ||
int * | filterpos | ||
) |
catches an objective value or domain change event on the given transformed variable
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scip
is in one of the following stages:
- Parameters
-
scip SCIP data structure var transformed variable to catch event for eventtype event type mask to select events to catch eventhdlr event handler to process events with eventdata event data to pass to the event handler when processing this event filterpos pointer to store position of event filter entry, or NULL
Definition at line 345 of file scip_event.c.
References FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_EVENTTYPE_VARCHANGED, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPvarCatchEvent(), SCIPvarGetName(), SCIPvarIsOriginal(), Scip::set, and TRUE.
Referenced by addCoef(), applyFixings(), branchruledataEnsureArraySize(), catchEvent(), catchEventBinvar(), catchEventIntvar(), catchEvents(), catchLhsVarEvents(), catchLinearVarEvents(), catchObjEvent(), catchQuadVarEvents(), catchRhsVarEvents(), catchVarEventCardinality(), catchVarEvents(), COLORprobAddVarForStableSet(), consdataCatchEvents(), consdataCatchWatchedEvents(), consdataCreate(), consdataSwitchWatchedvars(), createSubSCIP(), determineSymmetry(), handleNewVariableSOS1(), handleNewVariableSOS2(), heurdataEnsureArraySize(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTINIT(), SCIP_DECL_EVENTINITSOL(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_HEUREXEC(), SCIPcreateConsLogicor(), SCIPsetBinaryVarIndicator(), setUpEvents(), and switchWatchedvars().
◆ SCIPdropVarEvent()
SCIP_EXPORT SCIP_RETCODE SCIPdropVarEvent | ( | SCIP * | scip, |
SCIP_VAR * | var, | ||
SCIP_EVENTTYPE | eventtype, | ||
SCIP_EVENTHDLR * | eventhdlr, | ||
SCIP_EVENTDATA * | eventdata, | ||
int | filterpos | ||
) |
drops an objective value or domain change event (stops to track event) on the given transformed variable
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scip
is in one of the following stages:
- Parameters
-
scip SCIP data structure var transformed variable to drop event for eventtype event type mask of dropped event eventhdlr event handler to process events with eventdata event data to pass to the event handler when processing this event filterpos position of event filter entry returned by SCIPcatchVarEvent(), or -1
Definition at line 391 of file scip_event.c.
References FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPvarDropEvent(), SCIPvarGetName(), SCIPvarIsOriginal(), Scip::set, and TRUE.
Referenced by applyFixings(), consdataDropEvents(), consdataDropWatchedEvents(), consdataSwitchWatchedvars(), delCoefPos(), deleteVarSOS1(), deleteVarSOS2(), dropAndFreeEvents(), dropEvent(), dropEventBinvar(), dropEventIntvar(), dropEvents(), dropLhsVarEvents(), dropLinearVarEvents(), dropObjEvent(), dropQuadVarEvents(), dropRhsVarEvents(), dropVarEventCardinality(), dropVarEvents(), freeSubSCIP(), freeSymmetryData(), heurdataFreeArrays(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), SCIP_DECL_BRANCHEXITSOL(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSEXITPRE(), SCIP_DECL_EVENTEXITSOL(), SCIP_DECL_EXPRGRAPHVARREMOVE(), SCIP_DECL_HEUREXEC(), and switchWatchedvars().
◆ SCIPcatchRowEvent()
SCIP_EXPORT SCIP_RETCODE SCIPcatchRowEvent | ( | SCIP * | scip, |
SCIP_ROW * | row, | ||
SCIP_EVENTTYPE | eventtype, | ||
SCIP_EVENTHDLR * | eventhdlr, | ||
SCIP_EVENTDATA * | eventdata, | ||
int * | filterpos | ||
) |
catches a row coefficient, constant, or side change event on the given row
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scip
is in one of the following stages:
- Parameters
-
scip SCIP data structure row linear row to catch event for eventtype event type mask to select events to catch eventhdlr event handler to process events with eventdata event data to pass to the event handler when processing this event filterpos pointer to store position of event filter entry, or NULL
Definition at line 431 of file scip_event.c.
References FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_EVENTTYPE_ROWCHANGED, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIProwCatchEvent(), Scip::set, and TRUE.
◆ SCIPdropRowEvent()
SCIP_EXPORT SCIP_RETCODE SCIPdropRowEvent | ( | SCIP * | scip, |
SCIP_ROW * | row, | ||
SCIP_EVENTTYPE | eventtype, | ||
SCIP_EVENTHDLR * | eventhdlr, | ||
SCIP_EVENTDATA * | eventdata, | ||
int | filterpos | ||
) |
drops a row coefficient, constant, or side change event (stops to track event) on the given row
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scip
is in one of the following stages:
- Parameters
-
scip SCIP data structure row linear row to drop event for eventtype event type mask of dropped event eventhdlr event handler to process events with eventdata event data to pass to the event handler when processing this event filterpos position of event filter entry returned by SCIPcatchVarEvent(), or -1
Definition at line 471 of file scip_event.c.
References FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIProwDropEvent(), Scip::set, and TRUE.