SCIP

Solving Constraint Integer Programs

conflict.h File Reference

Detailed Description

internal methods for conflict analysis

Author
Tobias Achterberg

Definition in file conflict.h.

#include "blockmemshell/memory.h"
#include "scip/def.h"
#include "scip/type_branch.h"
#include "scip/type_conflict.h"
#include "scip/type_conflictstore.h"
#include "scip/type_event.h"
#include "scip/type_implics.h"
#include "scip/type_lp.h"
#include "scip/type_message.h"
#include "scip/type_prob.h"
#include "scip/type_reopt.h"
#include "scip/type_result.h"
#include "scip/type_retcode.h"
#include "scip/type_scip.h"
#include "scip/type_set.h"
#include "scip/type_stat.h"
#include "scip/type_tree.h"
#include "scip/type_var.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPconflicthdlrCopyInclude (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set)
 
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)
 
SCIP_RETCODE SCIPconflicthdlrFree (SCIP_CONFLICTHDLR **conflicthdlr, SCIP_SET *set)
 
SCIP_RETCODE SCIPconflicthdlrInit (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set)
 
SCIP_RETCODE SCIPconflicthdlrExit (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set)
 
SCIP_RETCODE SCIPconflicthdlrInitsol (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set)
 
SCIP_RETCODE SCIPconflicthdlrExitsol (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set)
 
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)
 
void SCIPconflicthdlrSetPriority (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set, int priority)
 
void SCIPconflicthdlrSetCopy (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTCOPY((*conflictcopy)))
 
void SCIPconflicthdlrSetFree (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTFREE((*conflictfree)))
 
void SCIPconflicthdlrSetInit (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTINIT((*conflictinit)))
 
void SCIPconflicthdlrSetExit (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTEXIT((*conflictexit)))
 
void SCIPconflicthdlrSetInitsol (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTINITSOL((*conflictinitsol)))
 
void SCIPconflicthdlrSetExitsol (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol)))
 
void SCIPconflicthdlrEnableOrDisableClocks (SCIP_CONFLICTHDLR *conflicthdlr, SCIP_Bool enable)
 
SCIP_Bool SCIPconflictApplicable (SCIP_SET *set)
 
SCIP_RETCODE SCIPconflictCreate (SCIP_CONFLICT **conflict, BMS_BLKMEM *blkmem, SCIP_SET *set)
 
SCIP_RETCODE SCIPconflictFree (SCIP_CONFLICT **conflict, BMS_BLKMEM *blkmem)
 
SCIP_RETCODE SCIPconflictInit (SCIP_CONFLICT *conflict, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_CONFTYPE conftype, SCIP_Bool usescutoffbound)
 
SCIP_RETCODE SCIPconflictAddBound (SCIP_CONFLICT *conflict, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx)
 
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)
 
SCIP_RETCODE SCIPconflictIsVarUsed (SCIP_CONFLICT *conflict, SCIP_VAR *var, SCIP_SET *set, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool *used)
 
SCIP_Real SCIPconflictGetVarLb (SCIP_CONFLICT *conflict, SCIP_VAR *var)
 
SCIP_Real SCIPconflictGetVarUb (SCIP_CONFLICT *conflict, SCIP_VAR *var)
 
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)
 
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)
 
