Linear Programming in short

Linear programming is viewed as a revolutionary development giving man the ability to state general objectives and to find, by means of the simplex method, optimal policy decisions for a broad class of practical decision problems of great complexity. (George Dantzig, 1983). Fore more information you can read the wikipedia page.


  • Very efficient (in general)
  • Model and run approach (black-box search)
  • Popular technique for solving combinatorial optimization problem (a lot of books, solvers, etc)


  • Only linear constraints and objectives
  • Low level models (0,1 variables)
  • Difficult to come with the right formulation first
  • Comercial solvers are much more efficient than open-source solvers

Why OscaR-LinProg

  • Highl level modeling in Scala (linear expressions, etc)
  • Straightforward to switch the solver without changing the model. Wrappers to Gurobi (commercial), Glpk (gpl) and LPSolve (lgpl)

Some links to learn to use OscaR-LinProg