All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed Descriptionmethods and datastructures for conflict analysis This file implements a conflict analysis method like the one used in modern SAT solvers like zchaff. The algorithm works as follows: Given is a set of bound changes that are not allowed being applied simultaneously, because they render the current node infeasible (e.g. because a single constraint is infeasible in the these bounds, or because the LP relaxation is infeasible). The goal is to deduce a clause on variables – a conflict clause – representing the "reason" for this conflict, i.e., the branching decisions or the deductions (applied e.g. in domain propagation) that lead to the conflict. This clause can then be added to the constraint set to help cutting off similar parts of the branch and bound tree, that would lead to the same conflict. A conflict clause can also be generated, if the conflict was detected by a locally valid constraint. In this case, the resulting conflict clause is also locally valid in the same depth as the conflict detecting constraint. If all involved variables are binary, a linear (set covering) constraint can be generated, otherwise a bound disjunction constraint is generated. Details are given in Tobias Achterberg, Conflict Analysis in Mixed Integer Programming See also How to use conflict analysis. Here is an outline of the algorithm:
If all deduced bound changes come with (global) inference information, depending on the conflict analyzing strategy, the resulting conflict set has the following property:
The user has to do the following to get the conflict analysis running in its current implementation:
Definition in file conflict.c. #include <assert.h> #include <string.h> #include "scip/def.h" #include "scip/set.h" #include "scip/stat.h" #include "scip/clock.h" #include "scip/vbc.h" #include "scip/history.h" #include "scip/paramset.h" #include "scip/lp.h" #include "scip/var.h" #include "scip/prob.h" #include "scip/tree.h" #include "scip/scip.h" #include "scip/conflict.h" #include "scip/cons.h" #include "scip/prop.h" #include "scip/presolve.h" #include "scip/debug.h" #include "scip/pub_message.h" #include "scip/pub_misc.h" #include "lpi/lpi.h" #include "scip/struct_conflict.h" Go to the source code of this file.
Macro Definition Documentation
Value:
(-(conflictset)->nbdchginfos - 100*(conflictset)->repropdepth \
- 1000*(conflictset)->validdepth)
Definition at line 143 of file conflict.c. Referenced by conflictsetCalcScore().
Definition at line 4935 of file conflict.c. Referenced by undoBdchgsDualfarkas(). Function Documentation
compares two conflict handlers w. r. to their priority Definition at line 333 of file conflict.c.
comparison method for sorting conflict handler w.r.t. to their name Definition at line 339 of file conflict.c. References SCIPconflicthdlrGetName().
method to call, when the priority of a conflict handler was changed Definition at line 346 of file conflict.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetConflicthdlrPriority().
copies the given conflict handler to a new scip
Definition at line 360 of file conflict.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrGetName(), and SCIPdebugMessage. Referenced by SCIPsetCopyPlugins().
creates a conflict handler
Definition at line 379 of file conflict.c. References BMSallocMemory, BMSduplicateMemoryArray, FALSE, NULL, paramname, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPclockCreate(), SCIPsetAddIntParam(), SCIPsnprintf(), and TRUE. Referenced by SCIPincludeConflicthdlr(), and SCIPincludeConflicthdlrBasic().
calls destructor and frees memory of conflict handler
Definition at line 432 of file conflict.c. References BMSfreeMemory, BMSfreeMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree(). Referenced by SCIPsetFree().
calls initialization method of conflict handler
Definition at line 459 of file conflict.c. References SCIP_Conflicthdlr::conflicttime, SCIP_Conflicthdlr::initialized, SCIP_Conflicthdlr::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Conflicthdlr::setuptime, and TRUE. Referenced by SCIPsetInitPlugins().
calls exit method of conflict handler
Definition at line 496 of file conflict.c. References FALSE, SCIP_Conflicthdlr::initialized, SCIP_Conflicthdlr::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Conflicthdlr::setuptime. Referenced by SCIPsetExitPlugins().
informs conflict handler that the branch and bound process is being started
Definition at line 527 of file conflict.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Conflicthdlr::setuptime. Referenced by SCIPsetInitsolPlugins().
informs conflict handler that the branch and bound process data is being freed
Definition at line 551 of file conflict.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Conflicthdlr::setuptime. Referenced by SCIPsetExitsolPlugins().
calls execution method of conflict handler
Definition at line 575 of file conflict.c. References SCIP_Conflicthdlr::conflicttime, SCIP_Conflicthdlr::name, NULL, SCIP_CALL, SCIP_CONSADDED, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIPnodeGetDepth(). Referenced by conflictAddConflictCons().
gets user data of conflict handler
Definition at line 619 of file conflict.c. References SCIP_Conflicthdlr::conflicthdlrdata, and NULL. Referenced by SCIP_DECL_CONFLICTEXEC(), and SCIP_DECL_CONFLICTFREE().
sets user data of conflict handler; user has to free old data in advance!
Definition at line 629 of file conflict.c. References SCIP_Conflicthdlr::conflicthdlrdata, and NULL.
set copy method of conflict handler
Definition at line 640 of file conflict.c. References NULL. Referenced by SCIPsetConflicthdlrCopy().
set destructor of conflict handler
Definition at line 651 of file conflict.c. References NULL. Referenced by SCIPsetConflicthdlrFree().
set initialization method of conflict handler
Definition at line 662 of file conflict.c. References NULL. Referenced by SCIPsetConflicthdlrInit().
set deinitialization method of conflict handler
Definition at line 673 of file conflict.c. References NULL. Referenced by SCIPsetConflicthdlrExit().
set solving process initialization method of conflict handler
Definition at line 684 of file conflict.c. References NULL. Referenced by SCIPsetConflicthdlrInitsol().
set solving process deinitialization method of conflict handler
Definition at line 695 of file conflict.c. References NULL. Referenced by SCIPsetConflicthdlrExitsol().
gets name of conflict handler
Definition at line 706 of file conflict.c. References SCIP_Conflicthdlr::name, and NULL. Referenced by conflictAddConflictCons(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONFLICTFREE(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_SORTPTRCOMP(), SCIPconflicthdlrCopyInclude(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and SCIPsetFindConflicthdlr().
gets description of conflict handler
Definition at line 716 of file conflict.c. References SCIP_Conflicthdlr::desc, and NULL. Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
gets priority of conflict handler
Definition at line 726 of file conflict.c. References NULL, and SCIP_Conflicthdlr::priority. Referenced by conflictAddConflictCons(), and SCIP_DECL_DIALOGEXEC().
sets priority of conflict handler
Definition at line 736 of file conflict.c. References FALSE, NULL, and SCIP_Conflicthdlr::priority. Referenced by SCIPsetConflicthdlrPriority().
is conflict handler initialized?
Definition at line 750 of file conflict.c. References SCIP_Conflicthdlr::initialized, and NULL. Referenced by SCIPsetIncludeConflicthdlr().
gets time in seconds used in this conflict handler for setting up for next stages
Definition at line 761 of file conflict.c. References NULL, SCIPclockGetTime(), and SCIP_Conflicthdlr::setuptime.
gets time in seconds used in this conflict handler
Definition at line 771 of file conflict.c. References SCIP_Conflicthdlr::conflicttime, NULL, and SCIPclockGetTime().
create conflict LP bound change data structure
Definition at line 787 of file conflict.c. References BMSclearMemoryArray, SCIP_CALL, SCIP_OKAY, SCIPsetAllocBuffer, and SCIPsetAllocBufferArray. Referenced by conflictAnalyzeLP().
reset conflict LP bound change data structure
Definition at line 809 of file conflict.c. References BMSclearMemoryArray, SCIP_LPBdChgs::nbdchgs, NULL, and SCIP_LPBdChgs::usedcols. Referenced by conflictAnalyzeLP().
free conflict LP bound change data structure
Definition at line 821 of file conflict.c. References SCIPsetFreeBuffer, and SCIPsetFreeBufferArray. Referenced by conflictAnalyzeLP().
resizes the array of the temporary bound change informations to be able to store at least num bound change entries
Definition at line 841 of file conflict.c. References BMSreallocMemoryArray, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_Conflict::tmpbdchginfos, and SCIP_Conflict::tmpbdchginfossize. Referenced by conflictCreateTmpBdchginfo().
creates a temporary bound change information object that is destroyed after the conflict sets are flushed
Definition at line 865 of file conflict.c. References conflictEnsureTmpbdchginfosMem(), SCIP_Conflict::ntmpbdchginfos, NULL, SCIP_CALL, SCIP_OKAY, SCIPbdchginfoCreate(), and SCIP_Conflict::tmpbdchginfos. Referenced by conflictAnalyzeRemainingBdchgs(), and conflictCreateReconvergenceConss().
frees all temporarily created bound change information data
Definition at line 889 of file conflict.c. References SCIP_Conflict::ntmpbdchginfos, NULL, SCIPbdchginfoFree(), and SCIP_Conflict::tmpbdchginfos. Referenced by SCIPconflictFlushConss().
clears the given conflict set
Definition at line 905 of file conflict.c. References SCIP_ConflictSet::conflictdepth, SCIP_ConflictSet::insertdepth, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_ConflictSet::repropagate, SCIP_ConflictSet::repropdepth, TRUE, and SCIP_ConflictSet::validdepth. Referenced by conflictClear(), and conflictsetCreate().
creates an empty conflict set
Definition at line 921 of file conflict.c. References BMSallocBlockMemory, conflictsetClear(), NULL, SCIP_ALLOC, and SCIP_OKAY. Referenced by SCIPconflictCreate().
creates a copy of the given conflict set, allocating an additional amount of memory
Definition at line 941 of file conflict.c. References SCIP_ConflictSet::bdchginfos, BMSallocBlockMemory, BMSallocBlockMemoryArray, BMScopyMemoryArray, SCIP_ConflictSet::conflictdepth, SCIP_ConflictSet::insertdepth, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_ConflictSet::relaxedbds, SCIP_ConflictSet::repropdepth, SCIP_ALLOC, SCIP_OKAY, SCIP_ConflictSet::sortvals, and SCIP_ConflictSet::validdepth. Referenced by conflictAddConflictset().
frees a conflict set
Definition at line 975 of file conflict.c. References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, and NULL. Referenced by conflictAddConflictset(), conflictInsertConflictset(), SCIPconflictFlushConss(), and SCIPconflictFree().
resizes the arrays of the conflict set to be able to store at least num bound change entries
Definition at line 991 of file conflict.c. References SCIP_ConflictSet::bdchginfos, SCIP_ConflictSet::bdchginfossize, BMSreallocBlockMemoryArray, NULL, SCIP_ConflictSet::relaxedbds, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), and SCIP_ConflictSet::sortvals. Referenced by conflictsetAddBound(), and conflictsetAddBounds().
updates the score of the conflict set
Definition at line 1018 of file conflict.c. References CONFLICTSETSCORE, NULL, and SCIP_Real. Referenced by conflictInsertConflictset().
check if the bound change info (which is the potential next candidate which is queued) is valid for the current conflict analysis; a bound change info can get invalid if after this one was added to the queue, a weaker bound change was added to the queue (due the bound widening idea) which immediately makes this bound change redundant; due to the priority we did not removed that bound change info since that cost O(log(n)); hence we have to skip/ignore it now The following situations can occur before for example the bound change info (x >= 3) is potentially popped from the queue. Postcondition: the reason why (x >= 3) was queued is that at this time point no lower bound of x was involved yet in the current conflict or the lower bound which was involved until then was stronger, e.g., (x >= 2). 1) during the time until (x >= 3) gets potentially popped no weaker lower bound was added to the queue, in that case the conflictlbcount is valid and conflictlb is 3; that is (var->conflictlbcount == conflict->count && var->conflictlb == 3) 2) a weaker bound change info gets queued (e.g., x >= 4); this bound change is popped before (x >= 3) since it has higher priority (which is the time stamp of the bound change info and (x >= 4) has to be done after (x >= 3) during propagation or branching) a) if (x >= 4) is popped and added to the conflict set the conflictlbcount is still valid and conflictlb is at most 4; that is (var->conflictlbcount == conflict->count && var->conflictlb >= 4); it follows that any bound change info which is stronger than (x >= 4) gets ignored (for example x >= 2) b) if (x >= 4) is popped and resolved without introducing a new lower bound on x until (x >= 3) is a potentially candidate the conflictlbcount indicates that bound change is currently not present; that is (var->conflictlbcount != conflict->count) c) if (x >= 4) is popped and resolved and a new lower bound on x (e.g., x >= 2) is introduced until (x >= 3) is pooped, the conflictlbcount indicates that bound change is currently present; that is (var->conflictlbcount == conflict->count); however the (x >= 3) only has be explained if conflictlb matches that one; that is (var->conflictlb == bdchginfo->newbound); otherwise it redundant/invalid.
Definition at line 1061 of file conflict.c. References SCIP_Var::conflictlb, SCIP_Var::conflictlbcount, SCIP_Var::conflictub, SCIP_Var::conflictubcount, SCIP_Conflict::count, FALSE, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetVar(), SCIPvarIsBinary(), and TRUE. Referenced by conflictFirstCand(), conflictRemoveCand(), conflictResolveBound(), and conflictsetAddBounds().
adds a bound change to a conflict set
Definition at line 1104 of file conflict.c. References SCIP_ConflictSet::bdchginfos, conflictsetEnsureBdchginfosMem(), MAX, MIN, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_ConflictSet::relaxedbds, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetVar(), SCIPbdchginfoIsTighter(), SCIPsortedvecDelPosIntPtrReal(), SCIPsortedvecInsertIntPtrReal(), SCIPvarGetIndex(), and SCIP_ConflictSet::sortvals. Referenced by conflictAddConflictBound(), and conflictsetAddBounds().
adds given bound changes to a conflict set
Definition at line 1174 of file conflict.c. References bdchginfoIsInvalid(), SCIP_ConflictSet::bdchginfos, conflictsetAddBound(), conflictsetEnsureBdchginfosMem(), FALSE, MAX, MIN, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_ConflictSet::relaxedbds, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetDepth(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetRelaxedBound(), SCIPbdchginfoGetVar(), SCIPbdchginfoIsTighter(), SCIPdebugMessage, SCIPsortIntPtrReal(), SCIPvarGetIndex(), SCIPvarGetName(), SCIP_ConflictSet::sortvals, and TRUE. Referenced by conflictAddConflictset().
calculates the conflict and the repropagation depths of the conflict set
Definition at line 1340 of file conflict.c. References SCIP_ConflictSet::bdchginfos, SCIP_ConflictSet::conflictdepth, SCIP_ConflictSet::insertdepth, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_ConflictSet::repropdepth, SCIPbdchginfoGetDepth(), and SCIP_ConflictSet::validdepth. Referenced by conflictInsertConflictset().
identifies the depth, at which the conflict set should be added:
Definition at line 1384 of file conflict.c. References SCIP_ConflictSet::bdchginfos, BMSclearMemoryArray, SCIP_ConflictSet::insertdepth, MIN, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_Tree::pathlen, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPbdchginfoGetDepth(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPtreeGetCurrentDepth(), TRUE, and SCIP_ConflictSet::validdepth. Referenced by conflictAddConflictset().
checks whether the first conflict set is redundant to the second one
Definition at line 1431 of file conflict.c. References SCIP_ConflictSet::bdchginfos, FALSE, SCIP_ConflictSet::nbdchginfos, NULL, SCIPbdchginfoIsTighter(), SCIP_ConflictSet::sortvals, and SCIP_ConflictSet::validdepth. Referenced by conflictInsertConflictset().
resizes conflictsets array to be able to store at least num entries
Definition at line 1493 of file conflict.c. References BMSreallocMemoryArray, SCIP_Conflict::conflictsets, SCIP_Conflict::conflictsetscores, SCIP_Conflict::conflictsetssize, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by conflictInsertConflictset().
inserts conflict set into sorted conflictsets array and deletes the conflict set pointer
Definition at line 1518 of file conflict.c. References conflictEnsureConflictsetsMem(), conflictsetCalcConflictDepth(), conflictsetCalcScore(), conflictsetFree(), conflictsetIsRedundant(), SCIP_Conflict::conflictsets, SCIP_Conflict::conflictsetscores, MIN, SCIP_Conflict::nconflictsets, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebug, and SCIPdebugMessage. Referenced by conflictAddConflictset(). calculates the maximal size of conflict sets to be used
Definition at line 1613 of file conflict.c. References MAX, SCIP_Prob::ncontvars, NULL, and SCIP_Prob::nvars. Referenced by conflictAnalyzeRemainingBdchgs(), SCIPconflictAnalyze(), and SCIPconflictFlushConss().
increases the conflict score of the variable in the given direction
Definition at line 1631 of file conflict.c. References SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_OKAY, SCIPhistoryIncVSIDS(), SCIPsetIsZero(), SCIPvarIncVSIDS(), and SCIP_Stat::vsidsweight. Referenced by conflictAddBound(), conflictAnalyzeRemainingBdchgs(), and updateStatistics().
update conflict statistics
Definition at line 1662 of file conflict.c. References SCIP_ConflictSet::bdchginfos, SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, incVSIDS(), SCIP_Conflict::nappliedglbconss, SCIP_Conflict::nappliedglbliterals, SCIP_Conflict::nappliedlocconss, SCIP_Conflict::nappliedlocliterals, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_ConflictSet::relaxedbds, SCIP_BOUNDTYPE_LOWER, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPbdchginfoGetBoundtype(), SCIPhistoryIncNActiveConflicts(), SCIPvarIncNActiveConflicts(), and SCIP_BdChgInfo::var. Referenced by conflictAddConflictCons().
check conflict set for redundancy, other conflicts in the same conflict analysis could have led to global reductions an made this conflict set redundant
Definition at line 1716 of file conflict.c. References SCIP_ConflictSet::bdchginfos, FALSE, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_ConflictSet::relaxedbds, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetVar(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsGE(), SCIPsetIsIntegral(), SCIPsetIsLE(), SCIPvarGetLbGlobal(), SCIPvarGetProbindex(), SCIPvarGetType(), SCIPvarGetUbGlobal(), and TRUE. Referenced by detectImpliedBounds().
find global fixings which can be derived from the new conflict set
Definition at line 1781 of file conflict.c. References SCIP_ConflictSet::bdchginfos, checkRedundancy(), FALSE, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_ConflictSet::relaxedbds, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetVar(), SCIPboundtypeOpposite(), SCIPdebugMessage, SCIPdebugPrintf, SCIPprobGetName(), SCIPprobGetNVars(), SCIPprobIsTransformed(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsGE(), SCIPsetIsIntegral(), SCIPsetIsLE(), SCIPsetIsZero(), SCIPshrinkDisjunctiveVarSet(), SCIPsortLongPtrRealRealBool(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetNBinImpls(), SCIPvarGetNCliques(), SCIPvarGetNVlbs(), SCIPvarGetNVubs(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), SCIPvarIsIntegral(), SCIP_ConflictSet::sortvals, and TRUE. Referenced by conflictAddConflictCons().
adds the given conflict set as conflict constraint to the problem
Definition at line 2053 of file conflict.c. References SCIP_ConflictSet::bdchginfos, SCIP_BdChgInfo::boundtype, SCIP_ConflictSet::conflictdepth, detectImpliedBounds(), SCIP_Conflict::dIBclock, SCIP_Lp::diving, FALSE, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_Tree::path, SCIP_ConflictSet::relaxedbds, SCIP_Tree::root, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_CONSADDED, SCIP_OKAY, SCIP_Real, SCIPboundtypeOpposite(), SCIPclockStart(), SCIPclockStop(), SCIPconflicthdlrExec(), SCIPconflicthdlrGetName(), SCIPconflicthdlrGetPriority(), SCIPdebug, SCIPdebugCheckConflict, SCIPdebugMessage, SCIPnodeAddBoundchg(), SCIPsetIsIntegral(), SCIPsetSortConflicthdlrs(), SCIPtreeGetCurrentDepth(), SCIPtreeGetFocusDepth(), SCIPvarGetName(), SCIPvarIsIntegral(), SCIP_Lp::strongbranching, TRUE, updateStatistics(), SCIP_ConflictSet::validdepth, and SCIP_BdChgInfo::var. Referenced by SCIPconflictFlushConss().
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
Definition at line 2189 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, NULL, SCIP_Tree::path, SCIP_Tree::pathlen, SCIP_ConflictSet::repropagate, SCIP_ConflictSet::repropdepth, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebug, SCIPdebugMessage, SCIPnodeCutoff(), SCIPnodePropagateAgain(), SCIPtreeGetCurrentDepth(), SCIPtreeGetFocusDepth(), SCIPvbcFoundConflict(), SCIP_ConflictSet::validdepth, and SCIP_Stat::vbc. Referenced by conflictAnalyzeLP(), SCIPconflictAnalyzePseudo(), SCIPpropagateDomains(), and solveNode().
returns the current number of conflict sets in the conflict set storage
Definition at line 2365 of file conflict.c. References SCIP_Conflict::nconflictsets, and NULL. Referenced by propAndSolve(), SCIPgetNConflictConssFoundNode(), SCIPgetVarStrongbranchWithPropagation(), and solveNode().
returns the total number of conflict constraints that were added to the problem
Definition at line 2375 of file conflict.c. References SCIP_Conflict::nappliedglbconss, SCIP_Conflict::nappliedlocconss, and NULL. Referenced by SCIPgetNConflictConssApplied().
returns the total number of literals in conflict constraints that were added to the problem
Definition at line 2385 of file conflict.c. References SCIP_Conflict::nappliedglbliterals, SCIP_Conflict::nappliedlocliterals, and NULL.
returns the total number of global bound changes applied by the conflict analysis
Definition at line 2395 of file conflict.c. References SCIP_Conflict::nglbchgbds, and NULL. Referenced by printConflictStatistics().
returns the total number of conflict constraints that were added globally to the problem
Definition at line 2405 of file conflict.c. References SCIP_Conflict::nappliedglbconss, and NULL. Referenced by printConflictStatistics().
returns the total number of literals in conflict constraints that were added globally to the problem
Definition at line 2415 of file conflict.c. References SCIP_Conflict::nappliedglbliterals, and NULL. Referenced by printConflictStatistics().
returns the total number of local bound changes applied by the conflict analysis
Definition at line 2425 of file conflict.c. References SCIP_Conflict::nlocchgbds, and NULL. Referenced by printConflictStatistics().
returns the total number of conflict constraints that were added locally to the problem
Definition at line 2435 of file conflict.c. References SCIP_Conflict::nappliedlocconss, and NULL. Referenced by printConflictStatistics().
returns the total number of literals in conflict constraints that were added locally to the problem
Definition at line 2445 of file conflict.c. References SCIP_Conflict::nappliedlocliterals, and NULL. Referenced by printConflictStatistics().
returns whether bound change has a valid reason that can be resolved in conflict analysis
Definition at line 2463 of file conflict.c. References NULL, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIPbdchginfoGetChgtype(), SCIPbdchginfoGetInferProp(), and SCIPbdchginfoIsRedundant(). Referenced by addCand(), and conflictCreateReconvergenceConss().
compares two conflict set entries, such that bound changes infered later are ordered prior to ones that were infered earlier Definition at line 2479 of file conflict.c. References NULL, SCIPbdchgidxIsEarlierNonNull(), SCIPbdchginfoGetIdx(), and SCIPbdchginfoIsRedundant(). 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
Definition at line 2500 of file conflict.c. Referenced by SCIPconflictAnalyze(), and SCIPisConflictAnalysisApplicable().
creates conflict analysis data for propagation conflicts
Definition at line 2516 of file conflict.c. References BMSallocMemory, conflictsetCreate(), NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIPclockCreate(), and SCIPpqueueCreate(). Referenced by SCIPtransformProb().
frees conflict analysis data for propagation conflicts
Definition at line 2589 of file conflict.c. References BMSfreeMemory, BMSfreeMemoryArrayNull, conflictsetFree(), NULL, SCIP_OKAY, SCIPclockFree(), and SCIPpqueueFree(). Referenced by freeTransform().
clears the conflict queue and the current conflict set
Definition at line 2622 of file conflict.c. References SCIP_Conflict::bdchgqueue, SCIP_Conflict::conflictset, conflictsetClear(), SCIP_Conflict::forcedbdchgqueue, NULL, and SCIPpqueueClear(). Referenced by conflictAnalyze(), conflictCreateReconvergenceConss(), and SCIPconflictInit().
initializes the propagation conflict analysis by clearing the conflict candidate queue
Definition at line 2634 of file conflict.c. References conflictClear(), SCIP_Conflict::count, SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, SCIP_Stat::lastconflictnode, SCIP_Stat::nnodes, NULL, SCIP_Prob::nvars, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPhistoryScaleVSIDS(), SCIPvarScaleVSIDS(), SCIP_Prob::vars, and SCIP_Stat::vsidsweight. Referenced by conflictAnalyzeRemainingBdchgs(), conflictCreateReconvergenceConss(), and SCIPinitConflictAnalysis().
marks bound to be present in the current conflict and returns whether a bound which is at least as tight was already member of the current conflict (i.e., the given bound change does not need to be added)
Definition at line 2693 of file conflict.c. References SCIP_Var::conflictlb, SCIP_Var::conflictlbcount, SCIP_Var::conflictrelaxedlb, SCIP_Var::conflictrelaxedub, SCIP_Var::conflictub, SCIP_Var::conflictubcount, SCIP_Conflict::count, FALSE, MAX, MIN, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, SCIPABORT, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetVar(), SCIPdebugMessage, SCIPerrorMessage, SCIPvarGetName(), and TRUE. Referenced by conflictAddConflictBound(), and conflictQueueBound().
puts bound change into the current conflict set
Definition at line 2781 of file conflict.c. References conflictMarkBoundCheckPresence(), SCIP_Conflict::conflictset, conflictsetAddBound(), NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetDepth(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetVar(), SCIPbdchginfoIsRedundant(), SCIPdebugMessage, SCIPsetIsGE(), SCIPsetIsLE(), and SCIPvarGetName(). Referenced by conflictAnalyze(), conflictAnalyzeRemainingBdchgs(), and conflictCreateReconvergenceConss().
returns whether the negation of the given bound change would lead to a globally valid literal
Definition at line 2824 of file conflict.c. References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetVar(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPvarGetLbGlobal(), SCIPvarGetType(), and SCIPvarGetUbGlobal(). Referenced by conflictQueueBound().
adds given bound change information to the conflict candidate queue
Definition at line 2844 of file conflict.c. References SCIP_Conflict::bdchgqueue, conflictMarkBoundCheckPresence(), SCIP_Conflict::forcedbdchgqueue, isBoundchgUseless(), NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetVar(), SCIPbdchginfoIsRedundant(), SCIPpqueueInsert(), SCIPsetIsGE(), SCIPsetIsLE(), and SCIPvarIsBinary(). Referenced by conflictAddBound(), and conflictCreateReconvergenceConss().
convert variable and bound change to active variable
Definition at line 2890 of file conflict.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIPboundtypeOpposite(), SCIPvarGetProbvarSum(), and SCIPvarGetStatus(). Referenced by SCIPconflictAddBound(), SCIPconflictAddRelaxedBound(), and SCIPconflictIsVarUsed().
adds variable's bound to conflict candidate queue
Definition at line 2925 of file conflict.c. References conflictQueueBound(), incVSIDS(), NULL, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetChgtype(), SCIPbdchginfoGetDepth(), SCIPbdchginfoGetInferCons(), SCIPbdchginfoGetInferInfo(), SCIPbdchginfoGetInferProp(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetOldbound(), SCIPbdchginfoGetPos(), SCIPbdchginfoGetVar(), SCIPbdchginfoIsRedundant(), SCIPconsGetName(), SCIPdebugMessage, SCIPpropGetName(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), and SCIPvarIsActive(). Referenced by conflictAnalyzeRemainingBdchgs(), SCIPconflictAddBound(), and SCIPconflictAddRelaxedBound().
adds variable's bound to conflict candidate queue
Definition at line 2981 of file conflict.c. References conflictAddBound(), convertToActiveVar(), FALSE, NULL, 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().
adds variable's bound to conflict candidate queue
Definition at line 3042 of file conflict.c. References SCIP_BdChgInfo::bdchgidx, conflictAddBound(), convertToActiveVar(), FALSE, MAX, MIN, NULL, 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(), SCIPdebugMessage, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetBdchgInfo(), SCIPvarGetBdchgInfoLb(), SCIPvarGetBdchgInfoUb(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), and SCIPvarIsActive(). Referenced by SCIPaddConflictRelaxedBd(), SCIPaddConflictRelaxedLb(), and SCIPaddConflictRelaxedUb().
checks if the given variable is already part of the current conflict set or queued for resolving with the same or even stronger bound
Definition at line 3206 of file conflict.c. References SCIP_Var::conflictlb, SCIP_Var::conflictlbcount, SCIP_Var::conflictub, SCIP_Var::conflictubcount, convertToActiveVar(), SCIP_Conflict::count, FALSE, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIPABORT, SCIPdebugMessage, SCIPerrorMessage, SCIPvarGetLbAtIndex(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbAtIndex(), SCIPvarIsActive(), and TRUE. Referenced by SCIPisConflictVarUsed().
returns the conflict lower bound if the variable is present in the current conflict set; otherwise the global lower bound
Definition at line 3266 of file conflict.c. References SCIP_Var::conflictlb, SCIP_Var::conflictlbcount, SCIP_Var::conflictrelaxedlb, SCIP_Conflict::count, EPSGE, and SCIPvarGetLbGlobal(). Referenced by SCIPgetConflictVarLb().
returns the conflict upper bound if the variable is present in the current conflict set; otherwise the global upper bound
Definition at line 3283 of file conflict.c. References SCIP_Var::conflictrelaxedub, SCIP_Var::conflictub, SCIP_Var::conflictubcount, SCIP_Conflict::count, EPSLE, and SCIPvarGetUbGlobal(). Referenced by SCIPgetConflictVarUb().
removes and returns next conflict analysis candidate from the candidate queue
Definition at line 3299 of file conflict.c. References bdchginfoIsInvalid(), SCIP_Conflict::bdchgqueue, SCIP_Var::conflictlbcount, SCIP_Var::conflictrelaxedlb, SCIP_Var::conflictrelaxedub, SCIP_Var::conflictubcount, SCIP_Conflict::forcedbdchgqueue, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetVar(), SCIPbdchginfoIsRedundant(), SCIPpqueueNElems(), and SCIPpqueueRemove(). Referenced by conflictAnalyze(), and conflictCreateReconvergenceConss().
returns next conflict analysis candidate from the candidate queue without removing it
Definition at line 3343 of file conflict.c. References bdchginfoIsInvalid(), SCIP_Conflict::bdchgqueue, SCIP_Conflict::forcedbdchgqueue, NULL, SCIP_BOUNDTYPE_LOWER, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetDepth(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetVar(), SCIPbdchginfoIsRedundant(), SCIPdebugMessage, SCIPpqueueFirst(), SCIPpqueueNElems(), SCIPpqueueRemove(), and SCIPvarGetName(). Referenced by conflictAnalyze(), and conflictCreateReconvergenceConss().
adds the current conflict set (extended by all remaining bound changes in the queue) to the pool of conflict sets
Definition at line 3397 of file conflict.c. References SCIP_ConflictSet::bdchginfos, SCIP_Conflict::bdchgqueue, conflictInsertConflictset(), SCIP_Conflict::conflictset, conflictsetAddBounds(), conflictsetCalcInsertDepth(), conflictsetCopy(), conflictsetFree(), FALSE, SCIP_Conflict::forcedbdchgqueue, SCIP_ConflictSet::insertdepth, MAX, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_Tree::path, SCIP_Tree::pathlen, SCIP_ConflictSet::relaxedbds, SCIP_ConflictSet::repropagate, SCIP_CALL, SCIP_OKAY, SCIPdebugCheckConflict, SCIPdebugMessage, SCIPpqueueElems(), SCIPpqueueNElems(), SCIPtreeGetCurrentDepth(), SCIPtreeGetFocusDepth(), TRUE, and SCIP_ConflictSet::validdepth. Referenced by conflictAnalyze(), and conflictCreateReconvergenceConss().
tries to resolve given bound change
Definition at line 3496 of file conflict.c. References bdchginfoIsInvalid(), SCIP_ConflictSet::bdchginfos, SCIP_Conflict::bdchgqueue, SCIP_Conflict::conflictset, FALSE, SCIP_Conflict::forcedbdchgqueue, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_ConflictSet::relaxedbds, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_SUCCESS, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_NEGATED, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetChgtype(), SCIPbdchginfoGetDepth(), SCIPbdchginfoGetIdx(), SCIPbdchginfoGetInferBoundtype(), SCIPbdchginfoGetInferCons(), SCIPbdchginfoGetInferInfo(), SCIPbdchginfoGetInferProp(), SCIPbdchginfoGetInferVar(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetPos(), SCIPbdchginfoGetRelaxedBound(), SCIPbdchginfoGetVar(), SCIPbdchginfoIsRedundant(), SCIPconsGetName(), SCIPconsGetValidDepth(), SCIPconsIsGlobal(), SCIPconsResolvePropagation(), SCIPdebugMessage, SCIPdebugPrintf, SCIPerrorMessage, SCIPpqueueElems(), SCIPpqueueNElems(), SCIPpropGetName(), SCIPpropResolvePropagation(), SCIPvarGetBdAtIndex(), SCIPvarGetName(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsActive(), and TRUE. Referenced by conflictAnalyze(), and conflictCreateReconvergenceConss().
if only one conflicting bound change of the last depth level was used, and if this can be resolved, creates GRASP-like reconvergence conflict constraints in the conflict graph up to the branching variable of this depth level
Definition at line 3704 of file conflict.c. References bdchginfoIsResolvable(), SCIP_ConflictSet::bdchginfos, SCIP_Conflict::bdchgqueue, conflictAddConflictBound(), conflictAddConflictset(), conflictClear(), conflictCreateTmpBdchginfo(), conflictFirstCand(), conflictQueueBound(), conflictRemoveCand(), conflictResolveBound(), SCIP_Conflict::conflictset, FALSE, SCIP_Conflict::forcedbdchgqueue, MIN, SCIP_ConflictSet::nbdchginfos, NULL, SCIP_Tree::path, SCIP_Tree::pathlen, SCIP_ConflictSet::relaxedbds, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetDepth(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetPos(), SCIPbdchginfoGetRelaxedBound(), SCIPbdchginfoGetVar(), SCIPbdchginfoIsRedundant(), SCIPboundtypeOpposite(), SCIPconflictInit(), SCIPdebugCheckConflictFrontier, SCIPdebugMessage, SCIPpqueueNElems(), SCIPsetIsIntegral(), SCIPtreeGetCurrentDepth(), SCIPtreeGetFocusDepth(), SCIPvarGetName(), SCIPvarIsActive(), and SCIPvarIsIntegral(). Referenced by conflictAnalyze().
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; afterwards the conflict queue and the conflict set is cleared
Definition at line 3932 of file conflict.c. References SCIP_ConflictSet::bdchginfos, SCIP_Conflict::bdchgqueue, SCIP_DomChgBound::boundchgs, conflictAddConflictBound(), conflictAddConflictset(), conflictClear(), conflictCreateReconvergenceConss(), conflictFirstCand(), conflictRemoveCand(), conflictResolveBound(), SCIP_Conflict::conflictset, SCIP_Node::domchg, SCIP_DomChg::domchgbound, FALSE, SCIP_Conflict::forcedbdchgqueue, MIN, SCIP_ConflictSet::nbdchginfos, SCIP_DomChgBound::nboundchgs, NULL, SCIP_Tree::path, SCIP_Tree::pathlen, SCIP_ConflictSet::relaxedbds, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetDepth(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoGetPos(), SCIPbdchginfoGetRelaxedBound(), SCIPbdchginfoGetVar(), SCIPbdchginfoHasInferenceReason(), SCIPbdchginfoIsRedundant(), SCIPdebugCheckConflictFrontier, SCIPdebugMessage, SCIPpqueueNElems(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPtreeGetCurrentDepth(), SCIPtreeGetFocusDepth(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), and TRUE. Referenced by conflictAnalyzeRemainingBdchgs(), and SCIPconflictAnalyze().
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
Definition at line 4212 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, NULL, SCIP_Conflict::propanalyzetime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPconflictApplicable(), SCIPdebugMessage, SCIPpqueueNElems(), SCIPtreeGetCurrentDepth(), and TRUE. Referenced by SCIPanalyzeConflict(), and SCIPanalyzeConflictCons().
gets time in seconds used for preprocessing global conflict constraint before appliance
Definition at line 4271 of file conflict.c. References SCIP_Conflict::dIBclock, NULL, and SCIPclockGetTime(). Referenced by printConflictStatistics().
gets time in seconds used for analyzing propagation conflicts
Definition at line 4281 of file conflict.c. References NULL, SCIP_Conflict::propanalyzetime, and SCIPclockGetTime(). Referenced by printConflictStatistics().
gets number of calls to propagation conflict analysis
Definition at line 4291 of file conflict.c. References SCIP_Conflict::npropcalls, and NULL. Referenced by printConflictStatistics().
gets number of calls to propagation conflict analysis that yield at least one conflict constraint
Definition at line 4301 of file conflict.c. References SCIP_Conflict::npropsuccess, and NULL. Referenced by printConflictStatistics(), and SCIPsolveCIP().
gets number of conflict constraints detected in propagation conflict analysis
Definition at line 4311 of file conflict.c. References SCIP_Conflict::npropconfconss, and NULL. Referenced by printConflictStatistics(), and SCIPgetNConflictConssFound().
gets total number of literals in conflict constraints created in propagation conflict analysis
Definition at line 4321 of file conflict.c. References SCIP_Conflict::npropconfliterals, and NULL. Referenced by printConflictStatistics().
gets number of reconvergence constraints detected in propagation conflict analysis
Definition at line 4331 of file conflict.c. References SCIP_Conflict::npropreconvconss, and NULL. Referenced by printConflictStatistics(), and SCIPgetNConflictConssFound().
gets total number of literals in reconvergence constraints created in propagation conflict analysis
Definition at line 4341 of file conflict.c. References SCIP_Conflict::npropreconvliterals, and NULL. Referenced by printConflictStatistics().
ensures, that side change arrays can store at least num entries
Definition at line 4359 of file conflict.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPsetCalcMemGrowSize(), and SCIPsetReallocBufferArray. Referenced by addSideRemoval().
adds removal of row's side to side change arrays; finite sides are only replaced by near infinite sides, such that the row's sense in the LP solver is not changed
Definition at line 4398 of file conflict.c. References ensureSidechgsSize(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIProwGetConstant(), SCIProwGetLhs(), SCIProwGetLPPos(), SCIProwGetRhs(), and SCIPsetIsInfinity(). Referenced by conflictAnalyzeLP().
inserts variable's new bounds into bound change arrays
Definition at line 4467 of file conflict.c. References SCIP_LPBdChgs::bdchgcolinds, SCIP_LPBdChgs::bdchginds, SCIP_LPBdChgs::bdchglbs, SCIP_LPBdChgs::bdchgubs, SCIP_LPBdChgs::nbdchgs, NULL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPcolGetLPPos(), SCIPvarGetCol(), SCIPvarGetLbLP(), SCIPvarGetStatus(), SCIPvarGetUbLP(), TRUE, and SCIP_LPBdChgs::usedcols. Referenced by undoBdchgsProof().
ensures, that candidate array can store at least num entries
Definition at line 4539 of file conflict.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPsetCalcMemGrowSize(), and SCIPsetReallocBufferArray. Referenced by addCand().
adds variable to candidate list, if the current best bound corresponding to the proof coefficient is local; returns the array position in the candidate list, where the new candidate was inserted, or -1 if the variable can relaxed to global bounds immediately without increasing the proof's activity; the candidates are sorted with respect to the following two criteria:
Definition at line 4576 of file conflict.c. References SCIP_BdChgInfo::bdchgidx, bdchginfoIsResolvable(), SCIP_BdChgIdx::depth, ensureCandsSize(), FALSE, SCIP_Var::lbchginfos, MAX, SCIP_BdChgInfo::newbound, SCIP_Var::nlbchginfos, SCIP_Var::nubchginfos, NULL, SCIP_BdChgInfo::oldbound, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPsetIsGT(), SCIPsetIsZero(), SCIPvarGetLbLocal(), SCIPvarGetLbLP(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPvarGetUbLP(), SCIPvarIsBinary(), and SCIP_Var::ubchginfos. Referenced by undoBdchgsProof().
after changing the global bound of a variable, the bdchginfos that are now redundant are replaced with oldbound = newbound = global bound; if the current bdchginfo is of such kind, the bound is equal to the global bound and we can ignore it by installing a -1 as the corresponding bound change info position
Definition at line 4712 of file conflict.c. References SCIP_Var::lbchginfos, SCIP_BdChgInfo::newbound, SCIP_Var::nlbchginfos, SCIP_Var::nubchginfos, NULL, SCIP_BdChgInfo::oldbound, SCIP_BdChgInfo::redundant, SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and SCIP_Var::ubchginfos. Referenced by undoBdchgsProof().
undoes bound changes on variables, still leaving the given infeasibility proof valid
Definition at line 4744 of file conflict.c. References addBdchg(), addCand(), FALSE, NULL, SCIP_Prob::nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), SCIPvarIsInLP(), skipRedundantBdchginfos(), TRUE, and SCIP_Prob::vars. Referenced by SCIPconflictAnalyzePseudo(), undoBdchgsDualfarkas(), and undoBdchgsDualsol().
analyzes an infeasible LP and undoes additional bound changes while staying infeasible
Definition at line 4939 of file conflict.c. References BMSclearMemoryArray, SCIP_Row::cols, SCIP_Row::constant, SCIP_Lp::cutoffbound, FALSE, SCIP_Lp::flushed, SCIP_Row::len, SCIP_Row::lhs, SCIP_Row::local, SCIP_Lp::lpirows, SCIP_Lp::nlpirows, NULL, NUMSTOP, SCIP_Prob::nvars, REALABS, SCIP_Row::rhs, SCIP_CALL, SCIP_LPERROR, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPcolGetLPPos(), SCIPcolGetVar(), SCIPdebugMessage, SCIPlpGetLPI(), SCIPlpGetNRows(), SCIPlpGetRows(), SCIPlpiGetDualfarkas(), SCIPlpiGetSides(), SCIPlpiHasDualRay(), SCIProwGetName(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsFeasGT(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsRelEQ(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetLbLP(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetUbLP(), SCIP_Lp::solved, TRUE, undoBdchgsProof(), SCIP_Row::vals, and SCIP_Prob::vars. Referenced by conflictAnalyzeLP().
analyzes an LP exceeding the objective limit and undoes additional bound changes while staying beyond the objective limit
Definition at line 5147 of file conflict.c. References BMSclearMemoryArray, SCIP_Row::cols, SCIP_Lp::cols, SCIP_Row::constant, SCIP_Lp::cutoffbound, FALSE, SCIP_Lp::flushed, SCIP_Row::len, SCIP_Row::lhs, SCIP_Row::local, SCIP_Lp::lpicols, SCIP_Lp::lpirows, SCIP_Lp::nlpirows, NULL, SCIP_Prob::nvars, SCIP_Row::rhs, SCIP_CALL, SCIP_LPERROR, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcolCalcRedcost(), SCIPcolGetLPPos(), SCIPcolGetVar(), SCIPdebugMessage, SCIPlpGetLPI(), SCIPlpGetNCols(), SCIPlpGetNRows(), SCIPlpGetRows(), SCIPlpiGetObjval(), SCIPlpiGetSol(), SCIProwGetName(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsFeasGT(), SCIPsetIsFeasNegative(), SCIPsetIsFeasPositive(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetIsZero(), SCIPsetSumepsilon(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIP_Lp::solved, TRUE, undoBdchgsProof(), SCIP_Row::vals, and SCIP_Prob::vars. Referenced by conflictAnalyzeLP().
applies conflict analysis starting with given bound changes, that could not be undone during previous infeasibility analysis
Definition at line 5393 of file conflict.c. References conflictAddBound(), conflictAddConflictBound(), conflictAnalyze(), conflictCalcMaxsize(), conflictCreateTmpBdchginfo(), FALSE, incVSIDS(), SCIP_Var::lbchginfos, SCIP_Var::nlbchginfos, SCIP_Var::nubchginfos, NULL, SCIP_Prob::nvars, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPbdchginfoGetBoundtype(), SCIPbdchginfoGetNewbound(), SCIPbdchginfoIsRedundant(), SCIPconflictInit(), SCIPdebugMessage, SCIPvarGetLbLocal(), SCIPvarGetLbLP(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPvarGetUbLP(), SCIP_Var::ubchginfos, and SCIP_Prob::vars. Referenced by conflictAnalyzeLP(), and SCIPconflictAnalyzePseudo().
actually performs analysis of infeasible LP
Definition at line 5521 of file conflict.c. References addSideRemoval(), SCIP_LPBdChgs::bdchginds, SCIP_LPBdChgs::bdchglbs, SCIP_LPBdChgs::bdchgubs, conflictAnalyzeRemainingBdchgs(), SCIP_Stat::conflictlptime, SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::flushed, lpbdchgsCreate(), lpbdchgsFree(), lpbdchgsReset(), SCIP_Lp::lpiitlim, SCIP_Lp::lpiuobjlim, SCIP_Lp::lpobjval, SCIP_Lp::lpsolstat, SCIP_LPBdChgs::nbdchgs, SCIP_Stat::nconflictlpiterations, SCIP_Stat::nconflictlps, SCIP_Conflict::nconflictsets, SCIP_Var::nlbchginfos, SCIP_Var::nubchginfos, NULL, SCIP_Prob::nvars, SCIP_Lp::primalfeasible, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_LPERROR, SCIP_LPPAR_LPITLIM, SCIP_LPPAR_UOBJLIM, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIP_Real, SCIPclockStart(), SCIPclockStop(), SCIPconflictFlushConss(), SCIPdebugMessage, SCIPlpDivingObjChanged(), SCIPlpGetLPI(), SCIPlpGetNCols(), SCIPlpGetNRows(), SCIPlpGetRows(), SCIPlpiChgBounds(), SCIPlpiChgSides(), SCIPlpiGetIterations(), SCIPlpiGetObjval(), SCIPlpiGetRealpar(), SCIPlpiInfinity(), SCIPlpiIsDualFeasible(), SCIPlpiIsObjlimExc(), SCIPlpiIsOptimal(), SCIPlpiIsPrimalInfeasible(), SCIPlpiSetIntpar(), SCIPlpiSetRealpar(), SCIPlpiSolveDual(), SCIPprobAllColsInLP(), SCIProwGetLhs(), SCIProwGetLPPos(), SCIProwGetName(), SCIProwGetRhs(), SCIProwIsLocal(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsEQ(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPtreeGetCurrentDepth(), SCIPvarGetLbLocal(), SCIPvarGetLbLP(), SCIPvarGetUbLocal(), SCIPvarGetUbLP(), SCIP_Lp::solved, TRUE, undoBdchgsDualfarkas(), undoBdchgsDualsol(), and SCIP_Prob::vars. Referenced by conflictAnalyzeBoundexceedingLP(), conflictAnalyzeInfeasibleLP(), and SCIPconflictAnalyzeStrongbranch().
analyzes an infeasible LP to find out the bound changes on variables that were responsible for the infeasibility; 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 LP conflict analysis
Definition at line 5987 of file conflict.c. References conflictAnalyzeLP(), FALSE, SCIP_Conflict::inflpanalyzetime, SCIP_Conflict::ninflpcalls, SCIP_Conflict::ninflpconfconss, SCIP_Conflict::ninflpconfliterals, SCIP_Conflict::ninflpiterations, SCIP_Conflict::ninflpreconvconss, SCIP_Conflict::ninflpreconvliterals, SCIP_Conflict::ninflpsuccess, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPlpDiving(), SCIPlpDivingObjChanged(), SCIPlpGetSolstat(), SCIPprobAllColsInLP(), SCIPtreeGetCurrentDepth(), and TRUE. Referenced by SCIPconflictAnalyzeLP().
analyzes a bound exceeding LP to find out the bound changes on variables that were responsible 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 bound exceeding LP conflict analysis
Definition at line 6054 of file conflict.c. References SCIP_Conflict::boundlpanalyzetime, conflictAnalyzeLP(), FALSE, SCIP_Conflict::nboundlpcalls, SCIP_Conflict::nboundlpconfconss, SCIP_Conflict::nboundlpconfliterals, SCIP_Conflict::nboundlpiterations, SCIP_Conflict::nboundlpreconvconss, SCIP_Conflict::nboundlpreconvliterals, SCIP_Conflict::nboundlpsuccess, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPlpDiving(), SCIPlpDivingObjChanged(), SCIPlpGetSolstat(), SCIPprobAllColsInLP(), SCIPtreeGetCurrentDepth(), and TRUE. Referenced by SCIPconflictAnalyzeLP().
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()
Definition at line 6122 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_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, NULL, 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().
gets time in seconds used for analyzing infeasible LP conflicts
Definition at line 6256 of file conflict.c. References SCIP_Conflict::inflpanalyzetime, NULL, and SCIPclockGetTime(). Referenced by printConflictStatistics().
gets number of calls to infeasible LP conflict analysis
Definition at line 6266 of file conflict.c. References SCIP_Conflict::ninflpcalls, and NULL. Referenced by printConflictStatistics().
gets number of calls to infeasible LP conflict analysis that yield at least one conflict constraint
Definition at line 6276 of file conflict.c. References SCIP_Conflict::ninflpsuccess, and NULL. Referenced by printConflictStatistics(), and SCIPsolveCIP().
gets number of conflict constraints detected in infeasible LP conflict analysis
Definition at line 6286 of file conflict.c. References SCIP_Conflict::ninflpconfconss, and NULL. Referenced by printConflictStatistics(), and SCIPgetNConflictConssFound().
gets total number of literals in conflict constraints created in infeasible LP conflict analysis
Definition at line 6296 of file conflict.c. References SCIP_Conflict::ninflpconfliterals, and NULL. Referenced by printConflictStatistics().
gets number of reconvergence constraints detected in infeasible LP conflict analysis
Definition at line 6306 of file conflict.c. References SCIP_Conflict::ninflpreconvconss, and NULL. Referenced by printConflictStatistics(), and SCIPgetNConflictConssFound().
gets total number of literals in reconvergence constraints created in infeasible LP conflict analysis
Definition at line 6316 of file conflict.c. References SCIP_Conflict::ninflpreconvliterals, and NULL. Referenced by printConflictStatistics().
gets number of LP iterations in infeasible LP conflict analysis
Definition at line 6326 of file conflict.c. References SCIP_Conflict::ninflpiterations, and NULL. Referenced by printConflictStatistics().
gets time in seconds used for analyzing bound exceeding LP conflicts
Definition at line 6336 of file conflict.c. References SCIP_Conflict::boundlpanalyzetime, NULL, and SCIPclockGetTime(). Referenced by printConflictStatistics().
gets number of calls to bound exceeding LP conflict analysis
Definition at line 6346 of file conflict.c. References SCIP_Conflict::nboundlpcalls, and NULL. Referenced by printConflictStatistics().
gets number of calls to bound exceeding LP conflict analysis that yield at least one conflict constraint
Definition at line 6356 of file conflict.c. References SCIP_Conflict::nboundlpsuccess, and NULL. Referenced by printConflictStatistics(), and SCIPsolveCIP().
gets number of conflict constraints detected in bound exceeding LP conflict analysis
Definition at line 6366 of file conflict.c. References SCIP_Conflict::nboundlpconfconss, and NULL. Referenced by printConflictStatistics(), and SCIPgetNConflictConssFound().
gets total number of literals in conflict constraints created in bound exceeding LP conflict analysis
Definition at line 6376 of file conflict.c. References SCIP_Conflict::nboundlpconfliterals, and NULL. Referenced by printConflictStatistics().
gets number of reconvergence constraints detected in bound exceeding LP conflict analysis
Definition at line 6386 of file conflict.c. References SCIP_Conflict::nboundlpreconvconss, and NULL. Referenced by printConflictStatistics(), and SCIPgetNConflictConssFound().
gets total number of literals in reconvergence constraints created in bound exceeding LP conflict analysis
Definition at line 6396 of file conflict.c. References SCIP_Conflict::nboundlpreconvliterals, and NULL. Referenced by printConflictStatistics().
gets number of LP iterations in bound exceeding LP conflict analysis
Definition at line 6406 of file conflict.c. References SCIP_Conflict::nboundlpiterations, and NULL. Referenced by printConflictStatistics().
analyses infeasible strong branching sub problems for conflicts
Definition at line 6423 of file conflict.c. References conflictAnalyzeLP(), SCIP_Stat::conflictlptime, 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, NULL, SCIP_Col::primsol, SCIP_Conflict::sbanalyzetime, SCIP_Col::sbdown, SCIP_Col::sbdownvalid, SCIP_Col::sbup, SCIP_Col::sbupvalid, SCIP_Bool, SCIP_CALL, SCIP_LPERROR, SCIP_OKAY, SCIP_Real, SCIPclockStart(), SCIPclockStop(), SCIPcolGetVar(), SCIPdebugMessage, SCIPlpiChgBounds(), SCIPlpiEndStrongbranch(), SCIPlpiGetBase(), SCIPlpiGetIterations(), SCIPlpiSetBase(), SCIPlpiSolveDual(), SCIPlpiStartStrongbranch(), SCIPprobAllColsInLP(), SCIPsetAllocBufferArray, SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPsetFreeBufferArray, SCIPsetIsGE(), SCIPtreeGetCurrentDepth(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIP_Lp::solved, TRUE, and SCIP_Col::ub. Referenced by analyzeStrongbranch().
gets time in seconds used for analyzing infeasible strong branching conflicts
Definition at line 6652 of file conflict.c. References NULL, SCIP_Conflict::sbanalyzetime, and SCIPclockGetTime(). Referenced by printConflictStatistics().
gets number of calls to infeasible strong branching conflict analysis
Definition at line 6662 of file conflict.c. References SCIP_Conflict::nsbcalls, and NULL. Referenced by printConflictStatistics().
gets number of calls to infeasible strong branching conflict analysis that yield at least one conflict constraint
Definition at line 6672 of file conflict.c. References SCIP_Conflict::nsbsuccess, and NULL. Referenced by printConflictStatistics(), and SCIPsolveCIP().
gets number of conflict constraints detected in infeasible strong branching conflict analysis
Definition at line 6682 of file conflict.c. References SCIP_Conflict::nsbconfconss, and NULL. Referenced by printConflictStatistics(), and SCIPgetNConflictConssFound().
gets total number of literals in conflict constraints created in infeasible strong branching conflict analysis
Definition at line 6692 of file conflict.c. References SCIP_Conflict::nsbconfliterals, and NULL. Referenced by printConflictStatistics().
gets number of reconvergence constraints detected in infeasible strong branching conflict analysis
Definition at line 6702 of file conflict.c. References SCIP_Conflict::nsbreconvconss, and NULL. Referenced by printConflictStatistics(), and SCIPgetNConflictConssFound().
gets total number of literals in reconvergence constraints created in infeasible strong branching conflict analysis
Definition at line 6712 of file conflict.c. References SCIP_Conflict::nsbreconvliterals, and NULL. Referenced by printConflictStatistics().
gets number of LP iterations in infeasible strong branching conflict analysis
Definition at line 6722 of file conflict.c. References SCIP_Conflict::nsbiterations, and NULL. Referenced by printConflictStatistics().
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
Definition at line 6744 of file conflict.c. References conflictAnalyzeRemainingBdchgs(), SCIP_Lp::cutoffbound, FALSE, 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, NULL, SCIP_Prob::nvars, SCIP_Conflict::pseudoanalyzetime, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPclockStart(), SCIPclockStop(), SCIPconflictFlushConss(), SCIPdebugMessage, SCIPlpGetPseudoObjval(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsInfinity(), SCIPsetSumepsilon(), SCIPtreeGetCurrentDepth(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetUbLocal(), undoBdchgsProof(), and SCIP_Prob::vars. Referenced by applyBounding().
gets time in seconds used for analyzing pseudo solution conflicts
Definition at line 6884 of file conflict.c. References NULL, SCIP_Conflict::pseudoanalyzetime, and SCIPclockGetTime(). Referenced by printConflictStatistics().
gets number of calls to pseudo solution conflict analysis
Definition at line 6894 of file conflict.c. References SCIP_Conflict::npseudocalls, and NULL. Referenced by printConflictStatistics().
gets number of calls to pseudo solution conflict analysis that yield at least one conflict constraint
Definition at line 6904 of file conflict.c. References SCIP_Conflict::npseudosuccess, and NULL. Referenced by printConflictStatistics(), and SCIPsolveCIP().
gets number of conflict constraints detected in pseudo solution conflict analysis
Definition at line 6914 of file conflict.c. References SCIP_Conflict::npseudoconfconss, and NULL. Referenced by printConflictStatistics(), and SCIPgetNConflictConssFound().
gets total number of literals in conflict constraints created in pseudo solution conflict analysis
Definition at line 6924 of file conflict.c. References SCIP_Conflict::npseudoconfliterals, and NULL. Referenced by printConflictStatistics().
gets number of reconvergence constraints detected in pseudo solution conflict analysis
Definition at line 6934 of file conflict.c. References SCIP_Conflict::npseudoreconvconss, and NULL. Referenced by printConflictStatistics(), and SCIPgetNConflictConssFound().
gets total number of literals in reconvergence constraints created in pseudo solution conflict analysis
Definition at line 6944 of file conflict.c. References SCIP_Conflict::npseudoreconvliterals, and NULL. Referenced by printConflictStatistics(). |