macOS
brew install or-toolslocal Homebrew formula metadata
brew
Google's Operations Research tools. Version 9.15 via Homebrew; verified 2026-06-29.
install
brew install or-toolslocal Homebrew formula metadata
nix profile install nixpkgs#or-toolsnixpkgs package indexes · pkgs/by-name/or/or-tools/package.nix · source: api.github.com
overview
Google's Operations Research tools
history
Google OR-Tools is an open source suite for combinatorial optimization. It packages solvers and modeling APIs for vehicle routing, scheduling, assignment, packing, flows, linear and integer programming, and constraint programming.
Google Research describes OR-Tools as being in development since 2008, with core algorithms implemented in C++ and user access through Python, Java, C#, Go, and later Julia wrappers. The public project presents itself as Google's software suite for combinatorial optimization, written in C++ with bindings for Python, C#, and Java.
The suite accumulated several solver families rather than staying a single optimizer. The repository README lists CP and CP-SAT constraint programming solvers, Glop and PDLP linear programming solvers, wrappers around commercial and open source mixed-integer solvers, bin packing and knapsack algorithms, traveling-salesman and vehicle-routing algorithms, and graph algorithms.
The modern center of gravity is CP-SAT, Google's SAT-based constraint programming solver. The Google Developers site highlights CP-SAT as award winning, and the OR-Tools landing page says OR-Tools won gold in the international MiniZinc constraint programming competition every year since 2013.
OR-Tools is distributed across language ecosystems rather than only through OS packages. The GitHub README displays package badges for PyPI, NuGet, and Maven Central, while the documentation teaches use from C++, Python, C#, and Java. Homebrew and Nix package it for command-line and native-library users.
The release notes show a mature, actively maintained systems package: platform support for Python, Linux distributions, .NET, Java, CMake, Bazel, and dependencies such as SCIP, Protobuf, Abseil, and SWIG changes across releases. That churn is part of its adoption story because optimization users expect native performance and language-specific installation paths.
Developers model an optimization problem in a supported language, choose an OR-Tools solver or wrapper, and solve tasks such as fleet routing, workforce scheduling, assignment, bin packing, minimum-cost flow, or mixed-integer linear optimization. The official landing page frames the workflow as: model in a programming language, then solve with open source solvers such as SCIP, GLPK, GLOP, and CP-SAT or commercial solvers such as CPLEX, Gurobi, and FICO Xpress.
The Homebrew package exposes tools such as `fzn-cp-sat`, `sat_runner`, `solve`, and `vector_bin_packing`, but most adoption happens through libraries and examples. That split makes OR-Tools an unusual package: command-line binaries are visible in OS package metadata, while the real user surface is language APIs and solver libraries.
OR-Tools is a heavyweight package-management case study. It bundles advanced native C++ solvers, language bindings, optional integrations with commercial solvers, and fast-moving mathematical code, then has to land in Python wheels, Maven, NuGet, source builds, and OS packages without losing performance or ABI sanity.
For package nerds, it also explains why optimization libraries resist simple packaging: users want high-level modeling APIs, but the runtime depends on native code, solver backends, protobuf models, and platform-specific build systems.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
fzn-cp-sat | cli | global executable | |
sat_runner | cli | global executable | |
solve | cli | global executable | |
vector_bin_packing | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/google/or-tools
install metadata
| Package key | brew:or-tools |
|---|---|
| Version | 9.15 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/or-tools |
| Homepage | https://developers.google.com/optimization/ |
| Repository | https://github.com/google/or-tools |
| Upstream docs | https://developers.google.com/optimization |
| License | Apache-2.0 |
| Source archive | https://github.com/google/or-tools/archive/refs/tags/v9.15.tar.gz |
| Last updated | 2026-06-29T14:11:35Z |
| Pulse | updated |
| Dependencies | abseil, cbc, cgl, clp, coinutils, eigen, gmp, highs, mpfr, openblas, osi, protobuf, re2, scip |
| Build dependencies | cmake, pkgconf |
| Uses from macOS | bzip2 |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | or-tools |
| Version Scheme | 0 |
| Revision | 9 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
or-tools
nix profile install nixpkgs#or-toolssource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.