Building

After configuring, the code can be built by typing the commands

 make
 make install
This will first create the required libraries and executables and then will install them. By default, the library libSym and the executable symphony will be installed to the lib/ and bin/ directories. To install in another directory, use the option -prefix=DIR to the configure command.

After compilation, the SYMPHONY library, together with the header files in the subdirectory include/, can then be used to call SYMPHONY from any C/C++ code. The API for this is described in Chapter 3. The executable can also be used for solving generic MILP problems in MPS and GMPL format. In order to read GMPL files, you will need to have GLPK (http://www.gnu.org/software/glpk/) installed. To install it automatically, run the get.Glpk script in the ThirdParty/Glpk directory. After that, Glpk should be built and linked automatically, enabling the ability to read GMPL files.

For a more powerful modeling interface, FlopC++ can also be used to obtain a capability similar to ILOG's Concert technology for building math programming models (see SYMPHONY/Examples/FLOPC++).

To test SYMPHONY after building, type

 make test
to execute an automated unit test. To test out the optimizer manually. a sample MPS file called sample.mps and a sample GMPL/AMPL file called sample.mod together with its data file sample.dat are included with the distribution. You can use either the command-line or the interactive optimizer. To solve the sample MPS model, type
 bin/symphony -F SYMPHONY/Datasets/sample.mps
To solve the GMPL model, use the -F switch to specify the file name and the -D for the data file name if the input is in GMPL/AMPL format, i.e., type
 bin/symphony -F SYMPHONY/Datasets/sample.mod -D SYMPHONY/Datasets/sample.dat
For more MPS data files for further testing, see the MIPLIB library in the Data/ subdirectory. To run the interactive optimizer, execute SYMPHONY without any command-line arguments, i.e., type
  bin/symphony
and then type help or ? to see a list of available commands. After the SYMPHONY library and the executable are compiled and tested, you can type
 make clean
if you want to save disk space. That's it! Now you are ready to use SYMPHONY callable library or solve generic MILP problems through the executable.

Ted Ralphs
2010-03-24