Skip to content
Stefan Vigerske edited this page Mar 5, 2019 · 2 revisions

Welcome to the Optimization Services (OS) Home Page


The objective of Optimization Services (OS) is to provide 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. See the Optimization Services (OS) Home Site for more information.

The latest release of OS is:

The latest stable version of OS is:

See Optimization Services: A Framework for Distributed Optimization for an overview of the Optimization Services project.

== Download and Use the OS Project ==

PLEASE read the OS User's manual at OS User's Manual for more information on downloading and using the OS project. The OS User's Manual is particularly important if subversion is used to download the software.

Windows Users: if you are using Microsoft Windows we strongly recommend that you download Windows Binaries. This archive contains executables for the Microsoft Windows operating system and is intended for users of Microsoft Windows who want to use COIN-OR solvers to solve optimization problems without the need to compile any code. This archive also contains COIN-OR libraries and Visual Studio project files for users that want to write applications using Visual Studio. See Using CoinLibs for more detail.

Binaries for the most recent release compiled on various platforms are available from the OS binary download page.

Source code is obtained by

  • Downloading the latest release version from the OS source code download page, -or-
  • Checking out the source using a subversion client. Checking out the source code using subversion is explained in the OS User's Manual. If you are already familiar with subversion, the most recent release version is

svn co COIN-OS

For more information on building COIN-OR projects such as OS see CoinHelp

The most recent version of the code is available in the trunk repository and is obtained by

svn co

XML Schemas: the XML Schemas that form the basis of the OS framework are available in zipped files at OS Schemas. The most recent versions of the schemas are also available in the svn trunk repository in the schemas directory.

The Optimization Services 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 API for linear and nonlinear problems. Corresponding to the OSiL problem instance there is an in-memory object OSInstance along with a set of get() and set() methods for accessing and creating problem instances. This is a very general API for linear, integer, and nonlinear programs. Any modeling language that can produce OSiL can easily communicate with any solver that uses the OSInstance API. The nonlinear part of the API is based on the COIN project CppAD by Brad Bell.

  3. A command line executable OSSolverService for reading problem instances (OSiL format, 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 format and MPS files into the OSiL format.

  5. Client side software that is used to create Web Services SOAP packages with OSiL instances and contact a server for solution.

  6. Standards that facilitate the communication between clients and solvers using Web Services.

  7. Server software that works with Apache Tomcat. This software uses Web Services technology and acts a middleware between the client that creates the instance and solver on the server that optimizes the instance and returns the result.

More Documentation

In addition to the OS User's Manual, the OS publication page at the Optimization Services (OS) Home Site contains documents for researchers, developers, and regular users. Documents include papers and presentations, FAQs, API docs and other related references.

For documentation on using this project see the OS User's Manual.

Supported Platforms

  • GNU/Linux
  • Microsoft Windows
    • CYGWIN/Microsoft C++
    • MinGW/GCC
    • MSYS/Microsoft C++
    • Microsoft Visual Studio C++
  • Mac OSX (Both Power PC and Intel)

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