SCIP Doxygen Documentation
 
Loading...
Searching...
No Matches

Detailed Description

methods and datastructures for displaying runtime statistics

Author
Tobias Achterberg
Timo Berthold

Definition in file disp.c.

#include <stdio.h>
#include <assert.h>
#include <string.h>
#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/set.h"
#include "scip/stat.h"
#include "scip/scip.h"
#include "scip/disp.h"
#include "scip/pub_message.h"
#include "scip/pub_misc.h"
#include "scip/syncstore.h"
#include "scip/struct_disp.h"

Go to the source code of this file.

Macros

#define MAXDECPOWER   6
 
#define MAXTIMEPOWER   4
 

Functions

 SCIP_DECL_PARAMCHGD (SCIPparamChgdDispActive)
 
SCIP_RETCODE SCIPdispCopyInclude (SCIP_DISP *disp, SCIP_SET *set)
 
static SCIP_RETCODE doDispCreate (SCIP_DISP **disp, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, const char *header, SCIP_DISPSTATUS dispstatus, SCIP_DECL_DISPCOPY((*dispcopy)), SCIP_DECL_DISPFREE((*dispfree)), SCIP_DECL_DISPINIT((*dispinit)), SCIP_DECL_DISPEXIT((*dispexit)), SCIP_DECL_DISPINITSOL((*dispinitsol)), SCIP_DECL_DISPEXITSOL((*dispexitsol)), SCIP_DECL_DISPOUTPUT((*dispoutput)), SCIP_DISPDATA *dispdata, int width, int priority, int position, SCIP_Bool stripline)
 
SCIP_RETCODE SCIPdispCreate (SCIP_DISP **disp, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, const char *header, SCIP_DISPSTATUS dispstatus, SCIP_DECL_DISPCOPY((*dispcopy)), SCIP_DECL_DISPFREE((*dispfree)), SCIP_DECL_DISPINIT((*dispinit)), SCIP_DECL_DISPEXIT((*dispexit)), SCIP_DECL_DISPINITSOL((*dispinitsol)), SCIP_DECL_DISPEXITSOL((*dispexitsol)), SCIP_DECL_DISPOUTPUT((*dispoutput)), SCIP_DISPDATA *dispdata, int width, int priority, int position, SCIP_Bool stripline)
 
SCIP_RETCODE SCIPdispFree (SCIP_DISP **disp, SCIP_SET *set)
 
SCIP_RETCODE SCIPdispInit (SCIP_DISP *disp, SCIP_SET *set)
 
SCIP_RETCODE SCIPdispExit (SCIP_DISP *disp, SCIP_SET *set)
 
SCIP_RETCODE SCIPdispInitsol (SCIP_DISP *disp, SCIP_SET *set)
 
SCIP_RETCODE SCIPdispExitsol (SCIP_DISP *disp, SCIP_SET *set)
 
SCIP_RETCODE SCIPdispOutput (SCIP_DISP *disp, SCIP_SET *set, FILE *file)
 
SCIP_DISPDATASCIPdispGetData (SCIP_DISP *disp)
 
void SCIPdispSetData (SCIP_DISP *disp, SCIP_DISPDATA *dispdata)
 
const char * SCIPdispGetName (SCIP_DISP *disp)
 
const char * SCIPdispGetDesc (SCIP_DISP *disp)
 
const char * SCIPdispGetHeader (SCIP_DISP *disp)
 
int SCIPdispGetWidth (SCIP_DISP *disp)
 
int SCIPdispGetPriority (SCIP_DISP *disp)
 
int SCIPdispGetPosition (SCIP_DISP *disp)
 
SCIP_DISPSTATUS SCIPdispGetStatus (SCIP_DISP *disp)
 
SCIP_Bool SCIPdispIsInitialized (SCIP_DISP *disp)
 
SCIP_RETCODE SCIPdispPrintLine (SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, FILE *file, SCIP_Bool forcedisplay, SCIP_Bool endline)
 
static SCIP_DECL_SORTPTRCOMP (dispComp)
 
SCIP_RETCODE SCIPdispAutoActivate (SCIP_SET *set)
 
void SCIPdispChgMode (SCIP_DISP *disp, SCIP_DISPMODE mode)
 
void SCIPdispLongint (SCIP_MESSAGEHDLR *messagehdlr, FILE *file, SCIP_Longint val, int width)
 
void SCIPdispInt (SCIP_MESSAGEHDLR *messagehdlr, FILE *file, int val, int width)
 
void SCIPdispTime (SCIP_MESSAGEHDLR *messagehdlr, FILE *file, SCIP_Real val, int width)
 

Variables

static const char decpowerchar [] = {' ', 'k', 'M', 'G', 'T', 'P', 'E'}
 
static const char timepowerchar [] = {'s', 'm', 'h', 'd', 'y'}
 
static const SCIP_Real timepowerval [] = {1.0, 60.0, 60.0, 24.0, 365.0}
 

Macro Definition Documentation

◆ MAXDECPOWER

#define MAXDECPOWER   6

Definition at line 578 of file disp.c.

