-
Notifications
You must be signed in to change notification settings - Fork 17
/
config
396 lines (322 loc) · 17.6 KB
/
config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
##############################################################################
##############################################################################
# #
# This file is part of the SYMPHONY MILP Solver Framework. #
# #
# SYMPHONY was jointly developed by Ted Ralphs (ted@lehigh.edu) and #
# Laci Ladanyi (ladanyi@us.ibm.com). #
# #
# (c) Copyright 2000-2005 Ted Ralphs. All Rights Reserved. #
# #
# This software is licensed under the Common Public License. Please see #
# accompanying file for terms. #
# #
##############################################################################
##############################################################################
##############################################################################
##############################################################################
# The architecture should be detected and set automatically if you are working
# on one of the following:
#
# LINUX, CYGWIN, RS6K, SUN4SOL2, SUNMP, X86SOL2, ALPHA
#
# Note that these architecture names are the ones used to define the
# various architectures recognized by the Parallel Virtual Machine (PVM)
# library. If your arcitecture is not listed, simply set it below and then
# search for the places in the Makefile where there are architecture-specific
# variables set and make sure to set them properly for your specific
# architecture. For each architecture, there will be three subdirectories
# created called $(SYMBUILDDIR)/bin/$(ARCH), $(SYMBUILDDIR)/dep/$(ARCH) and
# ${SYMBUILDDIR)/objects/$(ARCH) where the corresponding objects, binaries,
# and dependencies for each architecture type will reside.
##############################################################################
##############################################################################
#ARCH = LINUX
##############################################################################
# If you have PVM installed, this will set the variable ARCH automatically.
##############################################################################
#ARCH=${PVM_ARCH}
##############################################################################
# If you want to build SYMPHONY in a directory outside the source tree,
# uncomment this and fill in the directory here. Setting this variable will
# cause all object, library, and binary files to be built and installed in this
# root directory. This is helpful if you don't have write access to the
# directory where SYMPHONY is installed.
##############################################################################
#SYMBUILDDIR = .
##############################################################################
# System command definitions
##############################################################################
##############################################################################
# Note: If you are getting errors using make, try changing MAKE to "gmake"
# and also using gmake on the command line.
##############################################################################
MAKE = make
AWK = awk
AR = ar -r
RANLIB = ranlib
##############################################################################
# COINROOT is the path to the root directory of the COIN libraries. Many of
# the new features of SYMPHONY require the COIN libraries to be installed.
# BY default, SYMPHONY should be located in the COINROOT directory.
##############################################################################
COINROOT = $(HOME)/COIN-SYMPHONY
##############################################################################
# LIBTYPE is the variable to indicate what type of SYMPHONY library
# (SHARED or STATIC) is to be created. Also note that, the COIN libraries
# will be having the same type if they are to be installed through SYMPHONY,
# i.e., by typing "make coin".
##############################################################################
LIBTYPE = SHARED
##############################################################################
##############################################################################
# LP solver dependent definitions
##############################################################################
##############################################################################
##############################################################################
# OSL definitions
##############################################################################
#Uncomment the line below if you want to use the native OSL interface.
#Note that OSL can also be used through the OSI (see below).
#LP_SOLVER = OSL
#Set the paths and the name of the library
ifeq ($(LP_SOLVER),OSL)
LPSINCDIR = /usr/local/include/
LPLIBPATHS = /home/tkr/src/osllib/lib
LPLIB = -losl
endif
##############################################################################
# CPLEX definitions
##############################################################################
#Uncomment the line below if you want to use the native CPLEX interface.
#Note that CPLEX can also be used through the OSI (see below).
#LP_SOLVER = CPLEX
ifeq ($(LP_SOLVER),CPLEX)
LPSINCDIR = /usr/local/include/
LPLIBPATHS = /usr/local/lib/
LPLIB = -lcplex
endif
##############################################################################
# OSI definitions
##############################################################################
#Uncomment the line below if you want to use a solver with an OSI interface.
LP_SOLVER = OSI
#The following variable defines what Lp solver to use
OSI_INTERFACE = CLP
#Set the paths and the name of the library
ifeq ($(LP_SOLVER),OSI)
LPINCDIR = $(COINROOT)/include
LPLIBPATHS = $(COINROOT)/lib
LPLIB = -lOsi -lCoinUtils
ifeq ($(OSI_INTERFACE),CPLEX)
LPSINCDIR = /usr/local/include
LPLIBPATHS += /usr/local/lib/
LPLIB += -lOsiCpx -lcplex
endif
ifeq ($(OSI_INTERFACE),OSL)
LPSINCDIR += $(HOME)/OSL/osllib/include
LPLIBPATHS += $(HOME)/OSL/osllib/lib
LPLIB += -lOsiOsl -losl
endif
ifeq ($(OSI_INTERFACE),CLP)
LPSINCDIR +=
LPLIBPATHS +=
LPLIB += -lOsiClp -lClp
endif
ifeq ($(OSI_INTERFACE),XPRESS)
LPSINCDIR += /usr/local/xpress/include
LPLIBPATHS += /usr/local/xpress/lib
LPLIB += -lOsiXpr -lxprs
endif
ifeq ($(OSI_INTERFACE),SOPLEX)
LPSINCDIR += ${HOME}/include
LPLIBPATHS += ${HOME}/lib
LPLIB += -lOsiSpx -lsoplex.linux.x86.gnu.opt
endif
ifeq ($(OSI_INTERFACE),VOL)
LPSINCDIR +=
LPLIBPATHS +=
LPLIB += -lOsiVol
endif
ifeq ($(OSI_INTERFACE),DYLP)
LPSINCDIR += ${HOME}/include
LPLIBPATHS += ${HOME}/lib
LPLIB += -lOsiDylp -lOsiDylpSolver -ldylpstd
endif
ifeq ($(OSI_INTERFACE),GLPK)
LPSINCDIR += ${HOME}/src/glpk-4.7/include
LPLIBPATHS += ${HOME}/src/glpk-4.7/src
LPLIB += -lOsiGlpk -lglpk
endif
endif
##############################################################################
# Interactive optimizer definitions
##############################################################################
##############################################################################
# If you want to use the GNU readline library, then simply set the following
# flag. It will allow the interactive shell to be able to behave exactly like
# the Linux terminal command line, i.e., it will keep the history of the used
# commands, will complete the input word to possible commands, etc. Make sure
# that you have the needed package (readline.h and history.h include files
# and their libraries) on the system files path.
##############################################################################
# This flag is automatically set to FALSE for the archs CYGWIN and Darwin...
HAS_READLINE = TRUE
##############################################################################
# GLPMPL definitions
##############################################################################
##############################################################################
# SYMPHONY includes the GMPL parser from GLPK by default. If you don't want
# to compile those files, simply set the following flag off.
##############################################################################
USE_GLPMPL = TRUE
##############################################################################
##############################################################################
# Generate generic cutting planes. If you are using the OSI interface, you
# can now add generic cutting planes from the CGL by setting the flag below.
# Which cutting planes are added can be controlled by SYMPHONY parameters (see
# the user's manual
##############################################################################
##############################################################################
USE_CGL_CUTS = TRUE
##############################################################################
# If you wish to compile and use SYMPHONY or one of the application through
# the SYMPHONY OSI interface, set USE_OSI_INTERFACE to TRUE below. This will
# only have the main function to call the OSI SYMPHONY interface. See the
# corresponding main function for the implementation. Note that
# you must have COIN and OSI SYMPHONY interface installed to use this
# capability. See above to set the path to the COIN root directory.
##############################################################################
USE_OSI_INTERFACE = FALSE
##############################################################################
##############################################################################
# COMM Protocol definitions
##############################################################################
##############################################################################
##############################################################################
# If you want something other than PVM, add it here.
##############################################################################
##############################################################################
# Setting COMM_PROTOCOL to NONE will allow compilation without linking the
# PVM library, but only works if a single executable is produced (either
# sequential or shared-memory). Change the COMM_PROTOCOL if you want to
# compile a distributed version of the code.
##############################################################################
COMM_PROTOCOL = NONE
#COMM_PROTOCOL = PVM
##############################################################################
##############################################################################
# Set the compiler -- If an OpenMP compliant copiler is used, then a shared
# memory version of the code will result as long as at least COMPILE_IN_LP is
# set to TRUE (see comments above). Note that if you do not plan to install
# the COIN libraries, you can change the the compiler to be gcc for faster
# compilation. Also note that, this compiler will be used to make COIN
# libraries if they are to be installed through SYMPHONY, i.e., by typing
# "make coin".
##############################################################################
##############################################################################
CC = g++
##############################################################################
# Set the optimization level
# NOTE: if it is set to "-g" then everything is compiled debugging enabled.
# if it is set to "-O" then it'll be reset to the highest possible opt
# otherwise it'll left alone
##############################################################################
OPT = -O
##############################################################################
# Set the optimization level for the COIN libraries.
##############################################################################
COIN_OPT = -O
##############################################################################
##############################################################################
# These options are for configuring the modules and have the following
# meanings:
#
# SYM_COMPILE_IN_CG: If set to true, then the CG function will be called
# directly from each LP solver instead of running as a separate
# executable. Note that the parameter "use_cg" should be set to FALSE
# (the default) if this option is set. The executable containing the LP
# solver will have the suffix _cg added to it to denote the inclusion of
# the cut generator function.
# SYM_COMPILE_IN_CP: As above, if this flag is set, then the cut pool resides
# in the LP solver and the pool is scanned directly from there. Note that
# if this option is chosen when multiple LP processes are running, then
# they will all have their own cut pool. The executable containing the
# LP solver will have the suffix _cp added to it to denote the inclusion
# of the cut generator function.
# SYM_COMPILE_IN_LP: If this flag is set, the LP solver will be called
# directly from the tree manager. Note that this necessarily implies
# that there only be one LP solver. This DOES NOT automatically imply
# that the cut generator and/or cut pool will be compiled in. The tree
# manager executable name will have the appropriate suffix added to it
# to denote the inclusion of the LP solver function.
# SYM_COMPILE_IN_TM: If this flag is set, the tree manager function will be
# compiled directly from the master module instead of running as a
# separate executable. This DOES NOT imply that the LP, cut generator
# or cut pool functions will be compiled in. The master executable
# name will contain a suffix indicating what functions are compiled in.
#
# Note that if an OpenMP compliant compiler is used to make a shared-memory
# version of the code, then it is recommended to set all these
# variables to TRUE. However, it should work with only COMPILE_IN_LP
# set to TRUE.
##############################################################################
##############################################################################
# !!!These variables will be overriden if user's or one of the application's
# Makefile is called!!!
##############################################################################
##############################################################################
# Note: The only parallel configuration currently supported is
# to set SYM_COMPILE_IN_LP = FALSE
##############################################################################
##############################################################################
SYM_COMPILE_IN_CG = TRUE
SYM_COMPILE_IN_CP = TRUE
SYM_COMPILE_IN_LP = TRUE
SYM_COMPILE_IN_TM = TRUE
##############################################################################
##############################################################################
# A bunch of other compile-time options
##############################################################################
##############################################################################
##############################################################################
# Compile in the sensitivity analysis features
##############################################################################
SENSITIVITY_ANALYSIS = FALSE
##############################################################################
# Option to only process the root node (for testing root lower bounds)
##############################################################################
ROOT_NODE_ONLY = FALSE
##############################################################################
# ccmalloc related flags
##############################################################################
CCMALLOC = ccmalloc
######################################################################
# Whether to compile in the fractional branching option
######################################################################
COMPILE_FRAC_BRANCHING = FALSE
#######################################################################
# Whether to perform additional sanity checks (for debugging purposes)
#######################################################################
DO_TESTS = FALSE
#######################################################################
# More testing ....
#######################################################################
TM_BASIS_TESTS = FALSE
#######################################################################
# Additional debugging options
#######################################################################
TRACE_PATH = FALSE
CHECK_CUT_VALIDITY = FALSE
#######################################################################
# Additional statistics
#######################################################################
STATISTICS = FALSE
##############################################################################
# Some experimental pseudo-cost branching stuff
##############################################################################
PSEUDO_COSTS = FALSE
##############################################################################
# Set this to true if you are going to use the IGD graph drawing application
##############################################################################
DRAWGRAPH = FALSE