internal methods for conflict analysis
Definition in file conflict.h.
#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_retcode.h"
#include "scip/type_set.h"
#include "scip/type_stat.h"
#include "scip/type_lp.h"
#include "scip/type_var.h"
#include "scip/type_prob.h"
#include "scip/type_tree.h"
#include "scip/type_conflict.h"
#include "scip/pub_conflict.h"
#include "scip/conflictstore.h"
Go to the source code of this file.
SCIP_RETCODE SCIPconflicthdlrCopyInclude | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_SET * | set | ||
) |
copies the given conflict handler to a new scip
conflicthdlr | conflict handler |
set | SCIP_SET of SCIP to copy to |
Definition at line 363 of file conflict.c.
References SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrGetName(), and SCIPsetDebugMsg.
SCIP_RETCODE SCIPconflicthdlrCreate | ( | SCIP_CONFLICTHDLR ** | conflicthdlr, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
BMS_BLKMEM * | blkmem, | ||
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
conflicthdlr | pointer to conflict handler data structure |
set | global SCIP settings |
messagehdlr | message handler |
blkmem | block memory for parameter settings |
name | name of conflict handler |
desc | description of conflict handler |
priority | priority of the conflict handler |
conflicthdlrdata | conflict handler data |
Definition at line 382 of file conflict.c.
References BMSallocMemory, BMSduplicateMemoryArray, FALSE, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPclockCreate(), SCIPsetAddIntParam(), SCIPsnprintf(), and TRUE.
Referenced by SCIPincludeConflicthdlr(), and SCIPincludeConflicthdlrBasic().
SCIP_RETCODE SCIPconflicthdlrFree | ( | SCIP_CONFLICTHDLR ** | conflicthdlr, |
SCIP_SET * | set | ||
) |
calls destructor and frees memory of conflict handler
conflicthdlr | pointer to conflict handler data structure |
set | global SCIP settings |
Definition at line 434 of file conflict.c.
References BMSfreeMemory, BMSfreeMemoryArray, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
SCIP_RETCODE SCIPconflicthdlrInit | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_SET * | set | ||
) |
calls init method of conflict handler
calls initialization method of conflict handler
conflicthdlr | conflict handler |
set | global SCIP settings |
Definition at line 461 of file conflict.c.
References SCIP_Conflicthdlr::conflicttime, SCIP_Conflicthdlr::initialized, SCIP_Conflicthdlr::name, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Conflicthdlr::setuptime, and TRUE.
Referenced by SCIPsetSortNlpis().
SCIP_RETCODE SCIPconflicthdlrExit | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_SET * | set | ||
) |
calls exit method of conflict handler
conflicthdlr | conflict handler |
set | global SCIP settings |
Definition at line 498 of file conflict.c.
References FALSE, SCIP_Conflicthdlr::initialized, SCIP_Conflicthdlr::name, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Conflicthdlr::setuptime.
Referenced by SCIPsetInitPlugins().
SCIP_RETCODE SCIPconflicthdlrInitsol | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_SET * | set | ||
) |
informs conflict handler that the branch and bound process is being started
conflicthdlr | conflict handler |
set | global SCIP settings |
Definition at line 529 of file conflict.c.
References SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Conflicthdlr::setuptime.
SCIP_RETCODE SCIPconflicthdlrExitsol | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_SET * | set | ||
) |
informs conflict handler that the branch and bound process data is being freed
conflicthdlr | conflict handler |
set | global SCIP settings |
Definition at line 553 of file conflict.c.
References SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Conflicthdlr::setuptime.
Referenced by SCIPsetInitsolPlugins().
SCIP_RETCODE SCIPconflicthdlrExec | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_SET * | set, | ||
SCIP_NODE * | node, | ||
SCIP_NODE * | validnode, | ||
SCIP_BDCHGINFO ** | bdchginfos, | ||
SCIP_Real * | relaxedbds, | ||
int | nbdchginfos, | ||
SCIP_CONFTYPE | conftype, | ||
SCIP_Bool | usescutoffbound, | ||
SCIP_Bool | resolved, | ||
SCIP_RESULT * | result | ||
) |
calls execution method of conflict handler
conflicthdlr | conflict handler |
set | global SCIP settings |
node | node to add conflict constraint to |
validnode | node at which the constraint is valid |
bdchginfos | bound change resembling the conflict set |
relaxedbds | array with relaxed bounds which are efficient to create a valid conflict |
nbdchginfos | number of bound changes in the conflict set |
conftype | type of the conflict |
usescutoffbound | depends the conflict on the cutoff bound? |
resolved | was the conflict set already used to create a constraint? |
result | pointer to store the result of the callback method |
Definition at line 577 of file conflict.c.
References SCIP_Conflicthdlr::conflicttime, SCIP_Conflicthdlr::name, SCIP_CALL, SCIP_CONSADDED, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIPnodeGetDepth().
Referenced by conflictAddConflictCons().
void SCIPconflicthdlrSetPriority | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_SET * | set, | ||
int | priority | ||
) |
sets priority of conflict handler
conflicthdlr | conflict handler |
set | global SCIP settings |
priority | new priority of the conflict handler |
Definition at line 742 of file conflict.c.
References FALSE, and SCIP_Conflicthdlr::priority.
Referenced by SCIPsetConflicthdlrPriority().
void SCIPconflicthdlrSetCopy | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_DECL_CONFLICTCOPY((*conflictcopy)) | |||
) |
set copy method of conflict handler
conflicthdlr | conflict handler |
Definition at line 646 of file conflict.c.
Referenced by SCIPsetConflicthdlrCopy().
void SCIPconflicthdlrSetFree | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_DECL_CONFLICTFREE((*conflictfree)) | |||
) |
set destructor of conflict handler
conflicthdlr | conflict handler |
Definition at line 657 of file conflict.c.
Referenced by SCIPsetConflicthdlrFree().
void SCIPconflicthdlrSetInit | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_DECL_CONFLICTINIT((*conflictinit)) | |||
) |
set initialization method of conflict handler
conflicthdlr | conflict handler |
Definition at line 668 of file conflict.c.
Referenced by SCIPsetConflicthdlrInit().
void SCIPconflicthdlrSetExit | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_DECL_CONFLICTEXIT((*conflictexit)) | |||
) |
set deinitialization method of conflict handler
conflicthdlr | conflict handler |
Definition at line 679 of file conflict.c.
Referenced by SCIPsetConflicthdlrExit().
void SCIPconflicthdlrSetInitsol | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_DECL_CONFLICTINITSOL((*conflictinitsol)) | |||
) |
set solving process initialization method of conflict handler
conflicthdlr | conflict handler |
Definition at line 690 of file conflict.c.
Referenced by SCIPsetConflicthdlrInitsol().
void SCIPconflicthdlrSetExitsol | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol)) | |||
) |
set solving process deinitialization method of conflict handler
conflicthdlr | conflict handler |
Definition at line 701 of file conflict.c.
Referenced by SCIPsetConflicthdlrExitsol().
void SCIPconflicthdlrEnableOrDisableClocks | ( | SCIP_CONFLICTHDLR * | conflicthdlr, |
SCIP_Bool | enable | ||
) |
enables or disables all clocks of conflicthdlr
, depending on the value of the flag
conflicthdlr | the conflict handler for which all clocks should be enabled or disabled |
enable | should the clocks of the conflict handler be enabled? |
Definition at line 766 of file conflict.c.
References SCIP_Conflicthdlr::conflicttime, SCIPclockEnableOrDisable(), and SCIP_Conflicthdlr::setuptime.
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
set | global SCIP settings |
Definition at line 3623 of file conflict.c.
Referenced by SCIPconflictAnalyze(), and SCIPisConflictAnalysisApplicable().
SCIP_RETCODE SCIPconflictCreate | ( | SCIP_CONFLICT ** | conflict, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set | ||
) |
creates conflict analysis data for propagation conflicts
conflict | pointer to conflict analysis data |
blkmem | block memory of transformed problem |
set | global SCIP settings |
Definition at line 3639 of file conflict.c.
References BMSallocMemory, conflictInitProofset(), conflictsetCreate(), SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIPclockCreate(), SCIPconflictEnableOrDisableClocks(), and SCIPpqueueCreate().
Referenced by SCIPtransformProb().
SCIP_RETCODE SCIPconflictFree | ( | SCIP_CONFLICT ** | conflict, |
BMS_BLKMEM * | blkmem | ||
) |
frees conflict analysis data for propagation conflicts
conflict | pointer to conflict analysis data |
blkmem | block memory of transformed problem |
Definition at line 3727 of file conflict.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, conflictsetFree(), proofsetFree(), SCIP_OKAY, SCIPclockFree(), and SCIPpqueueFree().
Referenced by freeTransform().
SCIP_RETCODE SCIPconflictInit | ( | SCIP_CONFLICT * | conflict, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_CONFTYPE | conftype, | ||
SCIP_Bool | usescutoffbound | ||
) |
initializes the propagation conflict analysis by clearing the conflict candidate queue
conflict | conflict analysis data |
set | global SCIP settings |
stat | problem statistics |
prob | problem data |
conftype | type of the conflict |
usescutoffbound | depends the conflict on a cutoff bound? |
Definition at line 3775 of file conflict.c.
References conflictClear(), SCIP_Conflict::conflictset, SCIP_ConflictSet::conflicttype, SCIP_Conflict::count, SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, SCIP_Stat::lastconflictnode, SCIP_Stat::nnodes, SCIP_Prob::nvars, SCIP_CALL, SCIP_CONFTYPE_BNDEXCEEDING, SCIP_CONFTYPE_INFEASLP, SCIP_CONFTYPE_PROPAGATION, SCIP_OKAY, SCIPhistoryScaleVSIDS(), SCIPsetDebugMsg, SCIPvarScaleVSIDS(), SCIP_ConflictSet::usescutoffbound, SCIP_Prob::vars, and SCIP_Stat::vsidsweight.
Referenced by conflictAnalyzeRemainingBdchgs(), conflictCreateReconvergenceConss(), and SCIPinitConflictAnalysis().
SCIP_RETCODE SCIPconflictAddBound | ( | SCIP_CONFLICT * | conflict, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_VAR * | var, | ||
SCIP_BOUNDTYPE | boundtype, | ||
SCIP_BDCHGIDX * | bdchgidx | ||
) |
adds variable's bound to conflict candidate queue
conflict | conflict analysis data |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic problem statistics |
var | problem variable |
boundtype | type of bound that was changed: lower or upper bound |
bdchgidx | bound change index (time stamp of bound change), or NULL for current time |
Definition at line 4133 of file conflict.c.
References conflictAddBound(), convertToActiveVar(), FALSE, scalars, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIPbdchgidxIsEarlier(), SCIPbdchginfoGetIdx(), SCIPbdchginfoGetNewbound(), SCIPboundtypeOpposite(), SCIPconflictAddBound(), SCIPvarGetBdchgInfo(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetStatus(), and SCIPvarIsActive().
Referenced by SCIPaddConflictBd(), SCIPaddConflictBinvar(), SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPconflictAddBound(), and SCIPconflictAddRelaxedBound().
SCIP_RETCODE SCIPconflictAddRelaxedBound | ( | SCIP_CONFLICT * | conflict, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_VAR * | var, | ||
SCIP_BOUNDTYPE | boundtype, | ||
SCIP_BDCHGIDX * | bdchgidx, | ||
SCIP_Real | relaxedbd | ||
) |
adds variable's bound to conflict candidate queue with the additional information of a relaxed bound
adds variable's bound to conflict candidate queue
conflict | conflict analysis data |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic problem statistics |
var | problem variable |
boundtype | type of bound that was changed: lower or upper bound |
bdchgidx | bound change index (time stamp of bound change), or NULL for current time |
relaxedbd | the relaxed bound |
Definition at line 4194 of file conflict.c.
References SCIP_BdChgInfo::bdchgidx, conflictAddBound(), convertToActiveVar(), FALSE, MAX, SCIP_BdChgInfo::pos, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIPbdchgidxGetPos(), SCIPbdchgidxIsEarlier(), SCIPbdchginfoGetDepth(), SCIPbdchginfoGetIdx(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetOldbound(), SCIPbdchginfoGetPos(), SCIPbdchginfoIsRedundant(), SCIPconflictAddBound(), SCIPsetDebugMsg, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetBdchgInfo(), SCIPvarGetBdchgInfoLb(), SCIPvarGetBdchgInfoUb(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), and SCIPvarIsActive().
Referenced by SCIPaddConflictRelaxedBd(), SCIPaddConflictRelaxedLb(), and SCIPaddConflictRelaxedUb().
SCIP_RETCODE SCIPconflictIsVarUsed | ( | SCIP_CONFLICT * | conflict, |
SCIP_VAR * | var, | ||
SCIP_SET * | set, | ||
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
conflict | conflict analysis data |
var | problem variable |
set | global SCIP settings |
boundtype | type of bound for which the score should be increased |
bdchgidx | bound change index (time stamp of bound change), or NULL for current time |
used | pointer to store if the variable is already used |
Definition at line 4358 of file conflict.c.
References SCIP_Var::conflictlb, SCIP_Var::conflictlbcount, SCIP_Var::conflictub, SCIP_Var::conflictubcount, convertToActiveVar(), SCIP_Conflict::count, FALSE, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIPABORT, SCIPerrorMessage, SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), SCIPsetDebugMsg, SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIsActive(), and TRUE.
Referenced by SCIPisConflictVarUsed().
SCIP_Real SCIPconflictGetVarLb | ( | SCIP_CONFLICT * | conflict, |
SCIP_VAR * | var | ||
) |
returns the conflict lower bound if the variable is present in the current conflict set; otherwise the global lower bound
conflict | conflict analysis data |
var | problem variable |
Definition at line 4418 of file conflict.c.
References SCIP_Var::conflictlb, SCIP_Var::conflictlbcount, SCIP_Var::conflictrelaxedlb, SCIP_Conflict::count, EPSGE, and SCIPvarGetLbGlobal().
Referenced by SCIPgetConflictVarLb().
SCIP_Real SCIPconflictGetVarUb | ( | SCIP_CONFLICT * | conflict, |
SCIP_VAR * | var | ||
) |
returns the conflict upper bound if the variable is present in the current conflict set; otherwise the global upper bound
conflict | conflict analysis data |
var | problem variable |
Definition at line 4435 of file conflict.c.
References SCIP_Var::conflictrelaxedub, SCIP_Var::conflictub, SCIP_Var::conflictubcount, SCIP_Conflict::count, EPSLE, and SCIPvarGetUbGlobal().
Referenced by SCIPgetConflictVarUb().
SCIP_RETCODE SCIPconflictAnalyze | ( | SCIP_CONFLICT * | conflict, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_TREE * | tree, | ||
int | validdepth, | ||
SCIP_Bool * | success | ||
) |
analyzes conflicting bound changes that were added with calls to SCIPconflictAddBound() and SCIPconflictAddRelaxedBound(), and on success, calls the conflict handlers to create a conflict constraint out of the resulting conflict set; updates statistics for propagation conflict analysis
analyzes conflicting bound changes that were added with calls to SCIPconflictAddBound(), and on success, calls the conflict handlers to create a conflict constraint out of the resulting conflict set; updates statistics for propagation conflict analysis
conflict | conflict analysis data |
blkmem | block memory of transformed problem |
set | global SCIP settings |
stat | problem statistics |
prob | problem data |
tree | branch and bound tree |
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 5379 of file conflict.c.
References SCIP_Conflict::bdchgqueue, conflictAnalyze(), conflictCalcMaxsize(), SCIP_Conflict::conflictset, FALSE, SCIP_Conflict::forcedbdchgqueue, SCIP_ConflictSet::nbdchginfos, SCIP_Conflict::npropcalls, SCIP_Conflict::npropconfconss, SCIP_Conflict::npropconfliterals, SCIP_Conflict::npropreconvconss, SCIP_Conflict::npropreconvliterals, SCIP_Conflict::npropsuccess, SCIP_Conflict::propanalyzetime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPconflictApplicable(), SCIPpqueueNElems(), SCIPsetDebugMsg, SCIPtreeGetCurrentDepth(), and TRUE.
Referenced by SCIPanalyzeConflict(), and SCIPanalyzeConflictCons().
SCIP_RETCODE SCIPconflictFlushConss | ( | SCIP_CONFLICT * | conflict, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable | ||
) |
adds the collected conflict constraints to the corresponding nodes; the best set->conf_maxconss conflict constraints are added to the node of their validdepth; additionally (if not yet added, and if repropagation is activated), the conflict constraint that triggers the earliest repropagation is added to the node of its validdepth
conflict | conflict analysis data |
blkmem | block memory of transformed problem |
set | global SCIP settings |
stat | dynamic problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
cliquetable | clique table data structure |
Definition at line 3279 of file conflict.c.
References conflictAddConflictCons(), conflictCalcMaxsize(), SCIP_ConflictSet::conflictdepth, conflictFreeTmpBdchginfos(), conflictsetFree(), SCIP_Conflict::conflictsets, SCIP_Node::depth, SCIP_ConflictSet::insertdepth, SCIP_ConflictSet::nbdchginfos, SCIP_Conflict::nconflictsets, SCIP_Tree::path, SCIP_Tree::pathlen, SCIP_ConflictSet::repropagate, SCIP_ConflictSet::repropdepth, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebug, SCIPnodeCutoff(), SCIPnodePropagateAgain(), SCIPsetDebugMsg, SCIPtreeGetCurrentDepth(), SCIPtreeGetFocusDepth(), SCIPvisualFoundConflict(), SCIP_ConflictSet::validdepth, and SCIP_Stat::visual.
Referenced by conflictAnalyzeLP(), SCIPconflictAnalyzePseudo(), SCIPpropagateDomains(), and solveNode().
int SCIPconflictGetNConflicts | ( | SCIP_CONFLICT * | conflict | ) |
returns the current number of conflict sets in the conflict set storage
conflict | conflict analysis data |
Definition at line 3488 of file conflict.c.
References SCIP_Conflict::nconflictsets.
Referenced by propAndSolve(), SCIPgetNConflictConssFoundNode(), SCIPgetVarStrongbranchWithPropagation(), and solveNode().
SCIP_Longint SCIPconflictGetNAppliedConss | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of conflict constraints that were added to the problem
conflict | conflict analysis data |
Definition at line 3498 of file conflict.c.
References SCIP_Conflict::nappliedglbconss, and SCIP_Conflict::nappliedlocconss.
Referenced by SCIPgetNConflictConssApplied().
SCIP_Longint SCIPconflictGetNAppliedLiterals | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of literals in conflict constraints that were added to the problem
conflict | conflict analysis data |
Definition at line 3508 of file conflict.c.
References SCIP_Conflict::nappliedglbliterals, and SCIP_Conflict::nappliedlocliterals.
SCIP_Longint SCIPconflictGetNGlobalChgBds | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of global bound changes applied by the conflict analysis
conflict | conflict analysis data |
Definition at line 3518 of file conflict.c.
References SCIP_Conflict::nglbchgbds.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNAppliedGlobalConss | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of conflict constraints that were added globally to the problem
conflict | conflict analysis data |
Definition at line 3528 of file conflict.c.
References SCIP_Conflict::nappliedglbconss.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNAppliedGlobalLiterals | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of literals in conflict constraints that were added globally to the problem
conflict | conflict analysis data |
Definition at line 3538 of file conflict.c.
References SCIP_Conflict::nappliedglbliterals.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNLocalChgBds | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of local bound changes applied by the conflict analysis
conflict | conflict analysis data |
Definition at line 3548 of file conflict.c.
References SCIP_Conflict::nlocchgbds.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNAppliedLocalConss | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of conflict constraints that were added locally to the problem
conflict | conflict analysis data |
Definition at line 3558 of file conflict.c.
References SCIP_Conflict::nappliedlocconss.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNAppliedLocalLiterals | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of literals in conflict constraints that were added locally to the problem
conflict | conflict analysis data |
Definition at line 3568 of file conflict.c.
References SCIP_Conflict::nappliedlocliterals.
Referenced by SCIPprintConflictStatistics().
SCIP_Real SCIPconflictGetGlobalApplTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for preprocessing global conflict constraint before appliance
conflict | conflict analysis data |
Definition at line 5437 of file conflict.c.
References SCIP_Conflict::dIBclock, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Real SCIPconflictGetPropTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for analyzing propagation conflicts
conflict | conflict analysis data |
Definition at line 5447 of file conflict.c.
References SCIP_Conflict::propanalyzetime, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPropCalls | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to propagation conflict analysis
conflict | conflict analysis data |
Definition at line 5457 of file conflict.c.
References SCIP_Conflict::npropcalls.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPropSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to propagation conflict analysis that yield at least one conflict constraint
conflict | conflict analysis data |
Definition at line 5467 of file conflict.c.
References SCIP_Conflict::npropsuccess.
Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().
SCIP_Longint SCIPconflictGetNPropConflictConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of conflict constraints detected in propagation conflict analysis
conflict | conflict analysis data |
Definition at line 5477 of file conflict.c.
References SCIP_Conflict::npropconfconss.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPropConflictLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in conflict constraints created in propagation conflict analysis
conflict | conflict analysis data |
Definition at line 5487 of file conflict.c.
References SCIP_Conflict::npropconfliterals.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPropReconvergenceConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of reconvergence constraints detected in propagation conflict analysis
conflict | conflict analysis data |
Definition at line 5497 of file conflict.c.
References SCIP_Conflict::npropreconvconss.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPropReconvergenceLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in reconvergence constraints created in propagation conflict analysis
conflict | conflict analysis data |
Definition at line 5507 of file conflict.c.
References SCIP_Conflict::npropreconvliterals.
Referenced by SCIPprintConflictStatistics().
SCIP_RETCODE SCIPconflictAnalyzeLP | ( | SCIP_CONFLICT * | conflict, |
SCIP_CONFLICTSTORE * | conflictstore, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_Bool * | success | ||
) |
analyzes an infeasible or bound exceeding LP to find out the bound changes on variables that were responsible for the infeasibility or for exceeding the primal bound; on success, calls standard conflict analysis with the responsible variables as starting conflict set, thus creating a conflict constraint out of the resulting conflict set; updates statistics for infeasible or bound exceeding LP conflict analysis
analyzes an infeasible or bound exceeding LP to find out the bound changes on variables that were responsible for the infeasibility or for exceeding the primal bound; on success, calls standard conflict analysis with the responsible variables as starting conflict set, thus creating a conflict constraint out of the resulting conflict set; updates statistics for infeasible or bound exceeding LP conflict analysis; may only be called if SCIPprobAllColsInLP()
conflict | conflict analysis data |
conflictstore | conflict store |
blkmem | block memory of transformed problem |
set | global SCIP settings |
stat | problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
cliquetable | clique table data structure |
success | pointer to store whether a conflict constraint was created, or NULL |
Definition at line 7982 of file conflict.c.
References SCIP_RowSolVals::activity, SCIP_Row::activity, SCIP_ColSolVals::basisstatus, SCIP_RowSolVals::basisstatus, SCIP_Col::basisstatus, SCIP_Row::basisstatus, SCIP_Lp::cols, conflictAnalyzeBoundexceedingLP(), conflictAnalyzeInfeasibleLP(), SCIP_LpSolVals::dualchecked, SCIP_Lp::dualchecked, SCIP_Row::dualfarkas, SCIP_LpSolVals::dualfeasible, SCIP_Lp::dualfeasible, SCIP_RowSolVals::dualsol, SCIP_Row::dualsol, FALSE, SCIP_Lp::flushed, SCIP_LpSolVals::lpissolved, SCIP_LpSolVals::lpobjval, SCIP_Lp::lpobjval, SCIP_LpSolVals::lpsolstat, SCIP_Lp::lpsolstat, SCIP_Lp::ncols, SCIP_Lp::nrows, SCIP_LpSolVals::primalchecked, SCIP_Lp::primalchecked, SCIP_LpSolVals::primalfeasible, SCIP_Lp::primalfeasible, SCIP_ColSolVals::primsol, SCIP_Col::primsol, SCIP_ColSolVals::redcost, SCIP_Col::redcost, SCIP_Lp::rows, SCIP_CALL, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPlpGetLPI(), SCIPlpGetSolstat(), SCIPlpiIsPrimalInfeasible(), SCIPlpiWasSolved(), SCIPprobAllColsInLP(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIP_LpSolVals::solisbasic, SCIP_Lp::solisbasic, and SCIP_Lp::solved.
Referenced by priceAndCutLoop(), SCIPsolveDiveLP(), and solveProbingLP().
SCIP_Real SCIPconflictGetInfeasibleLPTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for analyzing infeasible LP conflicts
conflict | conflict analysis data |
Definition at line 8129 of file conflict.c.
References SCIP_Conflict::inflpanalyzetime, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPCalls | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 8139 of file conflict.c.
References SCIP_Conflict::ninflpcalls.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to infeasible LP conflict analysis that yield at least one conflict constraint
conflict | conflict analysis data |
Definition at line 8149 of file conflict.c.
References SCIP_Conflict::ninflpsuccess.
Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().
SCIP_Longint SCIPconflictGetNInfeasibleLPConflictConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of conflict constraints detected in infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 8159 of file conflict.c.
References SCIP_Conflict::ninflpconfconss.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPConflictLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in conflict constraints created in infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 8169 of file conflict.c.
References SCIP_Conflict::ninflpconfliterals.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPReconvergenceConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of reconvergence constraints detected in infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 8179 of file conflict.c.
References SCIP_Conflict::ninflpreconvconss.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPReconvergenceLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in reconvergence constraints created in infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 8189 of file conflict.c.
References SCIP_Conflict::ninflpreconvliterals.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPIterations | ( | SCIP_CONFLICT * | conflict | ) |
gets number of LP iterations in infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 8199 of file conflict.c.
References SCIP_Conflict::ninflpiterations.
Referenced by SCIPprintConflictStatistics().
SCIP_Real SCIPconflictGetBoundexceedingLPTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for analyzing bound exceeding LP conflicts
conflict | conflict analysis data |
Definition at line 8209 of file conflict.c.
References SCIP_Conflict::boundlpanalyzetime, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPCalls | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 8219 of file conflict.c.
References SCIP_Conflict::nboundlpcalls.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to bound exceeding LP conflict analysis that yield at least one conflict constraint
conflict | conflict analysis data |
Definition at line 8229 of file conflict.c.
References SCIP_Conflict::nboundlpsuccess.
Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().
SCIP_Longint SCIPconflictGetNBoundexceedingLPConflictConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of conflict constraints detected in bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 8239 of file conflict.c.
References SCIP_Conflict::nboundlpconfconss.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPConflictLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in conflict constraints created in bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 8249 of file conflict.c.
References SCIP_Conflict::nboundlpconfliterals.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPReconvergenceConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of reconvergence constraints detected in bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 8259 of file conflict.c.
References SCIP_Conflict::nboundlpreconvconss.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPReconvergenceLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in reconvergence constraints created in bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 8269 of file conflict.c.
References SCIP_Conflict::nboundlpreconvliterals.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPIterations | ( | SCIP_CONFLICT * | conflict | ) |
gets number of LP iterations in bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 8279 of file conflict.c.
References SCIP_Conflict::nboundlpiterations.
Referenced by SCIPprintConflictStatistics().
SCIP_RETCODE SCIPconflictAnalyzeStrongbranch | ( | SCIP_CONFLICT * | conflict, |
SCIP_CONFLICTSTORE * | conflictstore, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_COL * | col, | ||
SCIP_Bool * | downconflict, | ||
SCIP_Bool * | upconflict | ||
) |
analyses infeasible strong branching sub problems for conflicts
conflict | conflict analysis data |
conflictstore | conflict store |
blkmem | block memory buffers |
set | global SCIP settings |
stat | dynamic problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
cliquetable | clique table data structure |
col | LP column with at least one infeasible strong branching subproblem |
downconflict | pointer to store whether a conflict constraint was created for an infeasible downwards branch, or NULL |
upconflict | pointer to store whether a conflict constraint was created for an infeasible upwards branch, or NULL |
Definition at line 8296 of file conflict.c.
References conflictAnalyzeLP(), SCIP_Stat::conflictlptime, SCIP_Conflict::conflictset, SCIP_ConflictSet::conflicttype, SCIP_Lp::cutoffbound, FALSE, SCIP_Lp::flushed, SCIP_Col::lb, SCIP_Lp::lpi, SCIP_Col::lpipos, SCIP_Stat::nconflictlpiterations, SCIP_Stat::nconflictlps, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, SCIP_Conflict::nsbcalls, SCIP_Conflict::nsbconfconss, SCIP_Conflict::nsbconfliterals, SCIP_Conflict::nsbiterations, SCIP_Conflict::nsbreconvconss, SCIP_Conflict::nsbreconvliterals, SCIP_Conflict::nsbsuccess, SCIP_Col::primsol, SCIP_Conflict::sbanalyzetime, SCIP_Col::sbdown, SCIP_Col::sbdownvalid, SCIP_Col::sbup, SCIP_Col::sbupvalid, SCIP_Bool, SCIP_CALL, SCIP_CONFTYPE_INFEASLP, SCIP_LPERROR, SCIP_OKAY, SCIP_Real, SCIPclockStart(), SCIPclockStop(), SCIPcolGetVar(), SCIPlpiChgBounds(), SCIPlpiEndStrongbranch(), SCIPlpiGetBase(), SCIPlpiGetIterations(), SCIPlpiSetBase(), SCIPlpiSolveDual(), SCIPlpiStartStrongbranch(), SCIPprobAllColsInLP(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPsetFreeBufferArray, SCIPsetIsGE(), SCIPtreeGetCurrentDepth(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIP_Lp::solved, TRUE, and SCIP_Col::ub.
Referenced by analyzeStrongbranch().
SCIP_Real SCIPconflictGetStrongbranchTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for analyzing infeasible strong branching conflicts
conflict | conflict analysis data |
Definition at line 8533 of file conflict.c.
References SCIP_Conflict::sbanalyzetime, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualrayInfSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of successful calls to infeasible dualray analysis
conflict | conflict analysis data |
Definition at line 8543 of file conflict.c.
References SCIP_Conflict::ndualrayinfsuccess.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualrayInfGlobal | ( | SCIP_CONFLICT * | conflict | ) |
gets number of globally valid dualray constraints
conflict | conflict analysis data |
Definition at line 8553 of file conflict.c.
References SCIP_Conflict::ndualrayinfglobal.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualrayInfNonzeros | ( | SCIP_CONFLICT * | conflict | ) |
gets average length of infeasible dualrays
conflict | conflict analysis data |
Definition at line 8563 of file conflict.c.
References SCIP_Conflict::dualrayinfnnonzeros.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualrayBndSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of successfully analyzed dual proofs of boundexceeding LPs
conflict | conflict analysis data |
Definition at line 8573 of file conflict.c.
References SCIP_Conflict::ndualraybndsuccess.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualrayBndGlobal | ( | SCIP_CONFLICT * | conflict | ) |
gets number of globally applied dual proofs of boundexceeding LPs
conflict | conflict analysis data |
Definition at line 8583 of file conflict.c.
References SCIP_Conflict::ndualraybndglobal.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualrayBndNonzeros | ( | SCIP_CONFLICT * | conflict | ) |
gets average length of dual proofs of boundexceeding LPs
conflict | conflict analysis data |
Definition at line 8593 of file conflict.c.
References SCIP_Conflict::dualraybndnnonzeros.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchCalls | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 8603 of file conflict.c.
References SCIP_Conflict::nsbcalls.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to infeasible strong branching conflict analysis that yield at least one conflict constraint
conflict | conflict analysis data |
Definition at line 8613 of file conflict.c.
References SCIP_Conflict::nsbsuccess.
Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().
SCIP_Longint SCIPconflictGetNStrongbranchConflictConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of conflict constraints detected in infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 8623 of file conflict.c.
References SCIP_Conflict::nsbconfconss.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchConflictLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in conflict constraints created in infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 8633 of file conflict.c.
References SCIP_Conflict::nsbconfliterals.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchReconvergenceConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of reconvergence constraints detected in infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 8643 of file conflict.c.
References SCIP_Conflict::nsbreconvconss.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchReconvergenceLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in reconvergence constraints created in infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 8653 of file conflict.c.
References SCIP_Conflict::nsbreconvliterals.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchIterations | ( | SCIP_CONFLICT * | conflict | ) |
gets number of LP iterations in infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 8663 of file conflict.c.
References SCIP_Conflict::nsbiterations.
Referenced by SCIPprintConflictStatistics().
SCIP_RETCODE SCIPconflictAnalyzePseudo | ( | SCIP_CONFLICT * | conflict, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_Bool * | success | ||
) |
analyzes a pseudo solution with objective value exceeding the current cutoff to find out the bound changes on variables that were responsible for the objective value degradation; on success, calls standard conflict analysis with the responsible variables as starting conflict set, thus creating a conflict constraint out of the resulting conflict set; updates statistics for pseudo solution conflict analysis
conflict | conflict analysis data |
blkmem | block memory of transformed problem |
set | global SCIP settings |
stat | problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
cliquetable | clique table data structure |
success | pointer to store whether a conflict constraint was created, or NULL |
Definition at line 8685 of file conflict.c.
References conflictAnalyzeRemainingBdchgs(), SCIP_Conflict::conflictset, SCIP_ConflictSet::conflicttype, SCIP_Lp::cutoffbound, FALSE, SCIP_Lp::lpi, SCIP_Conflict::nconflictsets, SCIP_Var::nlbchginfos, SCIP_Conflict::npseudocalls, SCIP_Conflict::npseudoconfconss, SCIP_Conflict::npseudoconfliterals, SCIP_Conflict::npseudoreconvconss, SCIP_Conflict::npseudoreconvliterals, SCIP_Conflict::npseudosuccess, SCIP_Var::nubchginfos, SCIP_Prob::nvars, SCIP_Conflict::pseudoanalyzetime, SCIP_CALL, SCIP_CONFTYPE_BNDEXCEEDING, SCIP_OKAY, SCIP_Real, SCIPclockStart(), SCIPclockStop(), SCIPconflictFlushConss(), SCIPlpGetPseudoObjval(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsInfinity(), SCIPsetSumepsilon(), SCIPtreeGetCurrentDepth(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetUbLocal(), TRUE, undoBdchgsProof(), SCIP_ConflictSet::usescutoffbound, and SCIP_Prob::vars.
Referenced by applyBounding().
SCIP_Real SCIPconflictGetPseudoTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for analyzing pseudo solution conflicts
conflict | conflict analysis data |
Definition at line 8830 of file conflict.c.
References SCIP_Conflict::pseudoanalyzetime, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPseudoCalls | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to pseudo solution conflict analysis
conflict | conflict analysis data |
Definition at line 8840 of file conflict.c.
References SCIP_Conflict::npseudocalls.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPseudoSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to pseudo solution conflict analysis that yield at least one conflict constraint
conflict | conflict analysis data |
Definition at line 8850 of file conflict.c.
References SCIP_Conflict::npseudosuccess.
Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().
SCIP_Longint SCIPconflictGetNPseudoConflictConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of conflict constraints detected in pseudo solution conflict analysis
conflict | conflict analysis data |
Definition at line 8860 of file conflict.c.
References SCIP_Conflict::npseudoconfconss.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPseudoConflictLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in conflict constraints created in pseudo solution conflict analysis
conflict | conflict analysis data |
Definition at line 8870 of file conflict.c.
References SCIP_Conflict::npseudoconfliterals.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPseudoReconvergenceConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of reconvergence constraints detected in pseudo solution conflict analysis
conflict | conflict analysis data |
Definition at line 8880 of file conflict.c.
References SCIP_Conflict::npseudoreconvconss.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPseudoReconvergenceLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in reconvergence constraints created in pseudo solution conflict analysis
conflict | conflict analysis data |
Definition at line 8890 of file conflict.c.
References SCIP_Conflict::npseudoreconvliterals.
Referenced by SCIPprintConflictStatistics().
void SCIPconflictEnableOrDisableClocks | ( | SCIP_CONFLICT * | conflict, |
SCIP_Bool | enable | ||
) |
enables or disables all clocks of conflict
, depending on the value of the flag
conflict | the conflict analysis data for which all clocks should be enabled or disabled |
enable | should the clocks of the conflict analysis data be enabled? |
Definition at line 8901 of file conflict.c.
References SCIP_Conflict::boundlpanalyzetime, SCIP_Conflict::dIBclock, SCIP_Conflict::inflpanalyzetime, SCIP_Conflict::propanalyzetime, SCIP_Conflict::pseudoanalyzetime, SCIP_Conflict::sbanalyzetime, and SCIPclockEnableOrDisable().
Referenced by SCIPconflictCreate(), and SCIPenableOrDisableStatisticTiming().