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_prop.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_prop.h
17
* @ingroup PUBLICMETHODS
18
* @brief public methods for propagators
19
* @author Tobias Achterberg
20
*/
21
22
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23
24
#ifndef __SCIP_PUB_PROP_H__
25
#define __SCIP_PUB_PROP_H__
26
27
28
#include "
scip/def.h
"
29
#include "
scip/type_misc.h
"
30
#include "
scip/type_prop.h
"
31
32
#ifdef __cplusplus
33
extern
"C"
{
34
#endif
35
36
/** compares two propagators w. r. to their priority */
37
extern
38
SCIP_DECL_SORTPTRCOMP
(SCIPpropComp);
39
40
/** compares two propagators w. r. to their presolving priority */
41
extern
42
SCIP_DECL_SORTPTRCOMP
(SCIPpropCompPresol);
43
44
/** comparison method for sorting propagators w.r.t. to their name */
45
extern
46
SCIP_DECL_SORTPTRCOMP
(SCIPpropCompName);
47
48
/** gets user data of propagator */
49
extern
50
SCIP_PROPDATA
*
SCIPpropGetData
(
51
SCIP_PROP
* prop
/**< propagator */
52
);
53
54
/** sets user data of propagator; user has to free old data in advance! */
55
extern
56
void
SCIPpropSetData
(
57
SCIP_PROP
* prop,
/**< propagator */
58
SCIP_PROPDATA
* propdata
/**< new propagator user data */
59
);
60
61
/** gets name of propagator */
62
extern
63
const
char
*
SCIPpropGetName
(
64
SCIP_PROP
* prop
/**< propagator */
65
);
66
67
/** gets description of propagator */
68
extern
69
const
char
*
SCIPpropGetDesc
(
70
SCIP_PROP
* prop
/**< propagator */
71
);
72
73
/** gets priority of propagator */
74
extern
75
int
SCIPpropGetPriority
(
76
SCIP_PROP
* prop
/**< propagator */
77
);
78
79
/** gets presolving priority of propagator */
80
extern
81
int
SCIPpropGetPresolPriority
(
82
SCIP_PROP
* prop
/**< propagator */
83
);
84
85
/** gets frequency of propagator */
86
extern
87
int
SCIPpropGetFreq
(
88
SCIP_PROP
* prop
/**< propagator */
89
);
90
91
/** gets time in seconds used for setting up this propagator for new stages */
92
extern
93
SCIP_Real
SCIPpropGetSetupTime
(
94
SCIP_PROP
* prop
/**< propagator */
95
);
96
97
/** sets frequency of propagator */
98
extern
99
void
SCIPpropSetFreq
(
100
SCIP_PROP
* prop,
/**< propagator */
101
int
freq
/**< new frequency of propagator */
102
);
103
104
/** gets time in seconds used in this propagator */
105
extern
106
SCIP_Real
SCIPpropGetTime
(
107
SCIP_PROP
* prop
/**< propagator */
108
);
109
110
/** gets time in seconds used in this propagator during strong branching */
111
extern
112
SCIP_Real
SCIPpropGetStrongBranchPropTime
(
113
SCIP_PROP
* prop
/**< propagator */
114
);
115
116
/** gets time in seconds used in this propagator for resolve propagation */
117
extern
118
SCIP_Real
SCIPpropGetRespropTime
(
119
SCIP_PROP
* prop
/**< propagator */
120
);
121
122
/** gets time in seconds used in this propagator for presolving */
123
extern
124
SCIP_Real
SCIPpropGetPresolTime
(
125
SCIP_PROP
* prop
/**< propagator */
126
);
127
128
/** gets the total number of times, the propagator was called */
129
extern
130
SCIP_Longint
SCIPpropGetNCalls
(
131
SCIP_PROP
* prop
/**< propagator */
132
);
133
134
/** gets the total number of times, the propagator was called for resolving a propagation */
135
extern
136
SCIP_Longint
SCIPpropGetNRespropCalls
(
137
SCIP_PROP
* prop
/**< propagator */
138
);
139
140
/** gets total number of times, this propagator detected a cutoff */
141
extern
142
SCIP_Longint
SCIPpropGetNCutoffs
(
143
SCIP_PROP
* prop
/**< propagator */
144
);
145
146
/** gets total number of domain reductions found by this propagator */
147
extern
148
SCIP_Longint
SCIPpropGetNDomredsFound
(
149
SCIP_PROP
* prop
/**< propagator */
150
);
151
152
/** should propagator be delayed, if other propagators found reductions? */
153
extern
154
SCIP_Bool
SCIPpropIsDelayed
(
155
SCIP_PROP
* prop
/**< propagator */
156
);
157
158
/** should propagator be delayed during presolving, if other propagators found reductions? */
159
extern
160
SCIP_Bool
SCIPpropIsPresolDelayed
(
161
SCIP_PROP
* prop
/**< propagator */
162
);
163
164
/** was propagator delayed at the last call? */
165
extern
166
SCIP_Bool
SCIPpropWasDelayed
(
167
SCIP_PROP
* prop
/**< propagator */
168
);
169
170
/** was presolving of propagator delayed at the last call? */
171
extern
172
SCIP_Bool
SCIPpropWasPresolDelayed
(
173
SCIP_PROP
* prop
/**< propagator */
174
);
175
176
/** is propagator initialized? */
177
extern
178
SCIP_Bool
SCIPpropIsInitialized
(
179
SCIP_PROP
* prop
/**< propagator */
180
);
181
182
/** gets number of variables fixed during presolving of propagator */
183
extern
184
int
SCIPpropGetNFixedVars
(
185
SCIP_PROP
* prop
/**< propagator */
186
);
187
188
/** gets number of variables aggregated during presolving of propagator */
189
extern
190
int
SCIPpropGetNAggrVars
(
191
SCIP_PROP
* prop
/**< propagator */
192
);
193
194
/** gets number of variable types changed during presolving of propagator */
195
extern
196
int
SCIPpropGetNChgVarTypes
(
197
SCIP_PROP
* prop
/**< propagator */
198
);
199
200
/** gets number of bounds changed during presolving of propagator */
201
extern
202
int
SCIPpropGetNChgBds
(
203
SCIP_PROP
* prop
/**< propagator */
204
);
205
206
/** gets number of holes added to domains of variables during presolving of propagator */
207
extern
208
int
SCIPpropGetNAddHoles
(
209
SCIP_PROP
* prop
/**< propagator */
210
);
211
212
/** gets number of constraints deleted during presolving of propagator */
213
extern
214
int
SCIPpropGetNDelConss
(
215
SCIP_PROP
* prop
/**< propagator */
216
);
217
218
/** gets number of constraints added during presolving of propagator */
219
extern
220
int
SCIPpropGetNAddConss
(
221
SCIP_PROP
* prop
/**< propagator */
222
);
223
224
/** gets number of constraints upgraded during presolving of propagator */
225
extern
226
int
SCIPpropGetNUpgdConss
(
227
SCIP_PROP
* prop
/**< propagator */
228
);
229
230
/** gets number of coefficients changed during presolving of propagator */
231
extern
232
int
SCIPpropGetNChgCoefs
(
233
SCIP_PROP
* prop
/**< propagator */
234
);
235
236
/** gets number of constraint sides changed during presolving of propagator */
237
extern
238
int
SCIPpropGetNChgSides
(
239
SCIP_PROP
* prop
/**< propagator */
240
);
241
242
/** gets number of times the propagator was called in presolving and tried to find reductions */
243
extern
244
int
SCIPpropGetNPresolCalls
(
245
SCIP_PROP
* prop
/**< propagator */
246
);
247
248
/** returns the timing mask of the propagator */
249
extern
250
SCIP_PROPTIMING
SCIPpropGetTimingmask
(
251
SCIP_PROP
* prop
/**< propagator */
252
);
253
254
/** does the propagator perform presolving? */
255
extern
256
SCIP_Bool
SCIPpropDoesPresolve
(
257
SCIP_PROP
* prop
/**< propagator */
258
);
259
260
#ifdef __cplusplus
261
}
262
#endif
263
264
#endif
265