What is the Osi?

The Open Solver Interface (Osi) is a uniform API (Application Program Interface) for calling math programming solvers. Programs written to the OSI standard may be linked to any solver with an OSI interface and should produce correct results. The OSI has been significantly extended compared to its first incarnation. Currently, the OSI supports linear programming solvers (soon to be redesigned to support non-LP solvers) and has rudimentary support for integer programming. Among others the following operations are supported:

  • creating the LP formulation;
  • directly modifying the formulation by adding rows/columns;
  • modifying the formulation by adding cutting planes provided by CGL;
  • solving the formulation (and resolving after modifications);
  • extracting solution information;
  • invoking the underlying solver's branch-and-bound component.

What other COIN-OR projects use Osi?

The following projects use Osi:

How do I obtain CPLEX to build the Osi code?

You can get the free, restricted size, community edition of CPLEX from IBM. An unrestricted version is also available for Academics here. The full non-restricted version of CPLEX is available by contacting sales.

How do I obtain MOSEK to build the OSI code?

You can get a free unrestricted timelimited version of MOSEK from Students can obtain a free unrestricted semester license.

How do I obtain OSL to build the Osi code?

IBM has withdrawn OSL from support and marketing. It is no longer available. New applications should use a different solver.

How do I obtain XPRESS-MP to build the Osi code?

A: You can get a free, perpetual, restricted-size version of XPRESS-MP from Dash or email info@…. A full, non-restricted version of XPRESS-MP is available by contacting sales@….

What platforms does Osi run on?

OSI has been tested on:

  • AIX V4.3 using g++ V2.95.2, and AIX V5.3
  • Windows using Microsoft Visual C++ V6 & V7
  • Windows using the Cygwin toolchain
  • Linux using g++ V2.95.2 and higher
  • Solaris (SunOS 5.6 and 5.8) using g++ V2.95.2
Last modified 4 years ago Last modified on Nov 2, 2017 10:55:38 AM