Changeset 611


Ignore:
Timestamp:
Jun 16, 2006 12:51:15 PM (12 years ago)
Author:
tkr
Message:

Updated INSTALL file

Location:
trunk
Files:
2 added
4 edited
1 copied
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/INSTALL

    r536 r611  
    22=================================
    33
     4**********************************************************************
     5***                COMPILATION AND INSTALLATION                    ***
     6**********************************************************************
     7
    48******************************************************************************
    5 *   COMPILING The SYMPHONY Library and Executable (UNIX Operating Systems)   *
     9*   COMPILING The SYMPHONY Library and Executable (UNIX/Linux/CYGWIN/MSYS)   *
    610******************************************************************************
    711
    8 Here is a sketch outline of how to get started with SYMPHONY in Unix. These
    9 instructions will lead you through the steps required to compile SYMPHONY as a
    10 generic MILP solver. This process will create (1) a generic
    11 callable library that allows SYMPHONY to be called from an application and (2)
    12 an executable that can be used as a stand-alone application to solve MILPs
    13 written in either MPS or GMPL file format. SYMPHONY can be further customized
    14 by implementing one of more than 50 callback functions that change SYMPHONY's
    15 default execution of its algorithm. For information on customizing SYMPHONY
    16 using callbacks, a quick start guide is provided below.
    17 
    18 Because SYMPHONY is intended to run over nonhomogeneous networks of
    19 workstations, installation is not fully automated, but requires the user to
    20 make minor edits to the configuration file. With this setup, compilation for
    21 multiple architectures and configurations can be performed in a single
    22 directory without reconfiguring or "cleaning". This is convenient on
    23 nonhomogeneous networks, but it means that you might need to edit the
    24 makefiles to get SYMPHONY to compile. For the casual user, this editing is
    25 limited to providing some path names.
    26 
    27 PREPARING FOR COMPILATION
    28 =========================
    29 
    30 1. Download the file SYMPHONY-5.1.tgz.
    31 
    32 2. Unpack the distribution with "tar -xzf SYMPHONY-5.1.tgz". This will create
    33 a subdirectory called SYMPHONY-5.1 containing the distribution.
    34 
    35 3. Edit the the configuration file, config, to reflect your environment. This
    36 involves specifying the LP solver to be used, assigning some
    37 variables and setting the paths to various libraries and include files.
    38 Only minor edits should be required. An explanation of what has to be set is
    39 contained in the comments in the file.
    40 
    41 4. To use many of the new capabilities of SYMPHONY, you must have installed
    42 the COIN libraries, available both from www.coin-or.org and with this
    43 distribution. By default, SYMPHONY is set to use COIN LP solver, CLP, COIN
    44 Open Solver Interface, OSI, and COIN Cut Generation Library, CGL. To keep this
    45 configuration, you should install OSI, CGL, CLP and the Coin utilities
    46 (under COIN/Coin). If you also want to use the new OSI interface to SYMPHONY,
    47 you should be sure to compile it when you are installing the rest of the COIN
    48 packages. The path to the COIN libraries, unless you want to use the included
    49 package, must be specified in configuration file. If you haven't installed the
    50 necessary COIN packages, you can manage that simply by typing "make coin" in
    51 the SYMPHONY subdirectory.
    52 
    53 5. With this version you will also be able to read GMPL/AMPL files by default.
    54 SYMPHONY now includes the parser files from Gnu Linear Programming Kit (GLPK).
    55 If you don't want SYMPHONY to have this property, set the corresponding
    56 variable in the configuration file off.
    57 
    58 COMPILING
    59 =========
     12Here is a sketch outline of how to get started with SYMPHONY in Unix and
     13Unix-like environments. These instructions will lead you through the steps
     14required to compile SYMPHONY as a generic MILP solver. This process will
     15create (1) a generic callable library that allows SYMPHONY to be called from
     16an application and (2) an executable that can be used as a stand-alone
     17application to solve MILPs written in either MPS or GMPL file format. SYMPHONY
     18can be further customized by implementing one of more than 50 callback
     19functions that change SYMPHONY's default execution of its algorithm. For
     20information on customizing SYMPHONY using callbacks, a quick start guide is
     21provided below.
     22
     23The COIN-OR tools on which SYMPHONY depends for certain functionality now use
     24the GNU autotools to automate the build process. We are currently in the
     25process of convering SYMPHONY itself to the same build process, but this
     26has not been completed yet, so some hand-configuration is still required.
     27
     28COMPILING the COIN-OR Libriares
     29===============================
     30
     31The first step is to build the COIN-OR libraries. This must be done before
     32building SYMPHONY itself. To Build the libraries, follow the steps below.
     33
     34CONFIGURATION
     35
     36In the root directory of the installation (probably called COIN-SYMPHONY),
     37type
     38
     39   ./configure
     40
     41Note that you might have to specify additional options, in case you
     42don't want to use the default choices that configure makes (e.g.,
     43compilers).  Please visit
     44
     45   https://projects.coin-or.org/BuildTools/wiki/user-configure
     46
     47and the SYMPHONY Trac page
     48
     49   https://projects.coin-or.org/Clp
     50
     51for more information.
     52
     53If everything went fine, you will see at the end of the output
     54
     55   "Main configuration of SYMPHONY successful"
     56
     57BUILDING AND INSTALLATION
     58
     59In the directory where you ran the configure script:
     60
     611. Compile the COIN-OR libraries by typing
     62
     63   make
     64
     653. To install the libraries, type
     66
     67   make install
     68
     69   After this, you will find the executables, libraries and header
     70   files in the "bin", "lib" and "include" subdirectory, respectively.
     71
     72More information on the compilation and installation can be found at
     73
     74   https://projects.coin-or.org/BuildTools/wiki/user-compile
     75
     76COMPILING SYMPHPONY
     77===================
     78
     79Now it is time to compile SYMPHONY itself. Follow the steps below.
     80
     81
     82CONFIGURATION
     83
     841. First, edit the configuration file, called "config" to reflect your
     85environment. This involves specifying the LP solver to be used, assigning some
     86variables and setting the paths to various libraries and include files. If you
     87are planning to use the COIN-OR LP solver and want to compile with default
     88options, then in most cases, you will not need to make any edits. An
     89explanation of what has to be set is contained in the comments in the file.
     90
     912. With this version, you will also be able to read GMPL/AMPL files by
     92default. SYMPHONY now includes the parser files from Gnu Linear Programming
     93Kit (GLPK). If you don't want SYMPHONY to use GLPK, which is licensed under
     94the GPL, set the corresponding variable in the configuration file off.
     95
     96BUILDING AND INSTALLING
    6097
    61981. The user simply has to type "make". This will first make the SYMPHONY
     
    173210******************************************************************************
    174211
    175 Here is a sketch outline of how to compile SYMPHONY in Microsoft Windows.
    176 These instructions will lead you through the steps required to compile
    177 SYMPHONY as a generic MILP solver. This process will create (1) a generic
    178 callable library that allows SYMPHONY to be called from an application and (2)
    179 an executable that can be used as a stand-alone application to solve MILPs
    180 written in either MPS or GMPL file format. SYMPHONY can be further customized
    181 by implementing one of more than 50 callback functions that change SYMPHONY's
    182 default execution of its algorithm. For information on customizing SYMPHONY
    183 using callbacks, a quick start guide is provided below. Direct support
    184 is provided for compilation under MS Visual Studio 6.0. Compilation for other
    185 compilers should also be possible. Note that the Windows version has some
    186 limitations. Detailed timing information is not currently provided.  Support
    187 is only provided for running in sequential mode at this time.
    188 
    189 First, download SYMPHONY-5.1.zip and unzip the archive. This will create a
    190 subdirectory called SYMPHONY-5.1 containing all the source files. You now
    191 have two options. You can either compile on the command-line, using the MSVC++
    192 makefile, src\WIN32\sym.mak, or you can use the provided projects and
    193 workspaces. Compiling on the command-line is somewhat easier since it requires
     212The recommended way to work with COIN-OR and SYMPHONY in MS Windows is to
     213install a Unix-like environment such as CYGWIN or Msys and build using the GNU
     214autotools by following the instructions above. However, if you prefer MS
     215Visual Studio, here is a sketch outline of how to compile SYMPHONY in
     216Microsoft Windows. These instructions will lead you through the steps required
     217to compile SYMPHONY as a generic MILP solver. This process will create (1) a
     218generic callable library that allows SYMPHONY to be called from an application
     219and (2) an executable that can be used as a stand-alone application to solve
     220MILPs written in either MPS or GMPL file format. SYMPHONY can be further
     221customized by implementing one of more than 50 callback functions that change
     222SYMPHONY's default execution of its algorithm. For information on customizing
     223SYMPHONY using callbacks, a quick start guide is provided below. Direct
     224support is provided for compilation under MS Visual Studio 6.0. Compilation
     225for other compilers should also be possible. Note that the Windows version has
     226some limitations. Detailed timing information is not currently provided.
     227Support is only provided for running in sequential mode at this time.
     228
     229COMPILING THE COIN-OR LIBRARIES
     230===============================
     231
     232To use many of the capabilities of SYMPHONY, you must have first
     233installed the COIN-OR libraries, which should have come with this
     234distribution. By default, SYMPHONY is set to use COIN-OR LP solver, CLP,
     235COIN-OR Open Solver Interface, OSI, and the COIN-OR Cut Generation Library,
     236CGL. To keep this configuration, you should build and install OSI, CGL, CLP
     237and additionally, the Coin utilities. The path to these libraries, unless you
     238want to use the included package, must be specified in the makefile. For
     239information on bulding and installing the COIN libraries in Visual Studio,
     240please see
     241
     242https://projects.coin-or.org/MSVisualStudio
     243
     244COMPILING SYMPHONY
     245==================
     246
     247To build SYMPHONY in MS Windows with the Microsoft compiler, You now have two
     248options. You can either compile on the command-line, using the MSVC++
     249makefile, src\WIN32\sym.mak, or you can use the provided projects and
     250workspaces. Compiling on the command-line is somewhat easier since it requires
    194251only editing the makefile and typing a single command.
    195252
     
    201258what has to be set is contained in the comments in the makefile.
    202259
    203 2. To use many of the new capabilities of SYMPHONY, you must have installed
    204 the COIN libraries, available both from www.coin-or.org and with this
    205 distribution. By default, SYMPHONY is set to use COIN LP solver, CLP, COIN
    206 Open Solver Interface, OSI, and COIN Cut Generation Library, CGL. To keep this
    207 configuration, you should install OSI, CGL, CLP and additionally, the Coin
    208 utilities (under COIN\Coin). The path to the COIN libraries, unless you want
    209 to use the included package, must be specified in the makefile.
    210 
    211 3. With this version you will also be able to read GMPL/AMPL files by default.
     2602. With this version you will also be able to read GMPL/AMPL files by default.
    212261SYMPHONY now includes the parser files from Gnu Linear Programming Kit (GLPK).
    213262If you don't want SYMPHONY to have this property, set the corresponding
    214263variable in the makefile off.
    215264
    216 4. Once configuration is done, type "nmake /f sym.mak" in the src\WIN32\
     2653. Once configuration is done, type "nmake /f sym.mak" in the src\WIN32\
    217266subdirectory. This will first make the SYMPHONY library (sequential version):
    218267src\WIN32\Debug\symphonyLib.lib. This library, together with the header files
     
    224273src\WIN32\Debug subdirectory.
    225274
    226 5. To test the executable, type "symphony.exe -F ..\..\..\sample.mps" or
     2754. To test the executable, type "symphony.exe -F ..\..\..\sample.mps" or
    227276"symphony.exe -F ..\..\..\sample.mod -D ..\..\..\sample.dat" at a command
    228277prompt from the src\WIN32\Debug subdirectory. If you want to use
     
    239288callable library to create the executable "symphony.exe".
    240289
    241 2. To use many of the new capabilities of SYMPHONY, you must have
    242 the COIN project files. Specifically, you should have OSI, CGL, CLP and the
    243 Coin utilities (in the COIN/Coin subdirectory). These can be downloaded from
    244 www.coin-or.org or can be found in COIN/ subdirectory. If you don't want to
    245 use this included package then you will need to reload the needed COIN projects
    246 to the workspace.
    247 
    248 3. By default, SYMPHONY is set to use the OSI CLP interface. To see this
     2902. By default, SYMPHONY is set to use the OSI CLP interface. To see this
    249291check the following settings:
    250292
     
    295337unique solver library we need now.
    296338
    297 4. By default, SYMPHONY is also set to use the COIN CGL library for
     3393. By default, SYMPHONY is also set to use the COIN CGL library for
    298340generating cuts. To use CGL, the workspace includes the "cglLib" project, the
    299341"symphonyLib" project has the "ADD_CGL_CUTS" preprocessor definition and the
     
    302344reverse this procedure and delete the "cglLib" project from the workspace.
    303345
    304 5. DO NOT CHANGE COMPILER DEFINES NOT RELATED TO THE LP SOLVER. Important note
     3464. DO NOT CHANGE COMPILER DEFINES NOT RELATED TO THE LP SOLVER. Important note
    305347for OSL users: when using OSL in Windows, you must also add "OSLMSDLL" to the
    306348list of definitions.
    307349
    308 6. Note that there are a number of additional preprocessor definitions that
     3505. Note that there are a number of additional preprocessor definitions that
    309351control the functionality of SYMPHONY. These definitions are described in
    310352"config", a Unix-style configuration file included in the distribution. To
     
    312354it to the list of definitions of "symphonyLib", as above.
    313355
    314 7. You must also be sure to have any .dll files required for your LP solver to
     3566. You must also be sure to have any .dll files required for your LP solver to
    315357be in your search path. Either move the required .dll to the subdirectory
    316358containing symphony.exe or add the path to the "PATH" Windows environment
    317359variable.
    318360
    319 8. Once you have the proper settings for your LP solver, choose "Build
     3617. Once you have the proper settings for your LP solver, choose "Build
    320362symphony.exe" from the Build menu. This should successfully build the
    321363SYMPHONY library and the corresponding executable.
    322364
    323 9. To test the executable, right click on the symphony project, go to the
     3658. To test the executable, right click on the symphony project, go to the
    324366"Debug" tab and set the program arguments to "-F ..\..\sample.mps" Note that
    325367command-line switches are Unix-style. If you want to use the interactive
     
    327369list of available commands.
    328370
    329 10. Now choose "Execute" from the build menu and the solver should solve the
     3719. Now choose "Execute" from the build menu and the solver should solve the
    330372sample problem.
    331373
  • trunk/Makefile.am

    • Property svn:keywords set to Author Date Id Revision
    r608 r611  
    33# This file is distributed under the Common Public License.
    44
    5 ## $Id: Makefile.am 344 2006-06-01 19:17:05Z andreasw $
     5## $Id$
    66
    77# Author:  Andreas Waechter           IBM    2006-04-13
  • trunk/SYMPHONY/config

    r608 r611  
    7575##############################################################################
    7676
    77 COINROOT = $(HOME)/SYMPHONY
     77COINROOT = $(HOME)/COIN-SYMPHONY
    7878
    7979##############################################################################
  • trunk/configure.ac

    • Property svn:keywords set to Author Date Id Revision
    r608 r611  
    33# This file is distributed under the Common Public License.
    44
    5 ## $Id: configure.ac 343 2006-06-01 05:14:49Z andreasw $
     5## $Id$
    66
    77# Author:  Andreas Waechter            IBM    2006-04-13
Note: See TracChangeset for help on using the changeset viewer.