Welcome to CoinEasy
As the name implies, this project is designed to make it easy to use COIN-OR projects. Different users have different objectives and so we outline below how to get going easily depending upon objective. Below are guidelines for the following categories of users.
- Use COIN-OR solvers to solve optimization problems without having to compile code.
- Write applications that use pre-built COIN-OR libraries.
- Build COIN-OR projects from source.
CoinEasy is designed for users in Groups 1 and 2. If you want to get up and running with COIN-OR software, this page is for you. In the information below, we mention the CoinBinary and CoinAll projects. CoinBinary is a project that provides compiled executable programs and libraries for numerous COIN-OR projects. CoinAll is really a meta project that consists of most of the solver and utility projects in COIN-OR. If you are new to COIN-OR, and not sure about what you want, we recommend getting the binary distribution of CoinAll.
How Run COIN-OR Solvers Without Compiling Code
Many COIN-OR projects are optimization solvers. It is possible to use these solvers to solve linear programs, linear integer programs, continuous nonlinear programs, and integer nonlinear programs. Below we describe ways to invoke these solvers using a modeling language, a command line interface, and Excel (for linear integer programs).
Use A Modeling Language: It is possible to use most of the COIN-OR solvers using the AMPL, GAMS, and MPL modeling languages.
- AMPL -- Download the CoinAll binary distribution that is appropriate for your platform. The download is available at CoinAll. In the bin directory locate OSAmplClient and copy it to the desired location on your hard drive. You can now use this like any AMPL solver. See Using CoinAll for more instructions.
- GAMS -- GAMS ships with COIN-OR solvers. See GAMS for download information. You can use GAMS with Bonmin, Clp, Cbc, Ipopt, and OS.
- MPL -- MPL ships with the COIN-OR Cbc solver.
- Use a COIN-OR Python scripting modeling language. See Coopr and PuLP. These modeling languages require use of the Python modeling language.
- Use the COIN-OR CMPL modeling language. This is a C++ application that is an open-source alternative to AMPL and GAMS. CMPL is a system for mathematical programming and optimization of linear optimization problems. CMPL executes the COIN-OR OSSolverService directly to solve the generated model instance. Since it is also possible to transform the mathematical problem into MPS, Free-MPS or OSiL files, alternative solvers can be used. See CMPL.
Use the OSSolverService: COIN-OR provides a command line executable that can be used to invoke COIN-OR solvers either on the user's machine or on a remote server. This executable takes files in MPS, AMPL nl, or Optimization Services OSiL format. Download the CoinAll binary distribution that is appropriate for your platform. In the bin you will find the OSSolverService. Copy this file to the desired location on your hard drive. Double click on the OSSolverService icon. This will open an interactive shell with help facilities. See the documentation Using CoinAll Binaries for more detail.
Use Excel OpenSolver is an Excel solver based on COIN-OR Cbc. A recent important addition to OpenSolver is SolverStudio. This allows user to stay within Excel and create models using a range of modelling languages, including the PuLP modeling language mentioned above.
How to Write Applications Using COIN-OR Libraries
Some users will wish to build applications that use COIN-OR libraries without having to actually build individual COIN-OR projects. These users will benefit from the COIN-OR ApplicationsTemplate project. The ApplicationsTemplate project consists of a set of examples designed to illustrate how to use various COIN-OR projects. If you download CoinAll binary distribution and unpack the distribution, the examples folder contains all of the examples in the ApplicationsTemplate project. If you use Visual Studio you will find pre-configured Visual Studio project files in the examples folder. Documentation that explains the examples is available at Using CoinAll Libraries. If you are a Unix user, Makefiles are also available.
How to Build COIN-OR Projects from Source Code
Tarballs and zip archives of the latest release of each project is available at Source Code. If you choose to build a COIN-OR project from source we recommend you go to the project home page for further instructions.
New users may also benefit from an Interfaces tutorial on how to use COIN-OR. See issue November-December 2010 issue, Vol. 40, No. 6.