Osi: one interface for multiple LP solvers | api documentation video made with ngram

Osi: one interface for multiple LP solvers | api documentation video made with ngram

Rishikesh Ranjan

About the video

This api documentation video was made with ngram to explain the open solver interface (osi), a c++ abstraction that lets applications work with multiple linear programming solvers through one common api instead of hard-coding calls to a single backend. built with html/css motion graphics across nine scenes, the video walks through the problem osi solves when switching solvers forces costly rewrites, then describes its structure: an abstract base class for a generic lp solver plus derived classes for specific solvers, letting an application build an lp, add rows, columns, or cutting planes from cgl, solve, resolve after changes, and query results through one interface. it notes that integer programming support is described in the project's own readme as rudimentary, and covers the architecture, how the core interface in src and adapter folders for solvers like cplex, glpk, and gurobi translate calls, while cautioning that an adapter's presence in the repo doesn't guarantee that solver is installed or that backends behave identically. it closes with practical next steps: starting with example programs, reviewing solver-specific test files, building with dependencies via coinbrew's fetch and build commands, and following the contributor rule that the auto-generated readme should never be edited by hand.

  • Osi
  • Linear Programming
  • Solver Interface
  • C++
  • Open Source
  • Developer Documentation

Activity