Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.1.1
SCIP 8.1.0
SCIP 7.0.3
SCIP 6.0.2
SCIP 5.0.1
SCIP 4.0.1
SCIP 3.2.1
SCIP
Solving Constraint Integer Programs
Overview
Files
Plugin Types
Interfaces
Examples
How To
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
scip-repo
src
scip
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-2014 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 email to scip@zib.de. */
13
/* */
14
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15
16
/**@file pub_presol.h
17
* @ingroup PUBLICMETHODS
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
28
#include "
scip/def.h
"
29
#include "
scip/type_misc.h
"
30
#include "
scip/type_presol.h
"
31
32
#ifdef __cplusplus
33
extern
"C"
{
34
#endif
35
36
/** compares two presolvers w. r. to their priority */
37
extern
38
SCIP_DECL_SORTPTRCOMP
(SCIPpresolComp);
39
40
/** comparison method for sorting presolvers w.r.t. to their name */
41
extern
42
SCIP_DECL_SORTPTRCOMP
(SCIPpresolCompName);
43
44
/** gets user data of presolver */
45
extern
46
SCIP_PRESOLDATA
*
SCIPpresolGetData
(
47
SCIP_PRESOL
* presol
/**< presolver */
48
);
49
50
/** sets user data of presolver; user has to free old data in advance! */
51
extern
52
void
SCIPpresolSetData
(
53
SCIP_PRESOL
* presol,
/**< presolver */
54
SCIP_PRESOLDATA
* presoldata
/**< new presolver user data */
55
);
56
57
/** gets name of presolver */
58
extern
59
const
char
*
SCIPpresolGetName
(
60
SCIP_PRESOL
* presol
/**< presolver */
61
);
62
63
/** gets description of presolver */
64
extern
65
const
char
*
SCIPpresolGetDesc
(
66
SCIP_PRESOL
* presol
/**< presolver */
67
);
68
69
/** gets priority of presolver */
70
extern
71
int
SCIPpresolGetPriority
(
72
SCIP_PRESOL
* presol
/**< presolver */
73
);
74
75
/** should presolver be delayed, if other presolvers found reductions? */
76
extern
77
SCIP_Bool
SCIPpresolIsDelayed
(
78
SCIP_PRESOL
* presol
/**< presolver */
79
);
80
81
/** was presolver delayed at the last call? */
82
extern
83
SCIP_Bool
SCIPpresolWasDelayed
(
84
SCIP_PRESOL
* presol
/**< presolver */
85
);
86
87
/** is presolver initialized? */
88
extern
89
SCIP_Bool
SCIPpresolIsInitialized
(
90
SCIP_PRESOL
* presol
/**< presolver */
91
);
92
93
/** gets time in seconds used in this presolver for setting up for next stages */
94
extern
95
SCIP_Real
SCIPpresolGetSetupTime
(
96
SCIP_PRESOL
* presol
/**< presolver */
97
);
98
99
/** gets time in seconds used in this presolver */
100
extern
101
SCIP_Real
SCIPpresolGetTime
(
102
SCIP_PRESOL
* presol
/**< presolver */
103
);
104
105
/** gets number of variables fixed in presolver */
106
extern
107
int
SCIPpresolGetNFixedVars
(
108
SCIP_PRESOL
* presol
/**< presolver */
109
);
110
111
/** gets number of variables aggregated in presolver */
112
extern
113
int
SCIPpresolGetNAggrVars
(
114
SCIP_PRESOL
* presol
/**< presolver */
115
);
116
117
/** gets number of variable types changed in presolver */
118
extern
119
int
SCIPpresolGetNChgVarTypes
(
120
SCIP_PRESOL
* presol
/**< presolver */
121
);
122
123
/** gets number of bounds changed in presolver */
124
extern
125
int
SCIPpresolGetNChgBds
(
126
SCIP_PRESOL
* presol
/**< presolver */
127
);
128
129
/** gets number of holes added to domains of variables in presolver */
130
extern
131
int
SCIPpresolGetNAddHoles
(
132
SCIP_PRESOL
* presol
/**< presolver */
133
);
134
135
/** gets number of constraints deleted in presolver */
136
extern
137
int
SCIPpresolGetNDelConss
(
138
SCIP_PRESOL
* presol
/**< presolver */
139
);
140
141
/** gets number of constraints added in presolver */
142
extern
143
int
SCIPpresolGetNAddConss
(
144
SCIP_PRESOL
* presol
/**< presolver */
145
);
146
147
/** gets number of constraints upgraded in presolver */
148
extern
149
int
SCIPpresolGetNUpgdConss
(
150
SCIP_PRESOL
* presol
/**< presolver */
151
);
152
153
/** gets number of coefficients changed in presolver */
154
extern
155
int
SCIPpresolGetNChgCoefs
(
156
SCIP_PRESOL
* presol
/**< presolver */
157
);
158
159
/** gets number of constraint sides changed in presolver */
160
extern
161
int
SCIPpresolGetNChgSides
(
162
SCIP_PRESOL
* presol
/**< presolver */
163
);
164
165
/** gets number of times the presolver was called and tried to find reductions */
166
extern
167
int
SCIPpresolGetNCalls
(
168
SCIP_PRESOL
* presol
/**< presolver */
169
);
170
171
#ifdef __cplusplus
172
}
173
#endif
174
175
#endif
176