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
- 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
- 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.
For more information
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
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
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.