Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.2.0
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_sepa.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_sepa.h
17
* @ingroup PUBLICMETHODS
18
* @brief public methods for separators
19
* @author Tobias Achterberg
20
*/
21
22
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23
24
#ifndef __SCIP_PUB_SEPA_H__
25
#define __SCIP_PUB_SEPA_H__
26
27
28
#include "
scip/def.h
"
29
#include "
scip/type_misc.h
"
30
#include "
scip/type_sepa.h
"
31
32
#ifdef __cplusplus
33
extern
"C"
{
34
#endif
35
36
/** compares two separators w. r. to their priority */
37
extern
38
SCIP_DECL_SORTPTRCOMP
(SCIPsepaComp);
39
40
/** comparison method for sorting separators w.r.t. to their name */
41
extern
42
SCIP_DECL_SORTPTRCOMP
(SCIPsepaCompName);
43
44
/** gets user data of separator */
45
extern
46
SCIP_SEPADATA
*
SCIPsepaGetData
(
47
SCIP_SEPA
* sepa
/**< separator */
48
);
49
50
/** sets user data of separator; user has to free old data in advance! */
51
extern
52
void
SCIPsepaSetData
(
53
SCIP_SEPA
* sepa,
/**< separator */
54
SCIP_SEPADATA
* sepadata
/**< new separator user data */
55
);
56
57
/** gets name of separator */
58
extern
59
const
char
*
SCIPsepaGetName
(
60
SCIP_SEPA
* sepa
/**< separator */
61
);
62
63
/** gets description of separator */
64
extern
65
const
char
*
SCIPsepaGetDesc
(
66
SCIP_SEPA
* sepa
/**< separator */
67
);
68
69
/** gets priority of separator */
70
extern
71
int
SCIPsepaGetPriority
(
72
SCIP_SEPA
* sepa
/**< separator */
73
);
74
75
/** gets frequency of separator */
76
extern
77
int
SCIPsepaGetFreq
(
78
SCIP_SEPA
* sepa
/**< separator */
79
);
80
81
/** sets frequency of separator */
82
extern
83
void
SCIPsepaSetFreq
(
84
SCIP_SEPA
* sepa,
/**< separator */
85
int
freq
/**< new frequency of separator */
86
);
87
88
/** get maximal bound distance at which the separator is called */
89
extern
90
SCIP_Real
SCIPsepaGetMaxbounddist
(
91
SCIP_SEPA
* sepa
/**< separator */
92
);
93
94
/** does the separator use a secondary SCIP instance? */
95
extern
96
SCIP_Bool
SCIPsepaUsesSubscip
(
97
SCIP_SEPA
* sepa
/**< separator */
98
);
99
100
/** gets time in seconds used in this separator for setting up for next stages */
101
extern
102
SCIP_Real
SCIPsepaGetSetupTime
(
103
SCIP_SEPA
* sepa
/**< separator */
104
);
105
106
/** gets time in seconds used in this separator */
107
extern
108
SCIP_Real
SCIPsepaGetTime
(
109
SCIP_SEPA
* sepa
/**< separator */
110
);
111
112
/** gets the total number of times, the separator was called */
113
extern
114
SCIP_Longint
SCIPsepaGetNCalls
(
115
SCIP_SEPA
* sepa
/**< separator */
116
);
117
118
/** gets the number of times, the separator was called at the current node */
119
extern
120
int
SCIPsepaGetNCallsAtNode
(
121
SCIP_SEPA
* sepa
/**< separator */
122
);
123
124
/** gets total number of times, the separator detected a cutoff */
125
extern
126
SCIP_Longint
SCIPsepaGetNCutoffs
(
127
SCIP_SEPA
* sepa
/**< separator */
128
);
129
130
/** gets the total number of cutting planes found by this separator */
131
extern
132
SCIP_Longint
SCIPsepaGetNCutsFound
(
133
SCIP_SEPA
* sepa
/**< separator */
134
);
135
136
/** gets the total number of cutting planes applied to lp */
137
extern
138
SCIP_Longint
SCIPsepaGetNCutsApplied
(
139
SCIP_SEPA
* sepa
/**< separator */
140
);
141
142
/** gets the number of cutting planes found by this separator at the current node */
143
extern
144
SCIP_Longint
SCIPsepaGetNCutsFoundAtNode
(
145
SCIP_SEPA
* sepa
/**< separator */
146
);
147
148
/** gets total number of additional constraints added by this separator */
149
extern
150
SCIP_Longint
SCIPsepaGetNConssFound
(
151
SCIP_SEPA
* sepa
/**< separator */
152
);
153
154
/** gets total number of domain reductions found by this separator */
155
extern
156
SCIP_Longint
SCIPsepaGetNDomredsFound
(
157
SCIP_SEPA
* sepa
/**< separator */
158
);
159
160
/** should separator be delayed, if other separators found cuts? */
161
extern
162
SCIP_Bool
SCIPsepaIsDelayed
(
163
SCIP_SEPA
* sepa
/**< separator */
164
);
165
166
/** was separation of the LP solution delayed at the last call? */
167
extern
168
SCIP_Bool
SCIPsepaWasLPDelayed
(
169
SCIP_SEPA
* sepa
/**< separator */
170
);
171
172
/** was separation of the primal solution delayed at the last call? */
173
extern
174
SCIP_Bool
SCIPsepaWasSolDelayed
(
175
SCIP_SEPA
* sepa
/**< separator */
176
);
177
178
/** is separator initialized? */
179
extern
180
SCIP_Bool
SCIPsepaIsInitialized
(
181
SCIP_SEPA
* sepa
/**< separator */
182
);
183
184
#ifdef __cplusplus
185
}
186
#endif
187
188
#endif
189