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-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_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 */
43 SCIP_DECL_SORTPTRCOMP(SCIPpresolComp);
44 
45 /** comparison method for sorting presolvers w.r.t. to their name */
47 SCIP_DECL_SORTPTRCOMP(SCIPpresolCompName);
48 
49 /** gets user data of presolver */
52  SCIP_PRESOL* presol /**< presolver */
53  );
54 
55 /** sets user data of presolver; user has to free old data in advance! */
58  SCIP_PRESOL* presol, /**< presolver */
59  SCIP_PRESOLDATA* presoldata /**< new presolver user data */
60  );
61 
62 /** gets name of presolver */
64 const char* SCIPpresolGetName(
65  SCIP_PRESOL* presol /**< presolver */
66  );
67 
68 /** gets description of presolver */
70 const char* SCIPpresolGetDesc(
71  SCIP_PRESOL* presol /**< presolver */
72  );
73 
74 /** gets priority of presolver */
77  SCIP_PRESOL* presol /**< presolver */
78  );
79 
80 /** gets round limit of presolver */
83  SCIP_PRESOL* presol /**< presolver */
84  );
85 
86 /** gets the timing mask of the presolver */
89  SCIP_PRESOL* presol /**< presolver */
90  );
91 
92 /** sets the timing mask of the presolver */
95  SCIP_PRESOL* presol, /**< presolver */
96  SCIP_PRESOLTIMING timing /**< timing mask of the presolver */
97  );
98 
99 /** is presolver initialized? */
102  SCIP_PRESOL* presol /**< presolver */
103  );
104 
105 /** gets time in seconds used in this presolver for setting up for next stages */
108  SCIP_PRESOL* presol /**< presolver */
109  );
110 
111 /** gets time in seconds used in this presolver */
114  SCIP_PRESOL* presol /**< presolver */
115  );
116 
117 /** gets number of variables fixed in presolver */
120  SCIP_PRESOL* presol /**< presolver */
121  );
122 
123 /** gets number of variables aggregated in presolver */
126  SCIP_PRESOL* presol /**< presolver */
127  );
128 
129 /** gets number of variable types changed in presolver */
132  SCIP_PRESOL* presol /**< presolver */
133  );
134 
135 /** gets number of bounds changed in presolver */
138  SCIP_PRESOL* presol /**< presolver */
139  );
140 
141 /** gets number of holes added to domains of variables in presolver */
144  SCIP_PRESOL* presol /**< presolver */
145  );
146 
147 /** gets number of constraints deleted in presolver */
150  SCIP_PRESOL* presol /**< presolver */
151  );
152 
153 /** gets number of constraints added in presolver */
156  SCIP_PRESOL* presol /**< presolver */
157  );
158 
159 /** gets number of constraints upgraded in presolver */
162  SCIP_PRESOL* presol /**< presolver */
163  );
164 
165 /** gets number of coefficients changed in presolver */
168  SCIP_PRESOL* presol /**< presolver */
169  );
170 
171 /** gets number of constraint sides changed in presolver */
174  SCIP_PRESOL* presol /**< presolver */
175  );
176 
177 /** gets number of times the presolver was called and tried to find reductions */
180  SCIP_PRESOL* presol /**< presolver */
181  );
182 
183 /** @} */
184 
185 #ifdef __cplusplus
186 }
187 #endif
188 
189 #endif
SCIP_EXPORT int SCIPpresolGetNDelConss(SCIP_PRESOL *presol)
Definition: presol.c:758
struct SCIP_PresolData SCIP_PRESOLDATA
Definition: type_presol.h:42
type definitions for miscellaneous datastructures
timing definitions for SCIP
SCIP_EXPORT const char * SCIPpresolGetDesc(SCIP_PRESOL *presol)
Definition: presol.c:600
#define SCIP_EXPORT
Definition: def.h:100
SCIP_EXPORT int SCIPpresolGetNCalls(SCIP_PRESOL *presol)
Definition: presol.c:808
type definitions for presolvers
SCIP_EXPORT void SCIPpresolSetTiming(SCIP_PRESOL *presol, SCIP_PRESOLTIMING timing)
Definition: presol.c:654
SCIP_EXPORT int SCIPpresolGetNFixedVars(SCIP_PRESOL *presol)
Definition: presol.c:708
SCIP_EXPORT int SCIPpresolGetNChgVarTypes(SCIP_PRESOL *presol)
Definition: presol.c:728
SCIP_EXPORT SCIP_Bool SCIPpresolIsInitialized(SCIP_PRESOL *presol)
Definition: presol.c:666
SCIP_EXPORT SCIP_PRESOLDATA * SCIPpresolGetData(SCIP_PRESOL *presol)
Definition: presol.c:503
SCIP_EXPORT int SCIPpresolGetNAddConss(SCIP_PRESOL *presol)
Definition: presol.c:768
SCIP_EXPORT SCIP_PRESOLTIMING SCIPpresolGetTiming(SCIP_PRESOL *presol)
Definition: presol.c:644
SCIP_EXPORT SCIP_Real SCIPpresolGetSetupTime(SCIP_PRESOL *presol)
Definition: presol.c:688
unsigned int SCIP_PRESOLTIMING
Definition: type_timing.h:52
SCIP_EXPORT int SCIPpresolGetNUpgdConss(SCIP_PRESOL *presol)
Definition: presol.c:778
SCIP_EXPORT SCIP_Real SCIPpresolGetTime(SCIP_PRESOL *presol)
Definition: presol.c:698
SCIP_EXPORT int SCIPpresolGetMaxrounds(SCIP_PRESOL *presol)
Definition: presol.c:620
SCIP_EXPORT void SCIPpresolSetData(SCIP_PRESOL *presol, SCIP_PRESOLDATA *presoldata)
Definition: presol.c:513
#define SCIP_Bool
Definition: def.h:70
SCIP_EXPORT int SCIPpresolGetNChgSides(SCIP_PRESOL *presol)
Definition: presol.c:798
SCIP_EXPORT const char * SCIPpresolGetName(SCIP_PRESOL *presol)
Definition: presol.c:590
SCIP_EXPORT int SCIPpresolGetNAggrVars(SCIP_PRESOL *presol)
Definition: presol.c:718
SCIP_EXPORT int SCIPpresolGetPriority(SCIP_PRESOL *presol)
Definition: presol.c:610
SCIP_EXPORT int SCIPpresolGetNChgCoefs(SCIP_PRESOL *presol)
Definition: presol.c:788
#define SCIP_Real
Definition: def.h:163
SCIP_EXPORT int SCIPpresolGetNChgBds(SCIP_PRESOL *presol)
Definition: presol.c:738
SCIP_EXPORT int SCIPpresolGetNAddHoles(SCIP_PRESOL *presol)
Definition: presol.c:748
common defines and data types used in all packages of SCIP
SCIP_EXPORT SCIP_DECL_SORTPTRCOMP(SCIPpresolComp)
Definition: presol.c:48