101 (*stat)->marked_nvaridx = 0;
102 (*stat)->marked_ncolidx = 0;
103 (*stat)->marked_nrowidx = 0;
104 (*stat)->subscipdepth = 0;
105 (*stat)->detertimecnt = 0.0;
106 (*stat)->nreoptruns = 0;
394 SCIP_Bool partialreset
422 SCIP_Real primalbound,
424 SCIP_Real upperbound,
437 else if( primalbound * dualbound <= 0.0 )
441 SCIP_Real absprim =
REALABS(primalbound);
442 SCIP_Real absdual =
REALABS(dualbound);
447 gap = 100.0 *
REALABS(primalbound - dualbound) /
MAX(absprim, absdual);
464 SCIP_Real upperbound,
468 SCIP_Real currentgap;
469 SCIP_Real currentdualrefgap;
470 SCIP_Real currentprimalrefgap;
471 SCIP_Real solvingtime;
472 SCIP_Real primalbound;
515 currentgap =
getGap(
set, primalbound, dualbound, upperbound, lowerbound);
518 assert(currentgap == 0.0 || currentgap == 100.0 ||
SCIPsetIsGE(
set, primalbound * dualbound, 0.0));
528 currentdualrefgap =
getGap(
set,
set->misc_referencevalue, dualbound, upperbound, lowerbound);
529 assert(currentdualrefgap == 0.0 || currentdualrefgap == 100.0 ||
SCIPsetIsGE(
set,
set->misc_referencevalue * dualbound, 0.0));
531 currentprimalrefgap =
getGap(
set, primalbound,
set->misc_referencevalue, upperbound, lowerbound);
532 assert(currentprimalrefgap == 0.0 || currentprimalrefgap == 100.0 ||
SCIPsetIsGE(
set, primalbound *
set->misc_referencevalue, 0.0));
536 currentdualrefgap = 100.0;
537 currentprimalrefgap = 100.0;
709 SCIP_Longint memused;
712 if( !stat->
memsavemode && memused >=
set->mem_savefac *
set->limit_memory * 1024.0 * 1024.0 )
717 stat->
nnodes, (SCIP_Real)memused/(1024.0*1024.0),
set->limit_memory);
721 else if( stat->
memsavemode && memused < 0.5 * set->mem_savefac *
set->limit_memory * 1024.0 * 1024.0 )
726 stat->
nnodes, (SCIP_Real)memused/(1024.0*1024.0),
set->limit_memory);
779 SCIP_Real rootlpobjval,
788 for( v = 0; v <
nvars; ++v )
791 SCIP_Real varminpseudoscore;
799 assert(varminpseudoscore >= 0);
811 SCIP_Real oldrootpscostscore
815 SCIP_Real varminpseudoscore;
833 assert(varminpseudoscore >= 0.0);
844 const char* sourcefile,
846 const char* formatstr,
850 const char* filename;
857#if defined(_WIN32) || defined(_WIN64)
858 filename = strrchr(sourcefile,
'\\');
860 filename = strrchr(sourcefile,
'/');
862 if ( filename ==
NULL )
863 filename = sourcefile;
868 printf(
"%d: [%s:%d] debug: ", stat->
subscipdepth, filename, sourceline);
870 printf(
"[%s:%d] debug: ", filename, sourceline);
872 va_start(ap, formatstr);
873 printf(formatstr, ap);
880 const char* formatstr,
888 va_start(ap, formatstr);
889 printf(formatstr, ap);
void SCIPclockEnableOrDisable(SCIP_CLOCK *clck, SCIP_Bool enable)
SCIP_Real SCIPclockGetTime(SCIP_CLOCK *clck)
void SCIPclockReset(SCIP_CLOCK *clck)
void SCIPclockFree(SCIP_CLOCK **clck)
SCIP_RETCODE SCIPclockCreate(SCIP_CLOCK **clck, SCIP_CLOCKTYPE clocktype)
internal methods for clocks and timing issues
#define SCIP_DEFAULT_INFINITY
#define SCIP_LONGINT_FORMAT
SCIP_VARSTATUS SCIPvarGetStatus(SCIP_VAR *var)
const char * SCIPvarGetName(SCIP_VAR *var)
SCIP_Real SCIPvarGetRootSol(SCIP_VAR *var)
SCIP_Bool SCIPvarIsIntegral(SCIP_VAR *var)
void SCIPregressionFree(SCIP_REGRESSION **regression)
SCIP_RETCODE SCIPregressionCreate(SCIP_REGRESSION **regression)
void SCIPregressionReset(SCIP_REGRESSION *regression)
assert(minobj< SCIPgetCutoffbound(scip))
void SCIPhistoryReset(SCIP_HISTORY *history)
SCIP_RETCODE SCIPhistoryCreate(SCIP_HISTORY **history, BMS_BLKMEM *blkmem)
void SCIPhistoryFree(SCIP_HISTORY **history, BMS_BLKMEM *blkmem)
internal methods for branching and inference history
SCIP_Longint SCIPmemGetTotal(SCIP_MEM *mem)
methods for block memory pools and memory buffers
#define BMSfreeMemory(ptr)
struct BMS_BlkMem BMS_BLKMEM
#define BMSallocMemory(ptr)
void SCIPmessagePrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, const char *formatstr,...)
SCIP_Real SCIPprobExternObjval(SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval)
SCIP_Real SCIPprobInternObjval(SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval)
internal methods for storing and manipulating the main problem
public methods for message output
public data structures and miscellaneous methods
public methods for problem variables
SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Real SCIPsetInfinity(SCIP_SET *set)
SCIP_Bool SCIPsetIsLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
SCIP_Real SCIPsetGetReferencevalue(SCIP_SET *set)
SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
internal methods for global SCIP settings
void SCIPstatUpdatePrimalDualIntegrals(SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_Real upperbound, SCIP_Real lowerbound)
void SCIPstatComputeRootLPBestEstimate(SCIP_STAT *stat, SCIP_SET *set, SCIP_Real rootlpobjval, SCIP_VAR **vars, int nvars)
void SCIPstatMark(SCIP_STAT *stat)
SCIP_Real SCIPstatGetPrimalReferenceIntegral(SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_Bool update)
SCIP_RETCODE SCIPstatUpdateVarRootLPBestEstimate(SCIP_STAT *stat, SCIP_SET *set, SCIP_VAR *var, SCIP_Real oldrootpscostscore)
void SCIPstatResetImplications(SCIP_STAT *stat)
void SCIPstatResetDisplay(SCIP_STAT *stat)
void SCIPstatPrintDebugMessage(SCIP_STAT *stat, const char *sourcefile, int sourceline, const char *formatstr,...)
static SCIP_Real getGap(SCIP_SET *set, SCIP_Real primalbound, SCIP_Real dualbound, SCIP_Real upperbound, SCIP_Real lowerbound)
SCIP_Real SCIPstatGetDualReferenceIntegral(SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_Bool update)
SCIP_RETCODE SCIPstatFree(SCIP_STAT **stat, BMS_BLKMEM *blkmem)
void SCIPstatResetPrimalDualIntegrals(SCIP_STAT *stat, SCIP_SET *set, SCIP_Bool partialreset)
void SCIPstatResetPresolving(SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob)
void SCIPstatReset(SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob)
void SCIPstatEnableOrDisableStatClocks(SCIP_STAT *stat, SCIP_Bool enable)
void SCIPstatEnableVarHistory(SCIP_STAT *stat)
void SCIPstatEnforceLPUpdates(SCIP_STAT *stat)
void SCIPstatUpdateMemsaveMode(SCIP_STAT *stat, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_MEM *mem)
void SCIPstatDisableVarHistory(SCIP_STAT *stat)
void SCIPstatResetCurrentRun(SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_Bool solved)
SCIP_RETCODE SCIPstatCreate(SCIP_STAT **stat, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_MESSAGEHDLR *messagehdlr)
SCIP_Longint SCIPstatGetMemExternEstim(SCIP_STAT *stat)
SCIP_Real SCIPstatGetPrimalDualIntegral(SCIP_STAT *stat, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_Bool update)
void SCIPstatDebugMessagePrint(SCIP_STAT *stat, const char *formatstr,...)
internal methods for problem statistics
SCIP_Longint nlexdualresolvelpiterations
SCIP_Longint ntotalnodesmerged
SCIP_Longint nearlybacktracks
SCIP_Longint ndualresolvelpiterations
SCIP_Longint nrootstrongbranchs
SCIP_Longint nprimalresolvelpiterations
SCIP_Longint nactiveconssadded
SCIP_Real dualrefintegral
SCIP_Longint nrelaxsolsfound
SCIP_CLOCK * strongpropclock
SCIP_Longint nsbdowndomchgs
SCIP_Longint nprimalzeroitlps
SCIP_Longint exprlastsoltag
SCIP_REGRESSION * regressioncandsobjval
SCIP_Longint nsblpiterations
SCIP_CLOCK * strongbranchtime
SCIP_Real previousdualrefgap
SCIP_Longint exprlastvisitedtag
SCIP_Bool disableenforelaxmsg
SCIP_CLOCK * barrierlptime
SCIP_Longint ninfeasleaves
SCIP_Longint nrepropcutoffs
SCIP_Longint nduallpiterations
SCIP_Longint ncreatednodesrun
SCIP_Longint ndelayedcutoffs
SCIP_CLOCK * nodeactivationtime
SCIP_Longint externmemestim
SCIP_Longint ndualresolvelps
SCIP_Real rootlpbestestimate
SCIP_Longint nbarrierlpiterations
SCIP_Longint nconflictlps
SCIP_LPSOLSTAT lastsblpsolstats[2]
SCIP_CLOCK * divinglptime
SCIP_Longint nrootsblpiterations
SCIP_Longint ndivesetlpiterations
SCIP_Longint nprobholechgs
SCIP_CLOCK * presolvingtime
SCIP_Longint nrootfirstlpiterations
SCIP_Longint ninitconssadded
SCIP_Real previousprimalrefgap
SCIP_Longint nlpiterations
SCIP_Longint nprimalresolvelps
SCIP_Longint exprlastdifftag
SCIP_Longint ndivinglpiterations
SCIP_Longint nsbsolsfound
SCIP_Longint lastdivenode
SCIP_Longint nlexdualresolvelps
SCIP_HISTORY * glbhistory
SCIP_Longint ndeactivatednodes
SCIP_Longint nrepropboundchgs
SCIP_Longint nnodesaboverefbound
SCIP_Real firstlpdualbound
SCIP_Longint nlexduallpiterations
SCIP_Longint nrootlpiterations
SCIP_Longint nnumtroublelpmsgs
SCIP_CLOCK * resolveinstablelptime
SCIP_Real firstprimaltime
SCIP_Longint ninternalnodes
SCIP_Longint lastdispnode
SCIP_CLOCK * relaxsoltime
SCIP_Longint lastconflictnode
SCIP_Real primalrefintegral
SCIP_Longint ntotalinternalnodes
SCIP_HEUR * firstprimalheur
SCIP_BRANCHDIR lastbranchdir
SCIP_CLOCK * pseudosoltime
SCIP_Longint nnodesbeforefirst
SCIP_Longint nlpbestsolsfound
SCIP_Longint nrelaxbestsolsfound
SCIP_Longint npsbestsolsfound
SCIP_Real barrierzeroittime
SCIP_Longint totaldivesetdepth
SCIP_Longint nresolveinstablelps
SCIP_Real previntegralevaltime
SCIP_Bool collectvarhistory
SCIP_Longint nexternalsolsfound
SCIP_Longint nisstoppedcalls
SCIP_Longint ndualzeroitlps
SCIP_Longint nsbdivinglps
SCIP_Longint nnodelpiterations
SCIP_Real lastprimalbound
SCIP_Longint nactivatednodes
SCIP_HISTORY * glbhistorycrun
SCIP_Longint nsbbestsolsfound
SCIP_Longint nsbtimesiterlimhit
SCIP_Real primalzeroittime
SCIP_CLOCK * primallptime
SCIP_Longint nnodezeroitlps
SCIP_Longint nconflictlpiterations
SCIP_Longint nstrongbranchs
SCIP_Longint npssolsfound
SCIP_Longint nbarrierzeroitlps
SCIP_Longint nprimallpiterations
SCIP_Bool branchedunbdvar
SCIP_Real primaldualintegral
SCIP_Longint nlpsolsfound
SCIP_Longint nsbupdomchgs
SCIP_Longint nresolveinstablelpiters
SCIP_Real lastbranchvalue
SCIP_Longint ninitlpiterations
SCIP_Longint nprobboundchgs
SCIP_Longint ncreatednodes
SCIP_CLOCK * conflictlptime
SCIP_Longint nsbdivinglpiterations
SCIP_Real firstprimalbound
SCIP_CLOCK * lexduallptime
datastructures for global SCIP settings
datastructures for problem statistics
@ SCIP_BRANCHDIR_DOWNWARDS
@ SCIP_LPSOLSTAT_NOTSOLVED
enum SCIP_Retcode SCIP_RETCODE
SCIP_Real SCIPvarGetMinPseudocostScore(SCIP_VAR *var, SCIP_STAT *stat, SCIP_SET *set, SCIP_Real solval)
internal methods for problem variables
void SCIPvisualFree(SCIP_VISUAL **visual)
SCIP_RETCODE SCIPvisualCreate(SCIP_VISUAL **visual, SCIP_MESSAGEHDLR *messagehdlr)
methods for creating output for visualization tools (VBC, BAK)