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 number of times, the separator was called at the current node */
126 SCIP_EXPORT
128  SCIP_SEPA* sepa /**< separator */
129  );
130 
131 /** gets total number of times, the separator detected a cutoff */
132 SCIP_EXPORT
134  SCIP_SEPA* sepa /**< separator */
135  );
136 
137 /** gets the total number of cutting planes found by this separator */
138 SCIP_EXPORT
140  SCIP_SEPA* sepa /**< separator */
141  );
142 
143 /** gets the total number of cutting planes applied to lp */
144 SCIP_EXPORT
146  SCIP_SEPA* sepa /**< separator */
147  );
148 
149 /** gets the number of cutting planes found by this separator at the current node */
150 SCIP_EXPORT
152  SCIP_SEPA* sepa /**< separator */
153  );
154 
155 /** gets total number of additional constraints added by this separator */
156 SCIP_EXPORT
158  SCIP_SEPA* sepa /**< separator */
159  );
160 
161 /** gets total number of domain reductions found by this separator */
162 SCIP_EXPORT
164  SCIP_SEPA* sepa /**< separator */
165  );
166 
167 /** should separator be delayed, if other separators found cuts? */
168 SCIP_EXPORT
170  SCIP_SEPA* sepa /**< separator */
171  );
172 
173 /** was separation of the LP solution delayed at the last call? */
174 SCIP_EXPORT
176  SCIP_SEPA* sepa /**< separator */
177  );
178 
179 /** was separation of the primal solution delayed at the last call? */
180 SCIP_EXPORT
182  SCIP_SEPA* sepa /**< separator */
183  );
184 
185 /** is separator initialized? */
186 SCIP_EXPORT
188  SCIP_SEPA* sepa /**< separator */
189  );
190 
191 /** gets whether separator is a parent separator */
192 SCIP_EXPORT
194  SCIP_SEPA* sepa /**< separator */
195  );
196 
197 /** gets parent separator (or NULL) */
198 SCIP_EXPORT
200  SCIP_SEPA* sepa /**< separator */
201  );
202 
203 /** @} */
204 
205 #ifdef __cplusplus
206 }
207 #endif
208 
209 #endif
SCIP_SEPA * SCIPsepaGetParentsepa(SCIP_SEPA *sepa)
Definition: sepa.c:997
type definitions for miscellaneous datastructures
SCIP_Bool SCIPsepaIsParentsepa(SCIP_SEPA *sepa)
Definition: sepa.c:987
SCIP_Bool SCIPsepaUsesSubscip(SCIP_SEPA *sepa)
Definition: sepa.c:795
SCIP_Longint SCIPsepaGetNDomredsFound(SCIP_SEPA *sepa)
Definition: sepa.c:937
SCIP_Real SCIPsepaGetSetupTime(SCIP_SEPA *sepa)
Definition: sepa.c:817
const char * SCIPsepaGetName(SCIP_SEPA *sepa)
Definition: sepa.c:720
SCIP_Real SCIPsepaGetTime(SCIP_SEPA *sepa)
Definition: sepa.c:827
SCIP_Longint SCIPsepaGetNCutsFound(SCIP_SEPA *sepa)
Definition: sepa.c:867
SCIP_DECL_SORTPTRCOMP(SCIPsepaComp)
Definition: sepa.c:43
SCIP_SEPADATA * SCIPsepaGetData(SCIP_SEPA *sepa)
Definition: sepa.c:610
int SCIPsepaGetFreq(SCIP_SEPA *sepa)
Definition: sepa.c:764
SCIP_Longint SCIPsepaGetNCutoffs(SCIP_SEPA *sepa)
Definition: sepa.c:857
int SCIPsepaGetNCallsAtNode(SCIP_SEPA *sepa)
Definition: sepa.c:847
void SCIPsepaSetData(SCIP_SEPA *sepa, SCIP_SEPADATA *sepadata)
Definition: sepa.c:620
void SCIPsepaSetFreq(SCIP_SEPA *sepa, int freq)
Definition: sepa.c:774
SCIP_Real SCIPsepaGetMaxbounddist(SCIP_SEPA *sepa)
Definition: sepa.c:785
const char * SCIPsepaGetDesc(SCIP_SEPA *sepa)
Definition: sepa.c:730
SCIP_Longint SCIPsepaGetNCalls(SCIP_SEPA *sepa)
Definition: sepa.c:837
SCIP_Bool SCIPsepaWasLPDelayed(SCIP_SEPA *sepa)
Definition: sepa.c:957
#define SCIP_Bool
Definition: def.h:84
SCIP_Longint SCIPsepaGetNConssFound(SCIP_SEPA *sepa)
Definition: sepa.c:927
SCIP_Bool SCIPsepaWasSolDelayed(SCIP_SEPA *sepa)
Definition: sepa.c:967
type definitions for separators
SCIP_Bool SCIPsepaIsDelayed(SCIP_SEPA *sepa)
Definition: sepa.c:947
#define SCIP_Real
Definition: def.h:177
SCIP_Longint SCIPsepaGetNCutsApplied(SCIP_SEPA *sepa)
Definition: sepa.c:877
#define SCIP_Longint
Definition: def.h:162
SCIP_Bool SCIPsepaIsInitialized(SCIP_SEPA *sepa)
Definition: sepa.c:977
common defines and data types used in all packages of SCIP
SCIP_Longint SCIPsepaGetNCutsFoundAtNode(SCIP_SEPA *sepa)
Definition: sepa.c:917
int SCIPsepaGetPriority(SCIP_SEPA *sepa)
Definition: sepa.c:740
struct SCIP_SepaData SCIP_SEPADATA
Definition: type_sepa.h:43