Scippy

SCIP

Solving Constraint Integer Programs

pub_relax.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-2021 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_relax.h
17  * @ingroup PUBLICCOREAPI
18  * @brief public methods for relaxation handlers
19  * @author Tobias Achterberg
20  */
21 
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23 
24 #ifndef __SCIP_PUB_RELAX_H__
25 #define __SCIP_PUB_RELAX_H__
26 
27 
28 #include "scip/def.h"
29 #include "scip/type_misc.h"
30 #include "scip/type_relax.h"
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 
37 /**@addtogroup PublicRelaxatorMethods
38  *
39  * @{
40  */
41 
42 
43 /** compares two relaxation handlers w. r. to their priority */
45 SCIP_DECL_SORTPTRCOMP(SCIPrelaxComp);
46 
47 /** comparison method for sorting relaxators w.r.t. to their name */
49 SCIP_DECL_SORTPTRCOMP(SCIPrelaxCompName);
50 
51 /** gets user data of relaxation handler */
54  SCIP_RELAX* relax /**< relaxation handler */
55  );
56 
57 /** sets user data of relaxation handler; user has to free old data in advance! */
59 void SCIPrelaxSetData(
60  SCIP_RELAX* relax, /**< relaxation handler */
61  SCIP_RELAXDATA* relaxdata /**< new relaxation handler user data */
62  );
63 
64 /** gets name of relaxation handler */
66 const char* SCIPrelaxGetName(
67  SCIP_RELAX* relax /**< relaxation handler */
68  );
69 
70 /** gets description of relaxation handler */
72 const char* SCIPrelaxGetDesc(
73  SCIP_RELAX* relax /**< relaxation handler */
74  );
75 
76 /** gets priority of relaxation handler */
79  SCIP_RELAX* relax /**< relaxation handler */
80  );
81 
82 /** gets frequency of relaxation handler */
85  SCIP_RELAX* relax /**< relaxation handler */
86  );
87 
88 /** gets time in seconds used in this relaxator for setting up for next stages */
91  SCIP_RELAX* relax /**< relaxator */
92  );
93 
94 /** gets time in seconds used in this relaxation handler */
97  SCIP_RELAX* relax /**< relaxation handler */
98  );
99 
100 /** gets the total number of times the relaxation handler was called */
103  SCIP_RELAX* relax /**< relaxation handler */
104  );
105 
106 /** gets the total number of times the relaxation handler cut off a node */
109  SCIP_RELAX* relax /**< relaxation handler */
110  );
111 
112 /** gets the total number of times the relaxation handler improved a node's lower bound */
115  SCIP_RELAX* relax /**< relaxation handler */
116  );
117 
118 /** gets the time in seconds spent for the execution of the relaxation handler when a node's lower bound could be improved (or a cutoff was found) */
121  SCIP_RELAX* relax /**< relaxation handler */
122  );
123 
124 /** gets the total number of times the relaxation handler added constraints */
127  SCIP_RELAX* relax /**< relaxation handler */
128  );
129 
130 /** gets the total number of times the relaxation handler reduced variable domains */
133  SCIP_RELAX* relax /**< relaxation handler */
134  );
135 
136 /** gets the total number of times the relaxation handler separated cutting planes */
139  SCIP_RELAX* relax /**< relaxation handler */
140  );
141 
142 /** is relaxation handler initialized? */
145  SCIP_RELAX* relax /**< relaxation handler */
146  );
147 
148 /** marks the current relaxation unsolved, s.t. the relaxation handler is called again in the next solving round */
151  SCIP_RELAX* relax /**< relaxation handler */
152  );
153 
154 /** @} */
155 
156 #ifdef __cplusplus
157 }
158 #endif
159 
160 #endif
SCIP_EXPORT SCIP_Longint SCIPrelaxGetNCutoffs(SCIP_RELAX *relax)
Definition: relax.c:623
type definitions for miscellaneous datastructures
#define SCIP_EXPORT
Definition: def.h:100
SCIP_EXPORT SCIP_Longint SCIPrelaxGetNCalls(SCIP_RELAX *relax)
Definition: relax.c:613
SCIP_EXPORT SCIP_Longint SCIPrelaxGetNAddedConss(SCIP_RELAX *relax)
Definition: relax.c:643
SCIP_EXPORT void SCIPrelaxMarkUnsolved(SCIP_RELAX *relax)
Definition: relax.c:705
SCIP_EXPORT const char * SCIPrelaxGetDesc(SCIP_RELAX *relax)
Definition: relax.c:537
SCIP_EXPORT SCIP_Real SCIPrelaxGetSetupTime(SCIP_RELAX *relax)
Definition: relax.c:581
SCIP_EXPORT int SCIPrelaxGetPriority(SCIP_RELAX *relax)
Definition: relax.c:547
SCIP_EXPORT SCIP_Longint SCIPrelaxGetNImprovedLowerbound(SCIP_RELAX *relax)
Definition: relax.c:633
SCIP_EXPORT SCIP_Real SCIPrelaxGetTime(SCIP_RELAX *relax)
Definition: relax.c:603
SCIP_EXPORT void SCIPrelaxSetData(SCIP_RELAX *relax, SCIP_RELAXDATA *relaxdata)
Definition: relax.c:450
type definitions for relaxators
SCIP_EXPORT int SCIPrelaxGetFreq(SCIP_RELAX *relax)
Definition: relax.c:571
#define SCIP_Bool
Definition: def.h:70
SCIP_EXPORT SCIP_RELAXDATA * SCIPrelaxGetData(SCIP_RELAX *relax)
Definition: relax.c:440
SCIP_EXPORT SCIP_Longint SCIPrelaxGetNSeparatedCuts(SCIP_RELAX *relax)
Definition: relax.c:673
SCIP_EXPORT SCIP_Bool SCIPrelaxIsInitialized(SCIP_RELAX *relax)
Definition: relax.c:683
struct SCIP_RelaxData SCIP_RELAXDATA
Definition: type_relax.h:38
SCIP_EXPORT const char * SCIPrelaxGetName(SCIP_RELAX *relax)
Definition: relax.c:527
#define SCIP_Real
Definition: def.h:163
SCIP_EXPORT SCIP_DECL_SORTPTRCOMP(SCIPrelaxComp)
Definition: relax.c:46
#define SCIP_Longint
Definition: def.h:148
common defines and data types used in all packages of SCIP
SCIP_EXPORT SCIP_Longint SCIPrelaxGetNReducedDomains(SCIP_RELAX *relax)
Definition: relax.c:663
SCIP_EXPORT SCIP_Real SCIPrelaxGetImprovedLowerboundTime(SCIP_RELAX *relax)
Definition: relax.c:653