int SCIPconflictGetNConflicts (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNAppliedConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNAppliedLiterals (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNGlobalChgBds (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNAppliedGlobalConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNAppliedGlobalLiterals (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNLocalChgBds (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNAppliedLocalConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNAppliedLocalLiterals (SCIP_CONFLICT *conflict)
 
SCIP_Real SCIPconflictGetGlobalApplTime (SCIP_CONFLICT *conflict)
 
SCIP_Real SCIPconflictGetPropTime (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPropCalls (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPropSuccess (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPropConflictConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPropConflictLiterals (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPropReconvergenceConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPropReconvergenceLiterals (SCIP_CONFLICT *conflict)
 
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)
 
SCIP_Real SCIPconflictGetInfeasibleLPTime (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNInfeasibleLPCalls (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNInfeasibleLPSuccess (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNInfeasibleLPConflictConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNInfeasibleLPConflictLiterals (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNInfeasibleLPReconvergenceConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNInfeasibleLPReconvergenceLiterals (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNInfeasibleLPIterations (SCIP_CONFLICT *conflict)
 
SCIP_Real SCIPconflictGetBoundexceedingLPTime (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNBoundexceedingLPCalls (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNBoundexceedingLPSuccess (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNBoundexceedingLPConflictConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNBoundexceedingLPConflictLiterals (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNBoundexceedingLPReconvergenceConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNBoundexceedingLPReconvergenceLiterals (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNBoundexceedingLPIterations (SCIP_CONFLICT *conflict)
 
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)
 
SCIP_Real SCIPconflictGetStrongbranchTime (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNDualproofsInfSuccess (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNDualproofsInfGlobal (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNDualproofsInfLocal (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNDualproofsInfNonzeros (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNDualproofsBndSuccess (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNDualproofsBndGlobal (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNDualproofsBndLocal (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNDualproofsBndNonzeros (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNStrongbranchCalls (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNStrongbranchSuccess (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNStrongbranchConflictConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNStrongbranchConflictLiterals (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNStrongbranchReconvergenceConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNStrongbranchReconvergenceLiterals (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNStrongbranchIterations (SCIP_CONFLICT *conflict)
 
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)
 
SCIP_Real SCIPconflictGetPseudoTime (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPseudoCalls (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPseudoSuccess (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPseudoConflictConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPseudoConflictLiterals (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPseudoReconvergenceConss (SCIP_CONFLICT *conflict)
 
SCIP_Longint SCIPconflictGetNPseudoReconvergenceLiterals (SCIP_CONFLICT *conflict)
 
void SCIPconflictEnableOrDisableClocks (SCIP_CONFLICT *conflict, SCIP_Bool enable)
 

Function Documentation

◆ SCIPconflicthdlrCopyInclude()

SCIP_RETCODE SCIPconflicthdlrCopyInclude ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_SET *  set 
)

copies the given conflict handler to a new scip

Parameters
conflicthdlrconflict handler
setSCIP_SET of SCIP to copy to

Definition at line 389 of file conflict.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrGetName(), and SCIPsetDebugMsg.

Referenced by SCIPsetCopyPlugins().

◆ SCIPconflicthdlrCreate()

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

Parameters
conflicthdlrpointer to conflict handler data structure
setglobal SCIP settings
messagehdlrmessage handler
blkmemblock memory for parameter settings
namename of conflict handler
descdescription of conflict handler
prioritypriority of the conflict handler
conflicthdlrdataconflict handler data

Definition at line 463 of file conflict.c.

References doConflicthdlrCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPconflicthdlrFree().

Referenced by SCIPincludeConflicthdlr(), and SCIPincludeConflicthdlrBasic().

◆ SCIPconflicthdlrFree()

SCIP_RETCODE SCIPconflicthdlrFree ( SCIP_CONFLICTHDLR **  conflicthdlr,
SCIP_SET *  set 
)

calls destructor and frees memory of conflict handler

Parameters
conflicthdlrpointer to conflict handler data structure
setglobal SCIP settings

Definition at line 494 of file conflict.c.

References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().

Referenced by SCIPconflicthdlrCreate().

◆ SCIPconflicthdlrInit()

SCIP_RETCODE SCIPconflicthdlrInit ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_SET *  set 
)

calls init method of conflict handler

calls initialization method of conflict handler

Parameters
conflicthdlrconflict handler
setglobal SCIP settings

Definition at line 522 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.

◆ SCIPconflicthdlrExit()

SCIP_RETCODE SCIPconflicthdlrExit ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_SET *  set 
)

calls exit method of conflict handler

Parameters
conflicthdlrconflict handler
setglobal SCIP settings

Definition at line 559 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 SCIPsetInitPlugins().

◆ SCIPconflicthdlrInitsol()

SCIP_RETCODE SCIPconflicthdlrInitsol ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_SET *  set 
)

informs conflict handler that the branch and bound process is being started

Parameters
conflicthdlrconflict handler
setglobal SCIP settings

Definition at line 590 of file conflict.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Conflicthdlr::setuptime.

Referenced by SCIPsetExitprePlugins().

◆ SCIPconflicthdlrExitsol()

SCIP_RETCODE SCIPconflicthdlrExitsol ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_SET *  set 
)

informs conflict handler that the branch and bound process data is being freed

Parameters
conflicthdlrconflict handler
setglobal SCIP settings

Definition at line 614 of file conflict.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Conflicthdlr::setuptime.

Referenced by SCIPsetInitsolPlugins().

◆ SCIPconflicthdlrExec()

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

Parameters
conflicthdlrconflict handler
setglobal SCIP settings
nodenode to add conflict constraint to
validnodenode at which the constraint is valid
bdchginfosbound change resembling the conflict set
relaxedbdsarray with relaxed bounds which are efficient to create a valid conflict
nbdchginfosnumber of bound changes in the conflict set
conftypetype of the conflict
usescutoffbounddepends the conflict on the cutoff bound?
resolvedwas the conflict set already used to create a constraint?
resultpointer to store the result of the callback method

Definition at line 638 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().

◆ SCIPconflicthdlrSetPriority()

void SCIPconflicthdlrSetPriority ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_SET *  set,
int  priority 
)

sets priority of conflict handler

Parameters
conflicthdlrconflict handler
setglobal SCIP settings
prioritynew priority of the conflict handler

Definition at line 802 of file conflict.c.

References FALSE, NULL, and SCIP_Conflicthdlr::priority.

Referenced by SCIPsetConflicthdlrPriority().

◆ SCIPconflicthdlrSetCopy()

void SCIPconflicthdlrSetCopy ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_DECL_CONFLICTCOPY((*conflictcopy))   
)

set copy method of conflict handler

Parameters
conflicthdlrconflict handler

Definition at line 706 of file conflict.c.

References NULL.

Referenced by SCIPsetConflicthdlrCopy().

◆ SCIPconflicthdlrSetFree()

void SCIPconflicthdlrSetFree ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_DECL_CONFLICTFREE((*conflictfree))   
)

set destructor of conflict handler

Parameters
conflicthdlrconflict handler

Definition at line 717 of file conflict.c.

References NULL.

Referenced by SCIPsetConflicthdlrFree().

◆ SCIPconflicthdlrSetInit()

void SCIPconflicthdlrSetInit ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_DECL_CONFLICTINIT((*conflictinit))   
)

set initialization method of conflict handler

Parameters
conflicthdlrconflict handler

Definition at line 728 of file conflict.c.

References NULL.

Referenced by SCIPsetConflicthdlrInit().

◆ SCIPconflicthdlrSetExit()

void SCIPconflicthdlrSetExit ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_DECL_CONFLICTEXIT((*conflictexit))   
)

set deinitialization method of conflict handler

Parameters
conflicthdlrconflict handler

Definition at line 739 of file conflict.c.

References NULL.

Referenced by SCIPsetConflicthdlrExit().

◆ SCIPconflicthdlrSetInitsol()

void SCIPconflicthdlrSetInitsol ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_DECL_CONFLICTINITSOL((*conflictinitsol))   
)

set solving process initialization method of conflict handler

Parameters
conflicthdlrconflict handler

Definition at line 750 of file conflict.c.

References NULL.

Referenced by SCIPsetConflicthdlrInitsol().

◆ SCIPconflicthdlrSetExitsol()

void SCIPconflicthdlrSetExitsol ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol))   
)

set solving process deinitialization method of conflict handler

Parameters
conflicthdlrconflict handler

Definition at line 761 of file conflict.c.

References NULL.

Referenced by SCIPsetConflicthdlrExitsol().

◆ SCIPconflicthdlrEnableOrDisableClocks()

void SCIPconflicthdlrEnableOrDisableClocks ( SCIP_CONFLICTHDLR *  conflicthdlr,
SCIP_Bool  enable 
)

enables or disables all clocks of conflicthdlr, depending on the value of the flag

Parameters
conflicthdlrthe conflict handler for which all clocks should be enabled or disabled
enableshould the clocks of the conflict handler be enabled?

Definition at line 826 of file conflict.c.

References SCIP_Conflicthdlr::conflicttime, NULL, SCIPclockEnableOrDisable(), and SCIP_Conflicthdlr::setuptime.

Referenced by SCIP_DECL_PARAMCHGD().

◆ SCIPconflictApplicable()

SCIP_Bool SCIPconflictApplicable ( SCIP_SET *  set)

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

Parameters
setglobal SCIP settings

Definition at line 3902 of file conflict.c.

References FALSE, and TRUE.

Referenced by SCIPconflictAnalyze(), and SCIPisConflictAnalysisApplicable().

◆ SCIPconflictCreate()

SCIP_RETCODE SCIPconflictCreate ( SCIP_CONFLICT **  conflict,
BMS_BLKMEM *  blkmem,
SCIP_SET *  set 
)

creates conflict analysis data for propagation conflicts

Parameters
conflictpointer to conflict analysis data
blkmemblock memory of transformed problem
setglobal SCIP settings

Definition at line 3918 of file conflict.c.

References BMSallocMemory, conflictInitProofset(), conflictsetCreate(), NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIPclockCreate(), SCIPconflictEnableOrDisableClocks(), and SCIPpqueueCreate().

Referenced by SCIPtransformProb().

◆ SCIPconflictFree()

SCIP_RETCODE SCIPconflictFree ( SCIP_CONFLICT **  conflict,
BMS_BLKMEM *  blkmem 
)

frees conflict analysis data for propagation conflicts

Parameters
conflictpointer to conflict analysis data
blkmemblock memory of transformed problem

Definition at line 4008 of file conflict.c.

References BMSfreeMemory, BMSfreeMemoryArrayNull, conflictsetFree(), NULL, proofsetFree(), SCIP_OKAY, SCIPclockFree(), and SCIPpqueueFree().

Referenced by freeTransform(), and freeTransforming().

◆ SCIPconflictInit()

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

Parameters
conflictconflict analysis data
setglobal SCIP settings
statproblem statistics
probproblem data
conftypetype of the conflict
usescutoffbounddepends the conflict on a cutoff bound?

Definition at line 4056 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, NULL, 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().

◆ SCIPconflictAddBound()

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

Parameters
conflictconflict analysis data
blkmemblock memory
setglobal SCIP settings
statdynamic problem statistics
varproblem variable
boundtypetype of bound that was changed: lower or upper bound
bdchgidxbound change index (time stamp of bound change), or NULL for current time

Definition at line 4414 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().

◆ 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

Parameters
conflictconflict analysis data
blkmemblock memory
setglobal SCIP settings
statdynamic problem statistics
varproblem variable
boundtypetype of bound that was changed: lower or upper bound
bdchgidxbound change index (time stamp of bound change), or NULL for current time
relaxedbdthe relaxed bound

Definition at line 4475 of file conflict.c.

References SCIP_BdChgInfo::bdchgidx, conflictAddBound(), convertToActiveVar(), FALSE, MAX, 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(), SCIPsetDebugMsg, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetBdchgInfo(), SCIPvarGetBdchgInfoLb(), SCIPvarGetBdchgInfoUb(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), and SCIPvarIsActive().

Referenced by SCIPaddConflictRelaxedBd(), SCIPaddConflictRelaxedLb(), and SCIPaddConflictRelaxedUb().

◆ SCIPconflictIsVarUsed()

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

Parameters
conflictconflict analysis data
varproblem variable
setglobal SCIP settings
boundtypetype of bound for which the score should be increased
bdchgidxbound change index (time stamp of bound change), or NULL for current time
usedpointer to store if the variable is already used

Definition at line 4639 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, SCIPerrorMessage, SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), SCIPsetDebugMsg, SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIsActive(), and TRUE.

Referenced by SCIPisConflictVarUsed().

◆ SCIPconflictGetVarLb()

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

Parameters
conflictconflict analysis data
varproblem variable

Definition at line 4699 of file conflict.c.

References SCIP_Var::conflictlb, SCIP_Var::conflictlbcount, SCIP_Var::conflictrelaxedlb, SCIP_Conflict::count, EPSGE, and SCIPvarGetLbGlobal().

Referenced by SCIPgetConflictVarLb().

◆ SCIPconflictGetVarUb()

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

Parameters
conflictconflict analysis data
varproblem variable

Definition at line 4716 of file conflict.c.

References SCIP_Var::conflictrelaxedub, SCIP_Var::conflictub, SCIP_Var::conflictubcount, SCIP_Conflict::count, EPSLE, and SCIPvarGetUbGlobal().

Referenced by SCIPgetConflictVarUb().

◆ SCIPconflictAnalyze()

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

Parameters
conflictconflict analysis data
blkmemblock memory of transformed problem
setglobal SCIP settings
statproblem statistics
probproblem data
treebranch and bound tree
validdepthminimal depth level at which the initial conflict set is valid
successpointer to store whether a conflict constraint was created, or NULL

Definition at line 5666 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(), SCIPpqueueNElems(), SCIPsetDebugMsg, SCIPtreeGetCurrentDepth(), and TRUE.

Referenced by SCIPanalyzeConflict(), and SCIPanalyzeConflictCons().

◆ SCIPconflictFlushConss()

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

Parameters
conflictconflict analysis data
blkmemblock memory of transformed problem
setglobal SCIP settings
statdynamic problem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree
reoptreoptimization data structure
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure

Definition at line 3555 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, SCIPnodeCutoff(), SCIPnodePropagateAgain(), SCIPsetDebugMsg, SCIPtreeGetCurrentDepth(), SCIPtreeGetFocusDepth(), SCIPvisualFoundConflict(), SCIP_ConflictSet::validdepth, and SCIP_Stat::visual.

Referenced by conflictAnalyzeLP(), SCIPconflictAnalyzePseudo(), SCIPpropagateDomains(), and solveNode().

◆ SCIPconflictGetNConflicts()

int SCIPconflictGetNConflicts ( SCIP_CONFLICT *  conflict)

returns the current number of conflict sets in the conflict set storage

Parameters
conflictconflict analysis data

Definition at line 3764 of file conflict.c.

References SCIP_Conflict::nconflictsets, and NULL.

Referenced by propAndSolve(), SCIPgetNConflictConssFoundNode(), SCIPgetVarStrongbranchWithPropagation(), and solveNode().

◆ SCIPconflictGetNAppliedConss()

SCIP_Longint SCIPconflictGetNAppliedConss ( SCIP_CONFLICT *  conflict)

returns the total number of conflict constraints that were added to the problem

Parameters
conflictconflict analysis data

Definition at line 3774 of file conflict.c.

References SCIP_Conflict::nappliedglbconss, SCIP_Conflict::nappliedlocconss, and NULL.

Referenced by SCIPgetNConflictConssApplied().

◆ SCIPconflictGetNAppliedLiterals()

SCIP_Longint SCIPconflictGetNAppliedLiterals ( SCIP_CONFLICT *  conflict)

returns the total number of literals in conflict constraints that were added to the problem

Parameters
conflictconflict analysis data

Definition at line 3784 of file conflict.c.

References SCIP_Conflict::nappliedglbliterals, SCIP_Conflict::nappliedlocliterals, and NULL.

◆ SCIPconflictGetNGlobalChgBds()

SCIP_Longint SCIPconflictGetNGlobalChgBds ( SCIP_CONFLICT *  conflict)

returns the total number of global bound changes applied by the conflict analysis

Parameters
conflictconflict analysis data

Definition at line 3794 of file conflict.c.

References SCIP_Conflict::nglbchgbds, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNAppliedGlobalConss()

SCIP_Longint SCIPconflictGetNAppliedGlobalConss ( SCIP_CONFLICT *  conflict)

returns the total number of conflict constraints that were added globally to the problem

Parameters
conflictconflict analysis data

Definition at line 3804 of file conflict.c.

References SCIP_Conflict::nappliedglbconss, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNAppliedGlobalLiterals()

SCIP_Longint SCIPconflictGetNAppliedGlobalLiterals ( SCIP_CONFLICT *  conflict)

returns the total number of literals in conflict constraints that were added globally to the problem

Parameters
conflictconflict analysis data

Definition at line 3814 of file conflict.c.

References SCIP_Conflict::nappliedglbliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNLocalChgBds()

SCIP_Longint SCIPconflictGetNLocalChgBds ( SCIP_CONFLICT *  conflict)

returns the total number of local bound changes applied by the conflict analysis

Parameters
conflictconflict analysis data

Definition at line 3824 of file conflict.c.

References SCIP_Conflict::nlocchgbds, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNAppliedLocalConss()

SCIP_Longint SCIPconflictGetNAppliedLocalConss ( SCIP_CONFLICT *  conflict)

returns the total number of conflict constraints that were added locally to the problem

Parameters
conflictconflict analysis data

Definition at line 3834 of file conflict.c.

References SCIP_Conflict::nappliedlocconss, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNAppliedLocalLiterals()

SCIP_Longint SCIPconflictGetNAppliedLocalLiterals ( SCIP_CONFLICT *  conflict)

returns the total number of literals in conflict constraints that were added locally to the problem

Parameters
conflictconflict analysis data

Definition at line 3844 of file conflict.c.

References SCIP_Conflict::nappliedlocliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetGlobalApplTime()

SCIP_Real SCIPconflictGetGlobalApplTime ( SCIP_CONFLICT *  conflict)

gets time in seconds used for preprocessing global conflict constraint before appliance

Parameters
conflictconflict analysis data

Definition at line 5724 of file conflict.c.

References SCIP_Conflict::dIBclock, NULL, and SCIPclockGetTime().

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetPropTime()

SCIP_Real SCIPconflictGetPropTime ( SCIP_CONFLICT *  conflict)

gets time in seconds used for analyzing propagation conflicts

Parameters
conflictconflict analysis data

Definition at line 5734 of file conflict.c.

References NULL, SCIP_Conflict::propanalyzetime, and SCIPclockGetTime().

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNPropCalls()

SCIP_Longint SCIPconflictGetNPropCalls ( SCIP_CONFLICT *  conflict)

gets number of calls to propagation conflict analysis

Parameters
conflictconflict analysis data

Definition at line 5744 of file conflict.c.

References SCIP_Conflict::npropcalls, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNPropSuccess()

SCIP_Longint SCIPconflictGetNPropSuccess ( SCIP_CONFLICT *  conflict)

gets number of calls to propagation conflict analysis that yield at least one conflict constraint

Parameters
conflictconflict analysis data

Definition at line 5754 of file conflict.c.

References SCIP_Conflict::npropsuccess, and NULL.

Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().

◆ SCIPconflictGetNPropConflictConss()

SCIP_Longint SCIPconflictGetNPropConflictConss ( SCIP_CONFLICT *  conflict)

gets number of conflict constraints detected in propagation conflict analysis

Parameters
conflictconflict analysis data

Definition at line 5764 of file conflict.c.

References SCIP_Conflict::npropconfconss, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNPropConflictLiterals()

SCIP_Longint SCIPconflictGetNPropConflictLiterals ( SCIP_CONFLICT *  conflict)

gets total number of literals in conflict constraints created in propagation conflict analysis

Parameters
conflictconflict analysis data

Definition at line 5774 of file conflict.c.

References SCIP_Conflict::npropconfliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNPropReconvergenceConss()

SCIP_Longint SCIPconflictGetNPropReconvergenceConss ( SCIP_CONFLICT *  conflict)

gets number of reconvergence constraints detected in propagation conflict analysis

Parameters
conflictconflict analysis data

Definition at line 5784 of file conflict.c.

References SCIP_Conflict::npropreconvconss, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNPropReconvergenceLiterals()

SCIP_Longint SCIPconflictGetNPropReconvergenceLiterals ( SCIP_CONFLICT *  conflict)

gets total number of literals in reconvergence constraints created in propagation conflict analysis

Parameters
conflictconflict analysis data

Definition at line 5794 of file conflict.c.

References SCIP_Conflict::npropreconvliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictAnalyzeLP()

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()

Parameters
conflictconflict analysis data
conflictstoreconflict store
blkmemblock memory of transformed problem
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree
reoptreoptimization data structure
lpLP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure
successpointer to store whether a conflict constraint was created, or NULL

Definition at line 8684 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, NULL, SCIP_LpSolVals::primalchecked, SCIP_Lp::primalchecked, SCIP_LpSolVals::primalfeasible, SCIP_Lp::primalfeasible, SCIP_ColSolVals::primsol, SCIP_Col::primsol, r, 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().

◆ SCIPconflictGetInfeasibleLPTime()

SCIP_Real SCIPconflictGetInfeasibleLPTime ( SCIP_CONFLICT *  conflict)

gets time in seconds used for analyzing infeasible LP conflicts

Parameters
conflictconflict analysis data

Definition at line 8831 of file conflict.c.

References SCIP_Conflict::inflpanalyzetime, NULL, and SCIPclockGetTime().

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNInfeasibleLPCalls()

SCIP_Longint SCIPconflictGetNInfeasibleLPCalls ( SCIP_CONFLICT *  conflict)

gets number of calls to infeasible LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8841 of file conflict.c.

References SCIP_Conflict::ninflpcalls, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNInfeasibleLPSuccess()

SCIP_Longint SCIPconflictGetNInfeasibleLPSuccess ( SCIP_CONFLICT *  conflict)

gets number of calls to infeasible LP conflict analysis that yield at least one conflict constraint

Parameters
conflictconflict analysis data

Definition at line 8851 of file conflict.c.

References SCIP_Conflict::ninflpsuccess, and NULL.

Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().

◆ SCIPconflictGetNInfeasibleLPConflictConss()

SCIP_Longint SCIPconflictGetNInfeasibleLPConflictConss ( SCIP_CONFLICT *  conflict)

gets number of conflict constraints detected in infeasible LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8861 of file conflict.c.

References SCIP_Conflict::ninflpconfconss, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNInfeasibleLPConflictLiterals()

SCIP_Longint SCIPconflictGetNInfeasibleLPConflictLiterals ( SCIP_CONFLICT *  conflict)

gets total number of literals in conflict constraints created in infeasible LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8871 of file conflict.c.

References SCIP_Conflict::ninflpconfliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNInfeasibleLPReconvergenceConss()

SCIP_Longint SCIPconflictGetNInfeasibleLPReconvergenceConss ( SCIP_CONFLICT *  conflict)

gets number of reconvergence constraints detected in infeasible LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8881 of file conflict.c.

References SCIP_Conflict::ninflpreconvconss, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNInfeasibleLPReconvergenceLiterals()

SCIP_Longint SCIPconflictGetNInfeasibleLPReconvergenceLiterals ( SCIP_CONFLICT *  conflict)

gets total number of literals in reconvergence constraints created in infeasible LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8891 of file conflict.c.

References SCIP_Conflict::ninflpreconvliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNInfeasibleLPIterations()

SCIP_Longint SCIPconflictGetNInfeasibleLPIterations ( SCIP_CONFLICT *  conflict)

gets number of LP iterations in infeasible LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8901 of file conflict.c.

References SCIP_Conflict::ninflpiterations, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetBoundexceedingLPTime()

SCIP_Real SCIPconflictGetBoundexceedingLPTime ( SCIP_CONFLICT *  conflict)

gets time in seconds used for analyzing bound exceeding LP conflicts

Parameters
conflictconflict analysis data

Definition at line 8911 of file conflict.c.

References SCIP_Conflict::boundlpanalyzetime, NULL, and SCIPclockGetTime().

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNBoundexceedingLPCalls()

SCIP_Longint SCIPconflictGetNBoundexceedingLPCalls ( SCIP_CONFLICT *  conflict)

gets number of calls to bound exceeding LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8921 of file conflict.c.

References SCIP_Conflict::nboundlpcalls, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNBoundexceedingLPSuccess()

SCIP_Longint SCIPconflictGetNBoundexceedingLPSuccess ( SCIP_CONFLICT *  conflict)

gets number of calls to bound exceeding LP conflict analysis that yield at least one conflict constraint

Parameters
conflictconflict analysis data

Definition at line 8931 of file conflict.c.

References SCIP_Conflict::nboundlpsuccess, and NULL.

Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().

◆ SCIPconflictGetNBoundexceedingLPConflictConss()

SCIP_Longint SCIPconflictGetNBoundexceedingLPConflictConss ( SCIP_CONFLICT *  conflict)

gets number of conflict constraints detected in bound exceeding LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8941 of file conflict.c.

References SCIP_Conflict::nboundlpconfconss, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNBoundexceedingLPConflictLiterals()

SCIP_Longint SCIPconflictGetNBoundexceedingLPConflictLiterals ( SCIP_CONFLICT *  conflict)

gets total number of literals in conflict constraints created in bound exceeding LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8951 of file conflict.c.

References SCIP_Conflict::nboundlpconfliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNBoundexceedingLPReconvergenceConss()

SCIP_Longint SCIPconflictGetNBoundexceedingLPReconvergenceConss ( SCIP_CONFLICT *  conflict)

gets number of reconvergence constraints detected in bound exceeding LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8961 of file conflict.c.

References SCIP_Conflict::nboundlpreconvconss, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNBoundexceedingLPReconvergenceLiterals()

SCIP_Longint SCIPconflictGetNBoundexceedingLPReconvergenceLiterals ( SCIP_CONFLICT *  conflict)

gets total number of literals in reconvergence constraints created in bound exceeding LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8971 of file conflict.c.

References SCIP_Conflict::nboundlpreconvliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNBoundexceedingLPIterations()

SCIP_Longint SCIPconflictGetNBoundexceedingLPIterations ( SCIP_CONFLICT *  conflict)

gets number of LP iterations in bound exceeding LP conflict analysis

Parameters
conflictconflict analysis data

Definition at line 8981 of file conflict.c.

References SCIP_Conflict::nboundlpiterations, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictAnalyzeStrongbranch()

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

Parameters
conflictconflict analysis data
conflictstoreconflict store
blkmemblock memory buffers
setglobal SCIP settings
statdynamic problem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree
reoptreoptimization data structure
lpLP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure
colLP column with at least one infeasible strong branching subproblem
downconflictpointer to store whether a conflict constraint was created for an infeasible downwards branch, or NULL
upconflictpointer to store whether a conflict constraint was created for an infeasible upwards branch, or NULL

Definition at line 8998 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, NULL, 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().

◆ SCIPconflictGetStrongbranchTime()

SCIP_Real SCIPconflictGetStrongbranchTime ( SCIP_CONFLICT *  conflict)

gets time in seconds used for analyzing infeasible strong branching conflicts

Parameters
conflictconflict analysis data

Definition at line 9235 of file conflict.c.

References NULL, SCIP_Conflict::sbanalyzetime, and SCIPclockGetTime().

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNDualproofsInfSuccess()

SCIP_Longint SCIPconflictGetNDualproofsInfSuccess ( SCIP_CONFLICT *  conflict)

gets number of successful calls to dual proof analysis derived from infeasible LPs

Parameters
conflictconflict analysis data

Definition at line 9245 of file conflict.c.

References SCIP_Conflict::ndualproofsinfsuccess, and NULL.

Referenced by SCIPgetNConflictDualproofsApplied(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNDualproofsInfGlobal()

SCIP_Longint SCIPconflictGetNDualproofsInfGlobal ( SCIP_CONFLICT *  conflict)

gets number of globally valid dual proof constraints derived from infeasible LPs

Parameters
conflictconflict analysis data

Definition at line 9255 of file conflict.c.

References SCIP_Conflict::ndualproofsinfglobal, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNDualproofsInfLocal()

SCIP_Longint SCIPconflictGetNDualproofsInfLocal ( SCIP_CONFLICT *  conflict)

gets number of locally valid dual proof constraints derived from infeasible LPs

Parameters
conflictconflict analysis data

Definition at line 9265 of file conflict.c.

References SCIP_Conflict::ndualproofsinflocal, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNDualproofsInfNonzeros()

SCIP_Longint SCIPconflictGetNDualproofsInfNonzeros ( SCIP_CONFLICT *  conflict)

gets average length of dual proof constraints derived from infeasible LPs

Parameters
conflictconflict analysis data

Definition at line 9275 of file conflict.c.

References SCIP_Conflict::dualproofsinfnnonzeros, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNDualproofsBndSuccess()

SCIP_Longint SCIPconflictGetNDualproofsBndSuccess ( SCIP_CONFLICT *  conflict)

gets number of successfully analyzed dual proofs derived from bound exceeding LPs

Parameters
conflictconflict analysis data

Definition at line 9285 of file conflict.c.

References SCIP_Conflict::ndualproofsbndsuccess, and NULL.

Referenced by SCIPgetNConflictDualproofsApplied(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNDualproofsBndGlobal()

SCIP_Longint SCIPconflictGetNDualproofsBndGlobal ( SCIP_CONFLICT *  conflict)

gets number of globally applied dual proofs derived from bound exceeding LPs

Parameters
conflictconflict analysis data

Definition at line 9295 of file conflict.c.

References SCIP_Conflict::ndualproofsbndglobal, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNDualproofsBndLocal()

SCIP_Longint SCIPconflictGetNDualproofsBndLocal ( SCIP_CONFLICT *  conflict)

gets number of locally applied dual proofs derived from bound exceeding LPs

Parameters
conflictconflict analysis data

Definition at line 9305 of file conflict.c.

References SCIP_Conflict::ndualproofsbndlocal, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNDualproofsBndNonzeros()

SCIP_Longint SCIPconflictGetNDualproofsBndNonzeros ( SCIP_CONFLICT *  conflict)

gets average length of dual proofs derived from bound exceeding LPs

Parameters
conflictconflict analysis data

Definition at line 9315 of file conflict.c.

References SCIP_Conflict::dualproofsbndnnonzeros, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNStrongbranchCalls()

SCIP_Longint SCIPconflictGetNStrongbranchCalls ( SCIP_CONFLICT *  conflict)

gets number of calls to infeasible strong branching conflict analysis

Parameters
conflictconflict analysis data

Definition at line 9325 of file conflict.c.

References SCIP_Conflict::nsbcalls, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNStrongbranchSuccess()

SCIP_Longint SCIPconflictGetNStrongbranchSuccess ( SCIP_CONFLICT *  conflict)

gets number of calls to infeasible strong branching conflict analysis that yield at least one conflict constraint

Parameters
conflictconflict analysis data

Definition at line 9335 of file conflict.c.

References SCIP_Conflict::nsbsuccess, and NULL.

Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().

◆ SCIPconflictGetNStrongbranchConflictConss()

SCIP_Longint SCIPconflictGetNStrongbranchConflictConss ( SCIP_CONFLICT *  conflict)

gets number of conflict constraints detected in infeasible strong branching conflict analysis

Parameters
conflictconflict analysis data

Definition at line 9345 of file conflict.c.

References SCIP_Conflict::nsbconfconss, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNStrongbranchConflictLiterals()

SCIP_Longint SCIPconflictGetNStrongbranchConflictLiterals ( SCIP_CONFLICT *  conflict)

gets total number of literals in conflict constraints created in infeasible strong branching conflict analysis

Parameters
conflictconflict analysis data

Definition at line 9355 of file conflict.c.

References SCIP_Conflict::nsbconfliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNStrongbranchReconvergenceConss()

SCIP_Longint SCIPconflictGetNStrongbranchReconvergenceConss ( SCIP_CONFLICT *  conflict)

gets number of reconvergence constraints detected in infeasible strong branching conflict analysis

Parameters
conflictconflict analysis data

Definition at line 9365 of file conflict.c.

References SCIP_Conflict::nsbreconvconss, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNStrongbranchReconvergenceLiterals()

SCIP_Longint SCIPconflictGetNStrongbranchReconvergenceLiterals ( SCIP_CONFLICT *  conflict)

gets total number of literals in reconvergence constraints created in infeasible strong branching conflict analysis

Parameters
conflictconflict analysis data

Definition at line 9375 of file conflict.c.

References SCIP_Conflict::nsbreconvliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNStrongbranchIterations()

SCIP_Longint SCIPconflictGetNStrongbranchIterations ( SCIP_CONFLICT *  conflict)

gets number of LP iterations in infeasible strong branching conflict analysis

Parameters
conflictconflict analysis data

Definition at line 9385 of file conflict.c.

References SCIP_Conflict::nsbiterations, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictAnalyzePseudo()

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

Parameters
conflictconflict analysis data
blkmemblock memory of transformed problem
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree
reoptreoptimization data structure
lpLP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure
successpointer to store whether a conflict constraint was created, or NULL

Definition at line 9407 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, NULL, SCIP_Prob::nvars, SCIP_Conflict::pseudoanalyzetime, SCIP_CALL, SCIP_CONFTYPE_BNDEXCEEDING, SCIP_OKAY, SCIP_Real, SCIPclockStart(), SCIPclockStop(), SCIPconflictFlushConss(), SCIPlpGetPseudoObjval(), SCIPprobIsObjIntegral(), SCIPsetAllocBufferArray, SCIPsetCutoffbounddelta(), SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPtreeGetCurrentDepth(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetUbLocal(), TRUE, undoBdchgsProof(), SCIP_ConflictSet::usescutoffbound, and SCIP_Prob::vars.

Referenced by applyBounding().

◆ SCIPconflictGetPseudoTime()

SCIP_Real SCIPconflictGetPseudoTime ( SCIP_CONFLICT *  conflict)

gets time in seconds used for analyzing pseudo solution conflicts

Parameters
conflictconflict analysis data

Definition at line 9559 of file conflict.c.

References NULL, SCIP_Conflict::pseudoanalyzetime, and SCIPclockGetTime().

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNPseudoCalls()

SCIP_Longint SCIPconflictGetNPseudoCalls ( SCIP_CONFLICT *  conflict)

gets number of calls to pseudo solution conflict analysis

Parameters
conflictconflict analysis data

Definition at line 9569 of file conflict.c.

References SCIP_Conflict::npseudocalls, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNPseudoSuccess()

SCIP_Longint SCIPconflictGetNPseudoSuccess ( SCIP_CONFLICT *  conflict)

gets number of calls to pseudo solution conflict analysis that yield at least one conflict constraint

Parameters
conflictconflict analysis data

Definition at line 9579 of file conflict.c.

References SCIP_Conflict::npseudosuccess, and NULL.

Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().

◆ SCIPconflictGetNPseudoConflictConss()

SCIP_Longint SCIPconflictGetNPseudoConflictConss ( SCIP_CONFLICT *  conflict)

gets number of conflict constraints detected in pseudo solution conflict analysis

Parameters
conflictconflict analysis data

Definition at line 9589 of file conflict.c.

References SCIP_Conflict::npseudoconfconss, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNPseudoConflictLiterals()

SCIP_Longint SCIPconflictGetNPseudoConflictLiterals ( SCIP_CONFLICT *  conflict)

gets total number of literals in conflict constraints created in pseudo solution conflict analysis

Parameters
conflictconflict analysis data

Definition at line 9599 of file conflict.c.

References SCIP_Conflict::npseudoconfliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictGetNPseudoReconvergenceConss()

SCIP_Longint SCIPconflictGetNPseudoReconvergenceConss ( SCIP_CONFLICT *  conflict)

gets number of reconvergence constraints detected in pseudo solution conflict analysis

Parameters
conflictconflict analysis data

Definition at line 9609 of file conflict.c.

References SCIP_Conflict::npseudoreconvconss, and NULL.

Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().

◆ SCIPconflictGetNPseudoReconvergenceLiterals()

SCIP_Longint SCIPconflictGetNPseudoReconvergenceLiterals ( SCIP_CONFLICT *  conflict)

gets total number of literals in reconvergence constraints created in pseudo solution conflict analysis

Parameters
conflictconflict analysis data

Definition at line 9619 of file conflict.c.

References SCIP_Conflict::npseudoreconvliterals, and NULL.

Referenced by SCIPprintConflictStatistics().

◆ SCIPconflictEnableOrDisableClocks()

void SCIPconflictEnableOrDisableClocks ( SCIP_CONFLICT *  conflict,
SCIP_Bool  enable 
)

enables or disables all clocks of conflict, depending on the value of the flag

Parameters
conflictthe conflict analysis data for which all clocks should be enabled or disabled
enableshould the clocks of the conflict analysis data be enabled?

Definition at line 9630 of file conflict.c.

References SCIP_Conflict::boundlpanalyzetime, SCIP_Conflict::dIBclock, SCIP_Conflict::inflpanalyzetime, NULL, SCIP_Conflict::propanalyzetime, SCIP_Conflict::pseudoanalyzetime, SCIP_Conflict::sbanalyzetime, and SCIPclockEnableOrDisable().

Referenced by SCIPconflictCreate(), and SCIPenableOrDisableStatisticTiming().