Changes between Version 42 and Version 43 of WikiStart

Mar 15, 2015 11:25:20 AM (7 years ago)



  • WikiStart

    v42 v43  
    1 = COIN Binary Distribution Project =
     1= The COIN-OR Optimization Suite =
    33== Overview ==
    5 The goal of this project is to provide sets of libraries and executables precompiled and tested on the most popular platforms for those users who do not need to look at or modify the source code of the COIN projects themselves. Currently supported platforms are
    6  * Microsoft Windows with the Visual C++ compiler, versions 8-11 (see the [ MSVisualStudio wiki] for more details)
     5The goal of this project is to provide support for build, test, and installation of a coherent suite of interoperable solvers and libraries on the most popular computing platforms. We aim to provide methods for users to easily install pre-built and well-tested binaries on all platforms. Currently supported platforms are
     6 * Microsoft Windows with the Visual C++ compiler, versions 9-13 (see the [ MSVisualStudio wiki] for more details)
    77   * MSVC++ IDE
    88   * The {{{cl}}} compiler from CYGWIN/MinGW (with the autotools)
    99 * Microsoft Windows with the g++ 4 compiler (CYGWIN/MinGW)
    10  * Linux with the g++ 4 compiler on ix86 architectures. Tarballs, [ .deb] and [BuildingCoinRpms .rpm] packages and [CoinYum a Yum repository] are available.
    11  * Mac OS X with either the g++ 4 compiler or the clang compiler.
    12 The binaries are built using the automatic build and test scripts of the [ COIN TestTools] project.
     10 * Linux with the g++ 4 compiler on ix86 architectures.
     11 * Mac OS X with either the g++ 4 compiler (installed with [ Homebrew]) or the clang compiler.
     12At the present time, the entire suite builds out of the box on all of these platforms. The current stable version of the suite is 1.8. A short course on building and using the suite is available [ here].
     14== Projects ==
     16Projects currently included in The COIN-OR Optimization Suite are
     17 * [ CoinUtils] (COIN Utilities)
     18 * [ Osi] (Open Solver Interface) with interfaces to
     19   * [ Clp]
     20   * [ Cbc]
     21   * [ SYMPHONY]
     22   * [ Vol]
     23 * [ Clp] (COIN LP Solver)
     24 * [ DyLP]
     25 * [ FlopC++]
     26 * [ Vol] (Volume Algorithm)
     27 * [ Cgl] (Cut Generation Library)
     28 * [ Cbc] (COIN Branch and Cut)
     29 * [ SYMPHONY] (MILP Solver Framework)
     30 * [ Smi] (Stochastic Modeling Interface)
     31 * [ CoinMP]
     32 * [ Bcp] (Branch, Cut, and Price Framework)
     33 * [ CHiPPS] (COIN High Performance Parallel Search Framework: Alps/BiCePS/Blis)
     34 * [ DIP] (Framework for Decomposition in Integer Programming)
     35 * [ Ipopt]
     36 * [ Bonmin]
     37 * [ Couenne]
     38 * [ CppAD]
     39 * [ OS] (Optimization Services)
    1441== Downloading ==
    16 To download binaries, see []
     43To install binaries
     44  * For Windows users, get the installer for the latest version [ here].
     45  * For Linux users, most solvers can be installed using the standard package manager on both [ Debian] and [ Fedora/Redhat].
     46  * For Linux, there are also completely static binaries that should work on most Linux distributions [ here].
     47  * For OS X, we are working on developing [ Homebrew] recipes for all projects, but for now, it is best to build yourself, although you can try the binaries [ here]. It is not possible to build completely statically on OS X, so they may not work.
    18 For help on the naming convention of binary archives, see ArchiveNamingConventions.
     49== Building from Source ==
    20 For installation help, see InstallationInstructions.
    22 For a strawman proposal for submitting a project to be part of this binary distribution project, see BinaryDistributionRequirements.
    24 For the current package management process for COIN projects, see BuildingCoinRpms and CoinDeb.
    26 == The !CoinAll Distribution ==
    28 This part of the !CoinBinary project is an effort to develop a distribution consisting of a set of consistent, interoperable binaries built from the source code of as large a subset of COIN-OR projects as possible. The idea is to allow a user who wants binaries for a large number of COIN projects and wants to ensure that they will all interoperate to be able to download them all at once in a single distribution. Projects currently included in !CoinAll are
    29  * [ Branch, Cut, and Price Framework]
    30  * [ COIN Build Tools]
    31  * [ COIN High Performance Parallel Search Framework] (Alps/BiCePS/Blis)
    32  * [ COIN Branch and Cut]
    33  * [ Cut Generation Library]
    34  * [ COIN LP Solver]
    35  * [ COIN Utilities]
    36  * [ DyLP]
    37  * [ FlopC++]
    38  * [ Ipopt]
    39  * [ Open Solver Interface] with interfaces to
    40    * [ Clp]
    41    * [ Cbc]
    42    * [ SYMPHONY] MILP Solver Framework
    43    * [ Volume Algorithm]
    44  * [ Optimization Services]
    45  * [ Stochastic Modeling Interface]
    46  * [ SYMPHONY] MILP Solver Framework
    47  * [ Volume Algorithm]
    48 Anyone can download and build the !CoinAll distribution for themselves on any platform. The repository svn address is and it is organized like the repositories of most COIN projects. There are {{{trunk/}}}, {{{stable/}}}, and {{{releases/}}} directories (please see the [ BuildTools wiki] for more information on the directory structure of COIN projects). Each directory contains configuration scripts for downloading and building the set of COIN projects listed above. For example, to build the latest release of the !CoinAll project consisting of release versions of all the above in a Unix-like environment, once would execute
     51It should be straightforward build the COIN-OR Optimization Suite on any platform. You can check out the code with subversion or obtain source tarballs of previous releases [ here]. To build in a Unix-like environment, execute
    50 svn checkout CoinAll-1.1.0
    51 cd CoinAll-1.1.0
     53svn checkout COIN-1.8
     54cd COIN-1.8
    5457make install
    56 The current stable version of !CoinAll is [ 1.1] and the current release is [ 1.1.0].
    58 == Using the !CoinAll Binaries ==
     60== Using the Optimization Suite ==
    60 It is possible to use this distribution "out-of-the-box" to solve linear and integer programs. Nothing needs to be compiled or linked. In this distribution there is a bin directory that contains the executable clp (or clp.exe for Windows) that can be used to solve linear and integer programs. Here is a simple example of this program:
     62A full short course on using the suite is available [ here] and is the best place to start. Templates for building applications and other small examples are available [ here]. The [ CoinEasy] projects is a nascent effort to provide a basic introduction to the suite. Additional help on understanding the source and building
    62 '''clp /path_to_test_problem/test_problem.mps -primalsimplex'''
     64== Documentation and Support ==
    64 In order to get more detail on inputs to clp, execute clp and then type in ?.
    66 This distribution also contains key COIN libraries and it is possible to write a main method that links with the libraries. A very simple example of how to use the libraries is in the attached file ''''''  posted below.  When uncompressed you will find four files in an examples directory. They are '''Makefile.Osiexample,'''  '''NMakefile.Osiexample,''' '''Osiexample.cpp,''' and '''p0033.mps.''' The file Osiexample.cpp contains the main method. This main method is very trivial and creates an Osi Solver Interface (in this case clp), reads a linear programming instance in MPS format from the command line and solves the linear program. The result is written to standard out. Although simple, it is a good illustration of using COIN libraries.
    68 In order to build this executable, called Osiexample, use one of the two makefiles. The makefile Makefile.Osiexample is for Linux or Mac OS X users. It will work with GNU Make. Simply type in
    70 make -f Makefile.Osiexample
    72 It is assumed that your environment variable LD_LIBRARY_PATH (or DYLD_LIBRARY_PATH for Mac OS X) points to the Coin libraries contained in this distribution. Also, you should put the Examples directory in the root directory of the distribution.
    74 '''Windows Users:''' if you are in a Windows environment use the makefile NMakefile.Osiexample. This makefile will work with the nmake utility that is distributed with Microsoft Visual Studio. Type in at the command line
    76 nmake -f NMakefile.Osiexample.
    78 This makefile will also work with MINGW. If you have MINGW use the GNU make utility that comes with MINGW. No changes are needed for NMakefile. It will work with both nmake and make in MINGW.
    80 For all users, Linux, Windows, Mac OS X, the appropriate makefile will create an executable Osiexample (or Osiexample.exe for Windows) in the examples. In order to test the executable write
    82 Osiexample p0033.mps
    84 == Installers ==
    86 We are working on making installers available for the supported platforms. For more about this effort, please visit the CoinInstallers page.
    88 Happy computing from the COIN Binary Distribution Project team.
    90 JP Fasano
    92 Kipp Martin
    94 Ted Ralphs
    96 Leo Lopes
    98 Aramian Wasialek
     66 * Doxygen documentation for the suite is [ here] (please let us know if this link is broken).
     67 * Additional help and support may be available through the support mechanisms individual projects that make up the suite (see links above).
     68 * If you are not sure where to run, feel free to post a [ ticket] here or send a message to the [ coin-discuss] mailing list.