Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.1.1
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
pub_event.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 pub_event.h
17
* @ingroup PUBLICMETHODS
18
* @brief public methods for managing events
19
* @author Tobias Achterberg
20
*/
21
22
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23
24
#ifndef __SCIP_PUB_EVENT_H__
25
#define __SCIP_PUB_EVENT_H__
26
27
28
#include "
scip/def.h
"
29
#include "
scip/type_retcode.h
"
30
#include "
scip/type_event.h
"
31
#include "
scip/type_var.h
"
32
#include "
scip/type_sol.h
"
33
#include "
scip/type_tree.h
"
34
35
#ifdef __cplusplus
36
extern
"C"
{
37
#endif
38
39
/*
40
* Event handler methods
41
*/
42
43
/** gets name of event handler */
44
extern
45
const
char
*
SCIPeventhdlrGetName
(
46
SCIP_EVENTHDLR
* eventhdlr
/**< event handler */
47
);
48
49
/** gets user data of event handler */
50
extern
51
SCIP_EVENTHDLRDATA
*
SCIPeventhdlrGetData
(
52
SCIP_EVENTHDLR
* eventhdlr
/**< event handler */
53
);
54
55
/** sets user data of event handler; user has to free old data in advance! */
56
extern
57
void
SCIPeventhdlrSetData
(
58
SCIP_EVENTHDLR
* eventhdlr,
/**< event handler */
59
SCIP_EVENTHDLRDATA
* eventhdlrdata
/**< new event handler user data */
60
);
61
62
/** is event handler initialized? */
63
extern
64
SCIP_Bool
SCIPeventhdlrIsInitialized
(
65
SCIP_EVENTHDLR
* eventhdlr
/**< event handler */
66
);
67
68
/** gets time in seconds used in this event handler for setting up for next stages */
69
extern
70
SCIP_Real
SCIPeventhdlrGetSetupTime
(
71
SCIP_EVENTHDLR
* eventhdlr
/**< event handler */
72
);
73
74
/** gets time in seconds used in this event handler */
75
extern
76
SCIP_Real
SCIPeventhdlrGetTime
(
77
SCIP_EVENTHDLR
* eventhdlr
/**< event handler */
78
);
79
80
81
/*
82
* Event methods
83
*/
84
85
/** gets type of event */
86
extern
87
SCIP_EVENTTYPE
SCIPeventGetType
(
88
SCIP_EVENT
* event
/**< event */
89
);
90
91
/** gets variable for a variable event (var added, var deleted, var fixed,
92
* objective value or domain change, domain hole added or removed) */
93
extern
94
SCIP_VAR
*
SCIPeventGetVar
(
95
SCIP_EVENT
* event
/**< event */
96
);
97
98
/** gets old objective value for an objective value change event */
99
extern
100
SCIP_Real
SCIPeventGetOldobj
(
101
SCIP_EVENT
* event
/**< event */
102
);
103
104
/** gets new objective value for an objective value change event */
105
extern
106
SCIP_Real
SCIPeventGetNewobj
(
107
SCIP_EVENT
* event
/**< event */
108
);
109
110
/** gets old bound for a bound change event */
111
extern
112
SCIP_Real
SCIPeventGetOldbound
(
113
SCIP_EVENT
* event
/**< event */
114
);
115
116
/** gets new bound for a bound change event */
117
extern
118
SCIP_Real
SCIPeventGetNewbound
(
119
SCIP_EVENT
* event
/**< event */
120
);
121
122
/** gets node for a node or LP event */
123
extern
124
SCIP_NODE
*
SCIPeventGetNode
(
125
SCIP_EVENT
* event
/**< event */
126
);
127
128
/** gets solution for a primal solution event */
129
extern
130
SCIP_SOL
*
SCIPeventGetSol
(
131
SCIP_EVENT
* event
/**< event */
132
);
133
134
/** gets the left bound of open interval in the hole */
135
extern
136
SCIP_Real
SCIPeventGetHoleLeft
(
137
SCIP_EVENT
* event
/**< event */
138
);
139
140
/** gets the right bound of open interval in the hole */
141
extern
142
SCIP_Real
SCIPeventGetHoleRight
(
143
SCIP_EVENT
* event
/**< event */
144
);
145
146
/** gets row for a row event */
147
extern
148
SCIP_ROW
*
SCIPeventGetRow
(
149
SCIP_EVENT
* event
/**< event */
150
);
151
152
/** gets column for a row change coefficient event */
153
extern
154
SCIP_COL
*
SCIPeventGetRowCol
(
155
SCIP_EVENT
* event
/**< event */
156
);
157
158
/** gets old coefficient value for a row change coefficient event */
159
extern
160
SCIP_Real
SCIPeventGetRowOldCoefVal
(
161
SCIP_EVENT
* event
/**< event */
162
);
163
164
/** gets new coefficient value for a row change coefficient event */
165
extern
166
SCIP_Real
SCIPeventGetRowNewCoefVal
(
167
SCIP_EVENT
* event
/**< event */
168
);
169
170
/** gets old constant value for a row change constant event */
171
extern
172
SCIP_Real
SCIPeventGetRowOldConstVal
(
173
SCIP_EVENT
* event
/**< event */
174
);
175
176
/** gets new constant value for a row change constant event */
177
extern
178
SCIP_Real
SCIPeventGetRowNewConstVal
(
179
SCIP_EVENT
* event
/**< event */
180
);
181
182
/** gets side for a row change side event */
183
extern
184
SCIP_SIDETYPE
SCIPeventGetRowSide
(
185
SCIP_EVENT
* event
/**< event */
186
);
187
188
/** gets old side value for a row change side event */
189
extern
190
SCIP_Real
SCIPeventGetRowOldSideVal
(
191
SCIP_EVENT
* event
/**< event */
192
);
193
194
/** gets new side value for a row change side event */
195
extern
196
SCIP_Real
SCIPeventGetRowNewSideVal
(
197
SCIP_EVENT
* event
/**< event */
198
);
199
200
#ifdef __cplusplus
201
}
202
#endif
203
204
#endif
205