Scippy

SCIP

Solving Constraint Integer Programs

stat.h File Reference

Detailed Description

internal methods for problem statistics

Author
Tobias Achterberg

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
 

Functions

SCIP_RETCODE SCIPstatCreate (SCIP_STAT **stat, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_MESSAGEHDLR *messagehdlr)
 
SCIP_RETCODE SCIPstatFree (SCIP_STAT **stat, BMS_BLKMEM *blkmem)
 
void SCIPstatDisableVarHistory (SCIP_STAT *stat)
 
void SCIPstatEnableVarHistory (SCIP_STAT *stat)
 
void SCIPstatMark (SCIP_STAT *stat)
 
void SCIPstatReset (SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob)
 
void SCIPstatResetImplications (SCIP_STAT *stat)
 
void SCIPstatResetPresolving (SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob)
 
void SCIPstatResetPrimalDualIntegrals (SCIP_STAT *stat, SCIP_SET *set, SCIP_Bool partialreset)
 
void SCIPstatUpdatePrimalDualIntegrals (SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_Real primalbound, SCIP_Real dualbound)
 
SCIP_Real SCIPstatGetDualReferenceIntegral (SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_Bool update)
 
SCIP_Real SCIPstatGetPrimalReferenceIntegral (SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_Bool update)
 
SCIP_Real SCIPstatGetPrimalDualIntegral (SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_Bool update)
 
void SCIPstatResetCurrentRun (SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_Bool solved)
 
void SCIPstatResetDisplay (SCIP_STAT *stat)
 
void SCIPstatEnforceLPUpdates (SCIP_STAT *stat)
 
void SCIPstatUpdateMemsaveMode (SCIP_STAT *stat, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_MEM *mem)
 
SCIP_Longint SCIPstatGetMemExternEstim (SCIP_STAT *stat)
 
void SCIPstatEnableOrDisableStatClocks (SCIP_STAT *stat, SCIP_Bool enable)
 
void SCIPstatComputeRootLPBestEstimate (SCIP_STAT *stat, SCIP_SET *set, SCIP_Real rootlpobjval, SCIP_VAR **vars, int nvars)
 
SCIP_RETCODE SCIPstatUpdateVarRootLPBestEstimate (SCIP_STAT *stat, SCIP_SET *set, SCIP_VAR *var, SCIP_Real oldrootpscostscore)
 
void SCIPstatPrintDebugMessage (SCIP_STAT *stat, const char *sourcefile, int sourceline, const char *formatstr,...)
 
void SCIPstatDebugMessagePrint (SCIP_STAT *stat, const char *formatstr,...)
 

Macro Definition Documentation

◆ SCIPupdateDeterministicTimeCount

#define SCIPupdateDeterministicTimeCount (   stat,
  set,
  val 
)
Value:
do { \
(stat)->detertimecnt += (val); \
if( (stat)->detertimecnt > 10000.0 ) { \
SCIP_CALL_ABORT( SCIPincrementConcurrentTime( (set)->scip, (stat)->detertimecnt ) ); \
(stat)->detertimecnt = 0.0; \
}\
} while(0) \
SCIP_RETCODE SCIPincrementConcurrentTime(SCIP *scip, SCIP_Real val)
Definition: concurrent.c:189

Definition at line 231 of file stat.h.

◆ SCIPstatUpdate

