Scippy

SCIP

Solving Constraint Integer Programs

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-2021 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 scipopt.org. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file pub_prop.h
17  * @ingroup PUBLICCOREAPI
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 /**@addtogroup PublicPropagatorMethods
37  *
38  * @{
39  */
40 
41 /** compares two propagators w. r. to their priority */
43 SCIP_DECL_SORTPTRCOMP(SCIPpropComp);
44 
45 /** compares two propagators w. r. to their presolving priority */
47 SCIP_DECL_SORTPTRCOMP(SCIPpropCompPresol);
48 
49 /** comparison method for sorting propagators w.r.t. to their name */
51 SCIP_DECL_SORTPTRCOMP(SCIPpropCompName);
52 
53 /** gets user data of propagator */
56  SCIP_PROP* prop /**< propagator */
57  );
58 
59 /** sets user data of propagator; user has to free old data in advance! */
61 void SCIPpropSetData(
62  SCIP_PROP* prop, /**< propagator */
63  SCIP_PROPDATA* propdata /**< new propagator user data */
64  );
65 
66 /** gets name of propagator */
68 const char* SCIPpropGetName(
69  SCIP_PROP* prop /**< propagator */
70  );
71 
72 /** gets description of propagator */
74 const char* SCIPpropGetDesc(
75  SCIP_PROP* prop /**< propagator */
76  );
77 
78 /** gets priority of propagator */
81  SCIP_PROP* prop /**< propagator */
82  );
83 
84 /** gets presolving priority of propagator */
87  SCIP_PROP* prop /**< propagator */
88  );
89 
90 /** gets frequency of propagator */
92 int SCIPpropGetFreq(
93  SCIP_PROP* prop /**< propagator */
94  );
95 
96 /** gets time in seconds used for setting up this propagator for new stages */
99  SCIP_PROP* prop /**< propagator */
100  );
101 
102 /** sets frequency of propagator */
104 void SCIPpropSetFreq(
105  SCIP_PROP* prop, /**< propagator */
106  int freq /**< new frequency of propagator */
107  );
108 
109 /** gets time in seconds used in this propagator */
112  SCIP_PROP* prop /**< propagator */
113  );
114 
115 /** gets time in seconds used in this propagator during strong branching */
118  SCIP_PROP* prop /**< propagator */
119  );
120 
121 /** gets time in seconds used in this propagator for resolve propagation */
124  SCIP_PROP* prop /**< propagator */
125  );
126 
127 /** gets time in seconds used in this propagator for presolving */
130  SCIP_PROP* prop /**< propagator */
131  );
132 
133 /** gets the total number of times, the propagator was called */
136  SCIP_PROP* prop /**< propagator */
137  );
138 
139 /** gets the total number of times, the propagator was called for resolving a propagation */
142  SCIP_PROP* prop /**< propagator */
143  );
144 
145 /** gets total number of times, this propagator detected a cutoff */
148  SCIP_PROP* prop /**< propagator */
149  );
150 
151 /** gets total number of domain reductions found by this propagator */
154  SCIP_PROP* prop /**< propagator */
155  );
156 
157 /** should propagator be delayed, if other propagators found reductions? */
160  SCIP_PROP* prop /**< propagator */
161  );
162 
163 /** was propagator delayed at the last call? */
166  SCIP_PROP* prop /**< propagator */
167  );
168 
169 /** is propagator initialized? */
172  SCIP_PROP* prop /**< propagator */
173  );
174 
175 /** gets number of variables fixed during presolving of propagator */
178  SCIP_PROP* prop /**< propagator */
179  );
180 
181 /** gets number of variables aggregated during presolving of propagator */
184  SCIP_PROP* prop /**< propagator */
185  );
186 
187 /** gets number of variable types changed during presolving of propagator */
190  SCIP_PROP* prop /**< propagator */
191  );
192 
193 /** gets number of bounds changed during presolving of propagator */
196  SCIP_PROP* prop /**< propagator */
197  );
198 
199 /** gets number of holes added to domains of variables during presolving of propagator */
202  SCIP_PROP* prop /**< propagator */
203  );
204 
205 /** gets number of constraints deleted during presolving of propagator */
208  SCIP_PROP* prop /**< propagator */
209  );
210 
211 /** gets number of constraints added during presolving of propagator */
214  SCIP_PROP* prop /**< propagator */
215  );
216 
217 /** gets number of constraints upgraded during presolving of propagator */
220  SCIP_PROP* prop /**< propagator */
221  );
222 
223 /** gets number of coefficients changed during presolving of propagator */
226  SCIP_PROP* prop /**< propagator */
227  );
228 
229 /** gets number of constraint sides changed during presolving of propagator */
232  SCIP_PROP* prop /**< propagator */
233  );
234 
235 /** gets number of times the propagator was called in presolving and tried to find reductions */
238  SCIP_PROP* prop /**< propagator */
239  );
240 
241 /** returns the timing mask of the propagator */
244  SCIP_PROP* prop /**< propagator */
245  );
246 
247 /** does the propagator perform presolving? */
250  SCIP_PROP* prop /**< propagator */
251  );
252 
253 /** returns the timing mask of the presolving method of the propagator */
256  SCIP_PROP* prop /**< propagator */
257  );
258 
259 /** sets the timing mask of the presolving method of the propagator */
262  SCIP_PROP* prop, /**< propagator */
263  SCIP_PRESOLTIMING presoltiming /** timing mask to be set */
264  );
265 
266 /** @} */
267 
268 #ifdef __cplusplus
269 }
270 #endif
271 
272 #endif
SCIP_EXPORT int SCIPpropGetNAddConss(SCIP_PROP *prop)
Definition: prop.c:1217
SCIP_EXPORT int SCIPpropGetPriority(SCIP_PROP *prop)
Definition: prop.c:952
SCIP_EXPORT void SCIPpropSetFreq(SCIP_PROP *prop, int freq)
Definition: prop.c:1035
SCIP_EXPORT int SCIPpropGetFreq(SCIP_PROP *prop)
Definition: prop.c:1000
SCIP_EXPORT SCIP_Real SCIPpropGetSetupTime(SCIP_PROP *prop)
Definition: prop.c:1025
type definitions for miscellaneous datastructures
SCIP_EXPORT SCIP_Longint SCIPpropGetNRespropCalls(SCIP_PROP *prop)
Definition: prop.c:1097
#define SCIP_EXPORT
Definition: def.h:100
SCIP_EXPORT SCIP_Longint SCIPpropGetNDomredsFound(SCIP_PROP *prop)
Definition: prop.c:1117
SCIP_EXPORT int SCIPpropGetPresolPriority(SCIP_PROP *prop)
Definition: prop.c:962
SCIP_EXPORT int SCIPpropGetNChgSides(SCIP_PROP *prop)
Definition: prop.c:1247
SCIP_EXPORT void SCIPpropSetData(SCIP_PROP *prop, SCIP_PROPDATA *propdata)
Definition: prop.c:790
SCIP_EXPORT const char * SCIPpropGetDesc(SCIP_PROP *prop)
Definition: prop.c:942
SCIP_EXPORT SCIP_Bool SCIPpropIsDelayed(SCIP_PROP *prop)
Definition: prop.c:1127
SCIP_EXPORT SCIP_Real SCIPpropGetTime(SCIP_PROP *prop)
Definition: prop.c:1047
SCIP_EXPORT SCIP_Bool SCIPpropDoesPresolve(SCIP_PROP *prop)
Definition: prop.c:1277
SCIP_EXPORT SCIP_Bool SCIPpropIsInitialized(SCIP_PROP *prop)
Definition: prop.c:1147
SCIP_EXPORT SCIP_Real SCIPpropGetRespropTime(SCIP_PROP *prop)
Definition: prop.c:1067
SCIP_EXPORT SCIP_Real SCIPpropGetStrongBranchPropTime(SCIP_PROP *prop)
Definition: prop.c:1057
SCIP_EXPORT const char * SCIPpropGetName(SCIP_PROP *prop)
Definition: prop.c:932
SCIP_EXPORT int SCIPpropGetNAddHoles(SCIP_PROP *prop)
Definition: prop.c:1197
SCIP_EXPORT SCIP_DECL_SORTPTRCOMP(SCIPpropComp)
Definition: prop.c:43
SCIP_EXPORT void SCIPpropSetPresolTiming(SCIP_PROP *prop, SCIP_PRESOLTIMING presoltiming)
Definition: prop.c:1297
SCIP_EXPORT int SCIPpropGetNPresolCalls(SCIP_PROP *prop)
Definition: prop.c:1257
SCIP_EXPORT int SCIPpropGetNChgVarTypes(SCIP_PROP *prop)
Definition: prop.c:1177
unsigned int SCIP_PRESOLTIMING
Definition: type_timing.h:52
SCIP_EXPORT SCIP_PRESOLTIMING SCIPpropGetPresolTiming(SCIP_PROP *prop)
Definition: prop.c:1287
SCIP_EXPORT int SCIPpropGetNFixedVars(SCIP_PROP *prop)
Definition: prop.c:1157
SCIP_EXPORT SCIP_Longint SCIPpropGetNCalls(SCIP_PROP *prop)
Definition: prop.c:1087
SCIP_EXPORT SCIP_Real SCIPpropGetPresolTime(SCIP_PROP *prop)
Definition: prop.c:1077
SCIP_EXPORT SCIP_Bool SCIPpropWasDelayed(SCIP_PROP *prop)
Definition: prop.c:1137
#define SCIP_Bool
Definition: def.h:70
SCIP_EXPORT int SCIPpropGetNChgBds(SCIP_PROP *prop)
Definition: prop.c:1187
SCIP_EXPORT int SCIPpropGetNAggrVars(SCIP_PROP *prop)
Definition: prop.c:1167
type definitions for propagators
SCIP_EXPORT SCIP_PROPDATA * SCIPpropGetData(SCIP_PROP *prop)
Definition: prop.c:780
unsigned int SCIP_PROPTIMING
Definition: type_timing.h:66
#define SCIP_Real
Definition: def.h:163
struct SCIP_PropData SCIP_PROPDATA
Definition: type_prop.h:43
SCIP_EXPORT int SCIPpropGetNChgCoefs(SCIP_PROP *prop)
Definition: prop.c:1237
#define SCIP_Longint
Definition: def.h:148
SCIP_EXPORT int SCIPpropGetNUpgdConss(SCIP_PROP *prop)
Definition: prop.c:1227
common defines and data types used in all packages of SCIP
SCIP_EXPORT SCIP_Longint SCIPpropGetNCutoffs(SCIP_PROP *prop)
Definition: prop.c:1107
SCIP_EXPORT int SCIPpropGetNDelConss(SCIP_PROP *prop)
Definition: prop.c:1207
SCIP_EXPORT SCIP_PROPTIMING SCIPpropGetTimingmask(SCIP_PROP *prop)
Definition: prop.c:1267