Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.1.1
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_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
46
SCIP_HEURDATA
*
SCIPheurGetData
(
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
71
char
SCIPheurGetDispchar
(
72
SCIP_HEUR
* heur
/**< primal heuristic */
73
);
74
75
/** returns the timing mask of the heuristic */
76
extern
77
SCIP_HEURTIMING
SCIPheurGetTimingmask
(
78
SCIP_HEUR
* heur
/**< primal heuristic */
79
);
80
81
/** sets new timing mask for heuristic */
82
extern
83
void
SCIPheurSetTimingmask
(
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
90
SCIP_Bool
SCIPheurUsesSubscip
(
91
SCIP_HEUR
* heur
/**< primal heuristic */
92
);
93
94
/** gets priority of primal heuristic */
95
extern
96
int
SCIPheurGetPriority
(
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
115
int
SCIPheurGetFreqofs
(
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
121
int
SCIPheurGetMaxdepth
(
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
127
SCIP_Longint
SCIPheurGetNCalls
(
128
SCIP_HEUR
* heur
/**< primal heuristic */
129
);
130
131
/** gets the number of primal feasible solutions found by this heuristic */
132
extern
133
SCIP_Longint
SCIPheurGetNSolsFound
(
134
SCIP_HEUR
* heur
/**< primal heuristic */
135
);
136
137
/** gets the number of new best primal feasible solutions found by this heuristic */
138
extern
139
SCIP_Longint
SCIPheurGetNBestSolsFound
(
140
SCIP_HEUR
* heur
/**< primal heuristic */
141
);
142
143
/** is primal heuristic initialized? */
144
extern
145
SCIP_Bool
SCIPheurIsInitialized
(
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
151
SCIP_Real
SCIPheurGetSetupTime
(
152
SCIP_HEUR
* heur
/**< primal heuristic */
153
);
154
155
/** gets time in seconds used in this heuristic */
156
extern
157
SCIP_Real
SCIPheurGetTime
(
158
SCIP_HEUR
* heur
/**< primal heuristic */
159
);
160
161
#ifdef __cplusplus
162
}
163
#endif
164
165
#endif
166