Scippy

SCIP

Solving Constraint Integer Programs

type_disp.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-2024 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 type_disp.h
26 * @ingroup TYPEDEFINITIONS
27 * @brief type definitions for displaying runtime statistics
28 * @author Tobias Achterberg
29 *
30 * This file defines the interface for display columns implemented in C.
31 *
32 * - \ref DISP "Instructions for implementing a display column"
33 * - \ref DISPLAYS "List of available display columns"
34 * - \ref scip::ObjDisp "C++ wrapper class
35 */
36
37/** @defgroup DEFPLUGINS_DISP Default display columns
38 * @ingroup DEFPLUGINS
39 * @brief implementation files (.c files) of the default display columns of SCIP
40 */
41
42/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
43
44#ifndef __SCIP_TYPE_DISP_H__
45#define __SCIP_TYPE_DISP_H__
46
47#include <stdio.h>
48
49#include "scip/def.h"
50#include "scip/type_retcode.h"
51#include "scip/type_scip.h"
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
57/** display activation status of display column */
59{
60 SCIP_DISPSTATUS_OFF = 0, /**< display column is not displayed */
61 SCIP_DISPSTATUS_AUTO = 1, /**< display column is switched on and off automatically */
62 SCIP_DISPSTATUS_ON = 2 /**< display column is displayed */
63};
65
66/** display activation status of display column */
68{
69 SCIP_DISPMODE_DEFAULT = 0x00000001u, /**< display column is displayed only in sequential mode */
70 SCIP_DISPMODE_CONCURRENT = 0x00000002u, /**< display column is displayed only in concurrent mode */
71 SCIP_DISPMODE_ALL = 0x00000003u /**< display column is displayed in concurrent and sequential mode*/
72};
74
75typedef struct SCIP_Disp SCIP_DISP; /**< display column data structure */
76typedef struct SCIP_DispData SCIP_DISPDATA; /**< display column specific data */
77
78
79/** copy method for display plugins (called when SCIP copies plugins)
80 *
81 * input:
82 * - scip : SCIP main data structure
83 * - disp : the display column itself
84 */
85#define SCIP_DECL_DISPCOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP_DISP* disp)
86
87/** destructor of display column to free user data (called when SCIP is exiting)
88 *
89 * input:
90 * - scip : SCIP main data structure
91 * - disp : the display column itself
92 */
93#define SCIP_DECL_DISPFREE(x) SCIP_RETCODE x (SCIP* scip, SCIP_DISP* disp)
94
95/** initialization method of display column (called after problem was transformed)
96 *
97 * input:
98 * - scip : SCIP main data structure
99 * - disp : the display column itself
100 */
101#define SCIP_DECL_DISPINIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_DISP* disp)
102
103/** deinitialization method of display column (called before transformed problem is freed)
104 *
105 * input:
106 * - scip : SCIP main data structure
107 * - disp : the display column itself
108 */
109#define SCIP_DECL_DISPEXIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_DISP* disp)
110
111/** solving process initialization method of display column (called when branch and bound process is about to begin)
112 *
113 * This method is called when the presolving was finished and the branch and bound process is about to begin.
114 * The display column may use this call to initialize its branch and bound specific data.
115 *
116 * input:
117 * - scip : SCIP main data structure
118 * - disp : the display column itself
119 */
120#define SCIP_DECL_DISPINITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_DISP* disp)
121
122/** solving process deinitialization method of display column (called before branch and bound process data is freed)
123 *
124 * This method is called before the branch and bound process is freed.
125 * The display column should use this call to clean up its branch and bound data.
126 *
127 * input:
128 * - scip : SCIP main data structure
129 * - disp : the display column itself
130 */
131#define SCIP_DECL_DISPEXITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_DISP* disp)
132
133/** output method of display column to output file stream 'file'
134 *
135 * input:
136 * - scip : SCIP main data structure
137 * - disp : the display column itself
138 * - file : file stream for output
139 */
140#define SCIP_DECL_DISPOUTPUT(x) SCIP_RETCODE x (SCIP* scip, SCIP_DISP* disp, FILE* file)
141
142#ifdef __cplusplus
143}
144#endif
145
146#endif
common defines and data types used in all packages of SCIP
SCIP_DispStatus
Definition: type_disp.h:59
@ SCIP_DISPSTATUS_ON
Definition: type_disp.h:62
@ SCIP_DISPSTATUS_OFF
Definition: type_disp.h:60
@ SCIP_DISPSTATUS_AUTO
Definition: type_disp.h:61
enum SCIP_DispStatus SCIP_DISPSTATUS
Definition: type_disp.h:64
enum SCIP_DispMode SCIP_DISPMODE
Definition: type_disp.h:73
struct SCIP_DispData SCIP_DISPDATA
Definition: type_disp.h:76
SCIP_DispMode
Definition: type_disp.h:68
@ SCIP_DISPMODE_DEFAULT
Definition: type_disp.h:69
@ SCIP_DISPMODE_CONCURRENT
Definition: type_disp.h:70
@ SCIP_DISPMODE_ALL
Definition: type_disp.h:71
type definitions for return codes for SCIP methods
type definitions for SCIP's main datastructure