Welcome to the CMPL Home Page


CMPL (<Coliop|Coin> Mathematical Programming Language) is a mathematical programming language and a system for mathematical programming and optimisation of linear optimisation problems.

The CMPL syntax is similar in formulation to the original mathematical model but also includes syntactic elements from modern programming languages. CMPL is intended to combine the clarity of mathematical models with the flexibility of programming languages.

CMPL executes CBC (default), GLPK, SCIP, Gurobi and CPLEX 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.

CMPL is an open source project licensed under GPLv3. CMPL is written in C++ and is available for most of the relevant operating systems (Windows, OS X, Linux and Raspbian).

The CMPL distribution contains Coliop which is an IDE (Integrated Development Environment) for CMPL with syntax highlighting an bug tracking. Coliop is an open source project licensed under GPLv3. It is written in C++ using QT5 and is an integral part of the CMPL distribution.

The CMPL package also contains pyCMPL, jCMPL and CMPLServer.

pyCMPL is the CMPL application programming interface (API) for Python and an interactive shell and jCMPL is CMPL's Java API. The main idea of this APIs is to define sets and parameters within the user application, to start and control the solving process and to read the solution(s) into the application if the problem is feasible. All variables, objective functions and constraints are defined in CMPL. These functionalities can be used with a local CMPL installation or a CMPLServer.

CMPLServer is an XML-RPC-based web service for distributed and grid optimisation that can be used with CMPL, pyCMPL and jCMPL. It is reasonable to solve large models remotely on the CMPLServer that is installed on a high performance system. CMPL provides four XML-based file formats for the communication between a CMPLServer and its clients.

pyCMPL, jCMPL and CMPLServer are licensed under LGPLv3.

CMPL, Coliop, pyCMPL, jCMPL and CMPLServer are COIN-OR projects initiated by the Technical University of Applied Sciences Wildau and the Institute for Operations Research and Business Management at the Martin Luther University Halle-Wittenberg.


The Binaries for the latest release are available from the

Source code

is obtained by

Supported Platforms

  • Linux / GCC
  • Mac OSX / GCC
  • Microsoft Windows / MSYS-MinGW

Bug Reports

To submit a bug report click on the New Ticket link at the top of the page. Before submitting a ticket you must first register and login.

For more information

  • Use the CMPL mailing list hosted at COIN-OR
  • Contact directly Mike Steglich (mike dot steglich at - maintainer of this CMPL site.
Last modified 5 years ago Last modified on Jun 13, 2016 9:59:59 AM