Scippy

SCIP

Solving Constraint Integer Programs

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-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_sepa.h
17  * @ingroup PUBLICCOREAPI
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 /*--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
37 /**@addtogroup PublicSeparatorMethods
38  *
39  * @{
40  */
41 
42 
43 /** compares two separators w. r. to their priority */
44 SCIP_EXPORT
45 SCIP_DECL_SORTPTRCOMP(SCIPsepaComp);
46 
47 /** comparison method for sorting separators w.r.t. to their name */
48 SCIP_EXPORT
49 SCIP_DECL_SORTPTRCOMP(SCIPsepaCompName);
50 
51 /** gets user data of separator */
52 SCIP_EXPORT
54  SCIP_SEPA* sepa /**< separator */
55  );
56 
57 /** sets user data of separator; user has to free old data in advance! */
58 SCIP_EXPORT
59 void SCIPsepaSetData(
60  SCIP_SEPA* sepa, /**< separator */
61  SCIP_SEPADATA* sepadata /**< new separator user data */
62  );
63 
64 /** gets name of separator */
65 SCIP_EXPORT
66 const char* SCIPsepaGetName(
67  SCIP_SEPA* sepa /**< separator */
68  );
69 
70 /** gets description of separator */
71 SCIP_EXPORT
72 const char* SCIPsepaGetDesc(
73  SCIP_SEPA* sepa /**< separator */
74  );
75 
76 /** gets priority of separator */
77 SCIP_EXPORT
79  SCIP_SEPA* sepa /**< separator */
80  );
81 
82 /** gets frequency of separator */
83 SCIP_EXPORT
84 int SCIPsepaGetFreq(
85  SCIP_SEPA* sepa /**< separator */
86  );
87 
88 /** sets frequency of separator */
89 SCIP_EXPORT
90 void SCIPsepaSetFreq(
91  SCIP_SEPA* sepa, /**< separator */
92  int freq /**< new frequency of separator */
93  );
94 
95 /** get maximal bound distance at which the separator is called */
96 SCIP_EXPORT
98  SCIP_SEPA* sepa /**< separator */
99  );
100 
101 /** does the separator use a secondary SCIP instance? */
102 SCIP_EXPORT
104  SCIP_SEPA* sepa /**< separator */
105  );
106 
107 /** gets time in seconds used in this separator for setting up for next stages */
108 SCIP_EXPORT
110  SCIP_SEPA* sepa /**< separator */
111  );
112 
113 /** gets time in seconds used in this separator */
114 SCIP_EXPORT
116  SCIP_SEPA* sepa /**< separator */
117  );
118 
119 /** gets the total number of times the separator was called */
120 SCIP_EXPORT
122  SCIP_SEPA* sepa /**< separator */
123  );
124 
125 /** gets the total number of times the separator was called at the root */
126 SCIP_EXPORT
128  SCIP_SEPA* sepa /**< separator */
129  );
130 
131 /** gets the number of times, the separator was called at the current node */
132 SCIP_EXPORT
134  SCIP_SEPA* sepa /**< separator */
135  );
136 
137 /** gets total number of times, the separator detected a cutoff */
138 SCIP_EXPORT
140  SCIP_SEPA* sepa /**< separator */
141  );
142 
143 /** gets the total number of cutting planes added from the separator to the cut pool
144  * and to the sepastore directly */
145 SCIP_EXPORT
147  SCIP_SEPA* sepa /**< separator */
148  );
149 
150 /** gets the total number of cutting planes added from the separator to the sepastore;
151  * equal to the sum of added cuts directly and via the pool. */
152 SCIP_EXPORT
154  SCIP_SEPA* sepa /**< separator */
155  );
156 
157 /** gets the number of cutting planes from the separator added from the cut pool */
158 SCIP_EXPORT
160  SCIP_SEPA* sepa /**< separator */
161  );
162 
163 /** gets the number of cutting planes from the separator added directly to the sepastore */
164 SCIP_EXPORT
166  SCIP_SEPA* sepa /**< separator */
167  );
168 
169 /** gets the total number of cutting planes from the separator applied to the LP */
170 SCIP_EXPORT
172  SCIP_SEPA* sepa /**< separator */
173  );
174 
175 /** gets the total number of cutting planes from the separator applied to the LP from the cutpool */
176 SCIP_EXPORT
178  SCIP_SEPA* sepa /**< separator */
179  );
180 
181 /** gets the total number of cutting planes from the separator applied directly to the LP */
182 SCIP_EXPORT
184  SCIP_SEPA* sepa /**< separator */
185  );
186 
187 /** gets the number of cutting planes found by this separator at the current node */
188 SCIP_EXPORT
190  SCIP_SEPA* sepa /**< separator */
191  );
192 
193 /** gets total number of additional constraints added by this separator */
194 SCIP_EXPORT
196  SCIP_SEPA* sepa /**< separator */
197  );
198 
199 /** gets total number of domain reductions found by this separator */
200 SCIP_EXPORT
202  SCIP_SEPA* sepa /**< separator */
203  );
204 
205 /** should separator be delayed, if other separators found cuts? */
206 SCIP_EXPORT
208  SCIP_SEPA* sepa /**< separator */
209  );
210 
211 /** was separation of the LP solution delayed at the last call? */
212 SCIP_EXPORT
214  SCIP_SEPA* sepa /**< separator */
215  );
216 
217 /** was separation of the primal solution delayed at the last call? */
218 SCIP_EXPORT
220  SCIP_SEPA* sepa /**< separator */
221  );
222 
223 /** is separator initialized? */
224 SCIP_EXPORT
226  SCIP_SEPA* sepa /**< separator */
227  );
228 
229 /** gets whether separator is a parent separator */
230 SCIP_EXPORT
232  SCIP_SEPA* sepa /**< separator */
233  );
234 
235 /** gets parent separator (or NULL) */
236 SCIP_EXPORT
238  SCIP_SEPA* sepa /**< separator */
239  );
240 
241 /** @} */
242 
243 #ifdef __cplusplus
244 }
245 #endif
246 
247 #endif
SCIP_SEPA * SCIPsepaGetParentsepa(SCIP_SEPA *sepa)
Definition: sepa.c:1130
type definitions for miscellaneous datastructures
SCIP_Bool SCIPsepaIsParentsepa(SCIP_SEPA *sepa)
Definition: sepa.c:1120
SCIP_Bool SCIPsepaUsesSubscip(SCIP_SEPA *sepa)
Definition: sepa.c:809
SCIP_Longint SCIPsepaGetNDomredsFound(SCIP_SEPA *sepa)
Definition: sepa.c:1070
SCIP_Longint SCIPsepaGetNCutsAppliedViaPool(SCIP_SEPA *sepa)
Definition: sepa.c:942
SCIP_Real SCIPsepaGetSetupTime(SCIP_SEPA *sepa)
Definition: sepa.c:831
const char * SCIPsepaGetName(SCIP_SEPA *sepa)
Definition: sepa.c:734
SCIP_Real SCIPsepaGetTime(SCIP_SEPA *sepa)
Definition: sepa.c:841
SCIP_Longint SCIPsepaGetNCutsFound(SCIP_SEPA *sepa)
Definition: sepa.c:891
SCIP_Longint SCIPsepaGetNCutsAdded(SCIP_SEPA *sepa)
Definition: sepa.c:902
SCIP_DECL_SORTPTRCOMP(SCIPsepaComp)
Definition: sepa.c:43
SCIP_SEPADATA * SCIPsepaGetData(SCIP_SEPA *sepa)
Definition: sepa.c:624
int SCIPsepaGetFreq(SCIP_SEPA *sepa)
Definition: sepa.c:778
SCIP_Longint SCIPsepaGetNRootCalls(SCIP_SEPA *sepa)
Definition: sepa.c:861
SCIP_Longint SCIPsepaGetNCutoffs(SCIP_SEPA *sepa)
Definition: sepa.c:881
int SCIPsepaGetNCallsAtNode(SCIP_SEPA *sepa)
Definition: sepa.c:871
void SCIPsepaSetData(SCIP_SEPA *sepa, SCIP_SEPADATA *sepadata)
Definition: sepa.c:634
void SCIPsepaSetFreq(SCIP_SEPA *sepa, int freq)
Definition: sepa.c:788
SCIP_Real SCIPsepaGetMaxbounddist(SCIP_SEPA *sepa)
Definition: sepa.c:799
const char * SCIPsepaGetDesc(SCIP_SEPA *sepa)
Definition: sepa.c:744
SCIP_Longint SCIPsepaGetNCalls(SCIP_SEPA *sepa)
Definition: sepa.c:851
SCIP_Bool SCIPsepaWasLPDelayed(SCIP_SEPA *sepa)
Definition: sepa.c:1090
#define SCIP_Bool
Definition: def.h:84
SCIP_Longint SCIPsepaGetNConssFound(SCIP_SEPA *sepa)
Definition: sepa.c:1060
SCIP_Longint SCIPsepaGetNCutsAddedViaPool(SCIP_SEPA *sepa)
Definition: sepa.c:912
SCIP_Longint SCIPsepaGetNCutsAddedDirect(SCIP_SEPA *sepa)
Definition: sepa.c:922
SCIP_Longint SCIPsepaGetNCutsAppliedDirect(SCIP_SEPA *sepa)
Definition: sepa.c:952
SCIP_Bool SCIPsepaWasSolDelayed(SCIP_SEPA *sepa)
Definition: sepa.c:1100
type definitions for separators
SCIP_Bool SCIPsepaIsDelayed(SCIP_SEPA *sepa)
Definition: sepa.c:1080
#define SCIP_Real
Definition: def.h:177
SCIP_Longint SCIPsepaGetNCutsApplied(SCIP_SEPA *sepa)
Definition: sepa.c:932
#define SCIP_Longint
Definition: def.h:162
SCIP_Bool SCIPsepaIsInitialized(SCIP_SEPA *sepa)
Definition: sepa.c:1110
common defines and data types used in all packages of SCIP
SCIP_Longint SCIPsepaGetNCutsFoundAtNode(SCIP_SEPA *sepa)
Definition: sepa.c:1050
int SCIPsepaGetPriority(SCIP_SEPA *sepa)
Definition: sepa.c:754
struct SCIP_SepaData SCIP_SEPADATA
Definition: type_sepa.h:43