Christopher B. Browne's Home Page

6. Software Libraries

  1. lp_solve site

    lp_solve is a software package written in C that solves linear programs using a revised Simplex algorithm. It also includes branch-and-bound functionality to handle mixed-integer-linear programs. It's fairly portable, reasonably quick, and reasonably stable. I've run it on Sun Sparcs, Atari STs, and Linux systems.

  2. Directory of /pub/donlp2

  3. Brian's Digest - OR Software Listing

  4. PPRN Network Optimization Package The package is appropriate for solving a high variety of network problems: single/multicommodity network flow problems, with linear/nonlinear objective function and with/without linear side constraints. Thus it can be viewed as a general package for many network optimization problems (though it was originally designed for solving nonlinear multicommodity problems with linear side constraints). Distributed in binary form for Sun and DEC Alpha only.


    The SLATEC Common Mathematical Library is an extensive public-domain FORTRAN source code library (consisting of more than 1400 routines and 300,000 lines of code and documentation!) developed and maintained by a consortium of Department of Energy and Department of Defense national laboratories. Version 4.0 of the library was released in December, 1992.

    SLATEC incorporates within itself several other public domain packages, including EISPACK, FFTPACK, QUADPACK, FNLIB, BSPLINE, SLAP, and others.

  6. CMU Statistics Library - StatLib

    There is a lot of material here. Datasets, documents, software, references to many sites associated with statistics.

    Occasional snapshots of this archive are included in Prime Time Freeware for Unix, a semi-annual, mixed-media (book/CD-ROM) publication of Unix-related freeware.

  7. NIST Guide to Available Mathematical Software (GAMS)

  8. List of Optimization Software in the Public Domain

  9. UK Netlib

  10. C++ Version of Relax IV

    Relax IV uses a relaxation-based network flow optimization algorithm created by Dimitri Bertsekas. This algorithm is supposed to be particularly good for larger network problems.

  11. LOQO - Robert Vanderbei's Quadratic optimization package

    LOQO solves convex optimization problems to optimality and nonconvex ones to local optimality. While a subroutine library still exists, the simplest way to feed a nonlinear optimization problem to LOQO is via the math programming language AMPL . This is the default mode of operation. LOQO is free for academic use.

  12. OR-Objects - A Java Library

  13. SoPlex LP package

  14. Ascend

    ASCEND IV is a free, large-scale, equation-based, environment featuring a strongly-typed, object-oriented model-description language. ASCEND is designed to reduce the time needed for creating, debugging, and solving mathematical models by orders of magnitude in comparison with C++-like and FORTRAN-like languages. Written using TCL 8.0, it runs on both Unix and WinTel systems.

    ASCEND Project 
    Institute for Complex Engineered Systems/Engineering Design Research Center 
    Carnegie Mellon University

  15. Octave -- a high-level language for numerical computations

  16. The R Home Page

  17. CRAN - Comprehensive R Archive Network

  18. Lisp-Stat Information

  19. SalStat Statistics Package

    Written in Python , this includes a fairly sophisticated GUI front end.

  20. SAL- Mathematics - Statistics

  21. The ROOT System - Data Mining and Numerical Analysis (C++/FORTRAN)

  22. Scilab

    Scilab is a high-level language for numerical computations in a user-friendly environment. Scilab is developed at INRIA and is available free via anonymous ftp in source and binary formats.

    There exists a Matlab-to-Scilab translator, an interface to Maple, interfaces to scripting languages such as TCL, support for parallel processing using PVM, and many, many other libraries and toolkits.

  23. Julia Language

    Based on the LLVM compiler toolset, this wants to become a "better MATLAB," with decent capabilities at manipulating strings and files and such, on the general purpose computing side of things.

  24. Numerical and Statistical Methods with SCILAB for Science and Engineering - Volumes 1 and 2

  25. IBM COIN - Common Optimization INterface

    An "Open Source" optimization system (mostly in C++ ) including:

    • Branch-cut-price framework (BCP)

    • Cut generation library (CGL)

    • Open solver interface (OSI)

      Which presently interfaces to OSL and XPRESS-MP

    • Fast approximation algorithms (FAA)

    • Derivative free optimization (DFO)

  26. bonsaiG - a mixed-integer linear programming code

    As a research code, bonsaiG is built more for flexibility and robustness than for speed. Compiled with full debugging capabilities (the default build), it's downright paranoid and can tell you far more than you'll ever want to know about what it's doing while it solves your MILP problem. Compiled with full optimisation, it's decently fast, but if you want real speed, buy a commercial code.

    bonsaiG accepts problems in MPS format, and writes output in a form that's reasonably human-readable but conforms to no particular standard.

  27. Cheddar

    A real time scheduling simulator available under the GPL , with parts in Ada, C++, and GTk GUI

  28. GLPK - GNU Linear Programming Kit

    A set of routines written in C that include a simplex method driver, lpx_simplex, an LP pre-solver, glpsol, a Java interface, and code to support solving mixed integer and linear programs. It includes parsers for the common MPS and CPLEX LP formats, as well as its own modelling language, GLPK/L .

    For pure linear programs, you can also use a primal/dual interior point solver. To use branch and bound to solve MILP problems, you must use the simplex method solver.

Contact me at