Scippy

    SCIP

    Solving Constraint Integer Programs

    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.

    ◆ MAXTIMEPOWER

    #define MAXTIMEPOWER   4

    Definition at line 640 of file disp.c.

    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 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 BMSallocMemory, BMSclearMemory, BMSduplicateMemoryArray, FALSE, NULL, paramname, SCIP_ALLOC, SCIP_CALL, 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 doDispCreate(), NULL, SCIP_CALL_FINALLY, 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 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 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 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 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 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 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 FALSE, 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, BMSduplicateMemoryArray, BMSfreeMemoryArray, FALSE, 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().