#define SCIPstatUpdate (   stat,
  set,
  field,
  val 
)
Value:
do { \
switch( offsetof(SCIP_STAT, field) ) \
{ \
default: \
break; \
case offsetof(SCIP_STAT, nprimalresolvelpiterations): \
SCIPupdateDeterministicTimeCount(stat, set, 0.00328285264101 * ((val) - (stat)->field) * (stat)->nnz ); \
break; \
case offsetof(SCIP_STAT, ndualresolvelpiterations): \
SCIPupdateDeterministicTimeCount(stat, set, 0.00531625104146 * ((val) - (stat)->field) * (stat)->nnz ); \
break; \
case offsetof(SCIP_STAT, nprobboundchgs): \
SCIPupdateDeterministicTimeCount(stat, set, 0.000738719124051 * ((val) - (stat)->field) * (stat)->nnz ); \
break; \
case offsetof(SCIP_STAT, nisstoppedcalls): \
SCIPupdateDeterministicTimeCount(stat, set, 0.0011123144764 * ((val) - (stat)->field) * (stat)->nnz ); \
} \
(stat)->field = (val); \
} while(0)
#define SCIPupdateDeterministicTimeCount(stat, set, val)
Definition: stat.h:231
Definition: heur_padm.c:132

Definition at line 239 of file stat.h.

Referenced by lpBarrier(), lpDualSimplex(), lpLexDualSimplex(), and lpPrimalSimplex().

◆ SCIPstatIncrement

#define SCIPstatIncrement (   stat,
  set,
  field 
)
Value:
do { \
switch( offsetof(SCIP_STAT, field) ) \
{ \
default: \
break; \
case offsetof(SCIP_STAT, nprimalresolvelpiterations): \
SCIPupdateDeterministicTimeCount(stat, set, 0.00328285264101 * (stat)->nnz ); \
break; \
case offsetof(SCIP_STAT, ndualresolvelpiterations): \
SCIPupdateDeterministicTimeCount(stat, set, 0.00531625104146 * (stat)->nnz ); \
break; \
case offsetof(SCIP_STAT, nprobboundchgs): \
SCIPupdateDeterministicTimeCount(stat, set, 0.000738719124051 * (stat)->nnz ); \
break; \
case offsetof(SCIP_STAT, nisstoppedcalls): \
SCIPupdateDeterministicTimeCount(stat, set, 0.0011123144764 * (stat)->nnz ); \
} \
++(stat)->field; \
} while(0)
#define SCIPupdateDeterministicTimeCount(stat, set, val)
Definition: stat.h:231
Definition: heur_padm.c:132

Definition at line 260 of file stat.h.

Referenced by lpBarrier(), lpDualSimplex(), lpLexDualSimplex(), lpPrimalSimplex(), SCIPcolCreate(), SCIPcolGetStrongbranch(), SCIPcolSetStrongbranchData(), SCIPlpEndDive(), SCIPnodeAddBoundinfer(), SCIProwCreate(), SCIPsolveIsStopped(), SCIPvarAddHoleLocal(), varProcessChgLbLocal(), and varProcessChgUbLocal().

◆ SCIPstatAdd

#define SCIPstatAdd (   stat,
  set,
  field,
  val 
)
Value:
do { \
switch( offsetof(SCIP_STAT, field) ) \
{ \
default: \
break; \
case offsetof(SCIP_STAT, nprimalresolvelpiterations): \
SCIPupdateDeterministicTimeCount(stat, set, 0.00328285264101 * (val) * (stat)->nnz); \
break; \
case offsetof(SCIP_STAT, ndualresolvelpiterations): \
SCIPupdateDeterministicTimeCount(stat, set, 0.00531625104146 * (val) * (stat)->nnz); \
break; \
case offsetof(SCIP_STAT, nprobboundchgs): \
SCIPupdateDeterministicTimeCount(stat, set, 0.000738719124051 * (val) * (stat)->nnz ); \
break; \
case offsetof(SCIP_STAT, nisstoppedcalls): \
SCIPupdateDeterministicTimeCount(stat, set, 0.0011123144764 * (val) * (stat)->nnz ); \
} \
(stat)->field += (val); \
} while(0)
#define SCIPupdateDeterministicTimeCount(stat, set, val)
Definition: stat.h:231
Definition: heur_padm.c:132

Definition at line 280 of file stat.h.

