Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.2.0
SCIP 8.1.0
SCIP 7.0.3
SCIP 6.0.2
SCIP 5.0.1
SCIP 4.0.1
SCIP 3.2.1
SCIP
Solving Constraint Integer Programs
Overview
Files
Plugin Types
Interfaces
Examples
How To
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
scip-repo
src
scip
vbc.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-2014 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 email to scip@zib.de. */
13
/* */
14
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15
16
/**@file vbc.h
17
* @brief methods for VBC Tool output
18
* @author Tobias Achterberg
19
*/
20
21
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22
23
#ifndef __SCIP_VBC_H__
24
#define __SCIP_VBC_H__
25
26
27
#include "
scip/def.h
"
28
#include "
scip/type_set.h
"
29
#include "
scip/type_stat.h
"
30
#include "
scip/type_tree.h
"
31
#include "
scip/type_vbc.h
"
32
33
#ifdef __cplusplus
34
extern
"C"
{
35
#endif
36
37
/** creates VBCTool data structure */
38
extern
39
SCIP_RETCODE
SCIPvbcCreate
(
40
SCIP_VBC
** vbc,
/**< pointer to store the VBC information */
41
SCIP_MESSAGEHDLR
*
messagehdlr
/**< message handler */
42
);
43
44
/** frees VBC Tool data structure */
45
extern
46
void
SCIPvbcFree
(
47
SCIP_VBC
** vbc
/**< pointer to store the VBC information */
48
);
49
50
/** initializes VBC information and creates a file for VBC output */
51
extern
52
SCIP_RETCODE
SCIPvbcInit
(
53
SCIP_VBC
* vbc,
/**< VBC information */
54
BMS_BLKMEM
* blkmem,
/**< block memory */
55
SCIP_SET
*
set
,
/**< global SCIP settings */
56
SCIP_MESSAGEHDLR
*
messagehdlr
/**< message handler */
57
);
58
59
/** closes the VBC output file */
60
extern
61
void
SCIPvbcExit
(
62
SCIP_VBC
* vbc,
/**< VBC information */
63
SCIP_SET
*
set
,
/**< global SCIP settings */
64
SCIP_MESSAGEHDLR
*
messagehdlr
/**< message handler */
65
);
66
67
/** creates a new node entry in the VBC output file */
68
extern
69
SCIP_RETCODE
SCIPvbcNewChild
(
70
SCIP_VBC
* vbc,
/**< VBC information */
71
SCIP_STAT
* stat,
/**< problem statistics */
72
SCIP_NODE
* node
/**< new node, that was created */
73
);
74
75
/** updates a node entry in the VBC output file */
76
extern
77
SCIP_RETCODE
SCIPvbcUpdateChild
(
78
SCIP_VBC
* vbc,
/**< VBC information */
79
SCIP_STAT
* stat,
/**< problem statistics */
80
SCIP_NODE
* node
/**< new node, that was created */
81
);
82
83
/** changes the color of the node to the color of solved nodes */
84
extern
85
void
SCIPvbcSolvedNode
(
86
SCIP_VBC
* vbc,
/**< VBC information */
87
SCIP_STAT
* stat,
/**< problem statistics */
88
SCIP_NODE
* node
/**< node, that was solved */
89
);
90
91
/** changes the color of the node to the color of cutoff nodes */
92
extern
93
void
SCIPvbcCutoffNode
(
94
SCIP_VBC
* vbc,
/**< VBC information */
95
SCIP_STAT
* stat,
/**< problem statistics */
96
SCIP_NODE
* node
/**< node, that was cut off */
97
);
98
99
/** changes the color of the node to the color of nodes where a conflict constraint was found */
100
extern
101
void
SCIPvbcFoundConflict
(
102
SCIP_VBC
* vbc,
/**< VBC information */
103
SCIP_STAT
* stat,
/**< problem statistics */
104
SCIP_NODE
* node
/**< node, where the conflict was found */
105
);
106
107
/** changes the color of the node to the color of nodes that were marked to be repropagated */
108
extern
109
void
SCIPvbcMarkedRepropagateNode
(
110
SCIP_VBC
* vbc,
/**< VBC information */
111
SCIP_STAT
* stat,
/**< problem statistics */
112
SCIP_NODE
* node
/**< node, that was marked to be repropagated */
113
);
114
115
/** changes the color of the node to the color of repropagated nodes */
116
extern
117
void
SCIPvbcRepropagatedNode
(
118
SCIP_VBC
* vbc,
/**< VBC information */
119
SCIP_STAT
* stat,
/**< problem statistics */
120
SCIP_NODE
* node
/**< node, that was repropagated */
121
);
122
123
/** changes the color of the node to the color of nodes with a primal solution */
124
extern
125
void
SCIPvbcFoundSolution
(
126
SCIP_VBC
* vbc,
/**< VBC information */
127
SCIP_SET
*
set
,
/**< global SCIP settings */
128
SCIP_STAT
* stat,
/**< problem statistics */
129
SCIP_NODE
* node
/**< node where the solution was found, or NULL */
130
);
131
132
/** outputs a new global lower bound to the VBC output file */
133
extern
134
void
SCIPvbcLowerbound
(
135
SCIP_VBC
* vbc,
/**< VBC information */
136
SCIP_STAT
* stat,
/**< problem statistics */
137
SCIP_Real
lowerbound
/**< new lower bound */
138
);
139
140
/** outputs a new global upper bound to the VBC output file */
141
extern
142
void
SCIPvbcUpperbound
(
143
SCIP_VBC
* vbc,
/**< VBC information */
144
SCIP_STAT
* stat,
/**< problem statistics */
145
SCIP_Real
upperbound
/**< new upper bound */
146
);
147
148
#ifdef __cplusplus
149
}
150
#endif
151
152
#endif
153