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-2019 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 scip.zib.de. */
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 */
42 extern
43 SCIP_DECL_SORTPTRCOMP(SCIPpropComp);
44 
45 /** compares two propagators w. r. to their presolving priority */
46 extern
47 SCIP_DECL_SORTPTRCOMP(SCIPpropCompPresol);
48 
49 /** comparison method for sorting propagators w.r.t. to their name */
50 extern
51 SCIP_DECL_SORTPTRCOMP(SCIPpropCompName);
52 
53 /** gets user data of propagator */
54 extern
56  SCIP_PROP* prop /**< propagator */
57  );
58 
59 /** sets user data of propagator; user has to free old data in advance! */
60 extern
61 void SCIPpropSetData(
62  SCIP_PROP* prop, /**< propagator */
63  SCIP_PROPDATA* propdata /**< new propagator user data */
64  );
65 
66 /** gets name of propagator */
67 extern
68 const char* SCIPpropGetName(
69  SCIP_PROP* prop /**< propagator */
70  );
71 
72 /** gets description of propagator */
73 extern
74 const char* SCIPpropGetDesc(
75  SCIP_PROP* prop /**< propagator */
76  );
77 
78 /** gets priority of propagator */
79 extern
81  SCIP_PROP* prop /**< propagator */
82  );
83 
84 /** gets presolving priority of propagator */
85 extern
87  SCIP_PROP* prop /**< propagator */
88  );
89 
90 /** gets frequency of propagator */
91 extern
92 int SCIPpropGetFreq(
93  SCIP_PROP* prop /**< propagator */
94  );
95 
96 /** gets time in seconds used for setting up this propagator for new stages */
97 extern
99  SCIP_PROP* prop /**< propagator */
100  );
101 
102 /** sets frequency of propagator */
103 extern
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 */
110 extern
112  SCIP_PROP* prop /**< propagator */
113  );
114 
115 /** gets time in seconds used in this propagator during strong branching */
116 extern
118  SCIP_PROP* prop /**< propagator */
119  );
120 
121 /** gets time in seconds used in this propagator for resolve propagation */
122 extern
124  SCIP_PROP* prop /**< propagator */
125  );
126 
127 /** gets time in seconds used in this propagator for presolving */
128 extern
130  SCIP_PROP* prop /**< propagator */
131  );
132 
133 /** gets the total number of times, the propagator was called */
134 extern
136  SCIP_PROP* prop /**< propagator */
137  );
138 
139 /** gets the total number of times, the propagator was called for resolving a propagation */
140 extern
142  SCIP_PROP* prop /**< propagator */
143  );
144 
145 /** gets total number of times, this propagator detected a cutoff */
146 extern
148  SCIP_PROP* prop /**< propagator */
149  );
150 
151 /** gets total number of domain reductions found by this propagator */
152 extern
154  SCIP_PROP* prop /**< propagator */
155  );
156 
157 /** should propagator be delayed, if other propagators found reductions? */
158 extern
160  SCIP_PROP* prop /**< propagator */
161  );
162 
163 /** was propagator delayed at the last call? */
164 extern
166  SCIP_PROP* prop /**< propagator */
167  );
168 
169 /** is propagator initialized? */
170 extern
172  SCIP_PROP* prop /**< propagator */
173  );
174 
175 /** gets number of variables fixed during presolving of propagator */
176 extern
178  SCIP_PROP* prop /**< propagator */
179  );
180 
181 /** gets number of variables aggregated during presolving of propagator */
182 extern
184  SCIP_PROP* prop /**< propagator */
185  );
186 
187 /** gets number of variable types changed during presolving of propagator */
188 extern
190  SCIP_PROP* prop /**< propagator */
191  );
192 
193 /** gets number of bounds changed during presolving of propagator */
194 extern
196  SCIP_PROP* prop /**< propagator */
197  );
198 
199 /** gets number of holes added to domains of variables during presolving of propagator */
200 extern
202  SCIP_PROP* prop /**< propagator */
203  );
204 
205 /** gets number of constraints deleted during presolving of propagator */
206 extern
208  SCIP_PROP* prop /**< propagator */
209  );
210 
211 /** gets number of constraints added during presolving of propagator */
212 extern
214  SCIP_PROP* prop /**< propagator */
215  );
216 
217 /** gets number of constraints upgraded during presolving of propagator */
218 extern
220  SCIP_PROP* prop /**< propagator */
221  );
222 
223 /** gets number of coefficients changed during presolving of propagator */
224 extern
226  SCIP_PROP* prop /**< propagator */
227  );
228 
229 /** gets number of constraint sides changed during presolving of propagator */
230 extern
232  SCIP_PROP* prop /**< propagator */
233  );
234 
235 /** gets number of times the propagator was called in presolving and tried to find reductions */
236 extern
238  SCIP_PROP* prop /**< propagator */
239  );
240 
241 /** returns the timing mask of the propagator */
242 extern
244  SCIP_PROP* prop /**< propagator */
245  );
246 
247 /** does the propagator perform presolving? */
248 extern
250  SCIP_PROP* prop /**< propagator */
251  );
252 
253 /** returns the timing mask of the presolving method of the propagator */
254 extern
256  SCIP_PROP* prop /**< propagator */
257  );
258 
259 /** sets the timing mask of the presolving method of the propagator */
260 extern
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
void SCIPpropSetPresolTiming(SCIP_PROP *prop, SCIP_PRESOLTIMING presoltiming)
Definition: prop.c:1296
int SCIPpropGetNUpgdConss(SCIP_PROP *prop)
Definition: prop.c:1226
SCIP_PRESOLTIMING SCIPpropGetPresolTiming(SCIP_PROP *prop)
Definition: prop.c:1286
type definitions for miscellaneous datastructures
SCIP_Real SCIPpropGetRespropTime(SCIP_PROP *prop)
Definition: prop.c:1066
SCIP_Longint SCIPpropGetNRespropCalls(SCIP_PROP *prop)
Definition: prop.c:1096
int SCIPpropGetNChgSides(SCIP_PROP *prop)
Definition: prop.c:1246
int SCIPpropGetPriority(SCIP_PROP *prop)
Definition: prop.c:951
SCIP_Bool SCIPpropIsDelayed(SCIP_PROP *prop)
Definition: prop.c:1126
SCIP_Longint SCIPpropGetNCalls(SCIP_PROP *prop)
Definition: prop.c:1086
SCIP_Longint SCIPpropGetNCutoffs(SCIP_PROP *prop)
Definition: prop.c:1106
SCIP_Bool SCIPpropIsInitialized(SCIP_PROP *prop)
Definition: prop.c:1146
int SCIPpropGetNPresolCalls(SCIP_PROP *prop)
Definition: prop.c:1256
SCIP_Real SCIPpropGetSetupTime(SCIP_PROP *prop)
Definition: prop.c:1024
SCIP_Longint SCIPpropGetNDomredsFound(SCIP_PROP *prop)
Definition: prop.c:1116
SCIP_DECL_SORTPTRCOMP(SCIPpropComp)
Definition: prop.c:42
unsigned int SCIP_PRESOLTIMING
Definition: type_timing.h:52
SCIP_Real SCIPpropGetPresolTime(SCIP_PROP *prop)
Definition: prop.c:1076
int SCIPpropGetNChgBds(SCIP_PROP *prop)
Definition: prop.c:1186
#define SCIP_Bool
Definition: def.h:69
int SCIPpropGetNChgCoefs(SCIP_PROP *prop)
Definition: prop.c:1236
int SCIPpropGetNFixedVars(SCIP_PROP *prop)
Definition: prop.c:1156
int SCIPpropGetNAddConss(SCIP_PROP *prop)
Definition: prop.c:1216
const char * SCIPpropGetDesc(SCIP_PROP *prop)
Definition: prop.c:941
SCIP_Real SCIPpropGetStrongBranchPropTime(SCIP_PROP *prop)
Definition: prop.c:1056
int SCIPpropGetNAggrVars(SCIP_PROP *prop)
Definition: prop.c:1166
const char * SCIPpropGetName(SCIP_PROP *prop)
Definition: prop.c:931
int SCIPpropGetNChgVarTypes(SCIP_PROP *prop)
Definition: prop.c:1176
type definitions for propagators
int SCIPpropGetPresolPriority(SCIP_PROP *prop)
Definition: prop.c:961
void SCIPpropSetFreq(SCIP_PROP *prop, int freq)
Definition: prop.c:1034
SCIP_Bool SCIPpropWasDelayed(SCIP_PROP *prop)
Definition: prop.c:1136
unsigned int SCIP_PROPTIMING
Definition: type_timing.h:66
SCIP_PROPTIMING SCIPpropGetTimingmask(SCIP_PROP *prop)
Definition: prop.c:1266
#define SCIP_Real
Definition: def.h:157
struct SCIP_PropData SCIP_PROPDATA
Definition: type_prop.h:38
SCIP_PROPDATA * SCIPpropGetData(SCIP_PROP *prop)
Definition: prop.c:779
void SCIPpropSetData(SCIP_PROP *prop, SCIP_PROPDATA *propdata)
Definition: prop.c:789
#define SCIP_Longint
Definition: def.h:142
int SCIPpropGetFreq(SCIP_PROP *prop)
Definition: prop.c:999
common defines and data types used in all packages of SCIP
int SCIPpropGetNDelConss(SCIP_PROP *prop)
Definition: prop.c:1206
int SCIPpropGetNAddHoles(SCIP_PROP *prop)
Definition: prop.c:1196
SCIP_Real SCIPpropGetTime(SCIP_PROP *prop)
Definition: prop.c:1046
SCIP_Bool SCIPpropDoesPresolve(SCIP_PROP *prop)
Definition: prop.c:1276