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-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_presol.h
26 * @ingroup PUBLICCOREAPI
27 * @brief public methods for presolvers
28 * @author Tobias Achterberg
29 */
30
31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
32
33#ifndef __SCIP_PUB_PRESOL_H__
34#define __SCIP_PUB_PRESOL_H__
35
36#include "scip/def.h"
37#include "scip/type_misc.h"
38#include "scip/type_presol.h"
39#include "scip/type_timing.h"
40
41#ifdef __cplusplus
42extern "C" {
43#endif
44
45/**@addtogroup PublicPresolverMethods
46 *
47 * @{
48 */
49
50/** compares two presolvers w. r. to their priority */
51SCIP_EXPORT
52SCIP_DECL_SORTPTRCOMP(SCIPpresolComp);
53
54/** comparison method for sorting presolvers w.r.t. to their name */
55SCIP_EXPORT
56SCIP_DECL_SORTPTRCOMP(SCIPpresolCompName);
57
58/** gets user data of presolver */
59SCIP_EXPORT
61 SCIP_PRESOL* presol /**< presolver */
62 );
63
64/** sets user data of presolver; user has to free old data in advance! */
65SCIP_EXPORT
67 SCIP_PRESOL* presol, /**< presolver */
68 SCIP_PRESOLDATA* presoldata /**< new presolver user data */
69 );
70
71/** gets name of presolver */
72SCIP_EXPORT
73const char* SCIPpresolGetName(
74 SCIP_PRESOL* presol /**< presolver */
75 );
76
77/** gets description of presolver */
78SCIP_EXPORT
79const char* SCIPpresolGetDesc(
80 SCIP_PRESOL* presol /**< presolver */
81 );
82
83/** gets priority of presolver */
84SCIP_EXPORT
86 SCIP_PRESOL* presol /**< presolver */
87 );
88
89/** gets round limit of presolver */
90SCIP_EXPORT
92 SCIP_PRESOL* presol /**< presolver */
93 );
94
95/** gets the timing mask of the presolver */
96SCIP_EXPORT
98 SCIP_PRESOL* presol /**< presolver */
99 );
100
101/** sets the timing mask of the presolver */
102SCIP_EXPORT
104 SCIP_PRESOL* presol, /**< presolver */
105 SCIP_PRESOLTIMING timing /**< timing mask of the presolver */
106 );
107
108/** is presolver initialized? */
109SCIP_EXPORT
111 SCIP_PRESOL* presol /**< presolver */
112 );
113
114/** gets time in seconds used in this presolver for setting up for next stages */
115SCIP_EXPORT
117 SCIP_PRESOL* presol /**< presolver */
118 );
119
120/** gets time in seconds used in this presolver */
121SCIP_EXPORT
123 SCIP_PRESOL* presol /**< presolver */
124 );
125
126/** gets number of variables fixed in presolver */
127SCIP_EXPORT
129 SCIP_PRESOL* presol /**< presolver */
130 );
131
132/** gets number of variables aggregated in presolver */
133SCIP_EXPORT
135 SCIP_PRESOL* presol /**< presolver */
136 );
137
138/** gets number of variable types changed in presolver */
139SCIP_EXPORT
141 SCIP_PRESOL* presol /**< presolver */
142 );
143
144/** gets number of bounds changed in presolver */
145SCIP_EXPORT
147 SCIP_PRESOL* presol /**< presolver */
148 );
149
150/** gets number of holes added to domains of variables in presolver */
151SCIP_EXPORT
153 SCIP_PRESOL* presol /**< presolver */
154 );
155
156/** gets number of constraints deleted in presolver */
157SCIP_EXPORT
159 SCIP_PRESOL* presol /**< presolver */
160 );
161
162/** gets number of constraints added in presolver */
163SCIP_EXPORT
165 SCIP_PRESOL* presol /**< presolver */
166 );
167
168/** gets number of constraints upgraded in presolver */
169SCIP_EXPORT
171 SCIP_PRESOL* presol /**< presolver */
172 );
173
174/** gets number of coefficients changed in presolver */
175SCIP_EXPORT
177 SCIP_PRESOL* presol /**< presolver */
178 );
179
180/** gets number of constraint sides changed in presolver */
181SCIP_EXPORT
183 SCIP_PRESOL* presol /**< presolver */
184 );
185
186/** gets number of times the presolver was called and tried to find reductions */
187SCIP_EXPORT
189 SCIP_PRESOL* presol /**< presolver */
190 );
191
192/** @} */
193
194#ifdef __cplusplus
195}
196#endif
197
198#endif
common defines and data types used in all packages of SCIP
#define SCIP_Bool
Definition: def.h:91
#define SCIP_Real
Definition: def.h:173
SCIP_Real SCIPpresolGetSetupTime(SCIP_PRESOL *presol)
Definition: presol.c:697
int SCIPpresolGetNAggrVars(SCIP_PRESOL *presol)
Definition: presol.c:727
SCIP_Bool SCIPpresolIsInitialized(SCIP_PRESOL *presol)
Definition: presol.c:675
int SCIPpresolGetNUpgdConss(SCIP_PRESOL *presol)
Definition: presol.c:787
int SCIPpresolGetNCalls(SCIP_PRESOL *presol)
Definition: presol.c:817
int SCIPpresolGetNDelConss(SCIP_PRESOL *presol)
Definition: presol.c:767
int SCIPpresolGetNChgCoefs(SCIP_PRESOL *presol)
Definition: presol.c:797
void SCIPpresolSetTiming(SCIP_PRESOL *presol, SCIP_PRESOLTIMING timing)
Definition: presol.c:663
int SCIPpresolGetNAddHoles(SCIP_PRESOL *presol)
Definition: presol.c:757
SCIP_DECL_SORTPTRCOMP(SCIPpresolComp)
Definition: presol.c:57
void SCIPpresolSetData(SCIP_PRESOL *presol, SCIP_PRESOLDATA *presoldata)
Definition: presol.c:522
SCIP_Real SCIPpresolGetTime(SCIP_PRESOL *presol)
Definition: presol.c:707
int SCIPpresolGetNChgVarTypes(SCIP_PRESOL *presol)
Definition: presol.c:737
SCIP_PRESOLDATA * SCIPpresolGetData(SCIP_PRESOL *presol)
Definition: presol.c:512
int SCIPpresolGetPriority(SCIP_PRESOL *presol)
Definition: presol.c:619
int SCIPpresolGetNChgSides(SCIP_PRESOL *presol)
Definition: presol.c:807
int SCIPpresolGetNFixedVars(SCIP_PRESOL *presol)
Definition: presol.c:717
const char * SCIPpresolGetDesc(SCIP_PRESOL *presol)
Definition: presol.c:609
int SCIPpresolGetNChgBds(SCIP_PRESOL *presol)
Definition: presol.c:747
int SCIPpresolGetNAddConss(SCIP_PRESOL *presol)
Definition: presol.c:777
int SCIPpresolGetMaxrounds(SCIP_PRESOL *presol)
Definition: presol.c:629
SCIP_PRESOLTIMING SCIPpresolGetTiming(SCIP_PRESOL *presol)
Definition: presol.c:653
const char * SCIPpresolGetName(SCIP_PRESOL *presol)
Definition: presol.c:599
type definitions for miscellaneous datastructures
type definitions for presolvers
struct SCIP_PresolData SCIP_PRESOLDATA
Definition: type_presol.h:51
timing definitions for SCIP
unsigned int SCIP_PRESOLTIMING
Definition: type_timing.h:61