Alps.h
Go to the documentation of this file.
1 /*===========================================================================*
2  * This file is part of the Abstract Library for Parallel Search (ALPS). *
3  * *
4  * ALPS is distributed under the Eclipse Public License as part of the *
5  * COIN-OR repository (http://www.coin-or.org). *
6  * *
7  * Authors: *
8  * *
9  * Yan Xu, Lehigh University *
10  * Ted Ralphs, Lehigh University *
11  * *
12  * Conceptual Design: *
13  * *
14  * Yan Xu, Lehigh University *
15  * Ted Ralphs, Lehigh University *
16  * Laszlo Ladanyi, IBM T.J. Watson Research Center *
17  * Matthew Saltzman, Clemson University *
18  * *
19  * *
20  * Copyright (C) 2001-2013, Lehigh University, Yan Xu, and Ted Ralphs. *
21  * All Rights Reserved. *
22  *===========================================================================*/
23 
24 #ifndef Alps_h_
25 #define Alps_h_
26 
27 #include <cfloat>
28 #include <cstdio>
29 
30 #include "AlpsConfig.h"
31 #include "CoinFinite.hpp"
32 
33 //#############################################################################
34 
35 #if defined(__linux__)
36 #define ALPS_MEMORY_USAGE 1
37 #endif
38 
39 //#############################################################################
41 //#############################################################################
42 
46 };
47 
48 //#############################################################################
50 //#############################################################################
51 
55 };
56 
57 //#############################################################################
59 //#############################################################################
60 
68 };
69 
70 //#############################################################################
72 //#############################################################################
73 
80 };
81 
82 //#############################################################################
84 //#############################################################################
85 
86 typedef int KnowledgeType;
87 
95 };
96 
97 //#############################################################################
98 // Search return status
99 //#############################################################################
100 
112 };
113 
114 //#############################################################################
115 // Return code.
116 //#############################################################################
117 
121  AlpsReturnStatusErrNoInt, /* No integer variable.*/
123 };
124 
125 //#############################################################################
126 // Seach phase
127 //#############################################################################
128 
129 enum AlpsPhase {
133 };
134 
135 #define ALPS_NODE_PROCESS_TIME 0.0123
136 #define ALPS_NONE 0
137 #define ALPS_NOT_SET -1
138 
139 //#############################################################################
140 // Big number
141 //#############################################################################
142 
143 #define ALPS_DBL_MAX COIN_DBL_MAX
144 #define ALPS_INC_MAX 1.0e80
145 #define ALPS_OBJ_MAX 1.0e75
146 #define ALPS_OBJ_MAX_LESS 1.0e70
147 #define ALPS_BND_MAX 1.0e20
148 #define ALPS_INFINITY 1.0e20
149 
150 #define ALPS_INT_MAX COIN_INT_MAX
151 
152 //#############################################################################
153 // Small number
154 //#############################################################################
155 
156 #define ALPS_ZERO 1.0e-14
157 #define ALPS_GEN_TOL 1.0e-6
158 #define ALPS_QUALITY_TOL 1.0e-5
159 #define ALPS_SMALL_3 1.0e-3
160 #define ALPS_SMALL_4 1.0e-4
161 #define ALPS_SMALL_5 1.0e-5
162 
163 //#############################################################################
164 
165 #define ALPS_PRINTF printf
166 
167 #define ALPS_DMSG printf
168 
169 
170 //#############################################################################
171 
172 #define ALPS_MAX( x, y ) ( ( (x) > (y) ) ? (x) : (y) )
173 #define ALPS_MIN( x, y ) ( ( (x) < (y) ) ? (x) : (y) )
174 #define ALPS_FABS(x) ( (x < 0.0) ? -(x) : (x) )
175 #define ALPS_ABS(x) ( (x < 0) ? -(x) : (x) )
176 
177 //#############################################################################
178 
179 typedef struct ALPS_PS_STATS
180 {
191 } AlpsPsStats;
192 
193 //#############################################################################
194 
195 
196 #endif
int KnowledgeType
Type of knowledge like solution, node, cut...
Definition: Alps.h:86
int workerAsk_
Definition: Alps.h:185
AlpsStaticBalanceScheme
The possible values for static load balancing scheme.
Definition: Alps.h:52
AlpsReturnStatus
Definition: Alps.h:118
int qualityBalance_
Definition: Alps.h:181
AlpsNodeStatus
The possible stati for the search nodes.
Definition: Alps.h:61
int donateSuccess_
Definition: Alps.h:186
AlpsClockType
The possible values for clock type.
Definition: Alps.h:43
AlpsSearchType
Search Strategies.
Definition: Alps.h:74
AlpsPhase
Definition: Alps.h:129
int intraBalance_
Definition: Alps.h:184
int interBalance_
Definition: Alps.h:183
int subtreeWhole_
Definition: Alps.h:189
AlpsKnowledgeType
Definition: Alps.h:88
int quantityBalance_
Definition: Alps.h:182
AlpsExitStatus
Definition: Alps.h:101
int donateFail_
Definition: Alps.h:187
int subtreeSplit_
Definition: Alps.h:188
int subtreeChange_
Definition: Alps.h:190
struct ALPS_PS_STATS AlpsPsStats