methods and datastructures for conflict analysis
SCIP contains two kinds of conflict analysis:
Definition in file conflict_general.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_cuts.h"
#include "lpi/type_lpi.h"
#include "scip/type_implics.h"
#include "scip/type_lp.h"
#include "scip/type_prob.h"
#include "scip/type_reopt.h"
#include "scip/type_retcode.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.
SCIP_RETCODE SCIPconflictCreate | ( | SCIP_CONFLICT ** | conflict, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set ) |
creates conflict analysis data for propagation conflicts
conflict | pointer to conflict analysis data |
blkmem | block memory of transformed problem |
set | global SCIP settings |
Definition at line 234 of file conflict_general.c.
References assert(), BMSallocMemory, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIPclockCreate(), SCIPconflictEnableOrDisableClocks(), SCIPconflictInitProofset(), SCIPconflictsetCreate(), and SCIPpqueueCreate().
Referenced by SCIPtransformProb().
SCIP_RETCODE SCIPconflictFree | ( | SCIP_CONFLICT ** | conflict, |
BMS_BLKMEM * | blkmem ) |
frees conflict analysis data for propagation conflicts
conflict | pointer to conflict analysis data |
blkmem | block memory of transformed problem |
Definition at line 324 of file conflict_general.c.
References assert(), BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_OKAY, SCIPclockFree(), SCIPconflictsetFree(), SCIPpqueueFree(), and SCIPproofsetFree().
Referenced by freeTransform(), and freeTransforming().
SCIP_RETCODE SCIPconflictAnalyze | ( | SCIP_CONFLICT * | conflict, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_TREE * | tree, | ||
int | validdepth, | ||
SCIP_Bool * | success ) |
analyzes conflicting bound changes that were added with calls to SCIPconflictAddBound() and SCIPconflictAddRelaxedBound(), and on success, calls the conflict handlers to create a conflict constraint out of the resulting conflict set; updates statistics for propagation conflict analysis
analyzes conflicting bound changes that were added with calls to SCIPconflictAddBound(), and on success, calls the conflict handlers to create a conflict constraint out of the resulting conflict set; updates statistics for propagation conflict analysis
conflict | conflict analysis data |
blkmem | block memory of transformed problem |
set | global SCIP settings |
stat | problem statistics |
prob | problem data |
tree | branch and bound tree |
validdepth | minimal depth level at which the initial conflict set is valid |
success | pointer to store whether a conflict constraint was created, or NULL |
Definition at line 5448 of file conflict_graphanalysis.c.
References assert(), 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_Bool, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPconflictApplicable(), SCIPpqueueNElems(), SCIPsetDebugMsg, SCIPtreeGetCurrentDepth(), and TRUE.
Referenced by SCIPanalyzeConflict(), and SCIPanalyzeConflictCons().
SCIP_RETCODE SCIPconflictFlushConss | ( | SCIP_CONFLICT * | conflict, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable ) |
adds the collected conflict constraints to the corresponding nodes; the best set->conf_maxconss conflict constraints are added to the node of their validdepth; additionally (if not yet added, and if repropagation is activated), the conflict constraint that triggers the earliest repropagation is added to the node of its validdepth
conflict | conflict analysis data |
blkmem | block memory of transformed problem |
set | global SCIP settings |
stat | dynamic problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
cliquetable | clique table data structure |
Definition at line 1916 of file conflict_graphanalysis.c.
References assert(), conflictAddConflictCons(), conflictCalcMaxsize(), SCIP_ConflictSet::conflictdepth, conflictFreeTmpBdchginfos(), SCIP_Conflict::conflictsets, SCIP_Node::depth, i, 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, SCIPconflictsetFree(), SCIPdebug, SCIPnodeCutoff(), SCIPnodePropagateAgain(), SCIPsetDebugMsg, SCIPtreeGetCurrentDepth(), SCIPtreeGetFocusDepth(), SCIPvisualFoundConflict(), SCIP_ConflictSet::validdepth, and SCIP_Stat::visual.
Referenced by conflictAnalyzeLP(), SCIPconflictAnalyzePseudo(), SCIPpropagateDomains(), and solveNode().
int SCIPconflictGetNConflicts | ( | SCIP_CONFLICT * | conflict | ) |
returns the current number of conflict sets in the conflict set storage
conflict | conflict analysis data |
Definition at line 103 of file conflict_general.c.
References assert(), SCIP_Conflict::nconflictsets, and NULL.
Referenced by propAndSolve(), SCIPgetNConflictConssFoundNode(), SCIPgetVarStrongbranchWithPropagation(), and solveNode().
SCIP_Longint SCIPconflictGetNAppliedConss | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of conflict constraints that were added to the problem
conflict | conflict analysis data |
Definition at line 113 of file conflict_general.c.
References assert(), SCIP_Conflict::nappliedglbconss, SCIP_Conflict::nappliedlocconss, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssApplied().
SCIP_Longint SCIPconflictGetNAppliedLiterals | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of literals in conflict constraints that were added to the problem
conflict | conflict analysis data |
Definition at line 123 of file conflict_general.c.
References assert(), SCIP_Conflict::nappliedglbliterals, SCIP_Conflict::nappliedlocliterals, NULL, and SCIP_Longint.
SCIP_Longint SCIPconflictGetNGlobalChgBds | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of global bound changes applied by the conflict analysis
conflict | conflict analysis data |
Definition at line 133 of file conflict_general.c.
References assert(), SCIP_Conflict::nglbchgbds, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNAppliedGlobalConss | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of conflict constraints that were added globally to the problem
conflict | conflict analysis data |
Definition at line 143 of file conflict_general.c.
References assert(), SCIP_Conflict::nappliedglbconss, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNAppliedGlobalLiterals | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of literals in conflict constraints that were added globally to the problem
conflict | conflict analysis data |
Definition at line 153 of file conflict_general.c.
References assert(), SCIP_Conflict::nappliedglbliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNLocalChgBds | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of local bound changes applied by the conflict analysis
conflict | conflict analysis data |
Definition at line 163 of file conflict_general.c.
References assert(), SCIP_Conflict::nlocchgbds, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNAppliedLocalConss | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of conflict constraints that were added locally to the problem
conflict | conflict analysis data |
Definition at line 173 of file conflict_general.c.
References assert(), SCIP_Conflict::nappliedlocconss, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNAppliedLocalLiterals | ( | SCIP_CONFLICT * | conflict | ) |
returns the total number of literals in conflict constraints that were added locally to the problem
conflict | conflict analysis data |
Definition at line 183 of file conflict_general.c.
References assert(), SCIP_Conflict::nappliedlocliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Real SCIPconflictGetGlobalApplTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for preprocessing global conflict constraint before appliance
conflict | conflict analysis data |
Definition at line 393 of file conflict_general.c.
References assert(), SCIP_Conflict::dIBclock, NULL, SCIP_Real, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Real SCIPconflictGetPropTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for analyzing propagation conflicts
conflict | conflict analysis data |
Definition at line 403 of file conflict_general.c.
References assert(), NULL, SCIP_Conflict::propanalyzetime, SCIP_Real, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPropCalls | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to propagation conflict analysis
conflict | conflict analysis data |
Definition at line 413 of file conflict_general.c.
References assert(), SCIP_Conflict::npropcalls, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPropSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to propagation conflict analysis that yield at least one conflict constraint
conflict | conflict analysis data |
Definition at line 423 of file conflict_general.c.
References assert(), SCIP_Conflict::npropsuccess, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().
SCIP_Longint SCIPconflictGetNPropConflictConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of conflict constraints detected in propagation conflict analysis
conflict | conflict analysis data |
Definition at line 433 of file conflict_general.c.
References assert(), SCIP_Conflict::npropconfconss, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPropConflictLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in conflict constraints created in propagation conflict analysis
conflict | conflict analysis data |
Definition at line 443 of file conflict_general.c.
References assert(), SCIP_Conflict::npropconfliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPropReconvergenceConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of reconvergence constraints detected in propagation conflict analysis
conflict | conflict analysis data |
Definition at line 453 of file conflict_general.c.
References assert(), SCIP_Conflict::npropreconvconss, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPropReconvergenceLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in reconvergence constraints created in propagation conflict analysis
conflict | conflict analysis data |
Definition at line 463 of file conflict_general.c.
References assert(), SCIP_Conflict::npropreconvliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_RETCODE SCIPconflictAnalyzeLP | ( | SCIP_CONFLICT * | conflict, |
SCIP_CONFLICTSTORE * | conflictstore, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_Bool * | success ) |
analyzes an infeasible or bound exceeding LP to find out the bound changes on variables that were responsible for the infeasibility or for exceeding the primal bound; on success, calls standard conflict analysis with the responsible variables as starting conflict set, thus creating a conflict constraint out of the resulting conflict set; updates statistics for infeasible or bound exceeding LP conflict analysis
analyzes an infeasible or bound exceeding LP to find out the bound changes on variables that were responsible for the infeasibility or for exceeding the primal bound; on success, calls standard conflict analysis with the responsible variables as starting conflict set, thus creating a conflict constraint out of the resulting conflict set; updates statistics for infeasible or bound exceeding LP conflict analysis; may only be called if SCIPprobAllColsInLP()
conflict | conflict analysis data |
conflictstore | conflict store |
blkmem | block memory of transformed problem |
set | global SCIP settings |
stat | problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
cliquetable | clique table data structure |
success | pointer to store whether a conflict constraint was created, or NULL |
Definition at line 2511 of file conflict_general.c.
References SCIP_Row::activity, SCIP_RowSolVals::activity, assert(), SCIP_Col::basisstatus, SCIP_ColSolVals::basisstatus, SCIP_Row::basisstatus, SCIP_RowSolVals::basisstatus, c, SCIP_Lp::cols, conflictAnalyzeBoundexceedingLP(), conflictAnalyzeInfeasibleLP(), SCIP_Lp::dualchecked, SCIP_LpSolVals::dualchecked, SCIP_Row::dualfarkas, SCIP_Lp::dualfeasible, SCIP_LpSolVals::dualfeasible, SCIP_Row::dualsol, SCIP_RowSolVals::dualsol, FALSE, SCIP_Lp::flushed, SCIP_LpSolVals::lpissolved, SCIP_Lp::lpobjval, SCIP_LpSolVals::lpobjval, SCIP_Lp::lpsolstat, SCIP_LpSolVals::lpsolstat, SCIP_Lp::ncols, SCIP_Lp::nrows, NULL, SCIP_Lp::primalchecked, SCIP_LpSolVals::primalchecked, SCIP_Lp::primalfeasible, SCIP_LpSolVals::primalfeasible, SCIP_Col::primsol, SCIP_ColSolVals::primsol, r, SCIP_Col::redcost, SCIP_ColSolVals::redcost, SCIP_Lp::rows, SCIP_Bool, SCIP_CALL, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPlpGetLPI(), SCIPlpGetSolstat(), SCIPlpiIsPrimalInfeasible(), SCIPlpiWasSolved(), SCIPprobAllColsInLP(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIP_Lp::solisbasic, SCIP_LpSolVals::solisbasic, and SCIP_Lp::solved.
Referenced by priceAndCutLoop(), SCIPsolveDiveLP(), and solveProbingLP().
SCIP_Real SCIPconflictGetInfeasibleLPTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for analyzing infeasible LP conflicts
conflict | conflict analysis data |
Definition at line 473 of file conflict_general.c.
References assert(), SCIP_Conflict::inflpanalyzetime, NULL, SCIP_Real, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPCalls | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 483 of file conflict_general.c.
References assert(), SCIP_Conflict::ninflpcalls, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to infeasible LP conflict analysis that yield at least one conflict constraint
conflict | conflict analysis data |
Definition at line 493 of file conflict_general.c.
References assert(), SCIP_Conflict::ninflpsuccess, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().
SCIP_Longint SCIPconflictGetNInfeasibleLPConflictConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of conflict constraints detected in infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 503 of file conflict_general.c.
References assert(), SCIP_Conflict::ninflpconfconss, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPConflictLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in conflict constraints created in infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 513 of file conflict_general.c.
References assert(), SCIP_Conflict::ninflpconfliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPReconvergenceConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of reconvergence constraints detected in infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 523 of file conflict_general.c.
References assert(), SCIP_Conflict::ninflpreconvconss, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPReconvergenceLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in reconvergence constraints created in infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 533 of file conflict_general.c.
References assert(), SCIP_Conflict::ninflpreconvliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNInfeasibleLPIterations | ( | SCIP_CONFLICT * | conflict | ) |
gets number of LP iterations in infeasible LP conflict analysis
conflict | conflict analysis data |
Definition at line 543 of file conflict_general.c.
References assert(), SCIP_Conflict::ninflpiterations, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Real SCIPconflictGetBoundexceedingLPTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for analyzing bound exceeding LP conflicts
conflict | conflict analysis data |
Definition at line 553 of file conflict_general.c.
References assert(), SCIP_Conflict::boundlpanalyzetime, NULL, SCIP_Real, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPCalls | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 563 of file conflict_general.c.
References assert(), SCIP_Conflict::nboundlpcalls, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to bound exceeding LP conflict analysis that yield at least one conflict constraint
conflict | conflict analysis data |
Definition at line 573 of file conflict_general.c.
References assert(), SCIP_Conflict::nboundlpsuccess, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().
SCIP_Longint SCIPconflictGetNBoundexceedingLPConflictConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of conflict constraints detected in bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 583 of file conflict_general.c.
References assert(), SCIP_Conflict::nboundlpconfconss, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPConflictLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in conflict constraints created in bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 593 of file conflict_general.c.
References assert(), SCIP_Conflict::nboundlpconfliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPReconvergenceConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of reconvergence constraints detected in bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 603 of file conflict_general.c.
References assert(), SCIP_Conflict::nboundlpreconvconss, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPReconvergenceLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in reconvergence constraints created in bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 613 of file conflict_general.c.
References assert(), SCIP_Conflict::nboundlpreconvliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNBoundexceedingLPIterations | ( | SCIP_CONFLICT * | conflict | ) |
gets number of LP iterations in bound exceeding LP conflict analysis
conflict | conflict analysis data |
Definition at line 623 of file conflict_general.c.
References assert(), SCIP_Conflict::nboundlpiterations, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_RETCODE SCIPconflictAnalyzeStrongbranch | ( | SCIP_CONFLICT * | conflict, |
SCIP_CONFLICTSTORE * | conflictstore, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_COL * | col, | ||
SCIP_Bool * | downconflict, | ||
SCIP_Bool * | upconflict ) |
analyses infeasible strong branching sub problems for conflicts
conflict | conflict analysis data |
conflictstore | conflict store |
blkmem | block memory buffers |
set | global SCIP settings |
stat | dynamic problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
cliquetable | clique table data structure |
col | LP column with at least one infeasible strong branching subproblem |
downconflict | pointer to store whether a conflict constraint was created for an infeasible downwards branch, or NULL |
upconflict | pointer to store whether a conflict constraint was created for an infeasible upwards branch, or NULL |
Definition at line 2108 of file conflict_general.c.
References assert(), 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(), SCIPlpiIsStable(), SCIPlpiSetBase(), SCIPlpiSolveDual(), SCIPlpiStartStrongbranch(), SCIPprobAllColsInLP(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPsetFreeBufferArray, SCIPsetIsGE(), SCIPtreeGetCurrentDepth(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIP_Lp::solved, TRUE, and SCIP_Col::ub.
Referenced by analyzeStrongbranch().
SCIP_Real SCIPconflictGetStrongbranchTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for analyzing infeasible strong branching conflicts
conflict | conflict analysis data |
Definition at line 633 of file conflict_general.c.
References assert(), NULL, SCIP_Conflict::sbanalyzetime, SCIP_Real, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualproofsInfSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of successful calls to dual proof analysis derived from infeasible LPs
conflict | conflict analysis data |
Definition at line 643 of file conflict_general.c.
References assert(), SCIP_Conflict::ndualproofsinfsuccess, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictDualproofsApplied(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualproofsInfGlobal | ( | SCIP_CONFLICT * | conflict | ) |
gets number of globally valid dual proof constraints derived from infeasible LPs
conflict | conflict analysis data |
Definition at line 653 of file conflict_general.c.
References assert(), SCIP_Conflict::ndualproofsinfglobal, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualproofsInfLocal | ( | SCIP_CONFLICT * | conflict | ) |
gets number of locally valid dual proof constraints derived from infeasible LPs
conflict | conflict analysis data |
Definition at line 663 of file conflict_general.c.
References assert(), SCIP_Conflict::ndualproofsinflocal, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualproofsInfNonzeros | ( | SCIP_CONFLICT * | conflict | ) |
gets average length of dual proof constraints derived from infeasible LPs
conflict | conflict analysis data |
Definition at line 673 of file conflict_general.c.
References assert(), SCIP_Conflict::dualproofsinfnnonzeros, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualproofsBndSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of successfully analyzed dual proofs derived from bound exceeding LPs
conflict | conflict analysis data |
Definition at line 683 of file conflict_general.c.
References assert(), SCIP_Conflict::ndualproofsbndsuccess, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictDualproofsApplied(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualproofsBndGlobal | ( | SCIP_CONFLICT * | conflict | ) |
gets number of globally applied dual proofs derived from bound exceeding LPs
conflict | conflict analysis data |
Definition at line 693 of file conflict_general.c.
References assert(), SCIP_Conflict::ndualproofsbndglobal, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualproofsBndLocal | ( | SCIP_CONFLICT * | conflict | ) |
gets number of locally applied dual proofs derived from bound exceeding LPs
conflict | conflict analysis data |
Definition at line 703 of file conflict_general.c.
References assert(), SCIP_Conflict::ndualproofsbndlocal, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNDualproofsBndNonzeros | ( | SCIP_CONFLICT * | conflict | ) |
gets average length of dual proofs derived from bound exceeding LPs
conflict | conflict analysis data |
Definition at line 713 of file conflict_general.c.
References assert(), SCIP_Conflict::dualproofsbndnnonzeros, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchCalls | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 723 of file conflict_general.c.
References assert(), SCIP_Conflict::nsbcalls, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to infeasible strong branching conflict analysis that yield at least one conflict constraint
conflict | conflict analysis data |
Definition at line 733 of file conflict_general.c.
References assert(), SCIP_Conflict::nsbsuccess, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().
SCIP_Longint SCIPconflictGetNStrongbranchConflictConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of conflict constraints detected in infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 743 of file conflict_general.c.
References assert(), SCIP_Conflict::nsbconfconss, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchConflictLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in conflict constraints created in infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 753 of file conflict_general.c.
References assert(), SCIP_Conflict::nsbconfliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchReconvergenceConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of reconvergence constraints detected in infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 763 of file conflict_general.c.
References assert(), SCIP_Conflict::nsbreconvconss, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchReconvergenceLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in reconvergence constraints created in infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 773 of file conflict_general.c.
References assert(), SCIP_Conflict::nsbreconvliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNStrongbranchIterations | ( | SCIP_CONFLICT * | conflict | ) |
gets number of LP iterations in infeasible strong branching conflict analysis
conflict | conflict analysis data |
Definition at line 783 of file conflict_general.c.
References assert(), SCIP_Conflict::nsbiterations, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_RETCODE SCIPconflictAnalyzePseudo | ( | SCIP_CONFLICT * | conflict, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_Bool * | success ) |
analyzes a pseudo solution with objective value exceeding the current cutoff to find out the bound changes on variables that were responsible for the objective value degradation; on success, calls standard conflict analysis with the responsible variables as starting conflict set, thus creating a conflict constraint out of the resulting conflict set; updates statistics for pseudo solution conflict analysis
conflict | conflict analysis data |
blkmem | block memory of transformed problem |
set | global SCIP settings |
stat | problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
cliquetable | clique table data structure |
success | pointer to store whether a conflict constraint was created, or NULL |
Definition at line 1568 of file conflict_general.c.
References assert(), SCIP_Conflict::conflictset, SCIP_ConflictSet::conflicttype, SCIP_Lp::cutoffbound, FALSE, SCIP_Lp::lpi, SCIP_Conflict::nconflictsets, SCIP_Conflict::npseudocalls, SCIP_Conflict::npseudoconfconss, SCIP_Conflict::npseudoconfliterals, SCIP_Conflict::npseudoreconvconss, SCIP_Conflict::npseudoreconvliterals, SCIP_Conflict::npseudosuccess, NULL, nvars, SCIP_Prob::nvars, SCIP_Conflict::pseudoanalyzetime, SCIP_Bool, SCIP_CALL, SCIP_CONFTYPE_BNDEXCEEDING, SCIP_OKAY, SCIP_Real, SCIPclockStart(), SCIPclockStop(), SCIPconflictAnalyzeRemainingBdchgs(), SCIPconflictFlushConss(), SCIPlpGetPseudoObjval(), SCIPprobIsObjIntegral(), SCIPsetAllocBufferArray, SCIPsetCutoffbounddelta(), SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPtreeGetCurrentDepth(), SCIPundoBdchgsProof(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetUbLocal(), TRUE, SCIP_ConflictSet::usescutoffbound, var, SCIP_Prob::vars, and vars.
Referenced by applyBounding().
SCIP_Real SCIPconflictGetPseudoTime | ( | SCIP_CONFLICT * | conflict | ) |
gets time in seconds used for analyzing pseudo solution conflicts
conflict | conflict analysis data |
Definition at line 1720 of file conflict_general.c.
References assert(), NULL, SCIP_Conflict::pseudoanalyzetime, SCIP_Real, and SCIPclockGetTime().
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPseudoCalls | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to pseudo solution conflict analysis
conflict | conflict analysis data |
Definition at line 1730 of file conflict_general.c.
References assert(), SCIP_Conflict::npseudocalls, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPseudoSuccess | ( | SCIP_CONFLICT * | conflict | ) |
gets number of calls to pseudo solution conflict analysis that yield at least one conflict constraint
conflict | conflict analysis data |
Definition at line 1740 of file conflict_general.c.
References assert(), SCIP_Conflict::npseudosuccess, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics(), and SCIPsolveCIP().
SCIP_Longint SCIPconflictGetNPseudoConflictConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of conflict constraints detected in pseudo solution conflict analysis
conflict | conflict analysis data |
Definition at line 1750 of file conflict_general.c.
References assert(), SCIP_Conflict::npseudoconfconss, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPseudoConflictLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in conflict constraints created in pseudo solution conflict analysis
conflict | conflict analysis data |
Definition at line 1760 of file conflict_general.c.
References assert(), SCIP_Conflict::npseudoconfliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPseudoReconvergenceConss | ( | SCIP_CONFLICT * | conflict | ) |
gets number of reconvergence constraints detected in pseudo solution conflict analysis
conflict | conflict analysis data |
Definition at line 1770 of file conflict_general.c.
References assert(), SCIP_Conflict::npseudoreconvconss, NULL, and SCIP_Longint.
Referenced by SCIPgetNConflictConssFound(), and SCIPprintConflictStatistics().
SCIP_Longint SCIPconflictGetNPseudoReconvergenceLiterals | ( | SCIP_CONFLICT * | conflict | ) |
gets total number of literals in reconvergence constraints created in pseudo solution conflict analysis
conflict | conflict analysis data |
Definition at line 1780 of file conflict_general.c.
References assert(), SCIP_Conflict::npseudoreconvliterals, NULL, and SCIP_Longint.
Referenced by SCIPprintConflictStatistics().
void SCIPconflictEnableOrDisableClocks | ( | SCIP_CONFLICT * | conflict, |
SCIP_Bool | enable ) |
enables or disables all clocks of conflict
, depending on the value of the flag
conflict | the conflict analysis data for which all clocks should be enabled or disabled |
enable | should the clocks of the conflict analysis data be enabled? |
Definition at line 218 of file conflict_general.c.
References assert(), SCIP_Conflict::boundlpanalyzetime, SCIP_Conflict::dIBclock, SCIP_Conflict::inflpanalyzetime, NULL, SCIP_Conflict::propanalyzetime, SCIP_Conflict::pseudoanalyzetime, SCIP_Conflict::sbanalyzetime, SCIP_Bool, and SCIPclockEnableOrDisable().
Referenced by SCIPconflictCreate(), and SCIPenableOrDisableStatisticTiming().
SCIP_RETCODE conflictAnalyze | ( | SCIP_CONFLICT * | conflict, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_TREE * | tree, | ||
SCIP_Bool | diving, | ||
int | validdepth, | ||
SCIP_Bool | mustresolve, | ||
int * | nconss, | ||
int * | nliterals, | ||
int * | nreconvconss, | ||
int * | nreconvliterals ) |
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
conflict | conflict analysis data |
blkmem | block memory of transformed problem |
set | global SCIP settings |
stat | problem statistics |
prob | problem data |
tree | branch and bound tree |
diving | are we in strong branching or diving mode? |
validdepth | minimal depth level at which the initial conflict set is valid |
mustresolve | should the conflict set only be used, if a resolution was applied? |
nconss | pointer to store the number of generated conflict constraints |
nliterals | pointer to store the number of literals in generated conflict constraints |
nreconvconss | pointer to store the number of generated reconvergence constraints |
nreconvliterals | pointer to store the number of literals generated reconvergence constraints |
Definition at line 3661 of file conflict_graphanalysis.c.
References assert(), SCIP_ConflictSet::bdchginfos, SCIP_Conflict::bdchgqueue, SCIP_DomChgBound::boundchgs, conflictAddConflictBound(), conflictAddConflictset(), conflictClear(), conflictCreateReconvergenceConss(), conflictFirstCand(), conflictRemoveCand(), conflictResolveBound(), SCIP_Conflict::conflictset, SCIP_ConflictSet::conflicttype, SCIP_Node::domchg, SCIP_DomChg::domchgbound, FALSE, SCIP_Conflict::forcedbdchgqueue, i, 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, SCIPpqueueNElems(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPtreeGetCurrentDepth(), SCIPtreeGetFocusDepth(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), TRUE, and var.
Referenced by SCIPconflictAnalyze(), and SCIPconflictAnalyzeRemainingBdchgs().
SCIP_RETCODE SCIPgetFarkasProof | ( | SCIP_SET * | set, |
SCIP_PROB * | prob, | ||
SCIP_LP * | lp, | ||
SCIP_LPI * | lpi, | ||
SCIP_TREE * | tree, | ||
SCIP_AGGRROW * | farkasrow, | ||
SCIP_Real * | farkasact, | ||
int * | validdepth, | ||
SCIP_Real * | curvarlbs, | ||
SCIP_Real * | curvarubs, | ||
SCIP_Bool * | valid ) |
calculates a Farkas proof from the current dual LP solution
set | global SCIP settings |
prob | transformed problem |
lp | LP data |
lpi | LPI data |
tree | tree data |
farkasrow | aggregated row representing the proof |
farkasact | maximal activity of the proof constraint |
validdepth | pointer to store the valid depth of the proof constraint |
curvarlbs | current lower bounds of active problem variables |
curvarubs | current upper bounds of active problem variables |
valid | pointer store whether the proof constraint is valid |
Definition at line 1161 of file conflict_general.c.
References addLocalRows(), addRowToAggrRow(), assert(), BMSclearMemoryArray, checkDualFeasibility(), SCIP_Row::cols, FALSE, SCIP_Lp::flushed, SCIP_Row::len, SCIP_Row::local, SCIP_Lp::lpirows, SCIP_Lp::nlpirows, NULL, NUMSTOP, r, REALABS, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaggrRowGetMinActivity(), SCIPaggrRowGetRhs(), SCIPaggrRowRemoveZeros(), SCIPfreeBufferArrayNull, SCIPlpDivingObjChanged(), SCIPlpGetNRows(), SCIPlpGetRows(), SCIPlpiGetDualfarkas(), SCIPlpiHasDualRay(), SCIPlpiIsDualFeasible(), SCIPlpiIsObjlimExc(), SCIPlpiIsPrimalInfeasible(), SCIProwGetLPDepth(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetIsDualfeasZero(), SCIPsetIsFeasLE(), SCIPtreeGetFocusDepth(), SOLSTOP, SCIP_Lp::solved, TRUE, valid, and SCIP_Row::vals.
Referenced by conflictAnalyzeLP(), and SCIPrunBoundHeuristic().
SCIP_RETCODE SCIPgetDualProof | ( | SCIP_SET * | set, |
SCIP_PROB * | transprob, | ||
SCIP_LP * | lp, | ||
SCIP_LPI * | lpi, | ||
SCIP_TREE * | tree, | ||
SCIP_AGGRROW * | farkasrow, | ||
SCIP_Real * | farkasact, | ||
int * | validdepth, | ||
SCIP_Real * | curvarlbs, | ||
SCIP_Real * | curvarubs, | ||
SCIP_Bool * | valid ) |
calculates a dual proof from the current dual LP solution
set | global SCIP settings |
transprob | transformed problem |
lp | LP data |
lpi | LPI data |
tree | tree data |
farkasrow | aggregated row representing the proof |
farkasact | maximal activity of the proof constraint |
validdepth | pointer to store the valid depth of the proof constraint |
curvarlbs | current lower bounds of active problem variables |
curvarubs | current upper bounds of active problem variables |
valid | pointer store whether the proof constraint is valid |
Definition at line 1341 of file conflict_general.c.
References addLocalRows(), addRowToAggrRow(), assert(), checkDualFeasibility(), SCIP_Row::cols, SCIP_Lp::cutoffbound, FALSE, SCIP_Lp::flushed, SCIP_Row::len, SCIP_Row::local, SCIP_Lp::lpirows, SCIP_Lp::nlpirows, NULL, NUMSTOP, objval, r, REALABS, SCIP_Bool, SCIP_CALL, SCIP_LPERROR, SCIP_OKAY, SCIP_Real, SCIPaggrRowAddObjectiveFunction(), SCIPaggrRowClear(), SCIPaggrRowGetMinActivity(), SCIPaggrRowGetRhs(), SCIPaggrRowRemoveZeros(), SCIPfreeBufferArrayNull, SCIPlpGetNCols(), SCIPlpGetNRows(), SCIPlpGetRows(), SCIPlpiGetObjval(), SCIPlpiGetSol(), SCIPprobIsObjIntegral(), SCIProwGetLPDepth(), SCIPsetAllocBufferArray, SCIPsetCutoffbounddelta(), SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetIsDualfeasZero(), SCIPsetIsFeasLE(), SCIPtreeGetFocusDepth(), SOLSTOP, SCIP_Lp::solved, TRUE, valid, and SCIP_Row::vals.
Referenced by conflictAnalyzeLP(), and SCIPrunBoundHeuristic().
SCIP_Real SCIPaggrRowGetMinActivity | ( | SCIP_SET * | set, |
SCIP_PROB * | transprob, | ||
SCIP_AGGRROW * | aggrrow, | ||
SCIP_Real * | curvarlbs, | ||
SCIP_Real * | curvarubs, | ||
SCIP_Bool * | infdelta ) |
calculates the minimal activity of a given aggregation row
set | global SCIP settings |
transprob | transformed problem data |
aggrrow | aggregation row |
curvarlbs | current lower bounds of active problem variables (or NULL for global bounds) |
curvarubs | current upper bounds of active problem variables (or NULL for global bounds) |
infdelta | pointer to store whether at least one variable contributes with an infinite value |
Definition at line 873 of file conflict_general.c.
References assert(), FALSE, i, NULL, QUAD, QUAD_ASSIGN, QUAD_TO_DBL, SCIP_Bool, SCIP_Real, SCIPaggrRowGetInds(), SCIPaggrRowGetNNz(), SCIPaggrRowGetProbvarValue(), SCIPprobGetVars(), SCIPquadprecProdDD, SCIPquadprecSumQQ, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), TRUE, and vars.
Referenced by addLocalRows(), SCIPconflictAnalyzeDualProof(), SCIPgetDualProof(), SCIPgetFarkasProof(), separateAlternativeProofs(), and tightenDualproof().