Referenced by lpBarrier(), lpDualSimplex(), lpLexDualSimplex(), lpPrimalSimplex(), performStrongbranchWithPropagation(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), and SCIPcolSetStrongbranchData().

◆ SCIPstatDebugMsg

#define SCIPstatDebugMsg   while ( FALSE ) SCIPstatDebugMessagePrint

prints a debugging message if SCIP_DEBUG flag is set

Definition at line 322 of file stat.h.

Referenced by SCIPsolLinkNLPSol(), SCIPstatComputeRootLPBestEstimate(), and SCIPstatUpdateVarRootLPBestEstimate().

◆ SCIPstatDebugMsgPrint

#define SCIPstatDebugMsgPrint   while ( FALSE ) SCIPstatDebugMessagePrint

Definition at line 323 of file stat.h.

Function Documentation

◆ SCIPstatCreate()

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

Parameters
statpointer to problem statistics data
blkmemblock memory
setglobal SCIP settings
transprobtransformed problem, or NULL
origproboriginal problem, or NULL
messagehdlrmessage handler

Definition at line 55 of file stat.c.

References BMSallocMemory, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIP_STATUS_UNKNOWN, SCIPclockCreate(), SCIPhistoryCreate(), SCIPregressionCreate(), SCIPstatEnableOrDisableStatClocks(), SCIPstatReset(), and SCIPvisualCreate().

Referenced by copyProb(), and SCIPcreateProb().

◆ SCIPstatFree()

SCIP_RETCODE SCIPstatFree ( SCIP_STAT **  stat,
BMS_BLKMEM blkmem 
)

frees problem statistics data

Parameters
statpointer to problem statistics data
blkmemblock memory

Definition at line 114 of file stat.c.

References BMSfreeMemory, NULL, SCIP_OKAY, SCIPclockFree(), SCIPhistoryFree(), SCIPregressionFree(), and SCIPvisualFree().

Referenced by SCIPfreeProb().

◆ SCIPstatDisableVarHistory()

void SCIPstatDisableVarHistory ( SCIP_STAT stat)

diables the collection of any statistic for a variable

Parameters
statproblem statistics data

Definition at line 156 of file stat.c.

References SCIP_Stat::collectvarhistory, FALSE, and NULL.

Referenced by SCIPdisableVarHistory(), and SCIPstartProbing().

◆ SCIPstatEnableVarHistory()

void SCIPstatEnableVarHistory ( SCIP_STAT stat)

enables the collection of statistics for a variable

Parameters
statproblem statistics data

Definition at line 166 of file stat.c.

References SCIP_Stat::collectvarhistory, NULL, and TRUE.

Referenced by SCIPenableVarHistory(), and SCIPendProbing().

◆ SCIPstatMark()

void SCIPstatMark ( SCIP_STAT stat)

marks statistics to be able to reset them when solving process is freed

Parameters
statproblem statistics data

Definition at line 176 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 freeReoptSolve(), prepareReoptimization(), and SCIPtransformProb().

◆ SCIPstatReset()

void SCIPstatReset ( SCIP_STAT stat,
SCIP_SET set,
SCIP_PROB transprob,
SCIP_PROB origprob 
)

reset statistics to the data before solving started

Parameters
statproblem statistics data
setglobal SCIP settings
transprobtransformed problem, or NULL
origproboriginal problem, or NULL

Definition at line 188 of file stat.c.

