internal methods for problem statistics
Definition in file stat.h.
#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_prob.h"
#include "scip/type_retcode.h"
#include "scip/type_set.h"
#include "scip/type_stat.h"
#include "scip/type_mem.h"
#include "scip/pub_message.h"
#include "scip/concurrent.h"
#include "scip/struct_stat.h"
Go to the source code of this file.
Macros | |
#define | SCIPupdateDeterministicTimeCount(stat, set, val) |
#define | SCIPstatUpdate(stat, set, field, val) |
#define | SCIPstatIncrement(stat, set, field) |
#define | SCIPstatAdd(stat, set, field, val) |
#define | SCIPstatDebugMsg while ( FALSE ) SCIPstatDebugMessagePrint |
#define | SCIPstatDebugMsgPrint while ( FALSE ) SCIPstatDebugMessagePrint |
#define SCIPupdateDeterministicTimeCount | ( | stat, | |
set, | |||
val | |||
) |
#define SCIPstatUpdate | ( | stat, | |
set, | |||
field, | |||
val | |||
) |
Definition at line 230 of file stat.h.
Referenced by lpBarrier(), lpDualSimplex(), lpLexDualSimplex(), and lpPrimalSimplex().
#define SCIPstatIncrement | ( | stat, | |
set, | |||
field | |||
) |
Definition at line 251 of file stat.h.
Referenced by lpBarrier(), lpDualSimplex(), lpLexDualSimplex(), lpPrimalSimplex(), SCIPcolCreate(), SCIPcolGetStrongbranch(), SCIPcolSetStrongbranchData(), SCIPlpEndDive(), SCIPnodeAddBoundinfer(), SCIProwCreate(), SCIPsolveIsStopped(), SCIPvarAddHoleLocal(), varProcessChgLbLocal(), and varProcessChgUbLocal().
#define SCIPstatAdd | ( | stat, | |
set, | |||
field, | |||
val | |||
) |
Definition at line 271 of file stat.h.
Referenced by lpBarrier(), lpDualSimplex(), lpLexDualSimplex(), lpPrimalSimplex(), performStrongbranchWithPropagation(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), and SCIPcolSetStrongbranchData().
#define SCIPstatDebugMsg while ( FALSE ) SCIPstatDebugMessagePrint |
prints a debugging message if SCIP_DEBUG flag is set
Definition at line 313 of file stat.h.
Referenced by SCIPsolLinkNLPSol(), SCIPstatComputeRootLPBestEstimate(), and SCIPstatUpdateVarRootLPBestEstimate().
#define SCIPstatDebugMsgPrint while ( FALSE ) SCIPstatDebugMessagePrint |
SCIP_RETCODE SCIPstatCreate | ( | SCIP_STAT ** | stat, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_MESSAGEHDLR * | messagehdlr | ||
) |
creates problem statistics data
stat | pointer to problem statistics data |
blkmem | block memory |
set | global SCIP settings |
transprob | transformed problem, or NULL |
origprob | original problem, or NULL |
messagehdlr | message handler |
Definition at line 45 of file stat.c.
References BMSallocMemory, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIP_STATUS_UNKNOWN, SCIPclockCreate(), SCIPhistoryCreate(), SCIPregressionCreate(), SCIPstatEnableOrDisableStatClocks(), SCIPstatReset(), SCIPvisualCreate(), and TRUE.
Referenced by copyProb(), and SCIPcreateProb().
SCIP_RETCODE SCIPstatFree | ( | SCIP_STAT ** | stat, |
BMS_BLKMEM * | blkmem | ||
) |
frees problem statistics data
stat | pointer to problem statistics data |
blkmem | block memory |
Definition at line 110 of file stat.c.
References BMSfreeMemory, NULL, SCIP_OKAY, SCIPclockFree(), SCIPhistoryFree(), SCIPregressionFree(), and SCIPvisualFree().
Referenced by SCIPfreeProb().
void SCIPstatDisableVarHistory | ( | SCIP_STAT * | stat | ) |
diables the collection of any statistic for a variable
stat | problem statistics data |
Definition at line 151 of file stat.c.
References SCIP_Stat::collectvarhistory, FALSE, and NULL.
Referenced by SCIPdisableVarHistory(), and SCIPstartProbing().
void SCIPstatEnableVarHistory | ( | SCIP_STAT * | stat | ) |
enables the collection of statistics for a variable
stat | problem statistics data |
Definition at line 161 of file stat.c.
References SCIP_Stat::collectvarhistory, NULL, and TRUE.
Referenced by SCIPenableVarHistory(), and SCIPendProbing().
void SCIPstatMark | ( | SCIP_STAT * | stat | ) |
marks statistics to be able to reset them when solving process is freed
stat | problem statistics data |
Definition at line 171 of file stat.c.
References SCIP_Stat::marked_ncolidx, SCIP_Stat::marked_nrowidx, SCIP_Stat::marked_nvaridx, SCIP_Stat::ncolidx, SCIP_Stat::nrowidx, NULL, and SCIP_Stat::nvaridx.
Referenced by prepareReoptimization(), and SCIPtransformProb().
void SCIPstatReset | ( | SCIP_STAT * | stat, |
SCIP_SET * | set, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob | ||
) |
reset statistics to the data before solving started
stat | problem statistics data |
set | global SCIP settings |
transprob | transformed problem, or NULL |
origprob | original problem, or NULL |
Definition at line 183 of file stat.c.
References SCIP_Stat::avgnnz, SCIP_Stat::barrierlptime, SCIP_Stat::barrierzeroittime, SCIP_Stat::branchedunbdvar, SCIP_Stat::conflictlptime, SCIP_Stat::copyclock, SCIP_Stat::divinglptime, SCIP_Stat::domchgcount, SCIP_Stat::duallptime, SCIP_Stat::dualzeroittime, SCIP_Stat::externmemestim, FALSE, SCIP_Stat::firstlpdualbound, SCIP_Stat::firstlptime, SCIP_Stat::firstprimalbound, SCIP_Stat::firstprimalheur, SCIP_Stat::firstprimaltime, SCIP_Stat::firstsolgap, SCIP_Stat::glbhistory, SCIP_Stat::lastsblpsolstats, SCIP_Stat::lastsolgap, SCIP_Stat::lexduallptime, SCIP_Stat::lpcount, SCIP_Stat::lpsoltime, SCIP_Stat::marked_ncolidx, SCIP_Stat::marked_nrowidx, SCIP_Stat::marked_nvaridx, SCIP_Stat::maxcopytime, SCIP_Stat::maxtotaldepth, SCIP_Stat::memsavemode, SCIP_Stat::mincopytime, SCIP_Stat::nactiveconss, SCIP_Stat::nactiveconssadded, SCIP_Stat::nbarrierlpiterations, SCIP_Stat::nbarrierlps, SCIP_Stat::nbarrierzeroitlps, SCIP_Stat::nboundchgs, SCIP_Stat::nclockskipsleft, SCIP_Stat::ncolidx, SCIP_Stat::nconflictlpiterations, SCIP_Stat::nconflictlps, SCIP_Stat::nconfrestarts, SCIP_Stat::ncopies, SCIP_Stat::ncreatednodes, SCIP_Stat::ndivesetcalls, SCIP_Stat::ndivesetlpiterations, SCIP_Stat::ndivesetlps, SCIP_Stat::ndivinglpiterations, SCIP_Stat::ndivinglps, SCIP_Stat::nduallpiterations, SCIP_Stat::nduallps, SCIP_Stat::ndualresolvelpiterations, SCIP_Stat::ndualresolvelps, SCIP_Stat::ndualzeroitlps, SCIP_Stat::nenabledconss, SCIP_Stat::nexternalsolsfound, SCIP_Stat::nholechgs, SCIP_Stat::ninitconssadded, SCIP_Stat::ninitlpiterations, SCIP_Stat::ninitlps, SCIP_Stat::nisstoppedcalls, SCIP_Stat::nlexduallpiterations, SCIP_Stat::nlexduallps, SCIP_Stat::nlexdualresolvelpiterations, SCIP_Stat::nlexdualresolvelps, SCIP_Stat::nlpbestsolsfound, SCIP_Stat::nlpiterations, SCIP_Stat::nlps, SCIP_Stat::nlpsolsfound, SCIP_Stat::nlpsoltime, SCIP_Stat::nnlps, SCIP_Stat::nnodelpiterations, SCIP_Stat::nnodelps, SCIP_Stat::nnodesbeforefirst, SCIP_Stat::nnumtroublelpmsgs, SCIP_Stat::nnz, SCIP_Stat::nodeactivationtime, SCIP_Stat::nprimallpiterations, SCIP_Stat::nprimallps, SCIP_Stat::nprimalresolvelpiterations, SCIP_Stat::nprimalresolvelps, SCIP_Stat::nprimalzeroitlps, SCIP_Stat::nprobboundchgs, SCIP_Stat::nprobholechgs, SCIP_Stat::npsbestsolsfound, SCIP_Stat::npssolsfound, SCIP_Stat::nrelaxbestsolsfound, SCIP_Stat::nrelaxsolsfound, SCIP_Stat::nrootboundchgs, SCIP_Stat::nrootfirstlpiterations, SCIP_Stat::nrootintfixings, SCIP_Stat::nrootlpiterations, SCIP_Stat::nrootlps, SCIP_Stat::nrootsblpiterations, SCIP_Stat::nrootstrongbranchs, SCIP_Stat::nrowidx, SCIP_Stat::nruns, SCIP_Stat::nrunsbeforefirst, SCIP_Stat::nsbbestsolsfound, SCIP_Stat::nsbdivinglpiterations, SCIP_Stat::nsbdivinglps, SCIP_Stat::nsbdowndomchgs, SCIP_Stat::nsblpiterations, SCIP_Stat::nsbsolsfound, SCIP_Stat::nsbtimesiterlimhit, SCIP_Stat::nsbupdomchgs, SCIP_Stat::nstrongbranchs, SCIP_Stat::ntotalinternalnodes, SCIP_Stat::ntotalnodes, SCIP_Stat::ntotalnodesmerged, NULL, SCIP_Stat::nvaridx, SCIP_Stat::presolvingtime, SCIP_Stat::prevrunnvars, SCIP_Stat::primallptime, SCIP_Stat::primalzeroittime, SCIP_Stat::pseudosoltime, SCIP_Stat::relaxcount, SCIP_Stat::relaxsoltime, SCIP_Stat::sbsoltime, SCIP_DEFAULT_INFINITY, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_UNKNOWN, SCIPclockReset(), SCIPhistoryReset(), SCIPstatResetImplications(), SCIPstatResetPresolving(), SCIPstatResetPrimalDualIntegral(), SCIP_Stat::solindex, SCIP_Stat::solvingtime, SCIP_Stat::strongbranchtime, SCIP_Stat::strongpropclock, SCIP_Stat::totaldivesetdepth, and SCIP_Stat::vsidsweight.
Referenced by freeReoptSolve(), freeTransform(), and SCIPstatCreate().
void SCIPstatResetImplications | ( | SCIP_STAT * | stat | ) |
reset implication counter
stat | problem statistics data |
Definition at line 330 of file stat.c.
References SCIP_Stat::nimplications, and NULL.
Referenced by SCIPstatReset().
void SCIPstatResetPresolving | ( | SCIP_STAT * | stat, |
SCIP_SET * | set, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob | ||
) |
reset presolving and current run specific statistics
stat | problem statistics data |
set | global SCIP settings |
transprob | transformed problem, or NULL if not yet existing |
origprob | original problem, or NULL |
Definition at line 340 of file stat.c.
References FALSE, SCIP_Stat::npresoladdconss, SCIP_Stat::npresoladdholes, SCIP_Stat::npresolaggrvars, SCIP_Stat::npresolchgbds, SCIP_Stat::npresolchgcoefs, SCIP_Stat::npresolchgsides, SCIP_Stat::npresolchgvartypes, SCIP_Stat::npresoldelconss, SCIP_Stat::npresolfixedvars, SCIP_Stat::npresolrounds, SCIP_Stat::npresolroundsext, SCIP_Stat::npresolroundsfast, SCIP_Stat::npresolroundsmed, SCIP_Stat::npresolupgdconss, NULL, and SCIPstatResetCurrentRun().
Referenced by initPresolve(), and SCIPstatReset().
reset primal-dual integral
stat | problem statistics data |
set | global SCIP settings |
partialreset | should time and integral value be kept? (in combination with no statistical reset, integrals are added for each problem to be solved) |
Definition at line 368 of file stat.c.
References SCIP_Stat::lastdualbound, SCIP_Stat::lastlowerbound, SCIP_Stat::lastprimalbound, SCIP_Stat::lastupperbound, NULL, SCIP_Stat::previntegralevaltime, SCIP_Stat::previousgap, SCIP_Stat::primaldualintegral, SCIP_UNKNOWN, and SCIPsetInfinity().
Referenced by freeReoptSolve(), freeTransform(), and SCIPstatReset().
void SCIPstatUpdatePrimalDualIntegral | ( | SCIP_STAT * | stat, |
SCIP_SET * | set, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_Real | upperbound, | ||
SCIP_Real | lowerbound | ||
) |
update the primal-dual integral statistic. method accepts + and - SCIPsetInfinity() as values for upper and lower bound, respectively
stat | problem statistics data |
set | global SCIP settings |
transprob | transformed problem |
origprob | original problem |
upperbound | current upper bound in transformed problem, or infinity |
lowerbound | current lower bound in transformed space, or -infinity |
Definition at line 394 of file stat.c.
References SCIP_Stat::lastdualbound, SCIP_Stat::lastlowerbound, SCIP_Stat::lastprimalbound, SCIP_Stat::lastupperbound, MAX, NULL, SCIP_Stat::previntegralevaltime, SCIP_Stat::previousgap, SCIP_Stat::primaldualintegral, REALABS, SCIP_Real, SCIP_UNKNOWN, SCIPclockGetTime(), SCIPprobExternObjval(), SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPsetIsZero(), and SCIP_Stat::solvingtime.
Referenced by exitPresolve(), SCIPnodeCutoff(), SCIPnodeUpdateLowerbound(), SCIPsolveCIP(), SCIPstatGetPrimalDualIntegral(), and SCIPstoreSolutionGap().
SCIP_Real SCIPstatGetPrimalDualIntegral | ( | SCIP_STAT * | stat, |
SCIP_SET * | set, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob | ||
) |
update and return the primal-dual integral statistic
stat | problem statistics data |
set | global SCIP settings |
transprob | transformed problem |
origprob | original problem |
Definition at line 485 of file stat.c.
References NULL, SCIP_Stat::primaldualintegral, SCIPsetInfinity(), and SCIPstatUpdatePrimalDualIntegral().
Referenced by printSolutionStatistics().
void SCIPstatResetCurrentRun | ( | SCIP_STAT * | stat, |
SCIP_SET * | set, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_Bool | solved | ||
) |
reset current branch and bound run specific statistics
stat | problem statistics data |
set | global SCIP settings |
transprob | transformed problem, or NULL |
origprob | original problem, or NULL |
solved | is problem already solved? |
Definition at line 504 of file stat.c.
References SCIP_Stat::bestsolnode, SCIP_Stat::branchedunbdvar, FALSE, SCIP_Stat::glbhistorycrun, SCIP_Stat::lastbranchdir, SCIP_Stat::lastbranchvalue, SCIP_Stat::lastbranchvar, SCIP_Stat::lastconflictnode, SCIP_Stat::lastdivenode, SCIP_Stat::maxdepth, SCIP_Stat::nactivatednodes, SCIP_Stat::nbacktracks, SCIP_Stat::ncreatednodesrun, SCIP_Stat::ndeactivatednodes, SCIP_Stat::ndelayedcutoffs, SCIP_Stat::nearlybacktracks, SCIP_Stat::nfeasleaves, SCIP_Stat::ninfeasleaves, SCIP_Stat::ninternalnodes, SCIP_Stat::nnodes, SCIP_Stat::nnodesaboverefbound, SCIP_Stat::nnumtroublelpmsgs, SCIP_Stat::nobjleaves, SCIP_Stat::npricerounds, SCIP_Stat::nrepropboundchgs, SCIP_Stat::nrepropcutoffs, SCIP_Stat::nreprops, SCIP_Stat::nrootboundchgsrun, SCIP_Stat::nrootintfixingsrun, SCIP_Stat::nseparounds, NULL, SCIP_Stat::plungedepth, SCIP_Stat::referencebound, SCIP_Stat::regressioncandsobjval, SCIP_Stat::rootlowerbound, SCIP_Stat::rootlpbestestimate, SCIP_BRANCHDIR_DOWNWARDS, SCIP_INVALID, SCIP_REAL_MIN, SCIP_STATUS_UNKNOWN, SCIP_UNKNOWN, SCIPhistoryReset(), SCIPprobInternObjval(), SCIPregressionReset(), SCIPsetGetReferencevalue(), SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPstatResetDisplay(), and SCIP_Stat::status.
Referenced by freeReoptSolve(), freeSolve(), initSolve(), and SCIPstatResetPresolving().
void SCIPstatResetDisplay | ( | SCIP_STAT * | stat | ) |
resets display statistics, such that a new header line is displayed before the next display line
stat | problem statistics data |
Definition at line 566 of file stat.c.
References SCIP_Stat::lastdispnode, SCIP_Stat::ndisplines, and NULL.
Referenced by SCIPsolve(), and SCIPstatResetCurrentRun().
void SCIPstatEnforceLPUpdates | ( | SCIP_STAT * | stat | ) |
increases LP count, such that all lazy updates depending on the LP are enforced again
stat | problem statistics data |
Definition at line 577 of file stat.c.
References SCIP_Stat::lpcount, and NULL.
Referenced by initSolve().
void SCIPstatUpdateMemsaveMode | ( | SCIP_STAT * | stat, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_MEM * | mem | ||
) |
depending on the current memory usage, switches mode flag to standard or memory saving mode
stat | problem statistics data |
set | global SCIP settings |
messagehdlr | message handler |
mem | block memory pools |
Definition at line 587 of file stat.c.
References FALSE, SCIP_Stat::memsavemode, SCIP_Stat::nnodes, NULL, SCIP_Longint, SCIP_Real, SCIP_VERBLEVEL_HIGH, SCIPmemGetUsed(), SCIPmessagePrintVerbInfo(), SCIPsetIsLT(), and TRUE.
Referenced by SCIPsolveCIP().
SCIP_Longint SCIPstatGetMemExternEstim | ( | SCIP_STAT * | stat | ) |
returns the estimated number of bytes used by extern software, e.g., the LP solver
stat | dynamic SCIP statistics |
Definition at line 626 of file stat.c.
References SCIP_Stat::externmemestim.
Referenced by SCIPgetMemExternEstim().
enables or disables all statistic clocks of stat
concerning LP execution time, strong branching time, etc.
stat | SCIP statistics |
enable | should the LP clocks be enabled? |
Definition at line 640 of file stat.c.
References SCIP_Stat::barrierlptime, SCIP_Stat::conflictlptime, SCIP_Stat::copyclock, SCIP_Stat::divinglptime, SCIP_Stat::duallptime, SCIP_Stat::lexduallptime, SCIP_Stat::lpsoltime, SCIP_Stat::nlpsoltime, SCIP_Stat::nodeactivationtime, NULL, SCIP_Stat::primallptime, SCIP_Stat::pseudosoltime, SCIP_Stat::relaxsoltime, SCIP_Stat::sbsoltime, SCIPclockEnableOrDisable(), SCIP_Stat::strongbranchtime, and SCIP_Stat::strongpropclock.
Referenced by SCIPenableOrDisableStatisticTiming(), and SCIPstatCreate().
void SCIPstatComputeRootLPBestEstimate | ( | SCIP_STAT * | stat, |
SCIP_SET * | set, | ||
SCIP_Real | rootlpobjval, | ||
SCIP_VAR ** | vars, | ||
int | nvars | ||
) |
recompute root LP best-estimate from scratch
stat | SCIP statistics |
set | global SCIP settings |
rootlpobjval | root LP objective value |
vars | problem variables |
nvars | number of variables |
Definition at line 665 of file stat.c.
References SCIP_Stat::rootlpbestestimate, SCIP_Real, SCIPstatDebugMsg, SCIPvarGetMinPseudocostScore(), SCIPvarGetName(), SCIPvarGetRootSol(), and SCIPvarIsIntegral().
Referenced by SCIPprobStoreRootSol().
SCIP_RETCODE SCIPstatUpdateVarRootLPBestEstimate | ( | SCIP_STAT * | stat, |
SCIP_SET * | set, | ||
SCIP_VAR * | var, | ||
SCIP_Real | oldrootpscostscore | ||
) |
update root LP best-estimate with changed variable pseudo-costs
stat | SCIP statistics |
set | global SCIP settings |
var | variable with changed pseudo costs |
oldrootpscostscore | old minimum pseudo cost score of variable |
Definition at line 696 of file stat.c.
References SCIP_Stat::rootlpbestestimate, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPsetIsFeasIntegral(), SCIPstatDebugMsg, SCIPvarGetMinPseudocostScore(), SCIPvarGetName(), SCIPvarGetRootSol(), and SCIPvarGetStatus().
Referenced by SCIPvarUpdatePseudocost().
void SCIPstatPrintDebugMessage | ( | SCIP_STAT * | stat, |
const char * | sourcefile, | ||
int | sourceline, | ||
const char * | formatstr, | ||
... | |||
) |
prints a debug message
stat | SCIP statistics |
sourcefile | name of the source file that called the function |
sourceline | line in the source file where the function was called |
formatstr | format string like in printf() function |
Definition at line 731 of file stat.c.
References NULL, and SCIP_Stat::subscipdepth.