# 使用 Homebrew, Nix 安装 or-tools

查看 or-tools 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:or-tools
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install or-tools
```

  证据: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#or-tools
```

  证据: nixpkgs package indexes: pkgs/by-name/or/or-tools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## 软件包事实

- **软件包键:** brew:or-tools
- **软件包管理器:** Homebrew
- **版本:** 9.15
- **来源摘要:** Google's Operations Research tools
- **主页:** <https://developers.google.com/optimization/>
- **仓库:** <https://github.com/google/or-tools>
- **最后更新:** 2026-06-29T14:11:35Z
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- fzn-cp-sat (别名)
- sat_runner (别名)
- solve (别名)
- vector_bin_packing (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 9.15
## 项目历史与用法

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.

### 时间线

- 2008: Google Research describes OR-Tools as being in development since this year.
- 2013: The OR-Tools site says the project began winning annual gold results in the international constraint programming competition.
- 2021-04: OR-Tools v9.0 release notes record Maven Central availability for Java packages.
- 2022-03: OR-Tools v9.3 introduces experimental PDLP and MathOpt components.
- 2025: Google Research publishes a tutorial paper describing OR-Tools' solvers and Julia access through JuMP and MathOptInterface.

### Related projects

- OR-Tools relates to CP-SAT, Glop, PDLP, SCIP, GLPK, CPLEX, Gurobi, FICO Xpress, MiniZinc, JuMP, MathOptInterface, Protobuf, Bazel, CMake, and the broader operations-research and mathematical-optimization ecosystem.

### 来源

- <https://developers.google.com/optimization>
- <https://developers.google.com/optimization/cp/cp_solver>
- <https://developers.google.com/optimization/support/release_notes>
- <https://formulae.brew.sh/formula/or-tools>
- <https://github.com/google/or-tools>
- <https://research.google/pubs/google-or-tools-solvers-for-all-and-now-in-julia/>


## 安全说明

narrow executable package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- narrow executable package without higher-risk signals

## 其他软件包管理器记录

- Nix - or-tools: normalized package name match | nixpkgs package indexes: pkgs/by-name/or/or-tools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/or-tools.yml](https://github.com/mxcl/pkgdb/blob/main/combined/or-tools.yml)


## 来源

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