References SCIP_Stat::avgnnz, SCIP_Stat::barrierlptime, SCIP_Stat::barrierzeroittime, SCIP_Stat::bestefficacy, SCIP_Stat::branchedunbdvar, SCIP_Stat::collectvarhistory, SCIP_Stat::conflictlptime, SCIP_Stat::copyclock, SCIP_Stat::disableenforelaxmsg, SCIP_Stat::divinglptime, SCIP_Stat::domchgcount, SCIP_Stat::duallptime, SCIP_Stat::dualzeroittime, SCIP_Stat::exprlastdifftag, SCIP_Stat::exprlastsoltag, SCIP_Stat::exprlastvisitedtag, 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::inrestart, 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::minefficacyfac, SCIP_Stat::nactiveconss, SCIP_Stat::nactiveconssadded, SCIP_Stat::nactiveexpriter, 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::ncutpoolfails, 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::nnodezeroitlps, 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::nresolveinstablelpiters, SCIP_Stat::nresolveinstablelps, 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::performpresol, SCIP_Stat::presolvingtime, SCIP_Stat::prevrunnvars, SCIP_Stat::primallptime, SCIP_Stat::primalzeroittime, SCIP_Stat::pseudosoltime, SCIP_Stat::relaxcount, SCIP_Stat::relaxsoltime, SCIP_Stat::resolveinstablelptime, SCIP_Stat::sbsoltime, SCIP_DEFAULT_INFINITY, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_UNKNOWN, SCIPclockReset(), SCIPhistoryReset(), SCIPstatResetImplications(), SCIPstatResetPresolving(), SCIPstatResetPrimalDualIntegrals(), SCIP_Stat::solindex, SCIP_Stat::solvingtime, SCIP_Stat::strongbranchtime, SCIP_Stat::strongpropclock, SCIP_Stat::totaldivesetdepth, TRUE, SCIP_Stat::userinterrupt, SCIP_Stat::userrestart, and SCIP_Stat::vsidsweight.

Referenced by freeReoptSolve(), freeTransform(), freeTransforming(), and SCIPstatCreate().

◆ SCIPstatResetImplications()

void SCIPstatResetImplications ( SCIP_STAT stat)

reset implication counter

Parameters
statproblem statistics data

Definition at line 353 of file stat.c.

References SCIP_Stat::nimplications, and NULL.

Referenced by SCIPstatReset().

◆ SCIPstatResetPresolving()

void SCIPstatResetPresolving ( SCIP_STAT stat,
SCIP_SET set,
SCIP_PROB transprob,
SCIP_PROB origprob 
)

reset presolving and current run specific statistics

Parameters
statproblem statistics data
setglobal SCIP settings
transprobtransformed problem, or NULL if not yet existing
origproboriginal problem, or NULL

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

◆ SCIPstatResetPrimalDualIntegrals()

void SCIPstatResetPrimalDualIntegrals ( SCIP_STAT stat,
SCIP_SET set,
SCIP_Bool  partialreset 
)

reset primal-dual, primal-reference, and dual-reference integral

reset primal-dual, primal-reference, and reference-dual integral

Parameters
statproblem statistics data
setglobal SCIP settings
partialresetshould time and integral value be kept? (in combination with no statistical reset, integrals are added for each problem to be solved)

Definition at line 391 of file stat.c.

References SCIP_Stat::dualrefintegral, SCIP_Stat::lastdualbound, SCIP_Stat::lastlowerbound, SCIP_Stat::lastprimalbound, SCIP_Stat::lastupperbound, NULL, SCIP_Stat::previntegralevaltime, SCIP_Stat::previousdualrefgap, SCIP_Stat::previousgap, SCIP_Stat::previousprimalrefgap, SCIP_Stat::primaldualintegral, SCIP_Stat::primalrefintegral, SCIP_UNKNOWN, and SCIPsetInfinity().

Referenced by freeReoptSolve(), freeTransform(), freeTransforming(), and SCIPstatReset().

◆ SCIPstatUpdatePrimalDualIntegrals()

void SCIPstatUpdatePrimalDualIntegrals ( SCIP_STAT stat,
SCIP_SET set,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_Real  upperbound,
SCIP_Real  lowerbound 
)

update the primal-dual, primal-reference, and reference-dual integral statistics. method accepts + and - SCIPsetInfinity() as values for upper and lower bound, respectively

