# Install lp_solve with Homebrew, apt, MacPorts, Nix

Mixed integer linear programming solver. Version 5.5.2.14 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:lp_solve
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install lp_solve
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install lp_solve
```

  Evidence: MacPorts ports tree: math/lp_solve/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install liblpsolve55-dev
```

  Evidence: Debian stable package indexes: liblpsolve55-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#lp_solve
```

  Evidence: nixpkgs package indexes: pkgs/by-name/lp/lp_solve/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:lp_solve
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/lp_solve>
- **Version:** 5.5.2.14
- **Source summary:** Mixed integer linear programming solver
- **Homepage:** <https://lp-solve.github.io/>
- **Repository:** <https://github.com/lp-solve/lp_solve>
- **Upstream docs:** <https://lp-solve.github.io/>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://github.com/lp-solve/lp_solve/releases/download/5.5.2.14/lp_solve_5.5.2.14_source.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- lp_solve (cli)
- lp_solve (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 5.5.2.14
- Local data: ok
- Upstream repository: https://github.com/lp-solve/lp_solve
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

lp_solve is a free Mixed Integer Linear Programming solver and command-line utility/library. It solves linear, mixed-integer, binary, semi-continuous, and special ordered set models using revised simplex methods and branch-and-bound.

### Project history

The official reference guide says lp_solve was originally developed by Michel Berkelaar at Eindhoven University of Technology. Jeroen Dirks' work enabled the transition from the basic 1.5 version to the fuller 2.0 version by adding a procedural interface, built-in MPS reader, fixes, and enhancements.

The same introduction records that lp_solve moved to LGPL licensing starting with version 3.0, after earlier non-commercial terms. It also says development stagnated for a time at version 3.2 before Kjell Eikland and Peter Notebaert revived development, with later version 4 and version 5 work focused on faster solving, more stability, larger models, and new functionality.

The current GitHub repository and README continue the 5.5 line. The README explains that the jump from 5.1 to 5.5 marked more than a routine update: the solver engine was revised and optimized, numerical stability improved, LUSOL became the default basis factorization package, and the code became faster and more robust than 5.1.

### Adoption history

lp_solve is both a standalone executable and an embeddable library, which explains its broad packaging footprint. The official introduction lists use from C, VB, .NET, Delphi, Excel, Java, AMPL, MATLAB, O-Matrix, Scilab, Octave, and R, and the batch input records Homebrew, Debian/Ubuntu development packages, MacPorts, and Nix packaging.

The official FAQ provides citation data for lp_solve as an open source mixed-integer linear programming system, with version 5.1.0.0 dated 1 May 2004 and co-developers Michel Berkelaar, Kjell Eikland, and Peter Notebaert. That reflects adoption not just as a command but as software embedded or cited in optimization work.

### How it is used

The `lp_solve` command reads MIP models from standard input or files and writes results to the console or a file. The official command reference documents built-in LP and MPS input formats, external language interfaces through XLI, redirection and pipelines, and many solver options for minimization/maximization, pivoting, scaling, presolve, basis handling, branch-and-bound, tolerances, timeouts, and model conversion.

As a library, lp_solve exposes an API for building models in memory, solving them, and reading results from many programming languages. The official introduction also notes an IDE, model input through files, and model conversion facilities, while the README highlights BFP and XLI as extension points.

### Why package nerds care

lp_solve is a classic scientific package: old, portable C code, command-line executable, shared library, examples, manuals, and language bindings. It is significant in package history because it bridges Unix solver workflows, Windows IDE use, scripting-language bindings, and academic optimization examples under an LGPL license.

### Timeline

- Pre-3.0: lp_solve developed by Michel Berkelaar, with version 1.5 preceding the full 2.0 transition.
- 3.0: Project starts being released under the LGPL according to the official introduction.
- 2004: Official FAQ citation data names version 5.1.0.0 dated 1 May 2004.
- 2005: README change history records beta release of version 5.5.0.0.
- 2025: `lp-solve/lp_solve` repository created on GitHub for the maintained source mirror.

### Related projects

- LUSOL is the basis factorization package that became the default in the 5.5 line.
- XLI drivers connect lp_solve to external model languages such as MathProg.
- R, MATLAB, Octave, Scilab, Excel, Java, and .NET interfaces are part of the broader lp_solve ecosystem named by the official docs.

### Sources

- <https://api.github.com/repos/lp-solve/lp_solve>
- <https://github.com/lp-solve/lp_solve/blob/main/README.txt>
- <https://lpsolve.sourceforge.net/5.5/FAQ.htm>
- <https://lpsolve.sourceforge.net/5.5/Intro.htm>
- <https://lpsolve.sourceforge.net/5.5/lp_solve.htm>
- source_facts.package-manager-url


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** lp_solve
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - liblpsolve55-dev - 5.5.2.11-2: normalized package name match | Debian stable package indexes: liblpsolve55-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Solve (mixed integer) linear programming problems - library | http://lpsolve.sourceforge.net
- Debian apt - lp-solve - 5.5.2.11-2: normalized package name match | Debian stable package indexes: lp-solve from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Solve (mixed integer) linear programming problems | http://lpsolve.sourceforge.net
- Debian apt - lp-solve-doc - 5.5.2.11-2: normalized package name match | Debian stable package indexes: lp-solve-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Solve (mixed integer) linear programming problems - documentation | http://lpsolve.sourceforge.net
- Nix - lp_solve: normalized package name match | nixpkgs package indexes: pkgs/by-name/lp/lp_solve/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - liblpsolve55-dev - 5.5.2.5-2build4: normalized package name match | Ubuntu 24.04 LTS package indexes: liblpsolve55-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Solve (mixed integer) linear programming problems - library | http://lpsolve.sourceforge.net
- Ubuntu apt - lp-solve - 5.5.2.5-2build4: normalized package name match | Ubuntu 24.04 LTS package indexes: lp-solve from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Solve (mixed integer) linear programming problems | http://lpsolve.sourceforge.net
- Ubuntu apt - lp-solve-doc - 5.5.2.5-2build4: normalized package name match | Ubuntu 24.04 LTS package indexes: lp-solve-doc from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Solve (mixed integer) linear programming problems - documentation | http://lpsolve.sourceforge.net
- MacPorts - lp_solve: normalized package name match | MacPorts ports tree: math/lp_solve/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Scientific computing packages](https://www.automicvault.com/pkg/scientific-computing-tools/) - Matched scientific computing metadata.
- [soplex](https://www.automicvault.com/pkg/brew/soplex/) - Shares av.db curated category or tags: cli, linear-programming, optimization, science, solver.
- [cbc](https://www.automicvault.com/pkg/brew/cbc/) - Shares av.db curated category or tags: cli, linear-programming, mixed-integer-programming, optimization, science.
- [papilo](https://www.automicvault.com/pkg/brew/papilo/) - Shares av.db curated category or tags: cli, linear-programming, optimization, science.
- [clp](https://www.automicvault.com/pkg/brew/clp/) - Shares av.db curated category or tags: cli, linear-programming, optimization, science, solver.
- [glpk](https://www.automicvault.com/pkg/brew/glpk/) - Shares av.db curated category or tags: cli, linear-programming, mixed-integer-programming, optimization, science.
- [highs](https://www.automicvault.com/pkg/brew/highs/) - Shares av.db curated category or tags: cli, linear-programming, mixed-integer-programming, optimization, science.
- [scip](https://www.automicvault.com/pkg/brew/scip/) - Shares av.db curated category or tags: cli, mixed-integer-programming, optimization, science, solver.
- [ipopt](https://www.automicvault.com/pkg/brew/ipopt/) - Shares av.db curated category or tags: cli, optimization, science, solver.

## Combined YAML source

View the package source record on GitHub. [combined/lp_solve.yml](https://github.com/automic-vault/db/blob/main/combined/lp_solve.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
