Scippy

SCIP

Solving Constraint Integer Programs

pub_presol.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-2022 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_presol.h
17  * @ingroup PUBLICCOREAPI
18  * @brief public methods for presolvers
19  * @author Tobias Achterberg
20  */
21 
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23 
24 #ifndef __SCIP_PUB_PRESOL_H__
25 #define __SCIP_PUB_PRESOL_H__
26 
27 #include "scip/def.h"
28 #include "scip/type_misc.h"
29 #include "scip/type_presol.h"
30 #include "scip/type_timing.h"
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 /**@addtogroup PublicPresolverMethods
37  *
38  * @{
39  */
40 
41 /** compares two presolvers w. r. to their priority */
42 SCIP_EXPORT
43 SCIP_DECL_SORTPTRCOMP(SCIPpresolComp);
44 
45 /** comparison method for sorting presolvers w.r.t. to their name */
46 SCIP_EXPORT
47 SCIP_DECL_SORTPTRCOMP(SCIPpresolCompName);
48 
49 /** gets user data of presolver */
50 SCIP_EXPORT
52  SCIP_PRESOL* presol /**< presolver */
53  );
54 
55 /** sets user data of presolver; user has to free old data in advance! */
56 SCIP_EXPORT
58  SCIP_PRESOL* presol, /**< presolver */
59  SCIP_PRESOLDATA* presoldata /**< new presolver user data */
60  );
61 
62 /** gets name of presolver */
63 SCIP_EXPORT
64 const char* SCIPpresolGetName(
65  SCIP_PRESOL* presol /**< presolver */
66  );
67 
68 /** gets description of presolver */
69 SCIP_EXPORT
70 const char* SCIPpresolGetDesc(
71  SCIP_PRESOL* presol /**< presolver */
72  );
73 
74 /** gets priority of presolver */
75 SCIP_EXPORT
77  SCIP_PRESOL* presol /**< presolver */
78  );
79 
80 /** gets round limit of presolver */
81 SCIP_EXPORT
83  SCIP_PRESOL* presol /**< presolver */
84  );
85 
86 /** gets the timing mask of the presolver */
87 SCIP_EXPORT
89  SCIP_PRESOL* presol /**< presolver */
90  );
91 
92 /** sets the timing mask of the presolver */
93 SCIP_EXPORT
95  SCIP_PRESOL* presol, /**< presolver */
96  SCIP_PRESOLTIMING timing /**< timing mask of the presolver */
97  );
98 
99 /** is presolver initialized? */
100 SCIP_EXPORT
102  SCIP_PRESOL* presol /**< presolver */
103  );
104 
105 /** gets time in seconds used in this presolver for setting up for next stages */
106 SCIP_EXPORT
108  SCIP_PRESOL* presol /**< presolver */
109  );
110 
111 /** gets time in seconds used in this presolver */
112 SCIP_EXPORT
114  SCIP_PRESOL* presol /**< presolver */
115  );
116 
117 /** gets number of variables fixed in presolver */
118 SCIP_EXPORT
120  SCIP_PRESOL* presol /**< presolver */
121  );
122 
123 /** gets number of variables aggregated in presolver */
124 SCIP_EXPORT
126  SCIP_PRESOL* presol /**< presolver */
127  );
128 
129 /** gets number of variable types changed in presolver */
130 SCIP_EXPORT
132  SCIP_PRESOL* presol /**< presolver */
133  );
134 
135 /** gets number of bounds changed in presolver */
136 SCIP_EXPORT
138  SCIP_PRESOL* presol /**< presolver */
139  );
140 
141 /** gets number of holes added to domains of variables in presolver */
142 SCIP_EXPORT
144  SCIP_PRESOL* presol /**< presolver */
145  );
146 
147 /** gets number of constraints deleted in presolver */
148 SCIP_EXPORT
150  SCIP_PRESOL* presol /**< presolver */
151  );
152 
153 /** gets number of constraints added in presolver */
154 SCIP_EXPORT
156  SCIP_PRESOL* presol /**< presolver */
157  );
158 
159 /** gets number of constraints upgraded in presolver */
160 SCIP_EXPORT
162  SCIP_PRESOL* presol /**< presolver */
163  );
164 
165 /** gets number of coefficients changed in presolver */
166 SCIP_EXPORT
168  SCIP_PRESOL* presol /**< presolver */
169  );
170 
171 /** gets number of constraint sides changed in presolver */
172 SCIP_EXPORT
174  SCIP_PRESOL* presol /**< presolver */
175  );
176 
177 /** gets number of times the presolver was called and tried to find reductions */
178 SCIP_EXPORT
180  SCIP_PRESOL* presol /**< presolver */
181  );
182 
183 /** @} */
184 
185 #ifdef __cplusplus
186 }
187 #endif
188 
189 #endif
int SCIPpresolGetNDelConss(SCIP_PRESOL *presol)
Definition: presol.c:758
struct SCIP_PresolData SCIP_PRESOLDATA
Definition: type_presol.h:42
int SCIPpresolGetNAggrVars(SCIP_PRESOL *presol)
Definition: presol.c:718
type definitions for miscellaneous datastructures
timing definitions for SCIP
int SCIPpresolGetNChgCoefs(SCIP_PRESOL *presol)
Definition: presol.c:788
SCIP_DECL_SORTPTRCOMP(SCIPpresolComp)
Definition: presol.c:48
SCIP_PRESOLDATA * SCIPpresolGetData(SCIP_PRESOL *presol)
Definition: presol.c:503
int SCIPpresolGetNFixedVars(SCIP_PRESOL *presol)
Definition: presol.c:708
type definitions for presolvers
const char * SCIPpresolGetDesc(SCIP_PRESOL *presol)
Definition: presol.c:600
SCIP_Bool SCIPpresolIsInitialized(SCIP_PRESOL *presol)
Definition: presol.c:666
SCIP_Real SCIPpresolGetSetupTime(SCIP_PRESOL *presol)
Definition: presol.c:688
int SCIPpresolGetNChgVarTypes(SCIP_PRESOL *presol)
Definition: presol.c:728
void SCIPpresolSetData(SCIP_PRESOL *presol, SCIP_PRESOLDATA *presoldata)
Definition: presol.c:513
int SCIPpresolGetPriority(SCIP_PRESOL *presol)
Definition: presol.c:610
unsigned int SCIP_PRESOLTIMING
Definition: type_timing.h:52
#define SCIP_Bool
Definition: def.h:84
SCIP_Real SCIPpresolGetTime(SCIP_PRESOL *presol)
Definition: presol.c:698
int SCIPpresolGetNCalls(SCIP_PRESOL *presol)
Definition: presol.c:808
int SCIPpresolGetMaxrounds(SCIP_PRESOL *presol)
Definition: presol.c:620
const char * SCIPpresolGetName(SCIP_PRESOL *presol)
Definition: presol.c:590
void SCIPpresolSetTiming(SCIP_PRESOL *presol, SCIP_PRESOLTIMING timing)
Definition: presol.c:654
int SCIPpresolGetNUpgdConss(SCIP_PRESOL *presol)
Definition: presol.c:778
int SCIPpresolGetNChgSides(SCIP_PRESOL *presol)
Definition: presol.c:798
int SCIPpresolGetNAddHoles(SCIP_PRESOL *presol)
Definition: presol.c:748
#define SCIP_Real
Definition: def.h:177
common defines and data types used in all packages of SCIP
int SCIPpresolGetNAddConss(SCIP_PRESOL *presol)
Definition: presol.c:768
int SCIPpresolGetNChgBds(SCIP_PRESOL *presol)
Definition: presol.c:738
SCIP_PRESOLTIMING SCIPpresolGetTiming(SCIP_PRESOL *presol)
Definition: presol.c:644