Scippy

SCIP

Solving Constraint Integer Programs

scip_table.h
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-2019 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SCIP is distributed under the terms of the ZIB Academic License. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SCIP; see the file COPYING. If not visit scip.zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file scip_table.h
17  * @ingroup PUBLICCOREAPI
18  * @brief public methods for statistics table plugins
19  * @author Tobias Achterberg
20  * @author Timo Berthold
21  * @author Thorsten Koch
22  * @author Alexander Martin
23  * @author Marc Pfetsch
24  * @author Kati Wolter
25  * @author Gregor Hendel
26  * @author Robert Lion Gottwald
27  */
28 
29 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
30 
31 #ifndef __SCIP_SCIP_TABLE_H__
32 #define __SCIP_SCIP_TABLE_H__
33 
34 
35 #include "scip/def.h"
36 #include "scip/type_retcode.h"
37 #include "scip/type_scip.h"
38 #include "scip/type_set.h"
39 #include "scip/type_table.h"
40 
41 /* In debug mode, we include the SCIP's structure in scip.c, such that no one can access
42  * this structure except the interface methods in scip.c.
43  * In optimized mode, the structure is included in scip.h, because some of the methods
44  * are implemented as defines for performance reasons (e.g. the numerical comparisons).
45  * Additionally, the internal "set.h" is included, such that the defines in set.h are
46  * available in optimized mode.
47  */
48 #ifdef NDEBUG
49 #include "scip/struct_scip.h"
50 #include "scip/struct_stat.h"
51 #include "scip/set.h"
52 #include "scip/tree.h"
53 #include "scip/misc.h"
54 #include "scip/var.h"
55 #include "scip/cons.h"
56 #include "scip/solve.h"
57 #include "scip/debug.h"
58 #endif
59 
60 #ifdef __cplusplus
61 extern "C" {
62 #endif
63 
64 /**@addtogroup PublicTableMethods
65  *
66  * @{
67  */
68 
69 /** creates a statistics table and includes it in SCIP */
70 extern
72  SCIP* scip, /**< SCIP data structure */
73  const char* name, /**< name of statistics table */
74  const char* desc, /**< description of statistics table */
75  SCIP_Bool active, /**< should the table be activated by default? */
76  SCIP_DECL_TABLECOPY ((*tablecopy)), /**< copy method of statistics table or NULL if you don't want to copy your plugin into sub-SCIPs */
77  SCIP_DECL_TABLEFREE ((*tablefree)), /**< destructor of statistics table */
78  SCIP_DECL_TABLEINIT ((*tableinit)), /**< initialize statistics table */
79  SCIP_DECL_TABLEEXIT ((*tableexit)), /**< deinitialize statistics table */
80  SCIP_DECL_TABLEINITSOL ((*tableinitsol)), /**< solving process initialization method of statistics table */
81  SCIP_DECL_TABLEEXITSOL ((*tableexitsol)), /**< solving process deinitialization method of statistics table */
82  SCIP_DECL_TABLEOUTPUT ((*tableoutput)), /**< output method */
83  SCIP_TABLEDATA* tabledata, /**< statistics table data */
84  int position, /**< position of statistics table */
85  SCIP_STAGE earlieststage /**< output of the statistics table is only printed from this stage onwards */
86  );
87 
88 /** returns the statistics table of the given name, or NULL if not existing */
89 extern
91  SCIP* scip, /**< SCIP data structure */
92  const char* name /**< name of statistics table */
93  );
94 
95 /** returns the array of currently available statistics tables */
96 extern
98  SCIP* scip /**< SCIP data structure */
99  );
100 
101 /** returns the number of currently available statistics tables */
102 extern
103 int SCIPgetNTables(
104  SCIP* scip /**< SCIP data structure */
105  );
106 
107 /* @} */
108 
109 #ifdef __cplusplus
110 }
111 #endif
112 
113 #endif
#define SCIP_DECL_TABLEINITSOL(x)
Definition: type_table.h:88
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_TABLEDATA *tabledata, int position, SCIP_STAGE earlieststage)
Definition: scip_table.c:46
internal methods for branch and bound tree
SCIP_TABLE * SCIPfindTable(SCIP *scip, const char *name)
Definition: scip_table.c:84
#define SCIP_DECL_TABLEFREE(x)
Definition: type_table.h:61
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
type definitions for global SCIP settings
static GRAPHNODE ** active
type definitions for return codes for SCIP methods
type definitions for SCIP&#39;s main datastructure
internal miscellaneous methods
internal methods for global SCIP settings
SCIP main data structure.
internal methods for problem variables
#define SCIP_Bool
Definition: def.h:69
#define SCIP_DECL_TABLECOPY(x)
Definition: type_table.h:53
methods for debugging
#define SCIP_DECL_TABLEEXIT(x)
Definition: type_table.h:77
datastructures for problem statistics
#define SCIP_DECL_TABLEINIT(x)
Definition: type_table.h:69
SCIP_TABLE ** SCIPgetTables(SCIP *scip)
Definition: scip_table.c:97
internal methods for main solving loop and node processing
enum SCIP_Stage SCIP_STAGE
Definition: type_set.h:50
internal methods for constraints and constraint handlers
common defines and data types used in all packages of SCIP
#define SCIP_DECL_TABLEOUTPUT(x)
Definition: type_table.h:108
#define SCIP_DECL_TABLEEXITSOL(x)
Definition: type_table.h:99
type definitions for displaying statistics tables
int SCIPgetNTables(SCIP *scip)
Definition: scip_table.c:108
struct SCIP_TableData SCIP_TABLEDATA
Definition: type_table.h:44