Referenced by SCIPdispLongint().

◆ MAXTIMEPOWER

#define MAXTIMEPOWER   4

Definition at line 640 of file disp.c.

Referenced by SCIPdispTime().

Function Documentation

◆ SCIP_DECL_PARAMCHGD()

SCIP_DECL_PARAMCHGD ( SCIPparamChgdDispActive )

parameter change information method to autoselect display columns again

Definition at line 56 of file disp.c.

References SCIP_CALL, SCIP_OKAY, and SCIPautoselectDisps().

◆ SCIPdispCopyInclude()

SCIP_RETCODE SCIPdispCopyInclude ( SCIP_DISP * disp,
SCIP_SET * set )

copies the given display to a new scip

Parameters
dispdisplay column
setSCIP_SET of SCIP to copy to

Definition at line 65 of file disp.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPdispGetName(), and SCIPsetDebugMsg.

Referenced by SCIPsetCopyPlugins().

◆ doDispCreate()

static SCIP_RETCODE doDispCreate ( SCIP_DISP ** disp,
SCIP_SET * set,
SCIP_MESSAGEHDLR * messagehdlr,
BMS_BLKMEM * blkmem,
const char * name,
const char * desc,
const char * header,
SCIP_DISPSTATUS dispstatus,
SCIP_DECL_DISPCOPY((*dispcopy)) ,
SCIP_DECL_DISPFREE((*dispfree)) ,
SCIP_DECL_DISPINIT((*dispinit)) ,
SCIP_DECL_DISPEXIT((*dispexit)) ,
SCIP_DECL_DISPINITSOL((*dispinitsol)) ,
SCIP_DECL_DISPEXITSOL((*dispexitsol)) ,
SCIP_DECL_DISPOUTPUT((*dispoutput)) ,
SCIP_DISPDATA * dispdata,
int width,
int priority,
int position,
SCIP_Bool stripline )
static

internal method for creating a display column

Parameters
disppointer to store display column
setglobal SCIP settings
messagehdlrmessage handler
blkmemblock memory for parameter settings
namename of display column
descdescription of display column
headerhead line of display column
dispstatusdisplay activation status of display column
dispdatadisplay column data
widthwidth of display column (no. of chars used)
prioritypriority of display column
positionrelative position of display column
striplineshould the column be separated with a line from its right neighbor?

Definition at line 84 of file disp.c.

References assert(), BMSallocMemory, BMSclearMemory, BMSduplicateMemoryArray, FALSE, NULL, paramname, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_DECL_DISPCOPY, SCIP_DECL_DISPEXIT, SCIP_DECL_DISPEXITSOL, SCIP_DECL_DISPFREE, SCIP_DECL_DISPINIT, SCIP_DECL_DISPINITSOL, SCIP_DECL_DISPOUTPUT, SCIP_DISPMODE_DEFAULT, SCIP_DISPSTATUS_ON, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPsetAddIntParam(), and SCIPsnprintf().

Referenced by SCIPdispCreate().

◆ SCIPdispCreate()

SCIP_RETCODE SCIPdispCreate ( SCIP_DISP ** disp,
SCIP_SET * set,
SCIP_MESSAGEHDLR * messagehdlr,
BMS_BLKMEM * blkmem,
const char * name,
const char * desc,
const char * header,
SCIP_DISPSTATUS dispstatus,
SCIP_DECL_DISPCOPY((*dispcopy)) ,
SCIP_DECL_DISPFREE((*dispfree)) ,
SCIP_DECL_DISPINIT((*dispinit)) ,
SCIP_DECL_DISPEXIT((*dispexit)) ,
SCIP_DECL_DISPINITSOL((*dispinitsol)) ,
SCIP_DECL_DISPEXITSOL((*dispexitsol)) ,
SCIP_DECL_DISPOUTPUT((*dispoutput)) ,
SCIP_DISPDATA * dispdata,
int width,
int priority,
int position,
SCIP_Bool stripline )

creates a display column

Parameters
disppointer to store display column
setglobal SCIP settings
messagehdlrmessage handler
blkmemblock memory for parameter settings
namename of display column
descdescription of display column
headerhead line of display column
dispstatusdisplay activation status of display column
dispdatadisplay column data
widthwidth of display column (no. of chars used)
prioritypriority of display column
positionrelative position of display column
striplineshould the column be separated with a line from its right neighbor?

Definition at line 150 of file disp.c.

References assert(), doDispCreate(), NULL, SCIP_Bool, SCIP_CALL_FINALLY, SCIP_DECL_DISPCOPY, SCIP_DECL_DISPEXIT, SCIP_DECL_DISPEXITSOL, SCIP_DECL_DISPFREE, SCIP_DECL_DISPINIT, SCIP_DECL_DISPINITSOL, SCIP_DECL_DISPOUTPUT, SCIP_OKAY, and SCIPdispFree().

Referenced by SCIPincludeDisp().

◆ SCIPdispFree()

SCIP_RETCODE SCIPdispFree ( SCIP_DISP ** disp,
SCIP_SET * set )

