|
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
conflict.h
Go to the documentation of this file.
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
64 SCIP_DECL_CONFLICTCOPY((*conflictcopy)), /**< copy method of conflict handler or NULL if you don't want to copy your plugin into sub-SCIPs */
68 SCIP_DECL_CONFLICTINITSOL((*conflictinitsol)),/**< solving process initialization method of conflict handler */
69 SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol)),/**< solving process deinitialization method of conflict handler */
117 SCIP_Real* relaxedbds, /**< array with relaxed bounds which are efficient to create a valid conflict */
163 SCIP_DECL_CONFLICTINITSOL((*conflictinitsol))/**< solving process initialization method of conflict handler */
170 SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol))/**< solving process deinitialization method of conflict handler */
176 SCIP_CONFLICTHDLR* conflicthdlr, /**< the conflict handler for which all clocks should be enabled or disabled */
184 /** return TRUE if conflict analysis is applicable; In case the function return FALSE there is no need to initialize the
225 SCIP_BDCHGIDX* bdchgidx /**< bound change index (time stamp of bound change), or NULL for current time */
228 /** adds variable's bound to conflict candidate queue with the additional information of a relaxed bound */
237 SCIP_BDCHGIDX* bdchgidx, /**< bound change index (time stamp of bound change), or NULL for current time */
241 /** checks if the given variable is already part of the current conflict set or queued for resolving with the same or
250 SCIP_BDCHGIDX* bdchgidx, /**< bound change index (time stamp of bound change), or NULL for current time */
254 /** returns the conflict lower bound if the variable is present in the current conflict set; otherwise the global lower
263 /** returns the conflict upper bound if the variable is present in the current conflict set; otherwise the global upper
273 * SCIPconflictAddRelaxedBound(), and on success, calls the conflict handlers to create a conflict constraint out of
288 /** adds the collected conflict constraints to the corresponding nodes; the best set->conf_maxconss conflict constraints
289 * are added to the node of their validdepth; additionally (if not yet added, and if repropagation is activated), the
290 * conflict constraint that triggers the earliest repropagation is added to the node of its validdepth
320 /** returns the total number of literals in conflict constraints that were added to the problem */
338 /** returns the total number of literals in conflict constraints that were added globally to the problem */
356 /** returns the total number of literals in conflict constraints that were added locally to the problem */
380 /** gets number of calls to propagation conflict analysis that yield at least one conflict constraint */
392 /** gets total number of literals in conflict constraints created in propagation conflict analysis */
404 /** gets total number of literals in reconvergence constraints created in propagation conflict analysis */
417 /** analyzes an infeasible or bound exceeding LP to find out the bound changes on variables that were responsible for the
419 * on success, calls standard conflict analysis with the responsible variables as starting conflict set, thus creating
452 /** gets number of calls to infeasible LP conflict analysis that yield at least one conflict constraint */
464 /** gets total number of literals in conflict constraints created in infeasible LP conflict analysis */
476 /** gets total number of literals in reconvergence constraints created in infeasible LP conflict analysis */
500 /** gets number of calls to bound exceeding LP conflict analysis that yield at least one conflict constraint */
512 /** gets total number of literals in conflict constraints created in bound exceeding LP conflict analysis */
518 /** gets number of reconvergence constraints detected in bound exceeding LP conflict analysis */
524 /** gets total number of literals in reconvergence constraints created in bound exceeding LP conflict analysis */
577 /** gets number of calls to infeasible strong branching conflict analysis that yield at least one conflict constraint */
583 /** gets number of conflict constraints detected in infeasible strong branching conflict analysis */
589 /** gets total number of literals in conflict constraints created in infeasible strong branching conflict analysis */
595 /** gets number of reconvergence constraints detected in infeasible strong branching conflict analysis */
601 /** gets total number of literals in reconvergence constraints created in infeasible strong branching conflict analysis */
620 /** analyzes a pseudo solution with objective value exceeding the current cutoff to find out the bound changes on
622 * on success, calls standard conflict analysis with the responsible variables as starting conflict set, thus creating
655 /** gets number of calls to pseudo solution conflict analysis that yield at least one conflict constraint */
667 /** gets total number of literals in conflict constraints created in pseudo solution conflict analysis */
679 /** gets total number of literals in reconvergence constraints created in pseudo solution conflict analysis */
688 SCIP_CONFLICT* conflict, /**< the conflict analysis data for which all clocks should be enabled or disabled */
SCIP_Longint SCIPconflictGetNBoundexceedingLPCalls(SCIP_CONFLICT *conflict) Definition: conflict.c:6351 SCIP_Longint SCIPconflictGetNPseudoConflictConss(SCIP_CONFLICT *conflict) Definition: conflict.c:6923 SCIP_Longint SCIPconflictGetNPropReconvergenceLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:4336 Definition: struct_var.h:97 void SCIPconflicthdlrSetCopy(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTCOPY((*conflictcopy))) Definition: conflict.c:640 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) Definition: conflict.c:2178 SCIP_Longint SCIPconflictGetNBoundexceedingLPConflictConss(SCIP_CONFLICT *conflict) Definition: conflict.c:6371 SCIP_Longint SCIPconflictGetNBoundexceedingLPIterations(SCIP_CONFLICT *conflict) Definition: conflict.c:6411 SCIP_Real SCIPconflictGetGlobalApplTime(SCIP_CONFLICT *conflict) Definition: conflict.c:4266 SCIP_Longint SCIPconflictGetNLocalChgBds(SCIP_CONFLICT *conflict) Definition: conflict.c:2416 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) Definition: conflict.c:3037 SCIP_Longint SCIPconflictGetNInfeasibleLPReconvergenceLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:6321 int SCIPconflictGetNConflicts(SCIP_CONFLICT *conflict) Definition: conflict.c:2356 SCIP_RETCODE SCIPconflicthdlrExitsol(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set) Definition: conflict.c:551 Definition: struct_var.h:196 Definition: struct_conflict.h:88 SCIP_Real SCIPconflictGetPseudoTime(SCIP_CONFLICT *conflict) Definition: conflict.c:6893 SCIP_Longint SCIPconflictGetNPropReconvergenceConss(SCIP_CONFLICT *conflict) Definition: conflict.c:4326 SCIP_Longint SCIPconflictGetNPropCalls(SCIP_CONFLICT *conflict) Definition: conflict.c:4286 SCIP_Longint SCIPconflictGetNPseudoSuccess(SCIP_CONFLICT *conflict) Definition: conflict.c:6913 Definition: struct_message.h:35 type definitions for global SCIP settings SCIP_Longint SCIPconflictGetNAppliedLocalConss(SCIP_CONFLICT *conflict) Definition: conflict.c:2426 SCIP_RETCODE SCIPconflicthdlrFree(SCIP_CONFLICTHDLR **conflicthdlr, SCIP_SET *set) Definition: conflict.c:432 SCIP_Longint SCIPconflictGetNStrongbranchConflictLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:6699 void SCIPconflicthdlrSetFree(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTFREE((*conflictfree))) Definition: conflict.c:651 SCIP_Longint SCIPconflictGetNBoundexceedingLPReconvergenceLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:6401 Definition: struct_prob.h:38 SCIP_Longint SCIPconflictGetNBoundexceedingLPConflictLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:6381 SCIP_RETCODE SCIPconflictAnalyzeStrongbranch(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_COL *col, SCIP_Bool *downconflict, SCIP_Bool *upconflict) Definition: conflict.c:6428 SCIP_RETCODE SCIPconflictFree(SCIP_CONFLICT **conflict, BMS_BLKMEM *blkmem) Definition: conflict.c:2584 SCIP_Longint SCIPconflictGetNPropSuccess(SCIP_CONFLICT *conflict) Definition: conflict.c:4296 type definitions for return codes for SCIP methods SCIP_Real SCIPconflictGetPropTime(SCIP_CONFLICT *conflict) Definition: conflict.c:4276 Definition: struct_tree.h:122 type definitions for problem statistics void SCIPconflicthdlrSetInit(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTINIT((*conflictinit))) Definition: conflict.c:662 Definition: struct_conflict.h:39 SCIP_RETCODE SCIPconflicthdlrCopyInclude(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set) Definition: conflict.c:360 Definition: struct_lp.h:123 void SCIPconflicthdlrSetExit(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTEXIT((*conflictexit))) Definition: conflict.c:673 type definitions for LP management Definition: struct_set.h:55 SCIP_RETCODE SCIPconflictAnalyzeLP(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) Definition: conflict.c:6123 SCIP_Longint SCIPconflictGetNAppliedLocalLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:2436 SCIP_RETCODE SCIPconflicthdlrExit(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set) Definition: conflict.c:496 SCIP_Longint SCIPconflictGetNPseudoReconvergenceLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:6953 SCIP_Longint SCIPconflictGetNPseudoCalls(SCIP_CONFLICT *conflict) Definition: conflict.c:6903 SCIP_Longint SCIPconflictGetNAppliedGlobalConss(SCIP_CONFLICT *conflict) Definition: conflict.c:2396 SCIP_Longint SCIPconflictGetNStrongbranchIterations(SCIP_CONFLICT *conflict) Definition: conflict.c:6729 SCIP_Longint SCIPconflictGetNBoundexceedingLPReconvergenceConss(SCIP_CONFLICT *conflict) Definition: conflict.c:6391 struct SCIP_ConflicthdlrData SCIP_CONFLICTHDLRDATA Definition: type_conflict.h:40 type definitions for problem variables SCIP_RETCODE SCIPconflictInit(SCIP_CONFLICT *conflict, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob) Definition: conflict.c:2629 SCIP_RETCODE SCIPconflicthdlrExec(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set, SCIP_NODE *node, SCIP_NODE *validnode, SCIP_BDCHGINFO **bdchginfos, SCIP_Real *relaxedbds, int nbdchginfos, SCIP_Bool resolved, SCIP_RESULT *result) Definition: conflict.c:575 SCIP_Longint SCIPconflictGetNPseudoConflictLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:6933 void SCIPconflicthdlrEnableOrDisableClocks(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_Bool enable) Definition: conflict.c:760 type definitions for conflict analysis Definition: struct_var.h:104 SCIP_Longint SCIPconflictGetNStrongbranchReconvergenceLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:6719 SCIP_Longint SCIPconflictGetNInfeasibleLPConflictConss(SCIP_CONFLICT *conflict) Definition: conflict.c:6291 SCIP_Longint SCIPconflictGetNPseudoReconvergenceConss(SCIP_CONFLICT *conflict) Definition: conflict.c:6943 SCIP_Real SCIPconflictGetVarLb(SCIP_CONFLICT *conflict, SCIP_VAR *var) Definition: conflict.c:3261 SCIP_Real SCIPconflictGetBoundexceedingLPTime(SCIP_CONFLICT *conflict) Definition: conflict.c:6341 SCIP_Longint SCIPconflictGetNBoundexceedingLPSuccess(SCIP_CONFLICT *conflict) Definition: conflict.c:6361 Definition: struct_reopt.h:113 type definitions for branch and bound tree SCIP_Real SCIPconflictGetStrongbranchTime(SCIP_CONFLICT *conflict) Definition: conflict.c:6659 type definitions for storing and manipulating the main problem SCIP_RETCODE SCIPconflictIsVarUsed(SCIP_CONFLICT *conflict, SCIP_VAR *var, SCIP_SET *set, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool *used) Definition: conflict.c:3201 SCIP_RETCODE SCIPconflictAddBound(SCIP_CONFLICT *conflict, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx) Definition: conflict.c:2976 SCIP_Longint SCIPconflictGetNAppliedLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:2376 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) Definition: conflict.c:6751 SCIP_Real SCIPconflictGetInfeasibleLPTime(SCIP_CONFLICT *conflict) Definition: conflict.c:6261 void SCIPconflicthdlrSetInitsol(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTINITSOL((*conflictinitsol))) Definition: conflict.c:684 Definition: struct_lp.h:255 SCIP_Longint SCIPconflictGetNInfeasibleLPIterations(SCIP_CONFLICT *conflict) Definition: conflict.c:6331 public methods for conflict analysis handlers Definition: struct_implics.h:86 void SCIPconflicthdlrSetExitsol(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol))) Definition: conflict.c:695 SCIP_Longint SCIPconflictGetNAppliedConss(SCIP_CONFLICT *conflict) Definition: conflict.c:2366 SCIP_Longint SCIPconflictGetNStrongbranchConflictConss(SCIP_CONFLICT *conflict) Definition: conflict.c:6689 SCIP_RETCODE SCIPconflicthdlrInit(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set) Definition: conflict.c:459 SCIP_Longint SCIPconflictGetNInfeasibleLPSuccess(SCIP_CONFLICT *conflict) Definition: conflict.c:6281 SCIP_Longint SCIPconflictGetNAppliedGlobalLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:2406 SCIP_Longint SCIPconflictGetNStrongbranchSuccess(SCIP_CONFLICT *conflict) Definition: conflict.c:6679 SCIP_Longint SCIPconflictGetNStrongbranchReconvergenceConss(SCIP_CONFLICT *conflict) Definition: conflict.c:6709 SCIP_RETCODE SCIPconflictCreate(SCIP_CONFLICT **conflict, BMS_BLKMEM *blkmem, SCIP_SET *set) Definition: conflict.c:2507 SCIP_Longint SCIPconflictGetNInfeasibleLPReconvergenceConss(SCIP_CONFLICT *conflict) Definition: conflict.c:6311 SCIP_Longint SCIPconflictGetNStrongbranchCalls(SCIP_CONFLICT *conflict) Definition: conflict.c:6669 Definition: struct_stat.h:44 Definition: struct_tree.h:165 SCIP_Longint SCIPconflictGetNPropConflictConss(SCIP_CONFLICT *conflict) Definition: conflict.c:4306 SCIP_Real SCIPconflictGetVarUb(SCIP_CONFLICT *conflict, SCIP_VAR *var) Definition: conflict.c:3278 common defines and data types used in all packages of SCIP void SCIPconflicthdlrSetPriority(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set, int priority) Definition: conflict.c:736 SCIP_Longint SCIPconflictGetNInfeasibleLPCalls(SCIP_CONFLICT *conflict) Definition: conflict.c:6271 Definition: struct_event.h:204 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) Definition: conflict.c:4207 SCIP_Longint SCIPconflictGetNPropConflictLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:4316 Definition: struct_branch.h:36 void SCIPconflictEnableOrDisableClocks(SCIP_CONFLICT *conflict, SCIP_Bool enable) Definition: conflict.c:6963 SCIP_Longint SCIPconflictGetNGlobalChgBds(SCIP_CONFLICT *conflict) Definition: conflict.c:2386 SCIP_RETCODE SCIPconflicthdlrInitsol(SCIP_CONFLICTHDLR *conflicthdlr, SCIP_SET *set) Definition: conflict.c:527 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) Definition: conflict.c:379 SCIP_Longint SCIPconflictGetNInfeasibleLPConflictLiterals(SCIP_CONFLICT *conflict) Definition: conflict.c:6301 memory allocation routines |