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-2024 Zuse Institute Berlin (ZIB) */
7/* */
8/* Licensed under the Apache License, Version 2.0 (the "License"); */
9/* you may not use this file except in compliance with the License. */
10/* You may obtain a copy of the License at */
11/* */
12/* http://www.apache.org/licenses/LICENSE-2.0 */
13/* */
14/* Unless required by applicable law or agreed to in writing, software */
15/* distributed under the License is distributed on an "AS IS" BASIS, */
16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17/* See the License for the specific language governing permissions and */
18/* limitations under the License. */
19/* */
20/* You should have received a copy of the Apache-2.0 license */
21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22/* */
23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25/**@file pub_prop.h
26 * @ingroup PUBLICCOREAPI
27 * @brief public methods for propagators
28 * @author Tobias Achterberg
29 */
30
31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
32
33#ifndef __SCIP_PUB_PROP_H__
34#define __SCIP_PUB_PROP_H__
35
36
37#include "scip/def.h"
38#include "scip/type_misc.h"
39#include "scip/type_prop.h"
40
41#ifdef __cplusplus
42extern "C" {
43#endif
44
45/**@addtogroup PublicPropagatorMethods
46 *
47 * @{
48 */
49
50/** compares two propagators w. r. to their priority */
51SCIP_EXPORT
52SCIP_DECL_SORTPTRCOMP(SCIPpropComp);
53
54/** compares two propagators w. r. to their presolving priority */
55SCIP_EXPORT
56SCIP_DECL_SORTPTRCOMP(SCIPpropCompPresol);
57
58/** comparison method for sorting propagators w.r.t. to their name */
59SCIP_EXPORT
60SCIP_DECL_SORTPTRCOMP(SCIPpropCompName);
61
62/** gets user data of propagator */
63SCIP_EXPORT
65 SCIP_PROP* prop /**< propagator */
66 );
67
68/** sets user data of propagator; user has to free old data in advance! */
69SCIP_EXPORT
71 SCIP_PROP* prop, /**< propagator */
72 SCIP_PROPDATA* propdata /**< new propagator user data */
73 );
74
75/** gets name of propagator */
76SCIP_EXPORT
77const char* SCIPpropGetName(
78 SCIP_PROP* prop /**< propagator */
79 );
80
81/** gets description of propagator */
82SCIP_EXPORT
83const char* SCIPpropGetDesc(
84 SCIP_PROP* prop /**< propagator */
85 );
86
87/** gets priority of propagator */
88SCIP_EXPORT
90 SCIP_PROP* prop /**< propagator */
91 );
92
93/** gets presolving priority of propagator */
94SCIP_EXPORT
96 SCIP_PROP* prop /**< propagator */
97 );
98
99/** gets frequency of propagator */
100SCIP_EXPORT
102 SCIP_PROP* prop /**< propagator */
103 );
104
105/** gets time in seconds used for setting up this propagator for new stages */
106SCIP_EXPORT
108 SCIP_PROP* prop /**< propagator */
109 );
110
111/** sets frequency of propagator */
112SCIP_EXPORT
113void SCIPpropSetFreq(
114 SCIP_PROP* prop, /**< propagator */
115 int freq /**< new frequency of propagator */
116 );
117
118/** gets time in seconds used in this propagator */
119SCIP_EXPORT
121 SCIP_PROP* prop /**< propagator */
122 );
123
124/** gets time in seconds used in this propagator during strong branching */
125SCIP_EXPORT
127 SCIP_PROP* prop /**< propagator */
128 );
129
130/** gets time in seconds used in this propagator for resolve propagation */
131SCIP_EXPORT
133 SCIP_PROP* prop /**< propagator */
134 );
135
136/** gets time in seconds used in this propagator for presolving */
137SCIP_EXPORT
139 SCIP_PROP* prop /**< propagator */
140 );
141
142/** gets the total number of times, the propagator was called */
143SCIP_EXPORT
145 SCIP_PROP* prop /**< propagator */
146 );
147
148/** gets the total number of times, the propagator was called for resolving a propagation */
149SCIP_EXPORT
151 SCIP_PROP* prop /**< propagator */
152 );
153
154/** gets total number of times, this propagator detected a cutoff */
155SCIP_EXPORT
157 SCIP_PROP* prop /**< propagator */
158 );
159
160/** gets total number of domain reductions found by this propagator */
161SCIP_EXPORT
163 SCIP_PROP* prop /**< propagator */
164 );
165
166/** should propagator be delayed, if other propagators found reductions? */
167SCIP_EXPORT
169 SCIP_PROP* prop /**< propagator */
170 );
171
172/** was propagator delayed at the last call? */
173SCIP_EXPORT
175 SCIP_PROP* prop /**< propagator */
176 );
177
178/** is propagator initialized? */
179SCIP_EXPORT
181 SCIP_PROP* prop /**< propagator */
182 );
183
184/** gets number of variables fixed during presolving of propagator */
185SCIP_EXPORT
187 SCIP_PROP* prop /**< propagator */
188 );
189
190/** gets number of variables aggregated during presolving of propagator */
191SCIP_EXPORT
193 SCIP_PROP* prop /**< propagator */
194 );
195
196/** gets number of variable types changed during presolving of propagator */
197SCIP_EXPORT
199 SCIP_PROP* prop /**< propagator */
200 );
201
202/** gets number of bounds changed during presolving of propagator */
203SCIP_EXPORT
205 SCIP_PROP* prop /**< propagator */
206 );
207
208/** gets number of holes added to domains of variables during presolving of propagator */
209SCIP_EXPORT
211 SCIP_PROP* prop /**< propagator */
212 );
213
214/** gets number of constraints deleted during presolving of propagator */
215SCIP_EXPORT
217 SCIP_PROP* prop /**< propagator */
218 );
219
220/** gets number of constraints added during presolving of propagator */
221SCIP_EXPORT
223 SCIP_PROP* prop /**< propagator */
224 );
225
226/** gets number of constraints upgraded during presolving of propagator */
227SCIP_EXPORT
229 SCIP_PROP* prop /**< propagator */
230 );
231
232/** gets number of coefficients changed during presolving of propagator */
233SCIP_EXPORT
235 SCIP_PROP* prop /**< propagator */
236 );
237
238/** gets number of constraint sides changed during presolving of propagator */
239SCIP_EXPORT
241 SCIP_PROP* prop /**< propagator */
242 );
243
244/** gets number of times the propagator was called in presolving and tried to find reductions */
245SCIP_EXPORT
247 SCIP_PROP* prop /**< propagator */
248 );
249
250/** returns the timing mask of the propagator */
251SCIP_EXPORT
253 SCIP_PROP* prop /**< propagator */
254 );
255
256/** does the propagator perform presolving? */
257SCIP_EXPORT
259 SCIP_PROP* prop /**< propagator */
260 );
261
262/** returns the timing mask of the presolving method of the propagator */
263SCIP_EXPORT
265 SCIP_PROP* prop /**< propagator */
266 );
267
268/** sets the timing mask of the presolving method of the propagator */
269SCIP_EXPORT
271 SCIP_PROP* prop, /**< propagator */
272 SCIP_PRESOLTIMING presoltiming /** timing mask to be set */
273 );
274
275/** @} */
276
277#ifdef __cplusplus
278}
279#endif
280
281#endif
common defines and data types used in all packages of SCIP
#define SCIP_Longint
Definition: def.h:157
#define SCIP_Bool
Definition: def.h:91
#define SCIP_Real
Definition: def.h:172
SCIP_Bool SCIPpropDoesPresolve(SCIP_PROP *prop)
Definition: prop.c:1286
SCIP_Real SCIPpropGetRespropTime(SCIP_PROP *prop)
Definition: prop.c:1076
SCIP_Bool SCIPpropIsDelayed(SCIP_PROP *prop)
Definition: prop.c:1136
SCIP_Real SCIPpropGetPresolTime(SCIP_PROP *prop)
Definition: prop.c:1086
void SCIPpropSetPresolTiming(SCIP_PROP *prop, SCIP_PRESOLTIMING presoltiming)
Definition: prop.c:1306
SCIP_Bool SCIPpropWasDelayed(SCIP_PROP *prop)
Definition: prop.c:1146
SCIP_Longint SCIPpropGetNCutoffs(SCIP_PROP *prop)
Definition: prop.c:1116
SCIP_Real SCIPpropGetSetupTime(SCIP_PROP *prop)
Definition: prop.c:1034
int SCIPpropGetNAddHoles(SCIP_PROP *prop)
Definition: prop.c:1206
int SCIPpropGetNChgBds(SCIP_PROP *prop)
Definition: prop.c:1196
void SCIPpropSetData(SCIP_PROP *prop, SCIP_PROPDATA *propdata)
Definition: prop.c:799
int SCIPpropGetNChgSides(SCIP_PROP *prop)
Definition: prop.c:1256
int SCIPpropGetNUpgdConss(SCIP_PROP *prop)
Definition: prop.c:1236
int SCIPpropGetNPresolCalls(SCIP_PROP *prop)
Definition: prop.c:1266
SCIP_Longint SCIPpropGetNRespropCalls(SCIP_PROP *prop)
Definition: prop.c:1106
SCIP_Real SCIPpropGetStrongBranchPropTime(SCIP_PROP *prop)
Definition: prop.c:1066
SCIP_Longint SCIPpropGetNDomredsFound(SCIP_PROP *prop)
Definition: prop.c:1126
int SCIPpropGetFreq(SCIP_PROP *prop)
Definition: prop.c:1009
SCIP_PROPDATA * SCIPpropGetData(SCIP_PROP *prop)
Definition: prop.c:789
int SCIPpropGetNChgCoefs(SCIP_PROP *prop)
Definition: prop.c:1246
int SCIPpropGetNAggrVars(SCIP_PROP *prop)
Definition: prop.c:1176
const char * SCIPpropGetDesc(SCIP_PROP *prop)
Definition: prop.c:951
int SCIPpropGetPresolPriority(SCIP_PROP *prop)
Definition: prop.c:971
int SCIPpropGetNFixedVars(SCIP_PROP *prop)
Definition: prop.c:1166
const char * SCIPpropGetName(SCIP_PROP *prop)
Definition: prop.c:941
int SCIPpropGetNAddConss(SCIP_PROP *prop)
Definition: prop.c:1226
int SCIPpropGetPriority(SCIP_PROP *prop)
Definition: prop.c:961
void SCIPpropSetFreq(SCIP_PROP *prop, int freq)
Definition: prop.c:1044
SCIP_Real SCIPpropGetTime(SCIP_PROP *prop)
Definition: prop.c:1056
int SCIPpropGetNChgVarTypes(SCIP_PROP *prop)
Definition: prop.c:1186
SCIP_PRESOLTIMING SCIPpropGetPresolTiming(SCIP_PROP *prop)
Definition: prop.c:1296
SCIP_Bool SCIPpropIsInitialized(SCIP_PROP *prop)
Definition: prop.c:1156
SCIP_DECL_SORTPTRCOMP(SCIPpropComp)
Definition: prop.c:52
SCIP_Longint SCIPpropGetNCalls(SCIP_PROP *prop)
Definition: prop.c:1096
SCIP_PROPTIMING SCIPpropGetTimingmask(SCIP_PROP *prop)
Definition: prop.c:1276
int SCIPpropGetNDelConss(SCIP_PROP *prop)
Definition: prop.c:1216
type definitions for miscellaneous datastructures
type definitions for propagators
struct SCIP_PropData SCIP_PROPDATA
Definition: type_prop.h:52
unsigned int SCIP_PROPTIMING
Definition: type_timing.h:74
unsigned int SCIP_PRESOLTIMING
Definition: type_timing.h:61