Scippy

SCIP

Solving Constraint Integer Programs

pub_heur.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_heur.h
17  * @ingroup PUBLICMETHODS
18  * @brief public methods for primal heuristics
19  * @author Tobias Achterberg
20  */
21 
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23 
24 #ifndef __SCIP_PUB_HEUR_H__
25 #define __SCIP_PUB_HEUR_H__
26 
27 
28 #include "scip/def.h"
29 #include "scip/type_misc.h"
30 #include "scip/type_heur.h"
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 /** compares two heuristics w. r. to their priority */
37 extern
38 SCIP_DECL_SORTPTRCOMP(SCIPheurComp);
39 
40 /** comparison method for sorting heuristics w.r.t. to their name */
41 extern
42 SCIP_DECL_SORTPTRCOMP(SCIPheurCompName);
43 
44 /** gets user data of primal heuristic */
45 extern
47  SCIP_HEUR* heur /**< primal heuristic */
48  );
49 
50 /** sets user data of primal heuristic; user has to free old data in advance! */
51 extern
52 void SCIPheurSetData(
53  SCIP_HEUR* heur, /**< primal heuristic */
54  SCIP_HEURDATA* heurdata /**< new primal heuristic user data */
55  );
56 
57 /** gets name of primal heuristic */
58 extern
59 const char* SCIPheurGetName(
60  SCIP_HEUR* heur /**< primal heuristic */
61  );
62 
63 /** gets description of primal heuristic */
64 extern
65 const char* SCIPheurGetDesc(
66  SCIP_HEUR* heur /**< primal heuristic */
67  );
68 
69 /** gets display character of primal heuristic */
70 extern
72  SCIP_HEUR* heur /**< primal heuristic */
73  );
74 
75 /** returns the timing mask of the heuristic */
76 extern
78  SCIP_HEUR* heur /**< primal heuristic */
79  );
80 
81 /** sets new timing mask for heuristic */
82 extern
84  SCIP_HEUR* heur, /**< primal heuristic */
85  SCIP_HEURTIMING timingmask /**< new timing mask of heuristic */
86  );
87 
88 /** does the heuristic use a secondary SCIP instance? */
89 extern
91  SCIP_HEUR* heur /**< primal heuristic */
92  );
93 
94 /** gets priority of primal heuristic */
95 extern
97  SCIP_HEUR* heur /**< primal heuristic */
98  );
99 
100 /** gets frequency of primal heuristic */
101 extern
102 int SCIPheurGetFreq(
103  SCIP_HEUR* heur /**< primal heuristic */
104  );
105 
106 /** sets frequency of primal heuristic */
107 extern
108 void SCIPheurSetFreq(
109  SCIP_HEUR* heur, /**< primal heuristic */
110  int freq /**< new frequency of heuristic */
111  );
112 
113 /** gets frequency offset of primal heuristic */
114 extern
116  SCIP_HEUR* heur /**< primal heuristic */
117  );
118 
119 /** gets maximal depth level for calling primal heuristic (returns -1, if no depth limit exists) */
120 extern
122  SCIP_HEUR* heur /**< primal heuristic */
123  );
124 
125 /** gets the number of times, the heuristic was called and tried to find a solution */
126 extern
128  SCIP_HEUR* heur /**< primal heuristic */
129  );
130 
131 /** gets the number of primal feasible solutions found by this heuristic */
132 extern
134  SCIP_HEUR* heur /**< primal heuristic */
135  );
136 
137 /** gets the number of new best primal feasible solutions found by this heuristic */
138 extern
140  SCIP_HEUR* heur /**< primal heuristic */
141  );
142 
143 /** is primal heuristic initialized? */
144 extern
146  SCIP_HEUR* heur /**< primal heuristic */
147  );
148 
149 /** gets time in seconds used in this heuristic for setting up for next stages */
150 extern
152  SCIP_HEUR* heur /**< primal heuristic */
153  );
154 
155 /** gets time in seconds used in this heuristic */
156 extern
158  SCIP_HEUR* heur /**< primal heuristic */
159  );
160 
161 #ifdef __cplusplus
162 }
163 #endif
164 
165 #endif
166