wiki:WikiStart

Version 42 (modified by tkr, 5 years ago) (diff)

--

COIN Binary Distribution Project

Overview

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

  • Microsoft Windows with the Visual C++ compiler, versions 8-11 (see the MSVisualStudio wiki for more details)
    • MSVC++ IDE
    • The cl compiler from CYGWIN/MinGW (with the autotools)
  • Microsoft Windows with the g++ 4 compiler (CYGWIN/MinGW)
  • Linux with the g++ 4 compiler on ix86 architectures. Tarballs, .deb and .rpm packages and a Yum repository are available.
  • Mac OS X with either the g++ 4 compiler or the clang compiler.

The binaries are built using the automatic build and test scripts of the COIN TestTools project.

Downloading

To download binaries, see http://www.coin-or.org/download/binary/

For help on the naming convention of binary archives, see ArchiveNamingConventions.

For installation help, see InstallationInstructions.

For a strawman proposal for submitting a project to be part of this binary distribution project, see BinaryDistributionRequirements.

For the current package management process for COIN projects, see BuildingCoinRpms and CoinDeb.

The CoinAll Distribution

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

Anyone can download and build the CoinAll distribution for themselves on any platform. The repository svn address is https://projects.coin-or.org/svn/CoinBinary/CoinAll/ 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

svn checkout https://projects.coin-or.org/svn/CoinBinary/CoinAll/releases/1.1.0 CoinAll-1.1.0
cd CoinAll-1.1.0
./configure
make
make install

The current stable version of CoinAll is 1.1 and the current release is 1.1.0.

Using the CoinAll Binaries

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:

clp /path_to_test_problem/test_problem.mps -primalsimplex

In order to get more detail on inputs to clp, execute clp and then type in ?.

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 examples.zip 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.

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

make -f Makefile.Osiexample

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.

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

nmake -f NMakefile.Osiexample.

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.

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

Osiexample p0033.mps

Installers

We are working on making installers available for the supported platforms. For more about this effort, please visit the CoinInstallers page.

Happy computing from the COIN Binary Distribution Project team.

JP Fasano

Kipp Martin

Ted Ralphs

Leo Lopes

Aramian Wasialek

Attachments (1)

Download all attachments as: .zip