public methods related to conflict analysis
SCIP_DECL_SORTPTRCOMP | ( | SCIPconflicthdlrComp | ) |
compares two conflict handlers w. r. to their priority
Definition at line 336 of file conflict.c.
SCIP_DECL_SORTPTRCOMP | ( | SCIPconflicthdlrCompName | ) |
comparison method for sorting conflict handler w.r.t. to their name
Definition at line 342 of file conflict.c.
References SCIPconflicthdlrGetName().
SCIP_CONFLICTHDLRDATA* SCIPconflicthdlrGetData | ( | SCIP_CONFLICTHDLR * | conflicthdlr | ) |
gets user data of conflict handler
conflicthdlr | conflict handler |
Definition at line 625 of file conflict.c.
References SCIP_Conflicthdlr::conflicthdlrdata.
Referenced by SCIP_DECL_CONFLICTEXEC(), and SCIP_DECL_CONFLICTFREE().
void SCIPconflicthdlrSetData | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_CONFLICTHDLRDATA * | conflicthdlrdata | ||
) |
sets user data of conflict handler; user has to free old data in advance!
conflicthdlr | conflict handler |
conflicthdlrdata | new conflict handler user data |
Definition at line 635 of file conflict.c.
References SCIP_Conflicthdlr::conflicthdlrdata.
const char* SCIPconflicthdlrGetName | ( | SCIP_CONFLICTHDLR * | conflicthdlr | ) |
gets name of conflict handler
conflicthdlr | conflict handler |
Definition at line 712 of file conflict.c.
References SCIP_Conflicthdlr::name.
Referenced by conflictAddConflictCons(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONFLICTFREE(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_SORTPTRCOMP(), SCIPconflicthdlrCopyInclude(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and SCIPsetReinsertConshdlrSepaPrio().
const char* SCIPconflicthdlrGetDesc | ( | SCIP_CONFLICTHDLR * | conflicthdlr | ) |
gets description of conflict handler
conflicthdlr | conflict handler |
Definition at line 722 of file conflict.c.
References SCIP_Conflicthdlr::desc.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
int SCIPconflicthdlrGetPriority | ( | SCIP_CONFLICTHDLR * | conflicthdlr | ) |
gets priority of conflict handler
conflicthdlr | conflict handler |
Definition at line 732 of file conflict.c.
References SCIP_Conflicthdlr::priority.
Referenced by conflictAddConflictCons(), and SCIP_DECL_DIALOGEXEC().
SCIP_Bool SCIPconflicthdlrIsInitialized | ( | SCIP_CONFLICTHDLR * | conflicthdlr | ) |
is conflict handler initialized?
conflicthdlr | conflict handler |
Definition at line 756 of file conflict.c.
References SCIP_Conflicthdlr::initialized.
Referenced by SCIPsetReinsertConshdlrSepaPrio().
SCIP_Real SCIPconflicthdlrGetSetupTime | ( | SCIP_CONFLICTHDLR * | conflicthdlr | ) |
gets time in seconds used in this conflict handler for setting up for next stages
conflicthdlr | conflict handler |
Definition at line 778 of file conflict.c.
References SCIPclockGetTime(), and SCIP_Conflicthdlr::setuptime.
SCIP_Real SCIPconflicthdlrGetTime | ( | SCIP_CONFLICTHDLR * | conflicthdlr | ) |
gets time in seconds used in this conflict handler
conflicthdlr | conflict handler |
Definition at line 788 of file conflict.c.
References SCIP_Conflicthdlr::conflicttime, and SCIPclockGetTime().
SCIP_RETCODE SCIPincludeConflicthdlr | ( | SCIP * | scip, |
const char * | name, | ||
const char * | desc, | ||
int | priority, | ||
SCIP_DECL_CONFLICTCOPY((*conflictcopy)) | , | ||
SCIP_DECL_CONFLICTFREE((*conflictfree)) | , | ||
SCIP_DECL_CONFLICTINIT((*conflictinit)) | , | ||
SCIP_DECL_CONFLICTEXIT((*conflictexit)) | , | ||
SCIP_DECL_CONFLICTINITSOL((*conflictinitsol)) | , | ||
SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol)) | , | ||
SCIP_DECL_CONFLICTEXEC((*conflictexec)) | , | ||
SCIP_CONFLICTHDLRDATA * | conflicthdlrdata | ||
) |
creates a conflict handler and includes it in SCIP
scip | SCIP data structure |
name | name of conflict handler |
desc | description of conflict handler |
priority | priority of the conflict handler |
conflicthdlrdata | conflict handler data |
Definition at line 6645 of file scip.c.
References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconflicthdlrCreate(), SCIPerrorMessage, SCIPfindConflicthdlr(), SCIPsetIncludeConflicthdlr(), Scip::set, SCIP_Mem::setmem, and TRUE.
SCIP_RETCODE SCIPincludeConflicthdlrBasic | ( | SCIP * | scip, |
SCIP_CONFLICTHDLR ** | conflicthdlrptr, | ||
const char * | name, | ||
const char * | desc, | ||
int | priority, | ||
SCIP_DECL_CONFLICTEXEC((*conflictexec)) | , | ||
SCIP_CONFLICTHDLRDATA * | conflicthdlrdata | ||
) |
creates a conflict handler and includes it in SCIP with its most fundamental callbacks. All non-fundamental (or optional) callbacks as, e.g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions SCIPsetConflicthdlrCopy(), SCIPsetConflicthdlrFree(), SCIPsetConflicthdlrInit(), SCIPsetConflicthdlrExit(), SCIPsetConflicthdlrInitsol(), and SCIPsetConflicthdlrExitsol()
scip | SCIP data structure |
conflicthdlrptr | reference to a conflict handler pointer, or NULL |
name | name of conflict handler |
desc | description of conflict handler |
priority | priority of the conflict handler |
conflicthdlrdata | conflict handler data |
Definition at line 6688 of file scip.c.
References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconflicthdlrCreate(), SCIPerrorMessage, SCIPfindConflicthdlr(), SCIPsetIncludeConflicthdlr(), Scip::set, SCIP_Mem::setmem, and TRUE.
Referenced by SCIP_DECL_NONLINCONSUPGD(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrIndicator(), and SCIPincludeConshdlrLogicor().
SCIP_RETCODE SCIPsetConflicthdlrCopy | ( | SCIP * | scip, |
SCIP_CONFLICTHDLR * | conflicthdlr, | ||
SCIP_DECL_CONFLICTCOPY((*conflictcopy)) | |||
) |
set copy method of conflict handler
scip | SCIP data structure |
conflicthdlr | conflict handler |
Definition at line 6720 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetCopy(), and TRUE.
SCIP_RETCODE SCIPsetConflicthdlrFree | ( | SCIP * | scip, |
SCIP_CONFLICTHDLR * | conflicthdlr, | ||
SCIP_DECL_CONFLICTFREE((*conflictfree)) | |||
) |
set destructor of conflict handler
scip | SCIP data structure |
conflicthdlr | conflict handler |
Definition at line 6736 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetFree(), and TRUE.
Referenced by SCIPincludeConshdlrBounddisjunction(), and SCIPincludeConshdlrIndicator().
SCIP_RETCODE SCIPsetConflicthdlrInit | ( | SCIP * | scip, |
SCIP_CONFLICTHDLR * | conflicthdlr, | ||
SCIP_DECL_CONFLICTINIT((*conflictinit)) | |||
) |
set initialization method of conflict handler
scip | SCIP data structure |
conflicthdlr | conflict handler |
Definition at line 6752 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetInit(), and TRUE.
SCIP_RETCODE SCIPsetConflicthdlrExit | ( | SCIP * | scip, |
SCIP_CONFLICTHDLR * | conflicthdlr, | ||
SCIP_DECL_CONFLICTEXIT((*conflictexit)) | |||
) |
set deinitialization method of conflict handler
scip | SCIP data structure |
conflicthdlr | conflict handler |
Definition at line 6768 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetExit(), and TRUE.
SCIP_RETCODE SCIPsetConflicthdlrInitsol | ( | SCIP * | scip, |
SCIP_CONFLICTHDLR * | conflicthdlr, | ||
SCIP_DECL_CONFLICTINITSOL((*conflictinitsol)) | |||
) |
set solving process initialization method of conflict handler
scip | SCIP data structure |
conflicthdlr | conflict handler |
Definition at line 6784 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetInitsol(), and TRUE.
SCIP_RETCODE SCIPsetConflicthdlrExitsol | ( | SCIP * | scip, |
SCIP_CONFLICTHDLR * | conflicthdlr, | ||
SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol)) | |||
) |
set solving process deinitialization method of conflict handler
scip | SCIP data structure |
conflicthdlr | conflict handler |
Definition at line 6800 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetExitsol(), and TRUE.
SCIP_CONFLICTHDLR* SCIPfindConflicthdlr | ( | SCIP * | scip, |
const char * | name | ||
) |
returns the conflict handler of the given name, or NULL if not existing
scip | SCIP data structure |
name | name of conflict handler |
Definition at line 6816 of file scip.c.
References SCIPsetFindConflicthdlr(), and Scip::set.
Referenced by SCIPincludeConflicthdlr(), and SCIPincludeConflicthdlrBasic().
SCIP_CONFLICTHDLR** SCIPgetConflicthdlrs | ( | SCIP * | scip | ) |
returns the array of currently available conflict handlers
scip | SCIP data structure |
Definition at line 6829 of file scip.c.
References SCIP_Set::conflicthdlrs, SCIPsetSortConflicthdlrs(), and Scip::set.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
int SCIPgetNConflicthdlrs | ( | SCIP * | scip | ) |
returns the number of currently available conflict handlers
scip | SCIP data structure |
Definition at line 6842 of file scip.c.
References SCIP_Set::nconflicthdlrs, and Scip::set.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
SCIP_RETCODE SCIPsetConflicthdlrPriority | ( | SCIP * | scip, |
SCIP_CONFLICTHDLR * | conflicthdlr, | ||
int | priority | ||
) |
sets the priority of a conflict handler
scip | SCIP data structure |
conflicthdlr | conflict handler |
priority | new priority of the conflict handler |
Definition at line 6853 of file scip.c.
References SCIP_OKAY, SCIPconflicthdlrSetPriority(), and Scip::set.
Referenced by SCIP_DECL_PARAMCHGD().
return TRUE if conflict analysis is applicable; In case the function return FALSE there is no need to initialize the conflict analysis since it will not be applied
scip | SCIP data structure |
Definition at line 27127 of file scip.c.
References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPconflictApplicable(), SCIPgetDepth(), Scip::set, and TRUE.
Referenced by analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictOne(), analyzeConflictOverload(), analyzeConflictUpperbound(), analyzeConflictZero(), analyzeGenVBoundConflict(), inferboundsEdgeFinding(), processBinvarFixings(), propagateCons(), propagateCutoffboundBinvar(), propagateFullOrbitope(), propagateLbTTEF(), propagatePackingPartitioningCons(), propagateTTEF(), propagateUbTTEF(), propIndicator(), propVariables(), SCIPaddRow(), tightenedIntvar(), tightenLbTTEF(), and tightenUbTTEF().
SCIP_RETCODE SCIPinitConflictAnalysis | ( | SCIP * | scip, |
SCIP_CONFTYPE | conftype, | ||
SCIP_Bool | iscutoffinvolved | ||
) |
initializes the conflict analysis by clearing the conflict candidate queue; this method must be called before you enter the conflict variables by calling SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), or SCIPaddConflictBinvar();
scip | SCIP data structure |
conftype | type of conflict |
iscutoffinvolved | is the current cutoff bound involved? |
Definition at line 27149 of file scip.c.
References checkStage(), Scip::conflict, FALSE, SCIP_CALL, SCIP_OKAY, SCIPconflictInit(), Scip::set, Scip::stat, Scip::transprob, and TRUE.
Referenced by analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictOne(), analyzeConflictOverload(), analyzeConflictUpperbound(), analyzeConflictZero(), analyzeGenVBoundConflict(), inferboundsEdgeFinding(), processBinvarFixings(), propagateCons(), propagateCutoffboundBinvar(), propagateFullOrbitope(), propagateLbTTEF(), propagatePackingPartitioningCons(), propagateTTEF(), propagateUbTTEF(), propIndicator(), propVariables(), SCIP_DECL_CONSPROP(), SCIPaddRow(), tightenedIntvar(), tightenLbTTEF(), and tightenUbTTEF().
SCIP_RETCODE SCIPaddConflictLb | ( | SCIP * | scip, |
SCIP_VAR * | var, | ||
SCIP_BDCHGIDX * | bdchgidx | ||
) |
adds lower bound of variable at the time of the given bound change index to the conflict analysis' candidate storage; this method should be called in one of the following two cases:
scip | SCIP data structure |
var | variable whose lower bound should be added to conflict candidate queue |
bdchgidx | bound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound |
Definition at line 27178 of file scip.c.
References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPconflictAddBound(), Scip::set, Scip::stat, and TRUE.
Referenced by addConflictBinvar(), addConflictBounds(), addConflictReasonVars(), analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictOverload(), analyzeConflictUpperbound(), analyzeEnergyRequirement(), inferboundsEdgeFinding(), propagateTTEF(), propIndicator(), resolvePropagation(), resolvePropagationCoretimes(), resolvePropagationFullOrbitopes(), respropCumulativeCondition(), SCIP_DECL_CONSRESPROP(), SCIPaddRow(), tightenedIntvar(), and tightenUbTTEF().
SCIP_RETCODE SCIPaddConflictRelaxedLb | ( | SCIP * | scip, |
SCIP_VAR * | var, | ||
SCIP_BDCHGIDX * | bdchgidx, | ||
SCIP_Real | relaxedlb | ||
) |
adds lower bound of variable at the time of the given bound change index to the conflict analysis' candidate storage with the additional information of a relaxed lower bound; this relaxed lower bound is the one which would be enough to explain a certain bound change; this method should be called in one of the following two cases:
scip | SCIP data structure |
var | variable whose lower bound should be added to conflict candidate queue |
bdchgidx | bound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound |
relaxedlb | the relaxed lower bound |
Definition at line 27212 of file scip.c.
References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPconflictAddRelaxedBound(), Scip::set, Scip::stat, and TRUE.
Referenced by analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictOverload(), analyzeConflictUpperbound(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), relaxVbdvar(), resolveGenVBoundPropagation(), resolvePropagation(), resolvePropagationCoretimes(), and respropCumulativeCondition().
SCIP_RETCODE SCIPaddConflictUb | ( | SCIP * | scip, |
SCIP_VAR * | var, | ||
SCIP_BDCHGIDX * | bdchgidx | ||
) |
adds upper bound of variable at the time of the given bound change index to the conflict analysis' candidate storage; this method should be called in one of the following two cases:
scip | SCIP data structure |
var | variable whose upper bound should be added to conflict candidate queue |
bdchgidx | bound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound |
Definition at line 27245 of file scip.c.
References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPconflictAddBound(), Scip::set, Scip::stat, and TRUE.
Referenced by addConflictBinvar(), addConflictBounds(), addConflictReasonVars(), analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictOverload(), analyzeEnergyRequirement(), inferboundsEdgeFinding(), propagateLbTTEF(), propagateUbTTEF(), resolvePropagation(), resolvePropagationCoretimes(), resolvePropagationFullOrbitopes(), respropCumulativeCondition(), SCIP_DECL_CONSRESPROP(), SCIPaddRow(), tightenedIntvar(), and tightenLbTTEF().
SCIP_RETCODE SCIPaddConflictRelaxedUb | ( | SCIP * | scip, |
SCIP_VAR * | var, | ||
SCIP_BDCHGIDX * | bdchgidx, | ||
SCIP_Real | relaxedub | ||
) |
adds upper bound of variable at the time of the given bound change index to the conflict analysis' candidate storage with the additional information of a relaxed upper bound; this relaxed upper bound is the one which would be enough to explain a certain bound change; this method should be called in one of the following two cases:
scip | SCIP data structure |
var | variable whose upper bound should be added to conflict candidate queue |
bdchgidx | bound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound |
relaxedub | the relaxed upper bound |
Definition at line 27280 of file scip.c.
References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPconflictAddRelaxedBound(), Scip::set, Scip::stat, and TRUE.
Referenced by analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictOverload(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), relaxVbdvar(), resolveGenVBoundPropagation(), resolvePropagation(), resolvePropagationCoretimes(), and respropCumulativeCondition().
SCIP_RETCODE SCIPaddConflictBd | ( | SCIP * | scip, |
SCIP_VAR * | var, | ||
SCIP_BOUNDTYPE | boundtype, | ||
SCIP_BDCHGIDX * | bdchgidx | ||
) |
adds lower or upper bound of variable at the time of the given bound change index to the conflict analysis' candidate storage; this method should be called in one of the following two cases:
scip | SCIP data structure |
var | variable whose upper bound should be added to conflict candidate queue |
boundtype | the type of the conflicting bound (lower or upper bound) |
bdchgidx | bound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound |
Definition at line 27313 of file scip.c.
References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPconflictAddBound(), Scip::set, Scip::stat, and TRUE.
Referenced by analyzeConflict(), and SCIP_DECL_CONSRESPROP().
SCIP_RETCODE SCIPaddConflictRelaxedBd | ( | SCIP * | scip, |
SCIP_VAR * | var, | ||
SCIP_BOUNDTYPE | boundtype, | ||
SCIP_BDCHGIDX * | bdchgidx, | ||
SCIP_Real | relaxedbd | ||
) |
adds lower or upper bound of variable at the time of the given bound change index to the conflict analysis' candidate storage; with the additional information of a relaxed upper bound; this relaxed upper bound is the one which would be enough to explain a certain bound change; this method should be called in one of the following two cases:
scip | SCIP data structure |
var | variable whose upper bound should be added to conflict candidate queue |
boundtype | the type of the conflicting bound (lower or upper bound) |
bdchgidx | bound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound |
relaxedbd | the relaxed bound |
Definition at line 27348 of file scip.c.
References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPconflictAddRelaxedBound(), Scip::set, Scip::stat, and TRUE.
SCIP_RETCODE SCIPaddConflictBinvar | ( | SCIP * | scip, |
SCIP_VAR * | var | ||
) |
adds changed bound of fixed binary variable to the conflict analysis' candidate storage; this method should be called in one of the following two cases:
scip | SCIP data structure |
var | binary variable whose changed bound should be added to conflict queue |
Definition at line 27382 of file scip.c.
References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPconflictAddBound(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), Scip::set, Scip::stat, and TRUE.
Referenced by addConflictBounds(), analyzeConflict(), analyzeConflictOne(), analyzeConflictZero(), processBinvarFixings(), propagateCons(), propagateFullOrbitope(), propagatePackingPartitioningCons(), propIndicator(), propVariables(), resolvePropagation(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSRESPROP(), and tightenedIntvar().
SCIP_RETCODE SCIPisConflictVarUsed | ( | SCIP * | scip, |
SCIP_VAR * | var, | ||
SCIP_BOUNDTYPE | boundtype, | ||
SCIP_BDCHGIDX * | bdchgidx, | ||
SCIP_Bool * | used | ||
) |
checks if the given variable is already part of the current conflict set or queued for resolving with the same or even stronger bound
scip | SCIP data structure |
var | variable whose upper bound should be added to conflict candidate queue |
boundtype | the type of the conflicting bound (lower or upper bound) |
bdchgidx | bound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound |
used | pointer to store if the variable is already used |
Definition at line 27416 of file scip.c.
References checkStage(), Scip::conflict, FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPconflictIsVarUsed(), Scip::set, and TRUE.
returns the conflict lower bound if the variable is present in the current conflict set; otherwise the global lower bound
scip | SCIP data structure |
var | problem variable |
Definition at line 27444 of file scip.c.
References checkStage(), Scip::conflict, FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPconflictGetVarLb(), and TRUE.
Referenced by analyzeConflict(), analyzeConflictUpperbound(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), getGenVBoundsMinActivityConflict(), resolveGenVBoundPropagation(), and resolvePropagationCoretimes().
returns the conflict upper bound if the variable is present in the current conflict set; otherwise minus global upper bound
scip | SCIP data structure |
var | problem variable |
Definition at line 27468 of file scip.c.
References checkStage(), Scip::conflict, FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPconflictGetVarUb(), and TRUE.
Referenced by analyzeConflict(), analyzeConflictLowerbound(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), getGenVBoundsMinActivityConflict(), resolveGenVBoundPropagation(), and resolvePropagationCoretimes().
SCIP_RETCODE SCIPanalyzeConflict | ( | SCIP * | scip, |
int | validdepth, | ||
SCIP_Bool * | success | ||
) |
analyzes conflict bounds that were added after a call to SCIPinitConflictAnalysis() with calls to SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), or SCIPaddConflictBinvar(); on success, calls the conflict handlers to create a conflict constraint out of the resulting conflict set; the given valid depth must be a depth level, at which the conflict set defined by calls to SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), and SCIPaddConflictBinvar() is valid for the whole subtree; if the conflict was found by a violated constraint, use SCIPanalyzeConflictCons() instead of SCIPanalyzeConflict() to make sure, that the correct valid depth is used
scip | SCIP data structure |
validdepth | minimal depth level at which the initial conflict set is valid |
success | pointer to store whether a conflict constraint was created, or NULL |
Definition at line 27498 of file scip.c.
References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPconflictAnalyze(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.
Referenced by analyzeConflictLowerbound(), analyzeConflictUpperbound(), analyzeGenVBoundConflict(), propagateCutoffboundBinvar(), and SCIPaddRow().
SCIP_RETCODE SCIPanalyzeConflictCons | ( | SCIP * | scip, |
SCIP_CONS * | cons, | ||
SCIP_Bool * | success | ||
) |
analyzes conflict bounds that were added with calls to SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), or SCIPaddConflictBinvar(); on success, calls the conflict handlers to create a conflict constraint out of the resulting conflict set; the given constraint must be the constraint that detected the conflict, i.e. the constraint that is infeasible in the local bounds of the initial conflict set (defined by calls to SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), and SCIPaddConflictBinvar())
scip | SCIP data structure |
cons | constraint that detected the conflict |
success | pointer to store whether a conflict constraint was created, or NULL |
Definition at line 27529 of file scip.c.
References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPconflictAnalyze(), SCIPconsGetValidDepth(), SCIPconsIsActive(), SCIPconsIsGlobal(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.
Referenced by analyzeConflict(), analyzeConflictOne(), analyzeConflictZero(), processBinvarFixings(), propagateCons(), propagateFullOrbitope(), propagatePackingPartitioningCons(), propIndicator(), propVariables(), SCIP_DECL_CONSPROP(), and tightenedIntvar().