Parameters
statproblem statistics data
setglobal SCIP settings
transprobtransformed problem
origproboriginal problem
upperboundcurrent upper bound in transformed problem, or infinity
lowerboundcurrent lower bound in transformed space, or -infinity

Definition at line 459 of file stat.c.

References SCIP_Stat::dualrefintegral, getGap(), SCIP_Stat::lastdualbound, SCIP_Stat::lastlowerbound, SCIP_Stat::lastprimalbound, SCIP_Stat::lastupperbound, NULL, SCIP_Stat::previntegralevaltime, SCIP_Stat::previousdualrefgap, SCIP_Stat::previousgap, SCIP_Stat::previousprimalrefgap, SCIP_Stat::primaldualintegral, SCIP_Stat::primalrefintegral, REALABS, SCIP_Real, SCIPclockGetTime(), SCIPprobExternObjval(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsZero(), and SCIP_Stat::solvingtime.

Referenced by exitPresolve(), SCIPnodeCutoff(), SCIPnodeUpdateLowerbound(), SCIPsolveCIP(), SCIPstatGetDualReferenceIntegral(), SCIPstatGetPrimalDualIntegral(), SCIPstatGetPrimalReferenceIntegral(), and SCIPstoreSolutionGap().

◆ SCIPstatGetDualReferenceIntegral()

SCIP_Real SCIPstatGetDualReferenceIntegral ( SCIP_STAT stat,
SCIP_SET set,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_Bool  update 
)

optionally update and return the reference-dual integral statistic

Parameters
statproblem statistics data
setglobal SCIP settings
transprobtransformed problem
origproboriginal problem
updateshould the value be updated first?

Definition at line 552 of file stat.c.

References SCIP_Stat::dualrefintegral, NULL, SCIPsetInfinity(), and SCIPstatUpdatePrimalDualIntegrals().

Referenced by SCIPprintSolutionStatistics().

◆ SCIPstatGetPrimalReferenceIntegral()

SCIP_Real SCIPstatGetPrimalReferenceIntegral ( SCIP_STAT stat,
SCIP_SET set,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_Bool  update 
)

optionally update and return the primal-reference integral statistic

Parameters
statproblem statistics data
setglobal SCIP settings
transprobtransformed problem
origproboriginal problem
updateshould the value be updated first?

Definition at line 573 of file stat.c.

References NULL, SCIP_Stat::primalrefintegral, SCIPsetInfinity(), and SCIPstatUpdatePrimalDualIntegrals().

Referenced by SCIPprintSolutionStatistics().

◆ SCIPstatGetPrimalDualIntegral()

SCIP_Real SCIPstatGetPrimalDualIntegral ( SCIP_STAT stat,
SCIP_SET set,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_Bool  update 
)

optionally update and return the primal-dual integral statistic

Parameters
statproblem statistics data
setglobal SCIP settings
transprobtransformed problem
origproboriginal problem
updateshould the value be updated first?

Definition at line 594 of file stat.c.

References NULL, SCIP_Stat::primaldualintegral, SCIPsetInfinity(), and SCIPstatUpdatePrimalDualIntegrals().

Referenced by SCIPprintSolutionStatistics().

◆ SCIPstatResetCurrentRun()

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

Parameters
statproblem statistics data
setglobal SCIP settings
transprobtransformed problem, or NULL
origproboriginal problem, or NULL
solvedis problem already solved?

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

◆ SCIPstatResetDisplay()

void SCIPstatResetDisplay ( SCIP_STAT stat)

resets display statistics, such that a new header line is displayed before the next display line

Parameters
statproblem statistics data

Definition at line 676 of file stat.c.

References SCIP_Stat::lastdispnode, SCIP_Stat::ndisplines, and NULL.

Referenced by SCIPsolve(), and SCIPstatResetCurrentRun().

◆ SCIPstatEnforceLPUpdates()

void SCIPstatEnforceLPUpdates ( SCIP_STAT stat)

increases LP count, such that all lazy updates depending on the LP are enforced again

Parameters
statproblem statistics data

Definition at line 687 of file stat.c.

References SCIP_Stat::lpcount, and NULL.

Referenced by initSolve().

◆ SCIPstatUpdateMemsaveMode()

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

Parameters
statproblem statistics data
setglobal SCIP settings
messagehdlrmessage handler
memblock memory pools

Definition at line 697 of file stat.c.

References FALSE, SCIP_Stat::memsavemode, SCIP_Stat::nnodes, NULL, SCIP_Longint, SCIP_Real, SCIP_VERBLEVEL_HIGH, SCIPmemGetTotal(), SCIPmessagePrintVerbInfo(), SCIPsetIsLT(), and TRUE.

Referenced by SCIPsolveCIP().

◆ SCIPstatGetMemExternEstim()

SCIP_Longint SCIPstatGetMemExternEstim ( SCIP_STAT stat)

returns the estimated number of bytes used by extern software, e.g., the LP solver

Parameters
statdynamic SCIP statistics

Definition at line 736 of file stat.c.

References SCIP_Stat::externmemestim.

Referenced by SCIPgetMemExternEstim().

◆ SCIPstatEnableOrDisableStatClocks()

void SCIPstatEnableOrDisableStatClocks ( SCIP_STAT stat,
SCIP_Bool  enable 
)

enables or disables all statistic clocks of stat concerning LP execution time, strong branching time, etc.

Note
: The (pre-)solving time clocks which are relevant for the output during (pre-)solving are not affected by this method
See also
: For completely disabling all timing of SCIP, consider setting the parameter timing/enabled to FALSE
Parameters
statSCIP statistics
enableshould the LP clocks be enabled?

Definition at line 750 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::resolveinstablelptime, SCIP_Stat::sbsoltime, SCIPclockEnableOrDisable(), SCIP_Stat::strongbranchtime, and SCIP_Stat::strongpropclock.

Referenced by SCIPenableOrDisableStatisticTiming(), and SCIPstatCreate().

◆ SCIPstatComputeRootLPBestEstimate()

void SCIPstatComputeRootLPBestEstimate ( SCIP_STAT stat,
SCIP_SET set,
SCIP_Real  rootlpobjval,
SCIP_VAR **  vars,
int  nvars 
)

recompute root LP best-estimate from scratch

Parameters
statSCIP statistics
setglobal SCIP settings
rootlpobjvalroot LP objective value
varsproblem variables
nvarsnumber of variables

Definition at line 776 of file stat.c.

References SCIP_Stat::rootlpbestestimate, SCIP_Real, SCIPstatDebugMsg, SCIPvarGetMinPseudocostScore(), SCIPvarGetName(), SCIPvarGetRootSol(), and SCIPvarIsIntegral().

Referenced by SCIPprobStoreRootSol().

◆ SCIPstatUpdateVarRootLPBestEstimate()

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

Parameters
statSCIP statistics
setglobal SCIP settings
varvariable with changed pseudo costs
oldrootpscostscoreold minimum pseudo cost score of variable

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

◆ SCIPstatPrintDebugMessage()

void SCIPstatPrintDebugMessage ( SCIP_STAT stat,
const char *  sourcefile,
int  sourceline,
const char *  formatstr,
  ... 
)

prints a debug message

Parameters
statSCIP statistics
sourcefilename of the source file that called the function
sourcelineline in the source file where the function was called
formatstrformat string like in printf() function

Definition at line 842 of file stat.c.

References NULL, and SCIP_Stat::subscipdepth.

◆ SCIPstatDebugMessagePrint()

void SCIPstatDebugMessagePrint ( SCIP_STAT stat,
const char *  formatstr,
  ... 
)

prints a debug message without precode

Parameters
statSCIP statistics
formatstrformat string like in printf() function

Definition at line 878 of file stat.c.

References NULL.