Optimization Services









Welcome to the Official Optimization Services (OS) Home


  • The OSiL/OSoL paper (Communication protocols for options and results in a distributed optimization environment) is published on Mathematical Programming Computation.
  • Release 2.9.3 of the Optimization Services (OS) is now available! (2015)
  • The CMPL modeling language (v1.5) is released. CMPL uses the OS binaries to solve LPs and MIPs.
  • Book chapter draft on Instance Formats at Encyclopedia of Operations Research and Management Science (2009)
  • Release 2.0  of the Optimization Services (OS) is now available! (08/2008) see detail
  • Optimization Services: A Framework for Distributed Optimization, published at Operations Research (2009)
  • Release 1.1.0  of the Optimization Services (OS) is now available! (05/16/2008) see detail
  • OSiL/SE (Stochastic Extension) final draft is available; accepted at Annals of Operations Research (02/2008)
  • OSiL paper published (02/2008).
  • Release 1.0.0  of the Optimization Services (OS) is now available! (11/01/2007)
  • OS cpp codes now build on all major platforms including Mac/Unix, Linux, and Windows using MINGW/MSYS or CYGWIN. All major compilers such as gcc/g++ or Windows native compiler cl.exe are supported. (05/01/07)
  • This is a new setup of the Optimization Services Home page. It is now actively under construction. (09/01/06)

First an alternative site for advanced users ...

Note there is also an OS developer site hosted at COIN-OR Web site. The developer webpages are based on Wiki, which allows webusers (mainly developers) to modify the content to correct typos, add information, or share their experience and tips with other users. You are welcome to contribute to these project webpages. To edit these pages or submit a ticket you must first register and login.


Optimization Services is a unified framework for the new generation distributed optimization systems, mainly optimization over the Internet. The corresponding Optimization Services Protocol is being promoted as a set of industrial standards. The phrase “new generation” emphasizes the fact that Optimization Services is a state-of-the-art design and is not adapted from any existing system.


OS is written in multiple languages including C/C++, Java, .net and is released as open source code under the Common Public License (CPL, see license) and contributed to COIN-OR. Jun Ma and Kipp Martin are the COIN-OR project leads for OS. The project was originally contributed by Robert Fourer, Jun Ma, Kipp Martin and Huanyuan (Wayne) Sheng and shortly after also by Gus Gassmann. The OS project is also constantly and extensively seeking for collaborators and contributors.


Both the source code and binary code are available, all distributed under the Common Public License (CPL).

  • Go to the OS standards page to view and/or download standard Optimization Services Protocols (OSP) including OS schemas, OS WSDL (Web Services Definition Language) and other related subprotocols.
  • Go to the download page for various software implementations and distributions. (remember, if you download the OS package, you may automatically get these additional projects, usually C++, at COIN).
  • Go to the license page for license details.


The OS publication site contains documents for researchers, developers, and regular users. Documents include papers and presentations, FAQs, API docs and other related references.

Related Links

For more information

OS Release:

See  our COIN-OR project site at: http://projects.coin-or.org/OS.

The objective of Optimization Services (OS) is to provide a general framework consisting of a set of standards for representing optimization instances, results, solver options, and communication between clients and solvers in a distributed environment using Web Services. This COIN-OR project provides source code for libraries and executable programs that implement OS standards.  The OS project provides the following:
1.  A set of XML based standards for representing optimization instances (OSiL), optimization results (OSrL), and optimization solver options (OSoL). There are other standards, but these are the main ones.
2.  A robust solver and modeling language interface (API) for linear and nonlinear optimization problems.  Corresponding to the OSiL problem
instance representation there is an in-memory object,  OSInstance, along with a set of get(),  set(), and calculate() methods for accessing and
creating problem instances. This is a very general API for linear, integer, and nonlinear programs. Extensions for other major types of optimization problems are also in the works. Any modeling language that can produce OSiL can easily communicate with any solver that uses the OSInstance API.
3.  A  command line executable OSSolverService  for reading problem instances (OSiL format, AMPL  nl format,  MPS format) and calling a
solver either locally or on a remote server.
4. Utilities that convert AMPL nl files into the OSiL XML format and MPS files into the OSiL XML format.
5.  Standards that facilitate the communication between clients and optimization solvers using Web Services.
6.  An executable program  amplClient that is designed to work with the AMPL modeling language. The  amplClient appears as a ``solver''  to AMPL and, based on options given in AMPL, contacts solvers either remotely or
locally to solve instances created in AMPL.
7.  Server software that works with Apache Tomcat and Apache Axis. This software uses Web Services technology and acts as middleware between the client that creates the instance, and solver on the server that optimizes the instance and returns the result.

The OS libraries and executables have been compiled and built on GNU/Linux, Windows, and Mac OS X.  Using the OS interface we have tested
the following solvers:  Cbc, Clp, Cplex, DyLP, Glpk, Ipopt, Lindo, SYMPHONY, and Vol.

Google Groups Subscribe to the Optimization Services Newsgroup
Browse Archives at groups.google.com

What's New!
  • OS 2.10 is released on COIN-OR (2016)
  • GAMS integrates OS in GAMSLinks (01/2008)
  • Mosek adopts OS in its recent release. (12/2007)
  • Frontline Systems adopts OS in its recent release. (11/2007)
  • OS 1.0 is released on COIN-OR (11/01/07)
  • AMPL, GAMMS, Lindo and most major COIN-OR projects are integrated with OS (10/2007).
  • OS cpp now builds on all major platforms and with all popular compilers (05/01/07)
  • Optimization Services Project is now actively under setup to be integrated as a COIN-OR project (08/31/06)
  • Optimization Services is now licensed under Common Public License (CPL) (04/15/06)

Optimization Services (OS)

Optimization Services is a unified framework for the new generation distributed optimization systems, mainly optimization over the Internet.

Optimization Services Protocol (OSP)

Optimization Services Protocol is a set of industrial standards that determine how optimization related data are represented and communicated between two Optimization Services compatible software components.