Back to SYMPHONY Home Page
 Next: Compiling the Sample Application
Up: Compiling the Sample Application
 Previous: Compiling the Shared Memory
 
- If you wish to compile a distributed version of the code, obtain
and install the Parallel Virtual
Machine (PVM) software, available for free
from Oak Ridge National Laboratories
. 
        See Section 9.6.1 for more notes on using PVM.
 
- In the makefile, be sure to set the COMM_PROTOCOL
        variable to PVM. Also, change one or more of         COMPILE_IN_TM, COMPILE_IN_LP, COMPILE_IN_CG, and
        COMPILE_IN_CP, to FALSE, or you will end up with the
        sequential version. Various combinations of these variables will give
        you different configurations and different executables. See Section
        9.6.1 for more info on setting them. Also, be sure to
        set the path variables in the makefile appropriately so that make can
        find the PVM library.
 
- Type ``make'' in the SYMPHPONY-3.0.1 directory to
        make the distributed libraries. As in Step 1 of the sequential
        version, you may type ``make clean'' after making the
        library. It should not have to remade again unless you modify
        SYMPHONY's internal files.
 
- After the SYMPHONY libraries, user code will be compiled and
        required executables linked.
 
- Make sure there are links from your
        $PVM_ROOT/bin/$PVM_ARCH/ directory to each of the
        executables in the Vrp/bin.$(ARCH) directory. This is required
        by PVM.
 
- Start the PVM daemon by typing ``pvm'' on the command line
        and then typing ``quit''.
 
- To test the sample program, a sample data file is included with
the distribution. Type Vrp/bin.$(ARCH)/master -F sample.vrp -N 5 -u
522 in the SYMPHONY-3.0.1 directory (note that the actual executable name may
not be ``master'' if COMPILE_IN_TM is set to TRUE; see
Section 9.6.1 for more information on executable names.). The -N
argument gives the number of routes, which must be specified in advance. The
-u argument supplies an initial upper bound which is used until a better
feasible solution is found. TSP instances can also be solved by adding the
option -T TSP. In the case of the TSP, the number of routes does not need to
be specified. You can get additional problem data files from from
http://branchandcut.org/VRP/data/
or the 
TSPLIB
. 
The file
format is described on the TSPLIB Web site.
 
This should result in the successful compilation of the sample
application. Once you have accomplished this much, you are well on
your way to having an application of your own. Don't be daunted by the
seemingly endless list of user function that you are about to
encounter. Most of them are optional or have default options. If you
get lost, consult the source code for the sample application to see
how it's done.
 
 
 
  
 Next: Compiling the Sample Application
Up: Compiling the Sample Application
 Previous: Compiling the Shared Memory
Ted Ralphs 
2003-05-29