Scippy

    SCIP

    Solving Constraint Integer Programs

    table_default.c
    Go to the documentation of this file.
    1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    2/* */
    3/* This file is part of the program and library */
    4/* SCIP --- Solving Constraint Integer Programs */
    5/* */
    6/* Copyright (c) 2002-2025 Zuse Institute Berlin (ZIB) */
    7/* */
    8/* Licensed under the Apache License, Version 2.0 (the "License"); */
    9/* you may not use this file except in compliance with the License. */
    10/* You may obtain a copy of the License at */
    11/* */
    12/* http://www.apache.org/licenses/LICENSE-2.0 */
    13/* */
    14/* Unless required by applicable law or agreed to in writing, software */
    15/* distributed under the License is distributed on an "AS IS" BASIS, */
    16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
    17/* See the License for the specific language governing permissions and */
    18/* limitations under the License. */
    19/* */
    20/* You should have received a copy of the Apache-2.0 license */
    21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
    22/* */
    23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    24
    25/**@file table_default.c
    26 * @ingroup DEFPLUGINS_TABLE
    27 * @brief default statistics tables
    28 * @author Tristan Gally
    29 */
    30
    31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    32
    33#include "scip/pub_message.h"
    34#include "scip/pub_table.h"
    36#include "scip/scip_table.h"
    37#include "scip/table_default.h"
    38
    39
    40#define TABLE_NAME_STATUS "status"
    41#define TABLE_DESC_STATUS "status statistics table"
    42#define TABLE_POSITION_STATUS 0 /**< the position of the statistics table */
    43#define TABLE_EARLIEST_STAGE_STATUS SCIP_STAGE_INIT /**< output of the statistics table is only printed from this stage onwards */
    44
    45#define TABLE_NAME_TIMING "timing"
    46#define TABLE_DESC_TIMING "timing statistics table"
    47#define TABLE_POSITION_TIMING 1000 /**< the position of the statistics table */
    48#define TABLE_EARLIEST_STAGE_TIMING SCIP_STAGE_PROBLEM /**< output of the statistics table is only printed from this stage onwards */
    49
    50#define TABLE_NAME_ORIGPROB "origprob"
    51#define TABLE_DESC_ORIGPROB "original problem statistics table"
    52#define TABLE_POSITION_ORIGPROB 2000 /**< the position of the statistics table */
    53#define TABLE_EARLIEST_STAGE_ORIGPROB SCIP_STAGE_PROBLEM /**< output of the statistics table is only printed from this stage onwards */
    54
    55#define TABLE_NAME_TRANSPROB "presolvedprob"
    56#define TABLE_DESC_TRANSPROB "presolved problem statistics table"
    57#define TABLE_POSITION_TRANSPROB 3000 /**< the position of the statistics table */
    58#define TABLE_EARLIEST_STAGE_TRANSPROB SCIP_STAGE_TRANSFORMED /**< output of the statistics table is only printed from this stage onwards */
    59
    60#define TABLE_NAME_PRESOL "presolver"
    61#define TABLE_DESC_PRESOL "presolver statistics table"
    62#define TABLE_POSITION_PRESOL 4000 /**< the position of the statistics table */
    63#define TABLE_EARLIEST_STAGE_PRESOL SCIP_STAGE_TRANSFORMED /**< output of the statistics table is only printed from this stage onwards */
    64
    65#define TABLE_NAME_CONS "constraint"
    66#define TABLE_DESC_CONS "constraint statistics table"
    67#define TABLE_POSITION_CONS 5000 /**< the position of the statistics table */
    68#define TABLE_EARLIEST_STAGE_CONS SCIP_STAGE_TRANSFORMED /**< output of the statistics table is only printed from this stage onwards */
    69
    70#define TABLE_NAME_CONSTIMING "constiming"
    71#define TABLE_DESC_CONSTIMING "constraint timing statistics table"
    72#define TABLE_POSITION_CONSTIMING 6000 /**< the position of the statistics table */
    73#define TABLE_EARLIEST_STAGE_CONSTIMING SCIP_STAGE_TRANSFORMED /**< output of the statistics table is only printed from this stage onwards */
    74
    75#define TABLE_NAME_PROP "propagator"
    76#define TABLE_DESC_PROP "propagator statistics table"
    77#define TABLE_POSITION_PROP 7000 /**< the position of the statistics table */
    78#define TABLE_EARLIEST_STAGE_PROP SCIP_STAGE_TRANSFORMED /**< output of the statistics table is only printed from this stage onwards */
    79
    80#define TABLE_NAME_CONFLICT "conflict"
    81#define TABLE_DESC_CONFLICT "conflict statistics table"
    82#define TABLE_POSITION_CONFLICT 8000 /**< the position of the statistics table */
    83#define TABLE_EARLIEST_STAGE_CONFLICT SCIP_STAGE_TRANSFORMED /**< output of the statistics table is only printed from this stage onwards */
    84
    85#define TABLE_NAME_SEPA "separator"
    86#define TABLE_DESC_SEPA "separator statistics table"
    87#define TABLE_POSITION_SEPA 9000 /**< the position of the statistics table */
    88#define TABLE_EARLIEST_STAGE_SEPA SCIP_STAGE_SOLVING /**< output of the statistics table is only printed from this stage onwards */
    89
    90#define TABLE_NAME_CUTSEL "cutsel"
    91#define TABLE_DESC_CUTSEL "cutsel statistics table"
    92#define TABLE_POSITION_CUTSEL 9500 /**< the position of the statistics table */
    93#define TABLE_EARLIEST_STAGE_CUTSEL SCIP_STAGE_SOLVING /**< output of the statistics table is only printed from this stage onwards */
    94
    95#define TABLE_NAME_PRICER "pricer"
    96#define TABLE_DESC_PRICER "pricer statistics table"
    97#define TABLE_POSITION_PRICER 10000 /**< the position of the statistics table */
    98#define TABLE_EARLIEST_STAGE_PRICER SCIP_STAGE_SOLVING /**< output of the statistics table is only printed from this stage onwards */
    99
    100#define TABLE_NAME_BRANCH "branchrules"
    101#define TABLE_DESC_BRANCH "branching rules statistics table"
    102#define TABLE_POSITION_BRANCH 11000 /**< the position of the statistics table */
    103#define TABLE_EARLIEST_STAGE_BRANCH SCIP_STAGE_SOLVING /**< output of the statistics table is only printed from this stage onwards */
    104
    105#define TABLE_NAME_HEUR "heuristics"
    106#define TABLE_DESC_HEUR "heuristics statistics table"
    107#define TABLE_POSITION_HEUR 12000 /**< the position of the statistics table */
    108#define TABLE_EARLIEST_STAGE_HEUR SCIP_STAGE_PRESOLVING /**< output of the statistics table is only printed from this stage onwards */
    109
    110#define TABLE_NAME_COMPRESSION "compression"
    111#define TABLE_DESC_COMPRESSION "compression statistics table"
    112#define TABLE_POSITION_COMPRESSION 13000 /**< the position of the statistics table */
    113#define TABLE_EARLIEST_STAGE_COMPRESSION SCIP_STAGE_PRESOLVING /**< output of the statistics table is only printed from this stage onwards */
    114
    115#define TABLE_NAME_BENDERS "benders"
    116#define TABLE_DESC_BENDERS "benders' decomposition statistics table"
    117#define TABLE_POSITION_BENDERS 14000 /**< the position of the statistics table */
    118#define TABLE_EARLIEST_STAGE_BENDERS SCIP_STAGE_SOLVING /**< output of the statistics table is only printed from this stage onwards */
    119
    120#define TABLE_NAME_EXPRHDLRS "exprhdlr"
    121#define TABLE_DESC_EXPRHDLRS "expression handlers statistics table"
    122#define TABLE_POSITION_EXPRHDLRS 14500 /**< the position of the statistics table */
    123#define TABLE_EARLIEST_STAGE_EXPRHDLRS SCIP_STAGE_TRANSFORMED /**< output of the statistics table is only printed from this stage onwards */
    124
    125#define TABLE_NAME_LP "lp"
    126#define TABLE_DESC_LP "lp statistics table"
    127#define TABLE_POSITION_LP 15000 /**< the position of the statistics table */
    128#define TABLE_EARLIEST_STAGE_LP SCIP_STAGE_SOLVING /**< output of the statistics table is only printed from this stage onwards */
    129
    130#define TABLE_NAME_NLP "nlp"
    131#define TABLE_DESC_NLP "nlp statistics table"
    132#define TABLE_POSITION_NLP 16000 /**< the position of the statistics table */
    133#define TABLE_EARLIEST_STAGE_NLP SCIP_STAGE_SOLVING /**< output of the statistics table is only printed from this stage onwards */
    134
    135#define TABLE_NAME_NLPIS "nlpi"
    136#define TABLE_DESC_NLPIS "NLP solver interfaces statistics table"
    137#define TABLE_POSITION_NLPIS 16500 /**< the position of the statistics table */
    138#define TABLE_EARLIEST_STAGE_NLPIS SCIP_STAGE_TRANSFORMED /**< output of the statistics table is only printed from this stage onwards */
    139
    140#define TABLE_NAME_RELAX "relaxator"
    141#define TABLE_DESC_RELAX "relaxator statistics table"
    142#define TABLE_POSITION_RELAX 17000 /**< the position of the statistics table */
    143#define TABLE_EARLIEST_STAGE_RELAX SCIP_STAGE_SOLVING /**< output of the statistics table is only printed from this stage onwards */
    144
    145#define TABLE_NAME_TREE "tree"
    146#define TABLE_DESC_TREE "tree statistics table"
    147#define TABLE_POSITION_TREE 18000 /**< the position of the statistics table */
    148#define TABLE_EARLIEST_STAGE_TREE SCIP_STAGE_SOLVING /**< output of the statistics table is only printed from this stage onwards */
    149
    150#define TABLE_NAME_ROOT "root"
    151#define TABLE_DESC_ROOT "root statistics table"
    152#define TABLE_POSITION_ROOT 19000 /**< the position of the statistics table */
    153#define TABLE_EARLIEST_STAGE_ROOT SCIP_STAGE_SOLVING /**< output of the statistics table is only printed from this stage onwards */
    154
    155#define TABLE_NAME_SOL "solution"
    156#define TABLE_DESC_SOL "solution statistics table"
    157#define TABLE_POSITION_SOL 20000 /**< the position of the statistics table */
    158#define TABLE_EARLIEST_STAGE_SOL SCIP_STAGE_PRESOLVING /**< output of the statistics table is only printed from this stage onwards */
    159
    160#define TABLE_NAME_CONC "concurrentsolver"
    161#define TABLE_DESC_CONC "concurrent solver statistics table"
    162#define TABLE_POSITION_CONC 21000 /**< the position of the statistics table */
    163#define TABLE_EARLIEST_STAGE_CONC SCIP_STAGE_TRANSFORMED /**< output of the statistics table is only printed from this stage onwards */
    164
    165/*
    166 * Callback methods of statistics table
    167 */
    168
    169/** copy method for statistics table plugins (called when SCIP copies plugins) */
    170static
    171SCIP_DECL_TABLECOPY(tableCopyDefault)
    172{ /*lint --e{715}*/
    173 assert(scip != NULL);
    174 assert(table != NULL);
    175
    176 /* call inclusion method of statistics tables (unless it has already been included by the copy call of the first default table) */
    177 if( SCIPfindTable(scip, SCIPtableGetName(table)) == NULL )
    178 {
    180 }
    181
    182 return SCIP_OKAY;
    183}
    184
    185/** output method of statistics table to output file stream 'file' */
    186static
    187SCIP_DECL_TABLEOUTPUT(tableOutputStatus)
    188{ /*lint --e{715}*/
    189 assert(scip != NULL);
    190 assert(table != NULL);
    191
    193
    194 return SCIP_OKAY;
    195}
    196
    197/** collect method of statistics table to SCIP_DATATREE */
    198static
    199SCIP_DECL_TABLECOLLECT(tableCollectStatus)
    200{ /*lint --e{715}*/
    201 assert(scip != NULL);
    202 assert(table != NULL);
    203
    205
    206 return SCIP_OKAY;
    207}
    208
    209/** output method of statistics table to output file stream 'file' */
    210static
    211SCIP_DECL_TABLEOUTPUT(tableOutputTiming)
    212{ /*lint --e{715}*/
    213 assert(scip != NULL);
    214 assert(table != NULL);
    215
    217
    218 return SCIP_OKAY;
    219}
    220
    221/** collect method of statistics table to SCIP_DATATREE */
    222static
    223SCIP_DECL_TABLECOLLECT(tableCollectTiming)
    224{ /*lint --e{715}*/
    225 assert(scip != NULL);
    226 assert(table != NULL);
    227
    229
    230 return SCIP_OKAY;
    231}
    232
    233/** output method of statistics table to output file stream 'file' */
    234static
    235SCIP_DECL_TABLEOUTPUT(tableOutputOrigProb)
    236{ /*lint --e{715}*/
    237 assert(scip != NULL);
    238 assert(table != NULL);
    239
    241
    242 return SCIP_OKAY;
    243}
    244
    245/** collect method of statistics table to SCIP_DATATREE */
    246static
    247SCIP_DECL_TABLECOLLECT(tableCollectOrigProb)
    248{ /*lint --e{715}*/
    249 assert(scip != NULL);
    250 assert(table != NULL);
    251
    253
    254 return SCIP_OKAY;
    255}
    256
    257/** output method of statistics table to output file stream 'file' */
    258static
    259SCIP_DECL_TABLEOUTPUT(tableOutputTransProb)
    260{ /*lint --e{715}*/
    261 assert(scip != NULL);
    262 assert(table != NULL);
    263
    265
    266 return SCIP_OKAY;
    267}
    268
    269/** collect method of statistics table to SCIP_DATATREE */
    270static
    271SCIP_DECL_TABLECOLLECT(tableCollectTransProb)
    272{ /*lint --e{715}*/
    273 assert(scip != NULL);
    274 assert(table != NULL);
    275
    277
    278 return SCIP_OKAY;
    279}
    280
    281/** output method of statistics table to output file stream 'file' */
    282static
    283SCIP_DECL_TABLEOUTPUT(tableOutputPresol)
    284{ /*lint --e{715}*/
    285 assert(scip != NULL);
    286 assert(table != NULL);
    287
    289
    290 return SCIP_OKAY;
    291}
    292
    293/** collect method of statistics table to SCIP_DATATREE */
    294static
    295SCIP_DECL_TABLECOLLECT(tableCollectPresol)
    296{ /*lint --e{715}*/
    297 assert(scip != NULL);
    298 assert(table != NULL);
    299
    301
    302 return SCIP_OKAY;
    303}
    304
    305/** output method of statistics table to output file stream 'file' */
    306static
    307SCIP_DECL_TABLEOUTPUT(tableOutputCons)
    308{ /*lint --e{715}*/
    309 assert(scip != NULL);
    310 assert(table != NULL);
    311
    313
    314 return SCIP_OKAY;
    315}
    316
    317/** collect method of statistics table to SCIP_DATATREE */
    318static
    319SCIP_DECL_TABLECOLLECT(tableCollectCons)
    320{ /*lint --e{715}*/
    321 assert(scip != NULL);
    322 assert(table != NULL);
    323
    325
    326 return SCIP_OKAY;
    327}
    328
    329/** output method of statistics table to output file stream 'file' */
    330static
    331SCIP_DECL_TABLEOUTPUT(tableOutputConstiming)
    332{ /*lint --e{715}*/
    333 assert(scip != NULL);
    334 assert(table != NULL);
    335
    337
    338 return SCIP_OKAY;
    339}
    340
    341/** collect method of statistics table to SCIP_DATATREE */
    342static
    343SCIP_DECL_TABLECOLLECT(tableCollectConstiming)
    344{ /*lint --e{715}*/
    345 assert(scip != NULL);
    346 assert(table != NULL);
    347
    349
    350 return SCIP_OKAY;
    351}
    352
    353/** output method of statistics table to output file stream 'file' */
    354static
    355SCIP_DECL_TABLEOUTPUT(tableOutputProp)
    356{ /*lint --e{715}*/
    357 assert(scip != NULL);
    358 assert(table != NULL);
    359
    361
    362 return SCIP_OKAY;
    363}
    364
    365/** collect method of statistics table to SCIP_DATATREE */
    366static
    367SCIP_DECL_TABLECOLLECT(tableCollectProp)
    368{ /*lint --e{715}*/
    369 assert(scip != NULL);
    370 assert(table != NULL);
    371
    373
    374 return SCIP_OKAY;
    375}
    376
    377/** output method of statistics table to output file stream 'file' */
    378static
    379SCIP_DECL_TABLEOUTPUT(tableOutputConflict)
    380{ /*lint --e{715}*/
    381 assert(scip != NULL);
    382 assert(table != NULL);
    383
    385
    386 return SCIP_OKAY;
    387}
    388
    389/** collect method of statistics table to SCIP_DATATREE */
    390static
    391SCIP_DECL_TABLECOLLECT(tableCollectConflict)
    392{ /*lint --e{715}*/
    393 assert(scip != NULL);
    394 assert(table != NULL);
    395
    397
    398 return SCIP_OKAY;
    399}
    400
    401/** output method of statistics table to output file stream 'file' */
    402static
    403SCIP_DECL_TABLEOUTPUT(tableOutputSepa)
    404{ /*lint --e{715}*/
    405 assert(scip != NULL);
    406 assert(table != NULL);
    407
    409
    410 return SCIP_OKAY;
    411}
    412
    413/** collect method of statistics table to SCIP_DATATREE */
    414static
    415SCIP_DECL_TABLECOLLECT(tableCollectSepa)
    416{ /*lint --e{715}*/
    417 assert(scip != NULL);
    418 assert(table != NULL);
    419
    421
    422 return SCIP_OKAY;
    423}
    424
    425/** output method of statistics table to output file stream 'file' */
    426static
    427SCIP_DECL_TABLEOUTPUT(tableOutputCutsel)
    428{ /*lint --e{715}*/
    429 assert(scip != NULL);
    430 assert(table != NULL);
    431
    433
    434 return SCIP_OKAY;
    435}
    436
    437/** collect method of statistics table to SCIP_DATATREE */
    438static
    439SCIP_DECL_TABLECOLLECT(tableCollectCutsel)
    440{ /*lint --e{715}*/
    441 assert(scip != NULL);
    442 assert(table != NULL);
    443
    445
    446 return SCIP_OKAY;
    447}
    448
    449/** output method of statistics table to output file stream 'file' */
    450static
    451SCIP_DECL_TABLEOUTPUT(tableOutputPricer)
    452{ /*lint --e{715}*/
    453 assert(scip != NULL);
    454 assert(table != NULL);
    455
    457
    458 return SCIP_OKAY;
    459}
    460
    461/** collect method of statistics table to SCIP_DATATREE */
    462static
    463SCIP_DECL_TABLECOLLECT(tableCollectPricer)
    464{ /*lint --e{715}*/
    465 assert(scip != NULL);
    466 assert(table != NULL);
    467
    469
    470 return SCIP_OKAY;
    471}
    472
    473/** output method of statistics table to output file stream 'file' */
    474static
    475SCIP_DECL_TABLEOUTPUT(tableOutputBranch)
    476{ /*lint --e{715}*/
    477 assert(scip != NULL);
    478 assert(table != NULL);
    479
    481
    482 return SCIP_OKAY;
    483}
    484
    485/** collect method of branching rules statistics to SCIP_DATATREE */
    486static
    487SCIP_DECL_TABLECOLLECT(tableCollectBranch)
    488{ /*lint --e{715}*/
    489 assert(scip != NULL);
    490 assert(table != NULL);
    491
    493
    494 return SCIP_OKAY;
    495}
    496
    497/** output method of statistics table to output file stream 'file' */
    498static
    499SCIP_DECL_TABLEOUTPUT(tableOutputHeur)
    500{ /*lint --e{715}*/
    501 assert(scip != NULL);
    502 assert(table != NULL);
    503
    505
    506 return SCIP_OKAY;
    507}
    508
    509/** collect method of statistics table to SCIP_DATATREE */
    510static
    511SCIP_DECL_TABLECOLLECT(tableCollectHeur)
    512{ /*lint --e{715}*/
    513 assert(scip != NULL);
    514 assert(table != NULL);
    515
    517
    518 return SCIP_OKAY;
    519}
    520
    521/** output method of statistics table to output file stream 'file' */
    522static
    523SCIP_DECL_TABLEOUTPUT(tableOutputCompression)
    524{ /*lint --e{715}*/
    525 assert(scip != NULL);
    526 assert(table != NULL);
    527
    529
    530 return SCIP_OKAY;
    531}
    532
    533/** collect method of statistics table to SCIP_DATATREE */
    534static
    535SCIP_DECL_TABLECOLLECT(tableCollectCompression)
    536{ /*lint --e{715}*/
    537 assert(scip != NULL);
    538 assert(table != NULL);
    539
    541
    542 return SCIP_OKAY;
    543}
    544
    545/** output method of statistics table to output file stream 'file' */
    546static
    548{ /*lint --e{715}*/
    549 assert(scip != NULL);
    550 assert(table != NULL);
    551
    553
    554 return SCIP_OKAY;
    555}
    556
    557/** collect method of statistics table to SCIP_DATATREE */
    558static
    560{ /*lint --e{715}*/
    561 assert(scip != NULL);
    562 assert(table != NULL);
    563
    565
    566 return SCIP_OKAY;
    567}
    568
    569/** output method of statistics table to output file stream 'file' */
    570static
    572{ /*lint --e{715}*/
    573 assert(scip != NULL);
    574 assert(table != NULL);
    575
    577
    578 return SCIP_OKAY;
    579}
    580
    581/** collect method of statistics table to SCIP_DATATREE */
    582static
    584{ /*lint --e{715}*/
    585 assert(scip != NULL);
    586 assert(table != NULL);
    587
    589
    590 return SCIP_OKAY;
    591}
    592
    593/** output method of statistics table to output file stream 'file' */
    594static
    595SCIP_DECL_TABLEOUTPUT(tableOutputRelax)
    596{ /*lint --e{715}*/
    597 assert(scip != NULL);
    598 assert(table != NULL);
    599
    601
    602 return SCIP_OKAY;
    603}
    604
    605/** collect method of statistics table to SCIP_DATATREE */
    606static
    607SCIP_DECL_TABLECOLLECT(tableCollectRelax)
    608{ /*lint --e{715}*/
    609 assert(scip != NULL);
    610 assert(table != NULL);
    611
    613
    614 return SCIP_OKAY;
    615}
    616
    617/** output method of statistics table to output file stream 'file' */
    618static
    619SCIP_DECL_TABLEOUTPUT(tableOutputTree)
    620{ /*lint --e{715}*/
    621 assert(scip != NULL);
    622 assert(table != NULL);
    623
    625
    626 return SCIP_OKAY;
    627}
    628
    629/** collect method of statistics table to SCIP_DATATREE */
    630static
    631SCIP_DECL_TABLECOLLECT(tableCollectTree)
    632{ /*lint --e{715}*/
    633 assert(scip != NULL);
    634 assert(table != NULL);
    635
    637
    638 return SCIP_OKAY;
    639}
    640
    641/** output method of statistics table to output file stream 'file' */
    642static
    643SCIP_DECL_TABLEOUTPUT(tableOutputRoot)
    644{ /*lint --e{715}*/
    645 assert(scip != NULL);
    646 assert(table != NULL);
    647
    649
    650 return SCIP_OKAY;
    651}
    652
    653/** collect method of statistics table to SCIP_DATATREE */
    654static
    655SCIP_DECL_TABLECOLLECT(tableCollectRoot)
    656{ /*lint --e{715}*/
    657 assert(scip != NULL);
    658 assert(table != NULL);
    659
    661
    662 return SCIP_OKAY;
    663}
    664
    665/** output method of statistics table to output file stream 'file' */
    666static
    668{ /*lint --e{715}*/
    669 assert(scip != NULL);
    670 assert(table != NULL);
    671
    673
    674 return SCIP_OKAY;
    675}
    676
    677/** collect method of statistics table to SCIP_DATATREE */
    678static
    680{ /*lint --e{715}*/
    681 assert(scip != NULL);
    682 assert(table != NULL);
    683
    685
    686 return SCIP_OKAY;
    687}
    688
    689/** output method of statistics table to output file stream 'file' */
    690static
    691SCIP_DECL_TABLEOUTPUT(tableOutputConc)
    692{ /*lint --e{715}*/
    693 assert(scip != NULL);
    694 assert(table != NULL);
    695
    697
    698 return SCIP_OKAY;
    699}
    700
    701/** collect method of statistics table to SCIP_DATATREE */
    702static
    703SCIP_DECL_TABLECOLLECT(tableCollectConc)
    704{ /*lint --e{715}*/
    705 assert(scip != NULL);
    706 assert(table != NULL);
    707
    709
    710 return SCIP_OKAY;
    711}
    712
    713/** output method of statistics table to output file stream 'file' */
    714static
    715SCIP_DECL_TABLEOUTPUT(tableOutputBenders)
    716{ /*lint --e{715}*/
    717 assert(scip != NULL);
    718 assert(table != NULL);
    719
    721
    722 return SCIP_OKAY;
    723}
    724
    725/** collect method of statistics table to SCIP_DATATREE */
    726static
    727SCIP_DECL_TABLECOLLECT(tableCollectBenders)
    728{ /*lint --e{715}*/
    729 assert(scip != NULL);
    730 assert(table != NULL);
    731
    733
    734 return SCIP_OKAY;
    735}
    736
    737/** output method of statistics table to output file stream 'file' */
    738static
    739SCIP_DECL_TABLEOUTPUT(tableOutputExprhdlrs)
    740{ /*lint --e{715}*/
    741 assert(scip != NULL);
    742 assert(table != NULL);
    743
    745
    746 return SCIP_OKAY;
    747}
    748
    749/** collect method of statistics table to SCIP_DATATREE */
    750static
    751SCIP_DECL_TABLECOLLECT(tableCollectExprhdlrs)
    752{ /*lint --e{715}*/
    753 assert(scip != NULL);
    754 assert(table != NULL);
    755
    757
    758 return SCIP_OKAY;
    759}
    760
    761/** output method of statistics table to output file stream 'file' */
    762static
    763SCIP_DECL_TABLEOUTPUT(tableOutputNlpis)
    764{ /*lint --e{715}*/
    765 assert(scip != NULL);
    766 assert(table != NULL);
    767
    769
    770 return SCIP_OKAY;
    771}
    772
    773/** collect method of statistics table to SCIP_DATATREE */
    774static
    775SCIP_DECL_TABLECOLLECT(tableCollectNlpis)
    776{ /*lint --e{715}*/
    777 assert(scip != NULL);
    778 assert(table != NULL);
    779
    781
    782 return SCIP_OKAY;
    783}
    784
    785
    786/*
    787 * statistics table specific interface methods
    788 */
    789
    790/** creates the default statistics tables and includes them in SCIP */
    792 SCIP* scip /**< SCIP data structure */
    793 )
    794{
    795 SCIP_TABLE* tmptable;
    796
    798
    799 /* since the default statistics tables are always included all at once in this method,
    800 * they should all be included already if the first one is */
    801 if( tmptable != NULL )
    802 {
    816 assert(SCIPfindTable(scip, TABLE_NAME_LP) != NULL );
    826
    827 return SCIP_OKAY;
    828 }
    829
    831 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputStatus, tableCollectStatus,
    833
    836 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputTiming, tableCollectTiming,
    838
    841 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputOrigProb, tableCollectOrigProb,
    843
    846 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputTransProb, tableCollectTransProb,
    848
    851 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputPresol, tableCollectPresol,
    853
    856 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputCons, tableCollectCons,
    858
    861 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputConstiming, tableCollectConstiming,
    863
    866 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputProp,tableCollectProp,
    868
    871 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputConflict, tableCollectConflict,
    873
    876 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputSepa, tableCollectSepa,
    878
    881 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputCutsel, tableCollectCutsel,
    883
    886 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputPricer, tableCollectPricer,
    888
    891 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputBranch, tableCollectBranch,
    893
    896 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputHeur, tableCollectHeur,
    898
    901 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputCompression, tableCollectCompression,
    903
    906 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputBenders, tableCollectBenders,
    908
    911 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputExprhdlrs, tableCollectExprhdlrs,
    913
    916 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputLP, tableCollectLP,
    918
    921 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputNLP, tableCollectNLP,
    923
    926 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputNlpis, tableCollectNlpis,
    928
    931 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputRelax, tableCollectRelax,
    933
    936 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputTree, tableCollectTree,
    938
    941 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputRoot, tableCollectRoot,
    943
    946 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputSol, tableCollectSol,
    948
    951 tableCopyDefault, NULL, NULL, NULL, NULL, NULL, tableOutputConc, tableCollectConc,
    953
    954 return SCIP_OKAY;
    955}
    #define NULL
    Definition: def.h:248
    #define TRUE
    Definition: def.h:93
    #define SCIP_CALL(x)
    Definition: def.h:355
    void SCIPprintPropagatorStatistics(SCIP *scip, FILE *file)
    void SCIPprintTreeStatistics(SCIP *scip, FILE *file)
    void SCIPprintStatusStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectTimingStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintCompressionStatistics(SCIP *scip, FILE *file)
    void SCIPprintRootStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectRelaxatorStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintConstraintTimingStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectCutselectorStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    SCIP_RETCODE SCIPcollectNLPIStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    SCIP_RETCODE SCIPcollectStatusStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    SCIP_RETCODE SCIPcollectConstraintStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    SCIP_RETCODE SCIPcollectHeuristicStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintSolutionStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectBendersStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintRelaxatorStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectNLPStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintOrigProblemStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectConflictStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    SCIP_RETCODE SCIPcollectSeparatorStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintLPStatistics(SCIP *scip, FILE *file)
    void SCIPprintNLPStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectTreeStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintPricerStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectOrigProblemStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    SCIP_RETCODE SCIPcollectBranchruleStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    SCIP_RETCODE SCIPcollectPricerStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintSeparatorStatistics(SCIP *scip, FILE *file)
    void SCIPprintConcsolverStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectRootStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintNLPIStatistics(SCIP *scip, FILE *file)
    void SCIPprintBranchruleStatistics(SCIP *scip, FILE *file)
    void SCIPprintConflictStatistics(SCIP *scip, FILE *file)
    void SCIPprintExpressionHandlerStatistics(SCIP *scip, FILE *file)
    void SCIPprintBendersStatistics(SCIP *scip, FILE *file)
    void SCIPprintTimingStatistics(SCIP *scip, FILE *file)
    void SCIPprintCutselectorStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectExpressionHandlerStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    SCIP_RETCODE SCIPcollectCompressionStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintConstraintStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectPropagatorStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintPresolverStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectPresolverStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintTransProblemStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectLPStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    SCIP_RETCODE SCIPcollectConcsolverStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    SCIP_RETCODE SCIPcollectConstraintTimingStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    void SCIPprintHeuristicStatistics(SCIP *scip, FILE *file)
    SCIP_RETCODE SCIPcollectTransProblemStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    SCIP_RETCODE SCIPcollectSolutionStatistics(SCIP *scip, SCIP_DATATREE *datatree)
    const char * SCIPtableGetName(SCIP_TABLE *table)
    Definition: table.c:347
    SCIP_TABLE * SCIPfindTable(SCIP *scip, const char *name)
    Definition: scip_table.c:101
    SCIP_RETCODE SCIPincludeTable(SCIP *scip, const char *name, const char *desc, SCIP_Bool active, SCIP_DECL_TABLECOPY((*tablecopy)), SCIP_DECL_TABLEFREE((*tablefree)), SCIP_DECL_TABLEINIT((*tableinit)), SCIP_DECL_TABLEEXIT((*tableexit)), SCIP_DECL_TABLEINITSOL((*tableinitsol)), SCIP_DECL_TABLEEXITSOL((*tableexitsol)), SCIP_DECL_TABLEOUTPUT((*tableoutput)), SCIP_DECL_TABLECOLLECT((*tablecollect)), SCIP_TABLEDATA *tabledata, int position, SCIP_STAGE earlieststage)
    Definition: scip_table.c:62
    SCIP_RETCODE SCIPincludeTableDefault(SCIP *scip)
    public methods for message output
    public methods for displaying statistic tables
    public methods for querying solving statistics
    public methods for statistics table plugins
    #define TABLE_EARLIEST_STAGE_TREE
    #define TABLE_EARLIEST_STAGE_COMPRESSION
    #define TABLE_DESC_NLPIS
    #define TABLE_NAME_NLP
    #define TABLE_EARLIEST_STAGE_BENDERS
    #define TABLE_NAME_SOL
    #define TABLE_POSITION_NLP
    #define TABLE_NAME_RELAX
    #define TABLE_DESC_CONS
    Definition: table_default.c:66
    #define TABLE_POSITION_PRESOL
    Definition: table_default.c:62
    #define TABLE_NAME_COMPRESSION
    #define TABLE_EARLIEST_STAGE_STATUS
    Definition: table_default.c:43
    #define TABLE_NAME_TIMING
    Definition: table_default.c:45
    #define TABLE_DESC_SOL
    #define TABLE_DESC_TRANSPROB
    Definition: table_default.c:56
    #define TABLE_POSITION_ORIGPROB
    Definition: table_default.c:52
    #define TABLE_DESC_CONFLICT
    Definition: table_default.c:81
    #define TABLE_DESC_CUTSEL
    Definition: table_default.c:91
    #define TABLE_DESC_HEUR
    #define TABLE_NAME_CONFLICT
    Definition: table_default.c:80
    #define TABLE_EARLIEST_STAGE_EXPRHDLRS
    #define TABLE_POSITION_BENDERS
    #define TABLE_NAME_PROP
    Definition: table_default.c:75
    #define TABLE_EARLIEST_STAGE_ORIGPROB
    Definition: table_default.c:53
    #define TABLE_NAME_ORIGPROB
    Definition: table_default.c:50
    #define TABLE_POSITION_CUTSEL
    Definition: table_default.c:92
    #define TABLE_DESC_RELAX
    #define TABLE_DESC_PROP
    Definition: table_default.c:76
    #define TABLE_EARLIEST_STAGE_TRANSPROB
    Definition: table_default.c:58
    #define TABLE_NAME_NLPIS
    #define TABLE_EARLIEST_STAGE_RELAX
    #define TABLE_DESC_TIMING
    Definition: table_default.c:46
    #define TABLE_DESC_EXPRHDLRS
    #define TABLE_EARLIEST_STAGE_SOL
    #define TABLE_NAME_ROOT
    #define TABLE_DESC_TREE
    #define TABLE_POSITION_ROOT
    static SCIP_DECL_TABLECOPY(tableCopyDefault)
    #define TABLE_POSITION_TRANSPROB
    Definition: table_default.c:57
    #define TABLE_DESC_ORIGPROB
    Definition: table_default.c:51
    #define TABLE_POSITION_SOL
    #define TABLE_DESC_STATUS
    Definition: table_default.c:41
    #define TABLE_NAME_TREE
    #define TABLE_POSITION_SEPA
    Definition: table_default.c:87
    #define TABLE_NAME_CUTSEL
    Definition: table_default.c:90
    #define TABLE_DESC_SEPA
    Definition: table_default.c:86
    #define TABLE_NAME_BRANCH
    #define TABLE_POSITION_CONFLICT
    Definition: table_default.c:82
    #define TABLE_EARLIEST_STAGE_TIMING
    Definition: table_default.c:48
    #define TABLE_DESC_PRICER
    Definition: table_default.c:96
    #define TABLE_EARLIEST_STAGE_PRICER
    Definition: table_default.c:98
    #define TABLE_NAME_SEPA
    Definition: table_default.c:85
    #define TABLE_NAME_CONS
    Definition: table_default.c:65
    #define TABLE_POSITION_HEUR
    #define TABLE_POSITION_CONSTIMING
    Definition: table_default.c:72
    #define TABLE_EARLIEST_STAGE_HEUR
    #define TABLE_EARLIEST_STAGE_NLP
    #define TABLE_NAME_LP
    #define TABLE_POSITION_NLPIS
    #define TABLE_POSITION_RELAX
    #define TABLE_EARLIEST_STAGE_CONS
    Definition: table_default.c:68
    #define TABLE_DESC_BRANCH
    #define TABLE_EARLIEST_STAGE_ROOT
    #define TABLE_NAME_STATUS
    Definition: table_default.c:40
    static SCIP_DECL_TABLECOLLECT(tableCollectStatus)
    #define TABLE_EARLIEST_STAGE_PRESOL
    Definition: table_default.c:63
    #define TABLE_DESC_CONSTIMING
    Definition: table_default.c:71
    #define TABLE_EARLIEST_STAGE_LP
    #define TABLE_EARLIEST_STAGE_CONSTIMING
    Definition: table_default.c:73
    #define TABLE_DESC_BENDERS
    static SCIP_DECL_TABLEOUTPUT(tableOutputStatus)
    #define TABLE_POSITION_CONS
    Definition: table_default.c:67
    #define TABLE_POSITION_CONC
    #define TABLE_DESC_ROOT
    #define TABLE_NAME_EXPRHDLRS
    #define TABLE_NAME_CONC
    #define TABLE_POSITION_STATUS
    Definition: table_default.c:42
    #define TABLE_DESC_LP
    #define TABLE_POSITION_LP
    #define TABLE_POSITION_BRANCH
    #define TABLE_POSITION_COMPRESSION
    #define TABLE_NAME_HEUR
    #define TABLE_DESC_NLP
    #define TABLE_EARLIEST_STAGE_PROP
    Definition: table_default.c:78
    #define TABLE_POSITION_TIMING
    Definition: table_default.c:47
    #define TABLE_NAME_CONSTIMING
    Definition: table_default.c:70
    #define TABLE_POSITION_EXPRHDLRS
    #define TABLE_POSITION_TREE
    #define TABLE_DESC_PRESOL
    Definition: table_default.c:61
    #define TABLE_EARLIEST_STAGE_CUTSEL
    Definition: table_default.c:93
    #define TABLE_EARLIEST_STAGE_BRANCH
    #define TABLE_DESC_CONC
    #define TABLE_POSITION_PROP
    Definition: table_default.c:77
    #define TABLE_DESC_COMPRESSION
    #define TABLE_EARLIEST_STAGE_CONFLICT
    Definition: table_default.c:83
    #define TABLE_NAME_PRESOL
    Definition: table_default.c:60
    #define TABLE_EARLIEST_STAGE_CONC
    #define TABLE_EARLIEST_STAGE_NLPIS
    #define TABLE_POSITION_PRICER
    Definition: table_default.c:97
    #define TABLE_NAME_PRICER
    Definition: table_default.c:95
    #define TABLE_NAME_BENDERS
    #define TABLE_EARLIEST_STAGE_SEPA
    Definition: table_default.c:88
    #define TABLE_NAME_TRANSPROB
    Definition: table_default.c:55
    default statistics tables
    @ SCIP_OKAY
    Definition: type_retcode.h:42
    enum SCIP_Retcode SCIP_RETCODE
    Definition: type_retcode.h:63