frees memory of display column

Parameters
disppointer to display column data structure
setglobal SCIP settings

Definition at line 188 of file disp.c.

References assert(), BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIPdispCreate().

◆ SCIPdispInit()

SCIP_RETCODE SCIPdispInit ( SCIP_DISP * disp,
SCIP_SET * set )

initializes display column

Parameters
dispdisplay column
setglobal SCIP settings

Definition at line 214 of file disp.c.

References assert(), SCIP_Disp::initialized, SCIP_Disp::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, and TRUE.

◆ SCIPdispExit()

SCIP_RETCODE SCIPdispExit ( SCIP_DISP * disp,
SCIP_SET * set )

deinitializes display column

Parameters
dispdisplay column
setglobal SCIP settings

Definition at line 238 of file disp.c.

References assert(), FALSE, SCIP_Disp::initialized, SCIP_Disp::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, and SCIPerrorMessage.

◆ SCIPdispInitsol()

SCIP_RETCODE SCIPdispInitsol ( SCIP_DISP * disp,
SCIP_SET * set )

informs display column that the branch and bound process is being started

Parameters
dispdisplay column
setglobal SCIP settings

Definition at line 262 of file disp.c.

References assert(), NULL, SCIP_CALL, and SCIP_OKAY.

◆ SCIPdispExitsol()

SCIP_RETCODE SCIPdispExitsol ( SCIP_DISP * disp,
SCIP_SET * set )

informs display column that the branch and bound process data is being freed

Parameters
dispdisplay column
setglobal SCIP settings

Definition at line 280 of file disp.c.

References assert(), NULL, SCIP_CALL, and SCIP_OKAY.

◆ SCIPdispOutput()

SCIP_RETCODE SCIPdispOutput ( SCIP_DISP * disp,
SCIP_SET * set,
FILE * file )

output display column to screen

Parameters
dispdisplay column
setglobal SCIP settings
fileoutput file (or NULL for standard output)

Definition at line 298 of file disp.c.

References assert(), NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIPdispPrintLine().

◆ SCIPdispPrintLine()

SCIP_RETCODE SCIPdispPrintLine ( SCIP_SET * set,
SCIP_MESSAGEHDLR * messagehdlr,
SCIP_STAT * stat,
FILE * file,
SCIP_Bool forcedisplay,
SCIP_Bool endline )

prints one line of output with the active display columns

Parameters
setglobal SCIP settings
messagehdlrmessage handler
statproblem statistics data
fileoutput file (or NULL for standard output)
forcedisplayshould the line be printed without regarding frequency?
endlineshould the line be terminated with a newline symbol?

Definition at line 415 of file disp.c.

References assert(), FALSE, i, SCIP_Stat::lastdispnode, SCIP_Stat::ndisplines, SCIP_Stat::nnodes, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VERBLEVEL_NORMAL, SCIPdispOutput(), and SCIPmessageFPrintInfo().

Referenced by priceAndCutLoop(), primalAddSol(), SCIPpriceLoop(), SCIPprintDisplayLine(), and SCIPsolveCIP().

◆ SCIP_DECL_SORTPTRCOMP()

static SCIP_DECL_SORTPTRCOMP ( dispComp )
static

comparison method for display columns

Definition at line 495 of file disp.c.

◆ SCIPdispAutoActivate()

SCIP_RETCODE SCIPdispAutoActivate ( SCIP_SET * set)

activates all display lines fitting in the display w.r. to priority

Parameters
setglobal SCIP settings

Definition at line 501 of file disp.c.

References active, SCIP_Disp::active, assert(), BMSduplicateMemoryArray, BMSfreeMemoryArray, FALSE, i, NULL, SCIP_ALLOC, SCIP_DISPMODE_CONCURRENT, SCIP_DISPMODE_DEFAULT, SCIP_DISPSTATUS_AUTO, SCIP_DISPSTATUS_ON, SCIP_OKAY, SCIPgetSyncstore(), SCIPsortPtr(), SCIPsyncstoreIsInitialized(), TRUE, and SCIP_Disp::width.

Referenced by SCIPautoselectDisps().

◆ SCIPdispChgMode()

void SCIPdispChgMode ( SCIP_DISP * disp,
SCIP_DISPMODE mode )

changes the display column mode

Parameters
dispdisplay column
modethe display column mode

Definition at line 568 of file disp.c.

References SCIP_Disp::mode.

Referenced by SCIPchgDispMode().

Variable Documentation

◆ decpowerchar

const char decpowerchar[] = {' ', 'k', 'M', 'G', 'T', 'P', 'E'}
static

Definition at line 577 of file disp.c.

Referenced by SCIPdispLongint().

◆ timepowerchar

const char timepowerchar[] = {'s', 'm', 'h', 'd', 'y'}
static

Definition at line 638 of file disp.c.

Referenced by SCIPdispTime().

◆ timepowerval

const SCIP_Real timepowerval[] = {1.0, 60.0, 60.0, 24.0, 365.0}
static

Definition at line 639 of file disp.c.

Referenced by SCIPdispTime().