Unlike previous version of SYMPHONY, to compile SYMPHONY 5.0 as
a generic solver, the user simply has to type make in the
SYMPHONY-5.0 subdirectory. This will
first make the SYMPHONY library (sequential version):
SYMPHONY-5.0/lib.$(ARCH)/$(LP_SOLVER)/libsym.so (or
'libsym.a' if library type is set to be static) where
ARCH is the current architecture and LP_SOLVER is the
current LP solver, as specified in the makefile. In addition, in order
to have the flexibility in using different LP solvers, a symbolic link to the
latest created callable library with the same name (libsym.so or libsym.a)
will be created in SYMPHONY-5.0/lib subdirectory. This library
together with the header files in the subdirectory
SYMPHONY-5.0/include can then be used to call SYMPHONY from any C code.
The API for this is described in section 7.3. After compiling
the SYMPHONY library, the default main function will be compiled and
linked with the the callable library to form an executable called
symphony to be used for solving generic MILP problems in MPS
or GMPL format. FlopC++ [22] can also be used to
obtain a capability similar to ILOG's Concert technology for building
math programming models. The executable is installed in
SYMPHONY-5.0/bin.$(ARCH)/$(LP_SOLVER) subdirectory. The makefile
can also be modified to enable parallel execution of the code (see below).
After the SYMPHONY library is compiled, you are free to type make
clean if you want to save disk space. You should only have to
remake the library if you change something in SYMPHONY's internal files.
To test SYMPHONY, a sample MPS file called sample.mps is
included with the distribution. To specify the file name, use the
-F command-line option, i.e., type
bin.$(ARCH)/$(LP_SOLVER)/symphony -F sample.mps
in the SYMPHONY-5.0 subdirectory. To obtain more MPS data files for
further testing, download the MIPLIB library.
That's it! Now you are ready to use SYMPHONY callable library or
solve generic MILP problems through the executable.